@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : common.css
 author     : Ability Consultant
 style info : 基本・共通設定
=================================================================== */
.box_container {
	max-width: 1260px;
	margin: auto;
}

@media only screen and (max-width: 1024px) {
	.box_container {
		width: 95%;
	}
}

.box_container_l {
	max-width: 1400px;
	margin: auto;
}

@media only screen and (max-width: 1024px) {
	.box_container_l {
		width: 95%;
	}
}

.box_container:after, .box_container_l:after, .row:after, .clearfix:after {
	content: "";
	display: table;
	clear: both;
}

@-webkit-keyframes waveLine {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 42px 0;
	}
}

@-moz-keyframes waveLine {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 42px 0;
	}
}

@-ms-keyframes waveLine {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 42px 0;
	}
}

@-o-keyframes waveLine {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 42px 0;
	}
}

@keyframes waveLine {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 42px 0;
	}
}

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html {
	font-size: small;
	line-height: 1.5;
}

body {
	color: #3c3c3c;
	background: #fff url(../images/common/bg_pattern_01.png) repeat left top;
	-webkit-text-size-adjust: none;
	font-size: 108%;
}

.ie body {
	font-size: 105%;
}

@media only screen and (max-width: 767px) {
	body {
		font-size: 93%;
	}
}

body a {
	color: #565656;
}

body a:link, body a:visited, body a:active {
	text-decoration: underline;
}

.mouse body a:hover,
.touch body a.touchstart {
	text-decoration: none;
	color: #6f6f6f;
}

body img {
	max-width: 100%;
	-webkit-touch-callout: none;
}

body, pre, input, textarea, select {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.ie body, .ie pre, .ie input, .ie textarea, .ie select {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

input, select, textarea {
	font-size: 100%;
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
	display: none !important;
}

html.ie8 #page {
	min-width: 1260px !important;
	margin: auto;
	font-size: 100% !important;
}

@media only screen and (min-width: 1025px) {
	body .view_tab-sp, body .view_tab {
		display: none !important;
	}
}

@media print {
	body .view_tab-sp, body .view_tab {
		display: none !important;
	}
}

.ie8 body .view_tab-sp, .ie8 body .view_tab {
	display: none !important;
}

@media only screen and (min-width: 768px) {
	body .view_sp {
		display: none !important;
	}
}

@media print {
	body .view_sp {
		display: none !important;
	}
}

.ie8 body .view_sp {
	display: none !important;
}

@media only screen and (max-width: 1024px) {
	body .view_pc {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	body .view_pc-tab, body .view_tab {
		display: none !important;
	}
}

.mouse .over {
	-webkit-transition: opacity 200ms ease-in;
	-moz-transition: opacity 200ms ease-in;
	-o-transition: opacity 200ms ease-in;
	transition: opacity 200ms ease-in;
}

.mouse .over:hover,
.touch .over.touchstart {
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
}

.touch .over {
	-webkit-tap-highlight-color: transparent;
}

.touch .over.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

*,
::before,
::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* -----------------------------------------------------------
	common
----------------------------------------------------------- */
.box_container {
	display: block;
}

@media only screen and (max-width: 1260px) {
	.box_container {
		width: 95%;
	}
}

.box_container_l {
	display: block;
}

@media only screen and (max-width: 1400px) {
	.box_container_l {
		width: 95%;
	}
}

.row {
	display: block;
}

.col {
	display: block;
	float: left;
	position: relative;
	min-height: 1px;
}

.row_tbl {
	display: table;
	width: 100%;
}

.cell {
	display: table-cell;
	vertical-align: top;
}

.text--18 {
	font-size: 129%;
	line-height: 1.94444;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.text--18 {
		font-size: 122%;
	}
}

@media only screen and (max-width: 767px) {
	.text--18 {
		font-size: 115%;
	}
}

.no_tategaki {
	height: auto;
	writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	-moz-writing-mode: horizontal-tb;
	-o-writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	white-space: normal;
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
@media only screen and (min-width: 768px) {
	#page {
		font-size: 100% !important;
	}
}

@media print {
	#page {
		font-size: 100% !important;
	}
}

.ie8 #page {
	font-size: 100% !important;
}

/* -----------------------------------------------------------
	#header
----------------------------------------------------------- */
#header .hd_gnav {
	display: table;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding-left: 270px;
	z-index: 9000;
}

@media only screen and (max-width: 1024px) {
	#header .hd_gnav {
		display: none;
	}
}

#header .hd_gnav > * {
	display: table-cell;
	vertical-align: middle;
}

#header .hd_gnav .logo {
	width: 20%;
	padding: 0 10px;
}

@media only screen and (max-width: 1600px) {
	#header .hd_gnav .logo {
		width: 18%;
	}
}

@media print {
	#header .hd_gnav .logo {
		width: 18%;
	}
}

.ie8 #header .hd_gnav .logo {
	width: 18%;
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#header .hd_gnav .logo {
		width: 219px;
	}
}

@media print {
	#header .hd_gnav .logo {
		width: 219px;
	}
}

.ie8 #header .hd_gnav .logo {
	width: 219px;
}

#header .hd_gnav .logo a {
	display: block;
	text-decoration: none;
	text-align: center;
	margin-bottom: -10px;
}

#header .hd_gnav .box_gnav {
	padding-right: 3%;
}

@media only screen and (max-width: 1600px) {
	#header .hd_gnav .box_gnav {
		padding-left: 10px;
		padding-right: 20px;
	}
}

@media print {
	#header .hd_gnav .box_gnav {
		padding-left: 10px;
		padding-right: 20px;
	}
}

.ie8 #header .hd_gnav .box_gnav {
	padding-left: 10px;
	padding-right: 20px;
}

#header .hd_gnav .box_gnav ul.gnav {
	display: table;
	width: auto;
	margin-left: auto;
	margin-right: 0;
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#header .hd_gnav .box_gnav ul.gnav {
		display: none;
	}
}

@media print {
	#header .hd_gnav .box_gnav ul.gnav {
		display: none;
	}
}

.ie8 #header .hd_gnav .box_gnav ul.gnav {
	display: none;
}

#header .hd_gnav .box_gnav ul.gnav > li {
	display: inline-block;
	vertical-align: middle;
	padding: 0 5px;
	margin-bottom: 5px;
}

@media only screen and (max-width: 1260px) {
	#header .hd_gnav .box_gnav ul.gnav > li {
		padding: 0;
	}
}

@media print {
	#header .hd_gnav .box_gnav ul.gnav > li {
		padding: 0;
	}
}

.ie8 #header .hd_gnav .box_gnav ul.gnav > li {
	padding: 0;
}

#header .hd_gnav .box_gnav ul.gnav > li > a {
	display: block;
	font-size: 129%;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

@media only screen and (max-width: 1400px) {
	#header .hd_gnav .box_gnav ul.gnav > li > a {
		font-size: 115%;
	}
}

@media print {
	#header .hd_gnav .box_gnav ul.gnav > li > a {
		font-size: 115%;
	}
}

.ie8 #header .hd_gnav .box_gnav ul.gnav > li > a {
	font-size: 115%;
}

#header .hd_gnav .box_gnav ul.gnav > li > a span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding: 0 8px 6px;
}

#header .hd_gnav .box_gnav ul.gnav > li > a span:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 6px;
	background: transparent url(../images/common/bg_wave_02.png) repeat-x left top;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

#header .hd_gnav .box_gnav ul.gnav > li a:hover span:before,
#header .hd_gnav .box_gnav ul.gnav > li.active a span:before {
	width: 100%;
}

#header .hd_gnav .box_btns {
	width: 500px;
}

@media only screen and (max-width: 1600px) {
	#header .hd_gnav .box_btns {
		width: 440px;
	}
}

@media print {
	#header .hd_gnav .box_btns {
		width: 440px;
	}
}

.ie8 #header .hd_gnav .box_btns {
	width: 440px;
}

@media only screen and (max-width: 1260px) {
	#header .hd_gnav .box_btns {
		width: 240px;
	}
}

@media print {
	#header .hd_gnav .box_btns {
		width: 240px;
	}
}

.ie8 #header .hd_gnav .box_btns {
	width: 240px;
}

#header .hd_gnav .box_btns .btns {
	display: table;
	margin-left: auto;
	margin-right: 0;
}

#header .hd_gnav .box_btns .btns .btn {
	display: table-cell;
	vertical-align: middle;
	height: 80px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: 15px 25px;
}

@media only screen and (max-width: 1600px) {
	#header .hd_gnav .box_btns .btns .btn {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media print {
	#header .hd_gnav .box_btns .btns .btn {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.ie8 #header .hd_gnav .box_btns .btns .btn {
	padding-left: 15px;
	padding-right: 15px;
}

#header .hd_gnav .box_btns .btns .btn a {
	text-decoration: none;
}

#header .hd_gnav .box_btns .btns .btn a:hover {
	opacity: 0.7;
}

#header .hd_gnav .box_btns .btns .btn .lg {
	display: block;
	font-size: 129%;
}

#header .hd_gnav .box_btns .btns .btn .md {
	display: block;
	font-size: 115%;
}

#header .hd_gnav .box_btns .btns .btn .num {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 179%;
	line-height: 1.3;
}

#header .hd_gnav .box_btns .btns .btn.btn_parking {
	background: #6ac6d7;
}

#header .hd_gnav .box_btns .btns .btn.btn_hours_fee {
	background: #306ba8;
}

#header .hd_gnav .box_btns .btns .btn.btn_tel {
	background: #ff9601;
}

@media only screen and (max-width: 1260px) {
	#header .hd_gnav .box_btns .btns .btn.btn_tel {
		display: none;
	}
}

@media print {
	#header .hd_gnav .box_btns .btns .btn.btn_tel {
		display: none;
	}
}

.ie8 #header .hd_gnav .box_btns .btns .btn.btn_tel {
	display: none;
}

/* -----------------------------------------------------------
	.fixbtns
----------------------------------------------------------- */
.fixbtns {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 290px;
	height: auto;
	z-index: 9100;
}

@media only screen and (max-width: 767px) {
	.fixbtns {
		width: 50%;
	}
}

.open_menu .fixbtns {
	width: auto;
	height: auto;
}

.fixbtns_fixed:not(.open_menu) .fixbtns {
	width: auto;
	height: auto;
}

.fixbtns:before {
	opacity: 1;
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	-webkit-transform: rotate(53deg);
	-moz-transform: rotate(53deg);
	-ms-transform: rotate(53deg);
	-o-transform: rotate(53deg);
	transform: rotate(53deg);
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	width: 100000px;
	height: 100000px;
	background: #232323;
}

.open_menu .fixbtns:before {
	opacity: 0;
}

.fixbtns_fixed:not(.open_menu) .fixbtns:before {
	opacity: 0;
}

.fixbtns .btn_menu {
	display: block;
	position: absolute;
	top: 25px;
	left: 40px;
	width: 100px;
	height: 90px;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (max-width: 767px) {
	.fixbtns .btn_menu {
		top: 1.3em !important;
		left: 1.3em !important;
		width: auto !important;
		height: auto !important;
	}
}

.fixbtns_fixed .fixbtns .btn_menu {
	top: 30px;
	left: 30px;
	width: 80px;
	height: 80px;
	background: #232323;
}

@media only screen and (max-width: 767px) {
	.fixbtns_fixed .fixbtns .btn_menu {
		padding: 0.5em 0.8em;
	}
}

.fixbtns_fixed.open_menu .fixbtns .btn_menu {
	background: transparent;
}

.fixbtns .btn_menu .btn_inner {
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 100%;
	line-height: 0;
}

.fixbtns .btn_menu .ic {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 15px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 100%;
	height: 25px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (max-width: 767px) {
	.fixbtns .btn_menu .ic {
		position: relative;
		top: auto;
		left: auto;
		top: auto;
		bottom: auto;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
		width: 32px !important;
		height: 18px;
		margin-bottom: 0.4em;
	}
}

.open_menu .fixbtns .btn_menu .ic {
	width: 75%;
}

.fixbtns_fixed:not(.open_menu) .fixbtns .btn_menu .ic {
	width: 63%;
}

.fixbtns .btn_menu .ic > span {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	left: 0;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	height: 2px;
	width: 100%;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.fixbtns .btn_menu .ic > span:nth-of-type(1) {
	top: 0;
}

.open_menu .fixbtns .btn_menu .ic > span:nth-of-type(1) {
	top: 50%;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.fixbtns .btn_menu .ic > span:nth-of-type(2) {
	top: 11px;
}

@media only screen and (max-width: 767px) {
	.fixbtns .btn_menu .ic > span:nth-of-type(2) {
		top: 8px;
	}
}

.open_menu .fixbtns .btn_menu .ic > span:nth-of-type(2) {
	opacity: 0;
}

.fixbtns .btn_menu .ic > span:nth-of-type(3) {
	bottom: 0;
}

.open_menu .fixbtns .btn_menu .ic > span:nth-of-type(3) {
	top: 50%;
	bottom: auto;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.fixbtns .btn_menu .txt {
	display: block;
	position: absolute;
	left: 0;
	bottom: 23px;
	width: 100%;
	font-family: "Oswald", sans-serif;
	font-size: 115%;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (max-width: 767px) {
	.fixbtns .btn_menu .txt {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto !important;
	}
}

.open_menu .fixbtns .btn_menu .txt {
	bottom: 8px;
}

.fixbtns_fixed:not(.open_menu) .fixbtns .btn_menu .txt {
	bottom: 14px;
}

/* -----------------------------------------------------------
	.fixmenu
----------------------------------------------------------- */
.fixmenu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-transform: translate(-100%, 0);
	-moz-transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	-o-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
	width: 100%;
	max-width: 750px;
	height: 100%;
	background: transparent url(../images/common/bg_fixmenu.png) no-repeat left top;
	background-size: 100% 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 210px 16% 20px 40px;
	padding-left: 40px;
	z-index: 9010;
}

@media only screen and (max-height: 900px) {
	.fixmenu {
		padding-top: 180px;
	}
}

@media only screen and (max-width: 1024px) {
	.fixmenu {
		max-width: 650px;
		padding-right: 28%;
	}
}

@media only screen and (max-width: 767px) {
	.fixmenu {
		max-width: 100%;
		background: #121212 url(../images/common/bg_wave_01.png) repeat left top;
		background-size: auto;
		padding-top: 8em;
		padding-left: 5%;
		padding-right: 5%;
	}
}

body.open_menu .fixmenu {
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
}

.fixmenu .box_inner {
	opacity: 0;
	overflow: hidden;
	-webkit-transform: translate(-100%, 0);
	-moz-transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	-o-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all 0.8s ease;
}

body.open_menu .fixmenu .box_inner {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.fixmenu .box_menu {
	margin-bottom: 7%;
}

@media only screen and (max-height: 900px) {
	.fixmenu .box_menu {
		margin-bottom: 30px;
	}
}

.fixmenu .box_menu ul li {
	margin-bottom: 1.5em;
}

@media only screen and (max-height: 900px) {
	.fixmenu .box_menu ul li {
		margin-bottom: 1em;
	}
}

.fixmenu .box_menu ul li a {
	display: block;
	position: relative;
	font-size: 165%;
	font-size: 165%;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.fixmenu .box_menu ul li a {
		font-size: 143%;
	}
}

@media only screen and (max-width: 767px) {
	.fixmenu .box_menu ul li a {
		font-size: 129%;
	}
}

.fixmenu .box_menu ul li a span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-right: 1em;
}

.fixmenu .box_menu ul li a span:before {
	display: block;
	content: '';
	position: absolute;
	left: 100%;
	top: 50%;
	width: 0;
	height: 1px;
	background: #fff;
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all 0.8s ease;
}

.fixmenu .box_menu ul li a:hover span:before,
.fixmenu .box_menu ul li.active a span:before {
	width: 320px;
}

.fixmenu .box_menu ul.gnav {
	margin-bottom: 6%;
}

@media only screen and (max-height: 900px) {
	.fixmenu .box_menu ul.gnav {
		margin-bottom: 30px;
	}
}

.fixmenu .box_menu ul.snav li {
	margin-bottom: 1em;
}

@media only screen and (max-height: 900px) {
	.fixmenu .box_menu ul.snav li {
		margin-bottom: 0.7em;
	}
}

.fixmenu .box_menu ul.snav li a {
	font-size: 129%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.fixmenu .box_menu ul.snav li a {
		font-size: 115%;
	}
}

@media only screen and (max-width: 767px) {
	.fixmenu .box_menu ul.snav li a {
		font-size: 100%;
	}
}

.fixmenu .box_sns > * {
	display: inline-block;
	vertical-align: middle;
}

.fixmenu .box_sns .txt_title {
	font-family: "Oswald", sans-serif;
	font-size: 186%;
	color: #fff;
	margin-right: 1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.fixmenu .box_sns .txt_title {
		font-size: 158%;
	}
}

@media only screen and (max-width: 767px) {
	.fixmenu .box_sns .txt_title {
		font-size: 129%;
	}
}

.fixmenu .box_sns ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 0 12px;
}

.fixmenu .box_sns ul li a {
	display: inline-block;
	vertical-align: middle;
	font-size: 250%;
	color: #fff;
	text-decoration: none;
	text-align: center;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.fixmenu .box_sns ul li a {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	.fixmenu .box_sns ul li a {
		font-size: 186%;
	}
}

.fixmenu .box_sns ul li a:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

.fixmenu_overlay {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.4);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 9009;
}

body.open_menu .fixmenu_overlay {
	opacity: 1;
	visibility: visible;
}

/* -----------------------------------------------------------
	.con_topicpath
----------------------------------------------------------- */
.con_topicpath {
	padding-top: 100px;
	margin-bottom: 5px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.con_topicpath {
		padding-top: 50px;
	}
}

@media only screen and (max-width: 767px) {
	.con_topicpath {
		padding-top: 2.5em;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.con_topicpath {
		margin-bottom: 5px;
	}
}

@media only screen and (max-width: 767px) {
	.con_topicpath {
		margin-bottom: 0.5em;
	}
}

@media only screen and (max-width: 767px) {
	.con_topicpath {
		padding: 1.5em 0;
	}
}

.con_topicpath ul {
	overflow: hidden;
}

.con_topicpath ul li {
	display: inline;
	font-size: 115%;
}

@media only screen and (max-width: 767px) {
	.con_topicpath ul li {
		font-size: 100%;
	}
}

.con_topicpath ul li:before {
	content: "/";
	display: inline;
	margin: 0 1em;
}

@media only screen and (max-width: 767px) {
	.con_topicpath ul li:before {
		margin: 0 0.5em;
	}
}

.con_topicpath ul li:first-child:before {
	display: none;
}

.con_topicpath ul li:first-child:after {
	display: none;
}

.con_topicpath ul li,
.con_topicpath ul li a {
	color: #606060;
}

.con_topicpath ul li a {
	text-decoration: none !important;
}

.mouse .con_topicpath ul li a:hover,
.touch .con_topicpath ul li a.touchstart {
	text-decoration: underline !important;
}

.touch .con_topicpath ul li a {
	-webkit-tap-highlight-color: transparent;
}

.touch .con_topicpath ul li a.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

/* -----------------------------------------------------------
	.con_title
----------------------------------------------------------- */
.con_title {
	display: block;
	position: relative;
	height: 290px;
	width: 100%;
	background: transparent url(../copy/images/bg_title-pc.jpg) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.con_title {
		height: auto;
		background-image: url(../copy/images/bg_title-sp.jpg);
		padding-bottom: 90%;
	}
}

.con_title .st_title {
	position: absolute;
	left: 50%;
	top: 60%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 95%;
	font-weight: normal;
	text-align: center;
	z-index: 3;
}

@media only screen and (max-width: 1024px) {
	.con_title .st_title {
		top: 50%;
	}
}

.con_title .st_title .jp {
	display: block;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
	font-size: 400%;
	color: #fff;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.con_title .st_title .jp {
		font-size: 329%;
	}
}

@media only screen and (max-width: 767px) {
	.con_title .st_title .jp {
		font-size: 258%;
	}
}

/* -----------------------------------------------------------
	#contents
----------------------------------------------------------- */
#contents {
	position: relative;
}

#contents > * {
	position: relative;
}

#contents:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	background: transparent url(../images/common/bg_title_bottom.png) no-repeat right top;
	background-size: 100% 100%;
	padding-bottom: 12.6%;
}

/* -----------------------------------------------------------
	#footer
----------------------------------------------------------- */
@media only screen and (min-width: 1025px) {
	#footer .box_container {
		max-width: 1800px;
	}
}

@media print {
	#footer .box_container {
		max-width: 1800px;
	}
}

.ie8 #footer .box_container {
	max-width: 1800px;
}

@media only screen and (max-width: 1800px) {
	#footer .box_container {
		width: 95%;
	}
}

@media print {
	#footer .box_container {
		width: 95%;
	}
}

.ie8 #footer .box_container {
	width: 95%;
}

#footer .ft_main {
	position: relative;
	overflow: hidden;
	background: #306ba8 url(../images/common/bg_wave_01.png) repeat left top;
	padding: 10% 0 45px;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main {
		padding: 15% 0 30px;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main {
		padding: 34% 0 2em;
	}
}

#footer .ft_main > * {
	position: relative;
	z-index: 2;
}

#footer .ft_main .bg {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 105%;
	height: 60%;
	overflow: hidden;
}

@media only screen and (max-width: 1260px) {
	#footer .ft_main .bg {
		height: 47%;
	}
}

@media print {
	#footer .ft_main .bg {
		height: 47%;
	}
}

.ie8 #footer .ft_main .bg {
	height: 47%;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .bg {
		height: 36%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .bg {
		height: 23%;
	}
}

#footer .ft_main .bg .bg_inner {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: translate(-3%, 0) rotate(-6.3deg);
	-moz-transform: translate(-3%, 0) rotate(-6.3deg);
	-ms-transform: translate(-3%, 0) rotate(-6.3deg);
	-o-transform: translate(-3%, 0) rotate(-6.3deg);
	transform: translate(-3%, 0) rotate(-6.3deg);
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
	background: #fff url(../images/common/bg_pattern_01.png) repeat left top;
}

#footer .ft_main .bg .bg_inner:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: transparent url(../images/footer/bg_footer_wave.png) no-repeat left top;
	background-size: auto 100%;
}

#footer .ft_main .cell {
	vertical-align: bottom;
}

#footer .ft_main .cell_info {
	width: 50%;
	padding-right: 10px;
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .cell_info {
		padding-right: 0;
		margin-bottom: 0;
	}
}

#footer .ft_main .cell_info .cell_inner {
	display: table;
	width: auto;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .cell_info .cell_inner {
		width: 100%;
	}
}

#footer .ft_main .cell_info .cell_inner > * {
	display: table-cell;
	vertical-align: middle;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .cell_info .cell_inner > * {
		display: block;
	}
}

#footer .ft_main .cell_nav .cell_inner {
	display: table;
	width: auto;
	margin-left: auto;
	margin-right: 0;
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .cell_nav .cell_inner {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .cell_info,
	#footer .ft_main .cell_nav {
		display: block;
		width: 100%;
	}
}

#footer .ft_main .logo {
	width: 43%;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .logo {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .logo {
		margin-bottom: 1em;
	}
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .logo img {
		max-width: 70%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .logo img {
		max-width: 60%;
	}
}

#footer .ft_main .box_info {
	padding-left: 30px;
}

@media only screen and (max-width: 1260px) {
	#footer .ft_main .box_info {
		padding-left: 20px;
	}
}

@media print {
	#footer .ft_main .box_info {
		padding-left: 20px;
	}
}

.ie8 #footer .ft_main .box_info {
	padding-left: 20px;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main .box_info {
		padding-left: 0;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_info {
		text-align: center;
	}
}

#footer .ft_main .box_info .telephone {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 250%;
	line-height: 1.3;
	margin-bottom: 12px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	#footer .ft_main .box_info .telephone {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_info .telephone {
		font-size: 172%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_info .telephone {
		margin-bottom: 0.3em;
	}
}

#footer .ft_main .box_info .telephone,
#footer .ft_main .box_info .telephone a {
	color: #fff;
}

#footer .ft_main .box_info .time {
	display: block;
	font-size: 129%;
	color: #fff;
	margin-bottom: 12px;
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#footer .ft_main .box_info .time {
		font-size: 115%;
	}
}

@media print {
	#footer .ft_main .box_info .time {
		font-size: 115%;
	}
}

.ie8 #footer .ft_main .box_info .time {
	font-size: 115%;
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_info .time {
		font-size: 93%;
		margin-bottom: 0.3em;
	}
}

#footer .ft_main .box_info .address {
	display: block;
	font-size: 115%;
	color: #fff;
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#footer .ft_main .box_info .address {
		font-size: 108%;
	}
}

@media print {
	#footer .ft_main .box_info .address {
		font-size: 108%;
	}
}

.ie8 #footer .ft_main .box_info .address {
	font-size: 108%;
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_info .address {
		font-size: 93%;
	}
}

#footer .ft_main .btn_sitemap {
	text-align: center;
	margin-bottom: 1.5em;
}

#footer .ft_main .btn_sitemap a {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	max-width: 90%;
	font-size: 115%;
	color: #fff;
	background: #232323;
	border: 0;
	outline: 0;
	text-align: center;
	text-decoration: none;
	padding: 0.8em 0.5em;
}

#footer .ft_main .box_sns {
	display: table;
	width: auto;
	border: 3px solid #fff;
	padding: 5px 20px;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_sns {
		display: table !important;
		width: 100%;
		max-width: 90%;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
	}
}

#footer .ft_main .box_sns > * {
	display: inline-block;
	vertical-align: middle;
}

#footer .ft_main .box_sns .txt_title {
	font-family: "Oswald", sans-serif;
	font-size: 193%;
	color: #fff;
	margin-right: 1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	#footer .ft_main .box_sns .txt_title {
		font-size: 158%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_sns .txt_title {
		font-size: 115%;
	}
}

#footer .ft_main .box_sns ul li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 25px;
}

#footer .ft_main .box_sns ul li:last-child {
	margin-right: 0 !important;
}

#footer .ft_main .box_sns ul li a {
	display: inline-block;
	vertical-align: middle;
	font-size: 272%;
	color: #fff;
	text-decoration: none;
	text-align: center;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	#footer .ft_main .box_sns ul li a {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_main .box_sns ul li a {
		font-size: 158%;
	}
}

#footer .ft_main .box_sns ul li a:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

#footer .ft_main ul.nav {
	max-width: 610px;
	margin-left: auto;
	margin-right: 0;
}

#footer .ft_main ul.nav > li {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	margin-bottom: 5px;
}

#footer .ft_main ul.nav > li:last-child {
	margin-right: 0 !important;
}

#footer .ft_main ul.nav > li > a {
	display: block;
	font-size: 129%;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#footer .ft_main ul.nav > li > a {
		font-size: 115%;
	}
}

@media print {
	#footer .ft_main ul.nav > li > a {
		font-size: 115%;
	}
}

.ie8 #footer .ft_main ul.nav > li > a {
	font-size: 115%;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_main ul.nav > li > a {
		font-size: 115%;
	}
}

#footer .ft_main ul.nav > li > a span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding: 0 10px 6px;
}

#footer .ft_main ul.nav > li > a span:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 6px;
	background: transparent url(../images/common/bg_wave_02.png) repeat-x left top;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

#footer .ft_main ul.nav > li a:hover span:before,
#footer .ft_main ul.nav > li.active a span:before {
	width: 100%;
}

#footer .ft_lnk {
	background: #5289b4;
	overflow: hidden;
	padding: 20px 0;
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk {
		padding: 1.5em 0;
	}
}

#footer .ft_lnk .cell {
	vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk {
		margin-bottom: 0.5em;
	}
}

#footer .ft_lnk .cell_lnk .btns {
	max-width: 1340px;
}

#footer .ft_lnk .cell_lnk .btns ul {
	margin: 0 -10px;
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk .btns ul {
		margin: 0 -0.4em;
	}
}

#footer .ft_lnk .cell_lnk .btns ul li {
	width: 16.66667%;
	padding: 0 10px;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_lnk .cell_lnk .btns ul li {
		width: 33.33333%;
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk .btns ul li {
		width: 50%;
		padding: 0 0.4em;
		margin-bottom: 1em;
	}
}

#footer .ft_lnk .cell_lnk .btns ul li .btn {
	display: table;
	width: 100%;
	font-size: 129%;
	color: #fff;
	border: 1px solid #fff;
	text-align: center;
	text-decoration: none;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn {
		font-size: 115%;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn {
		font-size: 100%;
	}
}

@media only screen and (min-width: 1025px) and (max-width: 1440px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn {
		font-size: 115%;
	}
}

@media print {
	#footer .ft_lnk .cell_lnk .btns ul li .btn {
		font-size: 115%;
	}
}

.ie8 #footer .ft_lnk .cell_lnk .btns ul li .btn {
	font-size: 115%;
}

#footer .ft_lnk .cell_lnk .btns ul li .btn span {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	padding: 5px 5px;
}

@media only screen and (max-width: 1260px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn span {
		padding: 10px 5px;
	}
}

@media print {
	#footer .ft_lnk .cell_lnk .btns ul li .btn span {
		padding: 10px 5px;
	}
}

.ie8 #footer .ft_lnk .cell_lnk .btns ul li .btn span {
	padding: 10px 5px;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn span {
		padding: 5px 5px;
	}
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn span {
		padding: 0.5em 0.5em;
	}
}

#footer .ft_lnk .cell_lnk .btns ul li .btn img {
	vertical-align: middle;
	margin-right: 0.5em;
}

#footer .ft_lnk .cell_lnk .btns ul li .btn em {
	display: inline-block;
	vertical-align: middle;
}

@media only screen and (max-width: 767px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn.btn_pocky img {
		max-width: 58%;
	}
}

@media only screen and (max-width: 1600px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn.btn_pocky br {
		display: none;
	}
}

@media print {
	#footer .ft_lnk .cell_lnk .btns ul li .btn.btn_pocky br {
		display: none;
	}
}

.ie8 #footer .ft_lnk .cell_lnk .btns ul li .btn.btn_pocky br {
	display: none;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_lnk .cell_lnk .btns ul li .btn.btn_pocky br {
		display: block;
	}
}

#footer .ft_lnk .cell_copyright {
	width: 16%;
	text-align: right;
	padding-left: 15px;
	padding-top: 20px;
}

@media only screen and (max-width: 1260px) {
	#footer .ft_lnk .cell_copyright {
		width: 23%;
	}
}

@media print {
	#footer .ft_lnk .cell_copyright {
		width: 23%;
	}
}

.ie8 #footer .ft_lnk .cell_copyright {
	width: 23%;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_lnk .cell_copyright {
		padding: 0;
		text-align: center;
	}
}

#footer .ft_lnk .cell_copyright #copyright {
	font-family: "Oswald", sans-serif;
	font-size: 86%;
	color: #fff;
}

@media only screen and (max-width: 1024px) {
	#footer .ft_lnk .cell_lnk,
	#footer .ft_lnk .cell_copyright {
		display: block;
		width: 100%;
	}
}

#pagetop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 40px;
	z-index: 9000;
}

@media only screen and (max-width: 767px) {
	#pagetop {
		bottom: 2em;
	}
}

#pagetop a {
	display: block;
	text-align: center;
	position: relative;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding-left: 5px;
}

@media only screen and (min-width: 1025px) {
	#pagetop a:hover .ic_arrow {
		height: 210%;
	}
}

@media print {
	#pagetop a:hover .ic_arrow {
		height: 210%;
	}
}

.ie8 #pagetop a:hover .ic_arrow {
	height: 210%;
}

#pagetop a .ic_arrow {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 190%;
	width: 1px;
	background: #000;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

#pagetop a .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform: translate(0, -100%);
	-moz-transform: translate(0, -100%);
	-ms-transform: translate(0, -100%);
	-o-transform: translate(0, -100%);
	transform: translate(0, -100%);
	width: 0;
	height: 0;
	border-bottom: 15px solid #000;
	border-right: 8px solid transparent;
}

/* -----------------------------------------------------------
	下層共通スタイル
----------------------------------------------------------- */
/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table.tbl_primary {
	width: 100%;
}

table.tbl_primary tr th,
table.tbl_primary tr td {
	font-size: 108%;
	font-weight: normal;
	border-top: 1px solid #bebebe;
	border-bottom: 1px solid #bebebe;
	padding: 1em 15px;
}

@media only screen and (max-width: 767px) {
	table.tbl_primary tr th,
	table.tbl_primary tr td {
		font-size: 100%;
	}
}

table.tbl_primary tr th {
	width: 25%;
	background: #e1e1e1;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	table.tbl_primary tr th {
		border-top: 0;
	}
}

table.tbl_primary tr td {
	border-right: 1px solid #bebebe;
}

@media only screen and (max-width: 767px) {
	table.tbl_primary tr td {
		border-right: 0;
		border-top: 0;
	}
}

table.tbl_primary tr td:last-child {
	border-right: 0;
}

@media only screen and (max-width: 767px) {
	table.tbl_primary tr th,
	table.tbl_primary tr td {
		display: block;
		width: 100%;
	}
}

table.tbl_primary_fix {
	width: 100%;
}

table.tbl_primary_fix tr th,
table.tbl_primary_fix tr td {
	font-size: 108%;
	font-weight: normal;
	border-top: 1px solid #bebebe;
	border-bottom: 1px solid #bebebe;
	padding: 1em 15px;
}

@media only screen and (max-width: 767px) {
	table.tbl_primary_fix tr th,
	table.tbl_primary_fix tr td {
		font-size: 100%;
	}
}

table.tbl_primary_fix tr th {
	background: #e1e1e1;
	text-align: center;
}

table.tbl_primary_fix tr td {
	border-right: 1px solid #bebebe;
}

table.tbl_primary_fix tr td:last-child {
	border-right: 0;
}

.st_lg_01 {
	font-weight: normal;
	line-height: 1.3;
	text-align: center;
}

.st_lg_01 .jp {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	-o-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
	font-size: 322%;
	color: #fff;
	background: #3277ab url(../images/common/bg_wave_04.png) no-repeat center bottom;
	background-size: 100% auto;
	padding: 0.8em 0.9em 1.5em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_lg_01 .jp {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_01 .jp {
		font-size: 158%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_01 .jp {
		padding: 0.7em 0.7em 1em;
	}
}

.ie .st_lg_01 .jp {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
}

.st_lg_01 .jp:before {
	display: block;
	content: '';
	position: absolute;
	left: 5px;
	right: 5px;
	top: 5px;
	bottom: 5px;
	width: auto;
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.7);
}

.st_lg_01 .jp > * {
	display: block;
	position: relative;
}

.ie .st_lg_01 .jp > * {
	left: -0.08em;
}

.st_lg_02 {
	font-weight: normal;
	text-align: center;
}

.st_lg_02 .en {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 215%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #ff9d04;
	margin-bottom: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_lg_02 .en {
		font-size: 200%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02 .en {
		font-size: 143%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02 .en {
		margin-bottom: 0.4em;
	}
}

.st_lg_02 .jp {
	display: block;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
	font-size: 286%;
	line-height: 1.3;
	color: #000;
	margin-bottom: 0.4em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_lg_02 .jp {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02 .jp {
		font-size: 143%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02 .jp {
		margin-bottom: 0.6em;
	}
}

.st_lg_02 .jp em {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-bottom: 0.1em;
}

.st_lg_02 .jp em:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
	background-image: url(../images/common/bg_wave_03.png);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: auto 6px;
	-webkit-animation: waveLine 2s linear 0s infinite normal;
	-moz-animation: waveLine 2s linear 0s infinite normal;
	-ms-animation: waveLine 2s linear 0s infinite normal;
	-o-animation: waveLine 2s linear 0s infinite normal;
	animation: waveLine 2s linear 0s infinite normal;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
}

.st_lg_02 .jp_sm {
	display: block;
	font-size: 129%;
	color: #030303;
	line-height: 1.94444;
}

@media only screen and (max-width: 767px) {
	.st_lg_02 .jp_sm {
		line-height: 1.75;
		font-size: 100%;
	}
}

.st_lg_02_white {
	font-weight: normal;
	text-align: center;
}

.st_lg_02_white .en {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 215%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #ff9d04;
	margin-bottom: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_lg_02_white .en {
		font-size: 200%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02_white .en {
		font-size: 143%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02_white .en {
		margin-bottom: 0.4em;
	}
}

.st_lg_02_white .jp {
	display: block;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
	font-size: 286%;
	line-height: 1.3;
	color: #fff;
	margin-bottom: 0.4em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_lg_02_white .jp {
		font-size: 215%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02_white .jp {
		font-size: 143%;
	}
}

@media only screen and (max-width: 767px) {
	.st_lg_02_white .jp {
		margin-bottom: 0.6em;
	}
}

.st_lg_02_white .jp em {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-bottom: 0.1em;
}

.st_lg_02_white .jp em:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
	background-image: url(../images/common/bg_wave_03.png);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: auto 6px;
	-webkit-animation: waveLine 2s linear 0s infinite normal;
	-moz-animation: waveLine 2s linear 0s infinite normal;
	-ms-animation: waveLine 2s linear 0s infinite normal;
	-o-animation: waveLine 2s linear 0s infinite normal;
	animation: waveLine 2s linear 0s infinite normal;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
}

.st_lg_02_white .jp_sm {
	display: block;
	font-size: 129%;
	color: #fff;
	line-height: 1.94444;
}

@media only screen and (max-width: 767px) {
	.st_lg_02_white .jp_sm {
		line-height: 1.75;
		font-size: 100%;
	}
}

.st_lg_02_white .jp em:before {
	background-image: url(../images/common/bg_wave_02.png);
}

.st_md_01 {
	font-weight: normal;
}

.st_md_01 > * {
	display: inline-block;
	vertical-align: baseline;
}

.st_md_01 .en {
	font-family: "Oswald", sans-serif;
	font-size: 272%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #434343;
	margin-right: 0.3em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_01 .en {
		font-size: 150%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_01 .en {
		font-size: 200%;
	}
}

.st_md_01 .jp {
	font-size: 129%;
	color: #030303;
}

.st_md_01_white {
	font-weight: normal;
}

.st_md_01_white > * {
	display: inline-block;
	vertical-align: baseline;
}

.st_md_01_white .en {
	font-family: "Oswald", sans-serif;
	font-size: 272%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #fff;
	margin-right: 0.3em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_01_white .en {
		font-size: 150%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_01_white .en {
		font-size: 200%;
	}
}

.st_md_01_white .jp {
	font-size: 129%;
	color: #fff;
}

.st_md_02 {
	font-weight: normal;
	text-align: center;
}

.st_md_02 .en {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 286%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #434343;
	margin-bottom: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_02 .en {
		font-size: 250%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_02 .en {
		font-size: 215%;
	}
}

.st_md_02 .jp {
	display: block;
	font-size: 129%;
	color: #030303;
}

.st_md_02_white {
	font-weight: normal;
	text-align: center;
}

.st_md_02_white .en {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 286%;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #fff;
	margin-bottom: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_02_white .en {
		font-size: 250%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_02_white .en {
		font-size: 215%;
	}
}

.st_md_02_white .jp {
	display: block;
	font-size: 129%;
	color: #fff;
}

.st_md_03 {
	font-weight: normal;
	line-height: 1.3;
}

.st_md_03 .jp {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-size: 200%;
	color: #3277ab;
	padding-bottom: 0.3em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_03 .jp {
		font-size: 186%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_03 .jp {
		font-size: 172%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_03 .jp {
		padding-bottom: 0.1em;
	}
}

.st_md_03 .jp:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
	background-image: url(../images/common/bg_wave_03.png);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: auto 6px;
	-webkit-animation: waveLine 2s linear 0s infinite normal;
	-moz-animation: waveLine 2s linear 0s infinite normal;
	-ms-animation: waveLine 2s linear 0s infinite normal;
	-o-animation: waveLine 2s linear 0s infinite normal;
	animation: waveLine 2s linear 0s infinite normal;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
}

.st_md_03_white {
	font-weight: normal;
	line-height: 1.3;
}

.st_md_03_white .jp {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-size: 200%;
	color: #fff;
	padding-bottom: 0.3em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.st_md_03_white .jp {
		font-size: 186%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_03_white .jp {
		font-size: 172%;
	}
}

@media only screen and (max-width: 767px) {
	.st_md_03_white .jp {
		padding-bottom: 0.1em;
	}
}

.st_md_03_white .jp:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
	background-image: url(../images/common/bg_wave_03.png);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: auto 6px;
	-webkit-animation: waveLine 2s linear 0s infinite normal;
	-moz-animation: waveLine 2s linear 0s infinite normal;
	-ms-animation: waveLine 2s linear 0s infinite normal;
	-o-animation: waveLine 2s linear 0s infinite normal;
	animation: waveLine 2s linear 0s infinite normal;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
}

.st_md_03_white .jp:before {
	background-image: url(../images/common/bg_wave_02.png);
}

/* -----------------------------------------------------------
	ボタン button
----------------------------------------------------------- */
.btn_ghost_blue {
	text-align: center;
}

.btn_ghost_blue a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 320px;
	font-size: 108%;
	color: #3277ab !important;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	text-align: center;
	text-decoration: none !important;
	-webkit-transition: all 0.6s ease;
	-moz-transition: all 0.6s ease;
	-o-transition: all 0.6s ease;
	transition: all 0.6s ease;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_blue a {
		max-width: 100%;
		font-size: 100%;
	}
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover {
		background: #3277ab;
		color: #fff !important;
		-webkit-transition-delay: 0.2s;
		-moz-transition-delay: 0.2s;
		-o-transition-delay: 0.2s;
		transition-delay: 0.2s;
	}
}

@media print {
	.btn_ghost_blue a:hover {
		background: #3277ab;
		color: #fff !important;
		-webkit-transition-delay: 0.2s;
		-moz-transition-delay: 0.2s;
		-o-transition-delay: 0.2s;
		transition-delay: 0.2s;
	}
}

.ie8 .btn_ghost_blue a:hover {
	background: #3277ab;
	color: #fff !important;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover .ic_btn {
		opacity: 1;
	}
}

@media print {
	.btn_ghost_blue a:hover .ic_btn {
		opacity: 1;
	}
}

.ie8 .btn_ghost_blue a:hover .ic_btn {
	opacity: 1;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover:before {
		right: 100%;
	}
}

@media print {
	.btn_ghost_blue a:hover:before {
		right: 100%;
	}
}

.ie8 .btn_ghost_blue a:hover:before {
	right: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover:after {
		left: 100%;
	}
}

@media print {
	.btn_ghost_blue a:hover:after {
		left: 100%;
	}
}

.ie8 .btn_ghost_blue a:hover:after {
	left: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover span:before {
		top: 100%;
	}
}

@media print {
	.btn_ghost_blue a:hover span:before {
		top: 100%;
	}
}

.ie8 .btn_ghost_blue a:hover span:before {
	top: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_blue a:hover span:after {
		bottom: 100%;
	}
}

@media print {
	.btn_ghost_blue a:hover span:after {
		bottom: 100%;
	}
}

.ie8 .btn_ghost_blue a:hover span:after {
	bottom: 100%;
}

.btn_ghost_blue a .ic_btn {
	opacity: 0.5;
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 120%;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_blue a .ic_btn {
		right: 1em;
	}
}

.btn_ghost_blue a:before {
	display: block;
	content: '';
	position: absolute;
	left: 7px;
	right: 0;
	top: 0;
	bottom: auto;
	width: auto;
	height: 2px;
	background: #3277ab;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_blue a:after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	right: 7px;
	top: auto;
	bottom: 0;
	width: auto;
	height: 2px;
	background: #3277ab;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_blue a span {
	display: block;
	position: relative;
	padding: 1em 1.5em;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_blue a span {
		padding: 1em 0.5em;
	}
}

.btn_ghost_blue a span:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	bottom: 7px;
	left: 0;
	right: auto;
	width: 2px;
	height: auto;
	background: #3277ab;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_blue a span:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	bottom: 0;
	left: auto;
	right: 0;
	width: 2px;
	height: auto;
	background: #3277ab;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_blue a span em {
	display: block;
	position: relative;
}

.btn_ghost_white {
	text-align: center;
}

.btn_ghost_white a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 320px;
	font-size: 108%;
	color: #fff !important;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	text-align: center;
	text-decoration: none !important;
	-webkit-transition: all 0.6s ease;
	-moz-transition: all 0.6s ease;
	-o-transition: all 0.6s ease;
	transition: all 0.6s ease;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_white a {
		max-width: 100%;
		font-size: 100%;
	}
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover {
		background: #fff;
		color: #3277ab !important;
		-webkit-transition-delay: 0.2s;
		-moz-transition-delay: 0.2s;
		-o-transition-delay: 0.2s;
		transition-delay: 0.2s;
	}
}

@media print {
	.btn_ghost_white a:hover {
		background: #fff;
		color: #3277ab !important;
		-webkit-transition-delay: 0.2s;
		-moz-transition-delay: 0.2s;
		-o-transition-delay: 0.2s;
		transition-delay: 0.2s;
	}
}

.ie8 .btn_ghost_white a:hover {
	background: #fff;
	color: #3277ab !important;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover .ic_btn {
		opacity: 1;
	}
}

@media print {
	.btn_ghost_white a:hover .ic_btn {
		opacity: 1;
	}
}

.ie8 .btn_ghost_white a:hover .ic_btn {
	opacity: 1;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover:before {
		right: 100%;
	}
}

@media print {
	.btn_ghost_white a:hover:before {
		right: 100%;
	}
}

.ie8 .btn_ghost_white a:hover:before {
	right: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover:after {
		left: 100%;
	}
}

@media print {
	.btn_ghost_white a:hover:after {
		left: 100%;
	}
}

.ie8 .btn_ghost_white a:hover:after {
	left: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover span:before {
		top: 100%;
	}
}

@media print {
	.btn_ghost_white a:hover span:before {
		top: 100%;
	}
}

.ie8 .btn_ghost_white a:hover span:before {
	top: 100%;
}

@media only screen and (min-width: 1025px) {
	.btn_ghost_white a:hover span:after {
		bottom: 100%;
	}
}

@media print {
	.btn_ghost_white a:hover span:after {
		bottom: 100%;
	}
}

.ie8 .btn_ghost_white a:hover span:after {
	bottom: 100%;
}

.btn_ghost_white a .ic_btn {
	opacity: 0.5;
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 120%;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_white a .ic_btn {
		right: 1em;
	}
}

.btn_ghost_white a:before {
	display: block;
	content: '';
	position: absolute;
	left: 7px;
	right: 0;
	top: 0;
	bottom: auto;
	width: auto;
	height: 2px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_white a:after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	right: 7px;
	top: auto;
	bottom: 0;
	width: auto;
	height: 2px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_white a span {
	display: block;
	position: relative;
	padding: 1em 1.5em;
}

@media only screen and (max-width: 767px) {
	.btn_ghost_white a span {
		padding: 1em 0.5em;
	}
}

.btn_ghost_white a span:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	bottom: 7px;
	left: 0;
	right: auto;
	width: 2px;
	height: auto;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_white a span:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	bottom: 0;
	left: auto;
	right: 0;
	width: 2px;
	height: auto;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 1;
}

.btn_ghost_white a span em {
	display: block;
	position: relative;
}

.btn_line_dark a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-size: 108%;
	color: #030303;
	text-decoration: none !important;
}

@media only screen and (max-width: 767px) {
	.btn_line_dark a {
		font-size: 100%;
	}
}

@media only screen and (min-width: 1025px) {
	.btn_line_dark a:hover {
		color: #030303 !important;
	}
}

@media print {
	.btn_line_dark a:hover {
		color: #030303 !important;
	}
}

.ie8 .btn_line_dark a:hover {
	color: #030303 !important;
}

@media only screen and (min-width: 1025px) {
	.btn_line_dark a:hover .ic_btn {
		left: 10px;
	}
}

@media print {
	.btn_line_dark a:hover .ic_btn {
		left: 10px;
	}
}

.ie8 .btn_line_dark a:hover .ic_btn {
	left: 10px;
}

.btn_line_dark a span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-left: 35px;
}

@media only screen and (max-width: 767px) {
	.btn_line_dark a span {
		padding-left: 1.8em;
	}
}

.btn_line_dark a span:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: 1px solid #030303;
	height: 0;
	width: 100%;
}

.btn_line_dark a .ic_btn {
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

/* -----------------------------------------------------------
	mfp popup
----------------------------------------------------------- */
body .mfp-bg {
	z-index: 9200;
}

body .mfp-wrap {
	z-index: 9210;
}

.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

.mfp-popup-video .mfp-iframe-holder .mfp-content {
	max-width: 85%;
}

/* -----------------------------------------------------------
	animation
----------------------------------------------------------- */
[data-animate] {
	opacity: 0;
}

[data-animate].animated {
	opacity: 1;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}

@-webkit-keyframes fadeInUpShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 50px, 0);
		-moz-transform: translate3d(0, 50px, 0);
		-ms-transform: translate3d(0, 50px, 0);
		-o-transform: translate3d(0, 50px, 0);
		transform: translate3d(0, 50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-moz-keyframes fadeInUpShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 50px, 0);
		-moz-transform: translate3d(0, 50px, 0);
		-ms-transform: translate3d(0, 50px, 0);
		-o-transform: translate3d(0, 50px, 0);
		transform: translate3d(0, 50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-ms-keyframes fadeInUpShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 50px, 0);
		-moz-transform: translate3d(0, 50px, 0);
		-ms-transform: translate3d(0, 50px, 0);
		-o-transform: translate3d(0, 50px, 0);
		transform: translate3d(0, 50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-o-keyframes fadeInUpShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 50px, 0);
		-moz-transform: translate3d(0, 50px, 0);
		-ms-transform: translate3d(0, 50px, 0);
		-o-transform: translate3d(0, 50px, 0);
		transform: translate3d(0, 50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@keyframes fadeInUpShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 50px, 0);
		-moz-transform: translate3d(0, 50px, 0);
		-ms-transform: translate3d(0, 50px, 0);
		-o-transform: translate3d(0, 50px, 0);
		transform: translate3d(0, 50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-webkit-keyframes fadeInDownShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -50px, 0);
		-moz-transform: translate3d(0, -50px, 0);
		-ms-transform: translate3d(0, -50px, 0);
		-o-transform: translate3d(0, -50px, 0);
		transform: translate3d(0, -50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-moz-keyframes fadeInDownShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -50px, 0);
		-moz-transform: translate3d(0, -50px, 0);
		-ms-transform: translate3d(0, -50px, 0);
		-o-transform: translate3d(0, -50px, 0);
		transform: translate3d(0, -50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-ms-keyframes fadeInDownShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -50px, 0);
		-moz-transform: translate3d(0, -50px, 0);
		-ms-transform: translate3d(0, -50px, 0);
		-o-transform: translate3d(0, -50px, 0);
		transform: translate3d(0, -50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-o-keyframes fadeInDownShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -50px, 0);
		-moz-transform: translate3d(0, -50px, 0);
		-ms-transform: translate3d(0, -50px, 0);
		-o-transform: translate3d(0, -50px, 0);
		transform: translate3d(0, -50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@keyframes fadeInDownShort {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -50px, 0);
		-moz-transform: translate3d(0, -50px, 0);
		-ms-transform: translate3d(0, -50px, 0);
		-o-transform: translate3d(0, -50px, 0);
		transform: translate3d(0, -50px, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
}

@-webkit-keyframes scaleBottomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.6);
		-moz-transform: scale(0.6);
		-ms-transform: scale(0.6);
		-o-transform: scale(0.6);
		transform: scale(0.6);
	}
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@-moz-keyframes scaleBottomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.6);
		-moz-transform: scale(0.6);
		-ms-transform: scale(0.6);
		-o-transform: scale(0.6);
		transform: scale(0.6);
	}
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@-ms-keyframes scaleBottomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.6);
		-moz-transform: scale(0.6);
		-ms-transform: scale(0.6);
		-o-transform: scale(0.6);
		transform: scale(0.6);
	}
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@-o-keyframes scaleBottomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.6);
		-moz-transform: scale(0.6);
		-ms-transform: scale(0.6);
		-o-transform: scale(0.6);
		transform: scale(0.6);
	}
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes scaleBottomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.6);
		-moz-transform: scale(0.6);
		-ms-transform: scale(0.6);
		-o-transform: scale(0.6);
		transform: scale(0.6);
	}
	50% {
		opacity: 1;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@-webkit-keyframes rotateStep01 {
	0% {
		-webkit-transform: rotate(5deg);
		-moz-transform: rotate(5deg);
		-ms-transform: rotate(5deg);
		-o-transform: rotate(5deg);
		transform: rotate(5deg);
	}
	100% {
		-webkit-transform: rotate(-20deg);
		-moz-transform: rotate(-20deg);
		-ms-transform: rotate(-20deg);
		-o-transform: rotate(-20deg);
		transform: rotate(-20deg);
	}
}

@-moz-keyframes rotateStep01 {
	0% {
		-webkit-transform: rotate(5deg);
		-moz-transform: rotate(5deg);
		-ms-transform: rotate(5deg);
		-o-transform: rotate(5deg);
		transform: rotate(5deg);
	}
	100% {
		-webkit-transform: rotate(-20deg);
		-moz-transform: rotate(-20deg);
		-ms-transform: rotate(-20deg);
		-o-transform: rotate(-20deg);
		transform: rotate(-20deg);
	}
}

@-ms-keyframes rotateStep01 {
	0% {
		-webkit-transform: rotate(5deg);
		-moz-transform: rotate(5deg);
		-ms-transform: rotate(5deg);
		-o-transform: rotate(5deg);
		transform: rotate(5deg);
	}
	100% {
		-webkit-transform: rotate(-20deg);
		-moz-transform: rotate(-20deg);
		-ms-transform: rotate(-20deg);
		-o-transform: rotate(-20deg);
		transform: rotate(-20deg);
	}
}

@-o-keyframes rotateStep01 {
	0% {
		-webkit-transform: rotate(5deg);
		-moz-transform: rotate(5deg);
		-ms-transform: rotate(5deg);
		-o-transform: rotate(5deg);
		transform: rotate(5deg);
	}
	100% {
		-webkit-transform: rotate(-20deg);
		-moz-transform: rotate(-20deg);
		-ms-transform: rotate(-20deg);
		-o-transform: rotate(-20deg);
		transform: rotate(-20deg);
	}
}

@keyframes rotateStep01 {
	0% {
		-webkit-transform: rotate(5deg);
		-moz-transform: rotate(5deg);
		-ms-transform: rotate(5deg);
		-o-transform: rotate(5deg);
		transform: rotate(5deg);
	}
	100% {
		-webkit-transform: rotate(-20deg);
		-moz-transform: rotate(-20deg);
		-ms-transform: rotate(-20deg);
		-o-transform: rotate(-20deg);
		transform: rotate(-20deg);
	}
}

@-webkit-keyframes rotateStep02 {
	0% {
		-webkit-transform: rotate(-5deg);
		-moz-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	100% {
		-webkit-transform: rotate(20deg);
		-moz-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		-o-transform: rotate(20deg);
		transform: rotate(20deg);
	}
}

@-moz-keyframes rotateStep02 {
	0% {
		-webkit-transform: rotate(-5deg);
		-moz-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	100% {
		-webkit-transform: rotate(20deg);
		-moz-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		-o-transform: rotate(20deg);
		transform: rotate(20deg);
	}
}

@-ms-keyframes rotateStep02 {
	0% {
		-webkit-transform: rotate(-5deg);
		-moz-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	100% {
		-webkit-transform: rotate(20deg);
		-moz-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		-o-transform: rotate(20deg);
		transform: rotate(20deg);
	}
}

@-o-keyframes rotateStep02 {
	0% {
		-webkit-transform: rotate(-5deg);
		-moz-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	100% {
		-webkit-transform: rotate(20deg);
		-moz-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		-o-transform: rotate(20deg);
		transform: rotate(20deg);
	}
}

@keyframes rotateStep02 {
	0% {
		-webkit-transform: rotate(-5deg);
		-moz-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	100% {
		-webkit-transform: rotate(20deg);
		-moz-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		-o-transform: rotate(20deg);
		transform: rotate(20deg);
	}
}

.fadeInUpShort {
	animation-name: fadeInUpShort;
}

.fadeInUpShort.animated {
	animation-duration: 1.5s;
}

.fadeInDownShort {
	animation-name: fadeInDownShort;
}

.fadeInDownShort.animated {
	animation-duration: 1.5s;
}

.scaleBottomIn {
	-webkit-transform-origin: center bottom;
	-moz-transform-origin: center bottom;
	-ms-transform-origin: center bottom;
	-o-transform-origin: center bottom;
	transform-origin: center bottom;
	animation-name: scaleBottomIn;
}

.rotate_step_01 {
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	-webkit-animation: rotateStep01 1.8s steps(2) 0s infinite normal;
	-moz-animation: rotateStep01 1.8s steps(2) 0s infinite normal;
	-ms-animation: rotateStep01 1.8s steps(2) 0s infinite normal;
	-o-animation: rotateStep01 1.8s steps(2) 0s infinite normal;
	animation: rotateStep01 1.8s steps(2) 0s infinite normal;
}

.rotate_step_02 {
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	-webkit-animation: rotateStep02 1.8s steps(2) 0s infinite normal;
	-moz-animation: rotateStep02 1.8s steps(2) 0s infinite normal;
	-ms-animation: rotateStep02 1.8s steps(2) 0s infinite normal;
	-o-animation: rotateStep02 1.8s steps(2) 0s infinite normal;
	animation: rotateStep02 1.8s steps(2) 0s infinite normal;
}
