@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Quicksand&display=swap');
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

:root {
	--main-color1: #f9b300;
	--main-color2: #ffe68c;
	--main-color3: #f1277c;
	--main-text: #5F513C;
	--link-color: #6a270b;
	--bg-color: #FFFFFF;
}

/* ******************************************* */
/*		  total
/* ******************************************* */
/* For modern browsers */
section { margin-top: 2rem; margin-bottom: 4rem; }
section:nth-of-type(1) { margin-top: 0rem; }
article article { margin-top: 1rem; margin-bottom: 2rem; }
article article:nth-last-of-type(1) { margin-bottom: 0rem; }
.bg_on {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 2rem !important;
	padding-bottom: 4rem !important;
	margin-left: calc( ( 100vw - 100% ) / -2 ) !important;
	margin-right: calc( ( 100vw - 100% ) / -2 ) !important;
	padding-left: calc( ( 100vw - 100% ) / 2 ) !important;
	padding-right: calc( ( 100vw - 100% ) / 2 ) !important;
}
.parts_on {
	margin-left: calc( ( 100vw - 100% ) / -2 ) !important;
	margin-right: calc( ( 100vw - 100% ) / -2 ) !important;
	padding-left: calc( ( 100vw - 100% ) / 2 ) !important;
	padding-right: calc( ( 100vw - 100% ) / 2 ) !important;
}
.fitting {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba( 255, 255, 255, 0.85 );
	top: 0px; left: 0px;
	z-index: 10000;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.loading p { font-weight: bold; text-align: center;}

.commodus {
	position: fixed;
	bottom: 20%;
	right: -150px; width: 120px; height: 120px;
	z-index: 1000;
}

.switch {
	position: relative;
	display: inline-block;
	width: 40px; height: 20px;
	border-radius: 20px;
	overflow: hidden;
	background: #DDD;
	box-shadow: 1px 1px 3px rgba( 0, 0, 0, 0.4 );
	transition: 0.2s;
	cursor: pointer;
}
.switch::before {
	content: "";
	display: block;
	position: absolute;
	background: #FFF;
	border-radius: 20px;
	top: 0px; left: 0px;
	width: 20px; height: 20px;
	box-shadow: 1px 1px 3px rgba( 0, 0, 0, 0.4 );
	transition: 0.2s;
}
.switch.on {
	background: #91d4fc;
}
.switch.on::before {
	top: 0px; left: 20px;
	background: var(--main-color1);
}

/* ******************************************* */
/*		  font
/* ******************************************* */
.hiragino { font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; }
.meiryo { 	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif; }
.mincho {	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.girl { color: #ff79bd; font-weight: bold; }
.boy { color: #20a8ff; font-weight: bold; }
.hatena { color: #999999; font-weight: bold; }

/* ******************************************* */
/*		  body
/* ******************************************* */
body {
	font-family: 'Roboto', 'Kiwi Maru', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #303231;
	word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: points;
}
/* ******************************************* */
/*		  container wrapper section etc
/* ******************************************* */
#container {
	min-width: 1150px;
	min-height: 100vh;
	margin: 0 auto;
	overflow: hidden;
	background: var(--bg-color);
}
/* wrapper */
.wrapper {
	width: 1150px;
	margin: 0px auto;
}
.lower_wrapper {
	width: 880px;
	margin: 0px auto;
}
strong { color: var(--main-color1); font-size: 1.2em; }
.invisible { display: none !important; }
rt { position: relative; top: 3px; transform: translateY( 3px ); }

a.textlink { color: #0080CB; text-decoration: underline; display: inline-block; }
a.textlink:hover { color: #0080CB; text-decoration: none; }
.all_flex { display: flex; justify-content: space-between; align-items: center; }

@media(min-width: 737px){
	.pc_left { float: left; }
	.pc_right { float: right; }
	.pc_flex { display: flex; justify-content: space-between; }
	.pc_flexs { display: flex; justify-content: space-between; align-items: center; }
	.pc_flexend { display: flex; justify-content: flex-end; align-items: center; }
	.pc_flex .orders,
	.pc_flexs .orders { order: 50; }
	.c0 { display: none; }
	.c1 { width:  5.83%; margin: 0 auto; }
	.c2 { width: 14.16%; margin: 0 auto; }
	.c3 { width: 22.50%; margin: 0 auto; }
	.c4 { width: 30.83%; margin: 0 auto; }
	.c5 { width: 39.16%; margin: 0 auto; }
	.c6 { width: 47.50%; margin: 0 auto; }
	.c7 { width: 55.83%; margin: 0 auto; }
	.c8 { width: 64.16%; margin: 0 auto; }
	.c9 { width: 72.50%; margin: 0 auto; }
	.c10 { width: 80.83%; margin: 0 auto; }
	.c11 { width: 90%; margin: 0 auto; }
	.c12 { width: 100%; margin: 0 auto; }
}
@media(max-width: 1149px){
	body {
		font-size: 14px;
		line-height: 1.4;
		-webkit-text-size-adjust: 100%;
	}
	#container { min-width: 100%; }
	.wrapper { width: 100%; padding: 0 3vw; }
	.padding_wrapper { padding: 0 10px; margin: 0px auto; }
	.lower_wrapper {
		width: 100%;
		padding: 1px 3.5%;
		background: #FFFFFF;
	}
	.white_wrapper {
		margin: 4vw auto;
		background: #FFFFFF;
		padding: 3vw;
	}
}

/* ******************************************* */
/*		  汎用素材
/* ******************************************* */
@media( min-width: 1150px ) {
	.main_area {
		display: flex;
		margin: 0 -20px 80px;
		align-items: flex-start;
	}
	.main_area > * { margin: 0 20px; }
	.left_column { order: 1; width: calc( 25% - 40px ); }
	.main_column { order: 2; flex: 1; }
	.right_column { order: 3; width: calc( 25% - 40px ); }
}
.main_column .image { box-shadow: 3px 3px 8px rgba( 0, 0, 0, 0.3); }
/* ************* 囲いボックス **************/
.padding_box,
.border_box,
.border_box2 {
	position: relative;
	background: rgba(255, 255, 255, 0.85 );
	padding: 30px;
	box-shadow: 2px 2px 2px 2px rgba( 0, 0, 0, 0.3 );
	z-index: 0;
}
.padding_box,
.border_box2 { padding: 24px 40px; }
.border_box2 { border: 6px solid var(--main-color1); }
.border_box::before {
	position: absolute;
	content: "";
	width: calc( 100% - 16px );
	height: calc( 100% - 16px );
	top: 6px;
	left: 6px;
	border: 2px dashed #ccc;
	z-index: -1;
}
.border_contents {
	border: 10px solid var(--main-color1);
	padding: 40px;
	box-shadow: 2px 2px 2px 2px rgba( 0, 0, 0, 0.3 );
	margin: 40px auto;
}
.underline_box {
	position: relative;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #ccc;
}
.comment_box {
	margin: 20px auto;
	padding: 1.5rem;
	border: 1px solid #ddd;
	box-shadow: 3px 3px 1px rgba( 0, 0, 0, 0.3 );
}
.comment_box p {
	line-height: 45px;
	font-size: 18px;
	background: url('/_images/note1.png');
	background-size: 4px 45px;
}
.contents_box1 { padding: 0 1rem; }
.contents_box2 { padding: 0 2rem; }
.contents_box3 { padding: 0 2.5rem; }
@media(max-width:1040px){
	.padding_box { padding: 3vw; }
	.border_box { padding: 25px; }
	.border_box2 { padding: 20px; }
	.contents_box1 { padding: 0 0vw; }
	.contents_box2 { padding: 0 1.5vw; }
	.contents_box3 { padding: 0 3vw; }
}

/* ************* メインイメージ＋サムネイル画像（クリック差し換え式） **************/
.thumbnails li .image,
.mainimage {
	margin: 0px auto 20px;
	overflow: hidden;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	height: 384px;
}
.thumbnails li .image { height: 126px; }
.thumbnails li { margin-bottom: 10px; }
.thumbnails li .caption {
	font-size: 95%;
	font-weight: bold;
	text-align: center;
	color: #000;
}
.thumbnails img { cursor: pointer;  }
.mainimage,
.thumbnails img { box-shadow: 0 0 8px rgba( 0, 0, 0, 0.2 ); }
.thumbnails img,
.mainimage img { width: 100%; }
@media(max-width:1040px){
	.mainimage {
		margin: 0px auto 20px;
		height: auto;
	}
	.thumbnails { display: flex; flex-wrap: wrap; margin: 20px -5px; }
	.thumbnails li .image { height: auto; margin: 0px; }
	.thumbnails li {
		margin: 0 5px 10px;
		width: calc( 50% - 10px );
	}
	.thumbnails li .caption {
		font-size: 90%;
		font-weight: bold;
		text-align: center;
		color: #000;
	}
}

/* ************* 写真風画像 **************/
.photocaption {
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 8px;
	text-align: center;
}
.detail { font-size: 120%; }
.photoimage {
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 4px 3px 11px;
	background: #fff;
	margin: 0 auto 20px;
	max-width: 500px;
	position: relative;
}
.photoimage p.title {
	position: absolute;
	bottom: 1em; right: 1em;
	padding: 0.3em 1em;
	background: rgba(0, 0, 0, 0.5);
	color: #FFFFFF;
}
.photoimage p.serif {
	position: absolute;
	top: 1em; left: 50%;
	text-align: center;
	font-size: 0.8rem; font-weight: bold;
	width: 90%; margin-left: -45%;
	padding: 0.2em 1em;
	background: rgba( 255, 255, 255, 0.7 );
	border-radius: 30px;
}
.photoimage.l05 { transform: rotate( -0.5deg ); }
.photoimage.l10 { transform: rotate( -1.0deg ); }
.photoimage.l15 { transform: rotate( -1.5deg ); }
.photoimage.r05 { transform: rotate(  0.5deg ); }
.photoimage.r10 { transform: rotate(  1.0deg ); }
.photoimage.r15 { transform: rotate(  1.5deg ); }
@media(max-width: 1040px){
	.photoimage { padding: 7px 8px; max-width: 75%; margin: 0 auto 1rem; }
}

/* ************* 丸囲いイメージ **************/
.circleimage {
	position: relative;
	overflow: hidden;
	border-radius: 1000px;
	background-size: cover;
	background-position: 50% 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 10px solid #ffffff;
	box-shadow: 4px 4px 5px rgba( 0, 0, 0, 0.3 );
}

.effect { opacity: 0; transition: 1.0s; position: relative; top: 100px; }
.effect.scroll { opacity: 1; top: 0; }

p.mark0 { display: inline-block; padding: 0px 8px; background: #eeeeee; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark1 { display: inline-block; padding: 0px 8px; background: #fc9317; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark2 { display: inline-block; padding: 0px 8px; background: #00cc58; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
p.mark3 { display: inline-block; padding: 0px 8px; background: #17aafc; color: #ffffff; font-size: 70%; border-radius: 4px; margin-left: 10px; }
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  a link setting
/* ******************************************* */
a {
	color: #303030;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
a:hover, a:focus, a:active {
	color: #303030;
	text-decoration: none;
}
a img {
	border: 0;
}
img {
	max-width: 100%;
}
a[href^="tel:"] { cursor: default; }

sub { font-size: .7em; vertical-align: bottom; position: relative; bottom: -2px; }
ion-icon { bottom: -0.15em; position: relative; }
p a { color: var(--main-color1); text-decoration: underline;  }
p a:hover { color: var(--main-color1); }
i.fas { font-size: 0.75em; top: -2px; position: relative; margin-right: 0.2em; min-width: 1rem; text-align: center; }

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  header PC
/* ******************************************* */
@media(min-width:1041px){
	#header {
		background: #ffffff;
		position: fixed;
		z-index: 9999;
		width: 100%;
		top: 0;
		transition: 0.1s;
		border-bottom: 2px solid var(--main-color1);
	}
	#header.skeleton { opacity: 0.9; }
	#header.skeleton:hover { opacity: 1.0; }
	#header .header_top {
		display: flex;
		margin: 0.25rem auto;
		justify-content: space-between;
		align-items: center;
	}
	#header .header_top .logo { flex: 1; margin: 8px 0px; transition: 0.1s; }
	#header .header_top .logo img { width: auto; height: auto; max-width: 350px; max-height: 70px; }
	#header .header_top .header_sns { display: flex; }
	#header .header_top .header_sns > * { margin: 0 4px; overflow: hidden; border-radius: 10px; width: 30px; height: 30px; }
	#header .header_info {
		background: var(--main-color1);
	}
	#header .header_info .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 0.8rem;
	}
	#header .header_info nav ul { display: flex; padding: 4px 0px; }
	#header .header_info nav ul a {
		margin: 0 0.5rem;
	}
}
/* ******************************************* */
/*		  header SP
/* ******************************************* */
@media(max-width:1040px){
	#header {
		top: 0;
		left: 0;
		position: fixed;
		transition: 0.2s;
		background: #ffffff;
		z-index: 9999;
		width: 100%;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info .logo {
		margin: 2vw;
		width: 75vw;
		max-width: 450px;
		display: flex;
	}
	.header_info .logo img {
		max-width: 100%;
		height: auto;
	}
	.header_info .button {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_info .button > div { margin: 2vw 1vw; }
	.header_info .trigger {
		vertical-align: middle;
		display: inline-block;
	}
	.header_info .menu {
		background: url('/_images/menu.png') 0 0 no-repeat;
		background-size: 100% 100%;
		border-radius: 4px;
		transition: 0.3s;
		width: 12vw; height: 12vw;
		max-width: 40px;
		max-height: 40px;
	}
	.header_info .open .menu {
		background: url('/_images/close.png') 0 0 no-repeat;
		transition: 0.3s;
		background-size: 100% 100%;
	}

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  gnav PC
/* ******************************************* */
#gnav {

}
#gnav ul.top {
	display: flex;
	justify-content: space-between;
	position: relative;
	text-align: center;
}
#gnav ul.top > li {
	border-left: 1px solid #AAA;
	flex: auto;
	position: relative;
}
#gnav ul.top > li:last-of-type {
	border-right: 1px solid #AAA;
}
#gnav ul.top > li > a {
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
	position: relative;
	color: #323232;
	height: 35px;
	line-height: 20px;
	padding: 8px 15px;
	text-decoration: none;
	transition: 0.2s;
	overflow: hidden;
	letter-spacing: 0.1rem;
}
#gnav ul.top > li:hover > a,
#gnav ul.top > li > a.current1 {
	background: var(--main-color1);
}
#gnav ul.sub {
	position: absolute;
	top: 100%; left: 0px; width: 100%;
	box-shadow: 4px 4px 5px rgba( 0, 0, 0, 0.2);
}
	#gnav ul.sub > li {
		background: var(--bg-color);
		overflow: hidden;
		height: 0px;
		transition: 0.2s;
		display: flex;
		align-items: stretch;
	}
	#gnav li:hover ul.sub > li {
		height: 35px;
	}
	#gnav ul.sub > li > a {
		display: flex;
		width: 100%;
		text-align: center;
		justify-content: center;
		align-items: center;
		border-bottom: 1px solid #453e3b;
		font-size: 0.9rem;
	}
	#gnav ul.sub > li > a:hover { background: #fadfc7; }

/* ******************************************* */
/*		  gnav SP
/* ******************************************* */
@media(max-width:1040px){
	#rwd_menu {
		background: var(--main-color1);
		color: #fff;
		width: 100%;
	}
		#rwd_menu ul {
			width: 100%;
			max-height: 75vh;
			overflow-y: scroll;
		}
		#rwd_menu ul li {
			border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
		}
		#rwd_menu ul li a {
			display: block;
			font-size: 15px;
			color: #fff;
			line-height: 2.5;
			text-align: center;
			text-decoration: none;
		}
		#rwd_menu ul li a::after {
			content: "　≫";
		}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  見出し・セクション
/* ******************************************* */
.toppage h2 {
	text-align: center;
	color: var(--main-color1);
	border-top: 3px double var(--main-color1);
	border-bottom: 3px double var(--main-color1);
	font-size: 180%;
	font-weight: bold;
	margin: 10px auto 2rem;
	position: relative;
}
.toppage h2::before, .toppage h2::after {
	width: 80px; height: 1px;
	content: "";
	background: var(--main-color1);
	top: 50%;
	position: absolute;
}
.toppage h2::before { margin-left: -100px; }
.toppage h2::after { margin-left: 20px; }

.lowerpage h2 {
	position: relative;
	font-size: 1.8rem;
	color: #FFFFFF;
	text-shadow: 0 0 0.5rem var(--text-color);
	background: url('/_images/bg_h2.png');
	font-weight: bold;
	z-index: 1;
	margin-top: 0; margin-bottom: 0; padding-top: 1.2rem; padding-bottom: 1.2rem;
	margin-left: calc( ( 100vw - 100% ) / -2 );
	margin-right: calc( ( 100vw - 100% ) / -2 );
	padding-left: calc( ( 100vw - 100% ) / 2 );
	padding-right: calc( ( 100vw - 100% ) / 2 );
}
.lowerpage h2 span {
	display: block;
	font-size: 15px;
	line-height: 20px;
	position: relative;
	z-index: 1;
}
.lowerpage h2::before {
	position: absolute;
	content: "";
	left: 50%; margin-left: 150px; bottom: 0px;
	width: 400px; height: 100px;
	background-size: cover;
}
h3 {
	background: var(--main-color1);
	border-radius: 4px;
	margin-bottom: 1rem;
	padding: 0.2rem 0.5rem 0.2rem 1rem;
	font-size: 1.4rem; font-weight: bold;
	color: var(--main-text);
}
h4 {
	background: var(--main-color2);
	padding: 2px 8px;
	margin-bottom: 0.8rem;
	border-left: 0.5rem solid var(--main-color1);
	font-size: 1.15rem; font-weight: bold;
}
h5 {
	font-size: 1.1rem;
	font-weight: bold;
	margin: 0 auto 0.25em;
	padding: 4px 0px;
	color: var(--main-color1);
}

@media(max-width:1040px){
	.toppage h2 {
		font-size: 1.6rem; margin: 1rem auto;
	}
	.toppage h2::before, .toppage h2::after { width: 30px; }
	.toppage h2::before { margin-left: -40px; }
	.toppage h2::after { margin-left: 10px; }
	.lowerpage h2 {
		margin: 0px -1000px 0px;
		font-size: 24px;
	}
	.lowerpage h2::before {
		left: auto; right: 50%;
		margin-right: -50vw;
		width: 100vw; max-width: 400px;
		height: 25vw; max-height: 100px;
		z-index: -1;
	}
}

/* ******************************************* */
/*		  ボタン関係
/* ******************************************* */
.link { text-align: center; display: flex; justify-content: center; margin-left: -1rem !important; margin-right: -1rem !important; }
.link.left { justify-content: flex-start; }
.link.right { justify-content: flex-end; }
.link a {
	display: inline-block;
	position: relative;
	margin: 0.5rem 1rem;
	padding: 0.8rem 3.0rem;
	border-radius: 100px;
	border: 3px solid #ffffff;
	background: var(--main-color1);
	color: #FFFFFF;
	text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.3 ), 0 1px 0 rgba( 255, 255, 255, 0.3 );
	font-size: 1.2rem;
	line-height: 1.0;
	box-shadow: 2px 2px 8px rgba( 0, 0, 0, 0.2 );
}
.link a.mini { padding: 0.5rem 1.5rem; font-size: 1.0rem; }
.link a.next { padding-right: 1.5rem; }
.link a.back { background: #8e8e8e; padding-left: 1.5rem; }
.link a.back::before,
.link a.next::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.link a.next::after { content: "\00a0\f138"; margin-left: 1.2rem; }
.link a.back::before { content: "\f137\00a0"; margin-right: 1.2rem; }
.link a:hover { opacity: 0.8; }
.link a:active { top: 2px; box-shadow: 0px 0px 2px rgba( 0, 0, 0, 0.7 ); }
ul.sidelink { border-bottom: 1px dotted #DDD; }
ul.sidelink li a {
	display: block;
	font-weight: bold;
	margin: 0.25rem auto;
	transition: 0.1s;
	padding-left: 1rem;
}
ul.sidelink li { border-top: 1px dotted #DDD;}
ul.sidelink li ul li { padding-left: 0.5rem; }
ul.sidelink li a.current2,
ul.sidelink li a:hover { color: var(--main-color1); }
ul.sidelink li a.current2:hover { opacity: 0.75; }
.simplelink,
.anchorlink {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 40px -16px;
}
.anchorlink.rows { justify-content: center; }
.simplelink a,
.anchorlink a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	border: 2px solid var(--main-color1);
	color: var(--main-color1);
	border-radius: 4px;
	background: var(--bg-color);
	margin: 8px 16px;
	width: calc( 25% - 32px );
	height: 68px;
	padding: 0px 1rem 10px;
	font-weight: bold;
	line-height: 1.3;
}
.simplelink a { padding: 0 2rem 0 1rem; }
.anchorlink a::after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight: 900;
	content: "\f107";
	display: block;
	bottom: 0px; left: 50%; width: 30px; margin-left: -15px;
}
.simplelink a::after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-weight: 900;
	content: "\f138";
	display: block;
	top: 50%; right: 12px; margin-top: -0.5em; line-height: 1.0em;
}
.simplelink a:hover,
.anchorlink a:hover {
	color: #71c2f4;
	border: 2px solid #71c2f4;
	border-radius: 4px;
	background: var(--bg-color);
}
.wikipedia a {
	display: block;
	margin: 0 auto 8px;
	color: var(--main-color1);
	text-decoration: underline;
}
.wikipedia a:hover { opacity: 0.75; }
.wikipedia a i.fab {
	display: inline-block;
	color: #000000;
	background: var(--bg-color);
	border: 1px solid #000;
	margin-right: 0.3em;
	padding: 2px;
	border-radius: 3px;
}

@media(max-width:1040px){
	.linkbutton a { min-width: auto; padding: 1em 2.7em 1em 1.8em; }
	.simplelink,
	.anchorlink { margin: 20px -4px; }
	.simplelink a,
	.anchorlink a {
		font-size: 14px;
		margin: 4px;
		width: calc( 50% - 8px );
		height: 55px;
		padding: 0px 1rem 10px;
	}
}

/************ リンクに矢印を付与 ************/
.arrow_icon a {
	display: block;
	position: relative;
	padding-left: 1em !important;
}
.arrow_icon a::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 0px;
	transition: 0.2s;
	left: 0px;
}
.arrow_icon a:hover { opacity: 0.6; }
.arrow_icon a:hover::before { margin-left: 4px; }
.next_icon a {
	display: block;
	position: relative;
}
.next_icon a::after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	margin-left: 0px;
	right: 0px;
}
/************ フッター用フラットナビ ************/
.flat_navi {
	margin: 8px auto;
	display: flex;
	justify-content: center;
}
.flat_navi li { border-left: 1px solid #aaa; }
.flat_navi li:last-of-type { border-right: 1px solid #aaa; }
.flat_navi li a { padding: 2px 1em; }
.flat_navi li a:hover { opacity: 0.6; }

/* ******************************************* */
/*		  画像汎用・テキスト汎用
/* ******************************************* */
.imagebox,
.imagebox_full { text-align: center; margin: 0 auto 20px; }
.text {
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 1.0em;
}
.comments {
	font-weight: 400;
	line-height: 2.0;
	margin-bottom: 1.0em;
}
.comments p,
.text p { margin-bottom: 1.0em;	}
.comments p:last-of-type,
.text p:last-of-type { margin-bottom: 0px; }
.answer a,
.comments a,
.text a { color: var(--main-color1); display: inline-block; margin: 0 0.25em; text-decoration: underline; }
.answer a:hover,
.comments a:hover,
.text a:hover { text-decoration: none; }

.toptext {
	font-size: 110%;
	line-height: 1.6;
	margin-bottom: 2.0rem;
}
.toptext p { margin-bottom: 1.0rem; }
.toptext p:last-of-type { margin-bottom: 0px; }

.largetext {
	font-size: 135%;
	font-weight: 600;
	margin-bottom: 0.5em;
	line-height: 1.4;
}
.largetext p { margin-bottom: 1.0em; }
.largetext p:last-of-type { margin-bottom: 0px; }
.bigtext {
	font-size: 150%;
	font-weight: 600;
	margin-bottom: 0.5em;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.bigtext p { margin-bottom: 1.0em;	}
.bigtext p:last-of-type { margin-bottom: 0px; }
.sample,
.caption {
	font-size: 0.8em;
	color: #777;
	margin-bottom: 1.0em;
}
.caption p {
	position: relative;
	margin-bottom: 0.25em;
	padding-left: 1.5em;
}
.sample p:nth-last-of-type(-n+1) {
	margin-bottom: 0.5em;
}
.caption p::before { position: absolute; content: "※"; margin-left: -1.5em; }
.caption p:last-of-type { margin-bottom: 0px; }
@media(max-width:1040px){
	.imagebox { max-width: 80%; margin: 0 auto 10px; }
	.imagebox_full { margin: 0 auto 10px; }
	.largetext,
	.bigtext {
		font-size: 1.25rem;
		margin-bottom: 1.0em;
	}
}
p.on {
	display: inline-block;
	border: 1px solid var(--main-color1);
	color: var(--main-color1);
	border-radius: 6px;
	padding: 0.3rem 1rem;
	margin: 4px 2px;
}
p.off {
	display: inline-block;
	border: 1px solid #EEEEEE;
	color: #EEEEEE;
	border-radius: 6px;
	margin: 4px 2px;
	padding: 0.3rem 1rem;
}

/* ******************************************* */
/*		  リスト汎用・テーブル汎用
/* ******************************************* */
@media(min-width:1041px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		margin: 0px -10px 40px;
	}
	ul.col_2 li { width: calc( 50% - 20px ); margin: 10px; }
	ul.col_3 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_4 li { width: calc( 25% - 20px ); margin: 10px; }
	ul.col_5 li { width: calc( 20% - 20px ); margin: 10px; }
}
@media(max-width:1040px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		margin: 0px -10px 30px;
	}
	ul.col_2 li { width: calc( 50% - 20px ); margin: 10px; }
	ul.col_3 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_4 li { width: calc( 33% - 20px ); margin: 10px; }
	ul.col_5 li { width: calc( 33% - 20px ); margin: 10px; }
}
@media(max-width:736px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		margin: 20px -5px 20px;
	}
	ul.col_2 li { width: calc( 100% - 10px ); margin: 5px; }
	ul.col_3 li { width: calc( 50% - 10px ); margin: 5px; }
	ul.col_4 li { width: calc( 50% - 10px ); margin: 5px; }
	ul.col_5 li { width: calc( 50% - 10px ); margin: 5px; }
}
@media(max-width:480px){
	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		margin: 20px -5px 20px;
	}
	ul.col_2 li { width: calc( 100% - 10px ); margin: 5px; }
	ul.col_3 li { width: calc( 100% - 10px ); margin: 5px; }
	ul.col_4 li { width: calc( 50% - 10px ); margin: 5px; }
	ul.col_5 li { width: calc( 50% - 10px ); margin: 5px; }
}
/* ******************************************* */
/*          スライダー関連 PC
/* ******************************************* */
@media(min-width:1041px){
	.top_slider { position: relative; z-index: 1000; box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.4 ); left: 50%; margin-left: -960px; width: 1920px; padding: 10px 0px;}
	.top_slider .slick-slide { width: 800px; height: 300px; margin: 0 10px; }
}
@media(max-width:1040px){
	.top_slider { position: relative; z-index: 1000; box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.4 ); width: calc( 100% + 8vw ); margin: 0 -4vw; }
	.top_slider .slick-slide { width: 100vw; height: 36.5vw; max-width: 800px; max-height: 300px; }
}

/* ******************************************* */
/*		  TOP NEWS Ticker
/* ******************************************* */
.news_slider {
	background: #1e2425;
	position: relative;
	width: 100%; left: 0px; top: 0px;
	box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.3 );
	z-index: 1200;
}
.news_slider ul {
}
.news_slider ul li {
	color: #ffe03d;
	font-size: 175%;
	font-weight: 500;
	text-shadow: 0 0 3px #ffe03d, 0 0 3px #ffe03d;
	cursor: default;
}
.news_slider ul li a { color: #ffe03d; }
.news_slider::after {
	position: absolute;
	content: "";
	width: 100%; height: 100%;
	top: 0px; left: 0px;
	background: url('/_images/flash_board.png');
	background-size: 3px 3px;
	z-index: 1000;
	pointer-events: none;
}

/* ******************************************* */
/*		  トップページ PC
/* ******************************************* */


.noimage { position: relative; opacity: 0.4; }
.noimage::after {
	position: absolute;
	content: "NO IMAGE";
	top: 50%; left: 0; width: 100%;
	text-align: center;
	z-index: 100;
	opacity: 1.0;
	font-size: 30px; line-height: 30px; margin-top: -15px; font-weight: bold;
	font-family: 'Quicksand', sans-serif;
	text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
}
@media(max-width:1040px){
	ul.character li { padding: 1.0em 1.0em 2.0em; }
}

/* ******************************************* */
/*          table
/* ******************************************* */
table.chara_table,
table.common_table {
	width: 100%;
	max-width: 1000px;
}
table.chara_table tr,
table.common_table tr {
	display: flex;
	margin: 8px auto;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 1px dotted #cccccc;
}
table.chara_table tr th,
table.common_table tr th {
	width: 25%;
	min-width: 100px;
	padding: 0.5rem 1rem;
	text-align: center;
	border-radius: 100px;
	border: 4px double var(--main-color1);
	color: var(--main-color1);
}
table.common_table tr td {
	flex: 1;
	padding-left: 1.5rem;
}
table.chara_table tr td {
	flex: 1;
	font-size: 20px;
	padding-left: 1.5rem;
}
table.log_table { width: 100%; text-align: center; }
table.log_table tr th { background: var(--main-color1); color: #ffffff; }
table.log_table tr th, table.log_table tr td { padding: 4px 1rem; }

table.result_table {
	width: 100%;
}
table.result_table tr th {
	padding: 0.5rem 1rem;
	text-align: center;
	font-size: 1.05em; font-weight: bold;
	border-left: 3px solid #FFFFFF;
	border-right: 3px solid #FFFFFF;
	border-bottom: 1px solid var(--main-color1);
	color: var(--main-color1);
}
table.result_table tr td {
	padding: 0.5rem 1rem;
	border-left: 3px solid #FFFFFF;
	border-right: 3px solid #FFFFFF;
	border-bottom: 1px solid #6ec1f4;
}

/* ******************************************* */
/*		  新着情報
/* ******************************************* */
.grade_tags,
.tags { display: flex; }
.grade_tags a,
.tags a {
	font-size: 0.8rem;
	font-weight: bold;
	display: block;
	color: var(--main-color1);
	border: 2px solid var(--main-color1);
	border-radius: 4px;
	margin-right: 0.2rem;
	padding: 0.05rem 1rem;
}
.grade_tags a {
	color: var(--bg-color);
	border: 2px solid var(--main-color3);
	background: var(--main-color3);
	padding: 0.05rem 0.5rem;
}
.grade_tags a:hover,
.tags a:hover { opacity: 0.7; }
@media(max-width:1040px){
}

/* -------------------------------------------------------------------------------------------------- */
.atview_list ul li {
	border-bottom: 1px solid #cccccc;
	padding-bottom: 4px;
}
.atview_list ul li a {
	display: inline-block;
	min-width: 620px;
}
.atview_list ul li span:nth-of-type(1) {
	display: inline-block;
	color: #aaa;
	font-size: 0.8em;
	width: 120px;
}
.atview_list ul li span:nth-of-type(2) {
	display: inline-block;
	color: #aaa;
	font-size: 0.8em;
	width: 180px;
}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  Footer PC
/* ******************************************* */
#footer {
	background: var(--bg-color);
	padding: 10px 0px 0px;
}
.footer_main {
	margin-top: 10px;
}
.footer_main .logo { width: 300px; margin: 0px auto 10px; }
.footer_info {
	margin: 0 -1000px;
	padding: 10px 1000px;
	background: #ddf2ff;
}

#footer .footer_main .tel p:nth-of-type(1) { font-size: 40px; line-height: 40px; }
#footer .footer_main .tel p:nth-of-type(2) { font-size: 13px; line-height: 14px; }
.copyright {
	background: var(--main-color1);
	font-size: 0.8rem; padding: 0.2rem 0;
}
.copyright p { flex: 1; text-align: center; }
.copyright a { text-decoration: underline; color: #ffffff; margin-left: 1.5em; }
.copyright a:hover { text-decoration: none; }
/************ pagetop *************/
#pagetop {
	position: fixed;
	bottom: 60px;
	right: 60px;
	width: 64px;
	height: 64px;
	z-index: 1000;
}
#pagetop a {
	display: block;
	text-align: center;
	width: 64px;
	height: 64px;
	background: var(--bg-color);
	color: var(--main-color1);
	font-size: 30px;
	line-height: 30px;
	border-radius: 100px;
	padding-top: 8px;
	border: 2px solid var(--main-color1);
}
#pagetop a span {
	font-size: 10px;
	line-height: 10px;
	font-weight: 600;
	display: block;
}
#pagetop a:hover {
	opacity: 0.75;
}
/* ******************************************* */
/*		  Footer SP
/* ******************************************* */
@media(max-width:1040px){
	.copyright { font-size: 10px; }
	.copyright a { margin: 0 1em; text-decoration: underline; }
	/************ pagetop *************/
	#pagetop { bottom: 70px; right: 10px; opacity: 0.7; }

	#footer .fixed_entry,
	#footer .fixed_button {
		position: fixed;
		justify-content: space-between;
		bottom: 0; left: 0;
		width: 100%;
		padding: 3vw;
		display: flex;
		background: var(--bg-color);
		text-align: center;
		z-index: 4000;
	}
	#footer .fixed_entry a,
	#footer .fixed_button a {
		display: block;
		width: 45.5vw;
		background: #EE9600;
		color: #FFFFFF;
		border: 3px solid #ffffff;
		border-radius: 40vw;
		padding: 0.5rem;
		box-shadow: 0 0 3px rgba( 0, 0, 0, 0.3 );
	}
	#footer .fixed_button a:nth-of-type(2) { background: var(--main-color1); }
	#footer .fixed_entry { justify-content: center; transition: 0.2s; }
	#footer .fixed_entry a { width: 90vw; }
	#footer .fixed_entry.scroll { bottom: -100px; }
}

/* ******************************************* */
/*		  汎用パーツ PC
/* ******************************************* */
.mailcheck,
.mailform {}
.mailend { margin: 0 auto 8rem; text-align: center; }
.mailcheck .confirmation,
.mailend .confirmation {
	line-height: 1.6;
}
.mailcheck table,
.mailform table {
	width: 900px;
	margin: 2rem auto;
}
.mailform table tr {
	display: block;
	border-bottom: 1px dotted #bbb;
}
.mailform table tr .alphabet { font-size: 0.8rem; opacity: 0.4; border-top: 1px solid #CCC; }
.mailform table tr:last-of-type { border: none; }
.mailform table th {
	padding: 1rem;
	vertical-align: middle;
	text-align: left;
	font-size: 1.1rem;
	font-weight: bold;
	width: 300px;
}
.mailform table td {
	padding: 1rem;
	vertical-align: middle;
	text-align: left;
}
.mailform table a {
	color: var(--link-color);
	text-decoration: underline;
}
.mailform table a:hover { text-decoration: none; }

.mailcheck table th {
	padding: 0.5rem 1rem;
	text-align: center;
	font-weight: bold;
	width: 30%;
	border-bottom: 1px dotted #ccc;
}
.mailcheck table td {
	padding: 0.5rem 1rem;
	text-align: center;
	width: 70%;
	border-bottom: 1px dotted #ccc;
}
.mailform select,
.mailform input[type="text"],
.mailform input[type="email"],
.mailform input[type="tel"],
.mailform input[type="date"],
.mailform input[type="number"] {
	margin: 4px auto;
	border-radius: 6px;
	padding: 6px;
	border: 1px solid #666;
}
.mailform input[type="text"] { width: 30rem; }
.mailform input[type="tel"] { width: 13rem; }
.mailform input[type="email"] { width: 30rem; }
.mailform input[type="number"] { width: 8rem; }
.mailform input[type="date"] { width: 10rem; }
.mailform select { width: 300px; }
.mailform label[class="block"],
.mailform label[class="block"] {
	display: block;
	margin: 0.5rem auto;
	text-align: left;
}
.mailform input[type="text"].etc { width: 20rem; margin-left: 0.5rem; }
.mailform label.radioflat {
	display: inline-block;
	margin-right: 2em;
}
.mailform input[name="captcha"] { width: 8rem; }
.mailform label[type="submit"] { display: block; text-align: center; }
.mailform textarea {
	width: 30rem;
	height: 10rem;
	margin: 8px auto 8px;
	border-radius: 8px;
	padding: 6px;
	border: 1px solid #666;
}
.mailform input[type="button"],
.mailcheck input[type="submit"],
.mailform input[type="submit"] {
	width: 400px;
	margin: 8px auto 8px;
	border-radius: 5px;
	padding: 8px;
	border: 5px double var(--link-color);
	background: var(--link-color);
	cursor: pointer;
	color: #fff;
	font-weight: 600;
	transition: 0.1s;
	font-family: 'Quicksand', 'Kiwi Maru', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.mailform input[type="button"]:hover,
.mailcheck input[type="submit"]:hover,
.mailform input[type="submit"]:hover {
	background: #fff;
	color: var(--link-color);
}
.needs {
	background: #fcc8c5;
	font-weight: 400;
	padding: 2px 8px;
	margin: 0 4px;
	border-radius: 5px;
	color: #df4e45;
}
.err { color: #df4e45; font-weight: bold; }
.rule {
	margin: 20px auto;
	border: 1px solid #999;
	background: #fff;
	padding: 10px 16px;
	height: 180px;
	overflow-y: scroll;
}

/* ******************************************* */
/*		  汎用パーツ SP
/* ******************************************* */
@media(max-width:736px){
	.mailcheck,
	.mailform {
		margin: 0 auto;
		text-align: center;
	}
	.mailend {
		margin: 0 auto 50px;
		text-align: center;
	}
	.mailcheck .confirmation,
	.mailend .confirmation {
		line-height: 1.6;
	}
	.mailform table {
		width: 100%;
		margin: 40px auto;
	}
	.mailform table tr {
		display: block;
	}
	.mailform table th {
		margin: 10px 0px 0px;
		display: block;
		font-weight: bold;
		font-size: 1.2em;
	}
	.mailform table td {
		margin: 0px 0px 15px;
		display: block;
		padding-bottom: 15px;
		border-bottom: 1px dotted #ccc;
	}
	.mailform table a {
		color: var(--link-color);
		text-decoration: underline;
	}

	.mailcheck table {
		width: 100%;
		margin: 20px auto;
	}
	.mailcheck table th {
		padding: 20px 15px;
		text-align: center;
		font-weight: bold;
		width: 25%;
	}
	.mailcheck table td {
		padding: 20px 15px;
		text-align: left;
		width: 75%;
	}
	.mailform input[type="text"] {
		width: 100%;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailform select,
	.mailform input[name^="第"],
	.mailform input[type="date"] {
		width: 50%;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.pc_flex2 { margin: 10px auto; text-align: left; padding: 0 5vw; }
	.mailform .radio_wrapper { margin: 10px auto; }
	.mailform label[type="radio"] {
		display: inline;
		margin: 10px auto;
		text-align: left;
	}
	.mailform label[type="check"] {
		display: block;
		margin: 10px auto;
		text-align: left;
		width: 65%;
	}
	.mailform label[type="submit"] { display: block; text-align: center; }
	.mailform textarea {
		width: 100%;
		height: 150px;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailform input[type="button"],
	.mailcheck input[type="button"][value="戻る"],
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		border-radius: 0;
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
	}
	input[type="submit"]::-webkit-search-decoration,
	input[type="button"]::-webkit-search-decoration {
	  	display: none;
	}
	input[type="submit"]:focus,
	input[type="button"]:focus {
	  	outline-offset: -2px;
	}
	.mailform input[type="button"],
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 15px;
		background: var(--link-color);
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: 'Quicksand', 'Kiwi Maru', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="submit"] {
		margin-right: 10px;
	}
	.mailcheck input[type="button"][value="戻る"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 15px;
		background: #999;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: 'Quicksand', 'Kiwi Maru', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="button"][value="戻る"]:hover {
		background: #fff;
		color: #999;
	}
	.needs, .err { color: #df4e45; font-weight: bold; }
	.rule {
		margin: 20px auto;
		border: 1px solid #999;
		background: #fff;
		padding: 10px;
		height: 140px;
		font-size: 12px;
		text-align: left;
		overflow-y: scroll;
	}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  Breadcrumb PC
/* ******************************************* */
#breadcrumb {
	font-size: 0.8rem;
	line-height: 1.0;
}
#breadcrumb ul {
	display: block;
	text-align: left;
	padding: 0.5rem 0px;
}
#breadcrumb ul li {
	display: inline;
	padding: 0em 0em;
}
#breadcrumb ul li:nth-of-type(n+2)::before{
	display: inline;
	text-align: center;
	content: "> ";
	color: var(--link-color);
	width: 1.5rem;
	height: 1rem;
	padding: 0rem 0.5rem;
}
#breadcrumb ul li a {
	color: var(--link-color);
	text-decoration: none;
}
#breadcrumb ul li a:hover{
	color: var(--link-color);
	text-decoration: underline;
}
@media(max-width:1040px){
	#breadcrumb {
		padding: 2vw 0vw;
		line-height: 2.0;
	}
	#breadcrumb ul li:nth-of-type(n+2)::before{ display: inline-block; }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  PC SP 共通（拡張）
/* ******************************************* */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.alp-gothic {
	font-family: 'Century Gothic', 'Quicksand', sans-serif;
}
.italic { font-style: italic; }
.add-relative { position: relative; }
.tx_red { color: #CF000D; }
.tx_blue { color: #1A5FAD; }
.hover_white:hover { opacity: 0.75; }

/* ******************************************* */
/*          pagenation
/* ******************************************* */
.pagenation {
	display: flex;
	justify-content: center;
	margin: 40px auto;
}
	.pagenation {
		min-width: 32px; min-height: 32px;
		line-height: 32px;
		text-align: center;
		margin: 0 4px;
	}
	.pagenation p,
	.pagenation a {
		display: block;
		font-size: 1.1em;
		line-height: 32px;
		font-weight: bold;
		color: #fff;
		background: #ccc;
		min-width: 32px; min-height: 32px;
		text-align: center;
		border: 1px solid #bbb;
		border-radius: 5px;
		padding: 0 4px;
	}
	.pagenation p.current {
		background: #fff;
		color: #bbb;
	}
	.pagenation a {
		color: #fff;
		background: var(--main-color1);
		border: 1px solid #71c2f4;
	}
	.pagenation a:hover {
		background: var(--bg-color);
		color: var(--main-color1);
		border: 1px solid #71c2f4;
	}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*		  iframe
/* ******************************************* */
.googlemap_wrap{
	position: relative;
	padding-bottom: 55%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-bottom: 40px;
}
.googlemap_wrap img.fitimage{
	max-width: 900px;
}
.googlemap_wrap iframe,
.googlemap_wrap object,
.googlemap_wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.youtube_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: rgba( 0, 0, 0, 0.05 );
}
.youtube_wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	box-shadow: 2px 2px 5px #999;
}

.kurukuru { animation: kurukuru 5s infinite linear; }
.fuwafuwa { animation: fuwafuwa 3s infinite ease-in-out alternate; }
.pukapuka { animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes kurukuru {
	0% {transform: rotate(0deg); }
	100% {transform: rotate(360deg); }
}
@keyframes fuwafuwa {
	0% {transform: translate( 0, -5px ); }
	50% {transform: translate( 0, 5px ); }
	100% {transform: translate( 0, -5px ); }
}
@keyframes pukapuka {
	0% {transform: scale( 1.0 ); }
	50% {transform: scale( 1.05 ); }
	100% {transform: scale( 1.0 ); }
}
.error {
	color: #e70001;
	margin: 0.5em auto;
	text-align: center;
}

/* ******************************************* */
/*		  ticker
/* ******************************************* */
@keyframes ticker {
	0% {
		transform: translate(0, 0);
		visibility: visible;
	}
	100% {
		transform: translate(-100%, 0);
	}
}
.ticker {
	overflow: hidden;
	height: 2.5em;
	padding-left: 200vw;
	box-sizing: content-box;
	margin: 0 -100vw;
}

.ticker ul {
	display: inline-block;
	white-space: nowrap;
	height: 2.5em;
	line-height: 1.25em;
	padding-right: 85vw;
	box-sizing: content-box;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-name: ticker;
	animation-duration: 200s;
}
.ticker ul li {
	display: inline-block;
	padding: 0.35em 15em 0.35em 0em;
}
.ticker:hover ul {
	/* animation-play-state: paused; */
}

.fuwafuwa { animation: fuwafuwa 1s infinite ease-in-out alternate; }
.pukapuka { animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes fuwafuwa {
	0% {transform: translate( 0, -10px ); }
	50% {transform: translate( 0, 10px ); }
	100% {transform: translate( 0, -10px ); }
}

.popup_message {
	position: fixed;
	top: 50%; left: 50%;
	min-width: 20em; min-height: 8em;
	margin-top: -6em; margin-left: -10em;
	padding: 1rem;
	border: 3px solid var(--main-color1);
	box-shadow: 0 0 0 5px #FFFFFF;
	background: var(--bg-color);
	border-radius: 8px; z-index: 9999;
	text-align: center;
	display: flex; justify-content: center; align-items: center;
	transition: 0.3s;
	opacity: 0.9;
}

/* ******************************************* */
/*	SEARCH bOX
/* ******************************************* */
.search_box form {
	display: flex;
}
.search_box input[type="search"] {
	width: 320px; padding: 0.25rem 0.5rem; border: 1px solid #ccc; border-radius: 10px 0 0 10px;
}
input::placeholder { color: #bbb; }
.search_box button[type="submit"] {
	padding-top: 4px;
	border-radius: 0 10px 10px 0;
	width: 2.5rem;
	font-size: 1.2rem; line-height: 1.5rem;
	background: var(--main-color1);
	color: #FFFFFF;
	cursor: pointer;
	border: none;
}
.search_box button[type="submit"]:hover { color: #666; background: #eee; }
.search_box i { top: -4px; }
@media(max-width:1040px){
	.search_box { background: var(--bg-color); padding: 0vw 2vw 2vw; }
	.search_box input[type="search"] { width: 86vw; }
	.search_box button[type="submit"] { width: 10vw; }
}

/* ******************************************* */
/*		新着情報
/* ******************************************* */
ul.article_news {
	padding: 0 2rem;
	margin: 0 auto 2rem;
}
ul.article_news li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0.5rem auto;
}
ul.article_news li .category {
	padding: 0px 1rem; border-radius: 6px;
	text-align: center;
	letter-spacing: 0.1rem;
	font-size: 0.8rem;
	min-width: 140px;
	margin: 0 1.2rem;
	color: #FFFFFF; font-weight: bold;
}
ul.article_news li .title {
	flex: 1;
}
ul.article_news li .title a { color: var(--link-color); text-decoration: underline; }
ul.article_news li a:hover { opacity: 0.7; }
@media(max-width:600px){
	ul.article_news {
		padding: 0 0.5rem;
	}
	ul.article_news li { flex-wrap: wrap; }
	ul.article_news li:nth-of-type(n+2) {
		border-top: 1px dotted #BBBBBB;
		padding-top: 0.5rem;
	}
	ul.article_news li .title {
		flex: auto;
		width: 100%; margin: 0.5rem auto;
	}
}

/* ******************************************* */
/*		キャラクター
/* ******************************************* */
ul.article_chara {
	margin: 0 -1rem 2rem;
	display: flex;
	align-items: stretch; flex-wrap: wrap;
}
ul.article_chara li {
	width: calc( 33.33% - 2rem );
	margin: 1rem;
}
ul.article_chara li .images { margin-bottom: 0.5rem; }
ul.article_chara li .title {
	font-size: 1.2rem;
	text-align: center;
	font-weight: bold;
	margin-bottom: 0.5rem;
}
ul.article_chara li .comment { font-size: 0.9rem; }
@media(max-width:600px){
	ul.article_chara li {
		width: calc( 50% - 2rem );
		margin: 1rem;
	}
}

/* ******************************************* */
/*		プリント教材
/* ******************************************* */
ul.article_pdf {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0 -1.5rem;
	position: relative;
}
ul.article_pdf li {
	margin: 0 1.5rem 1.5rem;
	width: calc( 25% - 3rem );
}
ul.article_pdf li .date { font-size: 0.8rem; color: #999999; }
ul.article_pdf li .images { border: 1px solid #DDD; margin: 0.5rem auto; }
ul.article_pdf li .category {
	border: 2px solid #AAAAAA; color: #AAAAAA;
	padding: 0px 0.5rem; border-radius: 6px;
	text-align: center;
	font-size: 0.8rem;
	letter-spacing: -0.1rem;
}
ul.article_pdf li .title { font-size: 0.9rem; line-height: 1.2; letter-spacing: -0.1rem; }
@media(max-width:600px){
	ul.article_pdf { margin: 0 -0.5rem 2rem; }
	ul.article_pdf li {
		margin: 0 0.5rem 1rem;
		width: calc( 50% - 1rem );
	}
	ul.article_pdf li .date { font-size: 0.8rem; color: #999999; }
	ul.article_pdf li .images { border: 1px solid #DDD; margin: 0.5rem auto; }
	ul.article_pdf li .category {
		border: 2px solid #AAAAAA; color: #AAAAAA;
		padding: 0px 0.5rem; border-radius: 6px;
		text-align: center;
		font-size: 0.8rem;
	}
}

/* ******************************************* */
/*		記事
/* ******************************************* */
article.posts p {
	margin-bottom: 1rem;
	letter-spacing: -0.05rem;
}
article.posts ol { padding-left: 1.8rem; margin-bottom: 1rem; }
article.posts ol li { list-style-type: decimal; margin-bottom: 1rem; }
article.posts ol li ol { padding-left: 1.2rem; margin-bottom: 0; }
article.posts ol li ol li { list-style-type: none; counter-increment: cnt; position: relative; }
article.posts ol li ol li::before { content: "(" counter(cnt) ")"; position: absolute; top: 0; left: -1.5rem; }
article.posts .post_info { display: flex; justify-content: space-between; align-items: center; margin: 0.15rem auto 1.0rem; }
article.posts .upload { opacity: 0.5; font-size: 0.9rem; }
article.posts .twitter a { color: #999999; }
article.posts .twitter::before {
	display: inline-block;
	padding: 0rem 1rem;
	font-size: 0.9rem;
	background: #1C9CEA;
	color: #FFFFFF;
	content: "作者Twitter";
	border-radius: 4px;
	margin-right: 0.5rem;
}

ul.rankings { counter-reset: rank; }
ul.rankings li {
	display: flex;
	margin: 0 auto 0.5rem;
	counter-increment: rank;
	position: relative;
}
ul.rankings li::before {
	content: counter( rank );
	width: 20px; height: 20px; line-height: 20px;
	text-align: center; font-weight: bold;
	border-radius: 20px;
	position: absolute;
	top: -4px; left: -4px;
	background: #DDDDDD; color: #999999;
	text-shadow: 0 -1px #FFF, 0 1px rgba( 0, 0, 0, 0.8 );
}
ul.rankings li:nth-of-type(1)::before { background: #ffdf8e; color: #6a4507; }
ul.rankings li:hover { opacity: 0.8; }
ul.rankings li .images { border: 1px solid #DDD; width: 35%; }
ul.rankings li .mainbody { flex: 1; padding-left: 0.5rem; }
ul.rankings li .date { font-size: 0.8rem; color: #999999; }
ul.rankings li .category {
	border: 2px solid #AAAAAA; color: #AAAAAA;
	padding: 0px 0.5rem; border-radius: 6px;
	text-align: center;
	font-size: 0.8rem;
	letter-spacing: -0.1rem;
}
ul.rankings li .title { margin: 0.5rem auto; font-size: 0.9rem; line-height: 1.2; letter-spacing: -0.1rem; }

.sitemap {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
}
.sitemap > ul {
	margin: 1rem;
	width: calc( 33.33% - 2rem );
}
.sitemap > ul > li {
	margin-bottom: 1.0rem;
}
.sitemap > ul > li > a { font-weight: bold; color: var(--link-color); }
.sitemap > ul > li > ul {
	padding-left: 1rem;
}