@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, 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, article, aside, canvas,
	details, embed, figure, figcaption, footer, header, hgroup, menu, nav,
	output, ruby, section, summary, time, mark, audio, video {
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	word-wrap: break-word;
	color: #333;
}

img {
	vertical-align: bottom;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

a:hover {
	text-decoration: underline
}

a:focus {
	outline: none
}

article, aside, details, figcaption, figure, footer, header, hgroup,
	menu, nav, section {
	display: block
}

html {
	overflow-y: scroll
}

blockquote, q {
	quotes: none
}

ol, ul {
	list-style: none
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left
}

area {
	border: none;
	outline: none;
}

/* HTML要素
----------------------------------------------*/
strong, em {
	font-style: normal
}

strong {
	font-weight: bold
}

a {
	color: inherit;
	text-decoration: none;
	vertical-align: baseline;
	zoom: 1;
}

input[type=submit]:hover, button:hover {
	opacity: 0.7;
	cursor: pointer;
}

img {
	height: auto;
	max-width: 100%;
}

body {
	-webkit-text-size-adjust: none;
	font-size: 14px;
	background-color: #fff;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
	color: #090909;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.7;
}

/* --------------------------------------------------
clearfix
-------------------------------------------------- */
.clear {
	clear: both;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* --------------------------------------------------
間隔調整
-------------------------------------------------- */
.mt00 {
	margin-top: 0px !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mr00 {
	margin-right: 0px !important;
}

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb00 {
	margin-bottom: 0px !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml00 {
	margin-left: 0px !important;
}

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.pt00 {
	padding-top: 0px !important;
}

.pt05 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pr00 {
	padding-right: 0px !important;
}

.pr05 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pb00 {
	padding-bottom: 0px !important;
}

.pb05 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl00 {
	padding-left: 0px !important;
}

.pl05 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pl50 {
	padding-left: 50px !important;
}

/* --------------------------------------------------
間隔調整 PC
-------------------------------------------------- */
@media only screen and (min-width: 642px) {
	.pc_mt00 {
		margin-top: 0px !important;
	}
	.pc_mt05 {
		margin-top: 5px !important;
	}
	.pc_mt10 {
		margin-top: 10px !important;
	}
	.pc_mt15 {
		margin-top: 15px !important;
	}
	.pc_mt20 {
		margin-top: 20px !important;
	}
	.pc_mt25 {
		margin-top: 25px !important;
	}
	.pc_mt30 {
		margin-top: 30px !important;
	}
	.pc_mt35 {
		margin-top: 35px !important;
	}
	.pc_mt40 {
		margin-top: 40px !important;
	}
	.pc_mt45 {
		margin-top: 45px !important;
	}
	.pc_mt50 {
		margin-top: 50px !important;
	}
	.pc_mr00 {
		margin-right: 0px !important;
	}
	.pc_mr05 {
		margin-right: 5px !important;
	}
	.pc_mr10 {
		margin-right: 10px !important;
	}
	.pc_mr15 {
		margin-right: 15px !important;
	}
	.pc_mr20 {
		margin-right: 20px !important;
	}
	.pc_mr25 {
		margin-right: 25px !important;
	}
	.pc_mr30 {
		margin-right: 30px !important;
	}
	.pc_mr35 {
		margin-right: 35px !important;
	}
	.pc_mr40 {
		margin-right: 40px !important;
	}
	.pc_mr45 {
		margin-right: 45px !important;
	}
	.pc_mr50 {
		margin-right: 50px !important;
	}
	.pc_mb00 {
		margin-bottom: 0px !important;
	}
	.pc_mb05 {
		margin-bottom: 5px !important;
	}
	.pc_mb10 {
		margin-bottom: 10px !important;
	}
	.pc_mb15 {
		margin-bottom: 15px !important;
	}
	.pc_mb20 {
		margin-bottom: 20px !important;
	}
	.pc_mb25 {
		margin-bottom: 25px !important;
	}
	.pc_mb30 {
		margin-bottom: 30px !important;
	}
	.pc_mb35 {
		margin-bottom: 35px !important;
	}
	.pc_mb40 {
		margin-bottom: 40px !important;
	}
	.pc_mb45 {
		margin-bottom: 45px !important;
	}
	.pc_mb50 {
		margin-bottom: 50px !important;
	}
	.pc_ml00 {
		margin-left: 0px !important;
	}
	.pc_ml05 {
		margin-left: 5px !important;
	}
	.pc_ml10 {
		margin-left: 10px !important;
	}
	.pc_ml15 {
		margin-left: 15px !important;
	}
	.pc_ml20 {
		margin-left: 20px !important;
	}
	.pc_ml25 {
		margin-left: 25px !important;
	}
	.pc_ml30 {
		margin-left: 30px !important;
	}
	.pc_ml35 {
		margin-left: 35px !important;
	}
	.pc_ml40 {
		margin-left: 40px !important;
	}
	.pc_ml45 {
		margin-left: 45px !important;
	}
	.pc_ml50 {
		margin-left: 50px !important;
	}
	.pc_pt00 {
		padding-top: 0px !important;
	}
	.pc_pt05 {
		padding-top: 5px !important;
	}
	.pc_pt10 {
		padding-top: 10px !important;
	}
	.pc_pt15 {
		padding-top: 15px !important;
	}
	.pc_pt20 {
		padding-top: 20px !important;
	}
	.pc_pt25 {
		padding-top: 25px !important;
	}
	.pc_pt30 {
		padding-top: 30px !important;
	}
	.pc_pt35 {
		padding-top: 35px !important;
	}
	.pc_pt40 {
		padding-top: 40px !important;
	}
	.pc_pt45 {
		padding-top: 45px !important;
	}
	.pc_pt50 {
		padding-top: 50px !important;
	}
	.pc_pr00 {
		padding-right: 0px !important;
	}
	.pc_pr05 {
		padding-right: 5px !important;
	}
	.pc_pr10 {
		padding-right: 10px !important;
	}
	.pc_pr15 {
		padding-right: 15px !important;
	}
	.pc_pr20 {
		padding-right: 20px !important;
	}
	.pc_pr25 {
		padding-right: 25px !important;
	}
	.pc_pr30 {
		padding-right: 30px !important;
	}
	.pc_pr35 {
		padding-right: 35px !important;
	}
	.pc_pr40 {
		padding-right: 40px !important;
	}
	.pc_pr45 {
		padding-right: 45px !important;
	}
	.pc_pr50 {
		padding-right: 50px !important;
	}
	.pc_pb00 {
		padding-bottom: 0px !important;
	}
	.pc_pb05 {
		padding-bottom: 5px !important;
	}
	.pc_pb10 {
		padding-bottom: 10px !important;
	}
	.pc_pb15 {
		padding-bottom: 15px !important;
	}
	.pc_pb20 {
		padding-bottom: 20px !important;
	}
	.pc_pb25 {
		padding-bottom: 25px !important;
	}
	.pc_pb30 {
		padding-bottom: 30px !important;
	}
	.pc_pb35 {
		padding-bottom: 35px !important;
	}
	.pc_pb40 {
		padding-bottom: 40px !important;
	}
	.pc_pb45 {
		padding-bottom: 45px !important;
	}
	.pc_pb50 {
		padding-bottom: 50px !important;
	}
	.pc_pl00 {
		padding-left: 0px !important;
	}
	.pc_pl05 {
		padding-left: 5px !important;
	}
	.pc_pl10 {
		padding-left: 10px !important;
	}
	.pc_pl15 {
		padding-left: 15px !important;
	}
	.pc_pl20 {
		padding-left: 20px !important;
	}
	.pc_pl25 {
		padding-left: 25px !important;
	}
	.pc_pl30 {
		padding-left: 30px !important;
	}
	.pc_pl35 {
		padding-left: 35px !important;
	}
	.pc_pl40 {
		padding-left: 40px !important;
	}
	.pc_pl45 {
		padding-left: 45px !important;
	}
	.pc_pl50 {
		padding-left: 50px !important;
	}
}

/* --------------------------------------------------
間隔調整 SP
-------------------------------------------------- */
@media only screen and (max-width: 641px) {
	.sp_mt00 {
		margin-top: 0px !important;
	}
	.sp_mt05 {
		margin-top: 5px !important;
	}
	.sp_mt10 {
		margin-top: 10px !important;
	}
	.sp_mt15 {
		margin-top: 15px !important;
	}
	.sp_mt20 {
		margin-top: 20px !important;
	}
	.sp_mt25 {
		margin-top: 25px !important;
	}
	.sp_mt30 {
		margin-top: 30px !important;
	}
	.sp_mt35 {
		margin-top: 35px !important;
	}
	.sp_mt40 {
		margin-top: 40px !important;
	}
	.sp_mt45 {
		margin-top: 45px !important;
	}
	.sp_mt50 {
		margin-top: 50px !important;
	}
	.sp_mr00 {
		margin-right: 0px !important;
	}
	.sp_mr05 {
		margin-right: 5px !important;
	}
	.sp_mr10 {
		margin-right: 10px !important;
	}
	.sp_mr15 {
		margin-right: 15px !important;
	}
	.sp_mr20 {
		margin-right: 20px !important;
	}
	.sp_mr25 {
		margin-right: 25px !important;
	}
	.sp_mr30 {
		margin-right: 30px !important;
	}
	.sp_mr35 {
		margin-right: 35px !important;
	}
	.sp_mr40 {
		margin-right: 40px !important;
	}
	.sp_mr45 {
		margin-right: 45px !important;
	}
	.sp_mr50 {
		margin-right: 50px !important;
	}
	.sp_mr2per {
		margin-right: 2% !important;
	}
	.sp_mb00 {
		margin-bottom: 0px !important;
	}
	.sp_mb05 {
		margin-bottom: 5px !important;
	}
	.sp_mb10 {
		margin-bottom: 10px !important;
	}
	.sp_mb15 {
		margin-bottom: 15px !important;
	}
	.sp_mb20 {
		margin-bottom: 20px !important;
	}
	.sp_mb25 {
		margin-bottom: 25px !important;
	}
	.sp_mb30 {
		margin-bottom: 30px !important;
	}
	.sp_mb35 {
		margin-bottom: 35px !important;
	}
	.sp_mb40 {
		margin-bottom: 40px !important;
	}
	.sp_mb45 {
		margin-bottom: 45px !important;
	}
	.sp_mb50 {
		margin-bottom: 50px !important;
	}
	.sp_ml00 {
		margin-left: 0px !important;
	}
	.sp_ml05 {
		margin-left: 5px !important;
	}
	.sp_ml10 {
		margin-left: 10px !important;
	}
	.sp_ml15 {
		margin-left: 15px !important;
	}
	.sp_ml20 {
		margin-left: 20px !important;
	}
	.sp_ml25 {
		margin-left: 25px !important;
	}
	.sp_ml30 {
		margin-left: 30px !important;
	}
	.sp_ml35 {
		margin-left: 35px !important;
	}
	.sp_ml40 {
		margin-left: 40px !important;
	}
	.sp_ml45 {
		margin-left: 45px !important;
	}
	.sp_ml50 {
		margin-left: 50px !important;
	}
	.sp_pt00 {
		padding-top: 0px !important;
	}
	.sp_pt05 {
		padding-top: 5px !important;
	}
	.sp_pt10 {
		padding-top: 10px !important;
	}
	.sp_pt15 {
		padding-top: 15px !important;
	}
	.sp_pt20 {
		padding-top: 20px !important;
	}
	.sp_pt25 {
		padding-top: 25px !important;
	}
	.sp_pt30 {
		padding-top: 30px !important;
	}
	.sp_pt35 {
		padding-top: 35px !important;
	}
	.sp_pt40 {
		padding-top: 40px !important;
	}
	.sp_pt45 {
		padding-top: 45px !important;
	}
	.sp_pt50 {
		padding-top: 50px !important;
	}
	.sp_pr00 {
		padding-right: 0px !important;
	}
	.sp_pr05 {
		padding-right: 5px !important;
	}
	.sp_pr10 {
		padding-right: 10px !important;
	}
	.sp_pr15 {
		padding-right: 15px !important;
	}
	.sp_pr20 {
		padding-right: 20px !important;
	}
	.sp_pr25 {
		padding-right: 25px !important;
	}
	.sp_pr30 {
		padding-right: 30px !important;
	}
	.sp_pr35 {
		padding-right: 35px !important;
	}
	.sp_pr40 {
		padding-right: 40px !important;
	}
	.sp_pr45 {
		padding-right: 45px !important;
	}
	.sp_pr50 {
		padding-right: 50px !important;
	}
	.sp_pb00 {
		padding-bottom: 0px !important;
	}
	.sp_pb05 {
		padding-bottom: 5px !important;
	}
	.sp_pb10 {
		padding-bottom: 10px !important;
	}
	.sp_pb15 {
		padding-bottom: 15px !important;
	}
	.sp_pb20 {
		padding-bottom: 20px !important;
	}
	.sp_pb25 {
		padding-bottom: 25px !important;
	}
	.sp_pb30 {
		padding-bottom: 30px !important;
	}
	.sp_pb35 {
		padding-bottom: 35px !important;
	}
	.sp_pb40 {
		padding-bottom: 40px !important;
	}
	.sp_pb45 {
		padding-bottom: 45px !important;
	}
	.sp_pb50 {
		padding-bottom: 50px !important;
	}
	.sp_pl00 {
		padding-left: 0px !important;
	}
	.sp_pl05 {
		padding-left: 5px !important;
	}
	.sp_pl10 {
		padding-left: 10px !important;
	}
	.sp_pl15 {
		padding-left: 15px !important;
	}
	.sp_pl20 {
		padding-left: 20px !important;
	}
	.sp_pl25 {
		padding-left: 25px !important;
	}
	.sp_pl30 {
		padding-left: 30px !important;
	}
	.sp_pl35 {
		padding-left: 35px !important;
	}
	.sp_pl40 {
		padding-left: 40px !important;
	}
	.sp_pl45 {
		padding-left: 45px !important;
	}
	.sp_pl50 {
		padding-left: 50px !important;
	}
}

/* --------------------------------------------------
layout
-------------------------------------------------- */

/* --------------------------------------------------
header
-------------------------------------------------- */
.header:after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: rgb(239, 199, 0); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
}

.header_inr {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	padding: 15px 0 0;
}

.head_logo {
	margin: 7px 0 22px;
}

.drawer-nav {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	height: 100%;
	z-index: 3;
}

.drawer-menu {
	width: 100%;
	height: 100%;
}

.menu {
	position: absolute;
	bottom: 0;
	right: 0;
}

.head_gnav_list {
	
}

.head_gnav_list_item {
	position: relative;
	min-width: 152px;
	text-align: center;
	border-left: 1px solid #333;
	font-size: 15px;
	line-height: 1;
}

.head_gnav_list_item:last-child {
	border-right: 1px solid #333;
}

.site_en .head_gnav_list_item.en_head_ir {
	min-width: 200px;
}

.head_gnav_list_item>a {
	font-weight: bold;
}

.head_gnav_list_item>a span {
	/* font-weight: bold; */
	
}

.head_gnav_list_item>a:hover {
	text-decoration: none;
}

.head_gnav_list_item>a:after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -22px;
	display: block;
	content: "";
	width: 120px;
	height: 4px;
	background: rgb(239, 199, 0);
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1);
	margin: 0 auto;
	z-index: 150;
}

.head_gnav_list_item>a span:before {
	position: absolute;
	left: 16px;
	bottom: -22px;
	display: block;
	content: "";
	width: 60px;
	height: 4px;
	background: #FFF;
	z-index: 151;
	transition: all 0.3s;
}

.site_en .head_gnav_list_item>a span:before {
	width: 85px;
}

.head_gnav_list_item>a.current  span:before {
	content: none;
}

.head_gnav_list_item>a span:after {
	position: absolute;
	right: 16px;
	bottom: -22px;
	display: block;
	content: "";
	width: 60px;
	height: 4px;
	background: #FFF;
	z-index: 151;
	transition: all 0.3s;
}

.site_en .head_gnav_list_item>a span:after {
	width: 85px;
}

.head_gnav_list_item>a.current span:after {
	content: none;
}

.head_gnav_list_item>a:hover span:before {
	left: 0;
	width: 0;
	transition: all 0.3s;
}

.head_gnav_list_item>a:hover span:after {
	right: 0;
	width: 0;
	transition: all 0.3s;
}

/*.head_gnav_list_item > a:hover:after {
position: absolute;
left: 0;
right: 0;
bottom: -22px;
display: block;
content: "";
width: 120px;
height: 4px;
background: rgb(239,199,0);
background: -moz-linear-gradient(left,  rgba(239,199,0,1) 0%, rgba(237,81,173,1) 50%, rgba(94,84,193,1) 100%);
background: -webkit-linear-gradient(left,  rgba(239,199,0,1) 0%,rgba(237,81,173,1) 50%,rgba(94,84,193,1) 100%);
background: linear-gradient(to right,  rgba(239,199,0,1) 0%,rgba(237,81,173,1) 50%,rgba(94,84,193,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700', endColorstr='#5e54c1',GradientType=1 );
margin: 0 auto;
z-index: 150;
}*/
.gnav_list_item {
	float: left;
	position: relative;
}

.gnav_list_item .gnav_list_item_menu {
	visibility: hidden;
	opacity: 0;
	text-align: left;
	background: #FFF;
	width: 300%;
	margin: 0 -850px;
}

/* IEハック */
.gnav_list_item .gnav_list_item_menu:not(:target) {
	width: 100% \9; /* IE9, 10 */
	margin: 0\9; /* IE9, 10 */
}

@media screen and (-ms-high-contrast: active) , ( -ms-high-contrast :
	none) {
	.gnav_list_item .gnav_list_item_menu:not(:target) {
		width: 100%; /* IE10（\9なしでIE11にも適用） */
		margin: 0; /* IE10（\9なしでIE11にも適用） */
	}
}

.gnav_list_item:hover .gnav_list_item_menu {
	visibility: visible;
	opacity: 1;
}

.gnav_list_item_menu_inr {
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}

.gnav_mega_ttl {
	float: left;
	padding-right: 60px;
	margin-right: 60px;
	border-right: 1px solid #b6b6b6;
}

.gnav_mega_item {
	background: url(../imgs/common/head_mega_ico.png) no-repeat left center;
	padding: 0 0 0 20px;
	margin: 0 0 1em;
	font-size: 14px;
}

.gnav_mega_item a:hover {
	text-decoration: underline;
}

.gnav_mega_list {
	width: calc(100% - 291px);
	float: left;
}

.gnav_mega_list .gnav_mega_item {
	float: left;
	width: 33%;
	box-sizing: border-box;
}

.head_site_list {
	position: absolute;
	top: 15px;
	right: 0;
	font-size: 12px;
}

.head_site_list_sitemap {
	padding: 5px 0;
	margin: 0 17px 0 0;
}

.head_site_list_sitemap a:hover {
	text-decoration: underline;
}

.head_site_list_english {
	margin-right: 14px;
}

.head_site_list_english a {
	display: inline-block;
	background: #ededed;
	min-width: 96px;
	padding: 5px 0;
	text-align: center;
}

.head_site_list_english a:hover {
	text-decoration: none;
}

.head_site_list_english a:after {
	content: url(../imgs/common/head_eng_ico.png);
	margin-left: 17px;
}

.head_site_list_contact a {
	display: inline-block;
	background: #3d3d3d;
	min-width: 140px;
	padding: 5px 0;
	text-align: center;
	color: #FFF;
}

.head_site_list_contact a:before {
	position: relative;
	top: 2px;
	display: inline-block;
	content: url(../imgs/common/head_contact_ico.png);
	margin-right: 9px;
}

.head_site_list_contact a:hover {
	text-decoration: none;
}

/* --------------------------------------------------
header SP
-------------------------------------------------- */
@media only screen and (max-width: 641px) {
	.header {
		position: fixed;
		width: 100%;
		z-index: 2;
		background: #FFF;
	}
	.header_inr {
		width: 100%;
		padding-top: 10px;
	}
	.head_logo {
		text-align: center;
		margin: 0 0 10px;
		line-height: 1;
	}
	.head_logo a {
		display: inline-block;
		width: 84px;
	}

	/* メニュー */
	.menu {
		position: static;
	}
	.menu>ul {
		display: block;
	}
	.menu>ul>li a {
		padding: 0;
	}
	.menu>ul>li>ul:before {
		content: none;
	}
	.menu>ul>li>ul:after {
		content: none;
	}
	.head_gnav_list {
		position: static;
	}
	.head_gnav_list_item {
		min-width: auto;
		border: none;
		text-align: left;
	}
	.head_gnav_list_item:last-child {
		border-right: none;
	}
	.head_gnav_list_item>a span {
		font-weight: normal;
	}
	.head_gnav_list_item>a:hover:after {
		display: none;
		content: none;
		width: 0;
		height: 0;
		background: none;
	}
	.head_gnav_list_item>a:after {
		display: none;
		content: none;
		width: 0;
		height: 0;
		background: none;
	}
	.head_site_list {
		position: static;
	}
	.head_site_list_sitemap {
		margin: 0;
		padding: 0;
		line-height: 1;
	}
	.head_site_list_english {
		margin: 0;
	}
	.head_site_list_english a {
		text-align: left;
		line-height: 1;
		font-size: 14px;
		background: none;
	}
	.head_site_list_english a:after {
		content: none;
	}
	.head_site_list_contact a {
		text-align: left;
		line-height: 1;
		font-size: 14px;
		background: none;
		color: #3d3d3d;
	}
	.head_site_list_contact a:before {
		content: none;
	}
	.head_site_list_release {
		margin: 0;
		padding: 0;
		line-height: 1;
	}
	.gnav_logo_sp_item {
		margin: 10px 0 0;
		text-align: center;
		line-height: 1;
	}
	.gnav_logo_sp_item:after {
		display: block;
		content: "";
		width: 100%;
		height: 1px;
		margin-top: 10px;
		background: rgb(239, 199, 0);
		background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
		background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
		background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
			endColorstr='#5e54c1', GradientType=1);
	}
	.gnav_logo_sp_item a {
		display: inline-block !important;
		width: 84px;
	}
	.head_gnav_list {
		margin: 0 10px;
	}
	.head_site_list {
		margin: 0 10px;
	}
	.gnav_list_item {
		float: none;
		border-bottom: 1px solid #cac8c8;
	}
	.gnav_list_item .gnav_list_item_menu {
		display: none !important;
		opacity: 1;
		visibility: visible;
		width: 100%;
		margin: 0;
	}
	.gnav_list_item a {
		display: inline-block !important;
		width: 100%;
		min-width: 100%;
		background: url(../imgs/common/head_mega_ico.png) no-repeat right 12px
			center;
		padding: 22px 10px !important;
		box-sizing: border-box;
		font-size: 16px;
	}
	.gnav_list_item_menu_inr {
		width: 100%;
		margin: 0;
	}
	.gnav_close span {
		display: inline-block;
		background: #565656;
		color: #FFF;
		font-size: 16px;
		cursor: pointer;
		padding: 4px 24px;
		border-radius: 20px;
		margin: 25px 0;
	}
	.gnav_close span:before {
		display: inline-block;
		content: "";
		background: url(../imgs/common/head_close_ico.png) no-repeat left center/100%
			auto;
		width: 12px;
		height: 12px;
		margin-right: 8px;
	}
	.gnav_mega_ttl {
		float: none;
		padding: 0;
		margin: 0;
		border-right: none;
	}
	.gnav_mega_ttl li {
		display: none;
	}
	.gnav_mega_ttl  .gnav_mega_item {
		display: block;
		background: none;
		padding-left: 0;
		border-top: 1px solid #cac8c8;
		border-bottom: 1px solid #cac8c8;
	}
	.gnav_mega_ttl .gnav_mega_item a {
		font-size: 13px;
	}
	.gnav_mega_list {
		float: none;
		width: 100%;
		margin-bottom: 30px;
	}
	.gnav_mega_list .gnav_mega_item {
		float: none;
		width: 100%;
		background: none;
		padding-left: 0;
		border-top: 1px solid #cac8c8;
		border-bottom: 1px solid #cac8c8;
	}
	.gnav_mega_list  .gnav_mega_item a {
		font-size: 13px;
	}
	.gnav_mega_item {
		margin-bottom: -1px;
	}
	.gnav_mega_item a {
		padding: 11px 10px 11px 1.5em !important;
	}
	.gnav_mega_item a:hover {
		text-decoration: none;
	}
	.drawer--right .drawer-nav {
		right: -90%;
	}
	.drawer-overlay {
		z-index: 1;
	}
	.drawer-nav {
		display: block;
		position: fixed;
		width: 90%;
		height: 100%;
		top: 0;
		left: auto;
	}
	.drawer-menu {
		width: auto;
		height: auto;
	}
	.drawer-hamburger {
		width: 24px;
		padding: 16px 0;
		right: 16px !important;
	}
	.drawer-hamburger-icon:before {
		top: -8px;
	}
	.drawer-hamburger-icon:after {
		top: 8px;
	}
	.drawer--right.drawer-open .drawer-hamburger {
		right: 16px !important;
	}
}

/* --------------------------------------------------
footer
-------------------------------------------------- */
.footer {
	margin: 20px 0 0;
}

.foot_policy:after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: rgb(239, 199, 0); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
	margin: 25px 0 0;
}

.foot_policy_list {
	width: 1000px;
	margin: 0 auto;
	font-size: 0;
	text-align: right;
}

.foot_policy_list_item {
	display: inline-block;
	font-size: 12px;
	border-left: 1px solid #333333;
	line-height: 1;
	padding-left: 18px;
	margin-left: 18px;
}

.foot_policy_list_item:first-child {
	border-left: none;
}

.foot_nav {
	width: 1000px;
	margin: 0 auto;
	padding: 25px 0;
}

.foot_nav_list {
	text-align: center;
	font-size: 0;
}

.foot_nav_list_item {
	display: inline-block;
	font-size: 14px;
	border-left: 1px solid #333333;
	padding-left: 35px;
	margin-left: 35px;
	line-height: 1;
}

.foot_nav_list_item:first-child {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.foot_copy {
	font-size: 10px;
	background: #f2f2f2;
	padding: 18px 0;
}

.footer_en:before {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: rgb(239, 199, 0); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
	margin: 0;
}

/* --------------------------------------------------
footer SP
-------------------------------------------------- */
@media only screen and (max-width: 641px) {
	.footer {
		margin: 0;
	}
	.foot_nav_logo_sp {
		position: relative;
		margin: 20px auto;
	}
	.foot_nav_logo {
		
	}
	.foot_nav_top_sp {
		position: absolute;
		top: 0;
		right: 10px;
	}
	.foot_nav_top_sp a {
		margin: 4px 0;
		display: inline-block;
		width: 80%;
	}
	.foot_nav_sp:after {
		position: relative;
		display: block;
		content: "";
		width: 100%;
		height: 1px;
		background: rgb(239, 199, 0); /* Old browsers */
		background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
		/* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
			rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
		/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
			endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
	}
	.foot_nav_sp li {
		float: left;
		width: 50%;
		border: 1px solid #cac8c8;
		border-left: none;
		box-sizing: border-box;
		margin-bottom: -1px;
	}
	.foot_nav_sp li:nth-child(even) {
		border-right: none;
	}
	.foot_nav_sp li a {
		display: block;
		box-sizing: border-box;
		padding: 12px 5px;
		font-size: 12px;
	}
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
.cnts_blk {
	width: 1000px;
	margin: 0 auto;
}

.cnts_inr_blk {
	padding: 0 20px;
}

.col1 .main.cnts_one_column_blk {
	width: 880px;
	margin: 0 auto;
}

.sec_blk {
	margin: 0 0 40px;
}

.disp_pc {
	display: block;
}

.disp_sp {
	display: none;
}

.col1 .main.cnts_middle_blk {
	width: 880px;
	margin: 0 auto;
}

/* 見出し */
.ttl_under_lvl1 {
	background: #f2f2f2;
	font-size: 26px;
	font-weight: bold;
	border-bottom: 1px solid #8b00e2;
	padding: 20px;
	margin: 0 0 35px;
	line-height: 1;
}

.ttl_under_lvl2 {
	font-size: 22px;
	font-weight: bold;
	border-left: 5px solid #bfbfbf;
	padding-left: 18px;
	margin: 0 0 25px;
	line-height: 1.2;
}

.ttl_under_lvl3 {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 4px solid #e4e4e4;
	padding-bottom: 7px;
	margin: 0 0 22px;
	line-height: 1;
}

.ttl_under_lvl4 {
	font-size: 16px;
	margin: 0 0 20px;
	line-height: 1;
	padding-left: 1.6em;
	text-indent: -1.6em;
}

.ttl_under_lvl4 span {
	vertical-align: middle;
}

.ttl_under_lvl4:before {
	display: inline-block;
	content: "";
	width: 8px;
	height: 8px;
	background: rgb(125, 125, 125); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7d7d',
		endColorstr='#3d3d3d', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
	margin-right: 10px;
}

.ttl_under_lvl4_en {
	font-size: 16px;
	margin: 0 0 20px;
	line-height: 1;
	padding-left: 1.2em;
	text-indent: -1.2em;
}

.ttl_under_lvl4_en span {
	vertical-align: middle;
}

.ttl_under_lvl4_en:before {
	display: inline-block;
	content: "";
	width: 8px;
	height: 8px;
	background: rgb(125, 125, 125); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(125, 125, 125, 1) 0%,
		rgba(125, 125, 125, 1) 49%, rgba(61, 61, 61, 1) 49%,
		rgba(61, 61, 61, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7d7d',
		endColorstr='#3d3d3d', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
	margin-top: 4px;
	margin-right: 10px;
	vertical-align: top;
}

/* 見出し */
.bg_01 {
	background: #FAFAFB;
}

/* 罫線 */
.bdr_no {
	border: none !important;
}

.bdr_01 {
	border: 1px solid #dddddd;
}

.bdr_02 {
	border: 1px solid #b5b6b7;
	padding: 8px 10px;
	box-sizing: border-box;
}

/* 下層コンテンツブロック */
.under {
	margin: 0 0 45px;
}

.contents_inr {
	width: 1000px;
	margin: 35px auto 0;
}

.contents_inr:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.under p {
	margin: 0 0 1em;
}

.under .main a {
	color: #333;
	text-decoration: none;
}

.under a:hover {
	text-decoration: underline;
}

/* パン屑 */
.breadcrumb_blk {
	background: #f2f2f2;
}

.breadcrumb {
	width: 1000px;
	margin: 0 auto;
	font-size: 0;
	padding: 14px 0;
}

.breadcrumb li {
	display: inline-block;
	background: url(../imgs/common/arw_breadcrumb.png) no-repeat right
		center;
	line-height: 1;
	font-size: 12px;
	padding-right: 20px;
	margin-right: 10px;
}

.breadcrumb li:last-child {
	background: none;
	padding-right: 0;
	margin-right: 0;
}

/* メインカラム */
.main {
	float: left;
	margin-left: 50px;
	width: 690px;
}
/* h1タイトルブロック */
.ttl {
	float: left;
	width: 690px;
	margin-left: 50px;
}
/* 1カラム用 */
.col1 .main {
	width: 100%;
	float: none;
	margin-left: 0;
}

.col1 .ttl {
	width: 100%;
	float: none;
	margin-left: 0;
}

/* サイドカラム */
.side {
	float: left;
	width: 260px;
}
/* 1カラム用 */
.col_1 .main {
	width: 100%;
	float: none;
}

.side_ttl {
	display: none;
}

.side_pc_ttl {
	display: block;
	background: #f2f2f2;
	padding: 16px 20px;
	line-height: 1.2;
	min-height: 66px;
	box-sizing: border-box;
}

.side_en_ttl {
	padding: 23px 20px;
}

.under .side_pc_ttl:hover {
	text-decoration: none;
	cursor: default;
	opacity: 1;
}

.side_pc_ttl {
	display: block;
	font-size: 16px;
	font-weight: bold;
}

.side_pc_ttl a {
	display: block;
	opacity: 1;
	transition: all .3s;
}

#side_en .side_pc_ttl a {
	padding: 7px 0;
}

.side_pc_ttl a:hover {
	text-decoration: none;
	opacity: .7;
	transition: all .3s;
}

.side_pc_ttl span {
	display: block;
	font-size: 13px;
}

.side_list_01 {
	border-top: 1px solid #bfbfbf;
	border-bottom: 1px solid #bfbfbf;
	margin-bottom: -1px;
	font-size: 14px;
	line-height: 1;
}

.side_list_01:first-child {
	margin-top: 0;
}

.side_list_01 .side_under_list {
	display: none;
}

.side_list_01 .current ~ .side_under_list, .side_list_01 .current_parent 
	~ .side_under_list {
	display: block;
}

.side .drawer-dropdown-menu li:first-child {
	border-top: 1px solid #8b00e2;
}

.side_list_01 a {
	display: block;
	padding: 18px 20px;
}

.side_list_01 a:hover {
	background: #f2f2f2;
	text-decoration: none;
}

.side_list_01 a.current {
	background: #f2f2f2;
}

.side_list_01>a.current_parent {
	background: none;
	color: #8b00e2;
	font-weight: bold;
}

.side_list_02 {
	background: #fdf6e8;
	border: 1px solid #bfbfbf;
	margin-bottom: -1px;
	line-height: 1;
	font-size: 14px;
}

.side_list_02 a {
	display: block;
	padding: 16px;
}

.side_list_02 a:hover {
	text-decoration: none;
}

.side .drawer-dropdown-menu .side_under_list li {
	border-bottom: 1px solid #bfbfbf;
}

.side .drawer-dropdown-menu .side_under_list li:first-child {
	border-top: 1px solid #bfbfbf;
	border-bottom: 1px solid #bfbfbf;
	margin-top: 0;
}

.side .drawer-dropdown-menu .side_under_list li:last-child {
	margin-bottom: -1px;
}

.side_under_list .side_under_list_item a {
	background-color: #FFF;
	background-image: url(../imgs/common/head_eng_ico.png);
	background-position: left 20px center;
	background-repeat: no-repeat;
	padding-left: 40px;
}

.side_under_list .side_under_list_item a:hover {
	background-color: #f2f2f2;
	background-image: url(../imgs/common/head_eng_ico.png);
	background-position: left 20px center;
	background-repeat: no-repeat;
	padding-left: 40px;
	opacity: 1;
}

.side_under_list .side_under_list_item a.current {
	background-color: #f2f2f2;
}

.side_info a {
	background: url(../imgs/common/ico_info.png) no-repeat left 22px center;
	padding-left: 56px;
}

.side_contact a {
	background: url(../imgs/common/ico_contact.png) no-repeat left 21px
		center;
	padding-left: 55px;
}

/* pagetopボタン */
#side_bar {
	width: 70px;
	position: fixed;
	bottom: 140px;
	right: 0;
	z-index: 1;
	filter: alpha(opacity = 80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/*スライダー*/
.bx-wrapper {
	margin: 0 0 30px;
}

.bx-wrapper img {
	height: auto !important;
	width: 100% !important;
}

.bx-wrapper .bx-viewport {
	box-shadow: none;
	left: 0;
	border: none;
}

.bx-wrapper .bx-pager {
	background: #f2f2f2;
	padding-top: 12px;
	bottom: -30px;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background: #838383;
	width: 36px;
	height: 4px;
	border-radius: 0;
}

.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #8b00e2;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover {
	background: #8b00e2;
}

.bx-wrapper .bx-controls-direction a {
	margin-top: -18px;
	width: 19px;
	height: 36px;
	opacity: 0.75;
}

.bx-wrapper .bx-prev {
	left: 27px;
	background: url(../imgs/common/slider_left.png) no-repeat center center;
}

.bx-wrapper .bx-next {
	right: 27px;
	background: url(../imgs/common/slider_right.png) no-repeat center center;
}

.bx-wrapper .bx-next:hover {
	background-position: 0 0;
}

/* --------------------------------------------------
contents SP
-------------------------------------------------- */
@media only screen and (max-width: 641px) {
	.cnts_blk {
		width: calc(100% - 20px);
		margin: 0 10px;
	}
	.col1 .main.cnts_one_column_blk {
		width: 100%;
		margin: 20px 0 0;
	}
	.col1 .main.cnts_middle_blk {
		width: 100%;
	}
	.disp_pc {
		display: none !important;
	}
	.disp_sp {
		display: block;
	}
	.header_space_top {
		padding-top: 64px;
	}

	/* 見出し */
	.ttl_under_lvl1 {
		background: #FFF;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		border-bottom: 1px solid #8b00e2;
		padding: 15px;
		margin: 0;
		-webkit-box-flex: 1;
		-ms-flex-order: 1;
		-webkit-order: 1;
		order: 1;
		-webkit-box-ordinal-group: 1;
	}
	.ttl_under_lvl2 {
		font-size: 20px;
		font-weight: bold;
		border-left: 5px solid #bfbfbf;
		padding-left: 12px;
	}

	/* 下層コンテンツブロック */
	.contents_inr {
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
		box-sizing: border-box;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.contents_inr:after {
		content: ".";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}

	/* メインカラム */
	.main {
		float: none;
		margin-left: 0;
		width: 100%;
		-webkit-box-flex: 3;
		-ms-flex-order: 3;
		-webkit-order: 3;
		order: 3;
		-webkit-box-ordinal-group: 3;
	}
	.ttl {
		width: 100%;
		margin-left: 0;
	}

	/* サイドカラム */
	.side {
		float: none;
		width: 100%;
		margin: 0 0 25px;
		-webkit-box-flex: 2;
		-ms-flex-order: 2;
		-webkit-order: 2;
		order: 2;
		-webkit-box-ordinal-group: 2;
	}
	.side_ttl {
		display: block;
		background: #f2f2f2;
		text-align: center;
		border-bottom: 1px solid #bfbfbf;
		font-weight: normal;
		min-height: auto;
		line-height: 1;
		padding: 0;
	}
	.side_ttl span {
		display: none;
	}
	.side_list_01 a {
		padding: 15px 20px;
	}
	.side .side_ttl>a {
		position: relative;
		display: block;
		padding: 12px 20px;
	}
	.side .side_ttl>a:before {
		position: absolute;
		content: "";
		height: 2px;
		width: 16px;
		background: #808080;
		right: 10px;
		top: 50%;
		margin: -1px;
		transition: all 0.3s;
	}
	.side .side_ttl>a:after {
		position: absolute;
		content: "";
		height: 16px;
		width: 2px;
		background: #808080;
		right: 24px;
		top: 50%;
		margin: -8px;
		transition: all 0.3s;
	}
	.side .side_ttl>a {
		position: relative;
	}
	.side .side_ttl.current>a:after {
		position: absolute;
		content: "";
		background: #808080;
		right: 24px;
		top: 50%;
		margin: -8px;
		transform: rotate(-90deg);
		transition: all .3s;
	}
	.side .drawer-dropdown-menu li:first-child {
		border-top: none;
	}
	.side_list_01 {
		margin-bottom: 0;
		border-top: none;
	}
	.side_list_02 {
		display: none;
	}
	.side_list_01:first-child {
		margin-top: 0;
	}

	/* パン屑 */
	.breadcrumb_blk {
		display: none;
	}

	/* pagetopボタン */
	#side_bar {
		width: 70px;
		position: fixed;
		bottom: 217px;
		right: 0;
		z-index: 1;
		filter: alpha(opacity = 80);
		-moz-opacity: 0.8;
		opacity: 0.8;
	}
	#side_bar a {
		display: block;
	}
	#side_bar a img {
		width: 75%;
	}

	/*スライダー*/
	.bx-wrapper {
		margin: 0;
	}
	.bx-wrapper .bx-pager {
		display: none;
	}
	.bx-wrapper .bx-controls-direction a {
		margin-top: -12px;
		width: 12px;
		height: 24px;
	}
	.bx-wrapper .bx-prev {
		left: 15px;
		background: url(../imgs/common/slider_left.png) no-repeat center center/auto
			100%;
	}
	.bx-wrapper .bx-next {
		right: 15px;
		background: url(../imgs/common/slider_right.png) no-repeat center center/auto
			100%;
	}
}

/* --------------------------------------------------
共通ブロック
-------------------------------------------------- */
/*-- ディスプレイ --*/
.disp_blk {
	display: block !important;
}

.disp_inblk {
	display: inline-block;
}

.disp_inl {
	display: inline;
}

.pc_disp_inblk {
	display: inline-block;
}

/*-- 見出し --*/
.ttl_lvl2 {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 30px;
}

.ttl_lvl2:before {
	display: block;
	content: "";
	width: 60px;
	height: 5px;
	background: rgb(239, 199, 0); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
	margin: 0 auto 25px;
}

.ttl_lvl3 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 30px;
}

.ttl_lvl3:before {
	display: block;
	content: "";
	width: 60px;
	height: 5px;
	background: rgb(239, 199, 0); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(239, 199, 0, 1) 0%,
		rgba(237, 81, 173, 1) 50%, rgba(94, 84, 193, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efc700',
		endColorstr='#5e54c1', GradientType=1); /* IE6-9 */
	margin: 0 auto 25px;
}

/*-- テーブル --*/
.tbl_list_blk {
	width: 100%;
}

.tbl_list {
	width: 100%;
	font-size: 140%;
	margin: 0 0 30px;
}

.tbl_list tr:last-child {
	border-bottom: none;
}

.tbl_list th {
	background: #EBEBEB;
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	text-align: left;
	padding: 8px 10px;
	box-sizing: border-box;
}

.tbl_list td {
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	text-align: left;
	padding: 8px 10px;
	box-sizing: border-box;
}

/*-- テーブル スマホ対応 --*/
.tbl_list_blk_02 {
	width: 100%;
}

.tbl_list_02 {
	width: 100%;
	font-size: 140%;
	margin: 0 0 30px;
}

.tbl_list_02 tr:last-child {
	border-bottom: none;
}

.tbl_list_02 th {
	background: #EBEBEB;
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	text-align: left;
	padding: 8px 10px;
	box-sizing: border-box;
}

.tbl_list_02 td {
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	text-align: left;
	padding: 8px 10px;
	box-sizing: border-box;
}

/*-- テーブル 横幅オプション --*/
.tbl_ttl_col {
	width: 250px;
}

.tbl_ttl_col100 {
	width: 100px;
}

.tbl_ttl_col150 {
	width: 150px;
}

.tbl_ttl_col200 {
	width: 200px;
}

.tbl_list_02 {
	width: 100%;
	font-size: 140%;
	margin: 0 0 30px;
}

.tbl_list_02 tr:last-child {
	border-bottom: none;
}

.tbl_list_02 th {
	background: #EBEBEB;
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	padding: 8px 10px;
	box-sizing: border-box;
	word-break: break-all;
}

.tbl_list_02 td {
	border: 1px solid #b5b6b7;
	vertical-align: middle;
	font-size: 14px;
	padding: 8px 10px;
	box-sizing: border-box;
	word-break: break-all;
}

/*-- フォーム --*/
.form_blk {
	margin: 0 0 20px;
}

select::-ms-expand {
	display: none;
}

.form_input {
	display: block;
	width: 100%;
	padding: 5px;
	font-size: 14px;
	box-sizing: border-box;
	border: 1px solid #b5b6b7;
}

.form_select {
	min-width: 200px;
	padding: 6px 8px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background: #FFF;
	background: url(../imgs/common/ico_select_arw.png) right 10px center
		no-repeat;
	background-size: 11px auto;
	border-radius: 4px;
	font-size: 14px;
}

.form_textarea {
	display: block;
	width: 100%;
	padding: 5px;
	border: 1px solid #b5b6b7;
	box-sizing: border-box;
	font-size: 14px;
}

.form_input_s {
	width: 33%;
}

.form_input_m {
	width: 50%;
}

.form_input_l {
	width: 75%;
}

/*-- フォームフロー --*/
.form_flow_list {
	font-size: 0;
}

.form_flow_list_item {
	display: inline-block;
	font-size: 14px;
	vertical-align: middle;
}

.form_flow_list_item:after {
	position: relative;
	z-index: 2;
	background: url(../imgs/contact/bg_arow.png) no-repeat center right;
	content: "";
	display: inline-block;
	width: 54px;
	height: 53px;
	vertical-align: middle;
	box-sizing: border-box;
	margin-left: -26px;
	margin-right: -27px;
}

.form_flow_list_item:last-child:after {
	display: none;
}

.form_flow_list_item span {
	position: relative;
	z-index: 1;
	background: #f1f1f1;
	display: inline-block;
	width: 292px;
	vertical-align: middle;
	box-sizing: border-box;
	line-height: 53px;
}

.form_flow_list_item.current span {
	background: #3d3d3d;
	color: #FFF;
}

.form_flow_list_item.current:after {
	background: url(../imgs/contact/bg_arow_current.png) no-repeat center
		right;
	content: "";
	display: inline-block;
	width: 54px;
	height: 53px;
	vertical-align: middle;
	box-sizing: border-box;
}

.form_flow_list_item.current:last-child:after {
	display: none;
}
/*-- フォーム確認 --*/

/*-- フォームエラー --*/
.form_blk .error {
	color: red;
}

/*-- フォームボタン --*/
.form_btn_blk {
	width: 420px;
	margin: 0 auto;
	font-size: 0;
	text-align: center;
}

.form_btn {
	min-width: 198px;
	font-size: 14px;
}

.under .form_btn_01 {
	float: right;
	margin-left: 20px;
}

.form_btn_02 {
	float: right;
}

.form_submit {
	display: block;
	background: #3d3d3d url(../imgs/common/arw_btn_r.png) no-repeat right
		10px center;
	border: none;
	width: 198px;
	color: #FFF;
	font-size: 14px;
	line-height: 44px;
	padding: 0;
	box-sizing: border-box;
	margin: 0 auto;
}

.under .main .form_submit {
	color: #FFF;
}

.under .main .form_submit:hover {
	text-decoration: none;
}

.form_submit[disabled] {
	display: block;
	border: none;
	width: 198px;
	color: #FFF;
	font-size: 14px;
	line-height: 44px;
	padding: 0;
	box-sizing: border-box;
	opacity: 0.5;
	margin: 0 auto;
}

.form_submit[disabled]:hover {
	cursor: default;
	opacity: 0.5;
}

input.form_submit[type=submit]:hover {
	opacity: 1;
}

input.form_submit[type=submit][disabled]:hover {
	cursor: default;
	opacity: 0.5;
}

.form_prev {
	display: block;
	width: 200px;
	background: #3d3d3d url(../imgs/common/arw_btn_l.png) no-repeat left
		10px center;
	border: none;
	color: #FFF;
	font-size: 14px;
	line-height: 44px;
	margin: 0 auto;
}

.under .form_prev:hover {
	text-decoration: none;
	opacity: 1;
}

/*-- 	リンクブロック --*/
.link_blk_inr {
	border: 1px solid #bfbfbf;
	box-sizing: border-box;
}

.link_blk_ttl {
	background: #f2f2f2 url(../imgs/common/arw_breadcrumb.png) no-repeat
		left 10px top 17px;
}

.under .main .link_blk_ttl a {
	display: block;
	padding: 10px 10px 10px 30px;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	opacity: 1;
	transition: all 0.3s;
}

.under .main .link_blk_ttl a:hover {
	text-decoration: none;
	opacity: 0.7;
	transition: all 0.3s;
}

.link_blk_cnts {
	padding: 10px;
}

.link_blk_02 {
	background: #f2f2f2;
	padding: 20px 25px;
}

/*リンクリストブロック*/
.list_link_blk {
	
}

.under .list_link_blk p {
	padding: 0 15px;
	box-sizing: border-box;
	margin: 0 0 0.5em;
}

.under .list_link_blk figure {
	margin: 0 0 30px;
}

.list_link_blk>div {
	margin-bottom: 15px;
}

.list_link_ttl {
	border: 1px solid #bfbfbf;
	font-size: 18px;
	line-height: 1;
	opacity: 1;
	transition: all 0.3s;
	margin: 0 0 10px;
}

.list_link_ttl:hover {
	opacity: 1;
	transition: all 0.3s;
	background: #f2f2f2;
}

.under .main .list_link_ttl a {
	display: block;
	line-height: 1.4;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	padding: 8px 15px;
}

.under .main .list_link_ttl a:hover {
	text-decoration: none;
	opacity: 1;
}

.list_link_txt {
	min-height: 46px;
}

.under .main .list_link_blk a.list_link {
	color: #333333;
}

/*-- 	扉ページ用ブロック --*/
.list_door_link_blk {
	
}

.list_door_link_inr {
	float: left;
	width: 46.9%;
	background: #f7f7f7;
	margin: 0 0 20px;
}

.list_door_link_inr:nth-child(odd) {
	margin-right: 6%;
}

.list_door_link_blk a {
	display: block;
}

.under .list_door_link_blk a:hover {
	text-decoration: none;
}

.list_door_link_ttl {
	font-size: 16px;
	line-height: 1;
	margin: 0 20px 10px;
	font-weight: bold;
}

.list_door_link_img {
	margin: 0 0 20px;
}

.list_door_link_img img {
	width: 100%;
}

.under a .list_door_link_img {
	transition-property: opacity;
	transition-duration: 0.3s;
	opacity: 1;
}

.under a:hover .list_door_link_img {
	opacity: 0.7;
	transition-duration: 0.3s;
}

.under p.list_door_link_txt {
	margin: 0 20px 20px;
}

/*-- 	背景色ブロック --*/
.graph_blk {
	background: #f2f2f2;
	padding: 20px;
	box-sizing: border-box;
}

/*-- 回り込みブロック --*/
.fleft_blk:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.fleft_blk .fleft_img {
	float: left;
	width: 260px;
	height: auto;
	margin: 0 20px 0 0;
}

.fleft_blk .fleft_cnt {
	float: right;
	width: calc(100% - 280px);
}

.fright_blk:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.fright_blk .fright_img {
	float: right;
	width: 300px;
	height: auto;
	margin: 0 0 0 20px;
}

.fright_blk .fright_cnt {
	float: left;
	width: calc(100% - 320px);
}

.fleft {
	float: left;
	margin: 0 20px 20px 0;
}

.fright {
	float: right;
	margin: 0 0 20px 20px;
}

/*-- 横並びブロック --*/
.two_blk {
	float: left;
	width: 47%;
	margin-right: 6%;
	margin-bottom: 40px;
}

.two_blk:nth-child(2n) {
	margin-right: 0;
}

.two_blk:nth-child(2n+1) {
	clear: both;
}

.three_blk {
	float: left;
	width: 32%;
	margin-right: 2%;
}

.three_blk:nth-child(3n) {
	margin-right: 0;
}

.three_blk:nth-child(3n+1) {
	clear: both;
}

.four_blk {
	float: left;
	width: 24%;
	margin-right: 1.33%;
}

.four_blk:nth-child(4n) {
	margin-right: 0;
}

.four_blk:nth-child(4n+1) {
	clear: both;
}

.rss_btn {
	display: inline-block;
	vertical-align: middle;
}

.under .main .rss_btn a {
	line-height: 1;
	display: inline-block;
	border: 1px solid #bfbfbf;
	border-radius: 2px;
	padding: 4px 9px;
	color: #858585;
	text-decoration: none;
}

.under .main .rss_btn a:hover {
	text-decoration: none;
}

.under .main .more_btn {
	display: inline-block;
	vertical-align: middle;
	color: #FFF;
	text-decoration: none;
}

.under .main .more_btn a {
	line-height: 1;
	display: inline-block;
	background: #3d3d3d;
	color: #FFF;
	font-size: 12px;
	padding: 6px 9px;
	text-decoration: none;
}

.more_btn a:hover {
	text-decoration: none;
}

.more_btn a:after {
	margin-left: 6px;
	content: url(../imgs/top/ico_more.png);
}

/*-- グーグルマップブロック --*/
.google_map_blk {
	/* width: 90%; */
	margin: 0 auto;
}

.google_map_blk iframe {
	display: block;
	width: 100%;
	background: #FFF;
	border: none !important;
	padding: 1px;
	/*
  border: 2px solid #bfbfbf!important;
  padding: 2px;
  */
	box-sizing: border-box;
}

/* リスト
------------------------------ */
.list_disc {
	margin-left: 1em;
	list-style: outside disc;
}

.list_link {
	background: url(../imgs/common/ico_list.png) no-repeat left top 5px;
	padding-left: 15px;
	margin-left: 20px;
}

.inline_list {
	font-size: 0;
}

.inline_list_item {
	display: inline-block;
	font-size: 14px;
	border-right: 1px solid #807566;
	line-height: 1.2;
	margin-right: 10px;
	padding-right: 10px;
}

.inline_list_item:last-child {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

.inline_list_item a {
	color: #4975cc;
}

/* ボタン
------------------------------ */
.under .main .link_btn {
	display: inline-block;
	background: #3d3d3d;
	line-height: 1;
	color: #FFF;
	font-size: 16px;
	text-decoration: none;
	padding: 8px 10px;
	min-width: 240px;
	box-sizing: border-box;
	opacity: 1;
	transition: all .3s;
	text-align: center;
}

.under .main .link_btn:after {
	content: "";
	display: inline-block;
	background: url(../imgs/common/arw_large_w.png) no-repeat center top/auto
		100%;
	width: 10px;
	height: 14px;
	margin-left: 10px;
	vertical-align: middle;
}

.under .main .link_btn span {
	line-height: 1;
	color: #FFF;
	font-size: 16px;
	vertical-align: middle;
}

.under .main .link_btn:hover {
	text-decoration: none;
	opacity: 0.7;
	transition: all .3s;
}

.under .main .link_btn_02 {
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid #bfbfbf;
	color: #333;
}

.under .main .link_btn_02 a {
	color: #333;
}

.under .main .link_btn_02:hover {
	background: #f2f2f2;
	text-decoration: none;
}

.under .main .link_btn_02 a:hover {
	color: #333;
	text-decoration: none;
}

.under .main .link_btn_03 {
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid #bfbfbf;
	color: #333;
	background: url(../imgs/common/arw_list_door_link.png) no-repeat right
		10px center/auto 50%;
	opacity: 1;
	transition: all .3s;
}

.under .main .link_btn_03 a {
	display: block;
}

.under .main .link_btn_03:hover {
	background: #f2f2f2 url(../imgs/common/arw_list_door_link.png) no-repeat
		right 10px center/auto 50%;
	text-decoration: none;
	opacity: 0.7;
	transition: all .3s;
}

.under .main .link_btn_03 a:hover {
	color: #333;
	text-decoration: none;
}

.under .main .link_btn_04 {
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid #bfbfbf;
	color: #333;
	background: url(../imgs/common/arw_list_link_down.png) no-repeat right
		10px center/auto 4px;
	opacity: 1;
	transition: all .3s;
	font-size: 14px;
}

.under .main .link_btn_04 a {
	display: block;
}

.under .main .link_btn_04:hover {
	background: #f2f2f2 url(../imgs/common/arw_list_link_down.png) no-repeat
		right 10px center/auto 4px;
	text-decoration: none;
	opacity: 1;
	transition: all .3s;
}

.under .main .link_btn_04 a:hover {
	color: #333;
	text-decoration: none;
}

.list_btn {
	background: #f2f2f2;
	padding: 20px;
}

.list_btn_item {
	float: left;
	width: 32%;
	background: #FFF;
	border: 1px solid #bfbfbf;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-right: 1.5%;
	padding: 12px 0;
	line-height: 1.4;
}

.list_btn_item:nth-child(3n) {
	margin-right: 0;
}

.under .main .list_btn_item a {
	display: block;
	font-weight: bold;
	color: #333;
	text-decoration: none;
	opacity: 1;
	transition: all 0.3s;
}

.under .main .list_btn_item a:hover {
	opacity: 0.7;
	transition: all 0.3s;
}

.under .main .list_btn_item a span.list_btn_item_txt_small {
	display: block;
	font-size: 10px;
	opacity: 0.7;
	transition: all 0.3s;
}

/* 配置
------------------------------ */
.float_l {
	float: left;
}

.float_r {
	float: right;
}

.float_none {
	float: none !important;
}

.posi_abso {
	position: absolute;
}

.posi_rela {
	position: relative;
}

/* 横幅指定
------------------------------ */
.pc_width100 {
	width: 100px !important;
}

.mwidth100 {
	min-width: 100px !important;
}

.mwidth150 {
	min-width: 150px !important;
}

.mwidth200 {
	min-width: 220px !important;
}

.mwidth250 {
	min-width: 250px !important;
}

/* 縦幅調整
------------------------------ */
.pc_height_auto {
	height: auto !important;
}

/* テキスト関連
------------------------------ */
/*-- テキストサイズ --*/
.txt_10 {
	font-size: 10px !important;
}

.txt_12 {
	font-size: 12px !important;
}

.txt_14 {
	font-size: 14px !important;
}

.txt_16 {
	font-size: 16px !important;
}

.txt_18 {
	font-size: 18px !important;
}

.txt_20 {
	font-size: 20px !important;
}

.txt_small {
	font-size: 12px !important;
}

/*-- テキスト幅 --*/
.txt_normal {
	font-weight: normal !important;
}

.txt_bold {
	font-weight: bold !important;
}

/*-- テキストカラー --*/
.txt_blue {
	color: #15427f;
}

.txt_red {
	color: red;
}

/*-- テキスト配置 --*/
.txt_left {
	text-align: left;
}

.txt_right {
	text-align: right;
}

.txt_center {
	text-align: center;
}

.txt_top {
	vertical-align: top;
}

.txt_middle {
	vertical-align: middle;
}

.txt_bottom {
	vertical-align: bottom;
}

/*-- テキストインデント --*/
.txt_indent {
	text-indent: -1em;
	padding-left: 1em;
}

/*-- テキストリンク --*/
.text_link {
	color: #15427f;
	text-decoration: underline;
}

.under .main .txt_line {
	text-decoration: underline;
}

.under .main .txt_link_02 {
	color: #333;
}

.txt_link_02:before {
	content: "";
	display: inline-block;
	width: 0;
	hegiht: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #3d3d3d;
	margin-top: 7px;
	margin-right: 5px;
	vertical-align: top;
}

.txt_link_02:hover {
	color: #333;
}

.external_link {
	background: url(/assets/imgs/common/ico_external_link.png) no-repeat
		right center;
	padding-right: 30px;
	display: inline-block;
}

.blank {
	background: url(../imgs/common/ico_window.png) no-repeat right top 4px/auto
		12px;
	padding-right: 18px;
}

.blank_blk {
	display: block;
	background: url(../imgs/common/ico_window.png) no-repeat right 5px top
		5px/auto 12px;
	padding: 12px 18px;
	box-sizing: border-box;
}

/*-- テキスト行間 --*/
.liheheihgt_01liheheihgt_01 {
	line-height: 1;
}

/*-- 罫線 --*/
.bdr_top {
	border-top: 1px solid #bfbfbf;
}

/*-- アニメーション --*/
.hover {
	opacity: 1;
	transition: all .3s;
}

.hover:hover {
	opacity: 0.7;
	transition: all .3s;
}

/* --------------------------------------------------
共通ブロックSP
-------------------------------------------------- */
@media only screen and (max-width: 641px) {
	/*-- 見出し --*/
	.ttl_lvl2 {
		font-size: 22px;
		margin: 0 0 20px;
		line-height: 1;
	}
	.ttl_lvl2:before {
		margin: 0 auto 23px;
	}

	/*-- ディスプレイ --*/
	.pc_disp_inblk {
		display: block;
	}

	/*-- 回り込みブロック --*/
	.fleft_blk .fleft_img {
		float: none;
		width: 100%;
		height: auto;
		margin: 20px 0 0;
	}
	.fleft_blk .fleft_cnt {
		float: none;
		width: 100%;
	}
	.fright_blk .fright_img {
		float: none;
		width: 100%;
	}
	.fright_blk .fright_cnt {
		float: none;
		width: 100%;
	}

	/*-- 横並びブロック --*/
	.two_blk {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 25px;
	}
	.three_blk {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.four_blk {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.sp_one_blk {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.sp_two_blk {
		float: left;
		width: 49%;
		margin-right: 2%;
	}
	.sp_two_blk:nth-child(3n) {
		clear: none;
		float: left;
		margin-right: 2%;
	}
	.sp_two_blk:nth-child(2n) {
		margin-right: 0;
	}
	.sp_two_blk:nth-child(3n+1) {
		clear: none;
	}
	.sp_three_blk00 {
		float: left;
		width: 32%;
		margin-left: auto;
		margin-right: auto;
	}
	.sp_three_blk00:nth-child(3n) {
		float: left;
		margin-left: auto;
		margin-right: auto;
	}
	.sp_three_blk {
		float: left;
		width: 32%;
		margin-right: 2%;
	}
	.sp_three_blk:nth-child(3n) {
		float: left;
		margin-right: 0;
	}

	/*-- グーグルマップブロック --*/
	.google_map_blk {
		width: 100%;
	}
	.rss_btn a {
		font-size: 12px;
	}

	/*-- 	リンクブロック --*/
	.link_blk_inr {
		border: 1px solid #bfbfbf;
		box-sizing: border-box;
	}
	.link_blk_ttl {
		background: #f2f2f2 url(../imgs/common/arw_breadcrumb.png) no-repeat
			left 10px top 17px;
	}
	.under .main .link_blk_ttl a {
		display: block;
		padding: 10px 10px 10px 30px;
		color: #333;
		font-size: 16px;
		font-weight: bold;
		text-decoration: none;
		opacity: 1;
		transition: all 0.3s;
	}
	.under .main .link_blk_ttl a:hover {
		text-decoration: none;
		opacity: 0.7;
		transition: all 0.3s;
	}
	.link_blk_cnts {
		padding: 10px;
	}
	.link_blk_02 {
		background: #f2f2f2;
		padding: 20px 25px;
	}

	/*リンクリストブロック*/
	.list_link_blk {
		
	}
	.list_link_blk p {
		padding: 0;
		box-sizing: border-box;
	}
	.under .list_link_blk figure {
		margin: 0;
	}
	.list_link_blk>div {
		margin-bottom: 40px;
	}
	.list_link_txt {
		min-height: auto;
	}

	/*-- 	扉ページ用ブロック --*/
	.list_door_link_blk {
		
	}
	.list_door_link_blk a {
		display: block;
		height: auto !important;
	}
	.under .list_door_link_blk a:hover {
		text-decoration: none;
	}
	.list_door_link_inr {
		clear: both;
		background: #f7f7f7;
		height: auto !important;
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 10px;
		box-sizing: border-box;
	}
	.list_door_link_inr00 {
		clear: both;
		background: #f7f7f7;
		height: auto !important;
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 10px;
		box-sizing: border-box;
	}
	.list_door_link_inr11 {
		clear: both;
		background: #f7f7f7;
		height: auto !important;
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 10px;
		box-sizing: border-box;
	}
	.list_door_link_ttl {
		font-size: 14px;
		line-height: 1;
		padding: 10px 0 0;
		font-weight: bold;
	}
	.list_door_link_img {
		float: left;
		width: 35%;
		margin: 0;
		margin-right: 10px;
	}
	.under p.list_door_link_txt {
		margin: 0;
		overflow: hidden;
		font-size: 12px;
	}

	/*-- テーブル --*/
	.tbl_list_blk {
		width: 100%;
		overflow-x: auto;
	}
	/*.tbl_list {
display: block;
width: 100%;
}
.tbl_list tbody,
.tbl_list tr {
display: block;
width: 100%;
}
.tbl_list tr:last-child td {
border-bottom: 1px solid #b5b6b7;
}*/
	.tbl_list th {
		font-size: 12px;
	}
	.tbl_list td {
		font-size: 12px;
	}

	/*-- テーブルスマホ対応 --*/
	.tbl_list_02 {
		display: block;
		width: 100%;
	}
	.tbl_list_02 tbody, .tbl_list_02 tr {
		display: block;
		width: 100%;
	}
	.tbl_list_02 tr:last-child td {
		border-bottom: 1px solid #b5b6b7;
	}
	.tbl_list_02 th {
		display: block;
		font-size: 12px;
		border-bottom: none;
	}
	.tbl_list_02 td {
		display: block;
		font-size: 12px;
		border-bottom: none;
	}
	.tbl_ttl_col, .tbl_ttl_col200 {
		width: 45%;
	}
	.tbl_ttl_sp_col30 {
		width: 30%;
	}

	/*-- グーグルマップブロック --*/
	.google_map_blk iframe {
		width: 100%;
		height: 200px;
	}

	/* リスト
------------------------------ */
	.inline_list_item {
		line-height: 1.6;
	}

	/* ボタン
------------------------------ */
	.under .main .link_btn {
		margin: 10px 0 0;
		padding: 8px 10px;
	}
	.list_btn_item {
		float: none;
		width: 100%;
		margin: 0 0 10px;
	}
	.list_btn_item:last-child {
		margin: 0;
	}
	.under .main .link_btn_04 {
		padding: 5px 6px;
		background: url(../imgs/common/arw_list_link_down.png) no-repeat right
			4px center/auto 4px;
		font-size: 10px;
	}
	.under .main .link_btn_04:hover {
		padding: 5px 6px;
		background: url(../imgs/common/arw_list_link_down.png) no-repeat right
			4px center/auto 4px;
		font-size: 10px;
	}

	/*-- フォーム --*/
	.form_blk {
		margin: 20px 0;
	}
	.form_input_s {
		width: 100%;
	}
	.form_input_m {
		width: 100%;
	}
	.form_input_l {
		width: 100%;
	}
	/*-- フォームフロー --*/
	.form_flow_list_item {
		position: relative;
		width: 33.3%;
	}
	.form_flow_list_item span {
		width: 100%;
		line-height: 33px
	}
	.form_flow_list_item:after {
		position: absolute;
		z-index: 2;
		top: 0;
		width: 31px;
		height: 33px;
		margin-left: -14px;
		margin-right: -14px;
	}
	.form_flow_list_item.current:after {
		position: absolute;
		z-index: 2;
		top: 0;
		width: 31px;
		height: 33px;
		margin-left: -14px;
		margin-right: -14px;
	}
	/*-- フォームボタン --*/
	.form_btn_blk {
		width: 100%;
	}
	.form_btn {
		min-width: 100%;
	}

	/* 横幅指定
------------------------------ */
	.pc_width100 {
		width: 100% !important;
	}
	.mwidth100 {
		min-width: 100% !important;
	}
	.mwidth150 {
		min-width: 100% !important;
	}
	.mwidth200 {
		min-width: 100% !important;
	}
	.mwidth250 {
		min-width: 100% !important;
	}

	/* 縦幅調整
------------------------------ */
	.sp_height_auto {
		height: auto !important;
	}

	/* テキスト関連
------------------------------ */
	/*-- テキストリンク --*/
	.txt_link_02:before {
		margin-top: 6px;
	}
	.blank {
		background: url(../imgs/common/ico_window.png) no-repeat right top 2px/auto
			12px;
		padding-right: 18px;
	}
	.blank_blk {
		display: block;
		background: url(../imgs/common/ico_window.png) no-repeat right 5px top
			5px/auto 12px;
		padding: 12px 18px;
		box-sizing: border-box;
	}
}