@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;
  line-height: 1.8;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 1000px) {
  body {
	background-image: url(img/body_bg.png);
	background-position: center top;
	background-repeat: repeat;
  }
}
h1, h2, h3, h4, h5, h6, .title, dt {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Verdana,'ＭＳ Ｐゴシック',sans-serif;
  font-weight: 700;
}
h1, h2, h3 {
  clear: both;
}
h2, h3, h4, h5, h6 {
  overflow: hidden;
}
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: middle;
}
/* メニュー内画像高さ調整 */
#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;
}
#main :not(#whatsnew):not(#pagelist):not(#index_inner):not(#sitemaps):not(li) > ul {
  list-style: outside none none;
  margin: 10px 0;
  overflow: hidden;
  padding: 0;
}
#main :not(#whatsnew):not(#pagelist):not(#index_inner):not(#sitemaps):not(li) > ul > li {
  background-image: url(img/ul.png);
  background-position: 0.3125em 0.3125em;
  background-repeat: no-repeat;
  background-size: 0.9375em auto;
  margin: 8px 0;
  padding: 0 0 0 1.75em;
}
#main ol {
  counter-reset: number;
  list-style: outside none none;
  margin: 10px 0;
  overflow: hidden;
  padding: 0;
}
#main ol > li {
  margin: 8px 0;
  padding: 0 0 0 1.75em;
  position: relative;
}
#main ol > li::before {
  background-image: url(img/ol.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 1.5em auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  content: counter(number,decimal);
  counter-increment: number;
  font-size: 0.875em;
  font-weight: normal;
  height: 1.785em;
  left: 0;
  letter-spacing: -0.05em;
  line-height: 1.785;
  position: absolute;
  text-align: center;
  text-indent: -0.05em;
  top: 0;
  width: 1.5em;
}
#main ol > li:nth-child(n+101)::before {
    font-size: 10px !important;
    background-size: 100% auto;
    width: 20px;
    height: 30px;
    text-indent: -1px;
    line-height: 23px;
}
#main #index_inner > ol{
  padding-left:8px !important;
  margin-right: 16px !important;
}
@media screen and (min-width: 1000px) {
  #main :not(#whatsnew):not(#pagelist):not(#index_inner):not(#sitemaps):not(li) > ul > li {
	background-position: 0.625em 0.3125em;
	padding: 0 0 0 2.25em;
  }
  #main ol > li {
	padding: 0 0 0 2.25em;
  }
  #main ol > li::before {
	left: 0.4375em;
  }
}
/* リンク
==================================================
*/
a {
  color: #4592cd;
  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: 1000px) {
  a:hover {
	text-decoration: none;
	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;
  z-index: 0;
}
#contents {
  position: relative;
}
#layoutbox{
  overflow:hidden;
}
#contents::after,
div[id^="text"]::after,
div[id^="space"]::after{
  clear: both;
  content: '';
  display: block;
}
#siteNavi {
  background-color: #faf9f5;
  color: #666;
  font-size: 10px;
  margin: -5px -5px 5px;
  padding: 5px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #siteNavi {
	background-color: transparent;
	font-size: 12px;
	margin: 0 0 10px;
	padding: 0;
  }
}
@media screen and (min-width: 1000px) {
  #contents {
	margin: 20px auto;
	width: 1000px;
  }
  #siteNavi {
	margin: 0 0 20px;
  }
}
#siteNavi br{display:none;}
/* ページ上部へ戻る
==================================================
*/
#pagetop {
  overflow: hidden;
}
#pagetop a {
  display: block;
  float: right;
  height: 52px;
  margin: 15px;
  position: relative;
  width: 52px;
  z-index: 0;
}
#pagetop a::after {
  background-color: #a5b475;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
#pagetop a span {
  display: block;
  font-size: 10px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
#pagetop a span::before, #pagetop a span::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 span::after {
  margin-left: -12px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (min-width: 1000px) {
  #pagetop {
	margin: 0 auto;
	width: 1000px;
  }
  #pagetop a {
	height: 56px;
	margin: 30px 15px 50px;
	text-decoration: none;
	width: 56px;
  }
  #pagetop a::before {
	background-image: url(img/more_bg.png);
	background-position: left top;
	background-repeat: repeat;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	bottom: -1px;
	content: '';
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
	z-index: -1;
  }
  #pagetop a::after {
	background-color: #97a958;
	background-image: url(img/texture.png);
	background-position: left top;
	background-repeat: repeat;
	background-size: 170px auto;
  }
  #pagetop a span {
	color: #97a958;
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
	font-size: 14px;
	font-weight: bold;
	overflow: hidden;
	padding-top: 60px;
	text-align: center;
	text-indent: 0;
	white-space: normal;
  }
  #pagetop a span::before, #pagetop a span::after {
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	height: 3px;
	width: 20px;
  }
  #pagetop a span::after {
	margin-left: -16px;
  }
  #pagetop a:hover {
	opacity: 1;
  }
  #pagetop a:hover::before {
	background-image: url(img/more_bg_on.png);
  }
  #pagetop a:hover::after {
	background-color: #a39482;
  }
  #pagetop a:hover span {
	color: #9f907f;
  }
}
/* 検索ボックス
==================================================
*/
#searcharea {
  display: table-cell;
  vertical-align: bottom;
}
#searchbox {
  height: 100%;
  left: 0;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  width: 100%;
  z-index: 100;
}
#searchbox .closebtn {
  background-color: rgba(25, 19, 5, 0.9);
  height: 100%;
  position: absolute;
  width: 100%;
}
#searchbox .closebtn span,
#searchbox .closebtn input {
  display: none;
}
#searchbox form {
  background-color: #faf9f5;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  display: block;
  margin: 2px 0 0;
  overflow: hidden;
  padding: 16px 8px;
  text-align: left;
}
#searchbox form label[for="search-text"] {
  color: #53423b;
  font-size: 13px;
}
#searchbox form label[for="search-text"]::before {
  content: '検索';
  display: block;
  margin-bottom: 10px;
}
#searchbox form label[for="search-submit"] {
  float: right;
  position: relative;
  width: 30px;
}
#searchbox form label[for="search-submit"]::before {
  border: 2px solid #fff;
  -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;
  bottom: 13px;
  content: '';
  cursor: pointer;
  height: 13px;
  position: absolute;
  right: 13px;
  width: 13px;
  z-index: 1;
}
#searchbox form label[for="search-submit"]::after {
  background-color: #fff;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  bottom: 10px;
  content: '';
  cursor: pointer;
  height: 7px;
  position: absolute;
  right: 13px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 2px;
}
#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: #fff;
  border: 1px dashed #e3ded6;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: auto;
  font-size: 13px;
  height: 36px;
  line-height: 36px;
  padding: 0 38px 0 8px;
  width: 100%;
}
#searchbox input[type="submit"] {
  background-color: #a2b464;
  border: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  bottom: 3px;
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  height: 30px;
  overflow: hidden;
  position: absolute;
  right: 3px;
  text-indent: 200%;
  white-space: nowrap;
  width: 32px;
}
#searchtoggle {
  margin: 5px 5px 5px 0;
}
#searchtoggle #searchbtn {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 40px;
  overflow: hidden;
  padding-top: 28px;
  position: relative;
  text-align: center;
  width: 54px;
}
#searchtoggle #searchbtn::before {
  border: 3px solid #a2b464;
  -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: 15px;
  position: absolute;
  right: 22px;
  top: 5px;
  width: 15px;
}
#searchtoggle #searchbtn::after {
  background-color: #a2b464;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  content: '';
  height: 8px;
  position: absolute;
  right: 21px;
  top: 16px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 3px;
}
#searchtoggle #searchbtn span {
  color: #53423b;
  display: block;
  font-size: 9px;
  line-height: 1;
}
#searchtoggle .closebtn {
  background-color: #f0ede2;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  cursor: pointer;
  display: none;
  height: 40px;
  position: relative;
  text-align: center;
  width: 54px;
}
#searchtoggle .closebtn::before, #searchtoggle .closebtn::after {
  background-color: #a2b464;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  height: 3px;
  left: 17px;
  position: absolute;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 12px;
  width: 20px;
}
#searchtoggle .closebtn::after {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#searchtoggle .closebtn span {
  color: #53423b;
  display: block;
  font-size: 9px;
  letter-spacing: 0;
  overflow: hidden;
  white-space: nowrap;
}
#searchtoggle .closebtn span::after {
  content: '閉じる';
  left: 50%;
  position: absolute;
  text-indent: 0;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 23px;
}
#searchtoggle .closebtn input {
  display: none;
}
input#panelsearch[type="radio"] {
  display: none;
}
input#panelsearch[type="radio"] ~ #searchbox {
  display: none;
}
input#panelsearch[type="radio"]:checked ~ #searchtoggle #searchbtn {
  display: none;
}
input#panelsearch[type="radio"]:checked ~ #searchtoggle .closebtn {
  display: block;
}
input#panelsearch[type="radio"]:checked ~ #searchbox {
  display: block;
}
@media screen and (min-width: 768px) {
  #searcharea {
	vertical-align: middle;
  }
  #searchbox {
	display: block !important;
	height: auto;
	left: auto;
	margin-left: 20px;
	position: static;
	width: 240px;
  }
  #searchbox .closebtn {
	display: none;
  }
  #searchbox form {
	background-color: transparent;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	margin: 0;
	padding: 0;
  }
  #searchbox form label[for="search-text"]::before {
	content: '';
	display: none;
  }
  #searchtoggle {
	display: none;
  }
}
@media screen and (min-width: 1000px) {
  #searchbox input[type="text"], #searchbox input[type="search"] {
	-moz-transition: border 0.12s ease-in-out;
	-o-transition: border 0.12s ease-in-out;
	-webkit-transition: border 0.12s ease-in-out;
	transition: border 0.12s ease-in-out;
  }
  #searchbox input[type="text"]:focus, #searchbox input[type="search"]:focus {
	border: 1px solid rgba(162, 180, 100, 0.5);
	outline: 0;
  }
  #searchbox input[type="submit"] {
	-moz-transition: background-color 0.12s ease-in-out;
	-o-transition: background-color 0.12s ease-in-out;
	-webkit-transition: background-color 0.12s ease-in-out;
	transition: background-color 0.12s ease-in-out;
  }
  #searchbox input[type="submit"]:hover {
	background-color: #bdca92;
  }
}
/* 回り込み・回り込み解除
==================================================
*/
.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;
}
/*
==================================================
トップ部分
==================================================
*/
/* トップ
==================================================
*/
#top {
  background-color: #faf9f5;
  border-bottom: 2px solid #e0d8cb;
  border-top: 5px solid #e0d8cb;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  text-align: left;
  width: 100%;
}
#top::after {
  clear: both;
  content: '';
  display: block;
}
#top .inner {
  display: table-cell;
  width: 100%;
}
#top h1 {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell;
  font-size: 14px;
  height: 50px;
  line-height: 1;
  margin: 0;
  padding: 5px 10px;
  position: relative;
  vertical-align: middle;
  width: 100%;
}
#top h1 a {
  color: #62450c;
  display: inline-block;
  line-height: 1.4;
  margin-right: 48px;
  text-decoration: none;
}
#top h1 a::after {
  background-image: url(img/icon_home.png);
  background-position: center 4px;
  background-repeat: no-repeat;
  background-size: 23px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  bottom: 5px;
  color: #53423b;
  content: 'ホーム';
  display: block;
  font-size: 9px;
  font-weight: normal;
  height: 40px;
  line-height: 1;
  overflow: hidden;
  padding-top: 28px;
  position: absolute;
  right: 5px;
  text-align: center;
  text-decoration: none;
  width: 42px;
}
#top h1 a img {
  max-width: 140px;
}
@media screen and (max-width:767px){
#top .inner > h1:last-child{
	width:767px;
	max-width:100%;
}
}
@media screen and (min-width: 768px) {
  #top {
	display: block;
	padding: 10px 10px 0;
	position: relative;
  }
  #top .inner {
	margin: 0 0 15px;
	display:table;
  }
  #top h1 {
	height: auto;
	padding: 5px 0;
  }
  #top h1 a {
	margin-right: 0;
  }
  #top h1 a::after {
	display: none;
  }
  #top h1 a img {
	max-width: 250px;
  }
}
@media screen and (min-width: 1000px) {
  #top {
	background-image: url(img/top_bg_t.png);
	background-position: center top;
	background-repeat: repeat-x;
	border-bottom: none;
	border-top-width: 20px;
	margin-bottom: 40px;
	padding: 18px 0 0;
	position: relative;
  }
  #top::before {
	background-image: url(img/top_bg.png);
	background-position: center bottom;
	background-repeat: repeat-x;
	bottom: -14px;
	content: '';
	height: 19px;
	left: 0;
	position: absolute;
	width: 100%;
  }
  #top .inner {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 18px;
	width: 1000px;
  }
  #top h1 a img {
	max-width: none;
  }
}
/* ヘッダー
==================================================
*/
#headerbox {
  padding: 5px;
  position: relative;
}
#headerbox::before {
  background-color: #f0e9de;
  background-image: url(img/header_bg.jpg);
  background-position: left top;
  background-repeat: repeat;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
#header {
  height: auto !important;
  overflow: hidden;
}
#header > img {
  background-color: #fff;
  height: auto;
  width: 100%;
}
#header #headertxt {
  text-align: left;
}
#header .title,
#header .desc {
  margin: 8px 0;
  padding: 0 5px;
}
#header .title {
  font-size: 1em;
  left: 2%;
  letter-spacing: 3px;
  line-height: 1.4;
  max-height: 4.5em;
  overflow: hidden;
  position: absolute;
  text-overflow: ellipsis;
  top: 20%;
  width: 75%;
}
#header .title a {
  color: #4c4340;
  text-decoration: none;
}
#header .desc {
  font-size: 0.875em;
  line-height: 1.5;
  max-height: 4.5em;
  overflow: auto;
}
@media screen and (min-width: 480px) {
  #header .title {
	font-size: 1.25em;
  }
}
@media screen and (min-width: 768px) {
  #headerbox {
	margin: 0 0 15px;
	padding: 0px;
	overflow: hidden;
  }
  #header {
	position: relative;
	margin:10px auto;
  }
  #header #headertxt {
	left: 0;
	margin: 0;
	position: absolute;
	right: 0;
	top: 50%;
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  }
  #header #headertxt div:nth-of-type(2) {
	margin-top: -20px;
  }
  #header .title,
  #header .desc {
	left: 5%;
	margin: 0;
	max-height: 100%;
	overflow: visible;
	padding: 0;
	position: relative;
	width: 90%;
  }
  #header .title {
	font-size: 28px;
	line-height: 1.4;
	max-height: 100%;
	width: 70%;
  }
  #header .desc {
	padding-top:8px;
  }
}
@media screen and (min-width: 1000px) {
  #headerbox {
	margin: -40px 0 30px;
  }
  #header {
	margin: 30px auto;
	width: 1000px;
  }
  #header .title {
	font-size: 36px;
	width: 90%;
  }
  #header .desc {
	font-size: 14px;
  }
}
@media screen and (max-width:767px){
	#header {
	  background-color:rgba(255,255,255,.7);
	}
	#header > img {
	  height: auto;
	  margin-top: 0px;
	  width: 100%;
	}
	#header #headertxt:first-child .title,
	#header #headertxt:first-child .desc{
		position:relative;
		left:0;
		padding:0 8px;
		box-sizing:border-box;
		width:100%;
		text-align:left;
	}
	#header #headertxt:first-child h2.title{
		font-size:1.2em;
	}
}
@media screen and (min-width:767px){
	#header #headertxt:first-child{
		top: 0;
		position: relative;
		transform: unset;
		padding:16px 20px;
		min-height: 100px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#header #headertxt:first-child .title,
	#header #headertxt:first-child .desc{
		left:0;
		width:100%;
		padding:0 8px;
	}
}
@media screen and (min-width:1000px){
	#header #headertxt:first-child{
		min-height: 150px;
		padding:10px 0;
	}
}
/* トップメニュー
==================================================
*/
#topmenuarea {
  display: table-cell;
  vertical-align: bottom;
  width: 47px;
}
#topmenu {
  left: 0;
  letter-spacing: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 100;
}
#topmenu .closebtn {
  background-color: rgba(25, 19, 5, 0.9);
  height: 100%;
  position: absolute;
  width: 100%;
}
#topmenu .closebtn span,
#topmenu .closebtn input {
  display: none;
}
#topmenu ul {
  background-color: #fff;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
  list-style: outside none none;
  margin: 2px 0 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
#topmenu ul > li {
  border-bottom: 1px dashed #c4bcaf;
  text-align: left;
}
#topmenu ul a {
  color: #53423b;
  display: block;
  font-size: 14px;
  line-height: 1.6;
  padding: 14px 20px 14px 32px;
  position: relative;
  text-decoration: none;
}
#topmenu ul a::before {
  background-color: #f8ca2a;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 14px;
  left: 10px;
  position: absolute;
  top: 18px;
  width: 14px;
}
#topmenu ul a::after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: '';
  height: 5px;
  left: 13px;
  position: absolute;
  top: 22px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 5px;
}
#topmenu ul a img {
  max-height:40px;
}
/* メニュー表記ありの場合 */
#topmenutoggle {
  margin: 5px 5px 5px 0;
}
#topmenutoggle #topmenubtn {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 40px;
  overflow: hidden;
  padding-top: 28px;
  position: relative;
  text-align: center;
  width: 42px;
}
#topmenutoggle #topmenubtn::before, #topmenutoggle #topmenubtn::after {
  background-color: #00acc9;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  height: 3px;
  left: 10px;
  position: absolute;
  top: 7px;
  width: 20px;
}
#topmenutoggle #topmenubtn::after {
  top: 13px;
}
#topmenutoggle #topmenubtn span {
  color: #53423b;
  display: block;
  font-size: 9px;
  line-height: 1;
}
#topmenutoggle #topmenubtn span::before {
  background-color: #00acc9;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  height: 3px;
  left: 10px;
  position: absolute;
  top: 19px;
  width: 20px;
}
#topmenutoggle .closebtn {
  background-color: #f0ede2;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  cursor: pointer;
  display: none;
  height: 40px;
  position: relative;
  text-align: center;
  width: 42px;
}
#topmenutoggle .closebtn::before, #topmenutoggle .closebtn::after {
  background-color: #00acc9;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: '';
  height: 3px;
  left: 11px;
  position: absolute;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 12px;
  width: 20px;
}
#topmenutoggle .closebtn::after {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#topmenutoggle .closebtn span {
  color: #53423b;
  display: block;
  font-size: 9px;
  letter-spacing: 0;
  overflow: hidden;
  white-space: nowrap;
}
#topmenutoggle .closebtn span::after {
  content: '閉じる';
  left: 50%;
  position: absolute;
  text-indent: 0;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 23px;
}
#topmenutoggle .closebtn input {
  display: none;
}
input#panelmenu[type="radio"] {
  display: none;
}
input#panelmenu[type="radio"] ~ #topmenu {
  display: none;
}
input#panelmenu[type="radio"]:checked ~ #topmenutoggle #topmenubtn {
  display: none;
}
input#panelmenu[type="radio"]:checked ~ #topmenutoggle .closebtn {
  display: block;
}
input#panelmenu[type="radio"]:checked ~ #topmenu {
  display: block;
}
@media screen and (min-width: 768px) {
  #topmenuarea {
	display: block;
	width: 100%;
  }
  #topmenu {
	display: block !important;
	height: auto;
	overflow: hidden;
	position: static;
  }
  #topmenu .closebtn {
	display: none;
  }
  #topmenu ul {
	background-color: transparent;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	margin: 0;
  }
  #topmenu ul > li {
	border-bottom: none;
	border-left: 1px dashed #9c8f79;
	border-right: 1px dashed #9c8f79;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	margin-right: -1px;
	margin-bottom: 10px;
	padding: 0 8px;
	position: relative;
	left: 1px;
	width: 20%;
  }
  #topmenu ul a {
	padding: 4px 5px;
	text-align: center;
  }
  #topmenu ul a::before, #topmenu ul a::after {
	display: none;
  }
  #topmenutoggle {
	display: none;
  }
}
@media screen and (min-width: 1000px) {
  #topmenu {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	width: 1000px;
  }
  #topmenu ul {
	margin: 0 0 6px;
  }
  #topmenu ul a {
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	padding: 3px 5px;
	-moz-transition: background-color 0.12s ease-in-out;
	-o-transition: background-color 0.12s ease-in-out;
	-webkit-transition: background-color 0.12s ease-in-out;
	transition: background-color 0.12s ease-in-out;
  }
  #topmenu ul a:hover {
	background-color: #edeadc;
	opacity: 1;
  }
}
/*
==================================================
メインコンテンツ
==================================================
*/
/* 記事領域
==================================================
*/
#main {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px;
  text-align: left;
}
#main div[id^="text"], #space1, #space2 {
  margin-bottom: 20px;
  overflow: visible;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  #main {
	float: right;
	padding: 20px;
  }
  #main div[id^="text"], #space1, #space2 {
	padding: 0;
  }
}
/* 見出し
==================================================
*/
#main h2,
#main h3 {
  margin: 0 0 10px;
  padding: 0;
  clear: both;
}
#main h2,
#main h3 {
  border-bottom: 2px dashed #c5bba9;
  color: #4c4340;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  padding: 12px 0;
  position: relative;
  z-index: 0;
}
#main h2 a,
#main h3 a {
  color: #4c4340;
}
#main h2 a:not([href]),
#main h3 a:not([href]) {
  text-decoration: none;
}
#main div[id^="text"] h2, #main #space1 h2, #main #space2 h2,
#main div[id^="text"] h3, #main #space1 h3, #main #space2 h3 {
  margin: 10px -5px;
  width:auto;
}
#main h4 {
  background-color: #f9f6ee;
  color: #4c4340;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin: 15px 0 10px;
  padding: 8px 10px;
  clear: both;
}
#main h5 {
  border-bottom: 1px dashed #c4bcaf;
  color: #4c4340;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  margin: 15px 0 10px;
  padding: 0 0 10px 12px;
  position: relative;
}
#main h5::before {
  border-left: 4px solid #acbc74;
  bottom: 10px;
  content: '';
  left: 0;
  position: absolute;
  top: 0;
}
#main h6 {
  background-image: url(img/h6.png);
  background-position: left 4px;
  background-repeat: no-repeat;
  background-size: 15px auto;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin: 8px auto;
  padding: 0 0 0 20px;
  position: relative;
}
#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: #fefcdf;
  border: 2px dotted #f0d099;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #633b25;
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
  padding: 20px;
  position: relative;
  z-index: 0;
}
#main blockquote::before {
  color: #eec433;
  content: '“';
  font-family: Arial;
  font-size: 32px;
  left: 6px;
  position: absolute;
  top: -9px;
}
@media screen and (min-width: 768px) {
  #main h2,
  #main h3 {
	margin: 0 0 26px;
	padding: 0;
	font-size: 26px;
	line-height: 1.4;
  }
  #main h2 > span,
  #main h3 > span {
	padding: 10px 0 16px;
	display:block;
  }
  #main div[id^="text"] h2,
  #main div[id^="text"] h3,
  #main div[id^="space"] h2,
  #main div[id^="space"] h3 {
	margin: 20px 0;
  }
  #main h4 {
	font-size: 22px;
	line-height: 1.4;
	margin: 30px 0;
	padding: 15px 20px;
  }
  #main h5 {
	font-size: 20px;
	line-height: 1.5;
	margin: 25px 0 15px;
	padding-left: 18px;
  }
  #main h6 {
	background-position: 3px 5px;
	font-size: 18px;
	line-height: 1.5;
	margin: 10px auto;
	padding: 0 0 0 26px;
  }
  #main blockquote {
	padding: 18px 32px;
  }
  #main blockquote::before {
	left: 11px;
	top: -4px;
  }
}
@media screen and (min-width: 1000px) {
  #main h2,
  #main h3 {
	background-image: url(img/h3_bg.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	border-bottom: none;
	padding: 12px 6px 18px;
	position: relative;
  }
  #main h2 > span,
  #main h3 > span {
	padding: 0;
  }
  #main h2::before,
  #main h3::before {
	background-image: url(img/h3.png);
	background-position: left bottom;
	background-repeat: repeat-x;
	bottom: 0;
	content: '';
	height: 6px;
	left: 0;
	position: absolute;
	right: 10px;
  }
  #main h4 {
	background-image: url(img/h4.png);
	background-position: left top;
	background-repeat: repeat;
  }
}
/*
==================================================
画像付きボックス
==================================================
*/
.alert, .accept, .attention, .thint {
  background-position: 12px 7px;
  background-size: 39px auto;
  border: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #633b25;
  font-size: 16px;
  line-height: 1.8;
  margin: 15px 0;
  padding: 16px 15px 16px 60px;
  position: relative;
}
.alert.noimage, .accept.noimage, .attention.noimage, .thint.noimage {
  padding: 16px 15px;
}
.alert {
  background-color: #fef0ef;
}
.accept {
  background-color: #f2f9df;
}
.attention {
  background-color: #fcfce1;
}
.thint {
  background-color: #effaff;
}
@media screen and (min-width: 768px) {
  .alert, .accept, .attention, .thint {
	background-position: 20px 9px;
	background-size: 48px auto;
	margin: 20px 0;
	padding: 20px 20px 20px 84px;
  }
  .alert.noimage, .accept.noimage, .attention.noimage, .thint.noimage {
	padding: 20px;
  }
}
.user1,
.user2 {
  background-color: #fffdf0;
  background-image: none;
  border: 2px solid #ecddb4;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.8;
  margin: 15px 0 15px 70px;
  min-height: 75px;
  overflow: visible;
  padding: 8px 15px;
  position: relative;
  _height: auto;
}
.user1::before,
.user2::before {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 54px auto;
  content: '';
  height: 75px;
  position: absolute;
  left: -70px;
  top: -2px;
  width: 54px;
}
.user1::after,
.user2::after {
  background-color: #fffdf0;
  border-left: 2px solid #ecddb4;
  border-bottom: 2px solid #ecddb4;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  height: 12px;
  left: -8px;
  position: absolute;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 20px;
  width: 12px;
}
.user1.noimage,
.user2.noimage {
  margin-left: 9px;
  min-height: 0;
}
.user1.noimage::before,
.user2.noimage::before {
  display: none;
}
.user1::before {
  background-image: url(img/user1.png);
}
.user2::before {
  background-image: url(img/user2.png);
}
@media screen and (min-width: 768px) {
  .user1,
  .user2 {
	margin: 20px 0 20px 102px;
	min-height: 109px;
	padding: 14px 24px;
  }
  .user1::before,
  .user2::before {
	background-size: 78px auto;
	height: 109px;
	left: -102px;
	top: 2px;
	width: 78px;
  }
  div[id$="menu"] div[class^="user"]::before{
	background-size:48px auto;
	left:-60px;
 }
  div[id$="menu"] div[class^="user"]{
	margin-left:62px;
	padding:14px 10px;
	font-size:14px;
 }
}
/*
==================================================
FAQ
==================================================
*/
.question1,
.answer1 {
  background-color: #fdfbf4;
  background-position: 10px 10px;
  background-size: 36px auto;
  border: none;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.8;
  margin: 15px 0;
  overflow: hidden;
  padding: 16px 20px 16px 60px;
}
.question1 {
  -moz-border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px;
  border-radius: 10px 10px 0 0;
}
.question1 + .answer1 {
  -moz-border-radius: 0 0 10px 10px;
  -webkit-border-radius: 0;
  border-radius: 0 0 10px 10px;
  margin-top: -15px;
  position: relative;
}
.question1 + .answer1::before {
  border-top: 1px dashed #e6d9ba;
  content: '';
  left: 10px;
  position: absolute;
  right: 10px;
  top: 0;
}
@media screen and (min-width: 768px) {
  .question1,
  .answer1 {
	background-position: 20px 18px;
	margin: 20px 0;
	padding: 22px 20px 22px 76px;
  }
  .question1 + .answer1 {
	margin-top: -20px;
  }
  .question1 + .answer1::before {
	left: 20px;
	right: 20px;
  }
}
.question2,
.answer2 {
  background-position: left top;
  background-size: 31px auto;
  border: none;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.8;
  margin: 20px 0;
  padding: 5px 5px 16px 42px;
}
.question2 + .answer2 {
  background-position: left 11px;
  border-top: 3px dotted #dcdada;
  margin-top: -20px;
  padding-bottom: 5px;
  padding-top: 16px;
}
@media screen and (min-width: 768px) {
  .question2,
  .answer2 {
	background-size: 34px auto;
	margin: 30px 0;
	padding: 5px 5px 20px 54px;
  }
  .question2 + .answer2 {
	background-position: left 16px;
	margin-top: -30px;
	padding-top: 21px;
  }
}
/*
==================================================
サイドメニュー
==================================================
*/
/* メニュー
==================================================
*/
#menu,
#rmenu {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  text-align: left;
}
#menu h4,
#menu .title,
#rmenu h4,
#rmenu .title {
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
  overflow: visible;
  padding: 14px 18px;
  position: relative;
  z-index: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
#menu h4::after,
#menu .title::after,
#rmenu h4::after,
#rmenu .title::after {
  background-color: #8d9c5f;
  background-image: url(img/menu_h4.jpg);
  background-position: left top;
  background-repeat: repeat;
  background-size: 50px auto;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
#menu .menubox,
#rmenu .menubox {
  overflow: hidden;
}
#menu #submenu,
#rmenu #submenu {
  list-style: outside none none;
  padding: 0;
}
#menu .menulist ul,
#rmenu .menulist ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
#menu .menulist li,
#rmenu .menulist li {
  border-bottom: 1px dashed #c4bcaf;
  line-height: 1;
}
#menu .menulist li a,
#rmenu .menulist li a {
  color: #53423b;
  display: block;
  font-size: 14px;
  line-height: 1.6;
  padding: 14px 20px 14px 32px;
  position: relative;
  text-align: left;
  text-decoration: none;
}
#menu .menulist li a::before,
#rmenu .menulist li a::before {
  background-color: #f8ca2a;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 14px;
  left: 10px;
  position: absolute;
  top: 18px;
  width: 14px;
}
#menu .menulist li a::after,
#rmenu .menulist li a::after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: '';
  height: 5px;
  left: 13px;
  position: absolute;
  top: 22px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 5px;
}
#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,
#menu .menulist .l3 a::after,
#rmenu .menulist .l2 a::after,
#rmenu .menulist .l3 a::after {
  border-right: 2px solid #b5b1b0;
  border-top: 2px solid #b5b1b0;
  left: 12px;
  top: 21px;
}
#menu .menulist .l3 a,
#rmenu .menulist .l3 a {
  padding-left: 54px;
}
#menu .menulist .l3 a::after,
#rmenu .menulist .l3 a::after {
  left: 34px;
}
#menu .rankbox,
#rmenu .rankbox {
  border-bottom: 1px dashed #ded9d1;
  margin: 0 0 10px;
  padding: 0 0 10px;
}
@media screen and (min-width: 768px) {
  #menu,
  #rmenu {
	padding: 8px;
  }
  #menu h4,
  #menu .title,
  #rmenu h4,
  #rmenu .title {
	margin: 0 0 10px;
	padding: 10px;
  }
  #menu h4::after,
  #menu .title::after,
  #rmenu h4::after,
  #rmenu .title::after {
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
  }
  #menu .menubox,
  #rmenu .menubox {
	margin-bottom: 10px;
  }
  #menu div#submenu,
  #rmenu div#submenu {
	margin-bottom: 10px;
  }
  #menu div#submenu span,
  #rmenu div#submenu span {
	margin: 10px 0;
	text-align: left;
  }
}
@media screen and (min-width: 1000px) {
  #menu h4,
  #menu .title,
  #rmenu h4,
  #rmenu .title {
	margin: 1px 1px 6px;
	padding: 12px 18px;
  }
  #menu h4::before,
  #menu .title::before,
  #rmenu h4::before,
  #rmenu .title::before {
	background-image: url(img/menu_h4_bg.png);
	background-position: left top;
	background-repeat: repeat;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	bottom: -1px;
	content: '';
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
	z-index: -1;
  }
  #menu .menubox,
  #rmenu .menubox {
	margin-bottom: 30px;
  }
  #menu div#submenu,
  #rmenu div#submenu {
	margin-bottom: 30px;
  }
  #menu .menulist li a:hover,
  #rmenu .menulist li a:hover {
	color: #4592cd;
	text-decoration: underline;
  }
}
/* バナー領域
==================================================
*/
.bannerbox {
  position: relative;
}
.bannerbox ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
.bannerbox li {
  margin-bottom: 10px;
  text-align: center;
}
.bannerbox li a img {
  vertical-align: bottom;
}
/* 最新記事・アーカイブ
==================================================
*/
ul#newEntry, ul#entryarchive {
  list-style: outside none none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
ul#newEntry li, ul#entryarchive li {
  border-bottom: 1px dashed #c2baaa;
  font-size: 13px;
  line-height: 1.6;
  padding: 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 0 0;
  padding: 0;
  width: 80px;
}
ul#newEntry li .thumb img, ul#entryarchive li .thumb img {
  border: 2px solid #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  max-height: 80px;
  max-width: 80px;
}
@media screen and (min-width: 1000px) {
  ul#newEntry li, ul#entryarchive li {
	padding: 10px 4px;
  }
  ul#newEntry li .thumb, ul#entryarchive li .thumb {
	width: 88px;
  }
  ul#newEntry li .thumb img, ul#entryarchive li .thumb img {
	max-height: 88px;
	max-width: 88px;
  }
}
/*
==================================================
フッター
==================================================
*/
#footer span > a > img{
  max-height:240px;
}
#footer {
  background-color: #fcfaf4;
  background-image: url(img/header_bg.jpg);
  background-position: left top;
  background-repeat: repeat;
  border-top: 1px solid #f1ede8;
  position: relative;
  z-index: 0;
}
#footer::before {
  background-color: rgba(250, 248, 245, 0.75);
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
#footer .inner {
  letter-spacing: -.4em;
  overflow: hidden;
  padding: 15px 10px;
  text-align: left;
}
#footer span {
  display: block;
  line-height: 1.4;
  margin-bottom: 16px;
}
#footer span:last-of-type {
  margin-bottom: 22px;
}
#footer span a {
  color: #6e695b;
  font-size: 14px;
  letter-spacing: 0;
  margin: 0;
  padding: 0;
  text-decoration: none;
}
#footer small {
  color: #c2bfb6;
  display: block;
  font-size: 11px;
  letter-spacing: 0;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #footer .inner {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 30px 0;
	text-align: center;
  }
  #footer span {
	display: inline-block;
	padding: 0 25px;
  }
  #footer span:not(:first-of-type) {
	border-left: 1px dashed #9c8f79;
  }
  #footer span:last-of-type {
	margin-bottom: 16px;
  }
  #footer small {
	padding: 10px 0;
  }
}
@media screen and (min-width: 1000px) {
  #footer::after {
	background-image: url(img/footer_bg_t.png);
	background-position: center top;
	background-repeat: repeat-x;
	content: '';
	height: 8px;
	left: 0;
	position: absolute;
	right: 0;
	top: -8px;
  }
  #footer .inner {
	margin: 0 auto;
	padding: 45px 0 50px;
	width: 1000px;
  }
  #footer span a:hover {
	text-decoration: underline;
  }
  #footer small {
	padding: 30px 0;
  }
}
/*
==================================================
トップページ
==================================================
*/
#whatsnew {
  background-color: #eee5d1;
  margin: 0 -5px 20px;
  padding: 5px 0;
  position: relative;
  z-index: 0;
}
#whatsnew::before {
  background-color: #fff;
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  bottom: 5px;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 5px;
  z-index: -1;
}
#whatsnew .title {
  border-bottom: 1px dashed #c5bc9e;
  padding: 10px;
}
#whatsnew .title span {
  color: #4c4340;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  padding-left: 22px;
  position: relative;
}
#whatsnew .title span::before {
  border: 4px solid #f5ba00;
  -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: 16px;
  left: 0;
  position: absolute;
  top: 1px;
  width: 16px;
}
#whatsnew ul {
  list-style: outside none none;
  margin: 0;
  overflow: hidden;
  padding: 5px 0;
}
#whatsnew ul > li {
  background-image: none;
  margin: 5px 0;
  padding: 0 10px;
}
#whatsnew ul > li span {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  position: relative;
}
#whatsnew ul > li span:nth-last-of-type(2) {
  color: #73614c;
}
@media screen and (min-width: 768px) {
  #whatsnew {
	margin: 0 0 20px;
	padding: 14px;
  }
  #whatsnew::before {
	bottom: 14px;
	left: 14px;
	right: 14px;
	top: 14px;
  }
  #whatsnew .title {
	margin: 16px 16px 0;
	padding: 5px 6px 17px 6px;
  }
  #whatsnew .title span {
	font-size: 20px;
	padding-left: 32px;
  }
  #whatsnew .title span::before {
	border: 5px solid #f5ba00;
	height: 20px;
	width: 20px;
  }
  #whatsnew ul {
	padding: 3px 16px 12px;
  }
  #whatsnew ul > li {
	margin: 14px 0;
	padding: 0 4px;
  }
}
@media screen and (min-width: 1000px) {
  #whatsnew {
	background-image: url(img/whatsnew_bg.png);
	background-position: left top;
	background-repeat: repeat;
  }
  #whatsnew::before {
	background-image: url(img/whatsnew_inner_bg.png);
	background-position: left top;
	background-repeat: repeat;
  }
  #whatsnew .title {
	background-image: url(img/whatsnew_title.png);
	background-position: left bottom;
	background-repeat: repeat-x;
	border-bottom: none;
  }
}
/*
==================================================
カテゴリーページ
==================================================
*/
#categorylist {
  background-color: #faf7f3;
  margin: 0 -5px 10px;
  padding: 0 10px;
  text-align: left;
  overflow: hidden;
}
#categorylist .catbox {
  background-color: #fefdfd;
  border: 1px dashed #ded9d1;
  margin-bottom: 5px;
  padding: 12px;
}
#categorylist .catbox::after {
  clear: both;
  content: '';
  display: block;
}
#categorylist > .catbox:first-of-type {margin-top: 10px;}
#categorylist > .catbox:last-of-type {margin-bottom: 10px;}
#categorylist .thumb {
  float: left;
  margin: 0 10px 10px 0;
}
#categorylist .thumb img {
  max-width: 70px;
  max-height: 320px;
  object-fit: cover;
}
#categorylist .body::after {
  clear: both;
  content: '';
  display: block;
}
#categorylist .title {
  margin-bottom: 5px;
  overflow: hidden;
}
#categorylist .title a {
  color: #4c4340;
  display: inline-block;
  font-size: 16px;
  line-height: 1.4;
  text-decoration: none;
}
#categorylist p {
  clear: both;
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 14px;
  max-height: 54px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
#categorylist .more {
  margin-bottom: 5px;
  text-align: center;
}
#categorylist .more a,
#bloglist .more a {
  color: #fff;
  display: inline-block;
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", "メイリオ",sans-serif;
  font-size: 14px;
  height: 32px;
  line-height: 32px;
  position: relative;
  text-decoration: none;
  width: 170px;
  z-index: 0;
}
#categorylist .more a::after,
#bloglist .more a::after {
  background-color: #97a958;
  background-image: url(img/btnarrow.png), url(img/texture.png);
  background-position: 150px center, left top;
  background-repeat: no-repeat, repeat;
  background-size: 10px auto, 170px auto;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
#main #pagelist {
  margin: 15px 0;
  text-align: center;
}
#main #pagelist ul {
  letter-spacing: -.4em;
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
#main #pagelist li {
  background-image: none;
  display: inline-block;
  letter-spacing: normal;
  margin: 0 6px 12px !important;
  padding: 0 !important;
}
#main #pagelist a {
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: normal;
  line-height: 1;
  margin: 0;
  padding: 9px 13px;
  position: relative;
  text-align: center;
  text-decoration: none;
  z-index: 0;
}
#main #pagelist a::after {
  background-color: #a5b475;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #categorylist {
	margin: 0 0 20px;
	padding: 0 14px;
	position: relative;
	z-index: 0;
  }
  #categorylist::before {
	background-color: rgba(251, 249, 246, 0.6);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
  }
  #categorylist .catbox {
	margin-bottom: 10px;
	padding: 20px 26px 16px;
  }
  #categorylist > .catbox:first-of-type {margin-top: 14px;}
  #categorylist > .catbox:last-of-type {margin-bottom: 14px;}
  #categorylist .thumb {
	margin-right: 24px;
	width:20%;
	text-align:center;
	min-height:80px;
  }
  #categorylist .thumb img {
	max-width: 100%;
	max-height: 440px;
	font-family: 'object-fit: cover;';
  }
  #categorylist .title {
	border-bottom: 2px dashed #e4dbd1;
	margin-bottom: 10px;
	padding-bottom: 8px;
  }
  #categorylist .title a {
	font-size: 20px;
	line-height: 1.5;
  }
  #categorylist p {
	clear: none;
	display: block;
	font-size: 13px;
	line-height: 1.5;
	max-height: none;
  }
  #categorylist .more {
	float: right;
	line-height: 0;
	margin: 0;
  }
  #main #pagelist {
	margin: 20px 0;
  }
}
@media screen and (min-width: 1000px) {
  #categorylist {
	background-image: url(img/header_bg.jpg);
	background-position: left top;
	background-repeat: repeat;
  }
  #categorylist .title {
	background-image: url(img/category_title.png);
	background-position: left bottom;
	background-repeat: repeat-x;
	border: none;
	padding-bottom: 14px;
  }
  #categorylist .title a:hover {
	color: #4f93d4;
	text-decoration: underline;
  }
  #categorylist .more a {
	margin: 1px;
  }
  #categorylist .more a::before {
	background-image: url(img/more_bg.png);
	background-position: left top;
	background-repeat: repeat;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	bottom: -1px;
	content: '';
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
	z-index: -1;
  }
  #categorylist .more a:hover {
	opacity: 1;
  }
  #categorylist .more a:hover::before {
	background-image: url(img/more_bg_on.png);
  }
  #categorylist .more a:hover::after {
	background-color: #a39482;
  }
  #main #pagelist a {
	margin: 1px;
  }
  #main #pagelist a::before {
	background-image: url(img/more_bg.png);
	background-position: left top;
	background-repeat: repeat;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	bottom: -1px;
	content: '';
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
	z-index: -1;
  }
  #main #pagelist a::after {
	background-color: #97a958;
	background-image: url(img/texture.png);
	background-position: left top;
	background-repeat: repeat;
	background-size: 170px auto;
  }
  #main #pagelist a:hover {
	opacity: 1;
  }
  #main #pagelist a:hover::before {
	background-image: url(img/more_bg_on.png);
  }
  #main #pagelist a:hover::after {
	background-color: #a39482;
  }
}
/* ブログモード・段組
==================== */
#bloglist .blog{
	position:relative;
}
#bloglist .blog .more{
	text-align:center;
	margin-top:16px;
}
#bloglist .blog .title a{
	color:#333;
}
#bloglist .blog .title{
	background-image: url(img/category_title.png);
	background-position: left bottom;
	background-repeat: repeat-x;
	padding-bottom:14px;
	font-size:18px;
}
#bloglist .blog .thumb{
	margin:10px 0 16px;
	text-align:center;
	float:none;
}
#bloglist .blog .info{
	margin:10px 0;
}
#bloglist .blog .thumb img{
	max-width:100%;
	height:auto;
}
#bloglist .blog .info time,
#bloglist .blog .info .plist a{
	background-repeat:no-repeat;
	background-position:left center;
	padding-top:2px;
	padding-left:20px;
	line-height:20px;
	font-size:13px;
}
#bloglist .blog .info time{
	background-image:url(./img/b_icon_time.png);
}
#bloglist .blog .info .plist a{
	background-image:url(./img/b_icon_folder.png);
	padding-right: 5px;
}

@media screen and (min-width:768px){
	#bloglist{
		display:flex;
		flex-wrap: wrap;
		justify-content: left;
	}
	#bloglist .blog{
		width:48%;
		padding:10px 6px 40px;
		margin:10px 1%;
		border:none;
		box-sizing:border-box;
	}
	#bloglist .blog .info{
		overflow:hidden;
	}
	#bloglist .blog .thumb{
		float:none;
		width:100%;
	}
	#bloglist .blog .thumb img{
		max-width:100%;
		max-height:200px;
		width:100%;
		height:200px;
		object-fit:cover;
		font-family: 'object-fit: cover;';
	}
	#bloglist .blog .more{
		position:absolute;
		bottom:0;
		left:50%;
		margin-left:-85px;
	}
	#column3 #bloglist .blog .thumb{
		width:200px;
		max-width:200px;
		height:auto;
		max-height:400px;
	}
	#bloglist .blog .body{
		color:#444;
	}
	#bloglist .blog .body{
		clear:unset;
	}
	#column1 #bloglist .blog{
		width:31.33%;
	}
	#column3 #bloglist .blog{
		width:98%;
	}
	#column3 #bloglist .blog .thumb{
		float:left;
		margin-right: 24px;
		margin-bottom:24px;
		margin-top:0;
	}
	#column3 #bloglist .blog .info{
		padding-top:10px;
	}
	#column3 #bloglist .blog .more{
		text-align:right;
	}
	#column3 #bloglist .blog .more a{
		text-align:center;
	}
}

/*
==================================================
エントリーページ
==================================================
*/
#entrylist {
  overflow: hidden;
  margin: 0 0 10px;
}
#entrylist h4 {
  background-color: transparent;
  background-image: none;
  border-bottom: 3px dotted #e5e3e3;
  margin: 0 0 15px;
  padding: 10px 0;
}
#entrylist h4 span {
  background-image: url(img/entry_title.png);
  background-position: 4px 8px;
  background-repeat: no-repeat;
  background-size: 21px auto;
  color: #4c4340;
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  padding: 0 0 0 32px;
}
#entrylist dl {
  border-bottom: 3px dotted #e5e3e3;
  margin: 0;
  padding: 0;
}
#entrylist div {
  display: block;
  line-height: 1;
  margin: 0 0 10px;
  overflow: hidden;
}
#entrylist dt .entry_title {
  display: block;
  overflow: hidden;
}
#entrylist dt .entry_title a {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
  overflow: hidden;
  padding-left: 18px;
  position: relative;
}
#entrylist dt .entry_title a::before {
  background-color: #4592cd;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 14px;
  left: 0;
  position: absolute;
  top: 5px;
  width: 14px;
}
#entrylist dt .entry_title a::after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: '';
  height: 5px;
  left: 3px;
  position: absolute;
  top: 9px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 5px;
}
#entrylist dd {
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
}
#relNavigate {
  border-collapse: separate;
  border-spacing: 10px;
  display: table;
  letter-spacing: -1em;
  margin: 10px auto;
  table-layout: fixed;
  text-align: center;
}
#relNavigate a {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  display: table-cell;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.6;
  padding: 8px 16px;
  position: relative;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  width: 50%;
  z-index: 0;
}
#relNavigate a::after {
  background-color: #a5b475;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #entrylist {
	margin: 0 0 20px;
  }
  #entrylist h4 span {
	background-position: 4px 9px;
	background-size: 25px auto;
	font-size: 20px;
	padding: 0 0 0 40px;
  }
  #entrylist dl {
	padding: 4px;
  }
  #entrylist dt:last-of-type span a {
	font-size: 15px;
	line-height: 1.6;
  }
  #entrylist dd {
	font-size: 12px;
	line-height: 1.8;
  }
  #relNavigate {
	border-spacing: 20px;
  }
}
@media screen and (min-width: 1000px) {
  #relNavigate a::before {
	background-image: url(img/more_bg.png);
	background-position: left top;
	background-repeat: repeat;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	bottom: -1px;
	content: '';
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
	z-index: -1;
  }
  #relNavigate a::after {
	background-color: #97a958;
	background-image: url(img/texture.png);
	background-position: left top;
	background-repeat: repeat;
	background-size: 170px auto;
  }
  #relNavigate a:hover {
	opacity: 1;
  }
  #relNavigate a:hover::before {
	background-image: url(img/more_bg_on.png);
  }
  #relNavigate a:hover::after {
	background-color: #a39482;
  }
}
/*
==================================================
サイトマップページ
==================================================
*/
#sitemaps {
  margin: 0 0 20px;
  overflow: hidden;
}
#sitemaps ul {
  list-style: outside none none;
  margin: 0;
  overflow: visible;
  padding: 0;
}
#sitemaps ul > li {
  border-bottom: 1px dashed #c4bcaf;
  line-height: 1;
  padding: 0;
}
#sitemaps ul > li a {
  color: #53423b;
  display: block;
  font-size: 14px;
  line-height: 1.6;
  padding: 14px 20px 14px 32px;
  position: relative;
  text-align: left;
  text-decoration: none;
}
#sitemaps ul > li a::before {
  background-color: #f8ca2a;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 14px;
  left: 10px;
  position: absolute;
  top: 18px;
  width: 14px;
}
#sitemaps ul > li a::after {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  content: '';
  height: 5px;
  left: 13px;
  position: absolute;
  top: 22px;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 5px;
}
#sitemaps ul .l2 a::before,
#sitemaps ul .l3 a::before {
  display: none;
}
#sitemaps ul .l2 a::after,
#sitemaps ul .l3 a::after {
  border-right: 2px solid #b5b1b0;
  border-top: 2px solid #b5b1b0;
  left: 12px;
  top: 21px;
}
#sitemaps ul .l3 a {
  padding-left: 54px;
}
#sitemaps ul .l3 a::after {
  left: 34px;
}
#sitemaps br {
  display: none;
}
@media screen and (min-width: 768px) {
  #sitemaps {
	padding: 0 10px;
  }
  #sitemaps ul {
	margin-bottom: 10px;
  }
  #sitemaps ul > li {
	border-bottom: none;
  }
  #sitemaps ul > li a {
	display: inline-block;
	font-size: 16px;
	padding: 0 0 0 20px;
  }
  #sitemaps ul > li a::before {
	left: 0;
	top: 4px;
  }
  #sitemaps ul > li a::after {
	left: 3px;
	top: 8px;
  }
  #sitemaps ul .l1 {
	margin-top: 15px;
  }
  #sitemaps ul .l2,
  #sitemaps ul .l3 {
	margin-top: 15px;
	padding: 0;
  }
  #sitemaps ul .l2 a,
  #sitemaps ul .l3 a {
	background-color: transparent;
	font-size: 15px;
	padding: 0 0 0 20px;
  }
  #sitemaps ul .l2 a::after,
  #sitemaps ul .l3 a::after {
	left: 4px;
	top: 8px;
  }
  #sitemaps ul .l2 {
	margin-left: 0;
  }
  #sitemaps ul .l3 {
	margin-left: 20px;
  }
}
@media screen and (min-width: 1000px) {
  #sitemaps ul > li a:hover {
	color: #4592cd;
	text-decoration: underline;
  }
}
/*
==================================================
フリースペース
==================================================
*/
#space3, #space4, #space5, #space6 {
  overflow: hidden;
  padding: 10px;
  background-color:#FFF;
}
@media screen and (min-width: 768px) {
  #space3, #space4, #space5, #space6 {
	padding: 0;
  }
}
/*
==================================================
ブログモード
==================================================
*/
.blog {
  border-bottom: 1px dashed #ded9d1;
  margin: 20px 0;
  overflow: hidden;
  padding: 0 5px 10px;
}
.blog .thumb {
  float: left;
  margin-right: 15px;
}
.blog .thumb img {
  max-width: 100px;
}
.blog .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 5px;
}
.blog .info {
  color: #666;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 5px;
}
.blog .info a {
  color: #666;
}
.blog .body {
  clear: both;
  padding: 10px 0;
  font-size:0.9em;
}
.blog .body{
  overflow:hidden;
}
.blog .more {
  text-align: right;
}
.blog .plist {
  padding: 0 5px;
}
.blog .plist a {
  margin: 0 2px;
}
.blog .plist::before {
  content: "|";
  display:inline-block;
  margin-right: 8px;
}

@media screen and (min-width: 768px) {
  .blog {
	margin: 30px 0;
	padding-bottom: 20px;
  }
  .blog .thumb {
	margin: 0 25px 25px 0;
  }
  .blog .thumb img {
	max-width: 200px;
  }
  .blog .title {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 10px;
  }
  .blog .info {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 10px;
  }
  .blog .body {
	overflow: hidden;
  }
}
/*
==================================================
サイト内検索
==================================================
*/
#searchresult {
  margin-bottom: 20px;
  padding: 5px;
}
#searchresult dl {
  margin: 0 0 -10px;
  padding: 0;
}
#searchresult dt {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 5px;
}
#searchresult dd {
  border-bottom: 1px dashed #ded9d1;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 10px;
  padding-bottom: 10px;
}
#searchresult b {
  color: #faa52d;
}
@media screen and (min-width: 768px) {
  #searchresult {
	padding: 0;
  }
  #searchresult dd {
	margin: 0 0 15px;
	padding-bottom: 15px;
  }
}
/*
==================================================
リンク集
==================================================
*/
#linklist {
  margin: 0 0 20px;
  padding: 5px;
}
#linklist dt {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 5px;
}
#linklist dd {
  border-bottom: 1px dashed #ded9d1;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 10px;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #linklist {
	padding: 0;
  }
  #linklist dd {
	margin: 0 0 15px;
	padding-bottom: 15px;
  }
}
/*
==================================================
ポイント
==================================================
*/
/* メインコンテンツ用ポイント
==================================================
*/
#main .point1, #main .point2, #main .point3, #main .point4, #main .point5, #main .point6, #main .point7, #main .point8, #main .point9, #main .point10 {
  border: none;
}
#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: 32px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #675e50;
  font-size: 18px;
  font-weight: bold;
  height: auto;
  line-height: 1.5;
  margin: 10px 0 5px;
  min-height: 32px;
  padding: 2px 0 0 40px;
}
@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: 43px auto;
	font-size: 22px;
	line-height: 1.4;
	margin: 20px 0 15px;
	min-height: 42px;
	padding: 8px 0 0 52px;
  }
}
.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 .point1, #menu .point2, #menu .point3, #menu .point4, #menu .point5, #menu .point6, #menu .point7, #menu .point8, #menu .point9, #menu .point10,
#rmenu .point1,
#rmenu .point2,
#rmenu .point3,
#rmenu .point4,
#rmenu .point5,
#rmenu .point6,
#rmenu .point7,
#rmenu .point8,
#rmenu .point9,
#rmenu .point10 {
  background-position: left top;
  background-size: 28px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  color: #675e50;
  height: auto;
  min-height: 29px;
  padding: 1px 0 0 34px;
}
/*
==================================================
ランキング
==================================================
*/
/* メインコンテンツ用ランキング
==================================================
*/
.rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
  border: none;
  height: auto;
}
.rank {
  background-color: #fcf4d7;
  margin: 0 0 20px;
  padding: 5px;
}
.rank .rank-container {
  background-color: #fff;
  background-image: url(img/rank_bg.png);
  background-position: left 2px;
  background-repeat: repeat;
  margin-top: 16px;
  padding: 7px;
  position: relative;
  z-index: 0;
}
.rank .rank-container::before {
  background-image: url(img/rank_bg_t.png);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 16px auto;
  content: '';
  height: 16px;
  left: 0;
  position: absolute;
  right: 0;
  top: -16px;
}
.rank .rank-container::after {
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: -16px;
  z-index: -1;
}
.rank .rank1, .rank .rank2, .rank .rank3, .rank .rank4, .rank .rank5, .rank .rank6, .rank .rank7, .rank .rank8, .rank .rank9, .rank .rank10 {
  background-position: left top;
  background-size: 54px auto;
  border-bottom: 4px dotted #dcd3b9;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px;
  min-height: 50px;
  padding: 6px 10px 12px 58px;
  position: relative;
}
.rank .rank1 a, .rank .rank2 a, .rank .rank3 a, .rank .rank4 a, .rank .rank5 a, .rank .rank6 a, .rank .rank7 a, .rank .rank8 a, .rank .rank9 a, .rank .rank10 a {
  color: #653900;
  text-decoration: none;
}
.rank .rank-inner {
  overflow: hidden;
  padding: 8px;
}
.rank .float-l,
.rank .float-r {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: none;
  margin: 0 auto;
  max-width: 100%;
  text-align: center;
}
.rank .float-l img,
.rank .float-r img {
 margin: 0 0 10px;
}
.rank .rankbox {
  margin: 10px 0;
  font-size:0.875rem;
  line-height: 1.6;
}
.rank .feature {
  color: #4c4340;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 5px;
}
.rank .rnkbody {
  font-size: 16px;
  line-height: 1.6;
}
.rank .rank-table {
  clear: both;
  margin: 10px 0;
}
.rank .rank-table table {
  background-color: #fffdf6;
  border: none;
  border-collapse: separate;
  border-spacing: 5px;
  clear: both;
  font-size: 16px;
  line-height: 1.6;
  overflow: hidden;
  width: 100%;
}
.rank .rank-table table th, .rank .rank-table table td {
  background-color: transparent;
  border: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  vertical-align: top;
}
.rank .rank-table table th {
  color: #221714;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding: 0;
  text-align: left;
  width: 70px;
}
.rank .rank-table table th div {
  background-color: #ffdf40;
  background-image: url(img/texture.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 170px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px;
  position: relative;
  text-align: center;
  z-index: 0;
}
.rank .rank-table table th div::before {
  border-bottom: 1px dashed #fff;
  border-top: 1px dashed #fff;
  bottom: 1px;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 1px;
}
.rank .rank-table table td {
  padding: 7px 0 0 5px;
  vertical-align: baseline;
}
.rank .rank-table table td span {
  color: #ea6565;
  display: inline-block;
}
.rank .rank-table table td span b {
  font-family: Arial;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1;
  margin: -4px 3px 0 0;
}
.rank .comment {
  background-color: #f6f0e3;
  clear: both;
  margin: 10px 0;
}
.rank .comment .comment-inner {
  background-image: url(img/texture.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 170px auto;
  padding: 15px;
  position: relative;
  z-index: 0;
}
.rank .comment .comment-tit {
  margin-bottom: 5px;
}
.rank .comment .comment-tit span {
  color: #7b6239;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.3;
  text-shadow: 2px 0px 0px white, -2px 0px 0px white, 0px -2px 0px white, 0px 2px 0px white, 2px 2px 0px white, -2px 2px 0px white, 2px -2px 0px white, -2px -2px 0px white, 1px 2px 0px white, -1px 2px 0px white, 1px -2px 0px white, -1px -2px 0px white, 2px 1px 0px white, -2px 1px 0px white, 2px -1px 0px white, -2px -1px 0px white, 1px 1px 0px white, -1px 1px 0px white, 1px -1px 0px white, -1px -1px 0px white, 0 3px 3px rgba(0, 0, 0, 0.15);
}
.rank .comment .comment-body {
  font-size: 16px;
  line-height: 1.8;
}
.rank .more {
  clear: both;
  position: relative;
  text-align: center;
}
.rank .more span {
  display: block;
  margin-top: 10px;
}
.rank .more span a {
  background-color: #97dbe8;
  background-image: url(img/texture.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 170px auto;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #196b7b;
  display: block;
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  font-size: 21px;
  font-weight: bold;
  line-height: 1.3;
  padding: 17px 34px 17px 20px;
  position: relative;
  text-decoration: none;
  z-index: 0;
}
.rank .more span a::after {
  background-color: #237d8f;
  background-image: url(img/btnarrow.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10px auto;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  content: '';
  height: 18px;
  margin-top: -9px;
  position: absolute;
  right: 14px;
  top: 50%;
  width: 18px;
}
.rank .more span.official a {
  background-color: #fee438;
  color: #5c3200;
}
.rank .more span.official a::after {
  background-color: #653900;
}
.rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 44px auto;
  border: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 17px;
  font-weight: bold;
  height: auto;
  line-height: 1.5;
  margin: 10px 0;
  min-height: 36px;
  padding: 6px 0 6px 48px;
  position: relative;
}
.rank1 {
  background-image: url(img/rank1.png);
}
.rank2 {
  background-image: url(img/rank2.png);
}
.rank3 {
  background-image: url(img/rank3.png);
}
.rank4 {
  background-image: url(img/rank4.png);
}
.rank5 {
  background-image: url(img/rank5.png);
}
.rank6 {
  background-image: url(img/rank6.png);
}
.rank7 {
  background-image: url(img/rank7.png);
}
.rank8 {
  background-image: url(img/rank8.png);
}
.rank9 {
  background-image: url(img/rank9.png);
}
.rank10 {
  background-image: url(img/rank10.png);
}
@media screen and (min-width: 768px) {
  .rank {
	margin: 0 0 20px;
	padding: 20px;
  }
  .rank .rank-container {
	padding: 14px;
  }
  .rank .rank1, .rank .rank2, .rank .rank3, .rank .rank4, .rank .rank5, .rank .rank6, .rank .rank7, .rank .rank8, .rank .rank9, .rank .rank10 {
	background-position: 8px top;
	background-size: 72px auto;
	font-size: 26px;
	line-height: 1.4;
	margin: 0 0 20px;
	min-height: 70px;
	padding: 14px 0 15px 90px;
  }
  .rank .rank-inner {
	padding: 6px;
  }
  .rank .float-l,
  .rank .float-r {
	max-width: 40%;
  }
  .rank .rankbox {
	margin: 0 0 20px;
  }
  .rank .feature {
	margin-bottom: 8px;
  }
  .rank .rank-table table {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 5px;
  }
  .rank .rank-table table th {
	font-size: 16px;
	width: 90px;
  }
  .rank .rank-table table td {
	padding: 8px 0 0 15px;
  }
  .rank .comment .comment-inner {
	padding: 24px 30px;
  }
  .rank .comment .comment-tit {
	margin-bottom: 12px;
  }
  .rank .comment .comment-tit span {
	font-size: 22px;
	line-height: 1.5;
  }
  .rank1, .rank2, .rank3, .rank4, .rank5, .rank6, .rank7, .rank8, .rank9, .rank10 {
	background-size: 62px auto;
	font-size: 22px;
	line-height: 1.5;
	margin: 8px 0;
	min-height: 52px;
	padding: 9px 0 9px 68px;
  }
}
@media screen and (min-width: 1000px) {
  .rank .rank1 a:hover, .rank .rank2 a:hover, .rank .rank3 a:hover, .rank .rank4 a:hover, .rank .rank5 a:hover, .rank .rank6 a:hover, .rank .rank7 a:hover, .rank .rank8 a:hover, .rank .rank9 a:hover, .rank .rank10 a:hover {
	color: #4592cd;
	text-decoration: underline;
  }
  .rank .float-l,
  .rank .float-r {
	float: left;
	margin: 0 20px 10px 0;
  }
  .rank .float-l img,
  .rank .float-r img {
	margin: 0 0 20px;
  }
  .rank .more {
	display: table;
	margin: 24px 0 8px;
	width: 100%;
  }
  .rank .more span {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table-cell;
	margin-top: 0;
  }
  .rank .more span:not(:first-of-type) {
	padding-left: 5px;
  }
  .rank .more span:not(:last-of-type) {
	padding-right: 5px;
  }
  .rank .more span:hover {
	left: 1px;
	position: relative;
	top: 1px;
  }
  .rank .more span a:hover {
	left: 0 !important;
	top: 0 !important;
  }
}
/* メニュー用ランキング
==================================================
*/
#menu .rank1, #menu .rank2, #menu .rank3, #menu .rank4, #menu .rank5, #menu .rank6, #menu .rank7, #menu .rank8, #menu .rank9, #menu .rank10,
#rmenu .rank1,
#rmenu .rank2,
#rmenu .rank3,
#rmenu .rank4,
#rmenu .rank5,
#rmenu .rank6,
#rmenu .rank7,
#rmenu .rank8,
#rmenu .rank9,
#rmenu .rank10 {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 44px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  margin: 12px 0;
  min-height: 36px;
  padding: 6px 0 6px 48px;
}
/*
==================================================
１カラムレイアウト
==================================================
*/
#column1 {
  position: relative;
  z-index: -1;
}
#column1 #menu,
#column1 #main {
  float: none;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #column1 #menu .menulist ul,
  #column1 #rmenu .menulist ul {
	overflow: hidden;
  }
  #column1 #menu .menulist li,
  #column1 #rmenu .menulist li {
	border: none;
	float: left;
	margin: 10px 20px 10px 0;
  }
  #column1 #menu .menulist li a,
  #column1 #rmenu .menulist li a {
	padding: 0 0 0 32px;
  }
  #column1 #menu .menulist li a::before,
  #column1 #rmenu .menulist li a::before {
	top: 4px;
  }
  #column1 #menu .menulist li a::after,
  #column1 #rmenu .menulist li a::after {
	top: 8px;
  }
  #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 {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	left: 13px;
	top: 8px;
  }
  #column1 #menu .rank .rank1, #column1 #menu .rank .rank2, #column1 #menu .rank .rank3, #column1 #menu .rank .rank4, #column1 #menu .rank .rank5, #column1 #menu .rank .rank6, #column1 #menu .rank .rank7, #column1 #menu .rank .rank8, #column1 #menu .rank .rank9, #column1 #menu .rank .rank10,
  #column1 #rmenu .rank .rank1,
  #column1 #rmenu .rank .rank2,
  #column1 #rmenu .rank .rank3,
  #column1 #rmenu .rank .rank4,
  #column1 #rmenu .rank .rank5,
  #column1 #rmenu .rank .rank6,
  #column1 #rmenu .rank .rank7,
  #column1 #rmenu .rank .rank8,
  #column1 #rmenu .rank .rank9,
  #column1 #rmenu .rank .rank10 {
	background-position: 8px top;
	background-size: 72px auto;
	font-size: 26px;
	line-height: 1.4;
	margin: 0 0 20px;
	min-height: 70px;
	padding: 14px 0 15px 90px;
  }
  #column1 ul#newEntry li, #column1 ul#entryarchive li {
	border: none;
	float: left;
	margin: 10px 20px 10px 0;
	padding: 0;
  }
}
/*
==================================================
２カラムレイアウト
==================================================
*/
#column2 {
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #column2 #main {
	width: 75%;
  }
  #column2 #menu {
	width: 25%;
  }
  #column2 #menu .rank,
  #column2 #rmenu .rank {
	margin: 0 0 20px;
	padding: 3px;
  }
  #column2 #menu .rank .rank-container,
  #column2 #rmenu .rank .rank-container {
	padding: 7px 2px;
  }
  #column2 #menu .rank .rank1, #column2 #menu .rank .rank2, #column2 #menu .rank .rank3, #column2 #menu .rank .rank4, #column2 #menu .rank .rank5, #column2 #menu .rank .rank6, #column2 #menu .rank .rank7, #column2 #menu .rank .rank8, #column2 #menu .rank .rank9, #column2 #menu .rank .rank10,
  #column2 #rmenu .rank .rank1,
  #column2 #rmenu .rank .rank2,
  #column2 #rmenu .rank .rank3,
  #column2 #rmenu .rank .rank4,
  #column2 #rmenu .rank .rank5,
  #column2 #rmenu .rank .rank6,
  #column2 #rmenu .rank .rank7,
  #column2 #rmenu .rank .rank8,
  #column2 #rmenu .rank .rank9,
  #column2 #rmenu .rank .rank10 {
	background-position: left top;
	background-size: 44px auto;
	font-size: 17px;
	line-height: 1.5;
	margin: 0 0 10px;
	min-height: 36px;
	padding: 6px 0 6px 48px;
  }
  #column2 #menu .rank .rank-inner,
  #column2 #rmenu .rank .rank-inner {
	padding: 5px;
  }
  #column2 #menu .rank .float-l,
  #column2 #menu .rank .float-r,
  #column2 #rmenu .rank .float-l,
  #column2 #rmenu .rank .float-r {
	float: none;
	margin: 0;
	max-width: 100%;
  }
  #column2 #menu .rank .float-l img,
  #column2 #menu .rank .float-r img,
  #column2 #rmenu .rank .float-l img,
  #column2 #rmenu .rank .float-r img {
	margin: 0 0 10px;
  }
  #column2 #menu .rank .feature,
  #column2 #rmenu .rank .feature {
	margin-bottom: 5px;
  }
  #column2 #menu .rank .rank-table table,
  #column2 #rmenu .rank .rank-table table {
	border-spacing: 2px;
	padding: 0;
  }
  #column2 #menu .rank .rank-table table th,
  #column2 #rmenu .rank .rank-table table th {
	font-size: 14px;
	width: 45px;
  }
  #column2 #menu .rank .rank-table table th div,
  #column2 #rmenu .rank .rank-table table th div {
	padding: 5px;
  }
  #column2 #menu .rank .rank-table table td,
  #column2 #rmenu .rank .rank-table table td {
	padding: 4px 0 0 5px;
  }
  #column2 #menu .rank .rank-table table td span b,
  #column2 #rmenu .rank .rank-table table td span b {
	font-size: 22px;
  }
  #column2 #menu .rank .comment .comment-inner,
  #column2 #rmenu .rank .comment .comment-inner {
	padding: 15px;
  }
  #column2 #menu .rank .comment .comment-tit,
  #column2 #rmenu .rank .comment .comment-tit {
	margin-bottom: 5px;
  }
  #column2 #menu .rank .comment .comment-tit span,
  #column2 #rmenu .rank .comment .comment-tit span {
	font-size: 19px;
	line-height: 1.3;
  }
  #column2 #menu .rank .more,
  #column2 #rmenu .rank .more {
	display: block;
	margin: 0;
  }
  #column2 #menu .rank .more span,
  #column2 #rmenu .rank .more span {
	display: block;
	margin-top: 10px;
  }
  #column2 #menu .rank .more span:not(:first-of-type), #column2 #menu .rank .more span:not(:last-of-type),
  #column2 #rmenu .rank .more span:not(:first-of-type),
  #column2 #rmenu .rank .more span:not(:last-of-type) {
	padding: 0;
  }
  #column2 #menu .rank .more span a,
  #column2 #rmenu .rank .more span a {
	font-size: 14px;
	padding: 8px 40px 8px 20px;
  }
}
@media screen and (min-width: 1000px) {
  #column2 #main {
	width: 680px;
  }
  #column2 #menu {
	width: 300px;
  }
}
/*
==================================================
メニュー用ランキング調整スタイル
==================================================
*/
#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,
#rmenu .rank .rank1,
#rmenu .rank .rank2,
#rmenu .rank .rank3,
#rmenu .rank .rank4,
#rmenu .rank .rank5,
#rmenu .rank .rank6,
#rmenu .rank .rank7,
#rmenu .rank .rank8,
#rmenu .rank .rank9,
#rmenu .rank .rank10 {
  background-position: left top;
  background-size: 54px auto;
  font-size: 23px;
  line-height: 1.4;
  margin: 0 0 10px;
  min-height: 50px;
  padding: 6px 10px 12px 58px;
}
#menu .rank .rankbox,
#rmenu .rank .rankbox {
  border: none;
  margin: 10px 0;
  padding: 0;
}
/*
==================================================
独自スタイル
==================================================
*/
.originbox01{
	padding:5px;
}
.originbox01 > div{
    margin:5px 0;
    padding:15px;
    box-sizing:border-box;
    background-color:#faf9f5;
}
@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;
  }
}
/*
==================================================
レイアウト切り替え用スタイル
==================================================
*/
.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;
  }
}
#contents #main .txt-border {
  margin: 10px 5px;
}
#contents #main .txt-decbox1,
#contents #main .txt-decbox2 {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #contents #main .txt-border {
	margin: 10px;
  }
  #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{
}
#header h2 ,#header .title {
}
#header h2 a, #header h2 a:visited,#header h2 a:hover,#header .title a,#header .title a:visited{}
#headertext ,#header .desc{

}
@media screen and (min-width: 768px) {

#main{ float: left; }
#column2 #menu,#column3 #menu{ float: right; }
#column3 #rmenu { float: left; }
#column3 #layoutbox { float: right; }
#column3 #main { float: left; }
.sticky[style*="fixed"] {
    background-color: #FFF;
    margin-left: -8px;
    margin-right: -8px;
    padding: 8px;
}
}

#header{display:none;}

/*スマホ閲覧時のみ非表示*/
@media(min-width:751px){
    .sp9{
        display: none !important;
    }
}
@media(max-width:750px){
    .pc9{
        display: none !important;
    }
}

/*スマホの時だけサイドバー消すCSS*/
@media screen and (max-width: 600px){
#menu{
display: none;
}
}