  @charset "utf-8";
/* ¡ïcharset */

/* fonts */
@font-face {
  font-family: 'icomoon';
  src:  url('/concierge/fonts/concirge.eot?q2wsa5');
  src:  url('/concierge/fonts/concirge.eot?q2wsa5#iefix') format('embedded-opentype'),
    url('/concierge/fonts/concirge.ttf?q2wsa5') format('truetype'),
    url('/concierge/fonts/concirge.woff?q2wsa5') format('woff'),
    url('/concierge/fonts/concirge.svg?q2wsa5') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-man:before {
  content: "\c900";
	font-size: 5.0rem;
}
.icon-onestop:before {
  content: "\c901";
	font-size: 19.0rem;
	color: #8f97b6;
}
.icon-provide:before {
  content: "\c902";
	font-size: 19.0rem;
	color: #8f97b6;
}


.overlay{
	position: fixed;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 3000;
	opacity: 0;
	display: none;
}
.overlay.open{
	display: block;
}

.modal_wrapper{
	border-radius: 6px;
	background: #fff;
	position: fixed;
	top: -100%;
	left: 50%;
	width: 80%;
	min-width: 800px;
	height: auto;
	max-height: 80vh;
	margin-left: -40%;
	z-index: 3001;
	transition: .8s;
	opacity: 0;
	overflow: auto;
}
.modal_wrapper.show{
	top: 10%;
	opacity: 1;
}

.modal_wrapper .modal_wrapper_inner{
	padding: 2%;
}

.modal_close{
	position: fixed;
	top: 20px;
	right: 20px;
	display: none;
	z-index: 3001;
	cursor: pointer;
}

.modal_close.show{
	display: block;
}

.modal_wrapper h3{
	font-size: 3.0rem;
	font-family: 'Oswald', sans-serif;
	text-align: center;
}

.modal_wrapper h3 em{
	font-style: normal;
	font-size: 1.4rem;
	display: block;
}

.modal_wrapper p{
	font-size: 1.8rem;
	padding: 3% 0;
	text-align: center;
}

.modal_wrapper dl{
	background: #f1f1f1;
	padding: 2%;
	border-radius: 6px;
	text-align: center;
}

.modal_wrapper dt{
	text-align: center;
	font-size: 2.0rem;
	margin-bottom: 2%;
}
.modal_wrapper dd{
	display: inline-block;
	margin: 1em;
	position: relative;
}
.modal_wrapper dd strong{
	display: block;
	text-align: center;
	padding: 2%;
	font-size: 1.6rem;
}

.modal_wrapper dd:last-child:after{
	content: "etc..";
	display: block;
	text-align: center;
	position: absolute;
	top: 50%;
	right: -5em;
	line-height: 0;
	font-size: 1.4rem;
	margin-top: -0.5em;
}

.modal_wrapper .sp_etc{
		display: none;
	}

.concirge #mainvisual_second img{
	vertical-align: bottom;
}

.concirge #mainvisual_second h1{
	width: 100%;
	text-align: center;
	color: #be004c;
	line-height: 1.2;
	text-shadow: none;
	top: 18%;
	right: 0;
	text-shadow: 0 0 20px #fff,0 0 20px #fff,0 0 20px #fff,0 0 20px #fff,0 0 20px #fff,0 0 20px #fff;
}

.concirge #mainvisual_second h1:before{
	font-size: 9.0rem;
}
.concirge #mainvisual_second h1 span{
	font-size: 5.5rem;
}
.concirge #mainvisual_second h1 em{
	font-size: 65%;
	display: block;
	font-style: normal;
	text-align: center;
}

.concirge #mainvisual_second h1 em.text_jp{
	color: #333;
	font-size: 100%;
	padding-top: 5px;
}

.concirge .text_red{
	color: #be004c;
}

.concirge #mainvisual_second .text_body{
	position: absolute;
	top:60%;
	text-align: center;
	text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
	width: 100%;
	letter-spacing: 1px;
}

/* contents */
#contents_concirge{
	background: #cfd2dd;
}

.sp_breadcrumbs{
	transform: skewY(4deg);
	transform-origin: top left;
	padding: 2% 40px 0;
	position: relative;
	z-index: 2;
}

.sp_breadcrumbs li{
	display: inline;
	font-size: 12px;
	font-size: 1.2rem;
}
.sp_breadcrumbs li:before{
	content: "¡¡>¡¡";
}
.sp_breadcrumbs li:first-child:before{
	content: "";
}
.sp_breadcrumbs li{
	color: #333;
}
.sp_breadcrumbs li.current{
	font-weight: bold;
}
.sp_breadcrumbs li.current:before{
	font-weight: normal;
}
.sp_breadcrumbs li a{
	text-decoration: underline;
	font-weight: normal;
}
.sp_breadcrumbs:after{
	display: block;
	width: 30px;
	height: 3px;
	margin: 1% auto 0 auto;
	background: #c2c2c2;
	content: "";
}

.contents_concirge_inner{
	position: relative;
	margin: 0;
	background: #cfd2dd;
	transform: skewY(-4deg);
	transform-origin: top right;
	margin-top: -8%;
}

#contents_concirge main{
	transform: skewY(4deg);
	transform-origin: top right;
	padding: 8% 40px 2%;
}

.contents_concirge_h2{
	color: #333;
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 2%;
}

.contents_concirge_function li{
	width: 49%;
	float: left;
	margin-left: 2%;
	background: #fff;
	border-radius: 6px;
	box-sizing: border-box;
	padding: 3% 2% 3% 10%;
	background: url(/concirge/img/bg_function.jpg);
	position: relative;
}

.contents_concirge_function li:before{
	position: absolute;
	top: 50%;
	left: 2%;
	margin-top: -0.5em;
}

.contents_concirge_function li h3{
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 3.0rem;
	line-height: 1.4;
	margin-bottom: 4%;
}

.contents_concirge_function li h3 em{
	display: block;
	font-style: normal;
	font-size: 1.4rem;
}

.contents_concirge_function li:first-child{
	margin-left: 0;
}

.contents_concirge_function li p{
	text-align: center;
	line-height: 1.7;
}

/* flow */
#contents_concirge_flow{
	background: #fff;
	position: relative;
}

.contents_inner{
	padding: 4% 0 0;
}

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

.contents_concirge_flow_ol li{
	width: 25%;
	display:table-cell;
	vertical-align: top;
	background: #f1f1f1;
	box-sizing: border-box;
}

.contents_concirge_flow_ol li:nth-child(2n){
	background: #fff;
}

.contents_concirge_flow_ol li a{
	display: block;
	padding: 10% 2%;
	color: #333;
	transition: .4s;
	text-align: center;
}

.contents_concirge_flow_ol li a:hover{
	background: rgba(190, 0, 76, 0.4);
	color: rgba(190, 0, 76, 1);
}

.contents_concirge_flow_h3{
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 3.0rem;
	line-height: 1.4;
	margin-bottom: 4%;
	position: relative;
	padding-bottom: 10%;
	margin-bottom: 10%;
}

.contents_concirge_flow_h3:after{
	content: "";
	display: block;
	width: 28px;
	height: 2px;
	background: #888;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -14px;
}

.contents_concirge_flow_h3 em{
	display: block;
	font-style: normal;
	font-size: 1.4rem;
}

.contents_concirge_flow_ol li .contents_concirge_flow_txt{
	position: relative;
	margin-bottom: 10em;
}

.contents_concirge_flow_ol li .contents_concirge_flow_txt:before{
    font-size: 18rem;
    position: absolute;
    bottom: -55%;
    left: 50%;
    display: block;
    z-index: 1;
    line-height: 0;
    margin-left: -0.5em;
}

.contents_concirge_flow_ol li .contents_concirge_flow_txt span{
	text-align: center;
	padding: 6% 4%;
	background: #fff;
	color: #333;
	border-radius: 4px;
	position: relative;
	border: solid 1px #ddd;
	font-size: 1.2rem;
	display: inline-block;
}

.contents_concirge_flow_ol li .contents_concirge_flow_txt span:before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: solid 10px transparent;
	border-top: solid 10px #ddd;
	position: absolute;
	left: 50%;
	bottom: -20px;
	border-right: solid 10px #ddd;
	margin-left: -50px;
}

.contents_concirge_flow_ol li .contents_concirge_flow_txt span:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: solid 10px transparent;
	border-top: solid 9px #fff;
	position: absolute;
	left: 50%;
	bottom: -18px;
	border-right: solid 9px #fff;
	margin-left: -50px;
}


.contents_concirge_flow_ol li .btn_default{
	border-color: #be004c;
	color: #be004c;
}

.contents_concirge_flow_ol li .btn_default:hover{
	color: #fff;
}

#solution_link{
	background: #767676;
	box-sizing: border-box;
	padding: 3% 40px;
	position: relative;
	margin-top: -2px;
}

#solution_link .solution_link_h3{
	color: #cfcfcf;
	font-size: 3.0rem;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 2%;
}

#solution_link .solution_link_h3 em{
	font-style: normal;
	font-size: 1.4rem;
	vertical-align: middle;
	margin-left: 1em;
}


@media screen and (max-width: 767px){
	.modal_wrapper{
		min-width: 0;
		width: 94%;
		margin-left: -47%;
	}
	.modal_wrapper .modal_wrapper_inner{
		padding: 8% 3%;
	}
	.modal_wrapper img{
		width: 100%;
	}
	.modal_wrapper dl{
		background: transparent;
	}
	.modal_wrapper dd{
		width: 49%;
		margin : 0 0 0 2%;
		float: left;
		display: block;
	}
	.modal_wrapper dd:nth-child(2n){
		margin: 0;
	}
	
	.modal_wrapper dd:last-child:after{
		display: none;
	}
	
	.modal_wrapper .sp_etc{
		font-size: 1.4rem;
		display: block;
		text-align: center;
		padding: 2%;
	}
	
	.modal_close{
		top: 0px;
		right: 0px;
	}
	
	.concirge #mainvisual_second{
		overflow: hidden;
	}
	
	.concirge #mainvisual_second h1{
		top: 10%;
	}
	.concirge #mainvisual_second h1 + img{
		width: 110%;
		margin-left: -5%;
	}
	.concirge #mainvisual_second h1 span{
		font-size: 3.0rem;
	}
	.concirge #mainvisual_second h1:before{
		font-size: 6.0rem;
	}
	.concirge #mainvisual_second .text_body{
		position: static;
		text-align: left;
		font-size: 1.4rem;
		padding: 5% 5% 15%;
		background: #f1f1f1;
		box-sizing: border-box;
		text-shadow: none;
	}
	.concirge #mainvisual_second .text_body br{
		display: none;
	}
	
	#contents_concirge main{
		padding: 15% 5% 5%;
	}
	
	.contents_concirge_function li,
	.contents_concirge_flow_ol li{
		width: 100%;
		display: block;
		margin: 0;
	}
	
	.contents_concirge_function li:first-child{
		margin-bottom: 5%;
	}
	
	.contents_concirge_function li{
		padding: 40% 3% 8% 3%;
	}
	.contents_concirge_function li:before{
		position: absolute;
		top: 0;
		left: 50%;
		margin-top: 0;
		margin-left: -0.5em;
		line-height: 0.9;
		font-size: 16rem;
	}
	#solution_link{
		padding: 3%;
	}
	.solution_link_h3{
		text-align: center;	
	}
	.solution_link_h3 em{
		display: block;
	}
}


/* common×·Ó› */

.btn_modalred_s:after{
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 10px;
	margin-top: -5px;
	content: url(/shared/img/icon_modal_red_s.png);
}

.btn_modalred_s:hover:after{
	content: url(/shared/img/icon_modal_white_s.png);
}

/* 4¥«¥é¥à */

.column4 li{
	width: 25%;
	float: left;
	background: #fff;
	position: relative;
}

.column4 li div{
	position: absolute;
	text-align: center;
	width: 100%;
}

.column4 li h2{
	padding: 35% 0 15%;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-size: 3.0rem;
	text-shadow: 0 0 30px #000,0 0 30px #000;
}

.column4 li h2 em{
	display: block;
	font-size: 1.4rem;
	font-style: normal;
}

.column4 li img{
	width: 100%;
	vertical-align: bottom;
}

@media screen and (max-width: 767px){
	.column4 li{
		width: 100%;
		float: none;
		background: #fff;
		position: relative;
	}
}