@charset "utf-8";
/* ------------------------------------------------------------

common.css

------------------------------------------------------------ */



/* ------------------------------------------------------------
 share
------------------------------------------------------------ */
.wrap {
	width:100%;
	height:100%;
}
.siteLogo .logo{
	font-size:3.4rem;
	line-height:1.2;
	letter-spacing:0.1em;
	text-decoration:none;
}
.siteLogo .siteTxt{
	margin-left:2px;
	font-size:1.1rem;
	line-height:1.5;
	letter-spacing:0.1;
}

@media screen and (min-width: 560px){
	.siteLogo .logo{
		font-size:3.2rem;
	}
}
@media screen and (min-width: 768px){
	.siteLogo .logo{
		font-size:3.6rem;
	}
	.siteLogo .siteTxt{
		font-size:1.2rem;
	}
}



/* ------------------------------------------------------------
 header
------------------------------------------------------------ */
header {
	background:#ffffff;
}
header .headerInnerWrap {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
header nav {
	text-align:right;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
header nav ul {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	/*justify-content: space-between;*/
}
header nav ul.navNormal{
	justify-content: space-between;
}
header nav ul.navLeft{
	justify-content: left;
}
header nav #gNav {
	display:none;
}
header nav #gNav li a{
	display:block;
	padding:15px 5px;
	font-size:1.4rem;
	line-height:1.0;
	letter-spacing:0.05em;
	color:#111111;
	text-decoration:none;
	border-bottom:3px solid #caa380;
}

header .hBtn {
	width:80px;
	text-align:center;
	margin-left:1px;
}
header .hBtn:first-child {
	margin-left:0;
}
header .hBtn a {
	display:block;
	width:100%;
	height:100%;
	font-size:1.4rem;
	line-height:1;
	text-decoration:none;
	color:#ffffff;
	background-repeat:no-repeat;
	transition:all 0.5s ease;
}
header .hBtn a:hover {
	opacity:0.6;
}
header .regist a {
	background-image:url(/common/img/icon_regist.svg);
}
header .login a {
	background-image:url(/common/img/icon_login.svg);
}
header .dashboard a {
	background-image:url(/common/img/icon_dashboard.svg);
}
header .mypage a {
	background-image:url(/common/img/icon_mypage.svg);
}
header .logout a {
	background-image:url(/common/img/icon_logout.svg);
}
header #LogOut li a:hover,
header #LogIn li a:hover {
	opacity:0.6;
}
@media screen and (max-width: 559px){
	header .siteLogo{
		width:100%;
		padding:12px 0 10px;
		text-align:center;
	}
	header .siteLogo .logo{
		text-indent:0.1em;
	}
	header nav {
		width: 100%;
	}
	header nav #gNav {
		display:none;
	}
	header nav .LogIn,
	header nav .LogOut {
		width: 100%;
		margin-bottom:1px;
	}
	header nav .LogIn li,
	header nav .LogOut li {
		width:50%;
	}
	header nav .LogIn.uranaishi li {
		width:33.33%;
	}
	header .hBtn a {
		padding:40px 0 6px;
		font-size:1.2rem;
		background-position:left 50% top 8px;
		background-size:auto 26px;
	}
}
@media screen and (min-width: 560px){
	header .headerInnerWrap {
		padding-left:2.5%;
	}
	header .siteLogo{
		width:320px;
		padding-top:15px;
	}
	header nav {
		width: calc(100% - 320px);
	}
	header .hBtn {
		width:90px;
	}
	header .hBtn a {
		padding:60px 0 10px;
		font-size:1.0rem;
		line-height:1;
		letter-spacing:0em;
		background-position:left 50% top 10px;
		background-repeat:no-repeat;
		background-size:auto 42px;
	}
}
@media screen and (min-width: 768px) {
	header .siteLogo{
		padding-top:20px;
	}
	header nav #gNav {
		display:none;
	}
	header .hBtn {
		width:100px;
	}
	header .hBtn a {
		padding:70px 0 15px;
		font-size:1.2rem;
		background-position:left 50% top 20px;
	}
}
@media screen and (min-width: 1100px) {
	header nav #gNav {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		width: calc(100% - 252px);
		padding:30px 5px 0;
	}
	header nav #gNav li a{
		font-size:1.4rem;
	}
	header nav #gNav li a:hover{
		border-bottom:3px solid #b72269;
	}
	
	header .LogOut .hBtn {
		width:110px;
	}
	header .LogOut .hBtn a {
		font-size:1.2rem;
	}
	header .LogIn .hBtn {
		width:84px;
	}
	header .LogIn .hBtn a {
		font-size:1.0rem;
	}
}
@media screen and (min-width: 1200px) {
	header nav #gNav {
		width: calc(100% - 330px);
		padding:30px 20px 0;
	}
	header .LogIn .hBtn {
		width:109px;
	}
}



/*----------------------------------------------------------
	gNavBtn
----------------------------------------------------------*/
#gNavBtn {
	cursor: pointer;
	transition: all 0.3s;
	background:#666666;
	position:relative;
	z-index:100;
}

.is-animated #gNavBtn {
	top:0;
}
#gNavBtn .ttl {
	width:100%;
	text-align: center;
	font-size:1.2rem;
	line-height:1;
	letter-spacing:0.1em;
	text-indent:0.1em;
	color:#ffffff;
	font-family:'arial';
	position:absolute;
	left:0;
}
#gNavBtn .icon {
	margin: auto;
	width: 38px;
	height:38px;
	display: block;
	text-align: center;
	position:absolute;
	left:0;
	right:0;
}
#gNavBtn .icon span {
	height: 1px;
	margin-left:auto;
	margin-right:auto;
	display: block;
	background: #ffffff;
	position:absolute;
	left:0;
	right:0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#gNavBtn.open .icon span:nth-child(1) {
	transform: rotate(315deg);
}
#gNavBtn.open .icon span:nth-child(2) {
	opacity:0;
}
#gNavBtn.open .icon span:nth-child(3) {
	transform: rotate(-315deg);
}
@media screen and (max-width: 559px){
	#gNavBtn {
		width:64px;
		height:64px;
		margin-left:0;
		padding:42px 0 0;
		position:fixed;
		bottom:10px;
		left:10px;
		border-radius:64px;
	}
	#gNavBtn .ttl {
		font-size:1.0rem;
		bottom:10px;
	}
	#gNavBtn .icon {
		width:28px;
		top:15px;
	}
	#gNavBtn .icon span:nth-child(1){
		top:0px;
	}
	#gNavBtn .icon span:nth-child(2){
		top:10px;
	}
	#gNavBtn .icon span:nth-child(3){
		top:20px;
	}
	#gNavBtn.open .icon span:nth-child(1) {
		top: 10px;
	}
	#gNavBtn.open .icon span:nth-child(3) {
		top: 10px;
	}
}
@media screen and (min-width: 560px){
	#gNavBtn {
		width:80px;
		height:80px;
		padding:50px 0 10px;
		position:fixed;
		top:100px;
		right:15px;
		border-radius:80px;
	}
	.sc #gNavBtn {
		top:15px;
	}
	#gNavBtn .ttl {
		font-size:1.0rem;
		bottom:15px;
	}
	#gNavBtn .icon {
		top:22px;
	}
	#gNavBtn .icon span:nth-child(1){
		top:0px;
	}
	#gNavBtn .icon span:nth-child(2){
		top:12px;
	}
	#gNavBtn .icon span:nth-child(3){
		top:24px;
	}
	#gNavBtn.open .icon span:nth-child(1) {
		top: 12px;
	}
	#gNavBtn.open .icon span:nth-child(3) {
		top: 12px;
	}
}
@media screen and (min-width: 768px){
	#gNavBtn {
		top:120px;
	}
}
@media screen and (min-width: 1100px){
	#gNavBtn {
		right:-100px;
	}
}


/* ------------------------------------------------------------
 spNav
------------------------------------------------------------ */
#spNav {
	width:290px;
	padding:30px 0;
	position:fixed;
	top:0;
	bottom:0;
	right:-300px;
	z-index:90;
	-webkit-transition: all 0.5s ease;
	transition:all 0.5s ease;
	overflow-y: scroll;
	display:block;
}
#spNav::-webkit-scrollbar {
	width: 12px;
	background:url(/common/img/bg_sitecolor4.png) repeat 0% 0% #201030;
}
#spNav::-webkit-scrollbar-thumb {
	border-radius: 6px;
	box-shadow: inset 0 0 10px 10px #666666;
	border: solid 4px transparent;
}

#spNav.open {
	box-shadow:0 0 5px 0 rgba(0,0,0,0.5);
}
#spNav .siteLogo .logo{
	font-size:3.0rem;
}
#spNav .siteLogo .siteTxt{
	font-size:1.2rem;
}
#spNav > ul{
	width:85%;
	margin:0 auto;
	padding:20px 0 20px;
}
#spNav > ul > li {
	border-bottom:1px solid #caa380;
}
#spNav > ul > li:first-child {
	border-top:1px solid #caa380;
}
#spNav > ul li{
	text-align:center;
}
#spNav ul li > a{
	padding:15px 0;
	font-size:1.5rem;
	line-height:1.2;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-decoration:none;
	color:#ffffff;
	display:block;
}
#spNav .btnBox a {
	width:90%;
	margin-top:8px;
}

@media screen and (max-width: 559px) {
	#spNav {
		right:-300px;
	}
	#spNav.open {
		right:0px;
	}
}
@media screen and (min-width: 560px) {
	#spNav {
		left:-300px;
	}
	#spNav.open {
		left:0px;
	}
}
@media screen and (min-width: 1100px) {
	#spNav.open {
		left:-300px;
	}
}

/* ------------------------------------------------------------
 pageTTL
------------------------------------------------------------ */
#pageTTL {
	padding:55px 15px 30px;
	position:relative;
	transition:height 0.5s ease;
}
#pageTTL h1 {
	font-size:2.8rem;
	line-height:1.5;
	letter-spacing:0.15em;
	text-align:center;
	color:#ffffff;
	transition:all 0.5s ease;
}

@media screen and (min-width: 560px) {
	#pageTTL {
		padding:60px 15px;
	}
	#pageTTL h1 {
		font-size:3.2rem;
	}
	
}
@media screen and (min-width: 768px) {
	#pageTTL {
		padding:90px 15px 70px;
	}
	#pageTTL h1 {
		font-size:3.8rem;
	}
}



/*-----------------------------------------------------------------
 pNav
-----------------------------------------------------------------*/

#pNav {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0 2.5%;
	overflow-x: auto;
	word-break: keep-all;
	white-space: nowrap;
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:2;
}
#pNav ol {
	width:100%;
	margin:0 auto;
	padding:8px 0;
}
#pNav ol li {
	display:inline-block;
	position:relative;
}
#pNav ol li:first-child {
	padding-left:0;
}
#pNav ol li::before {
	content: '';
	display:block;
	width:1px;
	height:15px;
	margin:auto 0;
	background:#ffffff;
	position:absolute;
	top:0;
	bottom:0;
	right:-2px;
	transform: rotate(20deg);
}
#pNav ol li:last-child::before {
	display:none;
}
#pNav ol li a,
#pNav ol li span{
	display:block;
	padding:3px 10px;
	font-size:1.2rem;
	line-height:18px;
	color:#ffffff;
	text-decoration:none;
}
#pNav ol li:first-child a {
	padding-left:30px;
	background:url(/common/img/icon_home.svg) no-repeat 0% 40%;
	background-size:18px auto;
}



/*-----------------------------------------------------------------
 footer
-----------------------------------------------------------------*/
footer .footerInnerWrap {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}

footer .footerInnerWrap.top {
	padding:35px 5%;
}
footer .siteLogo{
	width:100%;
	margin-bottom:12px;
	text-align:center;
}
footer .footerInnerWrap.top nav {
	width: 100%;
}
footer .footerInnerWrap.top nav #fNav {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	/*justify-content: space-between;*/
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	width:100%;
}
footer .footerInnerWrap.top nav #fNav.navNormal {
	justify-content: space-between;
}
footer .footerInnerWrap.top nav #fNav.navRight {
	justify-content: right;
}
footer .footerInnerWrap.top nav #fNav li a{
	display:block;
	margin:0;
	padding:15px 8px;
	font-size:1.2rem;
	line-height:1.0;
	letter-spacing:0.05em;
	color:#ffffff;
	text-decoration:none;
	border-bottom:2px solid #caa380;
}
footer .footerInnerWrap.top nav #fNav li a:hover{
	border-bottom:2px solid #b72269;
}

footer .footerInnerWrap.bottom {
	padding:25px 2.5% 50px;
  	-webkit-box-orient: horizontal;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: row-reverse;
  	flex-direction: row-reverse;
}
footer .footerInnerWrap.bottom nav ul li {
	display:inline-block;
	margin:0 0 0 1em;
}
footer .footerInnerWrap.bottom nav ul li:first-child {
	margin:0;
}
footer .footerInnerWrap.bottom nav ul li a {
	font-size:1.2rem;
	color:#111111;
	text-decoration:none;
}
footer .footerInnerWrap.bottom nav ul li a:hover {
	opacity:0.6;
}
footer .footerInnerWrap.bottom .copyright {
	margin-top:5px;
}
@media screen and (max-width: 767px) {
	footer .footerInnerWrap.bottom nav {
		width: 100%;
		text-align:center;
	}
	footer .footerInnerWrap.bottom .copyright {
		width:100%;
		font-size:1.0rem;
		text-align:center;
	}
}
@media screen and (max-width: 559px){
	footer .footerInnerWrap.top nav #fNav li {
		width:48%;
	}
	footer .footerInnerWrap.top nav #fNav li:last-child {
		width:100%;
	}
	footer .footerInnerWrap.top nav #fNav li a{
		padding:20px 0;
		text-align:center;
	}
	footer .footerInnerWrap.bottom nav ul li a {
		font-size:1.0rem;
	}
}
@media screen and (min-width: 768px) {
	footer .footerInnerWrap.top {
		padding:35px 2.5%;
	}
	footer .siteLogo{
		width:100%;
		margin-bottom:12px;
		text-align:center;
	}
	footer .footerInnerWrap.top nav {
		width: 100%;
	}
	footer .footerInnerWrap.top nav #fNav {
		width: 100%;
	}
	footer .footerInnerWrap.top nav #fNav li a{
		font-size:1.4rem;
	}
	footer .footerInnerWrap.bottom .copyright {
		width:390px;
		font-size:1.2rem;
		text-align:left;
	}
	footer .footerInnerWrap.bottom nav {
		width: calc(100% - 390px);
		text-align:right;
	}
}
@media screen and (min-width: 1000px) {
	footer .footerInnerWrap.top {
		padding:65px 2.5%;
	}
	footer .siteLogo{
		width:320px;
		margin-bottom:0;
		text-align:left;
	}
	footer .footerInnerWrap.top nav {
		width: calc(100% - 320px);
	}
	footer .footerInnerWrap.top nav #fNav {
		padding-left:7.5%;
	}
}



/* ------------------------------------------------------------
 contents
------------------------------------------------------------ */
#contents {
	background-image:url(/common/img/footer_img.png);
	background-repeat:no-repeat;
	background-position:bottom 0% left 50%;
	transition:all 0.5s ease;
}
#contents .inner {
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
@media screen and (max-width: 559px){
	#contents {
		padding-bottom:50px;
		background-size:910px auto;
	}
	#contents .inner {
		padding:40px 4%;
	}
}
@media screen and (min-width: 560px){
	#contents {
		padding-bottom:120px;
		background-size:1415px auto;
	}
	#contents .inner {
		padding:60px 5%;
	}
}
@media screen and (min-width: 769px){
	#contents {
		padding-bottom:120px;
		background-size:1820px auto;
	}
}


/* ------------------------------------------------------------
 parts
------------------------------------------------------------ */
.txtBox {
	width:90%;
	margin:0 auto;
	padding:30px 0;
}
.txtBox p {
	margin-top:1em;
}
.txtBox.error {
	color:#ff0000;
}



/* ------------------------------------------------------------
 borderBox
------------------------------------------------------------ */

.borderBox {
	width:100%;
	border:1px solid #dddddd;
	box-shadow:0 0 10px 0 rgba(0,0,0,0.1);
	position:relative;
}
.borderBox dt {
	text-align:center;
	color:#ffffff;
	background:#777777;
}
.borderBox dt.blink {
	background:#b72269;
}

@media screen and (max-width: 559px){
	.borderBox dt {
		width:100%;
		padding:10px 10px;
		border-bottom:1px solid #dddddd;
	}
	.borderBox dd {
		width:100%;
		padding:15px 20px;
	}
	.borderBox dd.centerSp {
		text-align:center;
	}
}
@media screen and (min-width: 560px){
	.borderBox {
		display:table;
	}
	.borderBox dt {
		display:table-cell;
		width:180px;
		padding:15px 15px;
		border-right:1px solid #dddddd;
		vertical-align:middle;
	}
	.borderBox dd {
		display:table-cell;
		width: calc(100% - 180px);
		padding:15px 25px;
		vertical-align:middle;
	}
	.borderBox dd.centerSp {
		text-align:left;
	}
}



/* ------------------------------------------------------------
 btn
------------------------------------------------------------ */

.btnBox {
	width:90%;
	max-width:720px;
	margin:10px auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
.btnBox .btn {
	margin:15px auto 0;
}
.btn {
	display:block;
	width:90%;
	height:48px;
	max-width:300px;
	padding:12px 0;
	/*font-size:1.4rem;*/
	font-size:2.8rem;
	line-height:24px;
	text-align:center;
	text-decoration:none;
	border-radius:24px;
	background-repeat:no-repeat;
	background-color:#ffffff;
	transition:all 0.5s ease;
	box-shadow: 0 0 1px 0px rgba(0,0,0,0.2);
	cursor:pointer;
}
.btnModal {
	display:block;
	width:90%;
	height:48px;
	max-width:300px;
	padding:12px 0;
	font-size:1.8rem;
	line-height:24px;
	text-align:center;
	text-decoration:none;
	border-radius:24px;
	background-repeat:no-repeat;
	background-color:#ffffff;
	transition:all 0.5s ease;
	box-shadow: 0 0 1px 0px rgba(0,0,0,0.2);
	cursor:pointer;
}
.btn.sizeM {
	max-width:250px;
	height:42px;
	padding:9px 0;
	font-size:1.4rem;
	line-height:22px;
	background-position:10px 50%;
}
.sizeM:hover {
	background-position:15px 50%!important;
}

.btn.center{
	margin:0 auto;
}
.btn1 {
	color:#ffffff;
	background-image:url(/common/img/arrow_w.png);
	background-color:#b72269;
	background-position:15px 50%;
	background-size:18px auto;
}
.btn1.forgetpw{
	font-size:1.6rem;
}
.btn2 {
	color:#4f3aa9;
	background-image:url(/common/img/arrow_b.png);
	background-color:#ffffff;
	border:2px solid #4f3aa9;
	background-position:15px 50%;
	background-size:18px auto;
}
.btn1:hover,
.btn2:hover {
	opacity:0.6;
	background-position:20px 50%;
}
.btn.regist {
	color:#ffffff;
	background-image:url(/common/img/icon_regist.png);
	background-color:#b72269;
	background-position:18px 50%;
	background-size:auto 30px;
}
.btn.login {
	color:#ffffff;
	background-image:url(/common/img/icon_login.png);
	background-position:18px 50%;
	background-size:auto 30px;
}
.btn.logout {
	color:#ffffff;
	background-image:url(/common/img/icon_logout.svg);
	background-position:15px 50%;
	background-size:auto 30px;
}
.btn.dashboard {
	color:#ffffff;
	background-image:url(/common/img/icon_dashboard.svg);
	background-position:18px 50%;
	background-size:auto 30px;
}
.btn.mypage {
	color:#ffffff;
	background-image:url(/common/img/icon_mypage.svg);
	background-position:18px 50%;
	background-size:auto 30px;
}

.btnS {
	display:inline-block;
	padding:0 1.25em;
	color:#4f3aa9;
	background-color:#ffffff;
	border:2px solid #4f3aa9;
	text-decoration:none;
	border-radius:18px;
	box-shadow:0 0 10px 0 rgba(0,0,0,0.1);
}

@media screen and (min-width: 767px){
	.btn {
		height:54px;
		max-width:320px;
		padding:15px 0;
		font-size:1.6rem;
		line-height:24px;
		border-radius:27px;
	}
	.btnModal {
		height:54px;
		max-width:320px;
		padding:15px 0;
		/*font-size:1.6rem;*/
		font-size:1.8rem;
		line-height:24px;
		border-radius:27px;
	}
	.btnBox .btn {
		margin:30px auto 0;
	}
}



/* ------------------------------------------------------------
 arrow
------------------------------------------------------------ */
.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 24px;
	color:#111111;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow::before{
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	background: #b72269;
	border-radius: 50%;
}
.arrow::after{
	left: 6px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 5px solid #fff;
}
.arrow:hover{
	opacity:0.6;
}



/* ------------------------------------------------------------
 table
------------------------------------------------------------ */

.tableBox table {
	width:100%;
	height: 1px;
	border-collapse: collapse;
}
.tableBox table th,
.tableBox table td {
	height:100%;
	padding:8px 0;
	font-size:1.4rem;
	line-height:1.3;
	text-align:center;
	vertical-align:middle;
	border:1px solid #cccccc;
}
.tableBox table thead tr th {
	background:#dbdbdb;
}
.tableBox table tbody tr:nth-child(odd) th {
	background:#eaeaea;
}
.tableBox table tbody tr:nth-child(even) th {
	background:#f3f3f3;
}
.tableBox table tbody tr:nth-child(odd) td {
	background:#f9f9f9;
}
@media screen and (min-width: 767px){
	.tableBox table th,
	.tableBox table td {
		font-size:1.6rem;
	}
}



/* ------------------------------------------------------------
 見出し
------------------------------------------------------------ */

.headLine {
	font-size:2.4rem;
	line-height:1.2;
	letter-spacing:0.2em;
	text-align:center;
}
.headLineEng{
	text-align:center;
}
.headLineEng span{
	display:inline-block;
	padding:0 1em;
	font-size:1.4rem;
	line-height:1;
	letter-spacing:0.15em;
	text-align:center;
	position:relative;
	z-index:2;
}
.headLineEng span::before {
	content: '';
	margin:auto 0;
	display:block;
	width:40px;
	height:1px;
	position: absolute;
	background:#b72269;
	top:0;
	bottom:0;
	right:-40px;
	z-index:1;
}
.headLineEng span::after {
	content: '';
	margin:auto 0;
	display:block;
	width:40px;
	height:1px;
	position: absolute;
	background:#b72269;
	top:0;
	bottom:0;
	left:-40px;
	z-index:1;
}

.headLineEng.fontC3 span::before,
.headLineEng.fontC3 span::after {
	background:#caa380;
}

.headLineS {
	margin-bottom:1em;
	font-size:1.8rem;
	line-height:1.2;
	font-weight:bold;
	letter-spacing:0.1em;
	text-align:center;
}

@media screen and (min-width: 560px) {
	.headLine {
		font-size:2.8rem;
	}
	.headLineEng span{
		font-size:1.6rem;
	}
	.headLineEng span::before {
		width:80px;
		right:-80px;
	}
	.headLineEng span::after {
		width:80px;
		left:-80px;
	}
	
	.headLineS {
		font-size:2.0rem;
	}
}

@media screen and (min-width: 768px) {
	.headLine {
		font-size:3.2rem;
	}
	.headLineEng span{
		font-size:1.8rem;
	}
	
	.headLineS {
		font-size:2.4rem;
	}
}



/* ------------------------------------------------------------
 icon_status
------------------------------------------------------------ */
.icon_status {
	display:block;
	width:60px;
	height:60px;
	font-size:1.2rem;
	line-height:60px;
	text-align:center;
	color:#ffffff;
	border-radius:100%;
	position:absolute;
	overflow:hidden;
	top:5px;
	right:0px;
	z-index:10;
}
.icon_status::after {
	display:block;
	width:100%;
	height:100%;
	position: absolute;
	z-index:11;
}
.icon_status.uketsuke {
	background:#4f3aa9;
}
.icon_status.uketsuke::after {
	content: '受付中';
}
.icon_status.kantei {
	background:#d89e00;
}
.icon_status.kantei::after {
	content: '鑑定中';
}
.icon_status.taiou {
	background:#d89e00;
}
.icon_status.taiou::after {
	content: '対応中';
}
.icon_status.taiseki {
	background:#767676;
}
.icon_status.taiseki::after {
	content: '退席中';
}


/* ------------------------------------------------------------
 アニメーション
------------------------------------------------------------ */
.blink{
    animation:blink 1s ease-in-out infinite alternate;
}
@keyframes blink{
	0% {opacity:0.5;}
	100% {opacity:1;}
}



/* ------------------------------------------------------------
 uNav
------------------------------------------------------------ */
#uNav {
	width:100%;
	margin:0 auto;
	padding:10px;
}
#uNav ul{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0;
	border:1px solid #ffffff;
	border-left:none;
	border-top:none;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
#uNav ul li{
	margin:0;
	border-top:1px solid #ffffff;
	border-left:1px solid #ffffff;
}
#uNav ul.c6 li{
	width:33.33%;
}
#uNav ul.c5 li{
	width:33.33%;
}
#uNav ul.c5 li:nth-child(1),
#uNav ul.c5 li:nth-child(2){
	width:50%;
}
#uNav ul.c4 li{
	width:50%;
}
#uNav ul li a{
	display:block;
	padding:8px;
	font-size:1.2rem;
	color:#ffffff;
	text-align:center;
	text-decoration:none;
}
#uNav ul li a:hover {
	background:#581477;
}

@media screen and (max-width: 559px) {
	#uNav ul {
		border-top:none;
	}
	#uNav ul li a{
		font-size:1.4rem;
	}
}
@media screen and (min-width: 560px) {
	#uNav ul {
		border-top:none;
	}
	#uNav ul li a{
		font-size:1.4rem;
	}
}
@media screen and (min-width: 841px) {
	#uNav ul {
		border-top:none;
	}
	#uNav ul.c6 li{
		width:16.66%;
	}
	#uNav ul.c5 li{
		width:20%!important;
	}
	#uNav ul.c4 li{
		width:25%;
	}
}
@media screen and (min-width: 960px) {
	#uNav ul li a{
		font-size:1.6rem;
	}
}



/*----------------------------------------------------------

	tabMenu

----------------------------------------------------------*/

.tabMenu {
	width:100%;
	margin:0 auto;
	position:relative;
}
.tabMenu::after {
	content: '';
	display:block;
	width:100%;
	height:1px;
	background:#cccccc;
	position:absolute;
	bottom:0;
	left:0;
	z-index:-1;
}
.tabMenu ul{
	margin:50px auto 0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
}
.tabMenu li {
	font-size:1.6rem;
	line-height:18px;
	letter-spaing:0.03em;
	text-indent:0.03em;
	text-align:center;
}
.tabMenu li p,
.tabMenu li a{
	padding:24px 0 18px;
	display:block;
	color:#ffffff;
	text-decoration:none;
	border:1px solid #cccccc;
	background:#4d463c;
	cursor:pointer;
	-webkit-transition: all 0.5s ease;
	transition:all 0.5s ease;
	position:relative;
}
.tabMenu li.ac p{
	margin-top:-8px;
	padding:32px 0 19px;
	color:#111111;
	text-decoration:none;
	border-bottom:none;
	background:#ffffff;
	cursor:default;
}
.tabMenu li a:hover{
	background:#777168;
}
.tabMenu li .eng {
	display:inline-block;
	margin-top:3px;
	font-size:0.86em;
	letter-spacing:0.2em;
	color:#ceab78;
}

.tabMenu li .l1{
	height:36px;
	line-height:36px;
	letter-spacing:-0.05em;
	overflow:hidden;
}
.tabMenu li .l2{
	height:36px;
	line-height:18px;
	letter-spacing:-0.05em;
	overflow:hidden;
}
.tabMenu.c2 ul {
	max-width:780px;
}
.tabMenu.c2 li{
	width:375px;
}

.tabMenu.c3 ul {
	max-width:980px;
}
.tabMenu.c3 li{
	width:320px;
}

.tabMenu.c4 ul {
	max-width:980px;
}
.tabMenu.c4 li{
	width:240px;
}



/*----------------------------------------------------------
	Display：320px → 768px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width: 768px) {

	.tabMenu ul{
		width:95%;
		margin-top:30px;
	}
	.tabMenu li {
		font-size:1.4rem;
		line-height:16px;
	}
}



/* ------------------------------------------------------------
 lineTable
------------------------------------------------------------ */

.inner.w920{
	max-width:920px!important;
}
.inner.w100p{
	width:100%!important;
}

.lineTable {
	width:100%;
	max-width:840px;
	margin:20px auto 0;
}
.lineTable dl {
	display: flex;
	flex-wrap: wrap;
}
.lineTable dl dt{
	padding:15px;
	font-weight:bold;
}
.lineTable dl dd{
	padding:15px;
}
.lineTable dl dt .mark{
	display:inline-block;
	margin-right:6px;
	color:#b72269;
}
.lineTable dl dd p{
	margin-top:1em;
}
.lineTable dl dd p:first-child{
	margin-top:0;
}
.lineTable dl dd .photo{
	width:200px;
	height:200px;
	overflow:hidden;
	border-radius:100px;
	border:8px solid #4b1486;
}

@media screen and (max-width: 559px) {
	
	.lineTable dl dt{
		width: 100%;
		padding:10px 15px;
		background:#dddddd;
		position:relative;
		border-radius:5px;
	}
	.lineTable dl dt::after{
		content: "";
		display:block;
		width:16px;
		margin:0 auto;
		border-top: 10px solid #dddddd;
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		position:absolute;
		left:0;
		right:0;
		bottom:-10px;
		z-index:2;
	}
	.lineTable dl dd{
		width: 100%;
		padding:15px 15px 25px;
	}
	
}
@media screen and (min-width: 560px) {
	
	.lineTable dl dt{
		width: 280px;
		padding:20px 15px;
		border-top:1px solid #dddddd;
	}
	.lineTable dl dd{
		width: calc(100% - 280px);
		padding:20px 15px;
		border-top:1px solid #dddddd;
	}
	.lineTable dl dt:nth-last-child(2),
	.lineTable dl dd:last-child{
		border-bottom:1px solid #dddddd;
	}
}
