@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: #87aac6;
  -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: #f2f5f7;
  border: 1px solid #618fb2;
  -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: #3776a8;
  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: #246095;
  -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: #296daa;
	-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: #246095;
  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 #628db2;
  -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: #628db2;
  -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 #e1e4e8;
	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: #f7f9fa;
}
#top {
  background-color: #f5f7f8;
  border-top: 2px solid #3b73a5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 56px;
}
#top h1 {
  font-size: 30px;
  line-height: 1;
  margin: 0;
  padding: 16px 10px;
  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 #eaeef2;
	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: #628db2;
  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 #628db2;
  content: '';
  left: 10px;
  position: absolute;
  top: 11px;
  width: 24px;
}
#topmenubtn::after {
  top: 17px;
}
#topmenubtn span {
  display: block;
}
#topmenubtn span::before {
  border-top: 1px solid #628db2;
  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 #3b73a5;
	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 #246095;
  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: #87aac6;
  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 #246095;
  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: #246095;
  -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: #f5f7f8;
  border-top: 1px solid #eaeef2;
  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: #b5b8ba;
  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 #246095;
  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: #246095;
  -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: #f4f7fb;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  color: #637d95;
  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: #1c5383;
}
@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, .rank11, .rank12 {
  border: none;
  height: auto;
}
.rank {
  background-color: #f7f9fa;
  -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, .rank .rank11, .rank .rank12 {
    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, .rank .rank11 a, .rank .rank12 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 #3b73a5;
  -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: #f5fafe;
  background-image: url(img/comment_bg.png);
  background-position: left top;
  background-repeat: repeat;
  border: 1px dashed #cbdff0;
  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 #246095;
  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, .rank .rank11, .rank .rank12 {
	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, .rank .rank11 a:hover, .rank .rank12 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, .rank11, .rank12 {
  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);
}
.rank11 {
  background-image: url(img/rank11.png);
}
.rank12 {
  background-image: url(img/rank12.png);
}
@media screen and (min-width: 768px) {
  .rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10, .rank11, .rank12 {
	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: 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{}
#header span:not([class]) ~ #headertxt > div:nth-of-type(2) div, #header span ~ #headertxt > div:nth-of-type(2) div{}
#main{ float: left; }
#column2 #menu,#column3 #menu{ float: right; }
#column3 #rmenu { float: left; }
#column3 #layoutbox { float: right; }
#column3 #main { float: left; }
}

/*-------------------------
全部のCSS
-------------------------*/
.btn-cv {
  padding: .5em 0 1.5em 0;
  overflow: hidden;
  position: relative;
}
.btn-cv a {
  border: solid #fff 10px;
/* ? border-radius: 12px; */
  border-radius: 50px; 
/*  box-shadow: 1px 1px 10px 0 #a1a1a1;*/
  box-shadow: 0 0 0 1px #999, 10px 10px 10px 0 #a1a1a1;
  color: #fff;
  display: block;
/*  font-size: 1.6em;*/
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.3;
  margin: 0.5em auto;
/*  padding: 1em 2em .8em;*/
  padding: 1em 0 .8em;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
  vertical-align: middle;
  width: 66%;
}
.btn-cv.is-fz20 a {
  font-size: 20px;
}
.btn-cv a img {
  vertical-align: middle;
}
.btn-cv a:after {
  content: ' ' !important;
}
 
/* ボタン内のアイコン */
.btn-cv a:before {
  content: "\f138";
  font-family: "fontawesome";
  font-weight: normal;
  font-size: 1.1em;
  margin-top: -.6em;
  position: absolute;
  right: 15px;
  top: 50%;
}
.btn-cv a:hover {
  box-shadow: 1px 1px 2px 0 #a1a1a1;
  filter: alpha(opacity=70);
  opacity: .7;
}
 
/* 2つ連続で並べる場合の余白 */
.btn-cv + .btn-cv a {
  margin-top: 0;
}
 
/* 緑ボタン */
.btn-cv a {
  background: #00a23f;
/*   background: -webkit-linear-gradient(#00a23f, #39900a);
  background: linear-gradient(#00a23f, #39900a);*/
  background: -webkit-linear-gradient(#77e83a, #39900a);
  background: linear-gradient(#77e83a, #39900a);
  text-shadow: 0 0 10px rgba(255,255,255,.8), 1px 1px 1px rgba(0,0,0,1);
}
 
/* ボタンの光沢 */
.is-reflection a {
  overflow: hidden;
}
.is-reflection a:after {
  -moz-animation: is-reflection 4s ease-in-out infinite;
  -moz-transform: rotate(45deg);
  -ms-animation: is-reflection 4s ease-in-out infinite;
  -ms-transform: rotate(45deg);
  -o-animation: is-reflection 4s ease-in-out infinite;
  -o-transform: rotate(45deg);
  -webkit-animation: is-reflection 4s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  animation: is-reflection 4s ease-in-out infinite;
  background-color: #fff;
  content: " ";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: -180px;
  transform: rotate(45deg);
  width: 30px;
}
/* アニメーションを遅延させる */
.is-reflection + .is-reflection a:after {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
@keyframes is-reflection {
  0% { -webkit-transform: scale(0) rotate(45deg); transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes is-reflection {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
 
/* CVボタン矢印揺れ */
.is-trembling a:before {
  -webkit-animation-name:is-trembling;
  -webkit-animation-duration:.8s;
  -webkit-animation-iteration-count:infinite;
  -webkit-animation-timing-function:ease;
  -moz-animation-name:is-trembling;
  -moz-animation-duration:1s;
  -moz-animation-iteration-count:infinite;
  -moz-animation-timing-function:ease;
}
@-webkit-keyframes is-trembling {
  0% {-webkit-transform:translate(-3px, 0);}
  100% {-webkit-transform:translate(0, 0);}
}
 
/* ボタンをバウンドさせる */
.is-bounce {
  animation: bounce 4s infinite;
  -moz-animation: bounce 4s infinite;
  -webkit-animation: bounce 4s infinite;
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
@-webkit-keyframes bounce {
  0%, 4%, 10%, 18%, 100% {-webkit-transform: translateY(0);}
  5% {-webkit-transform: translateY(-6px);}
  12% {-webkit-transform: translateY(-4px);}
}
@keyframes bounce {
  20%, 24%, 30%, 34%, 100% {-webkit-transform: translateY(0);transform: translateY(0);}
  25% {-webkit-transform: translateY(-6px);transform: translateY(-6px);}
  32% {-webkit-transform: translateY(-4px);transform: translateY(-4px);}
}
/* アニメーションを遅延させる */
.is-bounce + .is-bounce {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
}
 
/* ぷるるるるん！ */
.is-purun {
  -webkit-animation: is-purun 5s infinite;
  -moz-animation: is-purun 5s infinite;
  animation: is-purun 5s infinite;
}
@-webkit-keyframes is-purun {
   0% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
   4% { -webkit-transform: scale(0.9, 0.9) translate(0%, 3%); }
   8% { -webkit-transform: scale(1.1, 0.8) translate(0%, 7%); }
  12% { -webkit-transform: scale(0.9, 0.9) translate(0%, -7%); }
  18% { -webkit-transform: scale(1.1, 0.9) translate(0%, 3%); }
  25% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes is-purun {
   0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
   4% { transform: scale(0.9, 0.9) translate(0%, 3%); }
   8% { transform: scale(1.1, 0.8) translate(0%, 7%); }
  12% { transform: scale(0.9, 0.9) translate(0%, -7%); }
  18% { transform: scale(1.1, 0.9) translate(0%, 3%); }
  25% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
/* アニメーションを遅延させる */
.is-purun + .is-purun {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
}
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
.yurayura {
  animation: horizontal 1s ease-in-out infinite alternate;
}
@media screen and (max-width: 1050px) {
  .btn-cv a {
  width: 85%;
}
}
@media screen and (max-width: 500px) {
  .btn-cv a {
  font-size: 1.1em;
  border: solid #fff 7px;
}
}
@media screen and (max-width: 360px) {
  .btn-cv a {
  font-size: 0.9em;
}
/*	.btn-cv a:before {
  content: none;
}*/
}

.box8 {
    padding: 0.5em 1em;
    margin: 0.5em 0;
    color: #232323;
    background: #fff8e8;
    border-left: solid 10px #ffc06e;
}
.box8 p {
    margin: 0; 
    padding: 0;
}
@media screen and (max-width: 500px) {
	body {
	font-size: 100%;
	}
}
/*
==================================================
mainコラム並びレイアウト（2019/6/10）
==================================================
*/
.column-list {
    width: 100%;
    height: auto;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.column-bottom {
    justify-content: space-between;
}
.column-common {
    width: 30%;
    background: #fff;
    position: relative;
    color: #555;
    margin: 1.5%;
}
@media screen and (max-width: 640px) {
    .column-common {
	width: 40%;
	background: #fff;
	position: relative;
	color: #555;
	margin: 5%;
    }
}
.column-common a {
    color: #303030;
    display: block;
}
.column-common a {
    text-decoration: none;
    color: inherit;
}
.column-common a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.column-img {
    width: 230px;
    height: 180px;
    display: table-cell;
    vertical-align: middle;
    layout-grid-line: 180px;
    border-bottom: 1px solid #eee;
    position: relative;
}
.column-img p {
    text-align: center;
}
.column-img img {
    width: auto;
    height: 100%;
    max-height: 180px;
    max-width: 100%;
    vertical-align: middle;
    text-align: center;
    object-fit: cover;
}
.column-common .category {
    font-size: 12px;
    padding: 10px 10px 0px 10px;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1;
    margin-bottom: 0;
}
.column-common .title-area {
    overflow: hidden;
    max-height: 4.0rem;
}
.column-common .title {
    font-size: 0.8rem;
    font-weight: bold;
    padding: 10px 10px 5px 10px;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1.5;
    margin-bottom: 0;
    display: -webkit-box;
}
.column-common .title-cut {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
/*クレジットで追加*/
.rank_box1 {
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 20px;
	border: 7px solid #fee32c;
}
.rank_box1 .box-title{
	border-bottom: 2px solid #fee32c;
}
.rank_box2 {
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 20px;
	border: 7px solid #e0e0e0;
}
.rank_box2 .box-title{
	border-bottom: 2px solid #e0e0e0;
}
.rank_box3 {
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 20px;
	border: 7px solid #ec9b74;
}
.rank_box3 .box-title{
	border-bottom: 2px solid #ec9b74;
}
.rank_box4 {
	background-color: #fff;
	overflow: hidden;
	padding-bottom: 20px;
	border: 7px solid #b8e883;
}
.rank_box4 .box-title{
	border-bottom: 2px solid #b8e883;
}
.box-content{
	margin: 20px 10px;
/*	margin :10px;*/	
}
.cpbox {
    position: relative;
    margin: 2em 0 1em 0;
    padding: 0.5em 0.7em;
    border: solid 3px #62c1ce;
    background: #f3fff8;
}
.cpbox .cpbox-title {
    position: absolute;
    display: inline-block;
    top: -32px;
    left: -3px;
    padding: 0 9px;
    height: 30px;
    line-height: 32px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box-content p {
	margin: 0.7em 0;
}
.box-content ul {
  padding: 0 1em 0 2.3em;
  position: relative;
}
.box-content ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}
.box-content ul li:before {
  font-family: "FontAwesome";
  content: "\f00c";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #ffb03f; /*アイコン色*/
}
.box-content ul li {
	background-image: none;
}
@media screen and (max-width: 899px) {
	.box-content ul li:before {
		background: none;
		top: auto;
	}
}

.spcbox_wrap {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.spcbox {
	margin-right: 15px;
}
.spcbox_koumoku {
	font-size: 12px;
	font-weight: bold;
}
.spcbox_icon {
	display: flex;
}
.spcbox_icon_exp, .spcbox_icon_exp--hoken, .spcbox_icon_exp--svc, .spcbox_icon_exp--konbini {
    width: 44px;
    height: 44px;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
    margin-right: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.spcbox_icon_exp--konbini{
	width: 35px;
}
.spcbox_icon_exp--hoken{
    font-size: 12px;
}
.spcbox_icon_exp--svc{
    font-size: 13px;
}
.spcbox_icon_exp--hoken, .spcbox_icon_exp--svc {
    border: 2px outset #fff;
    background: #eee;
    color: #aaa;
    border-radius: 20%;
}
.spcbox_icon_exp--hoken.is-match {
    border: 2px outset #7C77B9;
    border-radius: 20%;
    background-color: #eae8ff;
    color: #7C77B9;
}
.spcbox_icon_exp--svc.is-match {
    border: 2px outset #779db9;
    border-radius: 20%;
    background: #ebfbff;
    color: #779db9;
}

@media screen and (max-width: 400px) {
.prc1item{
	font-size: 15px;
}
}
@media screen and (max-width: 500px) {
.custom_table{
	font-size: 15px;
}
}
@media screen and (max-width: 1100px) {
#main .rank1,#main .rank2,#main .rank3{
	padding: 18px 0 22px 70px;
	background-position: 6px 12px;
}
}
@media screen and (min-width: 641px){
.pc_ft{
	float: left;
}
}
#kutikomi_chenge1,#kutikomi_chenge2,#kutikomi_chenge3,#kutikomi_chenge4,#kutikomi_chenge5,#kutikomi_chenge6,#kutikomi_chenge7,#kutikomi_tojiru{
	display: none;
}
.kakomi-box2 {
	position: relative;
    font-size: 20px;
    font-weight: bold;
    text-shadow: 1px 1px 1px rgb(204, 204, 204);
 	margin-top: 1.2em;
 	padding: 0.8em;
 	color: #333; /* 文字色 */
 	background-color: #EBEBEB; /* 背景色 */
 	border: 1px solid #ccc; /* 枠線 */
}
.kihon_sankaku {
	position: absolute;
	content: "";
    border-right: 15px solid transparent;
    border-bottom: 25.98075px solid #6a8fb4;
    border-left: 15px solid transparent;
    transform: rotate(180deg);
    top: 18px;
    right: 24px;
}
.point_sankaku {
	position: absolute;
	content: "";
    border-right: 15px solid transparent;
    border-bottom: 25.98075px solid #6a8fb4;
    border-left: 15px solid transparent;
    transform: rotate(180deg);
    top: 18px;
    right: 24px;
}
.etc_sankaku {
	position: absolute;
	content: "";
    border-right: 15px solid transparent;
    border-bottom: 25.98075px solid #6a8fb4;
    border-left: 15px solid transparent;
    transform: rotate(180deg);
    top: 18px;
    right: 24px;
}
.futai_sankaku {
	position: absolute;
	content: "";
    border-right: 15px solid transparent;
    border-bottom: 25.98075px solid #6a8fb4;
    border-left: 15px solid transparent;
    transform: rotate(180deg);
    top: 18px;
    right: 24px;
}
.yuutai{
	font-size: 14px;
}
@media screen and (max-width: 641px){
.yuutai{
	font-size: 11px;
    line-height: 135%;
}
}
.point_syousai{/*
	width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;*/
}
.freespaceno {
  position: relative;
  padding-top: 5px;
/*  padding-bottom: .5em;
*/}
.freespaceno::before,
.freespaceno::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  height: 4px;
}
.freespaceno::before {
  z-index: 2;
  width: 38%;
  background-color: #444;
}
.freespaceno::after {
  width: 100%;
  background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
  background: repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
}
/*　テープ　枠　1 */
.kakomi-tape1 {
 position: relative;
 margin: 2.5em auto;
 padding: 15px;
 color: #555555; /* 文字色 */
 background-color: #f6f7ff; /*背景色*/
 box-shadow: 0 2px 2px #ccc; /* 影 */
 width: 66%;
}
.kakomi-tape1::before {
 position: absolute;
 top: -1.2em;
 left: 17%;
 height: 35px;
 width: 145px; /*テープの幅*/
 content: "";
 border: 1px solid #ccc; /*枠太さ・色*/
 background-color: #fffbea; /*テープ色*/
 opacity: 0.3; /*テープ透明度0〜1*/
 transform: rotate( -5deg ); /*テープ角度*/
}
.rank_kate_wrap {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.rank_kate{
	margin: 3px 0;
	border: 1px solid #e6e6e6;
	box-shadow: 0 2px 2px #ccc;
}
.rank_kate img{
		width: 100%;
}
.rank_kate_pckabu{
		width: 32%;
		margin: 4px 0.5%;
	border: 1px solid #e6e6e6;
	box-shadow: 0 2px 2px #ccc;
}
.rank_kate_pckabu img{
		width: 100%;
}
@media screen and (max-width: 640px) {
	.rank_kate{
		width: 48%;
		margin: 4px 0.6%;
	}
}
.marker_yellow_45 {
background: linear-gradient(transparent 45%, #ffff66 0%);
}
.marker_green_45 {
background: linear-gradient(transparent 45%, #acff24 0%);
}

/* 検索機能
==================================================
*/
.hide{display:none;}
.inline_block{
  display: inline-block;
}
.serch_002 input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}
.serch_m_001{
	padding: 1.2em 1.8em 0.6em;
	font-weight: bold;
}
.serch_001 {
display: -webkit-flex;
display: flex;
-webkit-justify-content: flex-start;
justify-content: flex-start;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.serch_002{
-webkit-flex-grow: 1;
flex-grow: 1;
width: calc(100%/3);;
-webkit-box-sizing: border-box;
box-sizing: border-box;
border: 2px outset #fff;
}
@media screen and (max-width: 640px) {	
.serch_002{	
width: calc(100%/2);	
}	
}
.serch_002 label {
display: block;
padding: 16px 0 16px 36px;
  position:relative;
}
label input{
  position:absolute;
  top:0;
  bottom:0;
  left:1em;
  margin:auto;
}
input{
    margin-right: 0.6em;
}
table label{
    margin-right: 1.2em;
}
label.type_kensaku {
background: rgba(255, 240, 217, 0.42);
}
div.type1 {
background-image:url(./img/type1.png);
background-repeat: no-repeat;
background-position: 100% 13px;
}
div.type2 {
background-image: url(./img/type2.png);
background-repeat: no-repeat;
background-position: 100% 13px;
}
div.type3 {
background-image: url(./img/type3.png);
background-repeat: no-repeat;
background-position: 100% 11px;
}
div.type4 {
background-image: url(./img/type4.png);
background-repeat: no-repeat;
background-position: 100% 28px;
}
div.type5 {
background-image: url(./img/type5.png);
background-repeat: no-repeat;
background-position: 102% 28px;
}
div.type6 {
background-image: url(./img/type6.png);
background-repeat: no-repeat;
background-position: 98% 11px;
}

.real_time_count_me {
    margin: 5px;
    padding: 4px 12px;
    font-size: 16px;
    font-weight: bold;
    border: 3px solid #ffa500;
    -webkit-animation: anime08_pulse 1.5s infinite;
    animation: anime08_pulse 1.5s infinite;
    text-align: center;
    color: #ffffff;
    background: #ff4214;
    /* -webkit-box-shadow: 0 0 0 0 rgb(233 30 99 / 50%); */
    box-shadow: 0 0 0 0 rgb(233 60 30 / 50%);
}
@-webkit-keyframes anime08_pulse {
0%   { -webkit-transform: scale(0.8);
       transform: scale(0.8); }
70%  { -webkit-transform: scale(1);
       transform: scale(1);
 -webkit-box-shadow: 0 0 0 50px rgba(233,30,99, 0);
       box-shadow: 0 0 0 20px rgba(233,30,99, 0); }
100% { -webkit-transform: scale(0.8);
        transform: scale(0.8);
 -webkit-box-shadow: 0 0 0 0 rgba(233,30,99, 0);
       box-shadow: 0 0 0 0 rgba(233,30,99, 0); }
}
@keyframes anime08_pulse {
0%   { -webkit-transform: scale(0.8);
       transform: scale(0.8); }
70%  { -webkit-transform: scale(1);
       transform: scale(1);
 -webkit-box-shadow: 0 0 0 50px rgba(233,30,99, 0);
       box-shadow: 0 0 0 20px rgba(233,30,99, 0); }
100% { -webkit-transform: scale(0.8);
        transform: scale(0.8);
 -webkit-box-shadow: 0 0 0 0 rgba(233,30,99, 0);
       box-shadow: 0 0 0 0 rgba(233,30,99, 0); }
}
@media screen and (max-width: 640px) {
.pc-only {
	display: none;
}
}

@media screen and (min-width: 640px) {
.sp-only {
	display: none;
}
}


.btn-lg {
    font-size: 14px;
    width: 145px;
    height: 390px;
    pudding: 10px;
}

.btn-lg, .btn-lg a {
    line-height: 25px;
}

.canp{
border: 1px solid #ffcc00;
    margin: 20px auto;
    background:  #ffeece no-repeat;
}

.canp p{
    margin: 0.7em;
}

.canp-title{
    background:  #FFAB06 no-repeat;
    background-size: 30px;
    background-position: 12px center;
    padding: 12px; 

    color: #fff;
    font-weight: bold;
    text-shadow: 2px 2px 2px #000;
}

.spcbox_icon_exp, .spcbox_icon_exp--hoken, .spcbox_icon_exp--svc, .spcbox_icon_exp--konbini {
    width: 34px;
    height: 34px;
    font-size: 10px;
    line-height: 1.1;
    margin-right: 2px;
}


.btn-cv a {
    border-radius: 5px;
    border: solid rgba(0, 0, 0, 0.16) 5px;
    box-shadow: 0 0 0 1px #999, 8px 5px 5px 0 #a1a1a1;
    background: linear-gradient(#a4fb75, #5ada16);
}

dd {
    margin-inline-start: 4px;
}


.box22{
    padding: 0.5em 1em;
    margin: 0.5em 0;
    background: #f4f4f4;
    border-left: solid 6px #5bb7ae;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.box22 p {
    margin: 0; 
    padding: 0;
}

.box26 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
    border-bottom: none;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

.pr_top {
  position: relative;
  overflow: hidden;
  padding: 0.5rem 1rem 0.5rem 130px;
  border: 2px solid #2b2722;
}

.pr_top:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 200px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #2b2722;
}

.pr_top span {
  font-size: 22px;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}

.pr {
  border: 1px solid #675a4d;
  margin-bottom: 1em;
  font-size: 16px;
}

.reflection{
display:inline-block;
position:relative;
overflow:hidden;
}
 
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-180px;
left:0;
background-color: #fff;
opacity:0;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 4s ease-in-out infinite;
}
 
@keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.anim-box.poyopoyo {
  animation: poyopoyo 3s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

header #top {
    position: relative;
}

.absolute_bottom-right {
    position: absolute;
    top: 65%;
    right: 20%;
    color: #000;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

@media screen and (min-width: 1200px) {
.absolute_bottom-right {
    right: calc(50% - 25em);;
}
}

@media screen and (max-width: 480px) {
.absolute_bottom-right {
    top: 75%;
}
}