/* フォント
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 400,500,700;

	font-family: "SeptemberN-03", "Kiwi Maru";
	font-weight: 300,400,500;

	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400,800;

	font-family: "DotGothic16", sans-serif;

	font-family: "Fredericka the Great", serif;
 */

@font-face{
	font-family: "SeptemberN-03";
	font-weight: normal;
	src:url("https://www.font-stream.com/fontdata/SeptemberN-03.woff2?token=jpykhtwoo_1ntcsx") format("woff2"),
	url("https://www.font-stream.com/fontdata/SeptemberN-03.woff?token=jpykhtwoo_1ntcsx") format("woff");
}
@font-face{
	font-family: "OtomeMincho";
	font-weight: normal;
	src:url("https://www.font-stream.com/fontdata/OtomeMincho-R.woff2?token=jpykhtwoo_1ntcsx") format("woff2"),
	url("https://www.font-stream.com/fontdata/OtomeMincho-R.woff?token=jpykhtwoo_1ntcsx") format("woff");
}


/* 基礎 */
* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
a {
	color: #ebbaf4;
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 500;
	text-decoration: none;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
a:hover {
	color: #173a7e;
}
nav li {
	list-style: none;
}

/* ボディ */
html {
	width: 100%;
	height: 100%;
	font-size: 16px;
	line-height: 35px;
	font-family: "SeptemberN-03", "Kiwi Maru";
	font-weight: 300;
	background-image: url("img/background.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	overflow: hidden;
}
body {
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	scrollbar-width: none;
	margin: 0 auto;
}
body::-webkit-scrollbar {
	display: none;
}
@media screen and (min-width: 916px) {
	body {
		width: 1415px;
		font-size: 1.1rem;
	}
}
i:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	margin-right: 4px;
}

/* 全体ラップ */
div.wrap {
	position: relative;
	width: 100%;
	min-height: 0;
	background-color: #fdfbfc;
	mask: 
		linear-gradient(-90deg,#0000 50px,#000 0) 25px,
		radial-gradient(25px,#000 calc(100% - 1px),#0000) 50%/50px 46.25px space repeat;
	-ms-overflow-style: none;
	z-index: 0; /* 擬似要素の重なり制御に必要 */
}
div.wrap::before {/* 擬似要素で内側影を上に重ねる */
	content: '';
	position: absolute;
	inset: 0; /* top:0; right:0; bottom:0; left:0; と同じ */
	box-shadow: inset 0 0 20px 5px rgba(80,65,76,.5);
	z-index: 1; /* 子要素より上 */
	pointer-events: none; /* クリック操作をブロックしない */
}

/* ヘッダー */
header {
	position: relative;
	width: 100%;
	background-image: url("img/header.png");
	background-size: cover;
	background-position: right 25% bottom 0;
	aspect-ratio: 2 / 1;
	box-shadow: inset 0 -10px 10px -5px #fdfbfc;
	padding: 10px 30px 40px;
	z-index: 10;
}
header a.logo {
	position: absolute;
	left: 10px;
	bottom: 10px;
	width: 70%;
	display: block;
}
header a.logo:hover {
	transform: scale(1.1);
}
header a.logo img {
	width: 100%;
}
@media screen and (min-width: 916px) {
	header a.logo {
		width: 50%;
		left: 30px;
		bottom: 62%;
	}
}

/* グローバルナビ */
.forPC {
	display: none;
}
.forPhone {
	display: block;
}
@media screen and (min-width: 916px) {
	.forPC {
		display: block;
	}
	.forPhone {
		display: none;
	}
}
header nav ul li a, li.sub_nav label {
	font-family: "Fredericka the Great", serif;
}
header nav ul li span.ruby {
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 400;
}

/* グローバルナビ:PC */
.forPC {
	position: absolute;
	bottom: 35px;
	width: calc(100% - 80px);
	text-align: center;
}
.forPC ul:not(.sub_nav ul) {
	display: flex;
	justify-content: center;
}
.forPC ul li {
	line-height: 1.4rem;
	text-align: center;
	padding: 0 15px;
}
.forPC ul li:not(:first-child) {
	border-left: 1px solid #ebbaf4;
}
.forPC ul li a {
	color: #fdfbfc;
	display: block;
	background-color: rgba(23,58,126,.5);
	border-radius: 3px;
	box-shadow: 0 0 5px 3px rgba(23,58,126,.5);
}
.forPC span.ruby {
	color: #fbe213;
	display: block;
	font-size: .8rem;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.forPC ul li.current > a {
	color: #173a7e;
	background-color: rgba(231,233,110,.5);
	box-shadow: 0 0 5px 3px rgba(231,233,110,.5);
}
.forPC li.current > a span.ruby {
	color: #181b39;
}
.forPC ul li a:hover {
	color: #fbe213;
	background-color: rgba(114,90,164,.5);
	box-shadow: 0 0 5px 3px rgba(114,90,164,.5);
}
.forPC ul li a:hover span.ruby {
	color: #ebbaf4;
}

/* グローバルナビ:PCドロップダウン */
.forPC li.sub_nav {
	position: relative;
	cursor: pointer;
}
.forPC li.sub_nav ul {
	position: absolute;
	top: 45px;
	left: 0;
	background-color: rgba(24,27,57,.7);
	box-shadow: 0 0 5px 3px rgba(24,27,57,.7);
	border-radius: 5px;

	/* ▼ ふわっと表示用 ▼ */
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
/* ▼ ホバー時に表示 ▼ */
.forPC li.sub_nav:hover ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.forPC li.sub_nav ul li {
	display: block;
	border: none;
	padding: 10px 15px;
}

/* グローバルナビ:Phone */
.forPhone {
	position: absolute;
	top: 10px;
	right: 20px;
}
input.drawer_hidden {/* チェックボックスを非表示にする */
	display: none;
}
label.drawer_open {/* ハンバーガーアイコンの設置スペース */
	cursor: pointer;
	position: relative;
	width: 50px;
	height: 40px;
	display: flex;
	justify-content: center;
	border: 1px solid #ebbaf4;
	border-radius: 5px;
	background-color: rgba(23,58,126,.5);
	align-items: center;
	z-index: 10000;
}
label.drawer_open span, label.drawer_open span:before, label.drawer_open span:after {/* ハンバーガーメニューのアイコン */
	content: '';
	position: absolute;
	width: 25px;
	height: 3px;
	display: block;
	background: #ebbaf4;
	border-radius: 3px;
	transition: 0.5s ease-in-out;
}
label.drawer_open span:before {/* 三本線の一番上の棒の位置調整 */
	bottom: 8px;
}
label.drawer_open span:after {/* 三本線の一番下の棒の位置調整 */
	top: 8px;
}
#drawer_input:checked ~ label.drawer_open span {/* アイコンがクリックされたら真ん中の線を透明にする */
	background: rgba(255, 255, 255, 0);
}
#drawer_input:checked ~ label.drawer_open span::before {/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
	bottom: 0;
	transform: rotate(45deg);
}
#drawer_input:checked ~ label.drawer_open span::after {
	top: 0;
	transform: rotate(-45deg);
}

/* ハンバーガーメニューデザイン*/
.forPhone ul li:not(:first-child) {
	border-top: 1px dashed #173a7e;
}
.forPhone .nav_content {
	position: fixed;
	top: 0;
	left: calc(100% + 30px); /* メニューを画面の外に飛ばす */
	width: 100%;
	height: calc(50% - 30px);
	background-color: #f3ebf0;
	border-radius: 10px;
	box-shadow: 0 0 30px 30px #f3ebf0;
	padding: 40px;
	z-index: 9999;
	transition: .5s ease-in-out;
}
#drawer_input:checked ~ .nav_content {/* アイコンがクリックされたらメニューを表示 */
	left: 0;/* メニューを画面に入れる */
}
.forPhone ul li {
	line-height: 3rem;
}
.forPhone ul li a {
	display: block;
	color: #173a7e;
	font-size: 1.4rem;
}
.forPhone span.ruby {
	color: #181b39;
	font-size: 1.2rem;
	margin-left: 10px;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.forPhone ul li a:hover, .forPhone ul li a:hover span.ruby {
	color: #725aa4;
}

/* グローバルナビ:PCドロップダウン */
.forPhone li.sub_nav input {
  display: none;
}
.forPhone li.sub_nav label {
	position: relative;
	cursor: pointer;
	display: block;
	color: #173a7e;
	font-size: 1.4rem;
}
.forPhone li.sub_nav label:before, .forPhone li.sub_nav label:after {
	position: absolute;
	content: '';
	pointer-events: none;
	top: 50%;
	transform: translate(50%, -50%);
	transition: transform .4s ease-in-out;  
}
.forPhone li.sub_nav label:before {
	right: 20px;
	width: 15px;
	height: 3px;
	border-bottom: 3px solid #ebbaf4;
}
.forPhone li.sub_nav label:after {
	right: 21.5px;
	top: calc(50% + 2px);
	width: 3px;
	height: 15px;
	border-right: 3px solid #ebbaf4;
}
.forPhone li.sub_nav input:checked + label:after {
	transform: translate(50%, -50%) rotate(450deg);
	right: 21.5px;
	top: 50%;
}
.forPhone li.sub_nav ul {
	height: 0;
	visibility: hidden;
	padding-left: 30px;
	transition: .5s ease-in-out;
	opacity: 0;
}
.forPhone li.sub_nav input:checked ~ ul {
	height: 100px;
	visibility: visible;
	opacity: 1;
}

/* メイン */
div.content_flex {
	position: relative;
	width: 100%;
  min-height: 100%;
	background-color: #fdfbfc;
	padding: 20px 25px 50px;
	z-index: 0;
}
@media screen and (min-width: 916px) {
	div.content_flex:not(body.pokeca div.content_flex):not(body.zasshue div.content_flex) {
		display: flex;
	}
}
main {
	position: relative;
	width: 100%;
  min-height: 0;
	background-color: #fdfbfc;
	z-index: 0;
}
body.pokeca main {
	width: 100%;
	margin-bottom: 30px;
}
@media screen and (min-width: 916px) {
	div.content_flex {
		padding: 30px 30px 50px;
}
	main {
		width: 915px;
		padding: 10px;
	}
	body.zasshue main {
		width: 1350px;
	}
}
.main_wrap {
	width: 100%;
	background-color: #f3ebf0;
	border: 3px dashed #173a7e;
	border-radius: 10px;
	box-shadow: 0 0 10px 10px #f3ebf0;
	padding: 15px;
}
article {
	width: 100%;
	margin-bottom: 50px;
}
section {
	width: 100%;
	margin-bottom: 80px;
}
div.spacer30px {
	width: 100%;
	height: 30px;
}
div.spacer50px {
	width: 100%;
	height: 50px;
}
hr {
	width: 70%;
	border: none;
	border-top: dotted 3px rgba(23,58,126,.5);
	margin: 30px auto;
}
b {
	color: #173a7e;
	font-family: "OtomeMincho", "Kaisei Decol";
}
i.fa-clock-rotate-left:before {
	content: '\f1da';
}
@media screen and (min-width: 916px) {
	.main_wrap {
		padding: 30px;
	}
	body.zasshue .main_wrap {
		padding: 20px 10px;
	}
	section {
		margin-bottom: 100px;
	}
	section.game_wrap {
		padding: 0 20px;
	}
}

/* アイコン */
i.my_icon {
	width: 30px;
	height: 30px;
	display: inline-block;
	background-size: cover;
	font-size: 3rem;
	vertical-align: middle;
	margin-top: -4px;
}
i.monbo {
	background-image: url("img/monbo.png");
}
i.spabo {
	background-image: url("img/spabo.png");
}
i.hybo {
	background-image: url("img/hybo.png");
}
i.masbo {
	background-image: url("img/masbo.png");
}

/* 見出し */
h1, h2, h3, h4 {
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 700;
	color: #173a7e;
}
h2 i.my_icon, h3 i.my_icon, h4 i.my_icon {
	margin-right: 10px;
}

/* 見出し:h1 */
main h1:not(.scene-title) {
	position: relative;
	padding: 1.5rem;
	font-size: 1.6rem;
	border: 2px solid #173a7e;
	background: #fdfbfc;
	border-radius: 10px;
	text-align: center;
	margin: 40px 0;
}
main h1:not(.scene-title):before,
main h1:not(.scene-title):after {
	position: absolute;
	content: '';
}
main h1:not(.scene-title):before {
	top: -40px;
	left: calc(50% - 40px);
	width: 80px;
	height: 80px;
	border: 2px solid #173a7e;
	border-radius: 50%;
	background: #fdfbfc;
}
main h1:not(.scene-title):after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fdfbfc;
	border-radius: 10px;
}
main h1:not(.scene-title) i {
	position: absolute;
	z-index: 1;
	top: -16px;
	left: calc(50% - 13px);
	text-align: center;
}
main h1:not(.scene-title) span {
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 916px) {
	main h1:not(.scene-title) {
		font-size: 1.8rem;
	}
}

/* 見出し:h2 */
main h2:not(.toc-header h2):not(.scene-title) {
	position: relative;
	padding: .6em;
	padding-left: 25px;
	margin-bottom: 30px;
}
main h2:not(.toc-header h2):not(.post-title):not(.scene-title) {
	position: relative;
	width: 100%;
	font-size: 1.5rem;
	background: -webkit-repeating-linear-gradient(-45deg, #fbe213, #fbe213 4px,#f3ebf0 3px, #f3ebf0 8px);
	background: repeating-linear-gradient(-45deg, #fbe213, #fbe213 4px,#f3ebf0 3px, #f3ebf0 8px);
	border-radius: 7px;
	padding: .6em;
	padding-left: 25px;
	margin-bottom: 30px;
}
main h2:not(.toc-header h2):not(.post-title):not(.scene-title):after {
	position: absolute;
	content: '';
	top: 100%;
	left: 30px;
	border: 15px solid transparent;
	border-top: 15px solid #fbe213;
	width: 0;
	height: 0;
}
main h2:not(.scene-title) span {
	width: calc(100% - 45px);
	display: inline-block;
	margin-left: 45px;
}
main h2:not(.scene-title):not(.toc-header h2) i.my_icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 0;
}
@media screen and (min-width: 916px) {
	main h2:not(.scene-title) {
		font-size: 1.6rem;
	}
}

/* 見出し:h3 */
main h3:not(.scene-title) {
	position: relative;
	color: #f3ebf0;
	display: inline-block;
	background-color: #725aa4;
	border-radius: 50px 10px 10px 50px;
	padding: .5em .9em;
	padding-right: 1.1em;
	margin-bottom: 20px;
}

/* 見出し:h4 */
main h4:not(.scene-title):not(ul.pokedex h4) {
	display: inline-block;
	position: relative;
	padding: 0 2.5em;
	margin-left: 5px;
	margin-bottom: 20px;
}
main h4:not(.scene-title):not(ul.pokedex h4):before, main h4:not(.scene-title):not(ul.pokedex h4):after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	width: 30px;
	height: 3px;
	background-color: #ebbaf4;
	border-radius: 5px;
}
main h4:not(.scene-title):not(ul.pokedex h4):before {
	left: 0;
}
main h4:not(.scene-title):not(ul.pokedex h4):after {
	right: 0;
}

/* 見出し:h1 */
div.update {
	width: 100%;
	text-align: right;
	padding: 20px;
	margin: 20px 0;
}
div.update span.update-title {
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 700;
	color: #173a7e;
}

/* 目次 */
section.toc-section {/* 目次:セクション全体 */
	width: 90%;
  border: 2px solid rgba(23,58,126,.2);
  border-radius: 10px;
  padding: 1em;
  margin: 0 auto 80px;
  background-color: #fdfbfc;
  box-shadow: 0 4px 10px rgba(23,58,126,.1);
  transition: all 0.4s ease;
  overflow: hidden;
}
div.toc-header {/* 目次:ヘッダー部分(タイトル＋ボタン) */
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 70%;
  margin: 0 auto;
}
div.toc-header h2 {/* 目次:ヘッダータイトル */
  font-size: 1.2em;
  margin: 0;
}
div.toc-header button {/* 目次:ヘッダーボタン */
  background-color: #fbe213;
  border: none;
  color: #173a7e;
  border-radius: 5px;
  padding: 0.3em 1em;
  cursor: pointer;
  transition: background-color 0.3s ease;
  box-shadow: 0 0 3px #fbe213;
}
section.toc-section.open div.toc-header button {
  background-color: #725aa4;
  box-shadow: 0 0 3px #725aa4;
  color: #fdfbfc;
}
div.toc-header button:hover, section.toc-section.open div.toc-header button:hover {
  background-color: #ebbaf4;
  box-shadow: 0 0 3px #ebbaf4;
}
nav.toc-content {/* 目次:リスト(閉じた状態は非表示) */
  max-height: 0;
  opacity: 0;
  overflow: scroll;
  transition: all 0.6s ease;
  margin-top: 15px;
}
section.toc-section.open nav.toc-content {/* 目次:リスト開いた状態 */
  max-height: 1000px; /* 大きめにしてアニメーション表示 */
  opacity: 1;
}

/* 目次:リスト内デザイン */
nav.toc-content ul {/* 目次:リスト全体 */
  list-style: none;
  margin: 0;
  padding-left: 0.5em;
}
nav.toc-content li {/* 目次:リスト */
  margin: 0.2em 0;
}
nav.toc-content li a:before {
  content: '';
	width: 15px;
	height: 15px;
	display: inline-block;
	background-size: cover;
	vertical-align: middle;
	margin-right: 10px;
}
nav.toc-content a {
  text-decoration: none;
  transition: color 0.2s ease;
}
nav.toc-content li.h2 a {
  font-weight: bold;
  color: rgba(24,27,57,1);
}
nav.toc-content li.h3 a {
  padding-left: 1em;
  color: rgba(24,27,57,.8);
}
nav.toc-content li.h4 a {
  padding-left: 2em;
  color: rgba(24,27,57,.6);
}
nav.toc-content li.h2 a:before {
	background-image: url("img/ハイボアイコン.png");
}
nav.toc-content li.h3 a:before {
	background-image: url("img/スパボアイコン.png");
}
nav.toc-content li.h4 a:before {
	background-image: url("img/モンボアイコン.png");
}
nav.toc-content li a:hover {
  color: #173a7e;
}
@media screen and (min-width: 916px) {
	.toc-section {
		width: 80%;
	}
/* ヘッダー部分（タイトル＋ボタン） */
	.toc-header {
		width: 30%;
	}
}

/* 太字 */
main strong {
	font-family: "OtomeMincho", "Kaisei Decol";
	font-weight: 500;
	color: #173a7e;
}

/* 画像 */
img {
	width: 100%;
	border-radius: 10px;
}

/* リスト */
main ul.kijinai_list {
	width: 90%;
	background-color: rgba(23,58,126,.2);
	border: 2px dashed #fbe213;
	border-radius: 10px;
	box-shadow: 0 0 10px 10px rgba(23,58,126,.2);
	padding: 10px 15px;
	margin: 50px auto;
}
main ul.kijinai_list li {
	list-style: none;
}
main ul.kijinai_list li:before {
	content: '';
	width: 15px;
	height: 15px;
	display: inline-block;
	background-image: url("img/マスボアイコン.png");
	background-size: cover;
	vertical-align: middle;
	margin-right: 10px;
}
i.my_icon {
	font-size: 3rem;
	margin-top: -4px;
}

/* 説明リスト */
main dl {
	width: 100%;
	margin: 15px 0;
}
main dl dt {
	float: left;
	text-align: right;
}

/* 記事 */
main figure {
	width: 100%;
	margin: 10px auto 30px;
}
main div.meta {/* 記事一覧:日付 */
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 800;
	color: rgba(114,90,164,.4);
	text-align: right;
	padding: 20px;
}
main div.meta span.update {/* 記事一覧:日付 */
	margin-left: 20px;
}
@media screen and (min-width: 916px) {
	main figure {
		width: 90%;
	}
}

/* 記事一覧 */
div.post_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div.post_list div.post {
	width: calc(50% - 40px);
	background: #fdfbfc;
	border: 1px solid rgba(114,90,164,.2);
	border-radius: 3px;
	padding: 15px;
	margin: 0 20px 20px;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
div.post_list div.post:hover {
	box-shadow: 0 4px 20px rgba(114,90,164,.25);
	transform: translateY(-5px);
}
div.post_list .thumbnail {
	margin-bottom: 10px;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
div.post_list .thumbnail:hover {
	transform: scale(1.1);
}
div.post_list h2 {/* 記事一覧:タイトル */
	font-size: 1.3rem;
	padding: 10px 13px 0;
	margin: 0px;
	margin-bottom: 20px;
}
div.post_list h2 span {
	width: calc(100% - 35px);
	margin-left: 35px;
}
div.post_list h2 a {
	color: #173a7e;
}
div.post_list h2 a:hover {
	color: #ebbaf4;
}
div.post_list div.meta {/* 記事一覧:日付 */
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 800;
	color: rgba(114,90,164,.4);
	text-align: right;
	padding: 20px;
}

/* フッター */
footer {
	position: relative;
	width: 100%;
	min-height: 10%;
	background-color: #ebbaf4;
	box-shadow: 0 -10px 10px 5px #ebbaf4;
	padding: 10px 40px 30px;
	z-index: 0;
}
footer nav ul {
	color: #725aa4;
	padding: 10px 0;
	margin-bottom: 30px;
}
footer nav ul li {
	text-align: center;
	padding: 0 15px;
}
footer a {
	color: #725aa4;
	font-family: "Kiwi Maru", serif;
	font-weight: 400;
}
footer div {
	width: 100%;
	text-align: center;
}
@media screen and (min-width: 916px) {
	footer nav ul {
		color: #725aa4;
		display: flex;
		justify-content: center;
		padding: 10px 0;
		margin-bottom: 30px;
	}
	footer nav ul li:not(:first-child) {
		border-left: 1px solid #173a7e;
	}
}

/* サイドバー */
aside {
	width: 100%;
	margin-top: 20px;
}
aside > div {
	width: 100%;
	background-color: #f3ebf0;
	border: 3px dashed #173a7e;
	border-radius: 10px;
	box-shadow: 0 0 10px 5px #f3ebf0;
	padding: 30px;
	margin: 0 auto 20px;
}
aside section {
	margin: 0;
}
aside figure {
	width: 100%;
}
body.pokeca aside, body.zasshue aside {
	width: 100%;
	align-items: start;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
@media screen and (min-width: 916px) {
	aside {
		width: 450px;
		font-size: 1rem;
		padding: 10px;
		margin-top: 0;
		margin-left: 40px;
	}
	body.pokeca aside > div, body.zasshue aside > div {
		width: 400px;
		height: auto;
	}
}

/* サイドバー:見出し */
aside h3, aside h4, aside h5 {
  position: relative;
	width: 100%;
	font-family: "Fredericka the Great", serif;
	font-size: 1.3rem;
  background: rgba(23,58,126,.5);
  box-shadow: 0px 0px 0px 5px rgba(23,58,126,.5);
  border: dashed 2px #173a7e;
	border-radius: 2px;
	text-align: center;
  padding: .2em .5em;
  margin-bottom: 30px;
}
aside h3:after, aside h4:after, aside h5:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #f3ebf0 #f3ebf0 #ebbaf4;
  box-shadow: 1px 1px 1px rgba(23,58,126,.15);
}
aside h3 {
  color: #fdfbfc;
}
aside h4 {
  background: rgba(251,226,19,.3);
  box-shadow: 0px 0px 0px 5px rgba(251,226,19,.3);
  border: dashed 2px #173a7e;
}
aside h5 {
	color: #173a7e;
  background: rgba(114,90,164,.3);
  box-shadow: 0px 0px 0px 5px rgba(114,90,164,.3);
  border: dashed 2px #173a7e;
}

/* サイドバー:プロフィール */
aside div.profile a {
  width: 100%;
	display: block;
	font-family: "OtomeMincho", "Kaisei Decol";
	color: #173a7e;
	text-align: center;
}
aside div.profile a:hover {
	color: #ebbaf4;
}
aside div.profile figure {
	padding: 50px;
	padding-top: 10px;
}
aside div.profile figcaption {
  font-size: 1.2rem;
}
aside div.profile img {
  width: 100%;
	border-radius: 500px;
	border: solid 5px #333b74;
	box-shadow: 0 0 5px #333b74;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
aside div.profile img:hover {
	animation: poyo .6s;
}
@keyframes poyo {
	from, to { transform: none; }
	10% { transform: scale(.8); }
	40% { transform: scale(1.1); }
	60% { transform: scale(.96); }
	80% { transform: scale(1.02); }
}
aside div.profile img:hover {
	animation: push .6s;
}
@keyframes push {
	from, to { transform: none; }
	10% { transform: scale(.8); }
	40% { transform: scale(1.1); }
	60% { transform: scale(.96); }
	80% { transform: scale(1.02); }
}

/* プロフィール */
.best-poke {
	display: flex;
	flex-wrap: wrap;
	margin: 10px 0 30px;
}
.best-poke figure {
	width: calc(50% - 10px);
	display: table;
	text-align: center;
	margin: 5px;
}
.best-poke figcaption.star {
	color: #173a7e;
}
@media screen and (min-width: 916px) {
	.best-poke figure {
		width: calc(25% - 10px);
	}
}

/* ページトップボタン */
#page_top {
	width: 70px;
	height: 70px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background: radial-gradient(#173a7e, #725aa4);
	border: 1px solid #fbe213;
	border-radius: 20px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1); /* ← トランジションのキモ！ */
	z-index: 9999;
}
/* 表示状態 */
#page_top.show {
	opacity: 0.6;
	visibility: visible;
	transform: translateY(0);
}
#page_top:before {/* Font Awesome */
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f102';
	font-size: 35px;
	color: #ebbaf4;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}
@media screen and (min-width: 916px) {
	#page_top {
		right: 560px;
		bottom: 20px;
	}
}