@charset "shift_jis";
@import url("./css/tables.css");
@import url("./css/commonstyles.css");
@import url("./css/textstyles.css");
/*
==================================================
基本スタイル
==================================================
*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
progress {
  vertical-align: baseline;
}
template,
[hidden] {
  display: none;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
  outline-width: 0;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: inherit;
}
b,
strong {
  font-weight: bolder;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background-color: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
button,
input,
select,
textarea {
  font: inherit;
  margin: 0;
}
optgroup {
  font-weight: bold;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
/*
==================================================
基本スタイル
==================================================
*/
body {
  background-color: #fff;
  color: #333;
  font-family: 'メイリオ',Helvetica,'Hiragino Kaku Gothic Pro',sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6, .title, dt {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Verdana,'ＭＳ Ｐゴシック',sans-serif;
  font-weight: 700;
}
h2,h3,h4{clear:both;}
h5,h6{overflow:hidden;}
.clear {
  clear: both;
  font-size: 1px;
  line-height: 0;
}
p {
  margin: 0;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}
div, p, span, li {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
/* メニュー内画像高さ調整 */
#menu .menulist ul li a img,#rmenu .menulist ul li a img{max-height:360px}
/* ボックス色調整 */
.ylwbox {
background-color: #FDF9E8;
border: 4px solid #EAC43F;
}
@media screen and (min-width:768px){
  #main .nmlbox,
  #main .dottbox,
  #main .ylwbox,
  #main .graybg{
     padding:20px 4%;
     box-sizing:border-box;
  }
}
/* 画像位置調整 */
#main .topimg_right img,
#main .topimg_left img{
	margin:0;
}
#main .fleximg1 img{
	min-height:152px;
}
/* リスト
==================================================
*/
#main div[class*="box"] > ul,
#main div[class*="box"] > ol{
	margin-top:4px !important;
	margin-bottom:4px !important;
}
#menu div[class*="box"]:not(.menubox) > ul,
#menu div[class*="box"]:not(.menubox) > ol{
	margin-top:4px !important;
	margin-bottom:4px !important;
}
:not(#topmenu):not(#whatsnew):not(#pagelist):not(#sitemaps):not(#index_inner):not(li) > ul:not([id]):not([class]) {
  list-style: outside none none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
:not(#topmenu):not(#whatsnew):not(#pagelist):not(#sitemaps):not(#index_inner):not(li) > ul:not([id]):not([class]) li {
  font-size: 16px;
  line-height: 1.8;
  margin: 16px 0;
  padding: 0 0 0 30px;
  position: relative;
}
:not(#topmenu):not(#whatsnew):not(#pagelist):not(#sitemaps):not(#index_inner):not(li) > ul:not([id]):not([class]) li::before {
  background-color: #909cb8;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 8px;
  left: 11px;
  position: absolute;
  top: 9px;
  width: 8px;
}
ol {
  counter-reset: number;
  list-style: outside none none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
ol > li {
  font-size: 16px;
  line-height: 1.8;
  margin: 16px 0;
  padding: 0 0 0 40px;
  position: relative;
}
ol > li::before {
  background-color: #f2f3f5;
  border: 1px solid #68758e;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #5b6984;
  content: counter(number,decimal);
  counter-increment: number;
  font-family: "Arial";
  font-size: 14px;
  font-weight: normal;
  height: 24px;
  left: 5px;
  letter-spacing: 0;
  line-height: 22px;
  position: absolute;
  text-align: center;
  top: 0px;
  width: 24px;
}
ol > li:nth-child(n+101)::before{
	font-size:10px;
}
div[id$="menu"] div[id^="space"] ul > li,
div[id$="menu"] div[id^="space"] ol > li{
	margin:8px 0 !important;
}
#main #index_inner > ol{
  padding-left:8px !important;
  margin-right: 16px !important;
}
/* リンク
==================================================
*/
a {
  color: #2379ca;
  transition: background-color 0.25s ease, border 0.25s ease, color 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}
a img {
  background: none;
}
a:hover img{
  opacity:0.7;
  transition: opacity 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  a:hover {
	color: #4f93d4;
	text-decoration: none;
  }
  a:hover img {
	opacity: 0.8;
  }
  #main a:hover, #menu a:hover, #rmenu a:hover, #pagetop a:hover {
	left: 1px;
	position: relative;
	top: 1px;
  }
}
/*
==================================================
全体
==================================================
*/
/* レイアウト
==================================================
*/
#wrapper {
  overflow: hidden;
  position: relative;
}
#contents {
  position: relative;
}
#layoutbox{
  overflow:hidden;
}
#contents::after,
div[id^="text"]::after,
div[id^="space"]::after{
  clear: both;
  content: '';
  display: block;
}
#siteNavi {
  font-size: 10px;
  padding: 10px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #contents {
	margin-top: 15px;
  }
  #contents::after {
	clear: both;
	content: '';
	display: block;
  }
  #siteNavi {
	font-size: 11px;
  }
  #siteNavi a {
	letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1000px) {
  #contents {
	margin: 30px auto;
	padding: 0;
	width: 1000px;
  }
  #siteNavi {
	box-sizing: border-box;
	margin: 0 auto;
	width: 1000px;
	max-width: 100%;
  }
}
#siteNavi br{display:none;}
/* ページ上部へ戻る
==================================================
*/
#pagetop {
  overflow: hidden;
}
#pagetop a {
  background-color: #4b587b;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  display: block;
  height: 46px;
  float: right;
  font-size: 10px;
  margin: 15px;
  overflow: hidden;
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  width: 46px;
}
#pagetop a::before, #pagetop a::after {
  background-color: #fff;
  content: '';
  height: 2px;
  left: 50%;
  margin-left: -3px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 15px;
}
#pagetop a::after {
  margin-left: -12px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  #pagetop a {
	height: 50px;
	width: 50px;
  }
  #pagetop a:hover {
	background-color: #55638b;
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 1000px) {
  #pagetop {
	margin: 0 auto;
	width: 1000px;
  }
}
/* 検索ボックス
==================================================
*/
#searchbox {
  line-height: 1;
}
#searchbox::after {
  background-color: rgba(0, 0, 0, 0.65);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 99;
}
#searchbox form {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 16px 80px 16px 10px;
  display: block;
  position: absolute;
  text-align: left;
  width: 100%;
  z-index: 100;
}
#searchbox input {
  -webkit-appearance: none;
}
#searchbox input:focus::-webkit-input-placeholder {
  color: transparent;
}
#searchbox input:focus:-moz-placeholder {
  color: transparent;
}
#searchbox input:focus::-moz-placeholder {
  color: transparent;
}
#searchbox input[type="text"], #searchbox input[type="search"] {
  background-color: #f5f5f5;
  border: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #5b5b5b;
  cursor: auto;
  font-size: 13px;
  height: 40px;
  line-height: 40px;
  padding: 0 36px 0 8px;
  width: 100%;
}
#searchbox input[type="submit"] {
  background-color: #4b587b;
  border: medium none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-size: 15px;
  height: 40px;
  line-height: 40px;
  position: absolute;
  right: 10px;
  text-align: center;
  top: 16px;
  width: 62px;
}
#searchbtn {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 44px;
  position: absolute;
  right: 4px;
  text-align: center;
  top: 8px;
  width: 44px;
}
#searchbtn::before {
  border: 2px solid #7e87a0;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  height: 14px;
  position: absolute;
  right: 16px;
  top: 13px;
  width: 14px;
  z-index: 1;
}
#searchbtn::after {
  background-color: #7e87a0;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  content: '';
  height: 10px;
  position: absolute;
  right: 15px;
  top: 22px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 2px;
}
#searchbtn span {
  display: block;
  font-size: 10px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
input#panelsearch[type="radio"] {
  display: none;
}
input#panelsearch[type="radio"] ~ #searchbox {
  display: none;
}
input#panelsearch[type="radio"]:checked ~ #searchbox {
  display: block;
}
input#panelsearch[type="radio"]:checked ~ #closebtn {
  display: block;
  right: 4px;
  top: 8px;
}
#closebtn {
  cursor: pointer;
  display: none;
  height: 44px;
  position: absolute;
  width: 44px;
  z-index: 200;
}
#closebtn span {
  display: block;
  font-size: 10px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
input#panelclose[type="radio"] {
  display: none;
}
@media screen and (min-width: 768px) {
  #searchbox {
	display: block !important;
  }
  #searchbox::after {
	display: none;
  }
  #searchbox form {
	background-color: transparent;
	border-bottom: 1px solid #e1e3eb;
	max-width: 228px;
	padding: 0;
	right: 10px;
	top: -2px;
	width: 20%;
  }
  #searchbox form::before {
	border: 2px solid #6f6f6f;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	content: '';
	height: 12px;
	position: absolute;
	right: 11px;
	top: 8px;
	width: 12px;
  }
  #searchbox form::after {
	background-color: #6f6f6f;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	content: '';
	height: 6px;
	position: absolute;
	right: 10px;
	top: 17px;
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 2px;
  }
  #searchbox input[type="text"], #searchbox input[type="search"] {
	background-color: transparent;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	height: 32px;
	line-height: 32px;
	outline: 0;
	padding: 0 28px 0 0;
	width: 100%;
  }
  #searchbox input[type="submit"] {
	background-color: transparent;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	font-size: 10px;
	height: 32px;
	overflow: hidden;
	padding: 0;
	right: 0;
	text-indent: 100%;
	top: 0;
	white-space: nowrap;
	width: 28px;
  }
  #searchbtn {
	display: none;
  }
  #closebtn {
	display: none !important;
  }
}
@media screen and (min-width: 1000px) {
  #searchbox form {
	width: 228px;
  }
  #searchbox input[type="text"], #searchbox input[type="search"] {
	padding: 0;
	width: 200px;
  }
}
/* 回り込み・回り込み解除
==================================================
*/
.txt-img img {
  margin: 0 8px 8px 8px;
}
.center {
  margin: 5px 0;
  text-align: center;
}
.float-l {
  float: left;
}
.float-r {
  float: right;
}
.float-l img,
.float-r img {
  margin-bottom: 20px;
}
.float-l img {
  margin-right: 20px;
}
.float-r img {
  margin-left: 20px;
}
.clear, .FloatEnd {
  clear: both;
  font-size: 1px;
  height: 0;
  line-height: 0;
}
@media screen and (max-width: 640px) {
  .txt-img {
	padding: 0 10px;
	text-align: center !important;
	box-sizing:border-box;
  }
  td .txt-img,th .txt-img{padding:0;}
}
/*
==================================================
トップ部分
==================================================
*/
/* トップ
==================================================
*/
header {
  background-color: #f5f6f7;
}
#top {
  background-color: #f5f6f7;
  border-top: 2px solid #606f96;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 56px;
}
#top h1 {
  font-size: 16px;
  line-height: 1;
  margin: 0;
  padding: 16px 60px;
  text-align: center;
}
#top h1 a {
  color: #333333;
  display: inline-block;
  line-height: 1.4;
  text-decoration: none;
}
#top h1 a img {
  max-width: 70%;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  #top {
	border-bottom: 1px solid #eaecf0;
	border-top-width: 5px;
	padding: 30px 0 0;
  }
  #top .inner {
	position: relative;
  }
  #top h1 {
	margin-bottom: 30px;
	padding: 0 22%;
  }
  #top h1 a:hover {
	opacity: 0.8;
  }
  #top h1 a:hover img {
	opacity: 1;
  }
  #top h1 a img {
	max-width: none;
	max-height: 200px;
  }
}
@media screen and (min-width: 1000px) {
  #top .inner {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 10px;
	width: 1000px;
  }
  #top h1 {
	padding: 0 250px;
  }
}
/* ヘッダー
==================================================
*/
#header{
width:1000px;
margin:0 auto;
max-width:100%;
}
/* 個別ページ用ヘッダー */
#page_header{
	margin-bottom:24px;
}
#page_header img{
	width:100%;
	height:auto;
	max-height:400px;
	-o-object-fit: cover;
	   object-fit: cover;
	   font-family: 'object-fit: cover;';
}
/* トップメニュー
==================================================
*/
#topmenu::after {
  background-color: rgba(0, 0, 0, 0.65);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 99;
}
#topmenu ul {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  list-style: outside none none;
  margin: 0;
  padding: 5px 0;
  position: absolute;
  width: 100%;
  z-index: 1000;
}
#topmenu ul a img {
max-height:64px;
}
#topmenu ul > li {
  margin: 14px 20px;
  text-align: left;
}
#topmenu ul a {
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  text-decoration: none;
}
#topmenubtn {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #7e87a0;
  cursor: pointer;
  display: block;
  font-size: 8px;
  height: 44px;
  left: 8px;
  letter-spacing: 0;
  padding-top: 25px;
  position: absolute;
  text-align: center;
  top: 8px;
  width: 44px;
}
#topmenubtn::before, #topmenubtn::after {
  border-top: 1px solid #7e87a0;
  content: '';
  left: 10px;
  position: absolute;
  top: 11px;
  width: 24px;
}
#topmenubtn::after {
  top: 17px;
}
#topmenubtn span {
  display: block;
}
#topmenubtn span::before {
  border-top: 1px solid #7e87a0;
  content: '';
  left: 10px;
  position: absolute;
  top: 23px;
  width: 20px;
}
input#panelmenu[type="radio"] {
  display: none;
}
input#panelmenu[type="radio"] ~ #topmenu {
  display: none;
}
input#panelmenu[type="radio"]:checked ~ #topmenubtn::before, input#panelmenu[type="radio"]:checked ~ #topmenubtn::after {
  left: 10px;
  top: 17px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 24px;
}
input#panelmenu[type="radio"]:checked ~ #topmenubtn::after {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
input#panelmenu[type="radio"]:checked ~ #topmenubtn span {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
input#panelmenu[type="radio"]:checked ~ #topmenubtn span::before {
  display: none;
}
input#panelmenu[type="radio"]:checked ~ #topmenubtn span::after {
  content: 'CLOSE';
  left: 50%;
  position: absolute;
  text-indent: 0;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 25px;
}
input#panelmenu[type="radio"]:checked ~ #topmenu {
  display: block;
}
input#panelmenu[type="radio"]:checked ~ #closebtn {
  display: block;
  left: 8px;
  top: 8px;
}
@media screen and (min-width: 768px) {
  #topmenu {
	display: block !important;
  }
  #topmenu::after {
	display: none;
  }
  #topmenu ul {
	background-color: transparent;
	display: table;
	margin: 0 auto;
	padding: 0;
	position: static;
	table-layout: fixed;
	width: auto;
  }
  #topmenu ul > li {
	border: none;
	display: table-cell;
	overflow: hidden;
	position: relative;
	text-align: center;
  }
  #topmenu ul a {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	font-size: 14px;
	padding: 0 25px 20px;
	text-align: center;
  }
  #topmenu ul a::before {
	border-bottom: 0 solid #606f96;
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	-moz-transition: border-width 0.12s ease-in-out;
	-o-transition: border-width 0.12s ease-in-out;
	-webkit-transition: border-width 0.12s ease-in-out;
	transition: border-width 0.12s ease-in-out;
  }
  #topmenu ul a:hover::before {
	border-bottom-width: 3px;
  }
  #topmenubtn {
	display: none;
  }
}
/*
==================================================
メインコンテンツ
==================================================
*/
/* 記事領域
==================================================
*/
#main {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  text-align: left;
}
#main div[id^="text"], #space1, #space2 {
  margin-bottom: 32px;
  overflow: hidden;
  padding: 10px 0;
}
.shadow1, .shadow2, .shadow3{
margin-left:3px;
margin-right:3px;
}
@media screen and (min-width: 768px) {
  #main {
	float: right;
	padding: 10px 20px;
  }
  #main div[id^="text"], #space1, #space2 {
	padding: 10px 0;
  }
}
/* 見出し
==================================================
*/
#main h2,
#main h3 {
  margin: 0 0 10px;
  padding: 0;
  clear: both;
}
#main h2 > span,
#main h3 > span {
  border-bottom: 2px solid #dddddd;
  color: #333333;
  display: block;
  font-size: 21px;
  line-height: 1.5;
  padding: 6px 0;
  position: relative;
  z-index: 0;
}
#main div[id^="text"] h2, #main #space1 h2, #main #space2 h2,
#main div[id^="text"] h3, #main #space1 h3, #main #space2 h3 {
  margin: 10px 0;
}
#main h4 {
  border-left: 4px solid #4b587b;
  color: #333333;
  font-size: 19px;
  line-height: 1.5;
  margin: 20px 0 12px;
  padding: 1px 0 1px 10px;
  clear: both;
}
#main h5 {
  font-size: 18px;
  line-height: 1.5;
  margin: 20px 0 10px;
  padding: 0 0 0 18px;
  position: relative;
}
#main h5::before {
  background-color: #909cb8;
  content: '';
  height: 24px;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
  border-radius: 6px;
}
#main h6 {
  font-size: 17px;
  line-height: 1.6;
  margin: 8px auto;
  padding: 0 0 0 20px;
  position: relative;
}
#main h6::before {
  border: 6px solid transparent;
  border-left: 9px solid #4b587b;
  content: '';
  height: 0;
  left: 0;
  position: absolute;
  top: 7px;
  width: 0;
}
#contents div:not(.menuitem):not(id) > h4:first-child,
#contents div:not(.menuitem):not(id) > h5:first-child,
#contents div:not(.menuitem):not(id) > h6:first-child{
	margin-top:4px;
}
#main blockquote {
  background-color: #f8f8f8;
  border: none;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  padding: 30px 20px 20px;
  position: relative;
  z-index: 0;
}
#main blockquote::before {
  background-image: url(img/blockquote.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 28px auto;
  content: '';
  height: 32px;
  left: 6px;
  position: absolute;
  top: -9px;
  width: 30px;
}
@media screen and (min-width: 768px) {
  #main h2,
  #main h3 {
	font-size: 28px;
	margin: 0 0 20px;
	padding: 0;
  }
  #main h2 > span,
  #main h3 > span {
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 2px;
	padding: 10px 0 14px;
  }
  #main div[id^="text"] h2, #main #space1 h2, #main #space2 h2,
#main div[id^="text"] h3, #main #space1 h3, #main #space2 h3 {
	margin: 20px 0;
  }
  #main h4 {
	font-size: 24px;
	line-height: 1.4;
	margin: 25px 0 20px;
	padding: 2px 0 2px 13px;
  }
  #main h5 {
	font-size: 20px;
	line-height: 1.5;
	margin: 25px 0 15px;
  }
  #main h5::before {
	top: 3px;
  }
  #main h6 {
	font-size: 18px;
	line-height: 1.5;
	margin: 10px auto;
  }
  #main blockquote {
	padding: 28px 30px 28px 50px;
  }
  #main blockquote::before {
	background-size: 32px auto;
	height: 34px;
	top: -12px;
	width: 32px;
  }
}
/*
==================================================
画像付きボックス
==================================================
*/
#main .alert, #main .accept, #main .attention, #main .thint {
  background-image: none;
  border: none;
  border-left-style: solid;
  border-left-width: 4px;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  padding: 16px 15px 16px 48px;
  position: relative;
  z-index: 0;
}
#main .alert::before, #main .accept::before, #main .attention::before, #main .thint::before {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  content: '';
  height: 20px;
  left: 14px;
  position: absolute;
  top: 18px;
  width: 20px;
}
#main .alert.noimage, #main .accept.noimage, #main .attention.noimage, #main .thint.noimage {
  min-height: 0;
  padding: 16px 15px;
}
#main .alert.noimage::before, #main .accept.noimage::before, #main .attention.noimage::before, #main .thint.noimage::before {
  display: none;
}
#main .attention {
  background-color: #fff8e8;
  border-left-color: #ffc06e;
}
#main .attention::before {
  background-image: url(img/attention.png);
}
#main .accept {
  background-color: #e0f9fa;
  border-left-color: #27a8b1;
}
#main .accept::before {
  background-image: url(img/accept.png);
}
#main .alert {
  background-color: #fff0f0;
  border-left-color: #ff9c9b;
}
#main .alert::before {
  background-image: url(img/alert.png);
}
#main .thint {
  background-color: #f1f8ff;
  border-left-color: #5093e1;
}
#main .thint::before {
  background-image: url(img/thint.png);
}
@media screen and (min-width: 768px) {
  #main .alert, #main .accept, #main .attention, #main .thint {
	margin: 30px 0;
	padding: 20px 20px 20px 78px;
  }
  #main .alert::before, #main .accept::before, #main .attention::before, #main .thint::before {
	background-position: left center;
	background-size: 30px 30px;
	content: '';
	height: 100%;
	left: 24px;
	max-height: 94px;
	position: absolute;
	top: 0;
	width: 30px;
  }
  #main .alert.noimage, #main .accept.noimage, #main .attention.noimage, #main .thint.noimage {
	padding: 20px 20px;
  }
}
#main .user1,
#main .user2 {
  background-color: #fefbf3;
  background-image: none;
  border: 1px solid #f8ebbc;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  min-height: 70px;
  overflow: hidden;
  padding: 18px 15px;
  position: relative;
  _height: auto;
  z-index: 0;
}
#main .user1::before,
#main .user2::before {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 72px auto;
  content: '';
  float: left;
  margin: -10px 8px 0 0;
  height: 86px;
  width: 72px;
}
#main .user1.noimage,
#main .user2.noimage {
  min-height: 0;
  padding: 18px 15px;
}
#main .user1.noimage::before,
#main .user2.noimage::before {
  display: none;
}
#main .user1::before {
  background-image: url(img/user1.png);
}
#main .user2::before {
  background-image: url(img/user2.png);
}
@media screen and (min-width: 768px) {
  #main .user1,
  #main .user2 {
	margin: 30px 0;
	min-height: 68px;
	padding: 24px 20px 24px 145px;
  }
  #main .user1::before,
  #main .user2::before {
	background-size: 96px auto;
	height: 114px;
	left: 20px;
	position: absolute;
	width: 96px;
  }
  #main .user1.noimage,
  #main .user2.noimage {
	padding: 24px 20px;
  }
}
/*
==================================================
FAQ
==================================================
*/
.question1,
.answer1 {
  background-repeat: no-repeat;
  background-size: 28px auto;
  border: none;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  overflow: hidden;
}
.question1 {
  background-image: url(img/q1.png);
  background-position: 10px top;
  font-weight: bold;
  padding: 0 0 0 50px;
}
.question1 + .answer1 {
  margin-top: -10px;
}
.answer1 {
  background-image: url(img/a1.png);
  background-color: #f5f5f5;
  background-position: 20px 20px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 20px 30px 20px 63px;
}
@media screen and (min-width: 768px) {
  .question1,
  .answer1 {
	margin: 30px 0;
  }
  .question1 + .answer1 {
	margin-top: -15px;
  }
}
.question2,
.answer2 {
  background-position: 7px 20px;
  background-repeat: no-repeat;
  background-size: 36px auto;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  padding: 26px 15px 26px 52px;
}
.question2 {
  background-image: url(img/q2.png);
  border-top: 1px solid #cfd8dc;
  font-weight: bold;
}
.question2 + .answer2 {
  margin-top: -45px;
}
.answer2 {
  background-image: url(img/a2.png);
  border-bottom: 1px solid #cfd8dc;
}
@media screen and (min-width: 768px) {
  .question2,
  .answer2 {
	background-position: 7px 22px;
	margin: 30px 0;
	padding: 28px 15px 28px 62px;
  }
  .question2 + .answer2 {
	margin-top: -60px;
  }
}
/*
==================================================
サイドメニュー
==================================================
*/
/* メニュー
==================================================
*/
#menu,
#rmenu {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
}
#menu h4,
#menu .title,
#rmenu h4,
#rmenu .title {
  border-top: 1px solid #e5e5e5;
  color: #333333;
  font-weight: bold;
  margin: 0;
  padding: 20px 10px 0;
}
#menu .menubox,
#rmenu .menubox {
  overflow: hidden;
}
#menu div#submenu span,
#rmenu div#submenu span {
  display: block;
  margin: 10px;
  text-align: center;
}
#menu .menulist ul,
#rmenu .menulist ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
#menu .menulist li,
#rmenu .menulist li {
  line-height: 1;
  margin: 22px 20px;
}
#menu .menulist li a,
#rmenu .menulist li a {
  color: #333;
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
  padding-left: 16px;
  position: relative;
  text-decoration: none;
}
#menu .menulist li a::before,
#rmenu .menulist li a::before {
  background-color: #4b587b;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 13px;
  left: 0;
  position: absolute;
  top: 4px;
  width: 13px;
}
#menu .menulist li a::after,
#rmenu .menulist li a::after {
  background-image: url(img/menu_bg.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 7px auto;
  content: '';
  height: 7px;
  left: 3px;
  position: absolute;
  top: 7px;
  width: 7px;
}
#menu .menulist .l2 a::before,
#menu .menulist .l3 a::before,
#rmenu .menulist .l2 a::before,
#rmenu .menulist .l3 a::before {
  display: none;
}
#menu .menulist .l2 a::after,
#rmenu .menulist .l2 a::after {
  background-image: url(img/menu_bg2.png);
}
#menu .menulist .l3,
#rmenu .menulist .l3 {
  margin-left: 35px;
}
#menu .menulist .l3 a::before,
#rmenu .menulist .l3 a::before {
  display: none;
}
#menu .menulist .l3 a::after,
#rmenu .menulist .l3 a::after {
  background-image: none;
  border-top: 1px solid #bebebe;
  height: 1px;
  left: 2px;
  top: 11px;
  width: 6px;
}
#menu .rankbox,
#rmenu .rankbox {
  margin: 0 0 10px;
  padding: 0 0 10px;
}
@media screen and (min-width: 768px) {
  #menu,
  #rmenu {
	padding: 10px 0;
  }
  #menu h4,
  #menu .title,
  #rmenu h4,
  #rmenu .title {
	border-bottom: 1px solid #e5e5e5;
	border-top: none;
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 10px;
	padding: 0 0 10px;
  }
  #menu .menubox,
  #rmenu .menubox {
	margin-bottom: 40px;
  }
  #menu div#submenu,
  #rmenu div#submenu {
	margin-bottom: 40px;
  }
  #menu div#submenu span,
  #rmenu div#submenu span {
	margin: 10px 0;
	text-align: left;
  }
  #menu .menulist li,
  #rmenu .menulist li {
	margin: 10px 0 18px;
  }
  #menu .menulist li a:hover,
  #rmenu .menulist li a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  #menu .menulist .l3,
  #rmenu .menulist .l3 {
	margin-left: 15px;
  }
}
/* バナー領域
==================================================
*/
.bannerbox {
  position: relative;
}
.bannerbox ul {
  list-style: outside none none;
  margin: 0;
  padding: 10px 10px 0;
}
.bannerbox li {
  margin-bottom: 10px;
  text-align: center;
}
.bannerbox li a img {
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .bannerbox ul {
	padding: 0;
  }
  .bannerbox li {
	margin-bottom: 20px;
  }
}
/* 最新記事・アーカイブ
==================================================
*/
ul#newEntry, ul#entryarchive {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
ul#newEntry li, ul#entryarchive li {
  font-size: 14px;
  line-height: 1.6;
  margin: 15px 10px;
}
ul#newEntry li::after, ul#entryarchive li::after {
  clear: both;
  content: '';
  display: block;
}
ul#newEntry li .thumb, ul#entryarchive li .thumb {
  float: left;
  margin: 0 10px 10px 0;
  padding: 0;
  width: 80px;
}
ul#newEntry li .thumb img, ul#entryarchive li .thumb img {
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  max-height: 80px;
  max-width: 80px;
}
ul#newEntry li a, ul#entryarchive li a {
  color: #333;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  ul#newEntry li, ul#entryarchive li {
	margin: 15px 0;
  }
  ul#newEntry li a:hover, ul#entryarchive li a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
}
/*
==================================================
フッター
==================================================
*/
#footer span > a > img{
  max-height:240px;
}
#footer {
  background-color: #f5f6f7;
  border-top: 1px solid #eaecf0;
  position: relative;
  z-index: 0;
}
#footer .inner {
  letter-spacing: -.4em;
  overflow: hidden;
  padding: 20px;
  text-align: left;
}
#footer span {
  display: block;
  margin-bottom: 16px;
}
#footer span a {
  color: #5b5b5b;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  text-decoration: none;
}
#footer small {
  color: #b3b6b9;
  display: block;
  font-size: 10px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #footer {
	position: relative;
	z-index: 0;
  }
  #footer .inner {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 32px 0;
	text-align: center;
  }
  #footer span {
	display: inline-block;
	margin: 0 25px 16px;
  }
  #footer span a {
	font-size: 14px;
  }
  #footer span a:hover {
	text-decoration: underline;
  }
  #footer small {
	font-size: 11px;
	padding: 14px 0;
  }
}
@media screen and (min-width: 1000px) {
  #footer .inner {
	margin: 0 auto;
	width: 1000px;
  }
}
/*
==================================================
トップページ
==================================================
*/
#whatsnew {
  background-color: #fafafa;
  margin: 0 -10px 15px;
  padding: 10px;
}
#whatsnew .title {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 15px;
  padding: 10px 0;
}
#whatsnew .title span {
  color: #333333;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
#whatsnew ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
#whatsnew ul > li {
  margin: 0 0 20px;
}
#whatsnew ul > li span {
  display: block;
  position: relative;
}
#whatsnew ul > li span:nth-last-of-type(2) {
  color: #707070;
  font-size: 14px;
}
#whatsnew ul > li span a {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  #whatsnew {
	margin: 0 0 20px;
	padding: 20px 40px;
  }
  #whatsnew .title {
	margin-bottom: 18px;
  }
  #whatsnew ul > li a:hover {
	text-decoration: underline;
  }
}
/*
==================================================
カテゴリーページ
==================================================
*/
#categorylist {
  padding: 10px 0;
  text-align: left;
}
#categorylist .catbox {
  margin-bottom: 20px;
}
#categorylist .catbox::after {
  clear: both;
  content: '';
  display: block;
}
#categorylist .catbox:last-of-type {
  margin-bottom: 0;
}
#categorylist .thumb {
  float: left;
  margin-right: 10px;
}
#categorylist .thumb img {
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  max-height: 150px;
  width: 100px;
}
#categorylist .body::after {
  clear: both;
  content: '';
  display: block;
}
#categorylist .title {
  line-height: 1;
  margin-bottom: 2px;
  max-height: 48px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#categorylist .title a {
  color: #333333;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
}
#categorylist p {
  color: #5d5d5d;
  font-size: 10px;
  line-height: 1.6;
  margin-bottom: 10px;
  max-height: 30px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#categorylist .more {
  text-align: right;
}
#categorylist .more a {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  padding-right: 25px;
  position: relative;
  text-decoration: none;
  z-index: 0;
}
#categorylist .more a::before {
  border-top: 1px dotted #2379ca;
  content: '';
  position: absolute;
  right: 10px;
  top: 6px;
  width: 10px;
}
#categorylist .more a::after {
  border-right: 1px solid #2379ca;
  border-top: 1px solid #2379ca;
  content: '';
  height: 6px;
  position: absolute;
  right: 8px;
  top: 3px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 6px;
}
#main #pagelist {
  margin: 20px 0;
  text-align: center;
}
#main #pagelist ul {
  letter-spacing: -.4em;
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
#main #pagelist li {
  display: inline-block;
  letter-spacing: normal;
  margin: 0 0 2px !important;
  padding: 0 !important;
}
#main #pagelist li:nth-of-type(n+2) {
  margin-left: -1px !important;
}
#main #pagelist a {
  border: 1px solid #e9e9ea;
  background-color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  padding: 13px 16px;
  text-align: center;
  text-decoration: none;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  #categorylist {
	padding: 20px 10px;
  }
  #categorylist .catbox {
	margin-bottom: 40px;
  }
  #categorylist .thumb {
	margin-right: 20px;
  }
  #categorylist .thumb img {
	max-height: 220px;
	width: 180px;
  }
  #categorylist .title {
	margin-bottom: 10px;
	max-height: 72px;
  }
  #categorylist .title a {
	font-size: 24px;
	line-height: 1.5;
  }
  #categorylist .title a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  #categorylist p {
	font-size: 13px;
	line-height: 1.8;
	max-height: 70px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
  }
  #categorylist .more a:hover {
	color: #4f93d4;
  }
  #categorylist .more a:hover::before {
	border-top-color: #4f93d4;
  }
  #categorylist .more a:hover::after {
	border-right-color: #4f93d4;
	border-top-color: #4f93d4;
  }
  #main #pagelist {
	margin: 40px 0;
  }
  #main #pagelist a {
	padding: 18px 22px;
  }
  #main #pagelist a:hover {
	background-color: #e9e9ea;
	color: #8d8d8d;
  }
}
/*
==================================================
エントリーページ
==================================================
*/
#entrylist {
  overflow: hidden;
  margin: 0 0 15px;
  padding: 10px 0;
}
#entrylist h4 {
  border-bottom: 1px solid #e5e5e5;
  border-left: none;
  margin-bottom: 15px;
  padding: 10px 0;
}
#entrylist h4 span {
  border-left: 4px solid #4b587b;
  color: #333333;
  display: block;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  padding: 0 0 0 12px;
}
#entrylist dl {
  margin: 0;
  padding: 0;
}
#entrylist div {
  display: block;
  line-height: 1;
  margin: 0 0 20px;
}
#entrylist div::after {
  clear: both;
  content: '';
  display: block;
}
#entrylist .entry_thumb {
  float: left;
  margin: 0 10px 10px 0;
  padding: 0;
  width: 80px;
}
#entrylist .entry_thumb img {
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  max-height: 80px;
  max-width: 80px;
}
#entrylist dt {
  display: inline;
}
#entrylist dt span:last-of-type {
  display: block;
  overflow: hidden;
}
#entrylist dt span:last-of-type a {
  display: inline-block;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.6;
  max-height: 20px;
  overflow: hidden;
  padding-right: 20px;
  position: relative;
  text-decoration: none;
}
/*
#entrylist dt span:last-of-type a::before {
  border-top: 1px dotted #2379ca;
  content: '';
  position: absolute;
  right: 5px;
  top: 9px;
  width: 10px;
}
#entrylist dt span:last-of-type a::after {
  border-right: 1px solid #2379ca;
  border-top: 1px solid #2379ca;
  content: '';
  height: 6px;
  position: absolute;
  right: 3px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 6px;
  width: 6px;
}
*/
#entrylist dd {
  color: #5d5d5d;
  font-size: 10px;
  line-height: 1.6;
  margin: 0;
  max-height: 30px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#relNavigate {
  font-size: 0;
  letter-spacing: -0.4em;
  margin: 20px 0;
  text-align: center;
}
#relNavigate a {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin: 0 10px;
}
@media screen and (min-width: 768px) {
  #entrylist {
	margin: 0 0 20px;
	padding: 0;
  }
  #entrylist .entry_thumb {
	margin: 0 15px 15px 0;
	width: 120px;
  }
  #entrylist .entry_thumb img {
	max-height: 120px;
	max-width: 120px;
  }
  #entrylist dt {
	max-height: 50px;
  }
  #entrylist dt:last-of-type span a {
	font-size: 16px;
	line-height: 1.6;
	max-height: 25px;
  }
  #entrylist dt:last-of-type span a::before {
	top: 11px;
  }
  #entrylist dt:last-of-type span a::after {
	top: 8px;
  }
  #entrylist dt:last-of-type span a:hover {
	color: #4f93d4;
  }
  #entrylist dt:last-of-type span a:hover::before {
	border-top-color: #4f93d4;
  }
  #entrylist dt:last-of-type span a:hover::after {
	border-right-color: #4f93d4;
	border-top-color: #4f93d4;
  }
  #entrylist dd {
	font-size: 13px;
	line-height: 1.8;
	margin-top: 3px;
	max-height: 40px;
  }
  #relNavigate a {
	margin: 0 20px;
  }
}
/* エントリーリスト-type2 */
#main #entrylist.thumblist dl{
	display:flex;
	flex-wrap:wrap;
}
#main #entrylist.thumblist dl > div{
	line-height:1.5;
	padding:8px;
	overflow:visible;
	width:50%;
	box-sizing:border-box;
	margin:10px 0;
}
#main #entrylist.thumblist .entry_thumb img{
	width:100%;
	max-width:100%;
	height:120px;
	max-height:120px;
	-o-object-fit: cover;
	   object-fit: cover;
	   font-family: 'object-fit: cover;';
}
#main #entrylist.thumblist dt .entry_thumb{
	width:100%;
	float:none !important;
	display:block;
	margin:0 0 10px 0;
}
#main #entrylist.thumblist dt .entry_title a{
	color:#333;
	text-decoration:underline;
	display:block;
	overflow:visible;
	font-weight:bold;
	max-height:unset;
}
@media screen and (min-width:768px){
#main #entrylist.thumblist dl > div{width:33.333%;}
#main #entrylist.thumblist .entry_thumb img{
	max-width:100%;
	height:150px;
	max-height:150px;
}
/* レイアウト別 */
#column1 #main #entrylist.thumblist dl > div{width:25%;}
#column1 #main #entrylist.thumblist .entry_thumb img{
	height:180px;
	max-height:180px;
}
#column1 #main #entrylist.thumblist dl > div{width:50%;}
#column1 #main #entrylist.thumblist .entry_thumb img{
	height:140px;
	max-height:140px;
}
}
/*
==================================================
サイトマップページ
==================================================
*/
#sitemaps {
  margin: 0 0 20px;
  overflow: hidden;
}
#sitemaps ul {
  list-style: outside none none;
  margin: 0;
  overflow: visible;
  padding: 0;
}
#sitemaps li {
  line-height: 1;
  margin: 22px 10px;
  padding: 0;
}
#sitemaps li a {
  color: #333;
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
  padding-left: 16px;
  position: relative;
  text-decoration: none;
}
#sitemaps li a::before {
  background-color: #4b587b;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 13px;
  left: 0;
  position: absolute;
  top: 4px;
  width: 13px;
}
#sitemaps li a::after {
  background-image: url(img/menu_bg.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 7px auto;
  content: '';
  height: 7px;
  left: 3px;
  position: absolute;
  top: 7px;
  width: 7px;
}
#sitemaps .l2 a::before,
#sitemaps .l3 a::before {
  display: none;
}
#sitemaps .l2 a::after {
  background-image: url(img/menu_bg2.png);
}
#sitemaps .l3 {
  margin-left: 25px;
}
#sitemaps .l3 a::before {
  display: none;
}
#sitemaps .l3 a::after {
  background-image: none;
  border-top: 1px solid #bebebe;
  height: 1px;
  left: 2px;
  top: 11px;
  width: 6px;
}
#sitemaps br {
  display: none;
}
@media screen and (min-width: 768px) {
  #sitemaps {
	margin: 0 0 30px;
	padding: 10px;
  }
  #sitemaps li {
	margin: 10px 0 18px;
  }
  #sitemaps li a {
	font-size: 16px;
  }
  #sitemaps li a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  #sitemaps .l3 {
	margin-left: 15px;
  }
}
/*
==================================================
フリースペース
==================================================
*/
#space3, #space4, #space5, #space6 {
  padding: 10px;
}
@media screen and (min-width: 768px) {
  #space3, #space4, #space5, #space6 {
    padding: 0;
  }
  .sticky{
     background-color:#FFF;
  }
}
/*
==================================================
ブログモード
==================================================
*/
#blogarea{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
#blogarea .blog{
	width:100%;
              box-sizing:border-box;
	padding:0;
              box-shadow:0 2px 2px rgba(0,0,0,.2);
	margin:16px 0 24px;
	position:relative;
}
#blogarea .blog .bbox{
  padding: 12px 16px 15%;
}
#blogarea .blog .bbox:after{
	content:"";
	display:block;
	clear:both;
}
#blogarea .blog .title a{
	font-size:18px;
	text-decoration:none;
}
#blogarea .blog .thumb{
	float:none;
	padding:0;
	margin:0;
}
#blogarea .blog .thumb img{
	width:100%;
	height:200px;
	max-width:100%;
	max-height:200px;
	-o-object-fit: cover;
	   object-fit: cover;
	   font-family: 'object-fit: cover;';
}
#blogarea .blog .info {
    position:absolute;
    width:92%;
    bottom: 0;
    padding: 0;
    height: auto;
    overflow: hidden;
    box-sizing: border-box;
}
#blogarea .blog .plist{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.blog {
  margin: 20px 0 32px;
}
.blog::after {
  clear: both;
  content: '';
  display: block;
}
.blog .thumb {
  float: left;
  margin: 0 10px 10px 0;
}
.blog .thumb img {
  -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  max-height: 90px;
  max-width:90px;
  width: 90px;
  -o-object-fit: cover;
       object-fit: cover;
}
.blog .title {
  line-height: 1;
  margin-bottom: 2px;
}
.blog .title a {
  color: #333333;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
}
.blog .info {
  line-height: 1;
  text-align: right;
}
.blog .bbox{
  overflow:hidden;
}
.blog .info .plist a {
  background-color: #f0f2fa;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  color: #5e6a8b;
  margin-right:5px;
  max-width:100%;
  box-sizing:border-box;
  float:left;
  font-size:10px;
  padding:6px 4px 6px 25px;
  position:relative;
  text-decoration:none;
  line-height:1.6;
  text-align:left;
  height:26px;
  overflow:hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis; /* Safari */
  -o-text-overflow: ellipsis; /* Opera */
}
.blog .info .plist a::before{
  background-image: url(img/icon_folder.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 17px auto;
  content: '';
  display: inline-block;
  height: 14px;
  margin-right: 5px;
  vertical-align: sub;
  width: 17px;
  position:absolute;
  left:5px;
  top:6px;
}
.blog .info .plist a:nth-child(2){
  margin-right:0;
}
.blog .info time {
  color: #b5b5b5;
  display: inline-block;
  font-size: 12px;
  line-height: 1.6;
  padding:6px 0px;
  box-sizing:border-box;
}
.blog .info time::before {
  background-image: url(img/icon_time.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 14px auto;
  content: '';
  display: inline-block;
  height: 14px;
  margin-right: 5px;
  vertical-align: sub;
  width: 14px;
}
.blog .body {
  color: #5d5d5d;
  font-size: 10px;
  line-height: 1.6;
  margin-bottom: 10px;
  max-height: 48px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (min-width: 768px) {
  .blog {
	margin: 40px 10px 66px 10px;
  }
  .blog .thumb {
	margin: 0 20px 20px 0;
  }
  .blog .thumb img {
	max-height: 240px;
	max-width: 180px;
	width:180px;
  }
  .blog .title {
	margin-bottom: 10px;
  }
  .blog .title a {
	font-size: 24px;
	line-height: 1.5;
  }
  .blog .title a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  .blog .info .plist a:hover {
	opacity: 0.8;
  }
  .blog .info time {
	font-size: 12px;
  }
  .blog .body {
	font-size: 13px;
	line-height: 1.8;
	margin-bottom: 16px;
	max-height: 70px;
  }
  /* カラム別の表示変更 */
  #column1 #blogarea .blog{
	width:31.33%;
	margin:10px 1%;
  }
  #column2 #blogarea .blog{
	width:48%;
	margin:10px 1%;
  }
  #column3 #blogarea .blog{
	width:100%;
	margin:10px 0;
  }
}
/*
==================================================
サイト内検索
==================================================
*/
#searchresult {
  margin-bottom: 20px;
  padding: 10px 0;
}
#searchresult dl {
  margin: 0 0 -20px;
  padding: 0;
}
#searchresult dt {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 2px;
}
#searchresult dd {
  color: #5d5d5d;
  font-size: 10px;
  line-height: 1.6;
  margin: 0 0 20px;
}
#searchresult b {
  color: #3f475d;
}
@media screen and (min-width: 768px) {
  #searchresult {
	padding: 10px;
  }
  #searchresult dt {
	margin: 0 0 7px;
  }
  #searchresult dd {
	font-size: 13px;
  }
}
/*
==================================================
リンク集
==================================================
*/
#linklist {
  margin: 0;
  padding: 10px 0;
}
#linklist dt {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 2px;
}
#linklist dd {
  color: #5d5d5d;
  font-size: 10px;
  line-height: 1.6;
  margin: 0 0 20px;
}
@media screen and (min-width: 768px) {
  #linklist {
	padding: 10px;
  }
  #linklist dt {
	margin: 0 0 7px;
  }
  #linklist dd {
	font-size: 13px;
  }
}
/*
==================================================
ポイント
==================================================
*/
.point1, .point2, .point3, .point4, .point5, .point6, .point7, .point8, .point9, .point10 {
  border: none !important;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height:auto;
}
#main .point1, #main .point2, #main .point3, #main .point4, #main .point5, #main .point6, #main .point7, #main .point8, #main .point9, #main .point10 {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 44px auto;
  color: #333333;
  font-size: 19px;
  font-weight: bold;
  height: auto;
  line-height: 1.5;
  margin: 20px 0 8px;
  min-height: 32px;
  padding: 1px 0 0 54px;
}
@media screen and (min-width: 768px) {
  #main .point1, #main .point2, #main .point3, #main .point4, #main .point5, #main .point6, #main .point7, #main .point8, #main .point9, #main .point10 {
	background-size: 54px auto;
	font-size: 22px;
	line-height: 1.4;
	margin: 25px 0 20px;
	min-height: 41px;
	padding: 6px 0 0 64px;
  }
}
.point1 {
  background-image: url(img/point1.png);
}
.point2 {
  background-image: url(img/point2.png);
}
.point3 {
  background-image: url(img/point3.png);
}
.point4 {
  background-image: url(img/point4.png);
}
.point5 {
  background-image: url(img/point5.png);
}
.point6 {
  background-image: url(img/point6.png);
}
.point7 {
  background-image: url(img/point7.png);
}
.point8 {
  background-image: url(img/point8.png);
}
.point9 {
  background-image: url(img/point9.png);
}
.point10 {
  background-image: url(img/point10.png);
}
/* メニュー用ポイント
==================================================
*/
#menu div[class^="point"]:not(.point),
#rmenu div[class^="point"]:not(.point){
	background-size: 40px auto;
	font-size:17px;
	line-height:1.5;
	margin:12px 0;
	min-height:33px;
	padding: 6px 0 0 48px;
	background-position:left 2px;
}
/*
==================================================
ランキング
==================================================
*/
/* メインコンテンツ用ランキング
==================================================
*/
.rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
  border: none;
  height: auto;
}
.rank {
  background-color: #f7f8fa;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 5px;
}
.rank .rank1, .rank .rank2, .rank .rank3, .rank .rank4, .rank .rank5, .rank .rank6, .rank .rank7, .rank .rank8, .rank .rank9, .rank .rank10 {
    background-position: 10px top;
    background-size: 72px auto;
    font-size: 24px;
    line-height: 1.5;
    margin: 15px 0 10px;
    min-height: 66px;
    padding: 18px 0 0px 88px;
}
.rank .rank1 a, .rank .rank2 a, .rank .rank3 a, .rank .rank4 a, .rank .rank5 a, .rank .rank6 a, .rank .rank7 a, .rank .rank8 a, .rank .rank9 a, .rank .rank10 a {
  color: #333333;
  text-decoration: none;
  text-shadow: 0 3px 1px rgba(0, 0, 0, 0.1);
}
.rank .rank-container {
  background-color: #fff;
  border-top: 4px solid #606f96;
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  padding: 10px;
  position: relative;
}
.rank .rank-inner {
  overflow: hidden;
}
.rank .float-l,
.rank .float-r {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: none;
  margin: 10px auto 0;
  max-width: 75%;
  text-align: center;
}
.rank .float-l img,
.rank .float-r img {
 margin: 0 0 10px;
}
.rank .rankbox {
  margin: 10px 0;
  overflow: hidden;
  padding: 0 5px;
}
.rank .feature {
  color: #333333;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 10px;
}
.rank .rnkbody {
  font-size: 16px;
  line-height: 1.6;
}
.rank .rank-table table {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 16px;
  line-height: 1.6;
  margin: 10px 0;
  overflow: hidden;
  width: 100%;
}
.rank .rank-table table td {
  background-color: transparent;
  border: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  float: left;
  padding: 10px 0;
  text-align: left;
  width: 100%;
  word-break: break-all;
}
.rank .rank-table table td {
  border-top: 1px solid #e5e5e5;
}
.rank .rank-table table tr:first-child td:first-child{
    border-top:none;
}
.rank .rank-table table td::after {
  clear: both;
  content: '';
  display: block;
}
.rank .rank-table table td div:first-of-type {
  float: left;
  font-size: 12px;
  letter-spacing: 0;
  margin-right: 15px;
  padding: 0;
  position: relative;
  text-align: center;
  text-indent: 0;
  width: 44px;
}
.rank .rank-table table td div:first-of-type::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30px auto;
  content: '';
  display: block;
  height: 38px;
  width: 100%;
}
.rank .rank-table table td div:first-of-type.icon-price::before {
  background-image: url(img/icon_price.png);
}
.rank .rank-table table td div:first-of-type.icon-evaluation::before {
  background-image: url(img/icon_evaluation.png);
}
.rank .rank-table table td div:first-of-type.icon-remarks::before {
  background-image: url(img/icon_remarks.png);
}
.rank .rank-table table td div.icon-info ~ div{
    padding: 6px;
}
.rank .rank-table table td div:first-of-type.icon-info::before {
  display:none;
}
.rank .rank-table table td div:nth-of-type(2) {
  overflow: hidden;
  padding-top: 15px;
  vertical-align: bottom;
  font-size:0.9em;
}
.rank .rank-table table td div:nth-of-type(2) img {
  vertical-align: middle;
}
.rank .rank-table table td span {
  color: #b32300;
  font-size: 12px;
}
.rank .rank-table table td span b {
  font-family: Arial;
  font-size: 24px;
  letter-spacing: 0;
  line-height: 1;
  margin: -4px 5px 0 0;
}
.rank .comment {
  background-color: #f5f8ff;
  background-image: url(img/comment_bg.png);
  background-position: left top;
  background-repeat: repeat;
  border: 1px dashed #d7dceb;
  position: relative;
  z-index: 0;
}
.rank .comment .comment-inner {
  padding: 17px 15px;
}
.rank .comment .comment-tit {
  margin-bottom: 8px;
  padding-left: 25px;
  position: relative;
}
.rank .comment .comment-tit::before {
  border: 7px solid transparent;
  border-top: 11px solid #4b587b;
  content: '';
  height: 0;
  left: 0;
  position: absolute;
  top: 7px;
  width: 0;
}
.rank .comment .comment-tit span {
  color: #333333;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.5;
}
.rank .comment .comment-body {
  font-size: 16px;
  line-height: 1.6;
}
.rank .more {
  position: relative;
  text-align: center;
}
.rank .more span {
  display: block;
  margin-top: 10px;
}
.rank .more span a {
  display: block;
  height: 62px;
  position: relative;
}
.rank .more span a::before {
  background-color: #40c2b3;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU0ZDZjNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzQwYzJiMyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #54d6c7), color-stop(100%, #40c2b3));
  background-image: -moz-linear-gradient(left, #54d6c7, #40c2b3);
  background-image: -webkit-linear-gradient(left, #54d6c7, #40c2b3);
  background-image: linear-gradient(to right, #54d6c7, #40c2b3);
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 0 3px 0 #22998b;
  -webkit-box-shadow: 0 3px 0 #22998b;
  box-shadow: 0 3px 0 #22998b;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.rank .more span a::after {
  background-image: url(img/button_more.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: '';
  left: 0;
  margin: 0 auto;
  max-width: 230px;
  position: absolute;
  right: 0;
  top: 0;
  width: 90%;
}
.rank .more span.official a::before {
  background-color: #ffab3d;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2YzE1ZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmYWIzZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #f6c15d), color-stop(100%, #ffab3d));
  background-image: -moz-linear-gradient(left, #f6c15d, #ffab3d);
  background-image: -webkit-linear-gradient(left, #f6c15d, #ffab3d);
  background-image: linear-gradient(to right, #f6c15d, #ffab3d);
  -moz-box-shadow: 0 3px 0 #dd9037;
  -webkit-box-shadow: 0 3px 0 #dd9037;
  box-shadow: 0 3px 0 #dd9037;
}
.rank .more span.official a::after {
  background-image: url(img/button_official.png);
}
@media screen and (min-width: 768px) {
  .rank {
	margin: 0 0 30px;
	padding: 10px;
  }
  .rank .rank1, .rank .rank2, .rank .rank3, .rank .rank4, .rank .rank5, .rank .rank6, .rank .rank7, .rank .rank8, .rank .rank9, .rank .rank10 {
	background-position: 10px top;
	background-size: 64px auto;
	font-size: 26px;
	line-height: 1.5;
	margin: 15px 0 10px;
	min-height: 66px;
	padding: 10px 0 0px 78px;
  }
  .rank .rank-table table td {
    border-top: none;
  }
  .rank .rank1 a:hover, .rank .rank2 a:hover, .rank .rank3 a:hover, .rank .rank4 a:hover, .rank .rank5 a:hover, .rank .rank6 a:hover, .rank .rank7 a:hover, .rank .rank8 a:hover, .rank .rank9 a:hover, .rank .rank10 a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  .rank .rank-container {
	padding: 15px;
  }
  .rank .float-l,
  .rank .float-r {
	margin: 20px auto 0;
  }
  .rank .float-l img,
  .rank .float-r img {
	margin: 0 0 20px;
  }
  .rank .rankbox {
	margin: 20px 10px;
	padding: 0 10px;
  }
  .rank .feature {
	font-size: 22px;
	margin-bottom: 16px;
  }
  .rank .comment {
	margin: 20px 0 0;
	position: relative;
	z-index: 0;
  }
  .rank .comment .comment-inner {
	padding: 22px 25px;
  }
  .rank .comment .comment-tit {
	margin-bottom: 12px;
	padding-left: 25px;
  }
  .rank .comment .comment-tit::before {
	top: 10px;
  }
  .rank .comment .comment-tit span {
	font-size: 22px;
  }
  .rank .more span a {
	height: 70px;
  }
  .rank .more span a::after {
	max-width: 280px;
  }
  .rank .more span a:hover {
	left: 0;
	top: 0;
  }
  .rank .more span a:hover::before {
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzZkZGNjZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzU3YzliYyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
	background-size: 100%;
	background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #6ddccf), color-stop(100%, #57c9bc));
	background-image: -moz-linear-gradient(left, #6ddccf, #57c9bc);
	background-image: -webkit-linear-gradient(left, #6ddccf, #57c9bc);
	background-image: linear-gradient(to right, #6ddccf, #57c9bc);
	-moz-box-shadow: 0 1px 0 #28b2a2;
	-webkit-box-shadow: 0 1px 0 #28b2a2;
	box-shadow: 0 1px 0 #28b2a2;
	left: 1px;
	top: 2px;
  }
  .rank .more span a:hover::after {
	left: 2px;
	top: 4px;
  }
  .rank .more span.official a:hover::before {
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3Y2E3NSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmYjY1NyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
	background-size: 100%;
	background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #f7ca75), color-stop(100%, #ffb657));
	background-image: -moz-linear-gradient(left, #f7ca75, #ffb657);
	background-image: -webkit-linear-gradient(left, #f7ca75, #ffb657);
	background-image: linear-gradient(to right, #f7ca75, #ffb657);
	-moz-box-shadow: 0 1px 0 #e19c4d;
	-webkit-box-shadow: 0 1px 0 #e19c4d;
	box-shadow: 0 1px 0 #e19c4d;
  }
}
.rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 44px auto;
  border: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 17px;
  font-weight: 700;
  height: auto;
  line-height: 1.5;
  margin: 12px 0;
  min-height: 33px;
  padding: 6px 0 0 48px;
  position: relative;
}
.rank1 {
  background-image: url(img/rank1.png);
}
.rank2 {
  background-image: url(img/rank2.png);
}
.rank3 {
  background-image: url(img/rank3.png);
}
.rank4 {
  background-image: url(img/rank4.png);
}
.rank5 {
  background-image: url(img/rank5.png);
}
.rank6 {
  background-image: url(img/rank6.png);
}
.rank7 {
  background-image: url(img/rank7.png);
}
.rank8 {
  background-image: url(img/rank8.png);
}
.rank9 {
  background-image: url(img/rank9.png);
}
.rank10 {
  background-image: url(img/rank10.png);
}
@media screen and (min-width: 768px) {
  .rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
	background-size: 56px auto;
	font-size: 24px;
	line-height: 1.4;
	margin: 20px 0;
	min-height: 42px;
	padding: 10px 0 0 62px;
  }
}
/* メニュー用ランキング
==================================================
*/
#menu .rank1, #menu .rank2, #menu .rank3, #menu .rank4, #menu .rank5 ,#menu .rank6, #menu .rank7, #menu .rank8, #menu .rank9, #menu .rank10{
  background-size: 44px auto;
  font-size: 17px;
  line-height: 1.5;
  margin: 12px 0;
  min-height: 33px;
  padding: 6px 0 0 48px;
}
/*
==================================================
１カラムレイアウト
==================================================
*/
#column1 #menu,
#column1 #main {
  float: none;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #column1 #menu .menulist li,
  #column1 #rmenu .menulist li {
	float: left;
	margin: 10px 20px 10px 0;
  }
  #column1 #menu .menulist li a:hover,
  #column1 #rmenu .menulist li a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  #column1 #menu .menulist .l2 a::before,
  #column1 #menu .menulist .l3 a::before,
  #column1 #rmenu .menulist .l2 a::before,
  #column1 #rmenu .menulist .l3 a::before {
	display: block;
  }
  #column1 #menu .menulist .l2 a::after,
  #column1 #menu .menulist .l3 a::after,
  #column1 #rmenu .menulist .l2 a::after,
  #column1 #rmenu .menulist .l3 a::after {
	background-image: url(img/menu_bg.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 7px auto;
	border: none;
	content: '';
	height: 7px;
	left: 3px;
	position: absolute;
	top: 7px;
	width: 7px;
  }
  #column1 ul#newEntry li, #column1 ul#entryarchive li {
	margin-right: 25px;
	float: left;
	overflow: hidden;
  }
  #column1 ul#newEntry li div, #column1 ul#entryarchive li div {
	margin-bottom: 10px;
  }
  #column1 ul#newEntry li div:last-of-type, #column1 ul#entryarchive li div:last-of-type {
	overflow: hidden;
  }
  #column1 ul#newEntry li a:hover, #column1 ul#entryarchive li a:hover {
	color: #4f93d4;
  }
  #column1 #categorylist .thumb img {
	max-height: 280px;
	width: 240px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
  }
  #column1 .rank .float-l,
  #column1 .rank .float-r {
	float: left;
	margin: 20px 30px 0;
	max-width: 220px;
  }
  #column1 .rank .rank-table table {
	table-layout: fixed;
  }
  #column1 .rank .rank-table table td {
	display: table-cell;
	float: none;
	padding: 5px 20px;
	vertical-align: top;
  }
  #column1 .rank .rank-table table td:nth-child(n+2) {
	border-top: none;
	border-left: 1px solid #e5e5e5;
  }
  #column1 .rank .more {
	display: table;
	margin: 15px 0 8px;
	width: 100%;
  }
  #column1 .rank .more span {
	display: table-cell;
	margin-top: 0;
	padding-left:6px;
	padding-right:6px;
  }
  #column1 .rank .more span:nth-of-type(2) {
	width: 50%;
  }
}
/*
==================================================
２カラムレイアウト
==================================================
*/
@media screen and (min-width: 768px) {
  #column2 #main {
	width: 69%;
  }
  #column2 #menu {
	width: 30%;
  }
  #column2 .rank .more {
	display: table;
	margin: 15px 0 8px;
	width: 100%;
  }
  #column2 .rank .more span {
	display: table-cell;
	margin-top: 0;
	padding-left:4px;
	padding-right:4px;
  }
  #column2 .rank .more span:nth-of-type(2) {
	width: 50%;
  }
}
@media screen and (min-width: 1000px) {
  #column2 #main {
	width: 680px;
  }
  #column2 #menu {
	width: 300px;
  }
  #column2 #categorylist .thumb img {
	max-height: 280px;
	width: 240px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
  }
  #column2 .rank .float-l,
  #column2 .rank .float-r {
	float: left;
	margin: 20px 30px 0;
	max-width: 220px;
  }
  #column2 .rank .rank-table table {
	table-layout: fixed;
  }
  #column2 .rank .rank-table table td {
	display: table-cell;
	float: none;
	padding: 5px 10px;
	vertical-align: top;
  }
  #column2 .rank .rank-table table td:nth-child(n+2) {
	border-top: none;
	border-left: 1px solid #e5e5e5;
  }
  /*メニュー用ランキング
  ==================================================
  */
  #menu .rank .float-l,  #menu .rank .float-r{float:none;}
  #menu .rank .rank-table table td{
    display:block;
    padding:0;
    border:none !important;
  }
  #menu .rank{font-size:15px;}
  #menu .rank .feature{font-size:1.1em}
  #menu .rank .comment .comment-tit{padding:0;}
  #menu .rank .comment .comment-tit::before{display:none;}
  #menu .rank .comment .comment-inner{padding:10px 15px;}
  #menu .rank .comment .comment-tit span{font-size:1.1em;}
  #menu .rank .more span a{height:60px;}
  #menu .rank .more span a::after{width:75%;}
  #menu .rank .rank-table table td span b{font-size:28px;}
  #column2 #menu .rank .more span{
    display:block;
    width:100%;
    padding:0;
    margin:8px 0;
  }
  #menu .rank .rank1,#menu .rank .rank2,#menu .rank .rank3,#menu .rank .rank4,#menu .rank .rank5,#menu .rank .rank6,#menu .rank .rank7,#menu .rank .rank8,#menu .rank .rank9,#menu .rank .rank10{
   background-position:0 top;
  }
}
/*
==================================================
３カラムレイアウト
==================================================
*/
@media screen and (min-width: 768px) {
  #column3 #layoutbox {
	float: left;
	width: 79%;
  }
  #column3 #layoutbox::after {
	clear: both;
	content: '';
	display: block;
  }
  #column3 #main {
	width: 73%;
  }
  #column3 #menu {
	width: 27%;
  }
  #column3 #rmenu {
	float: right;
	width: 21%;
  }
}
@media screen and (min-width: 1000px) {
  #column3 #layoutbox {
	width: 780px;
  }
  #column3 #main {
	width: 560px;
  }
  #column3 #menu {
	width: 210px;
  }
  #column3 #rmenu {
	width: 210px;
  }
  #column3 .rank .more {
	display: table;
	margin: 15px 0 8px;
	width: 100%;
  }
  #column3 .rank .more span {
	display: table-cell;
	margin-top: 0;
	padding-left: 4px;
	padding-right: 4px;
  }
  #column3 .rank .more span:nth-of-type(2) {
	width: 50%;
  }
  /*３カラムメニュー用ランキング
  ==================================================
  */
  #rmenu .rank .float-l,
  #rmenu .rank .float-r{
    float:none;
  }
  
  #rmenu .rank .rank-table table td{
    display:block;
    padding:0;
    border:none !important;
  }
  #rmenu .rank{font-size:15px;}
  #rmenu .rank .feature{font-size:1.1em}
  #rmenu .rank .comment .comment-tit{padding:0;}
  #rmenu .rank .comment .comment-tit::before{display:none;}
  #rmenu .rank .comment .comment-inner{padding:10px 15px;}
  #rmenu .rank .comment .comment-tit span{font-size:1.1em;}
  #rmenu .rank .more span a{height:60px;}
  #menu .rank .more span a::after,#rmenu .rank .more span a::after{width:90%;}
  #rmenu .rank .rank-table table td span b{font-size:28px;}
  #column3 #menu .rank .more span,
  #column3 #rmenu .rank .more span{
    display:block;
    width:100%;
    padding:0;
    margin:8px 0;
  }
  #rmenu .rank .rank1,#rmenu .rank .rank2,#rmenu .rank .rank3,#rmenu .rank .rank4,#rmenu .rank .rank5,#rmenu .rank .rank6,#rmenu .rank .rank7,#rmenu .rank .rank8,#rmenu .rank .rank9,#rmenu .rank .rank10{
    background-position:0 top;
  }
  #column3 #menu .rank .rank-table table td div:first-of-type,
  #column3 #rmenu .rank .rank-table table td div:first-of-type{
    margin-right:6px;
  }
}
/* ランキングスタイル調整 */
@media screen and (min-width: 1000px){
	#column1 .rank .more{
		display:flex;
		justify-content: space-around;
		flex-wrap:nowrap;
	}
	#column1 .rank .more span{
		flex-grow: 1;
		max-width:50%;
		display: block;
	}
}
@media all and (-ms-high-contrast:none) and (min-width:768px) {
  #column1 .rank .more span {
	flex-grow: 0;
	width:50%;
  }
}
/*
==================================================
独自スタイル
==================================================
*/
.originbox01{
	padding:5px;
}
.originbox01 > div{
    margin:5px 0;
    padding:15px;
    box-sizing:border-box;
    background-color:#F5F5F5;
}
@media screen and (min-width: 768px) {
  .originbox01 {
  	display: flex;
  	justify-content: space-between;
  	flex-wrap: wrap;
  }
  .originbox01 div[class^="btn"] {
  	width: auto;
  }
  .originbox01 > div {
  	width: 49.5%;
  }
  .originbox01.col3 > div {
  	width: 33%;
  }
  .originbox01.col4 > div {
  	width: 24.5%;
  }
  .originbox01 > div:nth-last-child(2) {
  	border-bottom:none;
  }
}
/* ページトップ追加スタイル */
#pagetop.pt-active{
position:fixed;
bottom:2%;
right:2%;
width:auto;
background-color:transparent;
opacity:0.8;
padding:0;
height:auto;
transition:opacity 0.4s ease-out;
z-index:100;
}
#pagetop.pt-active.pt-tops{opacity:0;transition:opacity 0.3s ease-out;}
#pagetop.pt-active > span,#pagetop.pt-active > a{margin:0;}
/*
==================================================
レイアウト切り替え用スタイル
==================================================
*/
.freespace_sp{
    padding:10px 0;
}
.freespace_sp:after,
#layoutbox::after{
    display:block;
    content:"";
    clear:both;
}
#headerbox {
  height: auto !important;
}
@media screen and (max-width: 767px) {
  #main,
  #menu,
  #rmenu,
  #layoutbox {
	float: none !important;
  }
  #topmenubtn {
	  display: none;
  }
  #searchbtn {
	  display: none;
  }
}
@media screen and (min-width: 768px) {
  #top h1 {
	padding: 0;
  }
}
#contents #main .txt-border {
  margin: 10px 0;
}
#contents #main .txt-decbox1 .top h3 > span,
#contents #main .txt-decbox2 .top h3 > span {
  display: block;
  padding: 8px 0;
}
#contents #main .txt-decbox1 .body,
#contents #main .txt-decbox2 .body {
  overflow: hidden;
}
#contents #main .txt-decbox1 .body h3,
#contents #main .txt-decbox2 .body h3 {
  margin: 10px 0 !important;
  padding: 0;
}
#contents #main .txt-decbox1 .body h3 > span,
#contents #main .txt-decbox2 .body h3 > span {
  border-bottom: 2px solid #dddddd;
  color: #333333;
  display: block;
  font-size: 21px;
  line-height: 1.5;
  padding: 6px 0;
  position: relative;
  text-align: left;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  #contents #main .txt-border {
	margin: 10px;
  }
  #contents #main .txt-decbox1 .body h3,
  #contents #main .txt-decbox2 .body h3 {
	margin: 20px 0;
  }
  #contents #main .txt-decbox1 .body h3 > span,
  #contents #main .txt-decbox2 .body h3 > span {
	font-size: 28px;
	line-height: 1.4;
	padding: 10px 0 12px;
  }
  #contents #main .txt-decbox1 .top {
	background-image: url("img/decbox_t.gif"), url("img/decbox_t.gif"), url("img/decbox_t.gif");
	background-position: left top, 850px top, 1700px top;
  }
  #contents #main .txt-decbox1 .bottom {
	background-image: url("img/decbox_b.gif"), url("img/decbox_b.gif"), url("img/decbox_b.gif");
	background-position: left top, 850px top, 1700px top;
  }
  .txt-decbox2 {
	position: relative;
	z-index: 0;
  }
  .txt-decbox2::before, .txt-decbox2::after {
	background-image: url("img/decbox2_r.gif");
	background-position: left bottom;
	background-repeat: repeat-y;
	bottom: 0;
	content: '';
	position: absolute;
	top: 0;
	width: 880px;
	z-index: -2;
  }
  .txt-decbox2::before {
	right: 900px;
  }
  .txt-decbox2::after {
	right: 1780px;
  }
  .txt-decbox2 .body {
	z-index: 1;
  }
  .txt-decbox2 .top,
  .txt-decbox2 .bottom {
	position: relative;
  }
  .txt-decbox2 .top::before, .txt-decbox2 .top::after,
  .txt-decbox2 .bottom::before,
  .txt-decbox2 .bottom::after {
	background-repeat: no-repeat;
	content: '';
	height: 16px;
	position: absolute;
	z-index: -1;
  }
  .txt-decbox2 .top::before,
  .txt-decbox2 .bottom::before {
	right: 900px;
  }
  .txt-decbox2 .top::before, .txt-decbox2 .top::after {
	background-image: url("img/decbox2_tr.gif");
	background-position: left top;
	top: 0;
	width: 890px;
  }
  .txt-decbox2 .top::after {
	right: 1790px;
  }
  .txt-decbox2 .bottom::before, .txt-decbox2 .bottom::after {
	background-image: url("img/decbox2_br.gif");
	background-position: left bottom;
	bottom: 0;
	width: 730px;
  }
  .txt-decbox2 .bottom::after {
	right: 1630px;
  }
}
body{
}
#headertext ,#header .desc{

}
@media screen and (min-width:768px){
#header span:not([class]) ~ #headertxt h2.title a, #header span ~ #headertxt h2.title a{font-size: 20px;}
#header span:not([class]) ~ #headertxt > div:nth-of-type(2) div, #header span ~ #headertxt > div:nth-of-type(2) div{font-size: 1px;}
#main{ float: right; }
#column2 #menu,#column3 #menu{ float: left; }
#column3 #rmenu { float: right; }
#column3 #layoutbox { float: left; }
#column3 #main { float: right; }
}

