/*--------------------------------------------------------------
 element basic
 --------------------------------------------------------------*/
html {
	height: 100%;
	font-size: 13px;
}
body {
	position: relative;
	height: 100%;
	/*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";*/
	font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ", Meiryo, "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	color: #A09FA1;
	line-height: 1.6em;
	background-color: #FFF;

	word-break: break-all;
	word-wrap: break-word;
}
.wrap-all {
	width: 100%;
	position: relative;
	height:auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}
.wrap-all-inner {
	padding-bottom: 90px;
}
.lsf {
	word-break: normal;
	word-wrap: normal;
}
.lsf img {
	margin-top: -3%;
	vertical-align: middle;
}
@media only screen and (max-width: 800px) {
	html {
		font-size: 11px;
	}
	body {
		padding-top: 90px;
	}
	body.intro,
	body.noHeader {
		padding-top: 0;
	}
}
p, dt, dd {
}
p a:hover,
dt a:hover,
dd a:hover {
	/*text-decoration: underline;*/
}
ul,ol {
	list-style: none;
	margin: 0;
}
a {
	font-size: 1rem;
	color: #7d7dfa;
	text-decoration: none;
	-webkit-transition:all .2s ease-out;
	-o-transition:all .2s ease-out;
	transition:all .2s ease-out;
}
a:hover, a:active {
	color: #7d7dfa;
	opacity: 0.7;
	text-decoration: none;
}
em {
	font-style: normal;
}
hr {
	border-color: #7d7dfa;
}
section {
	/*min-height: 400px;*/
}
img {
	max-width: 100%;
	margin: 0;
}
i {
	font-size: 1em;
	font-style: normal;
}
label {
	margin-bottom: 0.8rem;
	margin-left: 0.4rem;
	margin-right: 0.4rem;
	vertical-align: middle;
	font-weight: normal;
}
label input, label select {
	margin-left: 0.4rem;
	margin-right: 0.4rem;
}
label input[type="checkbox"],
label input[type="radio"] {
	margin: 2px 0 4px;
}
h1,h2,h3,h4,h5,h6 {
	color: #373737;
}

/*--------------------------------------------------------------
 common class
 --------------------------------------------------------------*/
@media only screen and (max-width: 640px) {
	.hide-on-sp {
		display: none;
	}
}

.font-mincho {
	font-family: YuMincho, '游明朝', serif;
}
.font-gothic {
	font-family: lato, YuGothic, '游ゴシック', sans-serif;
}

.wrap {
	position: relative;
	max-width: 1440px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 20px;
}
@media only screen and (max-width: 640px) {
	.wrap {
		padding: 0 10px;
	}
}
.wrap.no-padding {
	padding: 0;
}
.wrap:after {
	content: "";
	display: block;
	clear: both;
}

.margin-top10 { margin-top: 10px !important; }
.margin-top20 { margin-top: 20px !important; }
.margin-top30 { margin-top: 30px !important; }
.margin-top40 { margin-top: 40px !important; }
.margin-top50 { margin-top: 50px !important; }
.margin-top60 { margin-top: 60px !important; }
.margin-top70 { margin-top: 70px !important; }
.margin-top80 { margin-top: 80px !important; }
.margin-top90 { margin-top: 90px !important; }
.margin-top100 { margin-top: 100px !important; }
.margin-bottom10 { margin-bottom: 10px !important; }
.margin-bottom20 { margin-bottom: 20px !important; }
.margin-bottom30 { margin-bottom: 30px !important; }
.margin-bottom40 { margin-bottom: 40px !important; }
.margin-bottom50 { margin-bottom: 50px !important; }
.margin-bottom60 { margin-bottom: 60px !important; }
.margin-bottom70 { margin-bottom: 70px !important; }
.margin-bottom80 { margin-bottom: 80px !important; }
.margin-bottom90 { margin-bottom: 90px !important; }
.margin-bottom100 { margin-bottom: 100px !important; }
.margin-left10 { margin-left: 10px !important; }
.margin-left20 { margin-left: 20px !important; }
.margin-left30 { margin-left: 30px !important; }
.margin-left40 { margin-left: 40px !important; }
.margin-left50 { margin-left: 50px !important; }
.margin-left60 { margin-left: 60px !important; }
.margin-left70 { margin-left: 70px !important; }
.margin-left80 { margin-left: 80px !important; }
.margin-left90 { margin-left: 90px !important; }
.margin-left100 { margin-left: 100px !important; }
.margin-right10 { margin-right: 10px !important; }
.margin-right20 { margin-right: 20px !important; }
.margin-right30 { margin-right: 30px !important; }
.margin-right40 { margin-right: 40px !important; }
.margin-right50 { margin-right: 50px !important; }
.margin-right60 { margin-right: 60px !important; }
.margin-right70 { margin-right: 70px !important; }
.margin-right80 { margin-right: 80px !important; }
.margin-right90 { margin-right: 90px !important; }
.margin-right100 { margin-right: 100px !important; }
.w100 {
	width: 100% !important;
	max-width: none;
}
.w10px {
	width: 10px !important;
	max-width: none;
}
.w20px {
	width: 20px !important;
	max-width: none;
}
.w30px {
	width: 30px !important;
	max-width: none;
}
.w40px {
	width: 40px !important;
	max-width: none;
}
.w50px {
	width: 50px !important;
	max-width: none;
}
.w60px {
	width: 60px !important;
	max-width: none;
}
.w70px {
	width: 70px !important;
	max-width: none;
}
.w80px {
	width: 80px !important;
	max-width: none;
}
.w90px {
	width: 90px !important;
	max-width: none;
}
.w100px {
	width: 100px !important;
	max-width: none;
}
.w110px {
	width: 110px !important;
	max-width: none;
}
.w120px {
	width: 120px !important;
	max-width: none;
}
.w130px {
	width: 130px !important;
	max-width: none;
}
.w140px {
	width: 140px !important;
	max-width: none;
}
.w150px {
	width: 150px !important;
	max-width: none;
}
.w160px {
	width: 160px !important;
	max-width: none;
}
.w170px {
	width: 170px !important;
	max-width: none;
}
.w180px {
	width: 180px !important;
	max-width: none;
}
.w190px {
	width: 190px !important;
	max-width: none;
}
.w200px {
	width: 200px !important;
	max-width: none;
}

.inline {
	display: inline !important;
}

.float-left {
	float: left !important;
}
.float-right {
	float: right !important;
}

.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}

.mt20{
	margin-top: 20px;
}

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

.mt60{
	margin-top: 60px !important;
}

.mt80{
	margin-top: 80px !important;
}

.weight-bold {
	font-weight: bold !important;
}
.no-margin {
	margin: 0;
}
.no-padding {
	padding: 0 !important;
}

.text-large {
	font-size: 1.5rem;
}
.text-small {
	font-size: 0.9rem !important;
}
.text-bold {
	font-weight: bold;
}
.text-color-primary {
	color: #7d7dfa;
}
.text-colored-light-gray {
	color: #C2C2C2;
}

.ib {
	display: inline-block;
}

.w-auto {
	width: auto !important;
}

.bordered-bottom {
	border-bottom: solid 1px #DDD;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.list-numbered {
	list-style: decimal;
	list-style-position: outside;
	/*line-height: 1.8em;*/
}
.list-numbered > li {
	margin-left: 2rem;
	margin-bottom: 0.5rem;
}

.list-margined li {
	margin-bottom: 0.4em;
}

/*--------------------------------------------------------------
 lsf common setting
 --------------------------------------------------------------*/
.lsf-right {
	font-size: 1.2em;
	margin-right: 0.4em;
}

.columns-half {

}
.columns-half:after {
	content: "";
	display: block;
	clear: both;
}
.columns-half > * {
	display: block;
	float: left;
	width: 50%;
	box-sizing: border-box;
}
.columns-half > *:first-child {
	padding: 1rem 1rem 1rem 0;
}
.columns-half > *:last-child {
	padding: 1rem 0 1rem 1rem;
}
.card-list.w100 .columns-half > * {
	padding: 0 0.2rem !important;
}
@media only screen and (max-width: 800px) {
	.card-list.w100 .columns-half > * {
		width: 100%;
		padding: 0;
		margin: 0;
	}
}
@media only screen and (max-width: 640px) {
	.columns-half > * {
		width: 100%;
	}
	.columns-half > *:first-child {
		padding: 0;
	}
	.columns-half > *:last-child {
		padding: 0;
		margin-top: 20px;
	}
}

.columns60-40 {

}
.columns60-40 > * {
	display: block;
	float: left;
	box-sizing: border-box;
}
.columns60-40 > *:first-child {
	width: 60%;
	padding: 1rem 1rem 1rem 0;
}
.columns60-40 > *:last-child {
	width: 40%;
	padding: 1rem 0 1rem 1rem;
}
@media only screen and (max-width: 800px) {
	.columns60-40 > *:first-child {
		width: 100%;
		padding: 0;
	}
	.columns60-40 > *:last-child {
		width: 100%;
		padding: 0;
		margin-top: 20px;
	}
}


/*--------------------------------------------------------------
 header
 --------------------------------------------------------------*/
.header {
	height: 70px;
	margin: 0;
	padding: 0;
	background-color: #FFF;
	color: #373737;
	border-bottom: 1px solid #EBEBEB;
}
body.staff .header {
	background-color: #FFF;
}

.header-top {

}
.header-top-logo {
	padding: 8px;
	/*max-width: 200px;*/
	/*height: 70px;*/
	display: inline-block;
	margin: 0;
}
.header-top-logo img {
	width: 280px;
	/*height: 100%;*/
}

.header-bottom {
}
.header-bottom-navi {
	/*float: left;*/
	display: inline-block;
	vertical-align: middle;
	margin-left: 2rem;
}
.header-bottom-navi ul {

}
.header-bottom-navi ul li {
	float: left;
}
.header-bottom-navi ul li a {
	display: block;
	/*width: 140px;*/
	padding: 1rem;
	font-size: 1rem;
	color: #373737;
	text-align: center;
	margin: 0 1rem;
}
.header-bottom-navi ul li a i.lsf {
	font-size: 1.8rem;
	margin-right: 0.5rem;
	vertical-align: bottom;
}
.header-bottom-navi ul li.active a {
	color: #7d7dfa;
	/*background-color: #7d7dfa;*/
}
.header-bottom-welcome {
	float: right;
	font-size: 0.9rem;
	margin-top: 1.8rem;
}
.header-bottom:after {
	content: "";
	display: block;
	clear: both;
}
.header-sp-navi {
	display: none;
}
@media only screen and (max-width: 1000px) {
	.header-top-desc {
		display: none;
	}
}
@media only screen and (max-width: 800px) {
	.header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
		width: 100%;
	}
	.header-top-logo {
	/*	height: 60px;
		margin-top: 8px;*/
	}
	/*body.notLogin .header-top-logo {
		height: 60px;
		margin-top: -8px;
		margin-bottom: 8px;
	}*/
	.header-bottom-welcome {
		float: none;
		text-align: center;
		margin: 0 -20px;
		background-color: rgba(250, 250, 250, 1);
		border-bottom: 1px solid #EBEBEB;
	}
	/*.header-top-info {
		display: none;
	}
	.header-top-account-type {
		display: none;
	}*/
	.header-bottom-navi {
		display: none;
	}

	.header-sp-navi {
		display: inline-block;
		vertical-align: middle;
		position: absolute;
		right: 0;
		top: 0;
	}
	.header-sp-navi li {
		display: inline-block;
	}
	.header-sp-navi li a {
		width: 52px;
		height: 52px;
		display: block;
		text-align: center;
		color: #373737;
		box-sizing: border-box;
		padding: 16px 0;
		font-size: 0.7rem;
	}
	.header-sp-navi li.active a {
		color: #7d7dfa;
	}
	.header-sp-navi li a i {
		display: block;
		font-size: 3rem;
	}
}


/*--------------------------------------------------------------
 footer
 --------------------------------------------------------------*/
.footer {
	position: absolute;
	width: 100%;
	height: 90px;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 1rem;
	box-sizing: border-box;
	background-color: #FAFAFA;
	color: #A09FA1;
	clear: both;
}
body.staff .footer {
	background-color: #FAFAFA;
}
body.chat-single .footer {
	display: none;
}
.footer-navi {

}
.footer-navi ul {
	text-align: center;
}
.footer-navi ul li {
	display: inline-block;
	padding: 0.5rem 1rem;
}
.footer-navi ul li a {
	color: #A09FA1;
}
.footer-copyright {
	text-align: center;
	padding: 1rem;
	font-size: 0.9rem;
}
.footer-copyright em {
	display: block;
	font-size: 0.8em;
}
.footer-copyright img {
	display: block;
	width: 80px;
	margin: 0 auto 1rem;
}
@media only screen and (max-width: 800px) {
	.footer-navi {
		display: none;
	}
	body.intro .footer-navi {
		display: block;
	}
}


/*--------------------------------------------------------------
 SPメニューオーバーレイ
 --------------------------------------------------------------*/
.sp-navi-overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	width: 100%;
	height: 100%;
	background-color: rgba(76, 76, 76, 0.97);
	color: #FFF;
	padding: 10px;
	box-sizing: border-box;
}
.sp-navi-overlay-head {
	text-align: center;
}
.sp-navi-overlay-head h3 {
	font-size: 1.4rem;
	margin: 0;
	padding: 1rem 0;
	margin-bottom: 1rem;
}
.sp-navi-overlay-close {
	position: absolute;
	right: 1rem;
	top: 1.3rem;
	color: #FFF;
	font-size: 3rem;
}
.sp-navi-overlay-head h3 i.lsf {
	vertical-align: bottom;
	margin-right: 0.4rem;
	margin-left: -0.4rem;
}

.sp-navi-overlay-body {

}
.sp-navi-overlay-body ul {
	margin: 0;
}
.sp-navi-overlay-body ul li {
}
.sp-navi-overlay-body ul li a {
	border-top: 1px solid rgba(240, 236, 230, 0.11);
	display: block;
	padding: 1rem;
	color: #FFF;
}
.sp-navi-overlay-body ul li.active a {
	background-color: #7d7dfa;
	color: #FFF;
}
.sp-navi-overlay-body ul li:last-child a {
	border-top: 1px solid rgba(240, 236, 230, 0.11);
}

.sp-navi-overlay-body ul li a i.lsf {
	display: inline-block;
	font-size: 2rem;
	vertical-align: bottom;
	width: 2.6rem;
}
.sp-navi-overlay-foot {
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.4rem;
	margin-top: 2rem;
}
.sp-navi-overlay-foot-left {
	display: inline-block;
	vertical-align: middle;
	padding-right: 0.5rem;
	border-right: 1px solid #FFF;
	text-align: right;
}
.sp-navi-overlay-foot-left p {
	margin-bottom: 0;
}
.sp-navi-overlay-foot-left-tel {
	font-size: 1rem;
}
.sp-navi-overlay-foot-left-tel i.lsf {
	margin-right: 0.5rem;
}
.sp-navi-overlay-foot-left-tel a {
	color: #FFF;
}
.sp-navi-overlay-foot-right {
	display: inline-block;
	vertical-align: middle;
	padding-left: 0.5rem;
}
.sp-navi-overlay-foot-right p {
	margin-bottom: 0;
}


/*--------------------------------------------------------------
 module
 --------------------------------------------------------------*/
.box {
	display: block;
	position: relative;
	width: 100%;
	background-color: #FAFAFA;
	box-sizing: border-box;
	padding: 20px 20px;
}

.box.second {
	background-color: #FAFAFA;
}
.box.left-bordered {
	/*border-left: 4px solid #7d7dfa;*/
}
.box.left-bordered.light {
	/*border-left: 4px solid #ffb4b3;*/
}
.box.small-padding {
	padding: 10px 20px;
}

.box-title {
	color: #7d7dfa;
	font-size: 1.3rem;
	margin: 0.4rem 0;
}
.box-title i.lsf {
	font-size: 2.2em;
	margin-right: 1rem;
	vertical-align: bottom;
}
.box-content {
	padding: 1rem 6rem 1rem 3rem;
}
.box-link-right {
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -0.5em;
}
.box-image-fit-bottom {
	display: block;
	margin: 0 -20px -20px -20px;
	padding-top: 10px;
	height: 160px;
}
.box-image-fit-right {
	float: right;
	display: block;
	/*margin: 0 -20px -20px -20px;
	padding-top: 10px;*/
}
.box:after {
	content: "";
	display: block;
	clear: both;
}
@media only screen and (max-width: 640px) {
	.box-content {
		padding: 1rem 0;
	}
	.box-link-right {
		display: block;
		position: relative;
		right: 0;
		top: 0;
		margin-top: 0;
	}
}

.ul-2columns {
	width: 100%;
	margin: 0;
	padding: 0;
}
.ul-2columns li {
	float: left;
	width: 50%;
	box-sizing: border-box;
}
@media only screen and (max-width: 1000px) {
	.ul-2columns li {
		width: 100%;
	}
}
.ul-2columns-title {
	font-weight: bold;
	margin-right: 1rem;
}
.ul-2columns-body {

}
.ul-2columns:after {
	content: "";
	display: block;
	clear: both;
}

.list-inline.w33 {
	margin: 0 -5px 0 0;
	padding: 0;
}
.list-inline.w33 li {
	position: relative;
	float: left;
	width : 33.33333%;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	box-sizing: border-box;
	margin: 0;
	padding: 0 5px 5px 0;

}
.list-inline.w33 li a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.list-inline.images li.active a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	margin: 0;
	background-color: #000;
	opacity: 0.7;
}
.list-inline.no-wrap li label {
	white-space: nowrap !important;
}

.page-head {
	padding: 1rem 0;
}

.pager {
	text-align: center;
	margin: 0;
	padding: 0;
}
.pager ul {
	text-align: center;
	margin: 0;
	padding: 0;
}
.pager ul li {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0.4rem;
}
.pager ul li a {
	border: 1px solid #7d7dfa;
	border-radius: 0;
	padding: 0.5rem;
	min-width: 2.8rem;
	background-color: #FFF;
}
.pager .head a {
	border: none;
	background-color: transparent;
}
.pager .prev a {
	border: none;
	background-color: transparent;
}
.pager .page-number {

}
.pager .next a {
	border: none;
	background-color: transparent;
}
.pager .tail a {
	border: none;
	background-color: transparent;
}
.pager ul li.active a {
	background-color: #7d7dfa;
	color: #FFF;
}

.list-box li a {
	display: block;
	border: 1px solid #F0ECE6;
	background-color: #FBF9F8;
	padding: 1rem;
}
.list-box li.active a {
	background-color: #7d7dfa;
	color: #FFF;
}

/*--------------------------------------------------------------
 layout
 --------------------------------------------------------------*/
.content {
	padding-top: 20px;
	padding-bottom: 40px;
	min-height: 400px;
}

.columns2-main {
	float: left;
	width: 100%;
	box-sizing: border-box;
	padding-right: 360px;
}
.columns2-sub {
	float: right;
	position: relative;
	z-index: 2;
	width: 340px;
	margin-left: -340px;
}
@media only screen and (max-width: 800px) {
	.content {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.columns2-main {
		float: none;
		width: 100%;
		box-sizing: border-box;
		padding-right: 0;
	}
	.columns2-sub {
		display: none;
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 2rem;
	}
	.columns2-sub.show-on-responsive {
		display: block;
	}
}


/*--------------------------------------------------------------
 リスト一般
 --------------------------------------------------------------*/
.page-list {
	margin: 1rem 0;
}


/*--------------------------------------------------------------
 カード型リスト
 --------------------------------------------------------------*/
.card-list {
	margin-left: -5px;
	margin-right: -5px;
}
.card-list.w25 {
	margin-left: -10px;
	margin-right: -10px;
}
.card-list.w100 {
	margin: 0;
}
.card-list li {
	float: left;
	width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	padding: 10px 5px;
}
.card-list.w25 li {
	width : 25%;
	padding: 10px 10px;
}
.card-list.w50 li {
	width : 50%;
	padding: 10px 10px;
}
.card-list.w100 li {
	width : 100%;
	padding: 10px 10px;
}
.card-list:after {
	content: "";
	display: block;
	clear: both;
}
@media only screen and (max-width: 1440px) {
	.card-list li {
		width: 50%;
	}
}
@media only screen and (max-width: 1000px) {
	.card-list.w25 li {
		width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
		width : -webkit-calc(100% / 3) ;
		width : calc(100% / 3) ;
	}
}
@media only screen and (max-width: 800px) {
	.card-list.w25 li {
		width : 50%;
	}
}
@media only screen and (max-width: 640px) {
	.card-list li {
		width: 100%;
	}
	.card-list.w50 li {
		width : 100%;
	}
}
@media only screen and (max-width: 480px) {
	.card-list.w25 li {
		width : 100%;
	}
}


/*--------------------------------------------------------------
 カード
 --------------------------------------------------------------*/
.card {
	position: relative;
	width: 100%;
	background-color: #FAFAFA;
}

.card.ng:after,
.card.disabled:after,
.card.done:after,
.card.canceled:after {
	content: "";
	display: block;
	position: absolute;
	z-index: 8;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #4C4C4C;
	opacity: 0.8;
}
.card .disabled-text {
	display: none;
}
.card.disabled .disabled-text {
	display: block;
	position: absolute;
	z-index: 9;
	right: 0;
	top: 50%;
	margin: -1rem 2rem 0 0;
	color: #FFF;
}
.card .ng-text {
	display: none;
}
.card.ng .ng-text {
	display: block;
	position: absolute;
	z-index: 9;
	right: 0;
	top: 50%;
	margin: -1rem 2rem 0 0;
	color: #FFF;
}
.card .done-text {
	display: none;
}
.card.done .done-text {
	display: block;
	position: absolute;
	z-index: 9;
	right: 0;
	top: 50%;
	margin: -1rem 2rem 0 0;
	color: #FFF;
}
.card .canceled-text {
	display: none;
}
.card.canceled .canceled-text {
	display: block;
	position: absolute;
	z-index: 9;
	right: 0;
	top: 50%;
	margin: -1rem 2rem 0 0;
	color: #FFF;
}
.card-image {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 40%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.card-image-text {
	background-color: rgba(255, 255, 255, 0.90);
	color: #373737;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 1rem;
}
.card-image-text p {
	margin: 0;
}
.card-body {
	margin-left: 40%;
	padding: 1rem 1rem 0;
}
.card-body:after {
	content: "";
	display: block;
	clear: both;
}
.card-body p {
	margin-bottom: 0;
}
.card-body i.lsf {
	font-size: 1.4rem;
	margin-right: 0.4rem;
}
.card-buttons {
	margin-left: 40%;
	padding: 0.5rem 1rem;
}
.card-buttons a {
	display: inline-block;
}
.w100 .card-image {
	width: 220px;
}
.w100 .card-body {
	margin-left: 220px;
	margin-right: 120px;
}
.w100 .card-buttons {
	position: absolute;
	right: 0;
	top: 0;
	width: 120px;
	padding: 0.5rem;
}
@media only screen and (max-width: 800px) {
	.w100 .card-body {
		margin-right: 0;
	}
	.w100 .card-buttons {
		position: relative;
		width: auto;
		margin-left: 0;
		text-align: right;
	}
}
@media only screen and (max-width: 520px) {
	.w100 .card-image {
		width: 100%;
		height: 160px;
		position: relative;
		margin-bottom: 5px;
	}

	.w100 .card-body {
		margin-left: 0;
	}

	.w100 .card-buttons {
		text-align: center;
	}
}
@media only screen and (max-width: 960px) {
	.w50 .card-image {
		width: 100%;
		height: 160px;
		position: relative;
		margin-bottom: 5px;
	}
	.w50 .card-body {
		margin-left: 0;
	}
	.w50 .card-buttons {
		position: relative;
		width: auto;
		margin-left: 0;
		text-align: center;
	}
}


/*--------------------------------------------------------------
 table
 --------------------------------------------------------------*/
table.type001 {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
table.type001 tr {
	border-bottom: 1px solid rgba(255, 255, 252, 0.4);
}
table.type001 tr:last-child {
	border-bottom: none;
}
table.type001 th {
	font-weight: normal;
	color: #A09FA1;
	text-align: left;
	padding: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.type001 td {
	vertical-align: middle;
	padding: 0.8rem;
	color: #373737;
}

table.type002 {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
table.type002 tr {
	border-bottom: 1px solid rgba(255, 255, 252, 0.8);
}
table.type002 tr:last-child {
	border-bottom: none;
}
table.type002 th {
	font-weight: normal;
	background-color: #FAFAFA;
	color: #A09FA1;
	text-align: left;
	padding: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.type002 td {
	background-color: #FFF;
	vertical-align: middle;
	padding: 0.8rem;
	color: #373737;
}

table.type003 {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
table.type003 tr {
	border-bottom: 1px solid rgba(255, 255, 252, 0.4);
}
table.type003 tr:last-child {
	/*border-bottom: none;*/
}
table.type003 th {
	font-weight: normal;
	color: #A09FA1;
	text-align: left;
	padding: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.type003 td {
	vertical-align: middle;
	padding: 0.8rem;
	color: #373737;
}

table.type004 {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
table.type004 tr {
	border-bottom: 1px solid #EBEBEB;
}
table.type004 tr:last-child {
	border-bottom: none;
}
table.type004 th {
	font-weight: normal;
	background-color: #FAFAFA;
	color: #A09FA1;
	text-align: left;
	padding: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.type004 td {
	background-color: #FFF;
	vertical-align: middle;
	padding: 0.8rem;
	color: #373737;
}
table.type004 tr td:last-child {
	text-align: right;
}

tr.table-row-featured th,
tr.table-row-featured td {
	background-color: #ffd9de;
}

table.type005 {
	width: 100%;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
table.type005 tr {
	border-bottom: 1px solid #EBEBEB;
}
table.type005 tr:first-child {
	border-top: 1px solid #EBEBEB;
}
table.type005 th {
	font-weight: normal;
	background-color: #7d7dfa;
	color: #FFF;
	text-align: left;
	padding: 0.8rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.type005 td {
	background-color: #FFF;
	vertical-align: middle;
	padding: 0.8rem;
	color: #373737;
}
table.type005 tr td:last-child {
	text-align: right;
}

tr.table-row-featured th,
tr.table-row-featured td {
	background-color: #ffd9de;
}


/*--------------------------------------------------------------
 buttons
 --------------------------------------------------------------*/
.btn {
	width: 100px;
	border-radius: 18px;
	-moz-border-radius: 18px;
	-webkit-border-radius: 18px;
	padding: 0.55rem 0.5rem 0.45rem;
	margin: 0.4rem 0.2rem;
	background: #EFEFEF;
	font-size: 1em;
}
.btn.disabled {
	/*opacity: 0.4;*/
	background-color: #999;
	color: #CCC;
}
.btn.w-auto {
	width: auto;
	padding: 0.55rem 2rem 0.45rem;
}
@media only screen and (max-width: 640px) {
	.btn {
		width: 80px;
	}
}
.btn01 {
	background-color: #7d7dfa;
	color: #FFF;
}
.btn01:hover, .btn01:focus {
	color: #FFF;
}
.btn02 {
	background-color: #7d7dfa;
	color: #FFF;
	border: none;
}
.btn02:hover, .btn02:focus {
	color: #FFF;
}
.btn03 {
	background-color: #B1B0B4;
	color: #FFF;
}
.btn03:hover, .btn03:focus {
	color: #FFF;
}
.btn04 {
	background-color: #B1B0B4;
	color: #FFF;
}
.btn04:hover, .btn04:focus {
	color: #FFF;
}
.btn05 {
	/*background-color: #FFF;
	border: 1px solid #7d7dfa;
	color: #7d7dfa;*/
	background-color: #7d7dfa;
	border: none;
	color: #FFF;
	background-clip: border-box;
	-webkit-background-clip: border-box;
}
.btn05.active {
	background-color: #7d7dfa;
	border: none;
	color: #FFF;
}
.btn05:hover, .btn06:focus {
	color: #FFF;
}
.btn06 {
	background-color: #7d7dfa;
	color: #FFF;
	width: auto;
	font-size: 1.2rem;
	padding: 0.6rem 3rem;
	border-radius: 24rem;
}
.btn06 i.lsf {
	font-size: 2.4rem;
	vertical-align: middle;
	margin-right: 0.6rem;
	margin-left: -0.6rem;
}
.btn06:hover, .btn06:focus {
	color: #FFF;
}
.btn07 {
	background-color: #FFF;
	border: 1px solid #7d7dfa;
	color: #7d7dfa;
}
.btn07:hover, .btn04:focus {
	color: #FFF;
	background-color: #7d7dfa;
}
.btn-back i.lsf {
	font-size: 2.2em;
	margin-right: 0.4em;
	vertical-align: bottom;
}

.btn01, .btn02, .btn03, .btn04, .btn05, .btn06 {

}

/*--------------------------------------------------------------
 pager
 --------------------------------------------------------------*/
.pager-info {
	width: 100%;
	padding: 0.8rem 0;
}
.pager-info-numbers {
	float: left;
}
.pager-info-sort {
	float: right;
}
.pager-info-sort > * {
	vertical-align: middle;
}
.pager-info:after {
	content: "";
	display: block;
	clear: both;
}
@media only screen and (max-width: 640px) {
	.pager-info-numbers {
		float: none;
	}
	.pager-info-sort {
		float: none;
	}
}

/*--------------------------------------------------------------
 second-navi
 --------------------------------------------------------------*/
.second-navi {
	width: 100%;
	margin: 1rem 0;
	padding: 0;
	border-bottom: 1px solid #E2DACE;
}
.second-navi ul {
	margin: 0;
	padding: 0;
}
.second-navi ul li {
	float: left;
	margin: 0 2rem;
}
.second-navi ul li a {
	display: block;
	padding: 0.8rem 0;
	color: #6B6B6B;
	font-size: 1rem;
	text-align: center;
}
.second-navi ul li a i.lsf {
	margin-right: 0.8rem;
	font-size: 1.8em;
	vertical-align: bottom;
}
.second-navi ul li.active a {
	color: #7d7dfa;
	/*border-bottom: 4px solid #7d7dfa;*/
}
.second-navi ul:after {
	content: "";
	display: block;
	clear: both;
}
.second-navi-long-name {

}
.second-navi-short-name {
	display: none;
	font-size: 0.8rem;
}
@media only screen and (max-width: 1000px) {
	.second-navi ul li {
		margin: 0 1rem;
	}
	.second-navi-long-name {
		display: none;
	}
	.second-navi-short-name {
		display: block;
	}
	.second-navi ul li a i.lsf {
		margin-right: 0;
		font-size: 1.8em;
		vertical-align: bottom;
	}
}
@media only screen and (max-width: 640px) {
	.second-navi ul {
		text-align: center;
	}
	.second-navi ul li {
		float: none;
		display: inline-block;
	}
}


/*--------------------------------------------------------------
 modal
 --------------------------------------------------------------*/
body.modal-open {
	position: fixed !important;
	overflow: hidden !important;
	left:0 !important;
	right:0 !important;
}
body.modal-open .container-contents {
	position: fixed !important;
	overflow: hidden !important;
	left:0 !important;
	right:0 !important;
}
.modal{
	-webkit-overflow-scrolling: touch;
}
.modal-content {
	border-radius: 0;
	/*border-top: 4px solid #4C4C4C;*/
	background-color: #FFF;
}
.modal-header {
	border: none;
}
.modal-footer {
	/*border-color: #c1c1c1;*/
	border: none;
	background-color: #FAFAFA;
}


/*--------------------------------------------------------------
 loading
 --------------------------------------------------------------*/
#loading-layer {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.7);
	/*background: rgba(255,255,255,0);*/
}
#loading-layer p {
	/*display: none;*/
	text-align: center;
	margin-top: 24%;
	color: #333;
}

.black-transparent {
	background-color: rgba(76, 76, 76, 0.9);
}
.white-transparent {
	background-color: rgba(255, 255, 255, 0.9);
}

.btn-facebook {
	display: inline-block;
	position: relative;
	width: 240px;
	/*border: 1px solid #FFF;*/
	background-color: #335999;
	color: #FFF;
	padding: 0.15em 2em 0.05em;
	border-radius: 2em;
	font-weight: bold;
}
.btn-facebook i.lsf {
	font-size: 2em;
	vertical-align: middle;
	margin-left: -10px;
	margin-right: 10px;
	font-weight: normal;
}
.btn-facebook:hover, .btn-facebook:focus {
	color: #FFF;
}
.btn-twitter {
	position: relative;
	width: 240px;
	/*border: 1px solid #FFF;*/
	background-color: #00A9E1;
	color: #FFF;
	padding: 0.15em 3em 0.05em;
	border-radius: 2em;
	font-weight: bold;
}
.btn-twitter i.lsf {
	font-size: 2em;
	vertical-align: middle;
	margin-left: -10px;
	margin-right: 10px;
	font-weight: normal;
}
.btn-twitter:hover, .btn-twitter:focus {
	color: #FFF;
}

.btn-line {
	position: relative;
	width: 240px;
	/*border: 1px solid #01C302;*/
	background-color: #01C302;
	color: #FFF;
	padding: 0.15em 3em 0.05em;
	border-radius: 2em;
	font-weight: bold;
}
.btn-line i.lsf {
	font-size: 2em;
	vertical-align: middle;
	margin-left: -10px;
	margin-right: 10px;
	font-weight: normal;
}
.btn-line:hover, .btn-twitter:focus {
	color: #FFF;
}

.btn-mailaddress {
	position: relative;
	width: 240px;
	background-color: #7d7dfa;
	color: #FFF;
	padding: 0.15em 3em 0.05em;
	border-radius: 2em;
	/*border: solid 1px #7d7dfa;*/
	font-weight: bold;
}
.btn-mailaddress i.lsf {
	font-size: 2em;
	vertical-align: middle;
	margin-left: -10px;
	margin-right: 10px;
	font-weight: normal;
}
.btn-mailaddress:hover, .btn-twitter:focus {
	color: #FFF;
}


/*--------------------------------------------------------------
 other
 --------------------------------------------------------------*/
.error-field {
	background: #eb5e71 !important;
}

.lightbox {
	overflow: auto;
}

.searcher ul li {
	vertical-align: top;
	margin: 0.4rem;
	font-size: 0.88em;
}
.searcher ul li input,
.searcher ul li select {
	margin: -4px 4px 4px 4px;
}

.login-form {
	min-height: 400px;
	position: relative
}
.login-form form {
	width: 300px;
	height: 380px;
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin: auto;
	text-align: center
}
.login-form form h3 {
	margin-bottom: 30px;
}
.login-form form h3 img {
	margin-right: 10px;
}
.login-form form ul {
	margin-top: 20px;
}
.login-form form ul li {
	margin-bottom: 20px;
}
.login-form form ul li span {
	display:inline-block;
	width: 120px;
}