@charset "utf-8";

.mt0 {margin-top: 0px !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px !important;}
.mt100 {margin-top: 100px !important;}

.mb0 {margin-bottom: 0px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

.main .tag.date,
.main .label.date {
	margin-bottom: 9px;
	font-weight: bold;
}
.main .tag.date span,
.main .label.date span {
	margin-top: -2px;
	font-weight: normal;
}
.main .tag.date span:first-of-type,
.main .label.date span:first-of-type {
	margin-left: 1.3em;
}

#subtitle {
	margin: 0 0 70px 0;
	padding: 27px 0 46px 0;
	background: #f2f5f7;
}
#subtitle h2.heading {
	margin-top: 0;
	font-size: 1.73rem;
}

.main .index-panel {
	margin: 0;
	padding: 0 0 80px 0;
}
.main .index-panel .inner {
	position: relative;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 25px;
	box-sizing: content-box;
}
.main .index-panel .img {
	position: absolute;
	left: 200px;
	top: 0;
	width: 1107px;
	height: 550px;
	margin: 0 0 0 0;
	padding: 0;
	overflow: hidden;
}
.main .index-panel .txt {
	position: relative;
	left: 0;
	top: 250px;
	width: 480px;
	margin: 0 0 250px -40px;
	padding: 40px 45px 40px 40px;
	background: #fff;
	box-sizing: border-box;
}
.main .index-panel .txt .btn a {
	display: inline-block;
	width: auto;
}
.main .index-panel.left-img .img {
	left: auto;
	right: calc(50% - 387px);
}
.main .index-panel.left-img .txt {
	left: 50%;
	margin: 0 0 250px 153px;
}
.main .index-panel .txt h2 {
	position: relative;
	padding-bottom: 12px;
}
.main .index-panel .txt h2:after {
	position: absolute;
	right: -95px;
	bottom: 0;
}
.main .index-panel.left-img .txt h2:after {
	left: -90px;
	right: auto;
}
body:not(#office-column) .main .index-panel .txt .label,
.main .case-summary .data .label {
	max-width: 300px;
	margin-bottom: 20px;
}
body:not(#office-column) .main .index-panel .txt .label span,
.main .case-summary .data .label span {
	width: 90px;
	background-color: #00519c;
}
body:not(#office-column) .main .index-panel .txt .label span.off {background-color: #e5e5e5 !important;}
.main .case-summary .data .label span.off {color:#ddd !important; background-color: #fff !important;}


/* お問い合わせ */

.main .form #stepRow {
	margin-bottom: 90px;
}
.main .form #stepRow ul {
	display: table;
	width: 100%;
	padding: 0;
	margin: 0;list-style: none;
}
.main .form #stepRow ul li {
	position: relative;
	display: table-cell;
	width: calc( 1/ 3 * 100%);
	height: 74px;
	margin: 0;
	padding: 5px 20px;
	color: #adadad;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
	border-left: 5px solid #fff; 
	background: #efefef;
	box-sizing: border-box;
}
.main .form #stepRow ul li:not(:last-of-type):after{ /*right arrow*/
	content: "";
	position: absolute;
	right: -22px;
	top: 0;
	width: 0;
	border-top: 37px solid transparent;
	border-bottom: 37px solid transparent;
	border-left: 22px solid #efefef;
	z-index: 3;
}
.main .form #stepRow ul li:not(:first-child):before{ /*left arrow*/
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	margin: 0;
	border-top: 37px solid transparent;
	border-bottom: 37px solid transparent;
	border-left: 22px solid #fff;
	background: transparent;
	border-radius: 0;
	z-index: 2;
}
.main .form #stepRow ul li:first-of-type {
	border-left: none;
}
.main .form #stepRow ul li:first-of-type:before{
	background: none;
}
.main .form #stepRow ul li:first-of-type:after{
	z-index: 5;
}
.main .form #stepRow ul li.current {
	color: #fff;
	background: #01509b;
	z-index: 5;
}
.main .form #stepRow ul li.current:not(:last-of-type):after {
	border-left: 22px solid #01509b;
}
.main .form #stepRow ul li.current:first-of-type {
	z-index: 5;
}
.main .form #stepRow ul li.current:nth-of-type(2) {
	z-index: 4;
}
.main .form #stepRow ul li.current:last-of-type {
	z-index: 1;
}

.main .form .btn {
	margin-top: 60px;
}
.main .form .btn > * {
	width: auto;
	padding-left: 50px;
	padding-right: 60px;
}
.main .form > textarea {
	height: 17em;
	padding: 20px 30px;
	border-radius: 0;
}
.main .form .btn button:not(.icon-back) {
	color: #fff;
	background-color: #5b5331;
	border: none;
}
.main .form .btn button:not(.icon-back):after {
	background-position-y: -120px;
}
html:not(.sp) .form .btn button:not(.icon-back):hover {background-color: #968850;}
.main .form .btn button.icon-back {
	color: #000022;
	background-color: #e6e6e6;
	border: none;
}
.main .form .btn button.icon-back:before,
html:not(.sp) .form .btn button.icon-back:hover:before {
	background-position-y: -96px;
}
html:not(.sp) .form .btn button.icon-back:hover {background-color: #dadada;}

html:not(.sp) .main .form > textarea:hover,
.main .form > textarea:focus {
	border: 1px solid #c5c5c5;
	outline: 0;
}
.main .form table th {
	width: 250px;
	padding: 25px 20px;
	text-align: left;
}
.main .form table td {
	padding: 25px 20px;
}


/* 導入事例 */

#case-index .main .content {
	background: #f2f5f7;
}
#case-detail .main article {
	margin-bottom: 130px;
}

.main .case-summary {
	display: flex;
	padding-top: 10px;
}
.main .case-summary .txt {
	width : calc(100% - 420px);
	padding: 0 50px 0 0;
	box-sizing: border-box;
}
.main .case-summary .txt > :last-child {
	margin-bottom: 0;
}
.main .case-summary .data {
	position: relative;
	width: 420px;
	top: -150px;
	margin: 0 0 -150px 0;
	box-sizing: border-box;
}
.main .case-summary .data .inner {
	padding: 42px 36px 26px 36px;
	background: #f2f5f7;
}
.main .case-summary .data dl {
	font-size: 0.93rem;
}
.main .case-summary .data dt {
	padding: 5px 10px 5px 0;
	border-right: 1px solid #00519c;
}
.main .case-summary .data dd {
	padding: 5px 0 5px 30px;
}


/* オフィスソムリエ */

#office-column .under_toptitle_area {
	background: #fff url("img/sommelier_bg_title.png") top right no-repeat;
}
#office-column .under_toptitle_area .under_toptitle h1 {
	font-family: "Source Han Serif", "Yu Mincho", "YuMincho", serif;
	font-weight: 400;
	font-size: 2.66rem;
	color: #00519c;
}
#office-column .under_toptitle_area .under_toptitle h1 span {
	display: block;
	color: #222;
	font-size: 1.06rem;
	letter-spacing: .2em;
	line-height: 1.5;
}
#office-column #sommelier-case {
	padding-top: 60px;
	margin-bottom: 100px;
}
#office-column #sommelier-case:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(100% - 60px);
	background: #f2f5f7;
}
#office-column #sommelier-case .index-panel {
	padding: 0;
}
#office-column #sommelier-case .index-panel .inner {
	display: flex;
	z-index: 1;
}
#office-column #sommelier-case .index-panel .img {
	position: relative;
	left: 0;
	width: 50%;
	height: auto;
	margin: 0;
	z-index: 2;
}
#office-column #sommelier-case .index-panel .txt {
	top: 0;
	width: 50%;
	padding: 0 90px 0 0;
	margin: 0;
	background: transparent;
	z-index: 5;
}
#office-column #sommelier-case .index-panel .txt h2 {
	margin: 5px 0 20px 0;
	padding: 0;
	font-size: 1.73rem;
	font-weight: bold;
}
#office-column #sommelier-case .index-panel .txt h2:after {
	right: -140px;
	margin-top: 0;
}


/* サービス */

#service-index .under_toptitle_area {
	height: 504px;
	color: #fff;
}
#service-index .under_toptitle_area .breadcrumb li,
#service-index .under_toptitle_area .breadcrumb li a {
	color: #fff;
}
#service-index .under_toptitle_area .breadcrumb li:nth-child(n+2):before {
	color: #fff;
	opacity: 1;
}
#service-index .under_toptitle_area .under_toptitle {
	position: relative;
	top: 0;
	margin-top: 58px;
	transform: translateY(0);
}
#service-index .under_toptitle_area .under_toptitle h1 {
}
#service-index .under_toptitle_area .link-horizontal {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 60px;
}
#service-index .under_toptitle_area .link-horizontal a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 220px;
	height: 220px;
	color: #fff;
	font-size: 1.33rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	border: 8px solid rgba(255,255,255,0.6);
	box-sizing: border-box;
	border-radius: 50%;
	transition: border-color .2s linear;
	text-decoration: none;
}
#service-index .under_toptitle_area .link-horizontal a:not(:last-of-type) {
	margin-right: 50px;
}
#service-index .under_toptitle_area .link-horizontal a:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 5%;
	margin-left: -0.5em;
	font-family: "Source Han Serif", "Yu Mincho", "YuMincho", serif;
	font-size: 3.66rem;
	font-weight: normal;
	text-align: center;
}
#service-index .under_toptitle_area .link-horizontal a:first-of-type:before {
	content: "01";
}
#service-index .under_toptitle_area .link-horizontal a:nth-of-type(2):before {
	content: "02";
}
#service-index .under_toptitle_area .link-horizontal a:nth-of-type(3):before {
	content: "03";
}
#service-index .under_toptitle_area .link-horizontal a:after {
	content: "\00003E";
	position: absolute;
	left: 50%;
	bottom: 5%;
	margin-left: -0.3em;
	font-family: "Times New Roman", Times, "serif";
	font-size: 2.2rem;
	font-weight: normal;
	text-align: center;
	transform: rotate(90deg) scale(1, 2.4);
	transition: bottom .2s linear;
}
html:not(.sp) #service-index .under_toptitle_area .link-horizontal a:hover {
	border: 8px solid rgba(255,255,255,1);
}
html:not(.sp) #service-index .under_toptitle_area .link-horizontal a:hover:after {
	bottom: 4%;
}
#service-index .main .content {
	padding-bottom: 0;
}
#service-index .main #service01,
#service-index .main #service02,
#service-index .main #service03 {
	font-size: 1.06rem;
}
#service-index .main #service01 {
	padding: 100px 0 60px 0;
}
#service-index .main #service02 {
	padding: 100px 0 55px 0;
	background: url(img/service_index02_bg.jpg) no-repeat center center;
	background-size: cover;
}
#service-index .main #service03 {
	padding: 135px 0 105px 0;
	color: #fff;
	background: #074883;
}
#service-index .main #service01 h2.heading,
#service-index .main #service02 h2.heading,
#service-index .main #service03 h2.heading {
	margin-top: 35px;
	color: #00519c;
	font-family: "Source Han Serif", "Yu Mincho", "YuMincho", serif;
	font-size: 2.18rem;
	font-weight: bold;
	line-height: 1.25;
}
#service-index .main #service03 h2.heading {
	color: #fff;
}
#service-index .main .index-num {
	color: rgba(0,81,156,0.3);
	font-family: "Source Han Serif", "Yu Mincho", "YuMincho", serif;
	font-size: 5.78rem;
	line-height: 1;
}
#service-index .main .index-num span {
	color: rgba(0,81,156,1);
	font-size: 9.65rem;
}
#service-index .main #service03 .index-num {
	color: rgba(255,255,255,0.4);
}
#service-index .main #service03 .index-num span {
	color: rgba(255,255,255,1);
}
#service-index .main #service04 .panel-covered h2.heading {
	height: 2.5em;
	margin: 0;
	font-size: 2rem;
	line-height: 1.2;
}
#service-index .main #service04 .panel-covered .icon {
	margin-bottom: 20px;
	text-align: center;
}
#service-index .main #service04 .panel-covered .txt:not(.bottom):before {
	background: none;
}
html:not(.sp) #service-index .main #service04 .panel-covered > a:hover .img:after {
	background-color: rgba(0, 0, 0, .5);
}


/* 予約状況カレンダー */

.main #rental-calendar table {
	background: #fff;
}
.main #rental-calendar table th {
	background: #e7eaec;
}
.main #rental-calendar table th:last-child {
	border-right: 1px solid #e7eaec;
}
.main #rental-calendar table td {
	height: 10em;
}
.main #rental-calendar table td:last-child {
	border-right: 1px solid #fff;
}
.main #rental-calendar td span {
	display: block;
}
.main #rental-calendar td span.date {
	text-align: center;
	font-weight: bold;
}
.main #rental-calendar td span.ok:before {
	content: "○";
	margin-right: 0.5em;
	display: inline-block;
}
.main #rental-calendar td span.no {
	text-decoration: line-through;
}
.main #rental-calendar td span.no:before {
	content: "×";
	display: inline-block;
	margin-right: 0.5em;
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
	.main .index-panel .txt {
		width: 50%;
		left: 0;
		margin-left: 0;
	}
	.main .index-panel.left-img .txt {
		margin-left: 0;
	}
	.main .case-summary .txt {
		max-width: 50%;
		margin-left: 5px;
	}
	.main .case-summary.left-img .txt {
		left: auto;
		margin: 0 -20px 250px auto;
	}
}

@media screen and (min-width: 768px) {
	.main .case-slide .slick-arrow {top: auto; bottom: -30px;}
	.main .case-slide .slick-prev {left: calc(50% - 120px);}
	.main .case-slide .slick-next {left: calc(50% - 60px); right: auto;}
}


/* 採用情報 */

#recruit .main {
	background-color: #f2f5f7;
}

#recruit .message {
	position: relative;
	z-index: 2;
	background: url(img/title-bg.png) top -220px right no-repeat;
	background-size: 52%;
}

#recruit .message .row {
	position: relative;
	padding-top: 7.7%;
}

#recruit .message .txt {
	position: relative;
	z-index: 2;
	width: 57%;
	margin:0 0 0 auto;
	padding: 4% 4% 5% 4%;
	background-color: #fff;
}

#recruit .message .txt::before {
	content: "";
	position: absolute;
	left: -60px;
	top: 110px;
	width: 120px;
	height: 3px;
	background-color: #00519c;
}

#recruit .message .txt h2 {
	margin: 0;
	padding-bottom: 25px;
}

#recruit .message .txt h2::after {
	content: none;
}

#recruit .message .txt dl {
	display: block;
	margin: 0;
}

#recruit .message .txt dt {
	width: auto;
	margin-top: 30px;
	padding: 0;
	color: #00519c;
	font-family: "Source Han Serif", "Yu Mincho", "YuMincho", serif;
	font-size: 1.6rem;
}

#recruit .message .txt dd {
	width: auto;
	margin-top: 10px;
	padding: 0;
}

#recruit .message .img {
	position: absolute;
	left: 20px;
	top: 0;
	z-index: 1;
	width: 51%;
	height: 0;
	padding-bottom: 38.8%;
	background-size: cover;
}

#recruit .message .img .name {
	position: absolute;
	left: 0;
	top: calc(100% - 40px);
	width: 45%;
	min-width: 220px;
	padding: 15px 30px 15px 35px;
	background-color: #00519c;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.5;
	text-align: left;
}

#recruit .message .img .name span {
	display: block;
	margin-bottom: 4px;
	font-size: 1rem;
}

@media screen and (min-width: 1210px) {
	
	#recruit .message .row {
		padding-top: 90px;
	}
	
	#recruit .message .txt::before {
		top: 120px;
	}
	
	#recruit .message .img {
		left: 0;
	}
	
}

#recruit .stat {
	position: relative;
	z-index: 1;
	margin-top: -130px;
	padding: 180px 0 130px;
	background: url(img/recruit_stat_bg.jpg) no-repeat 50% 50%;
	background-size: cover;
}

#recruit .stat .grid {
	margin-top: 50px;
	overflow: hidden;
}

#recruit .stat .grid .col:first-child {
	float: left;
	width: 41.03%;
}

#recruit .stat .grid .col:last-child {
	float: right;
	width: 58.12%;
	overflow: hidden;
}

#recruit .stat .grid .cell {
	padding: 25px 30px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 100%;
	line-height: 1.5;
	text-align: center;
}

#recruit .stat .grid .cell h3 {
	margin-bottom: 8px;
	color: #00519c;
	font-size: 1.6rem;
}

#recruit .stat .grid .cell h3 span {
	display: none;
}

#recruit .stat .grid .col:first-child .cell:nth-child(1) {
	height: 430px;
	padding: 25px 60px;
	
}

#recruit .stat .grid .col:first-child .cell:nth-child(1) h3 {
	font-size: 2rem;
}

#recruit .stat .grid .col:first-child .cell:nth-child(2) {
	height: 220px;
	margin-top: 10px;
	text-align: left;
}

#recruit .stat .grid .col:last-child .cell:nth-child(1) {
	float: left;
	width: calc(50% - 5px);
	height: 325px;
	background-image: url(img/recruit_stat_3.png);
}

#recruit .stat .grid .col:last-child .cell:nth-child(2) {
	float: right;
	width: calc(50% - 5px);
	height: 325px;
	background-image: url(img/recruit_stat_4.png);
}

#recruit .stat .grid .col:last-child .cell:nth-child(3) {
	float: left;
	width: calc(50% - 5px);
	height: 325px;
	margin-top: 10px;
	
}

#recruit .stat .grid .col:last-child .cell:nth-child(4) {
	float: right;
	width: calc(50% - 5px);
	height: 325px;
	margin-top: 10px;
	
}

#recruit .welfare {
	padding-top: 90px;
	background-color: #fff;
}

#recruit .welfare h2 + p {
	margin: -10px 0;
}

#recruit .welfare .grid {
	margin-top: 60px;
}

#recruit .welfare .grid::after {
	content: "";
	display: table;
	clear: both;
}

#recruit .welfare .grid .col:first-child {
	float: left;
	width: calc(50% - 20px);
}

#recruit .welfare .grid .col:last-child {
	float: right;
	width: calc(50% - 20px);
}

#recruit .welfare .grid dl {
	display: block;
	position: relative;
	margin: 0;
	padding-left: 25px;
	overflow: visible;
}

#recruit .welfare .grid dl dt {
	display: inline-block;
	position: absolute;
	left: 0;
	top: -25px;
	width: auto;
	padding: 15px 30px;
	background-color: #00519c;
	color: #fff;
	font-size: 1.33rem;
	font-weight: bold;
	line-height: 1;
}

#recruit .welfare .grid dl dd {
	width: auto;
	padding: 45px 40px 30px;
	background-color: #f2f5f7;
	line-height: 1.7;
}

#recruit .event {
	padding: 90px 0;
	background-color: #fff;
}

#recruit .event h2 {
	margin-bottom: 0;
}

#recruit .event ul {
	overflow: hidden;
}

#recruit .event ul li {
	float: left;
	width: calc(50% - 20px);
	margin: 40px 40px 0 0;
	padding: 0;
}

#recruit .event ul li:nth-child(2n) {
	margin-right: 0;
}

#recruit .event ul li::before {
	content: none;
}

#recruit .event ul li .img {
	margin: 0;
}

#recruit .event ul li .img img {
	width: 100%;
}

#recruit .event ul li .txt {
	position: relative;
	z-index: 1;
	margin: -50px 50px 0 0;
	padding: 30px 20px;
	background-color: #f2f5f7;
}

#recruit .event ul li .txt h3 {
	margin-bottom: 10px;
	color: #00519c;
	font-size: 1.33rem;
	font-weight: bold;
}

#recruit .event ul li .txt p {
	margin-bottom: 0;
}

#recruit .voice {
	padding: 80px 0 90px;
}

#recruit .voice h2 {
	margin-bottom: 0;
}

#recruit .voice-row {
	overflow: hidden;
}

#recruit .voice-col {
	float: left;
	width: calc(33.33% - 20px);
	margin: 40px 30px 0 0;
}

#recruit .voice-col:last-child {
	margin-right: 0;
}

#recruit .voice-col .img {
	position: relative;
	z-index: 1;
	margin: 0;
}

#recruit .voice-col .img img {
	width: 100%;
}

#recruit .voice-col .txt {
	position: relative;
	z-index: 2;
	margin: -30px 30px 0 0;
	padding: 20px;
	background-color: #00519c;
	transition: background-color .3s;
}

#recruit .voice-col .txt::after {
	content: "";
	display: block;
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 38px;
	height: 38px;
	background: url(img/icon_open-close.svg) no-repeat 0 0;
	background-size: 76px 76px;
}

#recruit .voice-col .txt h3 {
	position: relative;
	margin: 0 0 18px 0;
	padding: 0 0 18px 0;
	color: #fff;
	font-size: 1.07rem;
	font-weight: bold;
	line-height: 1.5;
	transition: color .3s;
}

#recruit .voice-col .txt h3::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 2px;
	background-color: #fff;
	transition: width .3s, background-color .3s;
}

#recruit .voice-col .txt p {
	margin:0;
	padding: 0 40px 0 0;
	color: #fff;
	font-size: .93rem;
	line-height: 1.4;
	transition: color .3s;
}

#recruit .voice-col a,
#recruit .voice-col a:hover {
	text-decoration: none;
}

#recruit .voice-col a:hover .txt {
	background-color: #fff;
}

#recruit .voice-col a:hover .txt::after {
	background-position: -38px 0;
}

#recruit .voice-col a:hover .txt h3 {
	color: #00519c;
}

#recruit .voice-col a:hover .txt h3::after {
	width: 60px;
	background-color: #00519c;
}

#recruit .voice-col a:hover .txt p {
	color: #222;
}

#recruit .voice-col.open .txt {
	background-color: #fff;
}

#recruit .voice-col.open .txt::after {
	background-position: -38px -38px;
}

#recruit .voice-col.open .txt h3 {
	color: #00519c;
}

#recruit .voice-col.open .txt h3::after {
	width: 60px;
	background-color: #00519c;
}

#recruit .voice-col.open .txt p {
	color: #222;
}

#recruit .voice-col.open a:hover .txt {
	background-color: #00519c;
}

#recruit .voice-col.open a:hover .txt::after {
	background-position: 0 -38px;
}

#recruit .voice-col.open a:hover .txt h3 {
	color: #fff;
}

#recruit .voice-col.open a:hover .txt h3::after {
	width: 30px;
	background-color: #fff;
}

#recruit .voice-col.open a:hover .txt p {
	color: #fff;
}

#recruit .voice-col .interview {
	display: none;
}

#recruit .interview-area {
	height: 0;
	padding-top: 0;
	overflow: hidden;
	transition: height .6s ease-in-out, padding-top .6s ease-in-out;
}

#recruit .interview-area .inner {
	position: relative;
	padding: 25px 60px 60px;
	background-color: #fff;
}

#recruit .interview-area .inner::before {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 20px);
	top: -25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 25px 20px;
	border-color: transparent transparent #fff transparent;
	transition: left .2s ease-in-out;
}

#recruit .interview-area.a0 .inner::before { left: calc(17% - 20px); }
#recruit .interview-area.a1 .inner::before { left: calc(50% - 20px); }
#recruit .interview-area.a2 .inner::before { left: calc(84% - 20px); }

#recruit .interview dl {
	display: block;
	margin: 0;
	padding: 0;
}

#recruit .interview dt {
	display: table;
	width: 100%;
	margin: 35px 0 0;
	padding: 0;
	line-height: 1.4;
}

#recruit .interview dt span {
	display: table-cell;
	padding: 16px;
	font-size: 1.2rem;
	font-weight: bold;
	vertical-align: middle;
}

#recruit .interview dt span:first-child {
	background-color: #00519c;
	color: #fff;
	letter-spacing: .04em;
}

#recruit .interview dt span:last-child {
	width: 100%;
	background-color: #f2f5f7;
	color: #00519c;
}

#recruit .interview dd {
	display: block;
	width: auto;
	margin: 18px 0 0;
	padding: 0;
	line-height: 1.5;
}

#recruit .interview p {
	margin: 35px 0 0;
}

#recruit .interview p a {
	display: block;
	position: relative;
	width: 120px;
	margin: 0 auto;
	padding: 10px 0;
	border: 1px solid #00519c;
	border-radius: 100px;
	background-color: #fff;
	color: #00519c;
	font-size: .8rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s;
}

#recruit .interview p a::before {
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: calc(50% - 1px);
	width: 12px;
	height: 2px;
	background-color: #00519c;
	transform: rotate(45deg);
}

#recruit .interview p a::after {
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: calc(50% - 1px);
	width: 12px;
	height: 2px;
	background-color: #00519c;
	transform: rotate(-45deg);
}

#recruit .interview p a:hover {
	background-color: #00519c;
	color: #fff;
}

#recruit .interview p a:hover::before {
	background-color: #fff;
}

#recruit .interview p a:hover::after {
	background-color: #fff;
}

#recruit .data {
	padding: 80px 0 60px;
	background-size: cover;
}

#recruit .data h2 {
	color: #fff;
}

#recruit .data h2::after {
	background-color: #fff;
}

#recruit .data dl.border-set {
	margin-bottom: 60px;
	border-color: #697582;
}

#recruit .data dl.border-set dt {
	width: 150px;
	color: #fff;
	border-color: #85919e;
}

#recruit .data dl.border-set dd {
	width: calc(100% - 150px);
	color: #fff;
	border-color: #85919e;
}

#recruit .data .btn {
	margin-bottom: 0;
}

#recruit .data .btn a {
	width: auto;
	margin: 0;
	padding: 18px 55px 18px 35px;
}


/* SP */

@media screen and (max-width: 767px) {
	

	#subtitle {
		margin: 0 0 40px 0;
		padding: 15px 0 25px 0;
	}
	.main .case-slide .slick-arrow {
		top: 21.86%;
	}

	.main .index-panel {
		padding: 0 0 40px 0;
	}
	.main .index-panel .img,
	.main .index-panel.left-img .img {
		position: relative;
		left: 0;
		right: auto;
		width: auto;
		height: auto;
		margin: 0 -25px;
		overflow: auto;
	}
	.main .index-panel .txt,
	.main .index-panel.left-img .txt {
		display: block;
		left: 0;
		top: -55px;
		width: auto;
		margin: 0 0 -55px 0;
		padding: 25px 20px;
	}
	.main .index-panel .txt h2 {
		padding-bottom: 0;
		text-align: center;
	}
	.main .index-panel .txt h2:after,
	.main .index-panel.left-img .txt h2:after {
		display: none;
	}
	body:not(#office-column) .main .index-panel .txt .label,
	.main .case-summary .data .label {
		max-width: initial;
		max-width: auto;
	}
	.main .index-panel .txt .btn {
		display: block;
		text-align: center;
	}


	/* お問い合わせ */
	
	.main .form #stepRow {
		margin-bottom: 40px;
	}
	.main .form #stepRow ul li {
		font-size: 0.9rem;
	}
	.main .form table {
		display: block;
	}
	.main .form table th {
		display: block;
		width: auto !important;
		padding: 15px;
		border: none;
	}
	.main .form table td {
		display: block;
		width: auto !important;
		padding: 15px;
		border: none;
	}


	/* 導入事例 */
	
	#case-detail .main article {
		margin-bottom: 40px;
	}
	
	.main .case-summary {
		flex-wrap: wrap;
		padding: 0;
	}
	.main .case-summary .txt {
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
		order: 2;
	}
	.main .case-summary .data {
		top: -70px;
		width: 100%;
		margin: 0 0 -50px;
		order: 1;
	}
	.main .case-summary .data .inner {
		padding: 20px;
	}
	.main .case-summary .data dl {
		display: flex;
		overflow: hidden;
		flex-wrap: wrap;
		align-items: stretch;
	}
	.main .case-summary .data dt {
		width: 90px !important;
	}
	.main .case-summary .data dd {
		width: calc(100% - 90px) !important;
		padding-left: 20px;
	}

	#office-column .under_toptitle_area {
		background: #fff url("img/sommelier_bg_title.png") center bottom no-repeat;
	}
	#office-column .under_toptitle_area .under_toptitle h1 {font-size: 1.69rem;}
	#office-column #sommelier-case {
		padding-top: 0;
		margin-bottom: 60px;
	}
	#office-column #sommelier-case:before {
		height: 100%;
	}
	#office-column #sommelier-case .index-panel .inner {
		flex-wrap: wrap;
		padding: 0;
	}
	#office-column #sommelier-case .index-panel .img {
		position: relative;
		width: auto;
		height: auto;
		margin: 0;
		overflow: auto;
		order: 1;
	}
	#office-column #sommelier-case .index-panel .txt {
		width: auto;
		margin: -50px 25px 50px 25px;
		padding: 25px 20px;
		background: #fff;
		order: 2;
	}
	.main #rental-calendar table {
		width: 1000px;
	}


	/* サービス */
	
	#service-index .under_toptitle_area {
		height: 70vw;
		background-size: cover;
	}
	#service-index .under_toptitle_area .under_toptitle {
		margin-top: 10vw;
	}
	#service-index .under_toptitle_area .link-horizontal {
		margin-top: 8vw;
	}
	#service-index .under_toptitle_area .link-horizontal a {
		width: 27vw;
		height: 27vw;
		padding-top: 2vw;
		font-size: 2.6vw;
		border: 1vw solid rgba(255,255,255,0.6);
	}
	html:not(.sp) #service-index .under_toptitle_area .link-horizontal a:hover {
		border: 1vw solid rgba(255,255,255,1);
	}
	#service-index .under_toptitle_area .link-horizontal a:not(:last-of-type) {
		margin-right: 2.6vw;
	}
	#service-index .under_toptitle_area .link-horizontal a:before {
		font-size: 6.8vw;
	}
	#service-index .under_toptitle_area .link-horizontal a:after {
		font-size: 4vw;
	}
	
	#service-index .main .content {
		padding-top: 0;
	}
	#service-index .main #service01,
	#service-index .main #service02,
	#service-index .main #service03 {
		font-size: 1rem;
	}
	#service-index .main #service01 {
		padding: 35px 0 40px 0;
	}
	#service-index .main #service02 {
		padding: 40px 0 50px 0;
	}
	#service-index .main #service02 .col1-2:first-child {
		order: 2;
		margin-top: 30px;
	}
	#service-index .main #service03 {
		padding: 40px 0 50px 0;
	}
	#service-index .main #service01 h2.heading,
	#service-index .main #service02 h2.heading,
	#service-index .main #service03 h2.heading {
		margin-top: 20px;
		font-size: 1.57rem;
	}
	#service-index .main .index-num {
		font-size: 3.57rem;
	}
	#service-index .main .index-num span {
		font-size: 5.71rem;
	}
	#service-index .main #service04 .panel-covered:before,
	#service-index .main #service04 .panel-covered > a:before {
		height: 40vw;
	}
	#service-index .main #service04 .panel-covered h2.heading {
		height: 2.8em;
		font-size: 1.21rem;
	}
	#service-index .main #service04 .panel-covered .icon {
		margin-bottom: 10px;
	}
	#service-index .main #service04 .panel-covered .icon img {
		width: 37px;
		height: auto;
	}
	
	
/* 採用情報 */

#recruit .message {
	background-image: none;
}

#recruit .message .row {
	padding: 0;
}

#recruit .message .txt {
	z-index: 1;
	width: auto;
	margin: 0;
	padding: 80px 25px 60px;
}

#recruit .message .txt::before {
	content: none;
}

#recruit .message .txt h2 {
	padding-bottom: 0;
}

#recruit .message .txt h2::after {
	content: "";
}

#recruit .message .txt dt {
	font-size: 1.4rem;
	line-height: 1.3;
}

#recruit .message .txt dd {
	width: auto;
	margin-top: 10px;
	padding: 0;
}

#recruit .message .img {
	position: relative;
	left: 0;
	z-index: 2;
	width: auto;
	margin-bottom: 0;
	padding-bottom: 76%;
}

#recruit .message .img .name {
	left: 25px;
	top: calc(100% - 60px);
	width: 50%;
	min-width: 180px;
	padding: 15px 20px 15px 15px;
	font-size: 1.3rem;
}

#recruit .message .img .name span {
	font-size: .9rem;
}

#recruit .stat {
	margin-top: 0;
	padding: 60px 0;
}

#recruit .stat .grid {
	margin-top: 30px;
}

#recruit .stat .grid .col:first-child {
	float: none;
	width: auto;
}

#recruit .stat .grid .col:last-child {
	float: none;
	width: auto;
	margin-top: 10px;
}

#recruit .stat .grid .cell {
	padding: 15px;
	line-height: 1.4;
}

#recruit .stat .grid .cell h3 {
	margin-bottom: 8px;
	font-size: 1.2rem;
	line-height: 1.3;
}

#recruit .stat .grid .cell p {
	text-align: left;
}

#recruit .stat .grid .col:first-child .cell:nth-child(1) {
	height: auto;
	padding: 15px 15px 60% 15px;
}

#recruit .stat .grid .col:first-child .cell:nth-child(1) h3 {
	font-size: 1.6rem;
}

#recruit .stat .grid .col:first-child .cell:nth-child(2) {
	height: auto;
	margin-top: 10px;
	padding: 15px 47% calc(42% - 70px) 15px;
}

#recruit .stat .grid .col:last-child .cell:nth-child(1) {
	height: auto;
	padding-bottom: 30%;
}

#recruit .stat .grid .col:last-child .cell:nth-child(2) {
	height: auto;
	padding-bottom: 30%;
}

#recruit .stat .grid .col:last-child .cell:nth-child(3) {
	height: auto;
	padding-bottom: 30%;
}

#recruit .stat .grid .col:last-child .cell:nth-child(4) {
	height: auto;
	padding-bottom: 30%;
}

#recruit .welfare {
	padding-top: 60px;
}

#recruit .welfare h2 + p {
	margin: 0;
}

#recruit .welfare .grid {
	margin-top: 0;
}

#recruit .welfare .grid .col {
	margin-top: 30px;
}

#recruit .welfare .grid .col:first-child {
	float: none;
	width: auto;
}

#recruit .welfare .grid .col:last-child {
	float: none;
	width: auto;
}

#recruit .welfare .grid dl {
	padding-left: 15px;
}

#recruit .welfare .grid dl dt {
	top: -15px;
	padding: 8px 20px !important;
	font-size: 1.1rem;
}

#recruit .welfare .grid dl dd {
	padding: 30px 20px 20px;
}

#recruit .event {
	padding: 60px 0;
}

#recruit .event ul {
	overflow: visible;
}

#recruit .event ul li {
	float: none;
	width: auto;
	margin: 30px 0 0 0;
}

#recruit .event ul li .img {
	margin: 0 -25px;
}

#recruit .event ul li .txt {
	margin: -50px 0 0 0;
	padding: 15px 20px;
}

#recruit .event ul li .txt h3 {
	margin-bottom: 8px;
	font-size: 1.2rem;
}

#recruit .voice {
	padding: 60px 0;
}

#recruit .voice-row {
	overflow: visible;
}

#recruit .voice-col {
	float: none;
	width: auto;
	margin: 30px 0 0 0;
}

#recruit .voice-col > a {
	display: block;
	pointer-events: none;
}

#recruit .voice-col .img {
	margin: 0 -25px;
}

#recruit .voice-col .txt {
	margin: -50px 0 0 0;
	padding: 15px;
	pointer-events: auto;
}

#recruit .voice-col .txt::after {
	right: 12px;
	bottom: 12px;
	width: 32px;
	height: 32px;
	background-size: 64px 64px;
}

#recruit .voice-col .txt h3 {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	font-size: 1.07rem;
}

#recruit .voice-col .txt p {
	padding: 0 36px 0 0;
	font-size: .93rem;
}

#recruit .voice-col a:hover .txt {
	background-color: #00519c;
}

#recruit .voice-col a:hover .txt::after {
	background-position: 0 0;
}

#recruit .voice-col a:hover .txt h3 {
	color: #fff;
}

#recruit .voice-col a:hover .txt h3::after {
	width: 30px;
	background-color: #fff;
}

#recruit .voice-col a:hover .txt p {
	color: #fff;
}

#recruit .voice-col.open .txt::after {
	background-position: -32px -32px;
}

#recruit .voice-col.open .txt h3::after {
	width: 30px;
}

#recruit .voice-col.open a:hover .txt {
	background-color: #fff;
}

#recruit .voice-col.open a:hover .txt::after {
	background-position: -32px -32px;
}

#recruit .voice-col.open a:hover .txt h3 {
	color: #00519c;
}

#recruit .voice-col.open a:hover .txt h3::after {
	width: 30px;
	background-color: #00519c;
}

#recruit .voice-col.open a:hover .txt p {
	color: #222;
}

#recruit .interview-area {
	display: none;
}

#recruit .voice-col .interview {
	display: block;
	height: 0;
	padding-top: 0;
	overflow: hidden;
	transition: height .5s ease-in-out, padding-top .5s ease-in-out;
}

#recruit .interview dl {
	position: relative;
	padding: 5px 20px 0;
	background-color: #fff;
	overflow: visible;
}

#recruit .interview dl::before {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 20px);
	top: -25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 25px 20px;
	border-color: transparent transparent #fff transparent;
}

#recruit .interview dt {
	margin: 25px 0 0;
}

#recruit .interview dt span {
	padding: 10px;
	font-size: 1.2rem;
}

#recruit .interview dd {
	margin: 8px 0 0;
}

#recruit .interview p {
	margin-top: 0;
	padding: 25px 0;
	background-color: #fff;
}

#recruit .data {
	padding: 60px 0 40px;
}

#recruit .data h2 {
	margin-bottom: 30px;
}

#recruit .data dl.border-set {
	margin-bottom: 40px;
}

#recruit .data .btn {
	margin: 0;
}

#recruit .data .btn a {
	width: auto;
	margin: 0;
	padding: 18px 55px 18px 35px;
}


}
