@charset "utf-8";

/* base
---------------------------------------------*/

body {
	color: #000;
  background: #edeff4;
}

ol {
	margin: 20px 40px 20px 50px;
}

ol li {
	margin: 0 0 20px;
}

ol li ol {
	margin: 15px 40px 20px 30px;
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
ol.ol02 {
	margin: 15px 40px 20px 30px;
	counter-reset: li;
	list-style: none;
}

ol li li,
ol.ol02 li {
 position: relative;
 margin-bottom: .5em;
 padding-left: 2.5em;
}

ol li li:before,
ol.ol02 li:before {
 content: counter(li) "";
 counter-increment: li;
 position: absolute;
 left: 0;
 width: 1.8em;
 height: 1em;
 border: solid #000;
 border-width: 0 1px;
 border-radius: 50px;
 color: #000;
 line-height: 1em;
 text-align: center;
 margin-top: 0.2em;
}

img.fLeft {
	margin: 18px 20px 20px 18px;
}

img.fRight {
	margin: 18px 18px 20px 20px;
}


/* link
---------------------------------------------*/
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #22273e;
	text-decoration: underline;
}

/* header
---------------------------------------------*/
#header {
	text-align: center;
	width: 100%;
	background: #fff;
}

#header #logo {
	padding: 23px 0 0;
}

#header .inner {
	position: relative;
	max-width: 1190px;
	margin: 0 auto;
	text-align: left;
}

#header .inner .fLeft {
	height: 98px;
}

#header h1 {
}

#header h1 strong {
	font-size: 140%;
	margin: 0 5px;
	color: #ff9c00;
}
#header h1 a {
	text-decoration: none;
}

#header .login .btn a {
  font-size: 86%;
  padding: 10px 15px;
}




/* hNavi
---------------------------------------------*/


#header #hNavi {
  border-bottom: 1px solid #dcdee8;
}
#header #hNavi .inner {
	box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
	/*border: 2px solid #000;
	border-width: 0 2px 2px 2px;*/
}

#header #hNavi ul {
	width: 100%;
}
#header #hNavi li {
	text-align: center;
  padding: 0 5px;
	width: 100%;
}
#header #hNavi li img {
	height: 28px;
	width: auto;
}
#header #hNavi li:nth-child(7) img {
	height: 16px;
	width: auto;
	margin: 6px 0;
}

.panel-collapse {
  
}

#header .global {
  margin-bottom: 0;
}
#header .global .btn a span {
  display: block;
  padding-left: 30px;
  background: url(/shared/images/iconGlobal.png) no-repeat left;
}

#header .menu {
  width: 120px;
}
#header #menu {
  position: absolute;
  z-index: 100;
}
#header #menu li {
  padding: 0;
  background: #fff;
}
#header #menu a {
  color:#fff;
  padding: 10px;
  display: block;
  width: 120px;
  box-sizing: border-box;
  background: #22273e;
}
#header #menu a:hover {
  opacity: 0.7;
}

/* gnavi -----*/
#header #gnavi {
  width: 1190px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

#header #gnavi .inner {
	text-align: left;
}

#header #gnavi ul {
  display: flex;
  align-items: flex-end;
}

#header #gnavi li {
	text-align: center;
	padding: 0 3px 0 0;
}

#header #gnavi li a {
  border-bottom: 5px solid #22273e;
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 5px 15px;
	vertical-align: middle;
  margin-right: 15px;
  font-weight: bold;
}
#header #gnavi li:nth-child(1) a span {
  background: url(/shared/images/gnavi01.png) no-repeat left;
}
#header #gnavi li:nth-child(2) a span {
  background: url(/shared/images/gnavi02.png) no-repeat left;
}
#header #gnavi li:nth-child(3) a span {
  background: url(/shared/images/gnavi03.png) no-repeat left;
}
#header #gnavi li:nth-child(4) a span {
  background: url(/shared/images/gnavi04.png) no-repeat left;
}
#header #gnavi li:nth-child(5) a span {
  background: url(/shared/images/gnavi05.png) no-repeat left;
}

#header #gnavi li a span {
  padding-left: 25px;
}

#header #gnavi li.active a,
#header #gnavi li a:hover {
	color: #fff;
	background: #22273e;
}
#header #gnavi li:first-child {
  display: flex;
}

#header #gnavi li:first-child a:nth-child(3) {
  padding-left: 5px;
}

#header #gnavi li:first-child a:first-child {
  margin-right: 0;
  padding-right: 5px;
}
#header #gnavi li:first-child p {
  border-bottom: 5px solid #22273e;
	vertical-align: middle;
	padding: 5px 0;
}


/* container
---------------------------------------------*/
#container {
	text-align: left;
	width: 1190px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}


/* contents
---------------------------------------------*/
#contents {
	width: 100%;
	display: flex;
	-js-display: flex;
}

#bnrTop {
}
#bnrTop li {
	box-sizing: border-box;
	width: 32%;
	max-width: 410px;
	margin-bottom: 0;
}
#bnrTop li img {
}

/* main
---------------------------------------------*/
#main {
	padding-bottom: 30px;
	width: 100%;
	width: 860px;
	vertical-align: top;
	margin-right: 30px;
}

#main .inner {
}

/* .breadcrumbs ------*/

#contents .breadcrumbs {
	margin-bottom: 10px;
	font-size: 93%;
	margin-top: 15px;
}

#contents .breadcrumbs li {
	padding-right: 15px;
}

#contents .breadcrumbs li a {
	text-decoration: none;
}

#contents .breadcrumbs li a:after {
	content: ">";
	margin-left: 5px;
	text-decoration: none;
	color: #000;
}




/* headline ------*/

#main .headline2 {
  background: #22273e;
  color: #fff;
}

#main h2 {
	font-weight: bold;
	font-size: 130%;
	vertical-align: middle;
	position: relative;
	border-left: 4px solid #e40015;
	margin: 10px 15px;
  padding-left: 15px;
  padding-top: 2px;
	color: #fff;
  line-height: 1;
}
#main .headline2 .arrow a {
  color: #fff;
  padding: 10px 15px;
}
#main .headline2 .arrow a span {
}


#main h3 {
	border-bottom: 1px solid #000;
	font-size: 120%;
  padding: 5px 0;
  font-weight: bold;
}
#main .headline3 {
	
}

#main h3 span {
}

#main h4.h4 {
	padding: 30px 15px 0;
}


/* tab */

#main .tab,
#main .tab2,
#main .tab3,
#main .tab4 {
	/*border-bottom: 1px solid #ccc;*/
	display: flex;
	border-collapse: separate;
	border-spacing: 10px 0;
	box-sizing: border-box;
	z-index: 100;
	position: relative;
  margin-bottom: 20px;
}

#main .tab li,
#main .tab2 li,
#main .tab3 li,
#main .tab4 li {
	border: 0;
}


#main .tab li.active,
#main .tab2 li.active,
#main .tab3 li.active,
#main .tab4 li.active {
	text-align: center;
	font-weight: bold;
}

#main .tab li.active a {
	background: #fff;
  color: #22273e;
}

#main .tab2 li.active a,
#main .tab3 li.active a,
#main .tab4 li.active a {
  border-bottom: 3px solid #e40015;
  background: #fff;
  padding-bottom: 6px;
}

#main .tab li.active span,
#main .tab2 li.active span,
#main .tab3 li.active span,
#main .tab4 li.active span {
	display: inline-block;
}

#main .tab li a,
#main .tab2 li a,
#main .tab3 li a,
#main .tab4 li a {
  border-right: 1px solid #fff;
	padding: 10px 0;
	display: block;
	color: #000;
  background: #22273e;
  color: #fff;
	text-align: center;
	font-weight: bold;
}

#main .tab2 li,
#main .tab3 li,
#main .tab4 li {
  background: #f1bfc4;
  margin-right: 1px;
  position: relative;
}
#main .tab2 li:first-child:before,
#main .tab3 li:first-child:before,
#main .tab4 li:first-child:before {
  content: "";
  display: block;
  border-radius: 20px 0 0 20px;
  width: 20px;
  position: absolute;
  left: -20px;
  height: 100%;
  background: #f1bfc4;
}
#main .tab2 li:last-child:after,
#main .tab3 li:last-child:after,
#main .tab4 li:last-child:after {
  right: -20px;
  border-radius: 0 20px 20px 0;
  content: "";
  display: block;
  width: 20px;
  position: absolute;
  height: 100%;
  background: #f1bfc4;
  top: 0;
}
#main .tab2 li.active:first-child:before,
#main .tab2 li.active:last-child:after,
#main .tab3 li.active:first-child:before,
#main .tab3 li.active:last-child:after,
#main .tab4 li.active:first-child:before,
#main .tab4 li.active:last-child:after {
  background: #fff;
}

#main .tab2 li a,
#main .tab3 li a,
#main .tab4 li a {
  padding: 10px 40px;
  background: none;
  color: #22273e;
  border: none;
}

#main .tab li a:hover,
#main .tab2 li a:hover,
#main .tab3 li a:hover,
#main .tab4 li a:hover {
	opacity: 0.7;
}

#main .tab li a span,
#main .tab2 li a span,
#main .tab3 li a span,
#main .tab4 li a span {
	display: inline-block;
	padding: 3px;
}

/**/


#main .tab.type2 {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: center;
}

#main .tab.type2 li {
	display: block;
	border: 0;
	margin: 0 15px 0 0;
}

#main .tab.type2 li.active {
	border: none;
}

#main .tab li.active span,
#main .tab2 li.active span,
#main .tab3 li.active span,
#main .tab4 li.active span {
	display: inline-block;
}

#main .tab.type2 li a {
	border: none;
	border-radius: 3px;
}




#main .tab.type3 {
  display: table;
	width: 100%;
  box-sizing: border-box;
}

#main .tab.type3 li {
	border: 0;
	margin: 0;
	background: #eee;
	border-radius: 3px;
}

#main .tab.type3 li.active {
	border: none;
	background: #ffe400;
}

#main .tab.type3 li a {
	border: none;
	border-radius: 3px;
  padding: 5px;
  vertical-align: middle;
  width: 100%;
  box-sizing: border-box;
  line-height: 1;
	background: #eee;
}
#main .tab.type3 li.active a {
	background: #ffe400;
}

#main .tab li a:hover,
#main .tab2 li a:hover,
#main .tab3 li a:hover,
#main .tab4 li a:hover {
	opacity: 0.7;
}

#main .tab li a span,
#main .tab2 li a span,
#main .tab3 li a span,
#main .tab4 li a span {
	display: inline-block;
	padding: 3px;
}


#main .tabBg {
	z-index: 1;
	position: relative;
}

#main .tabContent,
#main .tabContent2,
#main .tabContent3,
#main .tabContent4 {
	display: none;
	position: relative;
	z-index: 50;
	top: 0;
}

#main .tabContent.active,
#main .tabContent2.active,
#main .tabContent3.active,
#main .tabContent4.active {
	display: block;
	position: relative;
	z-index: 50;
	top: 0;
}

#main .tabContent h3,
#main .tabContent2 h3,
#main .tabContent3 h3,
#main .tabContent4 h3 {
	padding: 20px;
	border: none;
	font-size: 110%;
}

#main .tabContent h3 span,
#main .tabContent2 h3 span,
#main .tabContent3 h3 span,
#main .tabContent4 h3 span {
	border: none;
	padding:0;
}



/* balloon
---------------------------------------------*/


.balloonBox {
  display: flex;
	margin-bottom: 30px;
  align-items: flex-start;
  width: 100%;
  justify-content: space-between;
}

.balloonBox .cell {
	vertical-align: middle;
	line-height: 1;
}
.balloonBox .cell img {
	display: block;
}
.balloon {
	padding: 10px;
	box-sizing: border-box;
	position: relative;
	margin-right: 20px;
  border-radius: 3px;
  width: 100%;
}

.balloon:before {
	position: absolute;
	top: 10px;
	right: 0;
  margin-right: -7px;
}

.balloon.type1 {
  background: #edeff4;
}

.balloon.type1:before {
	content: url(/shared/images/balloonArw.png);
}

.balloon.type2 {
  background: #fff;
}

.balloon.type2:before {
	content: url(/shared/images/balloonArw2.png);
}

.balloonBox .btn.type5 a,
.balloonBox .iconLike {
  padding: 0 5px;
}
.balloonBox .type5 a {
  border-radius: 20px;
}

.balloonBox .img {
  width: 60px;
}


/* tile
---------------------------------------------*/
.tile {
	display: flex;
	-js-display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.tile li {
	position: relative;
}
.tile li .relative > .img > a {
  display: flex;
  align-items: center;
  width: 200px;
  height: 280px;
  overflow: hidden;
}
.tile li .relative > .img > a img {
  height: auto;
}
.tile li .relative > .img > a img:hover {
  opacity: 1!important;
}
.tile li .relative {
  background: #fff;
  transition: 0.3s;
}
.tile li .relative:hover {
  transform:translateY(-10px);
  -webkit-transform: translateY(-5px);
}

.tile.nomove li .relative:hover {
  transform:translateY(0);
  -webkit-transform: translateY(0);
}



.tile li p {
  text-align: left;
}
.tile > li li.author img {
  width: 30px;
  margin-right: 5px;
  box-sizing: border-box;
}


.tile li.tag a {
  display: inline-block;
  background: #22273e;
  color: #fff;
  padding: 5px;
  line-height: 1;
  border-radius: 10px;
}


.column3 {
	width: 100%;
  box-sizing: border-box;
}

.column3 .tile {
}

.column3 .tile > li,
.column4 .tile > li {
	width: 200px;
	margin-bottom: 30px;
  box-sizing: border-box;
}
.column3 .tile li .img {
}

.column3 .tile li img a {
	display: block;
  height: 765px;
  overflow: hidden;
}

.tile > li img {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	display: block;
}


.column5 {
	width: 100%;
}

.column5 .tile {
}

.column5 .tile li {
	width: 18%;
	margin-bottom: 30px;
	max-width: 195px;
}

.column5 .tile li a {
	display: block;
}
.column5 .tile li .img {
  height: 100px;
  display: flex;
  align-items: center;
}

.column5 .tile > li img {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	display: block;
}

.title {
	font-weight: bold;
	margin-top: 10px;
	/*height: 3em;
	overflow: hidden;
	text-overflow: ellipsis;*/
}

.column5 .title {
	font-size: 110%;
	font-weight: bold;
	margin-top: 10px;
}

.favorite {
	color: #ff2a00;
}

.tile .logo,
.icon.logo {
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	padding: 5px;
	background: #fff;
}

.icon.logo img {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	display: block;
}



.comment img {
  width: 43px;
  border: 1px solid #e1e1e1;
}

/* profile
---------------------------------------------*/
.profile .img {
  width: 210px;
  border: 1px solid #edeff4;
  height: 210px;
  display: flex;
  align-items: center;
}
.profile .img img {
  width: 100%;
}

.star:hover {
  text-decoration: none;
  color: #ffd200;
}


/* view
---------------------------------------------*/

#view #main {
  width: 770px;
}
#view #side {
  width: 390px;
}

#main .title h2 {
  color: #22273e;
  border: none;
  padding: 0;
  margin: 0;
  font-size: 220%;
}
#view #main a.iconLike,
#view a.iconBookmark {
  padding: 5px 10px;
}
a.iconLike:hover {
  background: #f1bfc4;
  color: #fff;
  text-decoration: none;
}

#view a.iconBookmark span {
  padding: 2px;
  padding-left: 20px;
}
a.iconBookmark:hover {
  background: #f1bfc4;
  color: #fff;
  text-decoration: none;
}

#view .column4 .tile li {
	width: 180px;
	margin-bottom: 30px;
}

#view .column4 .tile li a {
	display: block;
}
#view .column4 .tile li .img {
  height: 107px;
  display: flex;
  align-items: center;
}
#view #side .img {
  width: 90px;
}
#view #side .comment textarea {
  height: 6em;
}
#view #side .comment img {
  width: 59px;
}


/* ranking
---------------------------------------------*/
.tile.ranking p.num {
  background: #e0e4ee;
  display: inline-block;
  padding: 3px 10px;
  margin-bottom: 5px;
  border-radius: 20px;
}
.tile.ranking p .icon {
  background: url(/shared/images/iconRanking.png) no-repeat left;
  padding-left: 23px;
}

.tile .ranking p {
	display: table-cell;
	vertical-align: middle;
	padding-top: 3px;
	line-height: 1;
}
.icon.ranking {
	position: absolute;
	left: 0;
	top: 0;
	background: #ffe400;
	border: 4px solid #fff;
	border-width: 0 4px 4px 0;
	display: table;
	width: 30px;
	height: 30px;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
}

/* bookmark
---------------------------------------------*/
.bookmark {
  margin-right: -17px;
}
.bookmark li {
  margin-right: 17px;
}

/* login
---------------------------------------------*/
form p .dspInlBlk {
	width: 100px;
	text-align: left;
}



#main form input[type=text] {
	border: 1px solid #d4d4d4;
    line-height: 24px;
    padding: 5px;
    vertical-align: middle;
	width: 100%;
}

#main form .btn.signup a {
	line-height: 30px;
	font-size: 100%;
}

#main form .check {
	width: auto;
}
#main form .btn.login {
	margin: 15px auto 0;
	width: 90%;
}

#main form .btn.login a {
	display: inline-block;
	padding: 5px 0;
	width: 100%;
}

#main .dspTbl {
	width: 100%;
}


/* .account  */



.account .dspTbl a:hover {
}

.account .dspTbl input[type=checkbox] {
	display: block;
	position: absolute;
}

.account .dspTbl a span {
	display: block;
}

/* page
---------------------------------------------*/
.page {
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(34,39,62,0.7);
	width: 40px;
	height: 25px;
	text-align: center;
	line-height: 1.2;
	color: #fff;
	font-size: 93%;
	display: table;
	overflow: hidden;
}

.page p {
	padding-top: 3px;
	display: table-cell;
	vertical-align: middle;
  text-align: center;
}

.page span {
	display: block;
  text-align: center;
}


/* icon
---------------------------------------------*/
.iconTalkmaker {
  font-size: 73%;
  background: #0066cc;
  display: inline-block;
  color: #fff;
  padding: 3px;
  line-height: 1;
}
.iconDaysNeo {
  font-size: 73%;
  background: #ffe400;
  display: inline-block;
  padding: 3px;
  line-height: 1;
}

.iconPv {
  background: url(/shared/images/iconPv.png) no-repeat left;
  padding-left: 20px;
}

.iconComment {
  background: url(/shared/images/iconComment.png) no-repeat left;
  padding-left: 20px;
}

.iconBookmark span {
  background: url(/shared/images/iconBookmark.png) no-repeat left;
  padding-left: 20px;
  display: block;
}
.iconDelete span {
  background: url(/shared/images/iconDelete.png) no-repeat left;
  padding-left: 15px;
  display: block;
}
.iconEdit span {
  background: url(/shared/images/iconEdit.png) no-repeat left;
  padding-left: 15px;
  display: block;
}
.btn.iconDelete.type2 a {
	background: #22273e;
	color: #fff;
	vertical-align: middle;
	font-size: 86%;
	padding: 3px 10px;
	font-weight: bold;
  display: inline-block;
  border-radius: 20px;
  margin: auto;
}

.more a {
  background: #fff;
  padding: 15px 30px;
  display: block;
  border-top: 1px solid #edeff4;
  text-align: center;
}
.more a span {
  display: block;
  background: url(/shared/images/arrowPBR.png) no-repeat right;
}

/* magazine icon
---------------------------------------------*/
.magazine {
	display: flex;
	-js-display: flex;
	position: absolute;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
	margin: 2px;
  flex-wrap: wrap;
}
.tile li .magazine li,
.icon.magazine li {
	width: 13%;
	min-width: 22px;
	border-radius: 20px;
	border: 3px solid #fff;
	box-sizing: border-box;
	margin: 1px;
}
.tile li .magazine li img,
.icon.magazine li img {
	width: 100%;
  display: block;
}

.magazine .days {
	background: #e14138;
}
.magazine .young {
	background: #41b400;
}
.magazine .morning {
	background: #0091c8;
}
.magazine .afternoon {
	background: #ff8700;
}
.magazine .evening {
	background: #c041aa;
}
.magazine .kiss {
	background: #00adb2;
}
.magazine .belove {
	background: #ff5a9e;
}
.magazine .mmagazine {
	background: #cd9637;
}
.magazine .sirius {
	background: #a0aaa5;
}
.magazine .dessert {
	background: #50d29b;
}
.magazine .nakayoshi {
	background: #ff641e;
}
.magazine .friend {
	background: #9db9ff;
}



/* icon
---------------------------------------------*/
.icon.continue {
	display: inline-block;
	background: #ffe400;
	padding: 3px 5px;
	font-weight: normal;
	font-size: 1rem;
	margin: 0 10px;
}


.icon.finish {
	display: inline-block;
	background: #f32e00;
	padding: 3px 5px;
	font-weight: normal;
	font-size: 1rem;
	margin: 0 10px;
	color: #fff;
}







/* authorlist
---------------------------------------------*/

.authorlist img {
  width: 100%;
}

.authorlist .author .img img {
  width: 50px;
  margin-right: 10px;
}
.authorlist ul li img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}
.authorlist ul li {
  margin: 5px;
  width: 110px;
  height: 110px;
  overflow: hidden;
}
.authorlist ul li a {
    overflow: hidden;
    width: 110px;/* トリミングしたい枠の幅 */
    height: 110px;/* トリミングしたい枠の高さ */
    position: relative;
  display: block;
}

/* comment
---------------------------------------------*/
#comment .works img {
  width: 200px;
}

#comment .author img {
  width: 30px;
}





/* pagenation */

.pagenation {
	text-align: center;
}

.pagenation ul {
	height: 31px;
	margin: auto;
	display: inline-block;
}

.pagenation li {
	float: left;
	width: 25px;
}

.pagenation li {
	background: #ddd;
	padding: 7px 5px;
	margin: 0 5px;
	line-height: 19px;
	border-radius: 5px;
}
.pagenation.type2 li {
	background: #fff;
}

.pagenation li a {
	display: block;
}

.pagenation li a:hover {
}

.pagenation li.active {
	background: #22273e;
}

.pagenation li.active a {
	color: #fff;
}

.pagenation li.interval {
	background: #fff;
	width: 20px;
}
.pagenation.type2 li.interval {
	background: none;
	width: 20px;
}

.pagenation li.first a,
.pagenation li.last a {
	background: #e40015;
	padding: 8px 0;
	border-radius: 5px;
}

.pagenation li.first,
.pagenation li.last{
	margin: 0;
	background: none;
	padding: 0;
	width: 30px;
	text-align: center;
}

.pagenation li.first img,
.pagenation li.last img{
	margin: 1px auto;
  width: auto;
  border: none;
}
.pagenation li.first {
	padding-right: 5px;
}
.pagenation li.last {
	padding-left: 5px;
}

.pagenation li.previous,
.pagenation li.next {
	border: 1px solid #ccc;
	background: #fff;
	width: 60px;
}

.pagenation li img {
	display: block;
	margin: auto;
}


/* keyword
---------------------------------------------*/

.tag li {
	float: left;
  margin-right: 5px;
  margin-bottom: 5px;
	line-height: 2;
}
.tag li a {
  color: #fff;
  background: #22273e;
  border-radius: 20px;
  padding: 3px 10px;
}



/* ranking
---------------------------------------------*/

.ranking li .img {
	position: relative;
}

.ranking .rank {
	position: absolute;
	left: 0;
	top: 0;
	background: #ffe400;
	border: 4px solid #fff;
	border-width: 0 4px 4px 0;
	display: table;
	width: 30px;
	height: 30px;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
}

.ranking .rank p {
	display: table-cell;
	vertical-align: middle;
	padding-top: 3px;
	line-height: 1;
}


/* #author
---------------------------------------------*/

#author.index #side .tag li {
  margin-bottom: 10px;
}
#author.index #side .tag a {
  padding: 5px 15px;
}


#author .author.dspFbx,
body.author .author.dspFbx{
	margin: 0 100px;
	-webkit-justify-content: center; /* Safari */
  justify-content: center;
}

#author .author.img,
body.author .author.img {
  width: 200px;
  height: 200px;
  border: 1px solid #d4d4d4;
  position: relative;
  margin-top: -100px;
  margin-bottom: -30px;
  background: #fff;
  box-sizing: border-box;
}

#author .author.img img,
body.author .author.img img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 198px;
  height: auto;
}

#author .authordata,
body.author .authordata {
  width: 940px;
}

#author .authordata > p,
body.author .authordata > p {
  width: 460px;
  padding: 10px;
  margin-right: 20px;
}

#author .authordata > ul,
body.author .authordata > ul {
  width: 290px;
}

#author .sns,
body.author .sns {
  width: 140px;
}

.comment .thumbnail,
.comment .thumbnail {
  background: none;
  border: none;
  padding: 0;
  width: 60px;
  margin-right: 20px;
  margin-bottom: 0;
}
.comment .thumbnail .img,
.comment .thumbnail .img {
  width: 60px;
  height: 60px;
  overflow: hidden;
  border: 1px solid #d4d4d4;
  position: relative;
}

.comment .thumbnail .img img,
.comment .thumbnail .img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#author.bookmark .absolute.btn,
body.author.bookmark .absolute.btn {
  right: 0;
  bottom: 0;
}



/*        .new       */

.new > li {
  padding: 10px 30px;
  border-bottom: 1px solid #ddd;
}
.index .new > li,
.bookmark .new > li {
  padding: 10px 0;
}
.new .img {
  width: 50px;
  height: 50px;
  overflow: hidden;
  position: relative;
  border: 1px solid #d4d4d4;
}
.index .new .img,
.bookmark .new .img {
  width: 100px;
  height: 100px;
  overflow: hidden;
  position: relative;
  border: 1px solid #d4d4d4;
}

.new .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.new .data {
  width: 610px;
}
.index .new .data,
.bookmark .new .data {
  width: 660px;
}


/*        NEWS       */

#news .bgW {
  border-radius: 5px;
}
#news .list dl .fRight {
	width: 400px;
}

#news .list li {
	padding: 30px 0;
	border-bottom: 1px solid #d4d4d4;
	clear: both;
	overflow: hidden;
}

#news h3.detail {
	background: none;
	font-size: 140%;
	color: #444;
	padding: 0;
	border: none;
	border-top: 1px solid #ddd;
	padding-top: 30px;
}

#news .bgW h3.detail span {
	border: 0;
	padding: 0;
}



#news dt {
	font-weight:bold;
}

#news h3.bg01 {
  color: #fff;
  font-size: 140%;
  border-radius: 5px 5px 0 0;
}


/* form ------*/

form .input01 {
	padding: 10px;
  width: 100%;
}

form .type1 dl {
	position: relative;
}

form .type1 textarea {
	height: 300px;
	box-sizing: border-box;
	padding: 10px;
	margin: 0;
  border: 1px solid #d4d4d4;
}

form .type1 select {
  border: 1px solid #d4d4d4;
}

form .type1 .err {
	position: relative;
	display: block;
}

form .type1 .err p {
	position: absolute;
	left:260px;
	top: -2.5em;
	font-size: 86%;
	font-weight: bold;
}


/* searchBox
---------------------------------------------*/


.searchBox input {
	border: 1px solid #22273e;
	width: 260px;
	box-sizing: border-box;
	padding: 5px;
}

.searchBox .bg01 {
}

.searchBox .bg01 button {
	padding: 6px 0;
	background: #22273e;
	width: 32px;
	border: none;
	color: #fff;
}

#header .searchBox {
  padding: 13px 0;
}


/* side
---------------------------------------------*/
#side {
	width: 300px;
	padding-bottom: 100px;
	vertical-align: top;
}


#side .headline2 {
  background: #22273e;
  color: #fff;
	padding: 10px 15px;
}

#side h2 {
	font-weight: bold;
	font-size: 130%;
	vertical-align: middle;
	position: relative;
	border-left: 4px solid #e40015;
  padding-left: 15px;
  padding-top: 2px;
	color: #fff;
  line-height: 1;
}

#side .btn.signup {
	width: 100%;
}

#side .bgW {
}

#side .box .bgW {
	border-top: none;
}

#side .box h2 {
	background: #0066cc;
	color: #fff;
	font-weight: bold;
	font-size: 100%;
	padding: 9px 10px 8px 15px;
}

#side h2 span {
	padding-left: 15px;
	display: block;
	border-left: 5px solid #fff;
}

#side .tag a {
  background: #e0e4ee;
  padding: 3px 10px;
  color: #22273e;
}

#side .tag li {
  margin-right: 5px;
  margin-bottom: 5px;
  
}


/* footer
---------------------------------------------*/
#toTop {
	clear:both;
	position: relative;
	
}

#toTop a {
	background: #fff;
  display: inline-block;
  width: 100px;
	vertical-align: middle;
	text-align: center;
	padding: 10px;
	color: #22273e;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	font-size: 110%;
}


#toTop a span {
	background: url(/shared/images/arrowTbl.png) no-repeat left;
  padding-left: 30px;
}
#toTop a:hover {
}

#footer {
	clear: both;
	width: 100%;
	text-align: center;
  background: #22273e;
  font-size: 86%;
  color: #fff;
}

#footer .inner {
	max-width: 1190px;
	text-align: left;
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
}

#footer li {
	display: inline-block;
	padding-right: 10px;
}
#footer li:after {
	content: "|";
	margin-left: 10px;
}

#footer a {
  color: #fff;
}

#footer a:hover {
}

#footer .inner .fLeft {
	width: 270px;
}

#footer #fbox01 {
	width: 270px;
}

#footer #fbox02 {
	width: 245px;
	border-left: 1px solid #fff;
}

#footer #fbox03 {
	width: 245px;
	border-left: 1px solid #fff;
}

#footer #fbox04 {
	border-left: 1px solid #fff;
	position: relative;
}

#footer #fLink {
	background: #e5f3fd;
}

#footer #fLink .inner {
	font-size: 93%;
	padding: 10px 0;
}

#footer #fLink .inner a {
	color:#202020;
}

#footer #fLink .inner p#copy {
	position: absolute;
	right: 0;
	top: 10px;
}

#footer #fbox04 .social {
	position: absolute;
	right: 0;
	top: 0;
}

.social01,
.social02 {
	float: left;
	padding-right: 5px;
}



/* common
---------------------------------------------*/

.type1 button {
	background: #e40015 !important;
	color: #fff !important;
	font-weight: bold;
	line-height: 1;
	border-radius: 3px;
  border: none;
  padding: 5px 10px;
}

.btn {
  padding: 0;
  border: 0;
  border-radius: 0;
  display: block;
}

.btn:active {
  box-shadow: none;
}

.btn.c {
	margin: auto;
}

.btn a {
	display: inline-block;
	box-sizing: border-box;
}

.btn a:hover {
	opacity: 0.7;
}

.btn a span {
	display: inline-block;
}

.btn.type1 a {
	position: relative;
	background: #e40015 !important;
	color: #fff !important;
	font-weight: bold;
	line-height: 1;
	border-radius: 3px;
}

.btn.type1.big a {
	border-bottom: 4px solid  #ca0013;
	border-radius: 6px;
}

.btn.type1.icon a:before {
	content: url(/shared/images/arrowBbl.png);
	background: #fff;
	border-radius: 20px;
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	left: 30px;
	top: 50%;
	margin-top: -10px;
	line-height: 1.1;
}
.btn.type1 a.active:before {
	content: url(/shared/images/arrowTbl2.png);
}

.btn.type2 {
  padding: 0;
  border: 0;
  border-radius: 0;
}

.btn.type2 a {
	background: #22273e;
	color: #fff;
	vertical-align: middle;
	font-size: 100%;
	padding: 5px 15px;
	font-weight: bold;
}


.btn.type2.big a {
	border-bottom: 4px solid  #ffcc00;
	border-radius: 6px;
}

.btn.type3 a {
	background: #e0e4ee;
	vertical-align: middle;
	padding: 10px 30px;
	font-weight: bold;
  border-radius: 20px;
}
.btn.type3.big a {
	border-bottom: 4px solid  #f32e00;
	border-radius: 6px;
}

.btn.type2 button {
	background: #22273e;
  color: #fff;
	border: none;
	vertical-align: middle;
	border-radius: 3px;
	text-align: center;
	font-weight: bold;
}

.btn.type2.c button {
	margin: 0 auto;
}

.btn.type2 button:hover {
	opacity: 0.7;
}
.btn.type3.icon span {
  background: url(/shared/images/arrowRR.png) no-repeat left;
  padding-left: 20px;
}

.btn.type3 button {
	background: #444;
  border: none;
	line-height: 20px;
	vertical-align: middle;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	font-size: 110%;
	padding: 5px 20px;
	margin: 0 auto;
}

.btn.type3 button:hover {
	opacity: 0.7;
}

.btn.type4 a {
	background: #22273e;
	vertical-align: middle;
	color: #fff;
	font-weight: bold;
	font-size: 100%;
	display: inline-block;
  border-radius: 20px;
}


.btn.type4 a r {
}

.btn.type5 a {
	background: #ccc;
	vertical-align: middle;
	color: #fff;
	font-weight: bold;
	font-size: 100%;
	padding: 5px 15px;
	display: inline-block;
}

.btn.type6 a {
	position: relative;
	background: #fff !important;
	font-weight: bold;
	padding: 15px 40px 12px;
	line-height: 1;
  border-radius: 20px;
}


.btn.type6.big a {
	border-bottom: 4px solid  #ffcc00;
	border-radius: 6px;
}


.btn.type7 a {
	position: relative;
	background: #ffe400 !important;
	color: #000 !important;
	font-weight: bold;
	padding: 15px 40px 12px;
	padding-left: 60px;
	line-height: 1;
}

.btn.type7 a:before {
	content: url(/shared/images/arrowLbl.png);
	background: #fff;
	border-radius: 20px;
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	left: 30px;
	top: 50%;
	margin-top: -10px;
	line-height: 1.4;
}

.btn.type7.big a {
	border-bottom: 4px solid  #ffcc00;
	border-radius: 6px;
}
.btn.small a {
	padding: 5px;
	line-height: 1;
}

/* arrow
---------------------------------------------*/
.arrow a span {
    background: url(/shared/images/arrowRR.png) no-repeat left;
    padding-left: 20px;
}
.arrow li a {
    background: url(/shared/images/arrowRR.png) no-repeat left;
    padding-left: 20px;
}
.arrowRT {
    background: url(/shared/images/arrowRT.png) no-repeat left;
    padding-left: 15px;
}
.arrowRB {
    background: url(/shared/images/arrowRB.png) no-repeat left;
    padding-left: 15px;
}

.arwType1OB span {
	display: inline-block;
	background: url(/shared/images/arrowType1OB.png) no-repeat right center;
	padding-right: 20px;
}

.arwType2OR span {
	display: inline-block;
	background: url(/shared/images/arrowType2OR.png) no-repeat left center;
	padding-left: 20px;
}
.arwType2NL span {
	display: inline-block;
	background: url(/shared/images/arrowType2NL.png) no-repeat left center;
	padding-left: 20px;
}
.arwType2NR span {
	display: inline-block;
	background: url(/shared/images/arrowType2NR.png) no-repeat right center;
	padding-right: 20px;
}
.arwType2NT span {
	display: inline-block;
	background: url(/shared/images/arrowType2NT.png) no-repeat left center;
	padding-left: 20px;
}
.arwR {
	position: relative;
}

.arwR span {
	display: inline-block;
	padding-right: 20px;
}

.arwL {
	position: relative;
}

.arwL span {
	display: inline-block;
	padding-left: 20px;
}

.arwL span:after {
	content:  url(/shared/images/arrowLre.png);
	width: 15px;
	height: 15px;
	line-height: 1.3;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -8px;
	text-align: center;
}

.r .arwType2GR span {
	display: inline-block;
	background: url(/shared/images/arrowType2GR.png) no-repeat right center;
	padding-right: 20px;
}


.arrowBR a span {
	display: inline-block;
	background: url(/shared/images/arrowBR.png) no-repeat left center;
	padding: 10px;
	padding-left: 20px;
	font-weight: bold;
}

#main h2 .arrowWR a {
	color: #fff;
}

#main h2 .arrowWR a:hover {
	color: #fbbc05;
}

#main h2 .arrowWR a span {
	display: inline-block;
	background: url(/shared/images/arrowWR.png) no-repeat left center;
	padding: 10px;
	padding-left: 20px;
	font-weight: bold;
}

.icon.close {
	display: inline-block;
	background: url(/shared/images/iconClose.png) no-repeat left center;
	padding: 5px 10px;
	padding-left: 20px;
}

.ad {
	text-align: center;
}

.ad.wide p {
	width: 728px;
	height: 90px;
	background: #ccc;
	margin: 0 auto;
}

.attention {
	font-size: 79%;
	padding-left: 20px;
}

.attention a {
	color: #000;
}

.searchBtn {
	background: #0066cc;
	border-radius: 5px;
	text-align: center;
	display: block;
	padding: 5px;
}

.acdContent {
  display: none;
}

img.iconL {
	max-width: 120px;
	max-height: 120px;
}

ul.disc li {
	padding: 0em 25px 1em;
	list-style: disc;
}

ul.ul01 {
}

ul.ul01 li {
	padding: 20px;
  border-top: 1px solid #edeff4;
}
ul.ul01 li a {
	display: block;
}

ul.ul02 {
}

ul.ul02 li a {
	display: block;
	padding: 2px 0 5px 25px;
}
ul.ul02 li {
	position: relative;
}

ul.ul02 li:before {
	content: url(/shared/images/arrowRbl.png);
	background: #fff;
	border-radius: 15px;
	width: 15px;
	height: 15px;
	position: absolute;
	text-align: center;
	top: 50%;
	margin-top: -10px;
	padding: 1px 0 1px 3px;
	line-height: 1.2;
}

ul.ul03 li a {
	background: url(/shared/images/arrowType2GrR.png) no-repeat left 6px;
	display: block;
	padding: 3px 0 3px 15px;
}

.dl01 {
	display: flex;
	-js-display: flex;
	height: 2.5em;
	line-height: 1.3;
	width: 100%;
	margin-bottom: 30px;
}

.dl01 dt {
	width: 33%;
	border-bottom: 5px solid #444;
	vertical-align: middle;
	background: #eee;

}
.dl01 dd {
	border-bottom: 5px solid #444;
	vertical-align: middle;
	padding-left: 15px;
}

.dl01 a {
	margin: 10px;
	padding-left: 0;
	display: block;
	vertical-align: middle;
	position: relative;
	color: #444;
	
}

.dl02 {
	display: flex;
	-js-display: flex;
	height: 2.5em;
	line-height: 1.3;
	width: 100%;
	margin: 0 auto 30px;
  position: relative;
}

.dl02 dt {
	vertical-align: middle;
	background: #444;
	color: #fff;
  width: 250px;
  padding: 10px;

}
.dl02 dd {
	vertical-align: middle;
  width: 490px;
}

.dl02 a {
	margin: 10px;
	padding-left: 0;
	display: block;
	vertical-align: middle;
	position: relative;
	color: #444;
	
}

.dl03 {
	display: flex;
	-js-display: flex;
	height: 2.5em;
	line-height: 1.3;
	clear: both;
	width: 100%;
	margin-bottom: 10px;
}

.dl03 dt {
	width: 33%;
	padding: 0 10px;
	display: table-cell;
	vertical-align: middle;
	background: #eee;
	border-bottom: 1px solid #444;

}
.dl03 dd {
	padding: 0 10px;
	display: table-cell;
	vertical-align: middle;
	border-bottom: 1px solid #444;
}

.dl04 dt {
	padding: 20px 0 0;
	margin-bottom: 10px;
	vertical-align: middle;
	border-bottom: 2px solid #444;
	font-size: 110%;
	font-weight: bold;

}
.dl04 dd {
	padding: 5px 10px;
}

.dl04 dd:nth-child(even) {
	background: #eee;
}

.dl05 {
	display: table;
	height: 2.5em;
	line-height: 1.3;
	width: 100%;
	margin: 0 auto 30px;
}

.dl05 dt {
	width: 33%;
	display: table-cell;
	vertical-align: middle;
	background: #22273e;
	color: #fff;

}
.dl05 dd {
	display: table-cell;
	vertical-align: middle;
  text-align: left;
}

.dl05 a {
	margin: 10px;
	padding-left: 0;
	display: block;
	vertical-align: middle;
	position: relative;
	color: #444;
	
}

.table01 {
	border: 1px solid #0066cc;
	border-width: 1px 1px 0 0;
}

.table01 th,
.table01 td {
	border: 1px solid #0066cc;
	border-width: 0 0 1px 1px;
}

.table01 th {
	text-align: center;
	background: #E7F3FF;
}



.table02 {
	width: 100%;
	border: 1px solid #0066cc;
	border-width: 1px 1px 0 0;
}

.table02 th,
.table02 td {
	border: 1px solid #0066cc;
	border-width: 0 0 1px 1px;
	padding: 10px;
}

.table02 th {
	background: #E7F3FF;
	text-align: left;
}

.border01 {
	border: 1px solid #22273e;
}

.border02 {
	border-bottom: 3px solid #000;
}

.border03 {
	border-right: 1px solid #fff;
}

.border04 {
	border-bottom: 5px solid #000;
}

.border05 {
	border-bottom: 1px solid #000;
}

.border06 {
	border-bottom: 1px solid #efefef;
}

.border07 {
	border-bottom: 1px solid #ccc;
}
.radio {
}

.bg01 {
	background: #22273e;
}

.bg02 {
	background: #f1bfc4;
}

.bg03 {
	background: #d8ddea;
}

.bg04 {
	background: #e40015 !important;
}

.bgW {
	background: #fff;
}


.frame01 {
	border: 2px solid #000;
}
.frame01 h3 {
	background: #ededed;
	border-bottom: 0!important;
	padding: 10px 20px;
}
.frame01 h4 {
	border-bottom: 2px solid #000;
	font-size: 1rem;
}

.color1 {
	color: #e40015;
}

.color2 {
	color: #f00;
}

.color3 {
	color: #999;
}

.color4 {
	color: #edeff4;
}

.colorF {
	color: #fff;
}

label {
  font-weight: normal;
}
