@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: #595959;
	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) {
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

a:hover {
	opacity: 0.7;
}

.sp {
	display: none !important;
}

#contents {
	margin: 0 auto 100px;
	max-width: 1000px;
	width: 100%;
}


/* body */
body {
	color: #595959;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

#index,
#category,
#page {
	padding: 0 0 20px;
	max-width: 740px;
	float: left;
	width: 74%;
}

h1,h2,h3,h4,h5 {
	font-weight: bold;
}

#side {
	max-width: 230px;
	float: right;
}

.inner {
	margin: auto;
	max-width: 1000px;
	width: 100%;
	position: relative;
}

/* header */
#header {
	position: relative;
}

#header .inner {
	padding-top: 43px;
    text-align: center;
	margin-bottom: 30px;
}

#header h1,
#header .site_title {
	margin-bottom: 5px;
	padding: 10px 0 10px 77px;
	display: inline-block;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	background: url(img/h1_bg.gif) no-repeat 24px center;
}

#header .site_title a {
	text-decoration: none;
}

#header .site_title a:hover {
	text-decoration: none;
	opacity: 0.6;
}

#header .lead {
	padding: 5px 0 3px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 12px;
	text-align: center;
}

.menu_box {
	display: none !important;
}

/*g_nav*/


#g_nav {
	margin-bottom: 10px;
}

#g_nav ul {
	padding-left: 1px;
    display: flex;
    justify-content: center;
}

#g_nav ul li {
    width: 19.6%;
	display: inline-block;
	font-size: 15px;
    text-align: center;
	border-left: 1px solid #DCDCDC;
}

#g_nav ul li:last-child {
	border-left: 1px solid #DCDCDC;
	border-right: 1px solid #DCDCDC;
}

#g_nav li a {
	padding: 0 10px;
    width: 100%;
	height: 100%;
    display: table;
    font-weight: bold;
	line-height: 1.45;
    text-decoration: none;
}

#g_nav li a span {
        padding: 12px 10px 7px;
	display: block;
}

#g_nav li a:hover {
	color: #fff;
}

#g_nav li a:hover span {
	background-color: #7FC5D3;
}

#g_nav li a span {
    display: table-cell;
    vertical-align: middle;
}

#g_nav .gnav_inner{
	margin: auto;
    max-width: 1000px;
    width: 100%;
    padding: 5px 0;
}

.under #g_nav{
	background: #d7edf1;
}
.under #g_nav a:hover{
	color: #9ad1dc;
}

.under #g_nav a:hover span{
	background: #fff;
}




/* main_visual */
#main_visual {
	margin-bottom: 30px;
	background: #D6ECF0;
}

#main_visual .inner {
    background: url(img/mv01.png) no-repeat left top,url(img/mv02.png) no-repeat left top 180px,url(img/mv03.png) no-repeat right top;
    padding: 0 0 30px;
    height: 358px;
    position: relative;    
}

#main_visual .text_area {
    padding: 24px 30px 24px;
    width: 610px;
    color: #fff;
    background: url(img/text_bg.png) repeat left top;
    position: absolute;
    bottom: 25px;
    right: 25px;
}

#main_visual .text_area h2 {
	margin-bottom: 8px;
	font-size: 24px;
	line-height: 1.4;
	text-align: left;
}

#main_visual .text_area .text {
	line-height: 1.72;
}

/* pankuzu */
#page_path,
#pankuzu {
	margin: 20px auto 0;
	max-width: 1000px;
	width: 100%;
	font-size: 12px;
	color: #5b3d32;
}

#pankuzu a,
#pankuzu span {
	color: #333;
}

#page_path li {
	margin-right: 12px;
	display: inline;
	font-size: 12px;
	color: #5b3d32;
	vertical-align: top;
}

#pankuzu span:first-child {
	margin-left: 0;
}

#pankuzu span {
	margin: 0 4px;
	display: inline;
	font-size: 12px;
	color: #333;
	vertical-align: top;
}

#page_path li a {
	margin-right: 12px;
	color: #5b3d32;
}

/* index */
#index h2,
#category h1,
#page h1 {
	margin: 30px 0;
	padding: 22px 55px 16px;
	color: #104e95;
	font-size: 28px;
	text-align: left;
	line-height: 1.5;
	background: url(img/h2_bg01.jpg) no-repeat left top, url(img/h2_bg03.jpg) no-repeat left bottom, url(img/h2_bg02.jpg) repeat-y left top;
}

#index h3,
#category h2,
#page h2 {
	margin: 30px 0;
	padding: 5px 60px;
	font-size: 26px;
	text-align: center;
	line-height: 1.5;
	background: url(img/h3_bg01.gif) no-repeat left center, url(img/h3_bg02.gif) no-repeat right center;
}

#index h4,
#category h3,
#page h3 {
	margin: 30px 0;
	padding: 0 0 9px;
	font-size: 24px;
	line-height: 1.4;
	text-align: left;
	background: url(img/h4_bg.jpg) no-repeat left bottom;
}

#index h5,
#category h4,
#page h4 {
	margin: 30px 0;
	padding-bottom: 8px;
	font-size: 22px;
	background: url(img/h5_bg.jpg) repeat-x left bottom;
}

.rank,
.recommend,
.check,
.point {
	margin: 35px 0 35px 20px;
	padding: 15px 10px 12px 88px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	border: 1px solid #DCDCDC;
	background-color: #EEF6F8;
}

.rank:before,
.recommend:before,
.check:before,
.point:before {
	margin-top: -40px;
	width: 80px;
	height: 80px;
	background: url(img/rank_img01.png) no-repeat;
	position: absolute;
	top: 50%;
	left: -21px;
  
	content: ""; 
}

.rank2:before {
	background: url(img/rank_img02.png) no-repeat;
}

.rank3:before {
	background: url(img/rank_img03.png) no-repeat;
}

.rank4:before {
	background: url(img/rank_img04.png) no-repeat;
}

.recommend:before {
	background: url(img/recommend.png) no-repeat;
}

.check:before {
	background: url(img/check.png) no-repeat;
}

.point:before {
	background: url(img/point.png) no-repeat;
}

#index ul,
#category ul,
#page ul {
	margin: 20px 0;
}

#index ul li,
#category ul li,
#page ul li {
	padding-left: 25px;
	font-size: 14px;
	background: url(img/icon01.gif) no-repeat left 2px;
    margin: 10px 0 10px 4px;
}

#index ul li:last-child,
#category ul li:last-child,
#page ul li:last-child {
	margin-bottom: 0;
}

#index ol,
#category ol,
#page ol {
	margin: 15px 0 30px;
	list-style: none;
	counter-reset: ol_li;
}

#index ol li,
#category ol li,
#page ol li {
	padding-left: 30px;
	font-size: 14px;
	position: relative;
    margin: 10px 0;
}

#index ol li:last-child,
#category ol li:last-child,
#page ol li:last-child {
	margin-bottom: 0;
}

#index ol li:before,
#category ol li:before,
#page ol li:before {
	padding-top: 3px;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 2px;
	color: #104e96;
	font-size: 14px;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	counter-increment: ol_li;
	content: counter(ol_li);
	background-color: #EEF6F8;
}

#index p span,
#category p span,
#page p span {
	color: #d48c4e;
	font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
}

.table-layout {
	margin: 40px 0 45px;
}

.table-layout table {  
	width: 100%;
	border-collapse: collapse;
}

.table-layout th,
.table-layout td {
	padding: 13px 10px 11px;
	border: 1px solid #DCDCDC;
	text-align: center;
	line-height: 1.7;
	vertical-align: middle;
	word-wrap: break-word;
	word-break: break-all;
}

.table-layout th {
	width: 27%;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #7FC5D3;
}

.table-layout td {
	font-size: 14px;
	background-color: #FFF;
}

.table-layout::-webkit-scrollbar {
    height: 5px;
}

.table-layout::-webkit-scrollbar-track {
	 background: #F1F1F1;
} 

.table-layout::-webkit-scrollbar-thumb {
	 background: #BCBCBC;
}

.float-wrap {
	margin-bottom: 13px;
}

.float-wrap .float-img.fl {
    margin: 8px 20px 10px 3px;
    width: 240px;
    float: left;
}

.float-wrap .float-img img {
	width: 100%;
	border: 3px solid #fff;
    box-shadow: 0 0 0 1px #ddd;
}

.float-wrap p {
	margin-bottom: 16px;
	color: #444;
	line-height: 1.8;
}

.float-wrap .float-img.fr {
	margin: 8px 3px 10px 20px;
	float: right;
	width: 240px;
}

.caption {
	margin-top: 12px;
	text-align: center;
	color: #888;
	font-size: 12px;
	line-height: 1.4;
	word-wrap: break-word; 
	text-decoration: none;
}

.btn-web {
	margin: 30px auto;
        width: 351px;
	padding: 10px 45px 10px 20px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	display: block;
	text-align: center;
	text-decoration: none !important;
	border: 3px solid #F5DDC4;
	background: #D79251 url(img/icon05.png) no-repeat 320px center;
}

.btn-web:hover {
	color: #fff;
	opacity: 1;
	border: 3px solid #D5F3EC;
	background: #60CDB0 url(img/icon05.png) no-repeat 320px center;
}

.btn-internal {
	margin: 30px auto;
	padding: 13px 45px 13px 20px;
	font-size: 18px;
	width: 350px;
	color: #fff;
	font-weight: bold;
	display: block;
	text-align: center;
	text-decoration: none;
	background: #194F92 url(img/icon05.png) no-repeat 320px center;
}

.btn-internal:hover {
	color: #fff;
	opacity: 1;
	background: #C65FA5 url(img/icon05.png) no-repeat 320px center;
}

.btn-link {
	padding-left: 19px;
	float: right;
	color: #b59bf7;
	font-size: 16px;
	font-weight: bold;
	display: inline-block;
	text-decoration: none;
	background: url(img/icon02.gif) no-repeat left 4px;
}

.btn-link:hover {
	text-decoration: underline;
}

.btn-link:hover {
	opacity: 1;
}

.box-wrap {
    margin: 70px 0 30px;
    display: flex;
}

.box-wrap .box {
    margin-right: 16px;
    padding: 6px 15px 14px;
    width: 362px;
    position: relative;
    border: 1px solid #7FA7D1;
    background-color: #EEF6F8;
}

.box-wrap .box:before {
	position: absolute;
	width: 132px;
	height: 31px;
	background: url(img/key_bg.gif) no-repeat;
	position: absolute;
	top: -31px;
	left: -1px;
  
	content: ""; 
}

.box-wrap .box.right_box {
	margin-right: 0;
}

.box-wrap .box p {
	margin-bottom: 10px;
	line-height: 1.72;
}

.box-wrap .box .box-head {
	margin-bottom: 17px;
}

.box-wrap .box .box-head a {
        padding: 14px 20px 10px 0;
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.55;
	text-decoration: none;
	border-bottom: 1px solid #DCDCDC;
        background: url(img/icon07.gif) no-repeat 318px center;
}

.box-wrap .box:hover {
	opacity: 0.5;
}

.box-wrap .box .permalink {
    display: block;
    position: absolute;
    left: 0;
    top: -30px;
    width: 100%;
    height: 112%;
}

.frame-wrap {
	padding: 10px 0;
    display: flex;
}

.frame-wrap .frame {
    margin-right: 10px;
    width: 240px;
    border: 2px solid #DCDCDC;
}

.frame-wrap .frame:last-child {
	margin-right: 0;
}

.frame-wrap .frame .frame-head p {
	margin: 0 !important;
	padding: 20px 15px 19px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	position: relative;
	background-color: #7FC5D3;
}

.frame-wrap .frame .frame-head p:before {
	margin-left: -12px;
	width: 23px;
	height: 18px;
	background: url(img/icon08.gif) no-repeat;
	position: absolute;
	bottom: -13px;
	left: 50%;
  
	content: ""; 
}

.frame-wrap .frame .frame-body {
	margin-top: -10px;
	padding: 30px 18px 14px;
}

.frame-wrap .frame .frame-body p {
	margin: 0 !important;
	line-height: 1.74;
}

/* side */
#side {
        margin-top: 33px;
	max-width: 23%;
	width: 230px;
	float: right;
}

#side .freespace {
	margin-bottom: 17px;
	padding: 20px;
	background: url(img/freespace-bg.png) repeat-y center top;
    border: 1px solid #0f4e96;
    box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0f4e96;
}

#side .freespace .s_photo {
	margin-bottom: 15px;
	width: 180px;
}

#side .freespace .s_photo img {
	width: 100%;
}

#side .freespace p {
    margin-bottom: 16px;
    line-height: 1.7;
    text-align: justify;
}

#side .freespace .title {
	margin-bottom: 20px;
	padding: 0 0 9px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.45;
	border-bottom: 3px solid #7FA7D1;
    text-align: center;
}

#side .freespace .title a{
	text-decoration: none;
}

#side .freespace .title a:hover {
	opacity: 0.5;
}

#side .freespace .btn-internal {
	margin: 5px 0 3px;
	padding: 9px 40px 8px 30px;
	width: auto;
	font-size: 14px;
	line-height: 1.4;
	background: #194F92 url(img/icon12.png) no-repeat 163px center;
}

#side .freespace .btn-internal:hover {
	background: #C65FA5 url(img/icon12.png) no-repeat 163px center;
}

#side .cate {
	margin-bottom: 17px;
}

#side .cate .title {
	display: table;
	width: 100%;
}

#side .cate .title a {
	padding: 10px 0 6px 50px;
	display: table-cell;
	height: 64px;
	color: #595959;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.45;
	vertical-align: middle;
	text-decoration: none;
	border-bottom: 1px solid #7FA7D1;
	background: url(img/icon04.gif) no-repeat left center;
}

#side .cate .title a:hover {
	color: #7fc7d5;
	opacity: 1;
	background: url(img/icon03.gif) no-repeat left center;
}

#side .cate .s_navi li {
	border-bottom: 1px solid #7FA7D1;
}

#side .cate .s_navi li a {
	padding: 15px 10px 15px 35px;
	display: block;
	text-decoration: none;
	background: url(img/icon09.png) no-repeat 11px center;
}

#side .cate .s_navi li a:hover {
	color: #7fc7d5;
	opacity: 1;
}

/* footer */
#footer {
	padding-top: 40px;
	background-color: #7FC5D3;
}

#footer .f_box {
	margin: 0 auto;
	width: 1000px;
	position: relative;
}

#footer .f_box .page_top {
    position: absolute;
    top: -170px;
    right: 0px;
    z-index: 999;
}

#footer .f_box .page_top a {
	 height: 100px;
	 width: 100px;
}

#footer .page_top:hover {
	opacity: 0.6;
}


#footer .f_box .f_ttl {
	margin: 17px 0;
	padding: 10px 10px;
	font-size: 16px;
	background-color: #F8F8F8;
}

#footer .f_box .f_ttl a {
        padding: 5px 10px 5px 15px;
	display:block;
	font-size: 18px;
	font-weight: bold;
	border-left: 6px solid #7FA7D1;
	text-decoration: none;
}

#footer .f_box .f_ttl a:hover {
	color: #7fa9d5;
}

#footer .f_box .f_navi {
	margin: 0 0 21px 20px;
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
}

#footer .f_box .f_navi li {
	margin-bottom: 10px;
	display: inline-block;
	width: 19.6%;
}

#footer .f_box .f_navi li:last-child {
	margin-right: 0;
}

#footer .f_box .f_navi li a {
	padding: 0 15px 0 1.2em;
	display: inline-block;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	background: url(img/icon10.png) no-repeat left 7px;
}

#footer .f_box .f_navi li a:hover {
	color: #7fa9d5;
	opacity: 1;
	text-decoration: none;
	background: url(img/icon11.png) no-repeat left 7px;
}

#footer .bottom_area{
	margin: 40px auto;
}

#footer .f_txt {
	margin: 0 auto;
	padding: 15px 20px;
	width: 600px;
	text-align: left;
	color: #fff;
	font-size: 12px;
	line-height: 1.8;
	border: 1px solid #fff;
}

#footer .f_site {
	text-align: right;
    margin-top: -31px;
}

#footer .f_site a {
	padding: 3px 19px 1px;
	display: inline-block;
	color: #fff;
	font-size: 14px;
	border: 1px solid #fff;
	text-decoration: none;
}

#footer .f_site a:hover {
	color: #7fc7d5;
	font-size: 14px;
	background-color: #fff;
	opacity: 1;
	font-weight: bold;
}

#footer .copyright {
	padding: 4px 0 2px;
	font-size: 12px;
	color: #fff;
	text-align: center;
	border-top: 1px solid #fff;
}

#footer .copyright a {
	color: #fff;
	text-decoration: none;
}

#footer .copyright a:hover {
	opacity: 1;
	text-decoration: underline;
}

}


/*----------------------------------------------------
	SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 599px) {
	body{
		font-size: 16px;
	}
	#contents {
		margin: 0 auto 30px;
		width: 100%;
	}
	
	#contents {
		margin-bottom: 0;
	}
	
	.inner {
		padding: 0 3%;
	}
	
	.pc {
		display: none !important;
	}
	
	img {
		max-width: 100%;
		height: auto;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	
	h1,h2,h3,h4,h5 {
		margin: 20px 0;
		font-weight: bold;
	}
	
	#index,
	#category ,
	#page {
		margin: 0 10px;
	}
	
	/* body */
	body {
		color: #595959;
		text-size-adjust: none;
		-webkit-text-size-adjust: none;
	}
	
	/* #page_path */
	#page_path {
		margin: 14px 10px 0;
		font-size: 13px;
		color: #333;
	}
	
	#pankuzu {
		margin: 14px 0 0;
		font-size: 13px;
		color: #333;
	}
	
	#page_path li {
		margin-right: 12px;
		display: inline;
		font-size: 13px;
		color: #333;
		vertical-align: top;
	}
	
	#pankuzu span:first-child {
		margin-left: 0;
	}
	
	#pankuzu span {
		margin: 0 4px;
		display: inline;
		font-size: 14px;
		color: #333;
		vertical-align: top;
	}
	
	#page_path li a {
		margin-right: 12px;
		color: #333;
	}
	
	#page_path li a:hover,
	#pankuzu span a:hover {
		text-decoration: underline;
	}
	
	/* header */
	#header {
		position: relative;
		z-index: 200;
	}
	#header.under {
		border-bottom: 1px solid #d7edf1;
	}
	#header .inner {
		padding: 32px 20% 10px 3%;
		display: table;
		width: 100%;
		position: relative;
		z-index: 1000;
		background-color: #fff;
	}
		
	#header h1,
	#header .site_title {
		margin: 0 0 5px;
		padding-left: 40px;
		height: 50px;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.28;
		vertical-align: middle;
		background: url(img/sp/h1_bg.jpg) no-repeat 5px center;
		background-size: 25px 35px;
display: table-cell;
	}
	
	#header .site_title a {
		text-decoration: none;
	}
	
	#header .lead {
		width: 100%;
		padding: 2px 5px;
		font-size: 12px;
		line-height: 1.2;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #D6ECF0;
	}
	
	#header .m_box {
		position: absolute;
		right: 10px;
		top: 35px;
		z-index: 999;
	}
	
	.menu_box {
		position: relative;
		display: none;
		z-index: 200;
		padding: 0 10px;
	}
	
	.menu_box .close {
		padding: 10px;
		font-size: 16px;
		font-weight: bold;
		color: #333;
		text-align: center;
		cursor: pointer;
		background-color: #fff;
	}
	
	.menu_box .close a:hover {
		text-decoration: underline;
	}
	
	.menu_box .close span {
		margin: -5px 10px 0 0;
		display: inline-block;
		color: #333;
		font-size: 16px;
		font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
		line-height: 1;
	}
	
	.menu {
		cursor: pointer;
		width: 45px;
		height: 45px;
		text-align: center;
		position: relative;
		z-index: 100;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		border-radius: 8px;
		border: 2px solid #7FA7D1;
	}
	
	.menu span {
		margin-left: -12px;
		background-color: #7FA7D1;
		border: none;
		height: 4px;
		width: 24px;
		position: absolute;
		top: 10px;
		left: 50%;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	
	.menu.active span {
		background-color: #7FA7D1;
	}

	.menu.active .top {
		width: 30px;
		-webkit-transform: translateY(8px) translateX(-4px) rotate(45deg);
		-ms-transform: translateY(8px) translateX(-4px) rotate(45deg);
		transform: translateY(8px) translateX(-4px) rotate(45deg);
		z-index: 100;
	}
	
	.menu.active .middle {
		opacity: 0;
	}
	
	.menu.active .bottom {
		width: 30px;
		-webkit-transform: translateY(-8px) translateX(-4px) rotate(-45deg);
		-ms-transform: translateY(-8px) translateX(-4px) rotate(-45deg);
		transform: translateY(-8px) translateX(-4px) rotate(-45deg);
	}
	
	.menu span:nth-of-type(2) {
		top: 18px;
	}
	
	.menu span:nth-of-type(3) {
		top: 26px;
	}
	
	.bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 100;
		display: none;
		text-indent: -999em;
	}
	
	/* g_navi */
	.category_list {
                padding: 10px 0;
	}
	
	.category_list .ttl {
		margin-bottom: 10px;
		font-weight: bold;
	}
	
	.category_list .ttl a {
		padding: 10px 30px 10px 15px;
		display: block;
		text-decoration: none;
		background: #7FC5D3 url(img/common/arrow02.png) no-repeat 95% center;
                background-size: 10px 15px;
	}
	
	.category_list ul {
		margin: -10px 0 10px;
	}
	
	.category_list li {
		font-weight: normal;
	}
	
	.category_list li a {
    padding: 11px 30px 7px 15px;
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #D7D7D7;
		background: #D6ECF0 url(img/common/arrow01.png) no-repeat 95% center;
    background-size: 10px 15px;
	}
	
	.category_list li:last-child a {
		border-bottom: none;
	}

	/* main_visual */
	#main_visual {
		margin-bottom: 30px;
		background: #f1f1f0;
	}
	
	#main_visual .inner {
		padding: 0;
	}
	#main_visual .img_area{
		position: relative;
	}
	#main_visual .left_side{
		float: left;
    	width: 42%;
	}
	#main_visual .right_side{
		float: right;
    	width: 58%;
	}

	
	#main_visual h2 {
		padding: 10px;
		width: 100%;
		color: #fff;
		margin: 10px auto;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.4;
		background: url(img/sp/text_bg.png) no-repeat left top;
    	text-align: justify;
	}
	
	#main_visual .text_area .text {
		padding: 10px 10px 11px;
		line-height: 1.74;
		background-color: #D6ECF0;
	}
		
	/* index */
	#index h2,
	#category h1,
	#page h1 {
       padding: 16px 10px 11px 25px;
		color: #104e95;
                font-size: 24px;
		line-height: 1.4;
		border: 3px solid #7FC5D3;
		background: url(img/sp/h2_bg01.jpg) no-repeat -3px -3px, url(img/sp/h2_bg02.jpg) repeat left top;
		background-size: 32px, 24px;
	}
		
	#index h3,
	#category h2,
	#page h2 {
		padding: 10px 35px;
                font-size: 22px;
		font-weight: bold;
		text-align: center;
		background: url(img/sp/h3_bg01.jpg) no-repeat left center, url(img/sp/h3_bg02.jpg) no-repeat right center;
		background-size: 25px, 25px;
		line-height: 1.4;
	}

	
	#index h4,
	#category h3,
	#page h3 {
		padding: 8px 0;
                font-size: 20px;
		line-height: 1.4;
		background: url(img/sp/h4_bg.jpg) no-repeat left bottom;
		background-size: 100% 3px;
		
	}
	
	#index h5,
	#category h4,
	#page h4 {
		padding: 7px 0;
		text-align: center;
                font-size: 18px;
		background: url(img/sp/h5_bg.jpg) repeat-x left bottom;
		background-size: 5px 2.5px;
		line-height: 1.4;
	}
	
	#index ul,
	#category ul,
	#page ul {
		margin: 15px 0 12px;
	}
	
	#index ul li,
	#category ul li,
	#page ul li {
		margin-bottom: 5px;
		padding-left: 25px;
		background: url(img/sp/icon01.jpg) no-repeat left 4px;
		background-size: 10px 14px;
	}
	
	#index ul li:last-child,
	#category ul li:last-child,
	#page ul li:last-child {
		margin-bottom: 0;
	}
	
	#index ol,
	#category ol,
	#page ol {
		margin: 15px 0 10px;
		list-style: none;
		counter-reset: ol_li;
	}
	
	#index ol li,
	#category ol li,
	#page ol li {
		margin-bottom: 5px;
		padding-left: 1.6em;
		position: relative;
		background: none !important;
	}
	
	#index ol li:before,
	#category ol li:before,
	#page ol li:before {
		padding-top: 3px;
		width: 18px;
		height: 18px;
		position: absolute;
		left: 0;
		top: 2px;
		color: #104e96;
		font-size: 14px;
		line-height: 1.0;
		font-weight: bold;
		text-align: center;
		counter-increment: ol_li;
		content: counter(ol_li);
		background-color: #EEF6F8;
	}
	
	.rank,
	.recommend,
	.check,
	.point {
		margin: 20px 0 20px 20px;
		padding: 10px 10px 10px 45px;
		min-height: 40px;
		font-size: 20px;
		font-weight: bold;
		position: relative;
		border: 1px solid #DCDCDC;
		background-color: #EEF6F8;
	}
	
	.rank:before,
	.recommend:before,
	.check:before,
	.point:before {
    margin-top: -28px;
    width: 55px;
    height: 55px;
    background: url(img/sp/rank_img01.png) no-repeat;
    background-size: 55px !important;
    position: absolute;
    top: 50%;
    left: -20px;
    content: "";
	}
	
	.rank2:before {
		background: url(img/sp/rank_img02.png) no-repeat;
	}
	
	.rank3:before {
		background: url(img/sp/rank_img03.png) no-repeat;
	}
	
	.rank4:before {
		background: url(img/sp/rank_img04.png) no-repeat;
	}
	
	.rank5:before {
		background: url(img/sp/rank_img05.png) no-repeat;
	}
	
	.recommend:before {
		background: url(img/sp/recommend.png) no-repeat;
	}
	
	.check:before {
		background: url(img/sp/check.png) no-repeat;
	}
	
	.point:before {
		background: url(img/sp/point.png) no-repeat;
	}
	
	#index p,
	#category p,
	#page p {
		margin-bottom: 20px;
	}
	
	#index p span,
	#category p span,
	#page p span {
		color: #d48c4e;
		font-size: 17px;
		font-weight: bold;
		vertical-align: middle;
	}
	
	.table-layout {
                margin-bottom:30px;
                overflow-x: auto;
	}
	
	.table-layout table {
		margin-bottom: 10px;
		border-collapse: collapse;
		white-space: nowrap;
		width: 100%;
	}

	.table-layout table th,
	.table-layout table td {
		padding: 10px;
		font-size: 16px;
		text-align: center;
		vertical-align: middle;
		word-wrap: break-word;
		border: 1px solid #DCDCDC;
	}
	
	.table-layout table th {
		color: #fff;
		font-weight: bold;
		background-color: #7FC5D3;
	}
	
	
	.table-layout::-webkit-scrollbar {
		height: 5px;
	}
	
	.table-layout::-webkit-scrollbar-track {
		background: #F1F1F1;
	} 
	
	.table-layout::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	
	.float-wrap {
		margin: 0 0 10px;
	}
	
	.float-wrap .fl,
	.float-wrap .fr {
		margin-bottom: 11px;
		text-align: center;
	}
	
	.float-wrap .float-img img {
		width: 100%;
		box-sizing: border-box;
		border: 4px solid #fff;
		box-shadow:0 0 0 1px #ddd
	}
	
	.float-wrap p {
		margin: 10px 0 !important;
		line-height: 1.74;
	}
	
	.caption {
		margin-top: 15px;
		color: #999;
		    font-size: 14px;
		line-height: 1.2;
		text-decoration: none;
		text-align: center;
		word-wrap: break-word; 
	}
	
	.btn-web {
		margin: 20px 0;
		padding: 15px 25px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		display: block;
		text-align: center;
		text-decoration: none !important;
		opacity: 1 !important;
		border: 3px solid #F5DDC4;
		background: #D79251 url(img/sp/icon08.png) no-repeat right 10px center;
		background-size: 7px 10px;
	}
	
	.btn-internal {
		margin: 20px 0;
		padding: 15px 25px;
		display: block;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		text-decoration: none !important;
		background: #194F92 url(img/sp/icon08.png) no-repeat right 10px center;
		background-size: 7px 10px;
	}
	
	.btn-tel {
		margin: 20px 0;
                padding: 15px 40px;
		display: block;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		position: relative;
		border: 3px solid #B5D99F;
                background: #70AB51 url(img/sp/icon04.png) no-repeat 20px center;
		background-size: 17px 20px;
	}
			
	.btn-link{
		margin: 20px 0;
		padding: 15px 25px;
		display: block;
		color: #b59bf7;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		border: 2px solid #B39AF3;
		text-decoration: none !important;
		background: url(img/sp/icon02.png) no-repeat right 10px center;
		background-size: 7px 10px;
	}

	.box-wrap {
		margin-bottom: 20px;
	}
	
	.box-wrap .box {
		margin: 60px 0 20px;
		padding: 0 15px 5px;
		position: relative;
		border: 1px solid #7FA7D1;
		background-color: #EEF6F8; 
	}
	
	.box-wrap .box:before {
		position: absolute;
		width: 95px;
		height: 26px;
		background: url(img/sp/key_bg.gif) no-repeat;
		background-size: 95px 26px;
		position: absolute;
		top: -26px;
		left: -1px;
	  
		content: "";
	}
	
	.box-wrap .box p {
		margin: 0 !important;
		line-height: 1.72;
	}
	
	.box-wrap .box .box-head a {
		margin: -5px 0 9px;
                padding: 20px 15px 10px 0;
		display: block;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.45;
		text-decoration: none;
		border-bottom: 1px solid #DCDCDC;
		background: url(img/sp/icon05.png) no-repeat right center;
		background-size: 7px 10px;
	}
	
	.box-wrap .box .in_link_btn {
		margin: 10px 0;
                padding: 10px 25px 7px;
		display: block;
		color: #7fa9d5;
                font-size: 18px;
		font-weight: bold;
		text-align: center;
		border: 2px solid #7fa9d5;
		text-decoration: none !important;
		background: #fff url(img/sp/icon05.png) no-repeat right 10px center;
		background-size: 7px 10px;
	}
	
	.frame-wrap .frame {
		margin: 20px 0;
		padding: 14px 0 0;
	}
	
	.frame-wrap .frame .frame-head p {
		margin: 0 0 17px !important;
                padding: 15px 10px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		position: relative;
		background-color: #7FC5D3;
		line-height: 1.45;
	}
	
	.frame-wrap .frame .frame-head p:before {
		margin-left: -9px;
		width: 17.5px;
		height: 14px;
		background: url(img/sp/icon07.png) no-repeat;
		background-size: 17.5px 14px;
		position: absolute;
		bottom: -10px;
		left: 50%;
	  
		content: ""; 
	}
	
	.frame-wrap .frame .frame-body {
		margin-top: -17px;
                padding: 15px 15px 5px;
		border: 1px solid #DCDCDC;
		border-top: none;
	}
	
	.frame-wrap .frame .frame-body p {
		margin: 10px 0 !important;
		line-height: 1.72;
	}
	
	/* side */
	#side {
		margin: 10px 15px;
		width: auto;
		float: none;
	}
	
	#side .freespace {
		margin-bottom: 50px;
                padding: 12px 12px 6px;
		background: url(img/freespace-bg.png) no-repeat center center;
		background-size: cover;
		border: 1px solid #0f4e96;
    	box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0f4e96;
	}
	
	#side .freespace .title {
		margin-bottom: 15px;
                padding: 0 0 6px;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
		text-align: center;
		border-bottom: 2px solid #7FA7D1;
	}
	#side .freespace .title a{
		text-decoration: none;
	}
	
	#side .freespace .s_photo {
		margin-bottom: 8px;
	}
	
	#side .freespace .s_photo img {
		width: 100%;
	}
	
	#side .freespace p {
		margin-bottom: 10px;
                font-size: 16px;
		line-height: 1.75;
	}
	
	#side .freespace .btn-internal {
		margin: 10px 0;
                padding: 13px 25px 10px;
                font-size: 18px;
		line-height: 1.4;
	}
	
	#side .cate {
		display: none;
	}
	
	/* footer */
	#footer {
		padding: 0 10px;
		background-color: #7FC5D3;
	}
	
	#footer .f_box {
		margin-bottom: 18px;
		padding-top: 18px;
		position: relative;
	}
	
	#footer .f_box .page_top {
		position: fixed;
		bottom: 30px;
		right: 15px;
		z-index: 999;
	}
	
	#footer .page_top a img {
		width: 61px;
	}
	
	#footer .f_box .top_ttl {
		margin-bottom: 19px;
		text-align: center;
		background-color: #7FA7D1;
	}
	
	#footer .f_box .top_ttl a {
		padding: 10px 5px;
		display: block;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		text-decoration: none;
	}
	
	#footer .f_box .f_ttl {
		font-weight: bold;
		text-align: left;
		display: table;
		width: 100%;
	}
	
	#footer .f_box .f_ttl a {
		padding: 15px 5px 15px 60px; 
		color: #333;
		font-size: 16px;
		display: table-cell;
		line-height: 1.5;
		vertical-align: middle;
		text-decoration: none;
		background: #F8F8F8 url(img/sp/icon09.png) no-repeat 10px center;
		background-size: 40px 40px;
	}
	
	#footer .f_box .f_navi {
		margin: 0 0 21px;
	}
	
	#footer .f_box .f_navi li {
		display: block;
		width: 100%;
		height: auto;
		border-bottom: 1px solid #fff;
	}
	
	#footer .f_box .f_navi li:last-child {
		margin-bottom: 0;
	}
	
	#footer .f_box .f_navi li a {
		padding: 15px 15px 15px 25px;
		display: block;
		color: #fff;
		text-decoration: none;
		background: url(img/sp/icon10.gif) no-repeat 10px center;
		background-size: 5.5px 8px;
	}
		
	#footer .f_site {
		margin: 20px 0;
		width: 100%;
		text-align: center;
		display: table;
	}
	
	#footer .f_site a {
		padding-left: 35px;
		display: table-cell;
		height: 47px;
		font-size: 18px;
		font-weight: bold;
		text-decoration: none;
		text-align: left;
		vertical-align: middle;
		background: url(img/sp/site_bg.png) no-repeat left center;
		background-size: 25px 35px;
	}
		
	#footer .f_txt {
		padding: 5px 10px;
		color: #fff;
		font-size: 12px;
		line-height: 1.54;
		border: 1px solid #fff;
	}
	
	#footer .copyright {
		padding: 15px 0;
		color: #f4f4f4;
		font-size: 12px;
		text-align: center;
		border-top: 1px solid #fff;
	    line-height: 1.4;
	}
	
	#footer .copyright a {
		color: #f4f4f4;
		text-decoration: underline;
	}

}



















