@charset "utf-8";
/*------------------------------------------------------------
	リセット
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure { margin: 0; padding: 0; background: transparent; border: 0; outline: 0; font-size: 1em; }
body, table, input, textarea, select, option { font-family: HiraKakuProN-W3; font-size: 1em; } article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; }

/*------------------------------------------------------------
	リンク
------------------------------------------------------------*/
a {
	color: #333;
	text-decoration: none;
}
a:link { }
a:visited { }
a:hover { }
a:active { }

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	color: #333;
}
.sprite {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-image: url(../images/css_sprite.png);
	background-size: 138px 544px;
}
.fluid_img {
	width: 100%;
	height: auto;
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header {
	border-bottom: 3px solid #00BFFF;
	width: 100%;
	height: 44px;
	display: table;
	line-height: 0;
text-align: center;
background: #FFFFDE;
}
.logo {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	height: 44px;
	padding-right: 32px;
}
.logo .sprite {
	width: 138px;
	height: 16px;
	background-position: 0 -371px;
	display: inline-block;
}
.menu_btn {
	display: table-cell;
	vertical-align: middle;
	width: 42px;
	padding-left: 10px;
}
.menu_btn .sprite {
	width: 37px;
	height: 28px;
	background-position: 0 -338px;
}
/*------------------------------------------------------------
	コンテナー
------------------------------------------------------------*/
#container {
	-webkit-box-shadow: 0 5px 5px rgba(0,0,0,0.3);
	box-shadow: 0 5px 5px rgba(0,0,0,.3);
	padding-bottom: 16px;
	position: relative;
	z-index: 1;
}
.main_visual_box {
	margin-bottom: 1px;
	height: 200px;
	overflow: hidden;
}
.main_visual_box .item {
	position: relative;
}
.main_visual_box .vis {
	line-height: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 0;
	opacity: 0;
	
	/* アニメーション */
	-webkit-transition: opacity .5s linear;
	transition: opacity .5s linear; 
}
.main_visual_box .vis.first {
	opacity: 1;
}
#main_visual .catch_area {
	position: absolute;
	left: 0;
	top: 0;
	width: 192px;
	height: 200px;
	background: url(../images/main_visual_catcharea.png) no-repeat left top;
	-webkit-background-size: 192px 200px;
	z-index: 2;
}
#main_visual .main_catch {
	position: absolute;
	left: 16px;
	top: 20px;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFA6;
	line-height: 1.3
}
#main_visual .text {
	position: absolute;
	left: 18px;
	top: 80px;
	font-size: 12px;
	color: #FFFFFF;
	width: 150px;
}

.heading_style01 {
	background: -webkit-gradient(linear, left top, left bottom, from(#432e1e), to(#2e1605));
	background: -webkit-linear-gradient(top, #432e1e 0%, #2e1605 100%);
	background: linear-gradient(top, #432e1e 0%, #2e1605 100%);	
	height: 40px;
	line-height: 42px;
	padding: 0 10px;
	text-shadow: 0 1px 1px rgba(0,0,0,.6);
	color: #fff;
	font-size: 14px;
}
.heading_style01 span {
	color: #EC13A6;
	font-size: 10px;
	vertical-align: middle;
	margin-left: 12px;
}

/* 期間限定メニュー */
#limited_menu {
	position: relative;
	z-index: 0;
}
#limited_menu .inner {
	background: url(../images/limited_menu_bg.jpg) repeat left top;
	-webkit-background-size: 150px 150px;
	background-size: 150px 150px;
	padding: 10px 10px 0;
	position: relative;
	z-index: 1;
}
#limited_menu ul {
	margin: 1px 0 0;
	padding: 0;
}
#limited_menu li {
	float: left;
	width: 50%;
	height: 118px;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-bottom: 10px;
	margin-bottom: 1px;
	position: relative;
}
#limited_menu li:nth-child(odd) { border-right: 1px solid #fff; }
#limited_menu .name {
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,.8);
	width: 100%;
	font-size: 11px;
	color: #fff;
	padding: 6px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#limited_menu .name:after {
	content: "";
	position: absolute;
	right: 0;
	top: 37%;
	display: block;
	width: 18px;
	height: 15px;
	background-image: url(../images/css_sprite.png);
	background-size: 138px 544px;
	background-position: 0 -507px;
}
.btn_type01 div {
	height: 44px;
	line-height: 46px;
	vertical-align: middle;
	margin-bottom: 1px;
	font-size: 14px;
	padding: 0 10px;
	color: #fff;
	font-weight: bold;
	background: -webkit-gradient(linear, left top, left bottom, from(#A4E9FF), to(#00BFFF));
	background: -webkit-linear-gradient(top, #A4E9FF 0%, #00BFFF 100%);
	background: linear-gradient(top, #A4E9FF 0%, #00BFFF 100%);
	position: relative;
}
.btn_type01 div:after {
	content: "";
	width: 27px;
	height: 21px;
	position: absolute;
	right: 0;
	top: 12px;
	background-image: url(../images/css_sprite2.png);
	background-size: 138px 544px;
	background-position: 0 -481px;
}
/* お知らせ */
.heading_style02 {
	border-top: 3px solid #00BFFF;
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#efefef));
	background: -webkit-linear-gradient(top, #fff 0%, #efefef 100%);
	background: linear-gradient(top, #fff 0%, #efefef 100%);
	height: 40px;
	line-height: 42px;
	padding: 0 10px;
	text-shadow: 0 1px 1px #fff;
	-webkit-box-shadow: 0 2px 5px rgba(0,0,0,.2);
	box-shadow: 0 2px 5px rgba(0,0,0,.2);
	margin: 0;
	color: #374c00;
}
.heading_style02 span {
	color: #EC13A6;
	font-size: 12px;
	vertical-align: middle;
	margin-left: 10px;
}
#news {
	-webkit-box-shadow: 0 -3px 5px rgba(0,0,0,.2);
	box-shadow: 0 -3px 5px rgba(0,0,0,.2);
}
#news li:nth-child(n+4) {
	display: none;
}
.box_list article {
	display: -webkit-box;
	display: box;
	display: -webkit-flex;
	display: flex;
	padding: 10px 25px 10px 10px;
	border-bottom: 1px solid #dfdfdf;
	position: relative;
}
.box_list article:after {
	content: "";
	position: absolute;
	right: 0;
	top: 43%;
	display: block;
	width: 18px;
	height: 15px;
	background-image: url(../images/css_sprite.png);
	background-size: 138px 544px;
	background-position: 0 -507px;
}
.box_list article > div {
	padding-left: 10px;
	-webkit-box-flex: 1;
}
.box_list h2 {
	font-size: 87.5%;
	color: #374c00;
	margin: 0;
	padding: 0;
}
.box_list time {
	font-size: 62.5%;
	color: #656565;
	margin-bottom: 6px;
}
.box_list .text {
	font-size: 75%;
}
.btn_type02 div {
	color: #fff;
	background: -webkit-gradient(linear, left top, left bottom, from(#8fc700), to(#7cad00));
	background: -webkit-linear-gradient(top, #8fc700 0%, #7cad00 100%);
	background: linear-gradient(top, #8fc700 0%, #7cad00 100%);
	margin: 10px;
	text-align: center;
	height: 44px;
	line-height: 46px;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	-webkit-border-radius: 6px;
	-webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

#main_navigation {
	border-top: 3px solid #374c00;
	border-bottom: 3px solid #374c00;
	width: 100%;
}
#main_navigation ul {
	-webkit-column-count: 4;
	column-count: 4;
	-webkit-column-gap: auto;
	column-gap: auto;
	padding: 20px 0 0;
	text-align: center;
	min-width: 320px;
}
#main_navigation li {
	padding-bottom: 20px;
}
#main_navigation a > div {
	font-size: 67.5%;
	font-weight: bold;
}
#main_navigation .title {
	display: block;
} 
#main_navigation .icon {
	display: inline-block;
	width: 64px;
	height: 64px;
	line-height: 62px;
	background: url(../images/bottom_navigation_bg.jpg) repeat left top;
	background-size: 40px 40px;
	border-radius: 32px;
	text-align: center;
	margin-bottom: 5px;
}
#main_navigation .sprite {
	display: inline-block;
	vertical-align: middle;	
}
#main_navigation li:nth-child(1) .sprite {
	width: 33px;
	height: 39px;
	background-position: 0 0;
}
#main_navigation li:nth-child(3) .sprite {
	width: 17px;
	height: 40px;
	background-position: 0 -44px;
}
#main_navigation li:nth-child(5) .sprite {
	width: 42px;
	height: 37px;
	background-position: 0 -90px;
}
#main_navigation li:nth-child(7) .sprite {
	width: 37px;
	height: 40px;
	background-position: 0 -131px;
}
#main_navigation li:nth-child(2) .sprite {
	width: 41px;
	height: 36px;
	background-position: 0 -175px;
}
#main_navigation li:nth-child(4) .sprite {
	width: 40px;
	height: 37px;
	background-position: 0 -216px;
}
#main_navigation li:nth-child(6) .sprite {
	width: 41px;
	height: 40px;
	background-position: 0 -259px;
}
#main_navigation li:nth-child(8) .sprite {
	width: 45px;
	height: 32px;
	background-position: 0 -301px;
}
.heading_style03 {
	padding: 0 10px;
	height: 40px;
	line-height: 42px;
	vertical-align: middle;
	color: #374c00;
}

.tableview_list {
	border-bottom: 1px solid #dfdfdf;	
}
.tableview_list a {
	-webkit-background-size: 15px 15px;
	background-size: 15px 15px;
	display: block;
	color: #333;
}
.tableview_list div {
	padding: 0 10px 0 45px;
	min-height: 42px;
	line-height: 44px;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-top: 1px solid #dfdfdf;
	width: 100%;
	font-size: 82.5%;
	position: relative;
}
.tableview_list div:after {
	content: "";
	position: absolute;
	right: 0;
	top: 37%;
	display: block;
	width: 18px;
	height: 15px;
	background-image: url(../images/css_sprite.png);
	background-size: 138px 544px;
	background-position: 0 -507px;
}
.tableview_list div:before {
	content: "";
	position: absolute;
	left: 10px;
	display: block;
	background-image: url(../images/css_sprite.png);
	background-size: 138px 544px;
}
.tableview_list .twitter div:before {
	top: 10px;
	width: 27px;
	height: 23px;
	background-position: 0 -453px;
}
.tableview_list .facebook div:before {
	top: 10px;
	width: 24px;
	height: 25px;
	background-position: 0 -391px;
}
.tableview_list .mixi div:before {
	top: 8px;
	width: 29px;
	height: 29px;
	background-position: 0 -420px;
}
.btn_type03 div {
	border: 3px solid #EC13A6;
	margin: 10px 10px 0;
	text-align: center;
	height: 42px;
	line-height: 44px;
	-webkit-border-radius: 6px;
	border-radius: 15px;
	font-size: 87.5%;
}
.btn_type03 span {
	display: inline-block;
	position: relative;
	padding-left: 20px;
}
.btn_type03 span:after {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	display: inline-block;
	width: 11px;
	height: 17px;
	background-image: url(../images/css_sprite2.png);
	background-size: 138px 544px;
	background-position: 0 -527px;	
}

#sns_btn_list {
	border-top: 3px solid #374c00;
	padding-top: 10px;
	text-align: center;
}
#sns_btn_list div {
	margin-right: 5px;
	display: inline-block;
}
#sns_btn_list div:last-child {
	margin-right: 0;
}
#top_of_page {
	height: 42px;
	line-height: 44px;
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
	background-image:url(../images/footer_back.png);
	position: relative;
	z-index: 0;
	padding: 15px 0;
	text-align: center;
}
.device_toggle_link li {
	display: inline-block;
	font-size: 87.5%;
	line-height: 30px;
}
.device_toggle_link li:first-child {
	border-right: 1px solid rgba(255,255,255,.3);
	padding-right: 10px;
	margin-right: 5px;
}
.device_toggle_link li a {
	vertical-align: middle;
	color: #fff;
	font-weight: bold;
}
.device_toggle_link li:last-child a {
	background-color: #fff;
	color: #EC13A6;
	display: block;
	padding: 0 10px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.copyright {
	font-size: 62.5%;
	color: #fff;
	margin-top: 10px;
}
/*------------------------------------------------------------
	クリアフィクス
------------------------------------------------------------*/
.cf:after{
	content: "";
	display: block;
	clear: both;
}
.cf {
	zoom:1;
}



.normal_navilist {
	border-bottom: 1px solid #dfdfdf;	
}
.normal_navilist a {
	-webkit-background-size: 15px 15px;
	background-size: 15px 15px;
	display: block;
	color: #333;
}
.normal_navilist div {
	padding: 0 10px 0 45px;
	min-height: 42px;
	line-height: 44px;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-top: 1px solid #dfdfdf;
	width: 100%;
	font-size: 82.5%;
	position: relative;
}
.normal_navilist div:after {
	content: "";
	position: absolute;
	right: 0;
	top: 37%;
	display: block;
	width: 18px;
	height: 15px;
	background-image: url(../images/css_sprite2.png);
	background-size: 138px 544px;
	background-position: 0 -507px;
}
.normal_navilist div:before {
	content: "";
	position: absolute;
	left: 10px;
	display: block;
	background-image: url(../images/css_sprite2.png);
	background-size: 138px 544px;
}
.normal_navilist .born div:before {
	top: 10px;
	width: 24px;
	height: 25px;
	background-position: 0 -391px;
}

.text_box {
	color: #FFFFFF;
	font-size: 80%;
	padding: 18px;
	background: #FFF url(../images/footer_back.png);
}

.text_area {
	color: #374c00;
	font-size: 80%;
	padding: 18px;
	background: #FFF;
}

.text_area2 {
	color: #374c00;
	font-size: 80%;
	padding: 18px;
	background: #fffedf;
}

h3 {
	color: #ff0198;
	font-size: 120%;
	font-weight: bold;
	line-height: 1.3em;
	margin-bottom: 5px;
}

h4 {
	color: #FFF;
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 10px;
	padding: 2px 10px;
	background: #ff0198;
	border-radius: 15px;
}

h5 {
	color: #ff0198;
	font-size: 100%;
	font-weight: bold;
	margin-bottom: 10px;
	padding: 0 0 3px 0;
	border-bottom: 1px solid #8c6239;
}

h6 {
	color: #ff0198;
	font-size: 100%;
	font-weight: bold;
	margin-bottom: 10px;
	padding: 0 0 3px 0;
	border-bottom: 1px solid #FBB00D;
}

b {
	color: #8c6239;
}