@charset "utf-8";
@import url("2024.css");

html{
-webkit-text-size-adjust: 100%;
}






/* ===========================================================

   コンテンツ (article)

=========================================================== */
article{
width:960px;
padding:30px 0 0 0;
}
article > h2{
border-bottom:1px #999 dotted;
}
article > h2 + time{
display:block;
margin:10px 10px 20px 10px;
color:#666;
font-size:0.75rem;
text-align:right;
}
article section{
margin:0 0 30px 0;
padding:0 10px;
line-height:1.8;
letter-spacing:0.05rem;
}
article p.caption{
color:#666;
font-size:0.75rem;
}

/* 但し書き */
article > p:last-child{
margin:0;
padding:0;
color:#999;
font-size:0.75rem;
}
article section section{
padding:0;
overflow:hidden;
}
article section section section:last-child{
margin:0;
}

article section h3{
font-weight:normal;
font-size:2rem;
line-height:1.4;
}
article section h3:first-child{
padding:20px 0;
}
article section p{
margin:0 0 1.5rem 0;
font-size:0.875rem;
}
article section p.text_right{
text-align:right;
}
article section img{
display:block;
width:auto;
margin:0 auto 30px auto;
}

.img_right h5{
margin:0 0 10px 0;
}
.img_right img{
width:100%;
margin:0 0 0.25rem 0;
}
.img_left img{
width:100%;
margin:0 0 0.25rem 0;
}
img.ta_left{
margin:0 0 30px 0;
}


small{
display:block;
text-align:right;
clear:both;
}
article section > h3 span{
font-size:1.25rem;
font-weight:normal;
}
article section > h3 img{
display:block;
width:480px;
margin:0 0 60px 0;
}
article section > h3 + p{
text-align:right;
}
article section > h3 + p.textleft{
text-align:left;
}
article section h4{
font-size:1.25rem;
}
article section h4:nth-of-type(1){
margin:0 0 20px 0;
}
article section h5{
margin:0 0 20px 0;
font-size:0.875rem;
border-bottom:1px #ccc solid;
padding-bottom:0.42rem;
}
article section h6{
margin:0 0 20px 0;
font-size:0.875rem;
}

article section ul,
article section ol{
font-size:0.875rem;
}

blockquote{
	margin:0;
}


/* 著者
------------------------------------------------------------*/
div.introduction{
margin:0 0 40px 0;
padding:0 0 30px 0;
border-bottom:5px #ddd dotted;
overflow:hidden;
}

div.introduction_noread,
div.introduction > div{
width:428px;
margin:0 0 20px 20px;
padding:5px 10px 0 10px;
border:1px #ddd solid;
background:#f3f3f3;
float:right;
overflow:hidden;
}

div.introduction_noread2 > div{
margin:0 0 20px 0px;
padding:5px 10px 0 10px;
border:1px #ddd solid;
background:#f3f3f3;
overflow:hidden;
}

div.introduction_noread,
div.introduction_noread2,
div.introduction > div.separate_area{
background-color:transparent;
border:none;
padding:0;
float:none;
margin-left:0;
width:100%;
}

div.introduction_noread p,
div.introduction_noread2 p,
div.introduction p{
margin:10px 0;
font-size:0.75rem;
line-height:1.5;
}
div.introduction_noread p:first-child,
div.introduction_noread2 p:first-child,
div.introduction p:first-child{
margin:0 0 10px 0;
font-size:0.75rem;
line-height:1.5;
}



/* photo */
div.introduction_noread img,
div.introduction > div img{
display:block;
width:100px;
margin:0 10px 5px 0;
float:left;
}
div.introduction div.large img{
width:150px;
}
div.introduction > div.separate_area img{
float:none;
width:auto;
margin:0 auto 30px auto;
}
div.separate_area.align_left img,
div.introduction > div.separate_area.align_left img{
margin-right:0;
margin-left:0;
width:100%;
}

/* text,name */
div.introduction_noread p,
div.introduction p{
display:block;
font-size:0.75rem;
font-weight:normal;
line-height:1.2;
}
div.introduction_noread p.name,
div.introduction p.name,
div.introduction_noread span.name,
div.introduction span.name{
font-size:1rem;
font-weight:bold;
line-height:1.5;
}
div.introduction p.exfloat{
padding-left:110px;
}
div.introduction_noread p.caption,
div.introduction p.caption{
line-height:1.8;
}

/* headline h4,img */
div.introduction > h4{
padding:30px 0 0 0;
clear:both;
}
div.introduction > img{
width:100%;
clear:both;
}
div.introduction div.large img + div{
width:62%;
float:right;
}

/* read */
div.introduction > p.read{
width:450px;
margin:0 0 30px 0;
font-size:0.875rem;
line-height:1.8;
float:left;
}

div.introduction > p.read2{
width:100%;
margin:0 0 30px 0;
font-size:0.875rem;
line-height:1.8;
float:left;
}

/* table */
div.introduction table{
width:345px;
font-size:0.75rem;
float:left;
}
div.introduction table th{
text-align:right;
vertical-align:top;
white-space:nowrap;
}
div.introduction table th:after{
content:"：";
}
div.introduction table th,
div.introduction table td{
padding:0 0 0 5px;
}
div.introduction table td{
padding:0 5px 0 0;
}
div.introduction table + div{
width:378px;
float:right;
overflow:hidden;
}
div.introduction table + div > div p:first-child{
font-size:0.75rem;
font-weight:normal;
}
div.introduction table + div > div p + p{
font-size:1rem;
font-weight:bold;
}

/* two */
div.introduction.two > p.read{
width:auto;
margin:0 0 20px 0;
float:none;
}
div.introduction.two > div.authorarea{
width:auto;
margin:0;
padding:0;
border:none;
background:none;
float:none;
overflow:hidden;
}
div.introduction.two > div.authorarea > div{
width:433px;
padding:10px 10px 5px 10px;
border:1px #ccc solid;
background:#eee;
float:left;
}
div.introduction.two > div.authorarea > div p{
line-height:1.5;
}
div.introduction.two > div.authorarea > div p span{
display:block;
padding:5px 0;
}
div.introduction.two > div.authorarea > div:nth-of-type(even){
float:right;
}


/* テーブル
------------------------------------------------------------*/
.tablearea{
	margin:3em 0;
}
.tablearea table{
	margin-bottom:1em;
	font-size:12px;
}
.tablearea table caption{
	margin-bottom:1em;
	font-size:12px;
	text-align: left;
}
.tablearea table th{
	padding:1em;
	text-align: left;
}
.tablearea table td{
	padding:1em;
}
.tablearea table thead tr{
	color:#fff;
	background:#7fb4ce;
}
.tablearea table thead tr th{
	padding:0.5em 1em 0.25em 1em;
}
.tablearea table tbody tr{
	background:#ebf4f8;
}
.tablearea table tbody tr:nth-of-type(even){
	background:#e6e6e6;
}
.tablearea table tbody tr th{
	white-space: nowrap;
}
.tablearea table tbody tr td{
}
.tablearea p{
	margin-bottom:1em;
	font-size:12px;
}
.tablearea cite{
	margin-bottom:1em;
	font-size:12px;
}


/* レイアウト
------------------------------------------------------------*/
.img_right{
width:300px;
margin:0 0 20px 20px;
float:right;
}
.img_left{
width:300px;
margin:0 20px 20px 0;
float:left;
}
.img_right a img,
.img_left a img{
transition:all 0.4s !important;
}
.img_right a:hover img,
.img_left a:hover img{
opacity:0.7;
transition:all 0.4s !important;
}
.img_right a[href$=".pdf"] p.caption:after{
content:"\f1c1";
padding:0 0 0 0.25rem;
color:#f77;
}
.img_left a[href$=".pdf"] p.caption:after{
content:"\f1c1";
padding:0 0.25rem 0 0;
color:#f77;
}

/* separate_area */
.separate_area,
.separate_area.onethird{
overflow:hidden;
}
.separate_area div:nth-of-type(1){
width:49%;
float:left;
}
.separate_area div:nth-of-type(2){
width:49%;
float:right;
}

.separate_area.onethird div {
width:31%;
float:left;
margin-right:3.5%;
}
.separate_area.onethird div:nth-of-type(3) {
float:right;
margin-right:0;
}

.separate_area > p{
clear:both;
}
.separate_area div p{
color:#666;
font-size:0.75rem;
}
.separate_area div > img + p.caption{
margin-top:-26px;
}
.separate_area.align_left div > img + p.caption,
div.introduction > div.separate_area.align_left div > img + p.caption{
text-align:left;
}
/* movie (iframe) */
article section div.movie_center iframe{
display:block;
margin:auto;
}

/* 注釈　リスト
------------------------------------------------------------*/
ul.commentary{
margin:2.5rem 0;
padding:0 0 0 2.5rem;
}
ul.commentary li{
margin:0 0 0.625rem 0;
color:#666;
font-size:0.75rem;
list-style-type:none;
list-style-position:inside;
position:relative;
}
ul.commentary li:before{
content:"※";
margin:0 0.5rem 0 -2.2rem;
position:absolute;
}
.commentary li img{
margin:5px 0;
}


/* 注釈　番号リスト
------------------------------------------------------------*/
ol.commentary{
margin:2.5rem 0;
padding:0 0 0 2.5rem;
}
ol.commentary li{
margin:0 0 0.625rem 0;
color:#666;
font-size:0.75rem;
position:relative;
counter-increment:cnt;
}
ol.commentary li:before{
content:"※";
margin-left:-2.2rem;
position:absolute;
}


/* ページャー
------------------------------------------------------------*/
article > nav.pager{
margin:50px 0;
clear:both;
}
article > nav.pager ul{
margin:0 auto;
padding:0;
text-align:center;
overflow:hidden;
}
article > nav.pager ul li{
display:inline-block;
margin:0 0 0 5px;
padding:0;
list-style:none;
line-height:1;
float:none;
}
article > nav.pager ul li:last-child a{
font-size:0.875rem;
}
article > nav.pager ul li div{
padding:19px 20px 16px 20px;
color:#ccc;
text-decoration:none;
border:2px #ddd solid;
background:#fafafa;
}
article > nav.pager ul li.number{
display:none;
}
article > nav.pager ul li a{
display:block;
padding:19px 20px 16px 20px;
color:#4982c7;
text-decoration:none;
border:2px #4982c7 solid;
background:#f3f3f3;
}
article > nav.pager ul li a:hover,
article > nav.pager ul li.here a{
color:#fff;
background:#4982c7;
}
article > nav.pager ul li.prev{
margin:0;
}
article > nav.pager ul li.next a:before{
content:normal;
}


/* 特集
------------------------------------------------------------*/
article > h2 + img{
display:block;
margin:30px 0 0 0;
}
section#talk{
}

section#talk h4{
clear:both;
}
section#talk dl{
font-size:0.875rem;
overflow:hidden;
}
section#talk dt{
width:60px;
margin:0 0 30px 0;
padding:0;
font-weight:bold;
text-align:right;
float:left;
clear:both;
}
section#talk dd{
width:850px;
margin:0 0 30px 0;
padding:0;
float:right;
overflow: hidden;
}
section#talk dd:last-child,
article section#talk p:last-child{
margin-bottom:0;
}
section#talk dd p.catch{
margin: 2rem 0px;
font-size: 1rem;
font-weight: bold;
}
section#talk dd p.catch:first-child{
margin:0 0 2rem 0px;
}

/* 対談内画像 */
section#talk dd div.imgarea{
margin:15px 0;
}
section#talk dd div.imgarea img{
display: block;
margin:0 0 5px 0;
}
section#talk dd div.imgarea p{
margin:0 0 5px 0;
color:#666;
font-size:0.625rem;
font-weight:normal;
}

/* 人物紹介 */
section#talk .introduction_talk{
width:230px;
margin:0 0 30px 0;
color:#fff;
background:#333;
float:right;
}
section#talk .introduction_talk img{
margin:0 0 15px 0;
padding:0;
}
section#talk .introduction_talk p{
margin:0;
padding:0 10px 10px 10px;
font-size:0.625rem;
}

section#talk .introduction_talk p:nth-of-type(1){
font-size:0.875rem;
font-weight:bold;
}
section#talk dl.left680{
width:680px;
margin:0 0 30px 0;
padding:0;
float:left;
overflow:hidden;
}
section#talk dl.left680 dd{
width:590px;
}

section#talk .introduction_talk.wh{
width:230px;
margin:0 0 30px 0;
color:#666;
background:#fff;
float:right;
}
section#talk .introduction_talk.wh img{
margin:0 0 5px 0;
}
section#talk .introduction_talk.wh p{
margin:0;
padding:0 0 10px 0;
font-size:0.625rem;
}
section#talk .introduction_talk.wh p:nth-of-type(1){
font-size:0.625rem;
font-weight:normal;
}

/* 質問者 */
section#talk dt.name_zero + dd{
font-weight:bold;
}

/* その他 */
section#talk div.image_center{
margin:30px 0 30px 90px;
clear:both;
}
section#talk div.image_center img{
display:block;
width:100%;
}
section#talk .introduction_talk + dl,
section#talk dl.right230 + dl.talk{
clear:both;
}

/* グレー背景リスト */
section#talk div.gr_list{
margin:30px 0;
padding:0;
background:#f3f3f3;
}
section#talk div.gr_list h4{
margin:0;
padding:12px 10px 10px 10px;
}
section#talk div.gr_list dl{
margin:0;
padding:0;
font-size:0.875rem;
line-height:1.5;
}
section#talk div.gr_list dl dt{
width:250px;
margin:0;
padding:12px 10px 10px 10px;
font-weight:bold;
text-align:left;
border-top:3px #fff solid;
background:none;
}
section#talk div.gr_list dl dd{
width:647px;
margin:0;
padding:12px 10px 10px 10px;
text-align:left;
border:3px #fff solid;
border-width:3px 0 0 3px;
}
section#talk div.gr_list dl dd:first-child{
padding:0;
}


/* 数字で見る IT Insight
------------------------------------------------------------*/
article#itinsight section h3{
margin:50px 0 0 0;
padding:0;
float:left;
}
article#itinsight section h3 + div{
width:388px;
margin:120px 0 0 0;
float:right;
}
article#itinsight section h3 + div.introduction{
border:none;
}
article#itinsight section h3 + div + p{
clear:both;
}

article#itinsight section h3 + div.mt50{
margin-top:50px;
}
article#itinsight section h3 + div.introduction > p.read{
width:388px;
margin:0 0 20px 0;
padding:0;
}
article#itinsight section h3 + div.introduction > p.read + div{
width:366px;
margin:0 0 20px 0;
padding:5px 10px;
}


/* ゴルフ
------------------------------------------------------------*/
aside.fujita{
text-align:center;
background:none;
}
aside.fujita img{
width:auto;
}


/* news
------------------------------------------------------------*/
article#news h2 + p{
padding:10px 10px 20px 10px;
font-size:0.875rem;
border-bottom:1px #ccc dotted;
}
article#news section{
margin-bottom:30px;
padding-bottom:30px;
border-bottom:1px #ccc dotted;
overflow:hidden;
}
article#news section h3{
margin:0 0 5px 0;
padding:0;
font-size:1.125rem;
}
article#news section h4{
margin:0 0 5px 0;
padding:0;
font-size:2rem;
font-weight:normal;
line-height:1.5;
}
article#news section p + a{
display:block;
width:150px;
padding:4px 10px 3px 10px;
color:#fff;
font-size:0.875rem;
text-align:center;
border-radius:5px;
background:#005cca;
float:right;
}
article#news section p + a:before{
content:"\f08e";
padding:0 7px 0 0;
}
article#news section p + a:hover{
opacity:0.7;
}


/* library
------------------------------------------------------------*/
article#library{
overflow:hidden;
}
article#library h2 + p{
padding:10px 10px 20px 10px;
font-size:0.875rem;
border-bottom:1px #ccc dotted;
}
article#library section{
width:270px;
margin:0 15px 30px 0;
padding:0 20px;
float:left;
}
article#library section:nth-of-type(3n){
margin-right:0;
}
article#library section h3{
margin-bottom:0;
padding:20px 0 10px 0;
font-size:1rem;
}
article#library section img{
width:270px;
}
article#library section ul{
margin:20px 0 0 0;
padding:0;
list-style:none;
}
article#library section ul li{
margin:0 0 20px 0;
}
article#library section ul li a{
display:block;
padding:4px 10px 3px 10px;
color:#fff;
font-size:0.875rem;
text-align:center;
border-radius:5px;
background:#005cca;
}
article#library section ul li a:hover{
opacity:0.7;
}
article#library section ul li a:before{
padding:0 7px 0 0;
}
article#library section ul li:nth-of-type(1) a:before{
content:"\f1c1";
}
article#library section ul li:nth-of-type(2) a:before{
content:"\f02d";
}


/* 関連リンク
------------------------------------------------------------*/
article > aside{
margin:50px 0 30px 0;
padding:10px;
background:#f3f3f3;
clear:both;
}
article > aside h3{
margin:10px 10px 15px 15px;
font-size:100%;
border:none;
}
article > aside h4{
margin:10px 0 0 0;
padding:15px;
font-weight:normal;
background:#fff;
}
article > aside h4:before{
content:normal;
}
article > aside ul{
margin:0;
padding:0 15px 10px 15px;
font-size:88%;
background:#fff;
}
article > aside ul li{
padding:0 0 0 21px;
list-style:none;
text-indent:-21px;
}
article > aside ul li a:before{
content:"\f101";
padding:0 10px 0 0;
color:#468;
font-size:1rem;
text-decoration:none;
letter-spacing:-3px;
vertical-align:1px;
}
article > aside ul li a:hover,
article > aside ul li a:hover:before{
opacity:0.7;
}


/* Keyword
------------------------------------------------------------*/
article > aside ul#kw_article_aside{
margin:0 0 10px 0;
font-size:0.875rem;
overflow:hidden;
}
article > aside ul#kw_article_aside li{
margin:0 10px 10px 0;
text-indent:-28px;
float:left;
}
article > aside ul#kw_article_aside li a{
display:block;
padding:3px 10px 1px 10px;
color:#579;
}
article > aside ul#kw_article_aside li a:before{
content:"\f02b";
padding:0 8px 0 0;
vertical-align:0;
}



/* ===========================================================

   スマートフォン

=========================================================== */
@media screen and (max-width: 480px){


/* 共通
------------------------------------------------------------*/
body{
width:auto;
margin:0;
position:relative;
}



/* コンテンツ (article)
------------------------------------------------------------*/
article{
width:auto;
margin:60px 10px 50px 10px;
		margin:0 10px 50px 10px;
		padding: 0;
float:none;
}
article > h2 + time + img{
width:100%;
}

.img_right,
.separate_area.onethird div{
width:auto;
margin:20px 0;
float:none;
}
.img_right img,
.separate_area.onethird div{
width:100%;
}

article section h3:first-child{
margin:40px 0 30px 0;
padding:0;
}

/* photo */
div.introduction_noread img,
div.introduction > div img{
display:block;
width:30%;
margin:0 5% 10px 0;
}
div.introduction div{
overflow:hidden;
}
article section div.introduction div div{
width:65%;
float:right;
}
article section div.introduction div div.nofloat{
width:100%;
float:none;
}
div.introduction div.large img{
width:30%;
}
div.introduction div.large img,
div.introduction div.large img + div{
width:100%;
float:none;
}
article section div.introduction div.large div p.name{
font-size:0.75rem;
}
article section h3 + div.introduction p.read{
margin-top:0;
}

/* two */
div.introduction.two > div.authorarea > div{
width:auto;
margin:0 0 20px 0;
padding:10px 10px 0 10px;
float:none;
}
div.introduction.two > div.authorarea > div:nth-of-type(even){
float:none;
}

/* commentary */
ul.commentary,
ol.commentary{
padding-left:2rem;
}
.commentary li img{
width:100%;
}
ul.commentary li:before,
ol.commentary li:before{
margin-left:-1.8rem;
}

/* image */
article section div.image_center img{
width:100% !important;
}
.separate_area div:nth-of-type(1){
width:49%;
float:left;
}
.separate_area div:nth-of-type(2){
width:49%;
float:right;
}
.separate_area div img,
div.introduction > div.separate_area img{
width:100%;
}

.separate_area.onethird div {
/*
width:31%;
float:left;
margin-right:3.5%;
*/
width:100%;
float:none;
margin-top:0;
margin-right:0;
}
.separate_area.onethird div:nth-of-type(3) {
/*
	float:right;
*/
margin-bottom:0;
}

.separate_area div > img + p.caption{
text-align:left;
}


/* movie (iframe) */
article section div.movie_center{
position:relative;
padding-bottom:56.25%;
padding-top:30px;
height:0;
overflow:hidden;
}
article section div.movie_center iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}


/* 対談用エリア
------------------------------------------------------------*/
article > h2 + img{
display:block;
width:100%;
margin:30px 0 0 0;
}
section#talk dt{
width:20%;
margin:0 20px 0 0;
padding:0;
text-align:center;
background:#ff6;
}
section#talk dt.name_zero{
width:auto;
margin:0 1rem 0 0;
background:none;
}
section#talk dt.name_one{
background:#ff6;
}
section#talk dt.name_two{
background:#cff;
}
section#talk dt.name_three{
background:#fcf;
}
section#talk > dl > dd{
width:100%;
margin:0 0 20px 0;
padding:0;
text-align:left;
float:none;
}
section#talk dd div.imgarea img{
width:100%;
}

/* 人物紹介 */
section#talk .introduction_talk{
width:100%;
float:none;
}
section#talk .introduction_talk img{
width:100%;
margin:0 0 15px 0;
padding:0;
}
section#talk .introduction_talk p{
margin:0;
padding:0 10px 10px 10px;
font-size:0.625rem;
}
section#talk .introduction_talk p:nth-of-type(1){
font-size:0.875rem;
font-weight:bold;
}
section#talk dl.left680{
width:100%;
float:none;
}
section#talk dl.left680 dd,
section#talk dl dd{
width:100%;
float:none;
}

/* グレー背景リスト */
section#talk div.gr_list h4{
margin:0;
padding:10px 5px 8px 5px;
}
section#talk div.gr_list dl dt{
width:100%;
padding:10px;
border:none;
border-top:3px #fff solid;
float:none;
}
section#talk div.gr_list dl dd{
width:100%;
padding:0 10px 10px 10px;
border:none;
float:none;
}

/* 対談内画像 */
section#talk .introduction_talk.wh{
width:100%;
margin:0 0 30px 0;
float:none;
}

/* その他 */
section#talk div.image_center{
margin:30px 0;
}
section#talk div.image_center img{
display:block;
width:100% !important;
}
section#talk .introduction_talk + dl,
section#talk dl.right230 + dl.talk{
clear:both;
}


/* ページャー
------------------------------------------------------------*/
article > nav.pager ul{
margin:0 0 70px 0 !important;
}
article > nav.pager ul li{
display:none;
font-size:82%;
float:none;
}
article > nav.pager ul li.number{
display:block;
width:20%;
margin:2.5% 5% 0 0;
padding:10px 0 0 0;
text-align:center;
float:left;
}
article > nav.pager ul li.prev{
display:block;
width:35%;
margin:0 5% 0 0 ;
text-align:left;
float:left;
}
article > nav.pager ul li.prev + li{
margin:0;
}
article > nav.pager ul li.next{
display:block;
width:35%;
margin:0;
text-align:right;
float:right;
}
article > nav.pager ul li a{
padding:12% 7%;
}
article > nav.pager ul li.prev *:before{
content:"＜";
padding-right:1em;
}
article > nav.pager ul li.next *:after{
content:"＞";
padding-left:1em;
border:none;
}
article > nav.pager ul li div{
padding:12% 7%;
}
article > nav.pager ul li.prev,
article > nav.pager ul li.prev a,
article > nav.pager ul li.next,
article > nav.pager ul li.next a{
font-size:0.75rem;
}


/* Keyword
------------------------------------------------------------*/
article > aside ul#kw_article_aside li a{
margin:0 0 5px 10px;
padding:0;
}


/* 数字で見る IT Insight
------------------------------------------------------------*/
article section > h3 img{
width:100%;
margin:30px 0;
}
article#itinsight section h3{
margin:0;
padding:0;
float:none;
}
article#itinsight section h3 + div{
width:auto;
margin:0 0 30px 0;
float:none;
}
article#itinsight section h3 + div.introduction{
border:none;
}

article#itinsight section h3 + div.mt50{
margin-top:50px;
}
article#itinsight section h3 + div.introduction > p.read{
width:388px;
margin:0 0 20px 0;
padding:0;
}
article#itinsight section h3 + div.introduction > p.read + div{
width:366px;
margin:0 0 20px 0;
padding:5px 10px;
}


/* ゴルフ
------------------------------------------------------------*/
article h2 + section h3 + p{
font-size:0.75rem;
}

/* introduction */
div.introduction > p.read,
div.introduction_noread,
div.introduction > div{
width:auto;
margin:20px 0;
float:none;
}

/* fujita */
aside.fujita{
width:100%;
padding:0;
text-align:center;
background:none;
}
aside.fujita img{
width:100%;
}


/* case
------------------------------------------------------------*/
article section h3{
font-size:1.5rem;
}
article section h3 span{
font-size:1rem;
}
/* table */
div.introduction table{
width:auto;
margin:0 0 30px 0;
float:none;
}
div.introduction table + div{
width:auto;
float:none;
}


/* library
------------------------------------------------------------*/
article#library section{
width:40%;
margin:0 0 5% 0;
padding:0 5%;
float:left;
}
article#library section:nth-of-type(3n){
margin-right:auto;
}
article#library section:nth-of-type(2n){
margin-right:0;
}
article#library section ul li a{
display:block;
padding:4px 10px 3px 10px;
color:#fff;
font-size:0.875rem;
text-align:center;
border-radius:5px;
background:#005cca;
}
article#library section img{
width:100%;
}


/* ページトップ
------------------------------------------------------------*/
a#pagetop{
display:block;
width:30px;
height:14px;
margin:0 auto 10px auto;
padding:0 0 20px 0;
font-size:2rem;
float:none;
opacity:0.7;
bottom:30px !important;
}
a#pagetop:hover{
cursor:pointer;
opacity:1;
}

/* footer
------------------------------------------------------------*/
footer{
padding:10px 10px 0 10px;
border-top:2px #005cca solid;
text-align:center;
}
footer div{
margin:10px 0;
text-align:center;
float:none;
}
footer ul{
margin:10px 0;
padding:0;
float:none;
}
footer ul li{
padding:5px 0;
font-size:75%;
float:none;
}
footer ul li:before{
content:normal;
padding:0;
}
footer ul + p{
margin:20px auto;
padding:0;
float:none;
clear:both;
}
footer ul + p a{
display:inline-block;
float:none;
}
footer ul + p a[href^="/about/"]{
display:block;
margin:0 auto 10px auto;
}
footer ul + p a[href^="https://twitter"]{
margin-right:10px;
}
footer ul + p a[href^="https://www.youtube"]{
margin-right:0;
}
footer p.copyright{
width:100%;
margin:0;
padding:0 0 10px 0;
font-size:69%;
text-align:left;
}


}
/* @media screen and (max-width: 480px) */





body article aside#ranking{
	margin: 50px 0 0 0;
	padding: 0 0 50px 0;
	background: none;
}
body article aside#ranking h2{
	margin-bottom: 1.25rem;
	padding-top: 0;
	padding-bottom: 0.5rem;
	border-bottom:2px #468 dotted;
}
body article aside#ranking h2:before{
	content:url("/bestengine/common/img/icon_clown.svg") !important;
	margin: -0.75rem 0.5rem 0 0;
	padding: 0;
}
body article aside#ranking > div{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	margin: 0;
	padding: 0;
	list-style: none;
	gap:1rem;
}
body article aside#ranking div a{
	display: grid;
	grid-template-rows: subgrid;
	grid-template-columns: 13px 1fr;
	grid-row: span 4;
	grid-gap: 0.5rem 0.75rem;
	padding: 0.75rem;
	background: #f3f3f3;
	transition:0.3s;
}
body article aside#ranking div a:hover{
	color:#fff;
	background: #468;
}
body article aside#ranking div a > *{
	margin: 0;
	padding: 0;
}

body article aside#ranking div a img{
	grid-area:1/1/2/3;
	width:100%;
}
body article aside#ranking div a span{
	grid-area:2/1/3/2;
	width:13px;
	height:13px;
	padding: 4px 2px 2px 2px;
	color:#fff;
	font-size:0.75rem;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	border-radius: 9999px;
	background: #468;
	transition:0.3s;
}
body article aside#ranking div a:hover span{
	color:#468;
	background: #fff;
}
body article aside#ranking div a h3{
	grid-area:2/2/3/3;
	font-size:0.875rem;
}
body article aside#ranking div a time {
	grid-area:4/1/5/3;
	color: #666;
	font-size: 0.75rem;
	text-align: right;
	transition: 0.3s;
}
body article aside#ranking div a time:before{
	content: "［";
}
body article aside#ranking div a time:after{
	content: "］";
}
body article aside#ranking div a:hover time{
	color: #fff;
}
body article aside#ranking div a div {
	display: flex;
	grid-area:3/1/4/3;
	gap: 0.25rem;
}
body article aside#ranking div a div:before {
	content: "\f02c";
	padding: 0 0.25em;
	font-size: 0.75rem;
	font-family: "fontawesome";
	transform: translateY(2.5px);
}
body article aside#ranking div a div .tag {
	margin: 0;
	padding: 0;
	font-size: 0.75rem;
	list-style: none;
	background: none;
	gap: 0.25em;
}
body article aside#ranking div a div .tag > li {
	display: inline-block;
	margin: 0;
	padding: 0;
	text-indent:inherit;
	background: none;
}
body article aside#ranking div a div .tag > li:after {
	content: " , ";
}
body article aside#ranking div a div .tag > li:last-child:after {
	content: normal;
}
body article aside#ranking .rightExLink{
	display: none;
}



@media only screen and (max-width: 768px){
	body article aside#ranking{
		padding: 2rem;
	}
}
@media only screen and (max-width: 500px){
	body article aside#ranking{
		padding: 0 1rem 50px 1rem;
	}
	body article aside#ranking .rankingList{
		display: block;
	}
	body article aside#ranking .rankingList a{
		margin-bottom: 2rem;
		background: #eaeaea;
	}
}


/*
@media only screen and (max-width: 500px){
	body{
		&>aside{
			section{
				&.ranking{
					padding: 0 1rem 50px 1rem;
					background: #fff;
					.rankingList{
						a{
							background: #eaeaea;
						}
					}
				}
			}
		}
	}
}
*/