@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
object, embed {
	vertical-align: middle;
}
legend {
	display: none;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
img, abbr, acronym, fieldset {
	border: 0 none;
}
img {
	vertical-align: middle;
}
ul li {
	list-style-type: none;
}

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

input,
textarea {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

/* for IE6 */
* html body {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

* html input,
* html textarea {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

/* リンク
----------------------------------------------------*/
a {
	color: #333;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}

/* 汎用
----------------------------------------------------*/
/* clear clerfix */
.clear {
	clear: both;
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
}

.content:after,
.clearfix:after {
	content:"";
	display:block;
	clear:both;
}

.content,
.clearfix {
	zoom: 1;
	/* for IE5.5 - IE7 */
}

/*box-sizing */
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family:'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'sans-serif';
	font-size: 14px;
	background: #fff;
	line-height: 25.2px;
}

/*----------------------------------------------------
	各ページスタイル
----------------------------------------------------*/

/* 共通
-----------------------------------------------------------------------------------------------*/

#contents:after,
#contents_low:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

a.trance:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

#index p,
#category p,
#page p{
	margin: 10px 0;
}




/*----------------------------------------------------
	PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 600px) {

body {
  background: #f4f4f4;
  font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 14px;
  min-width: 1000px;
  width: 100%;
  overflow-x: hidden;
}

#contents {
	margin: 20px auto 100px;
	max-width: 1000px;
	width: 100%;
}

#index,
#category,
#page {
	float: right;
	max-width: 740px;
	width: 74%
}

#side {
	float: left;
	max-width: 230px;
	width: 234%;
	margin-bottom: 100px;
}

.inner {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}


#page,
#single,
#category {
  margin: 0 0 0 30px;
  padding:0 0 25px 0;
}

/*--[common]--*/

nav,.sp {
  display: none !important;
}

h1,h2,h3,h4,h5,
.recommend ,
.rank{
	color: #000;
}

#page h2 a{
	display:block;
}
#page h2:hover{
	opacity: 1 !important;
}

#page h2 a:hover{
	opacity: .5 !important;
}

/*--[パンくず]--*/

#pankuzu {
    margin: 0 auto 20px;
    font-size: 12px;
    width: 1000px;
}
#pankuzu a{
    text-decoration: underline;
}



/*--[header]--*/

header {
  width: 100%;
  padding: 40px 0 0;
  position: relative;
}

header.underlayer{
  border-bottom: 1px solid #ccc;
}

.boxInner {
    text-align: center;
    padding: 0 0 0 70px;
}

header .frame-body{
  background: #323940;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
}

header .frame-body .inner {
  position: relative;
}

header .txt,
header .head-nav{
  font-size: 12px;
  position: absolute;
  top: 3px;
}

header .txt{
  left:0;
}

header .head-nav{
  right: 0;
}

header .frame-body a,
header .txt{
  color: #c9cbcc;
}

header .frame-body a{
  background: url(img/arrow_gr.png) no-repeat right center;
  background-size: 12px auto;
  padding: 0 20px 0 0;
  text-decoration: none;
}
header .frame-body a:hover{
  background: url(img/arrow_wh.png) no-repeat right center;
  background-size: 12px auto;
  color: #fff;
}


.boxInner h1,
.boxInner .title {
  font-size: 32px;
  font-weight: bold;
  line-height: 125%;
    margin: 40px 0;
  padding: 10px 0 10px;
}
.boxInner h1 span,
.boxInner .title span {
  position: relative;
}
.boxInner h1 span::before,
.boxInner .title span::before{
  content: '';
  display: inline-block;
  width: 60px;
  height: 60px;
  position: absolute;
  left: -75px;
  top: 50%;
  margin: -30px 0 0 0;
  background: url(img/rogo.png) no-repeat left center;
}

.boxInner .title a {
  text-decoration:none;
}

.boxInner .title a:hover {
  color: #56a47f;
}


/*--[見出し]--*/

#index h2,
#category h1,
#page h1{
  color: #fff;
  background:url(img/img_h2.png) no-repeat left top, #323940;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  line-height: 140%;
  margin: 0 auto 40px;
  padding: 30px 12%;
  position: relative;
  width: 100%;
}

#index h2::first-letter,
#category h1::first-letter,
#page h1::first-letter{

	color: #ffc000;
}


#index h2::after,
#category h1::after,
#page h1::after{
  content: '';
  display: block;
  position: absolute;
  background: url(img/img_h2.png) no-repeat left top;
  width: 124px;
  height: 40px;
}


#index h2::after,
#category h1::after,
#page h1::after{
  right: 0;
  bottom: 0;
  transform:rotate(180deg);
}


#index h3,
#category h2,
#page h2{
  color: #262626;
  background: #fff;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  line-height: 140%;
  margin: 40px auto;
  padding: 25px;
  position: relative;
  width: 100%;
}

#index h3::before,
#category h2::before,
#page h2::before{
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background: #323941;
  background: -moz-linear-gradient(left, #323941 0%, #56a47f 100%);
  background: -webkit-linear-gradient(left, #323941 0%,#56a47f 100%);
  background: linear-gradient(to right, #323941 0%,#56a47f 100%);
}

#index h3::after,
#category h2::after,
#page h2::after{
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #55a37f;
  background: -moz-linear-gradient(left, #55a37f 0%, #323941 100%);
  background: -webkit-linear-gradient(left, #55a37f 0%,#323941 100%);
  background: linear-gradient(to right, #55a37f 0%,#323941 100%);
}


#index h4,
#category h3,
#page h3{
  color: #262626;
  background-size: 20px auto;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 140%;
  margin: 40px auto;
  padding: 15px 30px;
  position: relative;
  width: 100%;
}

#index h4::before,
#category h3::before,
#page h3::before {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background: url(img/bg_h4_01.jpg)no-repeat left top, url(img/bg_h4_04.jpg)no-repeat left bottom, url(img/bg_h4_05.jpg) repeat-y left center;
  z-index: 1;
}

#index h4::after,
#category h3::after,
#page h3::after {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height:100%;
  background: url(img/bg_h4_02.jpg)no-repeat left top, url(img/bg_h4_03.jpg)no-repeat left bottom, url(img/bg_h4_06.jpg) repeat-y right center;
}


#index h5,
#category h4,
#page h4{
  color: #262626;
  background-size: 20px auto;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin: 40px auto;
  line-height: 140%;
  padding: 15px 30px;
  position: relative;
  width: 100%;
  border-bottom: 2px dotted #323940;
}


.recommend,
.point,
.check,
.rank{
  background: #e8fdf3;
  border: 1px solid #56a47f;
  font-size: 26px;
  font-weight: bold;
  margin: 40px auto 40px 0;
  padding: 15px 30px 15px 90px;
  position: relative;
  line-height: 140%;
  width: 98%;
}
.recommend::before,
.point::before,
.check::before,
.rank::before{
  content: '';
  display: block;
  position: absolute;
  left: -1%;
  top: 50%;
  margin: -40px 0 0 0 ;
  width: 80px;
  height: 80px;
}

.recommend::before{
  background: url(img/img_recomend.png)no-repeat;
}

.point::before{
  background: url(img/img_point.png)no-repeat;
}

.check::before{
  background: url(img/img_check.png)no-repeat;
}

.rank1::before{
  background: url(img/img_ranking_1.png)no-repeat;
}

.rank2::before{
  background: url(img/img_ranking_2.png)no-repeat;
}

.rank3::before{
  background: url(img/img_ranking_3.png)no-repeat;
}

.rank4::before{
  background: url(img/img_ranking_4.png)no-repeat;
}

/*--[ul ol]-- */

#index ul li a 
#category ul li a, 
#page ul li a{
	display: block;
        text-decoration: underline;
}

#index ul li a:hover, 
#category ul li a:hover, 
#page ul li a:hover{
	text-decoration: none;
}

#index ul, #category ul, #page ul {
	margin: 30px 0 30px 10px;
	list-style:none;
}
#index ul li, #category ul li, #page ul li {
  background: url(img/icon_ul.png) left 5px top 2px no-repeat;
  margin: 10px 0;
  padding-left: 30px;
  line-height: 135%;
}
#index ol , #category ol, #page ol {
	margin: 30px 0 30px 10px;
}
#index ol li, #category ol li, #page ol li {
    counter-increment: number;
    list-style:none; 
    margin: 10px 0;
    padding: 0 0 0 30px;
    display: block;
    position: relative;
}
#index ol li::before, 
#category ol li::before, 
#page ol li::before{
 content: counter(number);
 color: #28b472;
    background: url(img/icon_ol.png) no-repeat 63% bottom;
 font-size: 12px;
 font-weight: bold;
 display: block;
 height: 20px;
 left: 0;
 position: absolute;
 text-align:  center;
 top: 2px;
 letter-spacing:-1px;
 line-height: 22px;
 width: 24px;
}

/* 文字装飾
----------------------------- */
#index p span,
#category p span,
#page p span,
#single p span {
	font-weight: bold;
	font-size: 18px;
	color: #ff0000;
    background: linear-gradient(transparent 40%, #ffc000 90%,transparent 90%);
}


/* table 
----------------------------- */
.table-layout {
        width: 100%;
        margin: 30px 0;
}

.table-layout table {
 width: 100%;
	border-collapse: separate;
	border-spacing: 0;
 border: 1px solid #ccc;
}

.table-layout table thead th,
.table-layout table tbody th,
.table-layout table tbody td {
  border:0;
  border-bottom: 1px solid #ccc;
  padding: 15px;
}

.table-layout table tbody td {
  border-left: 1px solid #ccc !important;
  background-color: #fff;
}

.table-layout table th  {
  border-left: 1px solid #ccc !important;
  background: #56a47f;
  color: #fff;
}
.table-layout table tbody tr:last-child th,
.table-layout table tbody tr:last-child td {
  border-bottom: none;
}

.table-layout table th:first-child {
  border-left: none !important;
}

.table-layout table th{
  font-weight: bold;
}

.table-layout table td{
  text-align: left;
}


/*--[カラム設定]-- */
.fl {
    float: left;
    margin-right: 25px;
    margin-bottom: 20px;
}
.fr {
    float: right;
    margin-left: 20px;
}
.float-img {
    width: 240px;
    padding: 3px 0 0;
    
}

.float-img img {
  max-width: 100%;
  height: auto;
}
.float-img .flame{
    border: 2px solid #56a47f;
}

.float-img .caption {
    margin: 10px auto 10px;
}

.caption {
 text-align: center;
 font-size: 12px;
 color: #888888;
	line-height: 135%;
}

.box-wrap,.float-wrap  {
    margin: 20px auto;
}

.float-wrap p{
  margin: 0 auto 0px !important;
  line-height: 170%;
}

.box-wrap {
  display: -webkit-flex;
  display: flex;
}


.box {
/* float:left;*/
    background: url(img/bg_box.png) no-repeat right bottom -1px, #fff;
 border-top: 3px solid #56a47f;
 border-right: 3px solid #56a47f;
 border-left: 3px solid #56a47f;
 border-bottom: 20px solid #56a47f;
 padding: 10px 10px 50px 10px;
 position: relative;
 width: 360px;
 margin: 0 auto 30px;
}

.left_box {
    margin-right: 20px;
}
.box-head , 
.box-body {
 margin: 0 auto;
}

.box-head{
	font-size: 20px;
 font-weight: bold;
 border-bottom: 4px dotted #ffc000;
}
.box-head a{
 background: url(img/icon_green.png) no-repeat 95% 40%;
 background-size: 18px auto;
	color: #262626;
 display: block;
 padding: 20px 40px 20px 15px;
 text-decoration: none;
}

.box-body {
  padding: 20px 15px 20px;
}
.box-body p:first-child,.frame-body p:first-child {
  margin: 0 !important;
}
 
.box:hover {
  background:  url(img/bg_box.png) no-repeat right bottom -1px,#c2edd5;
}

.box:hover .box-head a{
 background: url(img/icon_green.png) no-repeat 95% 40%;
 background-size: 18px auto;
}

#contents .frame-wrap {
  display: -webkit-flex;
  display: flex;
  margin: 40px 10px;
  width: 820px;
}

#contents .frame-wrap .frame{
/* float: left; */
 padding: 5px 5px 25px;
 width: 235px;
	background: url(img/bg_box_01.jpg) no-repeat left top, url(img/bg_box_02.png) no-repeat right top , url(img/bg_box_03.png) no-repeat left bottom , url(img/bg_box_04.png)no-repeat right bottom, #fefcf7;
}


#contents .frame-wrap .frame:nth-child(2){
    margin: 0 12px;
}

#contents .frame-head,
#contents .frame-body {
}
#contents .frame-head {
  margin: 25px 0 0 0;
  padding: 0 15px 5px;
  position: relative;
}
#contents .frame-head p{
 border-bottom: 1px solid #ccc;
 font-size: 18px;
 font-weight: bold;
 text-align: center;
 padding-bottom: 10px;
	line-height: 135%;
 margin: 0 auto;
}

#contents .frame-body {
    padding: 10px 15px 5px;
    position: relative;
	
}

/*　ボタン・リンク
----------------------------- */
.permalink {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.btn-internal a,
.btn-web a {
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 15px 50px 15px 20px;
    margin: 20px auto;
    width: 370px;
}
.btn-internal a{
 background: no-repeat 95% 50% url(img/arrow_w.png), #56a47f;
 background-size: 17px auto;
	box-shadow: 0 4px 0 #40795e;
}
.btn-internal a:hover{
 background: no-repeat 95% 50% url(img/arrow_w.png), #323940;
 background-size: 17px auto;
	box-shadow: 0 4px 0 #060708;
}
.btn-web a{
 background: no-repeat 95.3% 49.7% url(img/arrow_w.png), #cc66ee;
  background-size: 17px auto;
	box-shadow: 0 4px 0 #734682;
}
.btn-web a:hover{
 background: no-repeat 95% 50% url(img/arrow_w.png), #ffc000;
 background-size: 17px auto;
	box-shadow: 0 4px 0 #c49400;
}

p.right{
    text-align: right;
}
.btn-link a{
    background: url(img/arrow_bl2.png) no-repeat 0 center;
    background-size: 18px auto;
    color: #4358b3;
    text-decoration: underline;
    padding-left: 30px;
    font-weight: bold;
    float: right;
}
.btn-link a:hover{
    text-decoration: none;
}


/*--[サイド]-- */

.sideBox {
  margin-bottom: 30px;
}

.sideList .sttl a {
  color: #c9cbcc;
  font-weight: bold;
  display: block;
  padding: 15px 20px;
  text-decoration: none;
  width: 100%;
}

.sideList .sttl{
 background: #323940;
 font-weight: bold;
 font-size: 16px;
	margin: 0;
 position: relative;
 width: 100%;
}

.sideList .sttl a:hover {
	color: #fff;
}

.sideBox ul {
  background: #fff;
  padding: 0 10px;
}
.sideBox ul li{
    border-bottom: .5px solid #9a9a9a;
}
.sideBox ul li:last-child{
    border-bottom: 0;
}

.sideBox ul li a{
  background: url(img/arrow_g2.png) no-repeat 10px center;
  display: block;
  padding: 15px 5px 15px 30px;
  text-decoration: none;
}


.sideBox ul li a:hover{
  color: #56a47f;
}

.sideBox .parent{
    background: url(img/icon_side_arrow_2_on.png) no-repeat 5% 50%;
    background-size: 14px auto;
}

.side1 {
 background: url(img/bg_side.png) no-repeat left top , #fff;
 border-radius: 10px;
 border: 3px solid #323940;
 color: #53391d;
 margin: 0 0 40px 0;
 padding: 25px;
 position: relative;
}

.side1::before{
  content: "";
  position: absolute;
  bottom: -18px;
  left: 40px;
  margin-left: -15px;
  border-top: 20px solid #fff;
  border-left: 0 solid transparent;
  border-right: 20px solid transparent;
  z-index: 2;
}

.side1::after{
  content: "";
  position: absolute;
  bottom: -25px;
  left: 40px;
  margin-left: -18px;
  border-top: 25px solid #323940;
  border-left: 0 solid transparent;
  border-right: 26px solid transparent;
  z-index: 1;
}

.side1 .sttl {
 font-size: 18px;
 font-weight: bold;
 padding: 0 0 10px;
 border-bottom: 2px solid #ccc;
}

.side1 .sttl a{
 color: #262626;
 text-decoration: none;
}
.side1 .sttl a:hover {
 color: #969696;
}
.sideBox img ,.sideBox p img {
 display: block;
 margin: 10px auto;
 width: 100%;
    height: auto;
}
.side1 p a {
    background: no-repeat 95% 50% url(img/arrow_w.png), #56a47f;
    background-size: 10px auto;
    border-radius: 5px;
    box-shadow: 0 4px 0 #40795e;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    display: block;
    margin:  15px 0 0;
    padding: 8px 20px 5px 15px;
    text-align: center;
    text-decoration: none;
    width: 100%;
}

.side1 p a:hover {
    background: no-repeat 95% 50% url(img/arrow_w.png), #323940;
    background-size: 10px auto;
    box-shadow: 0 4px 0 #060708;
}
    
.side1 .caption {
    margin-bottom:5px;
	word-break: break-all;
}

.side1 .caption:last-child{
  margin-bottom: 20px;
}
/*--[フッター]-- */

footer {
    background: #56a47f;
}

footer .inner{
  padding: 60px 0 0;
  margin: 40px auto 0;
  position: relative;
}

footer .inner .frame-wrap{
   width: 100%;
   margin: 0 auto;
}

.copy{
    color: #fff;
    font-size: 12px;
    text-align:center;
    padding: 10px 0;
    margin: 0;
    width: 100%;
}

.copy a{
    color: #fff;
    text-decoration: none;
}

.copy a:hover {
  text-decoration: underline;
}

footer .frame-wrap .frame{
    padding: 5px 5px 0;
    width: 100%;
}

footer .frame-wrap .frame:nth-child(even) {
    margin: 15px 0;
}

footer .frame-head {
	background: url(img/arrow_g.png) no-repeat 98% center, #c3e6d2;
 background-size: 10px auto;
	display: block;
 font-weight: bold;
 font-size: 16px;
 margin: 0 0 20px;
}

footer .frame-head a{
 color: #333;
 display:  block;
 text-decoration: none;
 padding: 15px 25px;
}

footer .frame-head:hover{
  background: url(img/arrow_g.png) no-repeat 98% center , #97ccb1;
  background-size: 10px auto;
}

footer .frame-body {
    margin-left: 20px;
	display:block;
}

footer .frame-body ul li { 
  background:  url(img/arrow_w.png) no-repeat left 7px;
  background-size: 10px auto;
  margin: 0 40px 20px 0;
  display: inline-block;
  width: 21%;
  padding-left: 20px;
  position: relative;
  vertical-align: top;
}

footer .frame-body ul li:nth-child(4n){
  margin: 0 0 20px 0;
}

footer .frame-body ul li a{
  color: #fff;
 	display: block;
  text-decoration: none;
}

footer .frame-body ul li a:hover{
  color: #323940;
}
.attention {
 color: #fff;
 font-size: 12px;
 width: 85%;
 margin: 20px auto;
	padding: 15px;
	line-height: 135%;
	background: #81cda9;
}

.pagetop {
    color: transparent;
    background: url(img/bt_top.png);
    position: absolute;
    top: -100px;
    right: 0;
    width: 70px;
    height: 70px;
    border-radius: 1000px;
    text-align: center;
 }
 
.pagetop:hover {
  opacity: .5;
}


}




/*----------------------------------------------------
	SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 599px) {

body {
  background: #f4f4f4;
  font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 16px;
}

.pc, nav { display: none;}
.sp { display: block;}

img {
    width: 100%;
    height: auto;
}
#contents {
	margin: 20px auto;
	position: relative;
	width: 100%;
}

#index,
#category,
#page {
	width: 100%;
}

#side {
	width: 100%;
}

.inner {
	margin: 0 auto;
 padding: 0 3%;
}


#page,
#single,
#category {
  margin: 0 auto;
  padding: 0;
  width: 94%;
}


/*--[header]--*/

header {
  width: 100%;
  padding: 20px 0 0;
  position: relative;
  background: #fff;
  z-index:10000;
}

header.underlayer{
  border-bottom: 1px solid #ccc;
}

header .frame-body{
  background: #323940;
  padding: 3px 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

header .frame-body .inner {
  position: relative;
}

header .txt{
  font-size: 12px;
  line-height: 125%;
}

header .txt{
  left:0;
}

header .head-nav{
  display: none;
}

#pankuzu {
 margin: 0 auto 20px;
 width: 95%; 
}

#bt-menu {
  background: url(img/bt_menu.png) no-repeat left top;
  background-size: contain;
  color: rgba(255,255,255,0);
  position: absolute;
  right: 5%;
  top: 38%;
  width: 45px;
  height: 45px;
}

header .frame-body a,
header .txt{
  color: #c9cbcc;
}
header .boxInner {
  padding: 0 0 5px;
}

header .frame-body a{
  background: url(img/arrow_w.png) no-repeat right center;
  background-size: 12px auto;
  padding: 0 20px 0 0;
}

.boxInner h1,
.boxInner .title {
  background: url(img/SP/rogo.png) no-repeat left center;
  background-size: 45px;
  font-size: 24px;
  font-weight: bold;
  line-height: 125%;
  margin: 20px auto 20px 5%;
  padding: 0 0 0 50px;
  position: relative;
  width: 75%;
  text-align: center;
}


.boxInner .title a {
  text-decoration:none;
}

nav {
position: absolute;
display: none;
border-top: 1px solid #ccc;
top: 100%;
width: 100%;
height: auto;
z-index: 10000;
}

nav,
nav ul {
    background: #56a47f;
}

nav ul {
    padding: 10px 8px 0;
    margin: 0px 0 10px;
}
nav ul li.ttl{
  border: none;
}
nav ul li.ttl a{
  color: #000;
    background: url(img/arrow_g.png) no-repeat 98% center, #c3e6d2;
    background-size: 10px auto;
    display: block;
}
nav ul li{
  border-bottom: 1px solid #fff;
}

nav ul li a{
    display: block;
    padding: 20px 40px 20px 10px;
    background-size: 14px auto;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    background: url(img/arrow_w.png) no-repeat 98% center;
    background-size: 10px auto;
}

.close {
    padding: 20px 20px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    position: relative;
}
.close:before {
    content: "✖";
    width: 20px;
    height: 20px;
    position: absolute;
    left: 115px;
}

.overflow {
	position: fixed;
	width: 100%;
	height: 100%;
    background: rgba(0,0,0,0.5);
	top: 0;
	z-index: 100;
}

/*--[見出し]--*/

#index h2,
#category h1,
#page h1{
  color: #fff;
  background:url(img/img_h2.png) no-repeat left top, #323940;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 140%;
  margin: 0 auto 30px;
    padding: 25px 10px;
  position: relative;
  width: 100%;
}

#index h2::first-letter,
#category h1::first-letter,
#page h1::first-letter{
	color: #ffc000;
}


#index h2::after,
#category h1::after,
#page h1::after{
  content: '';
  display: block;
  position: absolute;
  background: url(img/img_h2.png) no-repeat left top;
  width: 124px;
  height: 40px;
}


#index h2::after,
#category h1::after,
#page h1::after{
  right: 0;
  bottom: 0;
  transform:rotate(180deg);
}


#index h3,
#category h2,
#page h2{
  color: #262626;
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 140%;
  margin: 30px auto;
    padding: 20px 10px;
  position: relative;
  width: 100%;
}

#index h3::before,
#category h2::before,
#page h2::before{
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background: #323941;
  background: -moz-linear-gradient(left, #323941 0%, #56a47f 100%);
  background: -webkit-linear-gradient(left, #323941 0%,#56a47f 100%);
  background: linear-gradient(to right, #323941 0%,#56a47f 100%);
}

#index h3::after,
#category h2::after,
#page h2::after{
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #55a37f;
  background: -moz-linear-gradient(left, #55a37f 0%, #323941 100%);
  background: -webkit-linear-gradient(left, #55a37f 0%,#323941 100%);
  background: linear-gradient(to right, #55a37f 0%,#323941 100%);
}


#index h4,
#category h3,
#page h3{
  color: #262626;
  background-size: 20px auto;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 30px auto;
  padding: 5px 25px;
  position: relative;
  line-height: 140%;
  width: 100%;
}

#index h4::before,
#category h3::before,
#page h3::before {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background: url(img/bg_h4_01.jpg)no-repeat left top, url(img/bg_h4_04.jpg)no-repeat left bottom, url(img/bg_h4_05.jpg) repeat-y left center;
  z-index: 1;
}

#index h4::after,
#category h3::after,
#page h3::after {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height:100%;
  background: url(img/bg_h4_02.jpg)no-repeat left top, url(img/bg_h4_03.jpg)no-repeat left bottom, url(img/bg_h4_06.jpg) repeat-y right center;
}


#index h5,
#category h4,
#page h4{
  color: #262626;
  background-size: 20px auto;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 30px auto;
  padding: 15px 10px;
  position: relative;
  line-height: 140%;
  width: 100%;
  border-bottom: 2px dotted #323940;
}


.recommend,
.point,
.check,
.rank{
  background: #e8fdf3;
  border: 1px solid #56a47f;
  font-size: 20px;
  font-weight: bold;
  margin: 30px auto 30px 0;
  padding: 12px 15px 12px 70px;
  position: relative;
  line-height: 140%;
  width: 100%;
}
.recommend::before,
.point::before,
.check::before,
.rank::before{
    content: '';
    display: block;
    position: absolute;
    left: -1%;
    top: 50%;
    margin: -32px 0 0 0;
    width: 65px;
    height: 65px;
}

.recommend::before{
  background: url(img/SP/recommend.png)no-repeat;
  background-size: contain;
}

.point::before{
  background: url(img/SP/point.png)no-repeat;
  background-size: contain;
}

.check::before{
  background: url(img/SP/check.png)no-repeat;
  background-size: contain;
}

.rank1::before{
  background: url(img/SP/rank1.png)no-repeat;
  background-size: contain;
}

.rank2::before{
  background: url(img/SP/rank2.png)no-repeat;
  background-size: contain;
}

.rank3::before{
  background: url(img/SP/rank3.png)no-repeat;
  background-size: contain;
}

.rank4::before{
  background: url(img/SP/rank4.png)no-repeat;
  background-size: contain;
}

/*--[ul ol]-- */

#index ul li a 
#category ul li a, 
#page ul li a{
	display: block;
}

#index ul, #category ul, #page ul {
	margin: 30px 0 30px 0;
	list-style:none;
}
#index ul li, #category ul li, #page ul li {
    background: url(img/SP/ul.png) left 6px top 3px no-repeat;
    background-size: 14px;
    padding-left: 30px;
    line-height: 135%;
    margin: 10px 0;
}
#index ol , #category ol, #page ol {
	margin: 30px 0 30px 0;
}

#index ol li, #category ol li, #page ol li {
    counter-increment: number;
    list-style:none; 
    margin: 10px 0;
    padding: 0 0 0 30px;
    display: block;
    position: relative;
}
#index ol li::before, 
#category ol li::before, 
#page ol li::before{
 content: counter(number);
 color: #28b472;
 background: url(img/SP/ol.png) no-repeat 63% bottom;
 background-size: contain;
 font-size: 12px;
 font-weight: bold;
 display: block;
 height: 20px;
 left: 0;
 position: absolute;
 text-align:  center;
 top: 2px;
 letter-spacing:-1px;
 line-height: 22px;
 width: 24px;
}

/* 文字装飾
----------------------------- */
#index p span,
#category p span,
#page p span,
#single p span {
	font-weight: bold;
	font-size: 20px;
	color: #ff0000;
 background: linear-gradient(transparent 50%, #ffc000 50%);
}



/* table 
----------------------------- */
.table-layout {
  width: 100%;
  margin: 30px 0;
  padding-bottom: 10px;
  overflow: auto;
  white-space: nowrap;
}
.table-layout::-webkit-scrollbar{
  height: 5px;
}
.table-layout::-webkit-scrollbar-track{
  background: #F1F1F1;
}
.table-layout::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}

.table-layout table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #ccc;
}

.table-layout table thead th,
.table-layout table tbody th,
.table-layout table tbody td {
  border:0;
  border-bottom: 1px solid #ccc;
  padding: 15px;
}

.table-layout table tbody td {
  border-left: 1px solid #ccc !important;
}

.table-layout table th  {
  border-left: 1px solid #ccc !important;
  background: #56a47f;
  color: #fff;
}
.table-layout table tbody tr:last-child th,
.table-layout table tbody tr:last-child td {
  border-bottom: none;
}

.table-layout table th:first-child {
  border-left: none !important;
}

.table-layout table th{
  font-weight: bold;
}

.table-layout table td{
  text-align: left;
}


/*--[カラム設定]-- */

.float-img {
    width: 100%;
}

.float-img img {
  max-width: 100%;
  height: auto;
}
.float-img .flame{
    border: 2px solid #56a47f;
}

.float-img .caption p {
    margin: 0px auto !important;
}

.caption {
 text-align: center;
 font-size: 12px;
 color: #888888;
	line-height: 135%;
            padding: 10px 0 0;
}

.box-wrap,.float-wrap  {
    margin: 20px auto;
}

.box {
 background: url(img/bg_box.png) no-repeat right bottom -2px, #fff;
 background-size: 55px auto;
 border-top: 3px solid #56a47f;
 border-right: 3px solid #56a47f;
 border-left: 3px solid #56a47f;
 border-bottom: 20px solid #56a47f;
 margin: 0 auto 30px;
 padding: 10px 10px 40px 10px;
 position: relative;
 width: 100%;
}

.left_box {

}
.box-head , 
.box-body {
 margin: 0 auto;
}

.box-head{
	font-size: 20px;
 font-weight: bold;
 border-bottom: 4px dotted #ffc000;
}
.box-head a{
    background: url(img/icon_green.png) right 2px center no-repeat;
    background-size: 18px auto;
    color: #262626;
    display: block;
    padding: 20px 20px 20px 2px;
    text-decoration: none;
}

.box-body {
    padding: 20px 2px 20px;
}
.box-body p:first-child,.frame-body p:first-child {
  margin: 0 !important;
}
 
.box:hover .box-head a{
 background: url(img/icon_green.png) no-repeat 95% 40%;
 background-size: 18px auto;
}

#contents .frame-wrap {
    margin: 40px auto;
    width: 100%;
}

#contents .frame-wrap .frame{
 margin: 40px auto;
 padding: 5px 5px 25px;
 width: 100%;
	background: url(img/bg_box_01.jpg) no-repeat left top, url(img/bg_box_02.png) no-repeat right top , url(img/bg_box_03.png) no-repeat left bottom , url(img/bg_box_04.png)no-repeat right bottom, #fefcf7;
}

#contents .frame-head {
  margin: 25px 0 0 0;
  padding: 0 15px 5px;
  position: relative;
}

#contents .frame-head p{
 border-bottom: 1px solid #ccc;
 font-size: 18px;
 font-weight: bold;
 text-align: center;
 padding-bottom: 10px;
	line-height: 135%;
 margin: 0 auto;
}

#contents .frame-body {
    padding: 10px 15px 5px;
    position: relative;
	
}

/*　ボタン・リンク
----------------------------- */
.permalink {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.btn-internal a,
.btn-web a{
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 15px 50px 15px 20px;
    margin: 20px auto;
    width: 100%;
}
.btn-internal a{
 background: no-repeat 95% 50% url(img/arrow_w.png), #56a47f;
 background-size: 16px auto;
	box-shadow: 0 4px 0 #40795e;
}

.btn-web a{
 background: no-repeat 95% 50% url(img/arrow_w.png), #cc66ee;
 background-size: 16px auto;
	box-shadow: 0 4px 0 #734682;
}

.btn-link a{
  background: no-repeat 95% 50% url(img/arrow_bl.png), #fff;
  background-size: 16px auto;
  border: 3px solid #4358b3;
  border-radius: 5px;
  color: #4358b3;
  display: block;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 50px 15px 20px;
  text-align: center;
  text-decoration: none;
  width:  100%;
}

.btn-tel a{
    background: no-repeat 5% 50% url(img/icon_tel.png), #ffc000;
    background-size: 30px auto;
	   box-shadow: 0 4px 0 #c49400;
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 15px 50px 15px 60px;
    margin: 20px auto;
    width: 100%;
}

/*--[サイド]-- */

#side{
 margin: 0 auto 30px;
 width: 95%;
}

.sideList{
  display: none;
}

.side-capt {
 background: #323940;
 color: #fff;
 font-size: 20px;
 font-weight: bold;
 text-align: center;
 margin: 0 auto 20px;
 padding: 20px 0;

}

.side1 {
 background: url(img/bg_side.png) no-repeat left top , #fff;
	border-radius: 10px;
 border: 3px solid #323940;
 color: #53391d;
 margin: 0 auto 40px;
 padding: 25px;
 position: relative;
 width: 95%;
}

.side1::before{
  content: "";
  position: absolute;
  bottom: -18px;
  left: 40px;
  margin-left: -15px;
  border-top: 20px solid #fff;
  border-left: 0 solid transparent;
  border-right: 20px solid transparent;
  z-index: 2;
}

.side1::after{
  content: "";
  position: absolute;
  bottom: -25px;
  left: 40px;
  margin-left: -18px;
  border-top: 25px solid #323940;
  border-left: 0 solid transparent;
  border-right: 26px solid transparent;
  z-index: 1;
}

.side1 .sttl {
 font-size: 18px;
 font-weight: bold;
 padding: 0 0 10px 0;
 border-bottom: 2px solid #ccc;
}
.side1 .sttl a{
 color: #262626;
 text-decoration: none;
}
.side1 .sttl a:hover {
 color: #969696;
}
.sideBox img ,.sideBox p img {
 display: block;
 margin: 10px auto;
 width: 100%;
    height: auto;
}
.side1 p a {
    background: no-repeat 95% 50% url(img/arrow_w.png), #56a47f;
    background-size: 10px auto;
    border-radius: 5px;
    box-shadow: 0 4px 0 #40795e;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    display: block;
    margin:  15px 0 0;
    padding: 8px 20px 5px 15px;
    text-align: center;
    text-decoration: none;
    width: 100%;
}

.side1 .caption {
    margin-bottom:5px;
	word-break: break-all;
}

.side1 .caption:last-child{
  margin-bottom: 20px;
}
/*--[フッター]-- */

footer {
    background: #56a47f;
	position: relative;
}

footer .inner{
  padding: 20px 3%;
  margin: 40px auto 0;
  position: relative;
}

footer .inner .frame-wrap{
  width: 100%;
  margin: 0 auto;
}

.copy{
    color: #fff;
    font-size: 12px;
    text-align:center;
    padding: 10px 0;
    margin: 0;
    width: 100%;
}

.copy a{
    color: #fff;
    text-decoration: underline;
}

footer .frame-wrap .frame{
    padding: 5px 5px 0;
    width: 100%;
}

footer .frame-wrap .frame:nth-child(even) {
    margin: 15px 0;
}

footer .frame-head {
background: url(img/arrow_g.png) no-repeat 98% center, #c3e6d2;
 background-size: 10px auto;
display: block;
 font-weight: bold;
 font-size: 16px;
 margin: 0;
}

footer .frame-head a{
 color: #333;
 display:  block;
 text-decoration: none;
 padding: 15px 25px;
}

footer .frame-body {
	display:block;
}

footer .frame-body ul li { 
  margin: 0;
  display: block;
  width: 100%;
  position: relative;
  vertical-align: top;
}

footer .frame-body ul li a{
  background:  url(img/arrow_w.png) no-repeat left 47%;
  background-size: 10px auto;
  color: #fff;
  display: block;
  text-decoration: none;
  padding: 20px 0 20px 25px;
  border-bottom: 1px solid #fff;
}

footer .title {
  font-size: 20px;
  font-weight: bold;
  margin: 30px auto;
  width: 90%;
}

footer .title a{
  color: #fff;
  text-decoration: none;
  line-height: 135%;
}
.attention {
 color: #fff;
 font-size: 12px;
 width: 100%;
 margin: 20px auto;
	padding: 15px;
	line-height: 150%;
	background: #81cda9;
}

.pagetop {
	color: transparent;
    background: url(img/SP/pagetop.png);
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 70px;
    height: 70px;
    border-radius: 1000px;
    text-align: center;
	display:block !important;
            background-size: contain;
    
}


}
