@charset "UTF-8";

/* ************************************************************************
init
***************************************************************************/

* {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
}

body {
		background: white;
		color: black;
		font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Arial, 'メイリオ', Meiryo, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 'ＭＳ Ｐゴシック', 'Source Sans Pro', sans-serif;
		font-size: 14px;
		width: 100%;
}


/* float */

.fl-l {
		float: left;
}

.fl-r {
		float: right;
}


/* clearfix */

.cf {
		zoom: 1;
}

.cf:before {
		content: "";
		display: block;
		overflow: hidden;
}

.cf:after {
		content: "";
		display: block;
		overflow: hidden;
		clear: both;
}


/* normalize */

p {
		margin: 0;
}

ul {
		padding: 0;
		margin: 0;
}

li {
		list-style: none;
}

img {
		vertical-align: top;
}

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

table tr {
		padding: 0;
}

table tr td {
		border: 0;
		padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
		margin: 0;
		padding: 0;
}

img {
		max-width: 100%;
}


/* mouse over */

a {
		color: #19209e;
		text-decoration: none;
}

a img {
	-webkit-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
		/*border: medium none transparent;*/
}

a:hover {
		text-decoration: underline;
}

a:hover img {
		filter: alpha(opacity=60);
		opacity: 0.6;
}


/* inner width */

.inner {
		padding: 0 20px;
		margin: 0 auto;
		width: 1320px;
		max-width: 100%;
}

@media only screen and (max-width: 767px) {
		.inner {
				padding: 0 15px;
				margin: 0 auto;
				width: auto;
				max-width: 100%;
		}
		.inner.wide {
				padding: 0;
		}
		.inner.wide .headline {
				margin: 35px 15px 0;
		}
}

.wrap {
		background: #fff;
}


/* input */

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
		padding: 2px 5px;
		border: 1px solid #afafaf;
		-webkit-box-shadow: 1px 1px 2px 0 #ddd inset;
		box-shadow: 1px 1px 2px 0 #ddd inset;
		font-size: 18px;
}

select {
		-webkit-border-radius: 0;
		border-radius: 0;
		/* 2017/09/10 */
		/*  -webkit-appearance: none;*/
		appearance: none;
		-moz-appearance: none;
		text-indent: 0.01px;
		text-overflow: '';
}

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

@media only screen and (max-width: 767px) {
		input[type="text"],
		input[type="tel"],
		input[type="email"],
		select,
		textarea {
				padding: 10px;
				font-size: 12px;
		}
}


/* プレースホルダー */

:placeholder-shown {
		color: #aaa;
}

::-webkit-input-placeholder {
		color: #aaa;
}

:-moz-placeholder {
		color: #aaa;
		opacity: 1;
}

::-moz-placeholder {
		color: #aaa;
		opacity: 1;
}

:-ms-input-placeholder {
		color: #aaa;
}


/* ************************************************************************
common
***************************************************************************/


/* clearfix */

.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

.font-serif {
		font-family: 'Judson', serif;
}

.section-ttl {
		margin-bottom: 15px;
		color: #545454;
		font-size: 40px;
		font-weight: normal;
		text-align: center;
		line-height: 0.5em;
}

.section-ttl .section-ttl-sub {
		margin-top: 15px;
		letter-spacing: 2px;
		/*font-family: 'Judson', serif;*/
		color: #777;
		font-size: 14px;
}

.section-read-txt {
		color: #777;
		font-size: 14px;
		line-height: 1.8em;
		text-align: center;
}

@media only screen and (max-width: 767px) {
		.section-ttl {
				font-size: 30px;
				font-weight: normal;
		}
		.section-ttl .section-ttl-sub {
				font-size: 12px;
		}
		.section-read-txt {
				padding: 0 20px;
				font-size: 13px;
		}
}

.top-idea-copy,
.top-promise-list-copy,
.top-link-col {
		font-family: 'Open Sans', serif;
}

.more-btn {
		background: url(../images/more-btn-txt.png) center center no-repeat;
		width: 150px;
		height: 46px;
		display: block;
		margin: auto;
		border: 1px solid #ccc;
		color: #333;
		font-family: 'Judson', serif;
		font-size: 16px;
		text-align: center;
		line-height: 46px;
		-webkit-transition: .3s;
		transition: .3s;
}

.more-btn:hover {
		background: #d00b0b url(../images/more-btn-txt-on.png) center center no-repeat;
		color: #fff;
}




/* ************************************************************************
cmn_bnr
***************************************************************************/

.cmn-bnr {
		width: 100%;
		margin: 15px 0 100px 0;
		display: table;
}

.bnr-tit {
		font-size: 54px;
		text-align: center;
		color: #fff;
		letter-spacing: 0.1em;
		padding: 145px 0;
		display: table-cell;
		vertical-align: middle;
}

@media only screen and (max-width: 767px) {
		.cmn-bnr {
				height: 200px;
				margin: 17px 0 50px 0;
		}
		.bnr-tit {
				font-size: 40px;
				line-height: 1.3;
				padding: 0;
		}
}


/***** fadein *****/


/* 画面外にいる状態 */

.fadein {
		opacity: 0;
		-webkit-transform: translate(0, 30px);
		-ms-transform: translate(0, 30px);
		transform: translate(0, 30px);
		-webkit-transition: all 1.3s;
		transition: all 1.3s;
}

.fadein.scrollin {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		transform: translate(0, 0);
}


/* ************************************************************************
breadcrumbs
***************************************************************************/

#breadcrumbs {
		margin-top: 95px;
		font-size: 12px;
}

#breadcrumbs a {
		color: #d00b0b;
}

@media only screen and (max-width: 767px) {
		#breadcrumbs {
				margin-top: 60px;
				font-size: 13px;
		}
}

@media print {
		#breadcrumbs {
				display: none;
		}
}


/* ************************************************************************
headline
***************************************************************************/

.headline {
		position: relative;
		padding-bottom: 8px;
		margin-top: 30px;
		border-bottom: 4px solid #9b9b9b;
		color: #777;
		font-size: 28px;
		font-weight: bold;
}

.headline:after {
		content: "";
		display: block;
		position: absolute;
		bottom: -4px;
		width: 200px;
		border-bottom: 4px solid #d00b0b;
}

.headline p {
		display: inline-block;
		margin-left: 15px;
		font-size: 16px;
}

@media only screen and (max-width: 767px) {
		.headline {
				margin-top: 40px;
				font-size: 20px;
		}
		.headline:after {
				width: 70px;
		}
		.headline p {
				margin-left: 0;
				font-size: 14px;
		}
}

.lead-txt {
		margin-top: 45px;
		color: #777;
		font-size: 14px;
}

@media only screen and (max-width: 767px) {
		.lead-txt {
				margin-top: 30px;
				font-size: 13px;
		}
}


/* ************************************************************************
content title
***************************************************************************/

.content-title {
		position: relative;
		z-index: 1;
		bottom: -1px;
		display: inline-block;
		padding: 5px 20px;
		margin: 28px 0 0;
		height: 40px;
		background: #eee;
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		color: #333;
		font-size: 22px;
		font-weight: normal;
}

.content-title:before {
		content: "";
		position: absolute;
		top: 11px;
		right: -29px;
		width: 0;
		height: 0;
		border-top: 28px solid #ccc;
		border-right: 28px solid transparent;
		border-bottom: 28px solid transparent;
		border-left: 28px solid transparent;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}

.content-title:after {
		content: "";
		position: absolute;
		top: 11px;
		right: -28px;
		width: 0;
		height: 0;
		border-top: 28px solid #eee;
		border-right: 28px solid transparent;
		border-bottom: 28px solid transparent;
		border-left: 28px solid transparent;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}

.content-title>span {
		display: inline-block;
		position: relative;
		top: 8px;
		padding-left: 10px;
		border-left: 4px solid #d00b0b;
		line-height: 120%;
		font-weight: bold;
		;
}

@media only screen and (max-width: 767px) {
		.content-title {
				padding: 5px 20px;
				margin: 20px 0 0;
				border-left: none;
				font-size: 20px;
		}
}


/* ************************************************************************
content box
***************************************************************************/

.content-box {
		padding: 20px;
		background: #efeeee;
		border: 1px solid #ccc;
}

.content-box:after {
		content: "";
		position: absolute;
		z-index: 0;
		top: -6px;
		right: -1px;
		width: 100%;
		height: 6px;
		background: #aaa;
		-webkit-border-radius: 5px 5px 0 0;
		border-radius: 5px 5px 0 0;
}

.content-box-inner {
		padding: 30px 20px;
		background: #fff;
}

@media only screen and (max-width: 767px) {
		.content-box {
				padding: 20px;
				border: none;
				border-top: 1px solid #ccc;
				border-bottom: 1px solid #ccc;
		}
		.content-box:after {
				top: -10px;
				right: -1px;
				height: 10px;
		}
		.content-box-inner {
				padding: 30px 18px;
				background: #fff;
		}
}


/* ************************************************************************
tab
***************************************************************************/

.tab {
		overflow: hidden;
}

.tab li {
		user-select: none;
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		cursor: pointer;
}

.tab-hide {
		display: none !important;
		opacity: 0 !important;
}


/* ************************************************************************
pager
***************************************************************************/

.pager {
		float: right;
		margin: 30px 0;
}

.pager li {
		display: inline-block;
		padding-left: 12px;
		font-size: 18px;
		font-weight: bold;
}

.pager li a {
		color: #333;
}

.pager li a:hover {
		color: #d00b0b;
}

.pager-active a {
		color: #d00b0b;
}


/* ************************************************************************
news category color
***************************************************************************/

.news-category-color-info {
		background: #001860;
}


/* ************************************************************************
header
***************************************************************************/

header {
		position: fixed;
		top: 0;
		left: 0;
		/* background: rgba(0, 0, 0, 0.9); */
		width: 100%;
		height: 80px;
		z-index: 9999;
}

header.dark {
		background: rgba(0, 0, 0, 0.9);
}

header .head-inner {
		overflow: hidden;
		width: 100%;
		max-width: 1440px;
		padding-top: 20px;
		margin: 0;
}

header .head-logo {
		float: left;
		position: relative;
		top: -5px;
		padding: 0 60px;
		-webkit-transition: all 400ms;
		transition: all 400ms;
}

header .head-nav {
		position: absolute;
		right: 25px;
}

header .head-nav ul {
		height: 60px;
}

header .head-nav li {
		display: inline-block;
		max-width: 1460px;
		height: 100%;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		margin-right: 2.5em;
		text-align: center;
}

header .head-nav li.sp-only {
		display: none!important;
}

header .head-nav li>a {
		position: relative;
		display: block;
		padding: 0 0.7em;
		width: 100%;
		height: 100%;
		position: relative;
		color: #fff;
		text-decoration: none;
		font-size: 16px;
		font-weight: 100;
		letter-spacing: .05em;
		-webkit-transition: 0.2s;
		transition: 0.2s;
		font-family: 'Hammersmith One', Verdana, Geneva, sans-serif;
}

@media all and (-ms-high-contrast:none) {
		*::-ms-backdrop,
		header .head-nav li>a {
				display: ruby-base !important;
		}
}

header .head-nav li>a:hover {
		border-bottom: 4px solid #d00b0b;
}

header .head-nav li>a:hover:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		margin-left: -3px;
		width: 0;
		height: 0;
		border: 6px solid transparent;
		border-bottom: 6px solid #d00b0b;
}

header .head-nav li>a span {
		position: absolute;
		top: 2em;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		font-size: 11px;
		font-weight: 100;
		letter-spacing: .1em;
}

header .head-nav .head-dropdown {
		display: none;
		position: absolute;
		padding: 20px;
		top: 56px;
		min-width: 165px;
		background: #d00b0b;
		color: #fff;
}

header .head-nav .head-dropdown-item {
		text-align: left;
		padding: 10px 0;
		font-size: 12px;
}

header .head-nav .head-dropdown-item--mobile {
		display: none;
}

header .head-nav .head-dropdown-item a {
		color: #fff;
}

header .head-nav .head-dropdown-item a:hover {
		border-bottom: 1px solid #fff;
		text-decoration: none;
}

@media only screen and (max-width: 1079px) {
		header .head-logo img {
				position: relative;
		}
		header .head-nav li {
				margin-right: 1em;
		}
		header .head-nav li a {
				font-size: 15px;
		}
		header .head-nav li a>span {
				font-size: 10px;
		}
}

@media only screen and (max-width: 767px) {
		header {
				background: none;
				width: 100%;
				height: 50px;
		}
		header.dark {
				background: #fff;
				-webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08);
				box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08);
		}
		header .head-inner {
				padding-top: 13px;
		}
		header .head-logo {
				padding: 0 0 0 16px;
		}
		header .head-logo img {
				z-index: 9999;
		}
		header .head-logo a {
				display: block;
				line-height: 0;
		}
		header .head-nav {
				position: absolute;
				top: -500px;
				left: 0;
				right: 0;
		}
		header.open .head-nav {
				overflow: scroll;
				background: #d00b0b;
				top: 50px;
				right: 0;
				padding-bottom: 70px;
				height: 100vh;
				-webkit-transition: .35s ease-in-out;
				transition: .35s ease-in-out;
		}
		header.open .head-nav ul {
				height: auto;
		}
		header.open .head-nav li {
				display: block;
				position: relative;
				height: auto;
				margin-top: 13px;
				margin-right: 0;
		}
		header.open .head-nav li:last-child {
			margin-top: 20px;
		}
		header.open .head-nav li>a:hover:before {
				display: none;
		}
		header.open .head-nav li>a {
				font-size: 20px;
		}
		header.open .head-nav li>a:hover {
				border-bottom: none;
		}
		header.open .head-nav li>a span {
				position: static;
				display: block;
				font-size: 11px;
		}
		header .head-nav .head-dropdown {
				position: relative;
				padding: 10px 20px;
				top: 0;
				margin-top: 20px;
				min-width: 100%;
				width: 100%;
				background: #bb0404;
		}
		header .head-nav .head-dropdown-item {
				text-align: center;
				padding: 15px 0;
				font-weight: bold;
		}
		header .head-nav .head-dropdown-item--mobile {
				display: block;
		}
		header .head-nav .head-dropdown-item a {
				display: block;
				width: 100%;
				color: #fff;
		}
		header .head-nav .head-dropdown-item a:hover {
				border-bottom: none;
				text-decoration: none;
		}
}

@media print {
		header {
				display: none;
		}
}


/* ************************************************************************
toggle button
***************************************************************************/

.nav-toggle {
		display: none;
		position: absolute;
		right: 0;
		top: 0;
		padding: 16px 15px;
		background: #d00b0b;
		cursor: pointer;
		z-index: 101;
}

.nav-toggle-inner {
		position: relative;
		width: 20px;
		height: 18px;
}

.nav-toggle span {
		display: block;
		position: absolute;
		height: 4px;
		width: 100%;
		background: #fff;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
}

.nav-toggle span:nth-child(1) {
		top: 0;
}

.nav-toggle span:nth-child(2) {
		top: 8px;
}

.nav-toggle span:nth-child(3) {
		top: 16px;
}

@media only screen and (max-width: 767px) {
		header .head-nav li.sp-only {
				display: block!important;
		}
		.nav-toggle {
				display: block;
		}
		.open {
				background: #d00b0b;
		}
		.open .nav-toggle span:nth-child(1) {
				top: 8px;
				-webkit-transform: rotate(315deg);
				-ms-transform: rotate(315deg);
				transform: rotate(315deg);
		}
		.open .nav-toggle span:nth-child(2) {
				width: 0;
				left: 50%;
		}
		.open .nav-toggle span:nth-child(3) {
				top: 8px;
				-webkit-transform: rotate(-315deg);
				-ms-transform: rotate(-315deg);
				transform: rotate(-315deg);
		}
		.open #global-nav {
				-webkit-transform: translateY(556px);
				-ms-transform: translateY(556px);
				transform: translateY(556px);
		}
}


/* ************************************************************************
footer
***************************************************************************/

footer {
		position: relative;
		margin-top: 140px;
		background: #000;
		width: 100%;
		padding-top: 40px;
		color: #fff;
		z-index: 1;
}

footer a {
		color: #fff;
}

footer.mt0 {
		margin-top: 0;
}

footer .inner {
		width: 1660px;
		max-width: 100%;
		margin: auto;
		margin-bottom: 40px;
}

footer .foot-row {
		overflow: hidden;
		width: 100%;
}

footer .foot-logo-col {
		float: left;
		width: 130px;
		position: absolute;
		left: 60px;
}

footer .foot-nav-col {
		margin: 10px 0 0 240px;
		font-size: 14px;
}

footer .foot-nav-col nav>ul>li {
		position: relative;
		display: inline-block;
		margin-right: 45px;
		margin-bottom: 20px;
		text-indent: 1.5em;
		vertical-align: top;
		line-height: 2.5em;
}

footer .foot-nav-col nav>ul>li:before {
		position: absolute;
		top: 0;
		left: -1em;
		content: ">";
		color: #fff;
}

footer .foot-nav-col nav>ul>li:last-child {
		margin-right: 0;
}

footer .foot-nav-col nav>ul>li span {
		font-size: 9px;
		margin-left: 1em;
}

footer .foot-nav-col nav>ul>li ul {
		padding-left: 2em;
}

footer .foot-nav-col nav>ul>li ul li {
		position: relative;
		font-size: 12px;
		text-indent: 1.5em;
}

footer .foot-nav-col nav>ul>li ul li:before {
		position: absolute;
		top: 0;
		left: -1em;
		content: ">";
		color: #fff;
}

footer .foot-bnr {
		margin: 30px auto 0;
		width: 1140px;
		text-align: center;
}

footer .foot-bnr li {
		display: inline-block;
		margin-left: 20px;
		margin-bottom: 20px;
}

footer .foot-bnr li:first-child,
footer .foot-bnr li:nth-child(5) {
		margin-left: 0;
}

.sns {
	text-align: center;
}
.sns a {
	display: inline-block;
	cursor: pointer;
	margin: 0 10px;
}
.sns a img {
	width: 40px;
	height: 40px;
}

footer .legal {
		margin-top: 20px;
		background: #d00b0b;
		width: 100%;
		color: #fff;
		font-size: 12px;
		line-height: 3.5em;
		text-align: center;
}

.totop {
		position: fixed;
		right: 5%;
		bottom: 5%;
		z-index: 10;
		opacity: 0;
		-webkit-transition: .3s;
		transition: .3s;
}

.totop.fixd {
		opacity: 1;
}

@media only screen and (max-width: 767px) {
		footer {
				margin-top: 60px;
				height: auto;
		}
		footer.lower {
				padding-top: 0;
		}
		footer.lower .legal {
				margin-top: 0;
		}
		footer .foot-logo-col,
		footer .foot-nav-col {
				display: none;
		}
		footer .foot-bnr {
				padding: 0 20px;
				margin: 0 auto;
				width: 100%;
				text-align: center;
		}
		footer .foot-bnr li {
				float: left;
				margin-left: 4%;
				margin-bottom: 4%;
				width: 48%;
		}
		footer .sns {
			display: none;
		}
		footer .foot-bnr li:nth-child(odd) {
				margin-left: 0;
		}
		footer .legal {
				margin-top: 60px;
		}
}

@media print {
		footer {
				display: none;
		}
}


/* ************************************************************************
home
***************************************************************************/


/* main-visual */

.copyarea {
		position: absolute;
		z-index: 10;
		top: 33%;
		/*animation: fadeInSlide 1s .5s ease-in-out both;*/
}

@media only screen and (max-width: 767px) {
		.copyarea {
				top: 42%;
				font-family: 'Cormorant Garamond', serif!important;
				font-style: italic;
		}
}

.tlt {
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		font-family: 'Cormorant Garamond', serif;
		visibility: hidden;
		color: #fff;
		/*position: absolute;*/
		z-index: 10;
		font-size: 80px;
		/*top: 230px;*/
		max-width: 1440px;
		padding-left: 60px;
		letter-spacing: 5px;
}

.tlt_c {
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		font-family: 'Cormorant Garamond', serif;
		visibility: hidden;
		color: #fff;
		/*position: absolute;*/
		z-index: 10;
		font-size: 80px;
		/*top: 340px;*/
		max-width: 1440px;
		padding-left: 60px;
		letter-spacing: 5px;
}

.tlt_f {
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		font-family: 'Cormorant Garamond', serif;
		visibility: hidden;
		color: #fff;
		/*position: absolute;*/
		z-index: 10;
		font-size: 80px;
		/*top: 450px;*/
		max-width: 1440px;
		padding-left: 60px;
		letter-spacing: 5px;
}

@media only screen and (max-width: 767px) {
		.tlt,
		.tlt_c,
		.tlt_f {
				font-size: 10.5vw;
				padding-left: 20px;
				font-family: 'Cormorant Garamond'!important;
				font-style: italic;
		}
}


.main-visual {
		position: relative;
		background: #fff;
		width: 100%;
		height: 100vh;
		overflow: hidden;
}

.main-visual:after {
		position: absolute;
		bottom: -2px;
		left: 0;
		content: "";
		background: url(../images/mv-frame.png) bottom center no-repeat;
		width: 100%;
		height: 100%;
}

.scroll {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 70px;
		margin: auto;
		width: 60px;
		text-align: center;
		z-index: 2;
}

.scroll:hover {
		background: #d00b0b;
		opacity: 0.7;
}

@media only screen and (max-width: 767px) {
		.main-visual {
				/*background: url(../images/slide01_sp.jpg) center 50% no-repeat;*/
				background-size: cover;
				width: 100%;
				height: 100vh;
				overflow: hidden;
		}
		.main-visual:after {
				position: absolute;
				bottom: -2px;
				left: 0;
				content: "";
				background: url(../images/mv-frame.png) bottom center no-repeat;
				width: 100%;
				height: 100%;
		}
		.scroll {
				display: none;
		}
}


/* top-img-section */

.top-img-section {
		position: relative;
		width: 100%;
		padding-top: 30.3125%;
		font-size: 0;
}

.img-section01 {
		padding-top: 0;
		height: 1080px;
		background: url(../images/img-section01.jpg) center center no-repeat;
		background-size: cover;
		background-attachment: fixed;
		-webkit-backface-visibility: hidden;
}

.img-section02 {
		background: url(../images/img-section02.jpg) center center no-repeat;
		background-size: cover;
		background-attachment: fixed;
		height: 1080px;
		-webkit-backface-visibility: hidden;
}

.img-section03 {
		background: url(../images/img-section03.jpg) center center no-repeat;
		background-size: cover;
		background-attachment: fixed;
}

.img-section_video {
		background-size: cover;
		background-attachment: fixed;
		padding-top: 0;
}

@media only screen and (max-width: 767px) {
		.top-img-section {
				padding-top: 0;
		}
		.img-section01 {
				padding-top: 0;
				height: 450px;
				background-attachment: initial;
		}
		.img-section02 {
				padding-top: 0;
				height: 450px;
				background-attachment: initial;
		}
		.img-section03 {
				padding-top: 0;
				height: 241px;
				background-position: left 5% top 50%;
				background-size: 220%;
				background-attachment: initial;
		}
		.img-section04 {
				padding-top: 0;
				height: 241px;
				background: url(../images/img-section03.jpg) no-repeat;
				background-position: right 5% top 50%;
				background-size: 220%;
		}
}


/* top-brand */

.top-brand {
		background: #f9f9f9;
}

.top-brand-main {
		background: #f9f9f9;
		padding: 80px 40px 60px;
}

.top-brand-main ul {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
}

.top-brand-main ul li {
		text-align: center;
		width: 240px;
}

.top-brand-main ul li img {
		margin-bottom: 20px;
}

.top-brand-main ul li p {
		font-size: 14px;
		color: #777;
}

.top-brand-main ul li p.top-brand-list-name {
		margin-bottom: 10px;
		color: #333;
		font-size: 16px;
		font-weight: bold;
}

@media only screen and (max-width: 767px) {
		.top-brand-main {
				padding: 50px 0 0;
		}
		.top-brand-main ul {
				display: block;
				text-align: center;
		}
		.top-brand-main ul li {
				display: inline-block;
				margin-bottom: 50px;
				width: auto;
		}
		.top-brand-main ul li img {
				width: 200px;
				margin-bottom: 20px;
		}
		.top-brand-main ul li p {
				font-size: 13px;
		}
		.top-brand-main ul li p.top-brand-list-name {
				font-size: 20px;
		}
}

.top-brand-list {
		background: #fff;
		padding: 60px 90px 60px;
}

.top-brand-list-area {
		position: relative;
		width: 100%;
		height: 100%;
}

.top-brand-list-content ul {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}

.top-brand-list-content ul li {
		width: 17%;
		margin-bottom: 40px;
		text-align: center;
}

.top-brand-list-content ul li img {
		margin-bottom: 15px;
}

.top-brand-list-content ul li span {
		display: block;
		width: 100%;
		font-size: 14px;
		line-height: 1.6em;
}

.top-brand-list-content ul li a {
		color: #000;
}

.top-brand-list-tab {
		width: 100%;
}

.top-brand-list-tab ul {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 340px;
		margin: auto;
}

.top-brand-list-tab ul li {
		background: #000;
		width: 100px;
		color: #fff;
		text-align: center;
		line-height: 2.5em;
		cursor: pointer;
		font-size: 14px;
}

.top-brand-list-tab ul li.top-brand-list-tab-active {
		background: #d00b0b;
}

@media only screen and (max-width: 767px) {
		.top-brand-list {
				padding: 50px 0 60px;
		}
		.top-brand-list-content ul {
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				-webkit-justify-content: space-between;
				-ms-flex-pack: justify;
				justify-content: space-between;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
		}
		.top-brand-list-content ul li {
				width: 48%;
				margin-bottom: 25px;
		}
		.top-brand-list-content ul li img {
				margin-bottom: 10px;
		}
		.top-brand-list-content ul li span {
				font-size: 13px;
		}
		.top-brand-list-content ul li a {
				display: block;
		}
		.top-brand-list-tab ul {
				width: 100%;
		}
		.top-brand-list-tab ul li {
				width: 30%;
				line-height: 2.6em;
				font-size: 12px;
				font-weight: bold;
		}
}


/* top-campaign */

.top-campaign {
		background: #f9f9f9;
		padding: 100px 0;
		width: 100%;
}

.top-campaign-inner {
		max-width: 50%;
		width: 50%;
		padding: 0 3% 0;
		float: left;
}

.top-campaign .section-ttl {
		margin-bottom: 75px;
}

.top-campaign-list {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}

.top-campaign-list li {
		text-align: left;
		width: 20%;
		margin: 0 auto 50px;
}

.top-campaign-list li .campaign-list-img {
		display: block;
		position: relative;
		width: auto;
		float: left;
		margin-right: 20px;
}

@media only screen and (max-width: 767px) {
		.top-campaign-list li .campaign-list-img {
				margin-right: 0;
		}
}

.top-campaign-list li .campaign-list-img-main {
		width: 100%;
}

.top-campaign-list li .campaign-list-img-brand {
		position: absolute;
		bottom: 10px;
		left: 10px;
}

.top-campaign-list li time {
		color: #d00b0b;
		font-size: 14px;
		line-height: 2em;
}

.top-campaign-list li .campaign-list-name {
		font-size: 14px;
		font-weight: normal;
}

.top-campaign-list li .campaign-list-name a {
		color: #000;
}

@media only screen and (max-width: 767px) {
		.top-campaign {
				padding: 60px 0 0;
		}
		.top-campaign .more-btn {
				margin-top: 40px;
		}
		.top-campaign-inner {
				max-width: 100%;
				width: 100%;
				padding: 0 10px;
				float: none;
		}
		.top-campaign .section-ttl {
				margin-bottom: 45px;
		}
		.top-campaign-list li {
				width: 45%;
				margin-bottom: 15px;
		}
		.top-campaign-list li time {
				font-size: 12px;
		}
		.top-campaign-list li .campaign-list-name {
				font-size: 13px;
		}
		.top-campaign-list li .campaign-list-name a {
				display: block;
		}
}


/* top-news */

.inner_half {
		width: 50%;
		max-width: 50%;
		padding: 0 5% 0 3%;
		float: left;
}

.top-news {
		width: 48%;
		float: left;
}

.top-news-area {
		width: 100%;
		margin: auto;
		margin-top: 50px;
}

.top-news-tab {
		overflow: hidden;
}

.top-news-tab-list {
		text-align: center;
}

.top-news-tab-list li {
		display: inline-block;
		margin: 0 20px 10px 0;
		font-size: 12px;
		line-height: 1.3em;
}

.top-news-tab-list li:last-child {
		margin-right: 0;
}

.top-news-tab-list li.tab-active {
		display: inline-block;
		border-bottom: 2px solid #000;
}

.top-news-tab-list li a {
		color: #000;
		text-decoration: none;
}

.top-news-list {
		margin-bottom: 60px;
		border-top: 1px solid #ccc;
}

.top-news-list li {
		width: 100%;
		border-bottom: 1px solid #ccc;
		font-size: 14px;
		padding: 15px 0;
		line-height: 1.3em;
}

.top-news-list li time {
		float: left;
		color: #d00b0b;
		margin-right: 10px;
		min-width: 112px;
}

.top-news-list li .top-news-list-categoly {
		float: left;
		margin-right: 15px;
		color: #fff;
}

.top-news-list li .top-news-list-categoly .top-news-category {
		position: relative;
		top: -2px;
		padding: 4px 10px;
		font-size: 11px;
}

.top-news-category-color-info {
		background: #001860;
}

.top-news-list li .top-news-list-ttl h5 {
		font-weight: normal;
		font-size: 1em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
}

.top-news-list li .top-news-list-ttl h5 a {
		color: #000;
}

@media only screen and (max-width: 767px) {
		.inner_half {
				padding: 60px 0 60px;
				max-width: 100%;
				width: 100%;
				float: none;
		}
		.top-news {
				padding: 50px 0 60px;
		}
		.top-news-area {
				max-width: 100%;
				width: 100%;
		}
		.top-news-tab {
				margin-top: 40px;
		}
		.top-news-tab-list {
				float: none;
				text-align: center;
		}
		.top-news-tab-list li {
				margin: 0 5% 55px 0;
				font-size: 12px;
				line-height: 1.3em;
		}
		.top-news-tab-list li:last-child {
				margin-right: 0;
		}
		.top-news-tab-list li.tab-active {
				display: inline-block;
				border-bottom: 2px solid #000;
		}
		.top-news-tab-list li a {
				color: #000;
				text-decoration: none;
		}
		.top-news-list {
				padding: 0 20px;
				margin-bottom: 60px;
				border-top: none;
		}
		.top-news-list li {
				font-size: 13px;
		}
		.top-news-list li time {
				margin-right: 10px;
				min-width: auto;
		}
		.top-news-list li .top-news-list-categoly {
				float: none;
				margin: 0 0 15px;
		}
		.top-news-list li .top-news-list-ttl h5 {
				font-size: 13px;
		}
		.top-news-list li .top-news-list-ttl h5 a {
				display: block;
				line-height: 140%;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
		}
}


/* top-idea */

.top-idea {
		background: #d00b0b;
		padding: 100px 0 120px;
		color: #fff;
		text-align: center;
}

.top-idea-ttl {
		margin-bottom: 15px;
		font-size: 24px;
		font-weight: normal;
		letter-spacing: 0.1em;
}

.top-idea-copy {
		line-height: 2em;
		;
		margin-bottom: 0;
		font-size: 30px;
		font-weight: normal;
		letter-spacing: 0.1em;
}

.top-idea-copy>div {
		display: inline-block;
		margin-right: 30px;
}

.top-idea-copy>div:first-letter {
		font-size: 42px;
}

.top-idea-txt {
		margin-bottom: 20px;
		line-height: 2em;
		font-size: 24px;
}

.top-idea-sub {
		font-size: 14px;
		line-height: 3em;
}

@media only screen and (max-width: 767px) {
		.top-idea {
				padding: 50px 0 90px;
		}
		.top-idea-ttl {
				margin-bottom: 30px;
		}
		.top-idea-copy {
				margin-bottom: 20px;
		}
		.top-idea-copy>div {
				margin-right: 0;
		}
		.top-idea-txt {
				padding: 0 10px;
				font-size: 22px;
		}
}


/* top-promise */

.top-promise-ttl-bg {
		position: relative;
		background: url(../images/top-promise_bg.jpg) center no-repeat;
		background-size: cover;
		width: 100%;
		height: 260px;
}

.top-promise-ttl img {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		text-align: center;
}

.top-promise-list {
		width: 100%;
		padding: 0;
		font-size: 0;
		counter-reset: num;
}

.top-promise-list-row {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		overflow: hidden;
		width: 100%;
}

.top-promise-list-img {
		width: 50%;
}

.top-promise-list-img img {
		width: 100%;
}

.top-promise-list-txt {
		position: relative;
		float: right;
		width: 50%;
		padding: 6.15% 0 6.15% 6.15%;
		font-size: 14px;
}

.top-promise-list-txt img {
		margin-bottom: 10px;
}

.top-promise-list-txt-r {
		position: relative;
		float: right;
		width: 50%;
		padding: 6.15%;
		text-align: right;
		font-size: 14px;
}

.top-promise-list-txt-r img {
		margin-bottom: 10px;
}

.top-promise-list-copy {
		font-weight: normal;
		line-height: 1em;
		margin-bottom: 15px;
}

.top-promise-list-copy span {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size: 14px;
}

.top-promise-list li:first-child {
		background: #efe5d3;
}

.top-promise-list li:nth-child(even) .top-promise-list-img {
		float: right;
}

.top-promise-list li:nth-child(even) .top-promise-list-txt {
		float: left;
}

.top-promise-list li:nth-child(1) .top-promise-list-img {
		background: url(../images/top-promise01.jpg) center;
		background-size: cover;
}

.top-promise-list li:nth-child(2) .top-promise-list-img {
		background: url(../images/top-promise02.jpg) center;
		background-size: cover;
}

.top-promise-list li:nth-child(3) .top-promise-list-img {
		background: url(../images/top-promise03.jpg) center;
		background-size: cover;
}

@media only screen and (max-width: 767px) {
		.top-promise-ttl-bg {
				height: 130px;
		}
		.top-promise-ttl img {
				width: 105px;
		}
		.top-promise-list li:nth-child(2) .top-promise-list-row {
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: reverse;
				-webkit-flex-direction: column-reverse;
				-ms-flex-direction: column-reverse;
				flex-direction: column-reverse;
		}
		.top-promise-list-row {
				display: block;
		}
		.top-promise-list-img {
				width: 100%;
				height: 250px;
		}
		.top-promise-list-txt {
				float: none;
				width: 100%;
				padding: 40px 20px;
				font-size: 13px;
		}
		.top-promise-list-txt-r {
				float: none;
				width: 100%;
				padding: 40px 20px;
				font-size: 13px;
				text-align: left;
		}
		.top-promise-list-copy {
				margin-bottom: 15px;
		}
		.top-promise-list-copy span {
				display: block;
				margin-top: 10px;
				font-size: 18px;
		}
}


/* top-img-section */

.top-link-bnr {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 1;
		-ms-flex: 1 1 1;
		flex: 1 1 1;
		width: 100%;
}

.top-link-col {
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
}

.top-link-col figure {
		position: relative;
}

.top-link-col figure>img {
		width: 100%;
}

.top-link-col figure figcaption {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

.top-link-col figure figcaption .cap-box {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 20px;
}

.top-link-col figure figcaption .cap-box:after {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.4);
		content: "";
		z-index: 1;
		-webkit-transition: 0.6s;
		transition: 0.6s;
}

.top-link-col figure figcaption .cap-box:hover:after {
		background: transparent;
}

.top-link-col figure figcaption .cap-border {
		position: relative;
		width: 100%;
		height: 100%;
		z-index: 2;
}

.top-link-col figure figcaption .cap-border:before,
.top-link-col figure figcaption .cap-border:after {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		z-index: 2;
}

.top-link-col figure figcaption .cap-border:before {
		top: -2px;
		left: -2px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
}

.top-link-col figure figcaption .cap-border:after {
		right: 0;
		bottom: 0;
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff;
}

.top-link-col figure figcaption:hover .cap-border:before,
.top-link-col figure figcaption:hover .cap-border:after {
		position: absolute;
		width: 0;
		height: 0;
}

.top-link-col figure figcaption:hover .cap-border:before,
.top-link-col figure figcaption:hover .cap-border:after {
		-webkit-transition: height .2s, width .2s .2s, opacity 1s;
		transition: height .2s, width .2s .2s, opacity 1s;
		opacity: 0;
}

.top-link-col figure figcaption .cap-box a {
		position: relative;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		position: relative;
		width: 100%;
		height: 100%;
		margin: auto;
		color: #fff;
		font-size: 40px;
		line-height: 0.7em;
		text-align: center;
}

.top-link-col figure figcaption .cap-box a:hover img {
		opacity: 1;
}

.top-link-col figure figcaption span {
		position: absolute;
		top: 56%;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		font-size: 13px;
}

.top-link-col figure figcaption a:hover {
		text-decoration: none;
}

@media only screen and (max-width: 767px) {
		.top-link-bnr {
				display: block;
		}
		.top-link-col {
				-webkit-box-flex: initial;
				-webkit-flex: initial;
				-ms-flex: initial;
				flex: initial;
		}
		.top-link-col figure {
				position: relative;
		}
		.top-link-col figure>img {
				width: 100%;
		}
		.top-link-col figure figcaption {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
		}
		.top-link-col figure figcaption .cap-box {
				position: relative;
				width: 100%;
				height: 100%;
				padding: 10px;
		}
		.top-link-col figure figcaption .cap-box:after {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.4);
				content: "";
				z-index: 1;
				-webkit-transition: 0.6s;
				transition: 0.6s;
		}
		.top-link-col figure figcaption .cap-box:hover:after {
				background: transparent;
		}
		.top-link-col figure figcaption .cap-border {
				position: relative;
				width: 100%;
				height: 100%;
				z-index: 2;
		}
		.top-link-col figure figcaption .cap-border:before,
		.top-link-col figure figcaption .cap-border:after {
				position: absolute;
				content: "";
				width: 100%;
				height: 100%;
				z-index: 2;
		}
		.top-link-col figure figcaption .cap-border:before {
				top: -2px;
				left: -2px;
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
		.top-link-col figure figcaption .cap-border:after {
				right: 0;
				bottom: 0;
				border-left: 1px solid #fff;
				border-bottom: 1px solid #fff;
		}
		.top-link-col figure figcaption:hover .cap-border:before,
		.top-link-col figure figcaption:hover .cap-border:after {
				position: absolute;
				width: 0;
				height: 0;
		}
		.top-link-col figure figcaption:hover .cap-border:before,
		.top-link-col figure figcaption:hover .cap-border:after {
				-webkit-transition: height .2s, width .2s .2s, opacity 1s;
				transition: height .2s, width .2s .2s, opacity 1s;
				opacity: 0;
		}
		.top-link-col figure figcaption .cap-box a {
				position: relative;
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-webkit-justify-content: center;
				-ms-flex-pack: center;
				justify-content: center;
				-webkit-box-align: center;
				-webkit-align-items: center;
				-ms-flex-align: center;
				align-items: center;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
				position: relative;
				width: 100%;
				height: 100%;
				margin: auto;
				color: #fff;
				font-size: 40px;
				line-height: 0.7em;
				text-align: center;
		}
		.top-link-col figure figcaption .cap-box a:hover img {
				opacity: 1;
		}
		.top-link-col figure figcaption span {
				position: absolute;
				top: 60%;
				right: 0;
				bottom: 0;
				left: 0;
				margin: auto;
				font-size: 16px;
		}
		.top-link-col figure figcaption a:hover {
				text-decoration: none;
		}
}
.recruit-bnrs {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;background-color: #fff;
	padding-top: 40px;
	padding-bottom: 40px;
}
.recruit-bnrs .bnr-link {
	width: 244px;
	display: block;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.recruit-bnrs {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding-bottom: 20px;
	}
	.recruit-bnrs .bnr-link {
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 480px) {
	.recruit-bnrs {
		padding-bottom: 40px;
	}
	.recruit-bnrs .bnr-link:last-child {
		margin-bottom: 0px;
	}
}

/* ************************************************************************
company
***************************************************************************/

.company h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.company-info {
		margin-top: 30px;
		width: 100%;
}

.company-info th {
		padding: 20px 30px;
		background: #EFEEEE;
		border-bottom: 1px solid #fff;
		font-size: 16px;
		font-weight: bold;
}

.company-info td {
		padding: 0 30px;
		border-bottom: 1px solid #aaa;
}

.company-info tr:last-child th {
		border-bottom: none;
}

.company-info tr:last-child td {
		border-bottom: none;
}

.company-address {
		overflow: hidden;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
}

.company-address>li {
		padding-top: 20px;
		margin-top: 30px;
		width: 48%;
		border-top: 1px solid #aaa;
}

.company-address>li:nth-child(1),
.company-address>li:nth-child(2) {
		padding-top: 0;
		border-top: none;
}

.company-address-map iframe {
		width: 100%;
}

.company-address-info {
		height: 180px;
}

.company-address-info h4 {
		margin: 10px 0;
}

.company-address-info p {
		margin-top: 20px;
}

.company-address-info ul {
		margin-top: 20px;
}

.company-address-info ul li {
		margin-left: 20px;
		list-style: disc;
}

.company-org {
		padding: 30px;
		margin-top: 30px;
		text-align: center;
}

.company_name_br {
		display: none;
}

.sign_image {
		margin: 0 auto;
		margin-top: 50px;
		text-align: right;
}

@media only screen and (max-width: 767px) {
		.company-address-map {
				margin-top: 50px;
		}
}

@media only screen and (max-width: 767px) {
		.company h3 {
				padding-left: 10px;
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}
		.company-info {
				margin-top: 20px;
		}
		.company-info th {
				padding: 10px 0;
				font-size: 14px;
				width: 20%;
		}
		.company-info td {
				padding: 10px;
				font-size: 14px;
		}
		.company-address {
				display: block;
		}
		.company-address>li {
				padding-top: 20px;
				margin-top: 50px;
				width: 100%;
		}
		.company-address>li:nth-child(1),
		.company-address>li:nth-child(2) {
				padding-top: 20px;
				border-top: 1px solid #aaa;
		}
		.company-address>li:first-child {
				margin-top: 0;
				border-top: none;
		}
		.company-address-map iframe {
				height: 300px;
		}
		.company-org {
				padding: 10px;
		}
		.company_name_br {
				display: block;
		}
		.sign_image {
				margin-top: 6vw;
				text-align: center;
		}
}


/* ************************************************************************
vision
***************************************************************************/

.vision {
		/*font-family: "Yu Mincho", "YuMincho";*/
		margin-top: 15px;
}

.vision-main {
		display: table;
		width: 100%;
		height: 600px;
		background: url(../images/vision_mv_01.jpg) center 50% no-repeat;
		background-size: cover;
		color: #fff;
		text-align: center;
}

.vision-main dl {
		display: table-cell;
		vertical-align: middle;
}

.vision-main dt img {
		max-width: 290px;
}

.vision-main dd {
		margin: 35px 0 0;
}

.vision-main dd img {
		max-width: 520px;
}

.vision-tab {
		margin-top: 40px;
}

.vision-tab ul {
		text-align: center;
}

.vision-tab ul li {
		display: inline-block;
		margin-left: 15px;
}

.vision-tab ul li:first-child {
		margin-left: 0;
}

.vision-tab ul li.tab-active a {
		background: #000;
}

.vision-tab ul li a {
		display: block;
		width: 210px;
		height: 66px;
		line-height: 66px;
		background: #d00b0b;
		color: #fff;
}

.vision-tab ul li a:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
		text-decoration: none;
}

.vision-content {
		margin-top: 60px;
}

.vision-content h3 {
		position: relative;
		padding-bottom: 15px;
		text-align: center;
		border-bottom: 4px solid #9b9b9b;
		color: #777;
		font-size: 28px;
}

.vision-content h3:after {
		content: "";
		display: block;
		position: absolute;
		bottom: -4px;
		width: 200px;
		border-bottom: 4px solid #d00b0b;
}

.vision-concept {
		padding: 20px 0;
		border-bottom: 4px solid #9b9b9b;
}

.vision-concept dl {
		text-align: center;
}

.vision-concept dl dt {
		font-size: 34px;
}

.vision-concept dl dd {
		margin: 0;
		margin-top: 20px;
		font-size: 15px;
}

.vision-box {
		position: relative;
		overflow: hidden;
		margin-top: 60px;
		width: 100%;
		min-height: 300px;
}

.vision-box-right .vision-paragraph {
		left: 0;
}

.vision-box-right .vision-paragraph-image {
		left: auto;
		right: 0;
}

.lolate-photo {
		height: 533px;
}

.vision-paragraph-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 40%;
}

.vision-paragraph {
		display: table;
		position: relative;
		left: 46%;
		width: 54%;
		height: 300px;
		color: #777;
}

.vision-paragraph-wrap {
		display: table-cell;
		vertical-align: middle;
}

.vision-paragraph-subttl {
		margin-bottom: 20px;
		font-size: 22px;
}

.vision-paragraph-ttl {
		font-size: 26px;
}

.vision-paragraph-body {
		margin-top: 20px;
		font-size: 14px;
}

@media only screen and (max-width: 767px) {
		.vision {
				margin-top: 10px;
		}
		.vision-main {
				height: 300px;
		}
		.vision-main dt img {
				max-width: 80%;
		}
		.vision-main dd {
				margin: 30px 0 0;
		}
		.vision-main dd img {
				max-width: 85%;
		}
		.vision-tab {
				margin-top: 10px;
		}
		.vision-tab ul {
				text-align: center;
		}
		.vision-tab ul li {
				margin-top: 20px;
				margin-left: 3%;
				width: 47%;
		}
		.vision-tab ul li:nth-child(odd) {
				margin-left: 0;
		}
		.vision-tab ul li a {
				padding: 20px 0;
				width: 100%;
				height: auto;
				line-height: 160%;
				font-size: 14px;
		}
		.vision-tab ul li a:hover {
				filter: alpha(opacity=100);
				opacity: 1;
		}
		.vision-content {
				margin-top: 30px;
		}
		.vision-content h3 {
				padding-bottom: 10px;
				font-size: 24px;
		}
		.vision-content h3:after {
				width: 70px;
		}
		.vision-concept {
				padding: 10px 0;
		}
		.vision-concept dl dt {
				font-size: 24px;
		}
		.vision-concept dl dd {
				margin-top: 20px;
				font-size: 14px;
		}
		.vision-box {
				margin-top: 30px;
				min-height: initial;
		}
		.vision-box-right .vision-paragraph {
				left: 0;
		}
		.vision-box-right .vision-paragraph-image {
				left: initial;
				right: 0;
		}
		.vision-paragraph-image {
				position: relative;
				top: 0;
				left: 0;
				width: 100%;
		}
		.vision-paragraph {
				display: block;
				position: relative;
				left: 0;
				margin-top: 30px;
				width: 100%;
				height: auto;
		}
		.vision-paragraph-wrap {
				display: block;
		}
		.vision-paragraph-subttl {
				margin-bottom: 20px;
				font-size: 18px;
		}
		.vision-paragraph-ttl {
				font-size: 22px;
		}
		.vision-paragraph-ttl br {
				display: none;
		}
		.vision-paragraph-body {
				margin-top: 10px;
				font-size: 13px;
		}
		.vision-paragraph-body br {
				display: none;
		}
}


/* ************************************************************************
history
***************************************************************************/

.history h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: bold;
		;
}

.history-tab ul li {
		position: relative;
		z-index: 1;
		bottom: -1px;
		display: inline-block;
		padding: 5px 20px;
		margin: 28px 24px 0 0;
		width: 21%;
		height: 50px;
		background: #6c6c6c;
		text-align: center;
		font-size: 22px;
		font-weight: normal;
		cursor: pointer;
}

.history-tab ul li a {
		line-height: 200%;
		color: #fff;
		text-decoration: none;
}

.history-tab ul li:after {
		content: "";
		position: absolute;
		top: 15px;
		right: -35px;
		width: 0;
		height: 0;
		border-top: solid #6c6c6c;
		border-right: solid transparent;
		border-bottom: solid transparent;
		border-left: solid transparent;
		border-width: 35px;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}

.history-tab ul li:nth-child(1) {
		z-index: 4;
		background: #3d3d3d;
}

.history-tab ul li:nth-child(1):after {
		border-top-color: #3d3d3d;
}

.history-tab ul li:nth-child(2) {
		z-index: 3;
}

.history-tab ul li:nth-child(3) {
		z-index: 2;
		background: #9b9b9b;
}

.history-tab ul li:nth-child(3):after {
		border-top-color: #9b9b9b;
}

.history-tab ul li:nth-child(4) {
		z-index: 1;
		background: #9b9b9b;
}

.history-tab ul li:nth-child(4):after {
		border-top-color: #9b9b9b;
}

.history-tab ul li.tab-active {
		z-index: 10;
		background: #d00b0b;
		cursor: default;
}

.history-tab ul li.tab-active a {
		cursor: default;
}

.history-tab ul li.tab-active:after {
		border-top-color: #d00b0b;
}

.history-tab ul li:hover {
		z-index: 10;
		background: #d00b0b;
}

.history-tab ul li:hover:after {
		border-top-color: #d00b0b;
}

.history-content {
		border-top: 10px solid #d00b0b;
}

.history-list {
		margin-top: 30px;
		width: 100%;
}

.history-list tr th {
		padding: 20px 5px;
		width: 20%;
		background: #EFEEEE;
		border-bottom: 1px solid #fff;
		font-size: 16px;
		font-weight: bold;
}

.history-list tr td {
		padding: 20px 30px;
		border-bottom: 1px solid #aaa;
}

.history-list tr td dl {
		line-height: 1.8em;
		font-size: 14px;
}

.history-list tr td dl dt {
		float: left;
		margin-right: 2%;
		width: 8%;
		text-align: right;
		font-weight: bold;
}

.history-list tr td dl dd {
		overflow: hidden;
}

.history-list tr:last-child th {
		border-bottom: none;
}

.history-list tr:last-child td {
		border-bottom: none;
}

@media only screen and (max-width: 900px) {
		.history-tab ul li {
				width: 20%;
				font-size: 16px;
		}
}

@media only screen and (max-width: 767px) {
		.history {
				margin-top: 30px;
		}
		.history h3 {
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}
		.history-tab ul {
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				-webkit-justify-content: space-between;
				-ms-flex-pack: justify;
				justify-content: space-between;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
		}
		.history-tab ul li {
				bottom: 0;
				padding: 5px 0;
				margin: 0 0 20px;
				width: 48%;
				height: 35px;
				background: #000;
				font-size: 14px;
		}
		.history-tab ul li:after {
				display: none;
		}
		.history-tab ul li:nth-child(1) {
				background: #000;
		}
		.history-tab ul li:nth-child(3) {
				background: #000;
		}
		.history-tab ul li:nth-child(4) {
				background: #000;
		}
		.history-tab ul li.tab-active {
				background: #d00b0b;
		}
		.history-content {
				-webkit-border-radius: 0;
				border-radius: 0;
				border-top: none;
		}
		.history-list {
				margin-top: 20px;
		}
		.history-list tr th {
				display: block;
				table-layout: fixed;
				padding: 5px 0px;
				width: 100%;
				background: #EFEEEE;
				border-bottom: none;
				font-size: 16px;
		}
		.history-list tr th br {
				display: none;
		}
		.history-list tr td {
				display: block;
				padding: 0;
				border-bottom: none;
				table-layout: fixed;
		}
		.history-list tr td dl {
				margin-bottom: 20px;
		}
		.history-list tr td dl dt {
				float: left;
				margin-right: 5%;
				margin-bottom: 10px;
				width: 12%;
				text-align: right;
				font-weight: bold;
		}
		.history-list tr td dl dd {
				display: block;
				table-layout: fixed;
				overflow: hidden;
				margin-bottom: 10px;
		}
		.history-list tr:last-child th {
				border-bottom: none;
		}
		.history-list tr:last-child td {
				border-bottom: none;
		}
}


/* ************************************************************************
service
***************************************************************************/

.service-list {
		overflow: hidden;
		margin-top: 60px;
}

.service-list-img {
		display: block;
}

.service-list li {
		float: left;
		width: 30%;
		height: 500px;
		margin-left: 1%;
		padding-right: 7%;
		margin-right: 7%;
		margin-bottom: 60px;
		border-right: 1px dashed #9b9b9b;
}


/*
.service-list li:nth-child(2n) {
margin-left: 0;
}*/

.service-list li:nth-child(3n) {
		margin-right: 0;
		padding-right: 0;
		border-right: none;
		width: 23%;
}

.service-list li:last-child {
		border-right: none;
}

.service-list li a {
		text-decoration: none;
		word-wrap: break-word;
}

.service-list li a:hover .service-list-name,
.service-list li a:hover .service-list-txt {
		text-decoration: underline;
}

.service-list li a[target="_blank"] .service-list-name:after {
		content: "";
		display: inline-block;
		margin-left: 8px;
		width: 19px;
		height: 14px;
		background: url(../images/icon/icon_link.png);
		background-size: 100%;
}

.service-list li .service-list-img {
		display: block;
		position: relative;
}

.service-list li .service-list-img-main {
		width: 100%;
}

.service-list li .service-list-name {
		margin-top: 20px;
		color: #777;
		font-size: 22px;
		font-weight: bold;
}

.service-list li .service-list-txt {
		margin-top: 20px;
		color: #777;
		font-size: 14px;
}

@media only screen and (max-width: 767px) {
		.service-list {
				margin-top: 50px;
		}
		.service-list li {
				width: 50%;
				height: auto;
				padding-right: 7%;
				margin-right: 7%;
				margin-left: 0;
				margin-bottom: 15px;
				border-right: 1px dashed #9b9b9b;
		}
		.service-list li:nth-child(3n) {
				padding-right: 7%;
				margin-right: 7%;
				border-right: 1px dashed #9b9b9b;
				width: 50%;
		}
		.service-list li:nth-child(even) {
				margin-right: 0;
				padding-right: 0;
				border-right: none;
				width: 43%;
		}
		.service-list li .service-list-name {
				margin-top: 10px;
				font-size: 14px;
		}
		.service-list li .service-list-txt {
				margin-top: 10px;
				font-size: 13px;
		}
}


/* ************************************************************************
download
***************************************************************************/

.download h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.dl_all {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}

.sec_txt {
		width: 60%;
}

.sec_img {
		width: 40%;
}

.sec_img img {
		border: #ccc solid 1px;
		display: block;
		-webkit-backface-visibility: hidden;
}

.download dl {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	margin-bottom: 10px;
	margin-left: 25px;
	font-size: 16px;
}

.download dt,
.download dd,
.download dd span {
		line-height: 38px;
		min-height: 38px;
}

.download dt {
		width: 100px;
		float: left;
}

.download dd {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	overflow: hidden;
	padding-left: 1em;
/*	padding-right: 1em;*/
	text-indent: -1em;
}

.download dd a {
		display: block;
		padding: 0;
		color: #19209e;
		vertical-align: middle;
}

.download dd a:hover {
		color: #d00b0b;
		text-decoration: none;
}

.download dd a:before {
		content: ">";
		margin-right: 10px;
}

.download dd a:after {
		content: '';
		display: inline-block;
		width: 34px;
		height: 34px;
		background: url(/contents/images/icon/icon_print_pdf.png);
		background-size: contain;
		vertical-align: middle;
		margin-left: -10px;
		margin-top: -10px;
}

.download dd a:hover:after {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

@media only screen and (max-width: 767px) {
		.download h3 {
				padding-left: 10px;
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}

		.dl_all {
				-webkit-box-orient: vertical;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
		}
		.sec_txt,
		.sec_img {
				width: 100%;
		}
		.sec_img img {
				width: 50%;
		}

		.download dl {
				font-size: 14px;
				margin-bottom: 0;
				margin-left: 0;
		}

		.download dt,
		.download dd,
		.download dd span {
				line-height: 26px;
				min-height: 26px;
		}

		.download dt {
				width: 100%;
				clear: left;
		}

		.download dd {
				width: 100%;
				float: left;
				margin-left: 0;
				margin-bottom: 10px;
		}

		.download dd a:before {
				margin-right: 5px;
		}
}


/* ************************************************************************
group
***************************************************************************/

.group-msg-main {
		position: relative;
		margin-top: 30px;
		text-align: right;
}

.group-msg-main img {
		width: 400px;
}

.group-msg-copy {
		position: absolute;
		top: 4px;
		left: 0;
}

.ceo_message {
		float: left;
		position: absolute;
		z-index: 10;
}

.group-msg h2.message {
		margin-top: 40px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.group-msg p.voice {
		font-size: 50px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		background: rgba(255, 255, 255, 0.9);
}

.group-msg p.voice-box {
		line-height: 1.3em;
}

@media only screen and (max-width: 840px) {
		.group-msg p.voice {
				font-size: 40px;
		}
}

.group-msg p.ceo {
		font-size: 20px;
		font-weight: bold;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.group-msg p.ceo-box {
		margin-top: 20px;
}

.group-msg p {
		margin-top: 50px;
		line-height: 200%;
		font-size: 14px;
		text-align: justify;
}

.group-msg p.hkr-url {
		margin-top: 20px;
}

.group-service img {
		margin-top: 55px;
		width: 100%;
}

.group-service p {
		margin-top: 60px;
		line-height: 180%;
		font-size: 16px;
}

.group-company .company-info {
		margin-top: 55px;
}

@media only screen and (max-width: 767px) {
		.group-msg-main {
				margin-top: 30px;
				text-align: left;
		}
		.group-msg-main img {
				width: 100%;
				height: auto;
		}
		.ceo_message {
				position: inherit;
		}
		.group-msg-copy {
				position: relative;
				top: 0;
				right: initial;
				left: 0;
				width: 80%;
		}
		.group-msg-photo {
				margin-top: 40px;
		}
		.group-msg p.voice {
				font-size: 2.6rem;
				line-height: 1.4em;
		}
		.group-msg p {
				margin-top: 30px;
				font-size: 16px;
		}
		.group-service img {
				margin-top: 30px;
		}
		.group-service p {
				margin-top: 20px;
				font-size: 16px;
		}
		.group-company .company-info {
				margin-top: 30px;
		}
}


/* ************************************************************************
brand
***************************************************************************/

.brand-lists {
		border-bottom: 1px dashed #9b9b9b;
}

.brand-lists h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.brand-lists.last {
		border-bottom: none;
}

.brand-list {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: 50px;
}

.brand-list-item {
		margin-bottom: 56px;
		width: 17%;
}

.brand-list-item a {
		display: block;
}

.brand-list-img {
		text-align: center;
}

.brand-list-txt {
		margin-top: 15px;
		color: #777;
		font-size: 14px;
}

@media only screen and (max-width: 767px) {
		.brand-lists h3 {
				margin-top: 35px;
				font-size: 18px;
		}
		.brand-list {
				margin-top: 25px;
		}
		.brand-list-item {
				margin-bottom: 40px;
				width: 45%;
		}
		.brand-list-txt {
				font-size: 13px;
		}
}


/* related link */

.related-link {
		overflow: hidden;
}

.related-link ul {
		margin-top: 40px;
		text-align: center;
}

.related-link ul li {
		display: inline-block;
		margin-left: 2%;
		width: 31%;
}

.related-link ul li:first-child {
		margin-left: 0;
}

@media only screen and (max-width: 767px) {
		.related-link {
				display: none;
		}
		.related-link ul {
				margin-top: 40px;
		}
		.related-link ul li {
				float: left;
				margin-top: 20px;
				margin-left: 0;
		}
		.related-link ul li:first-child {
				margin-top: 0;
		}
}


/* ************************************************************************
search
***************************************************************************/


/* location */

.location-search {
		margin: 30px 0;
		padding: 20px 0;
		width: 100%;
		background-color: #efeeee;
		text-align: center;
		color: #777;
		font-size: 22px;
}

.location-search .location-search-btn {
		display: inline-block;
		color: #fff;
		font-size: 20px;
		background-color: #d32b2b;
		padding: 18px 20px;
		text-align: center;
		margin-top: 15px;
		margin-bottom: 20px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		cursor: pointer;
}

.location-search .location-search-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.location-search .location-search-btn img {
		margin-right: 10px;
		width: 19px;
}

.location-search .location-search-note {
		font-size: 14px;
}

@media only screen and (max-width: 767px) {
		.location-search {
				margin: 15px 0;
				padding: 30px 20px;
				font-size: 18px;
		}
		.location-search .location-search-btn {
				width: 100%;
				font-size: 18px;
				padding: 18px 0;
				margin-top: 10px;
				margin-bottom: 20px;
				-webkit-border-radius: 5px;
				border-radius: 5px;
				cursor: pointer;
		}
		.location-search .location-search-btn:hover {
				filter: alpha(opacity=60);
				opacity: 0.6;
		}
		.location-search .location-search-btn img {
				position: relative;
				top: -1px;
				margin-right: 8px;
				width: 15px;
		}
		.location-search .location-search-note {
				font-size: 12px;
		}
}


/* area */

.area-search {
		float: left;
		width: 66%;
		margin-right: 3%;
}

.area-search .content-box-inner {
		padding: 30px 20px;
}

.area-search-list {
		position: relative;
}

.area-search-group {
		position: absolute;
		/* 北海道 */
		/* 関東 */
		/* 中部 */
		/* 近畿 */
		/* 中国・四国 */
		/* 九州・沖縄 */
		/* 海外・その他 */
}

.area-search-group-name {
		font-size: 22px;
		font-weight: normal;
		margin-bottom: 10px;
}

.area-search-group ul {
		width: 200px;
}

.area-search-group ul li {
		display: inline-block;
		margin-left: 6px;
		margin-bottom: 10px;
		text-align: center;
		color: #d00b0b;
}

.area-search-group ul li:nth-child(odd) {
		margin-left: 0;
}

.area-search-group ul li a {
		padding: 3px 10px 2px;
		width: 90px;
		border: 1px solid #d00b0b;
		text-decoration: none;
		color: #d00b0b;
}

.area-search-group ul li a:hover {
		background: #d00b0b;
		color: #fff;
}

.area-search-group.area-group-01 {
		right: 0%;
		bottom: 340px;
}

.area-search-group.area-group-02 {
		right: 3%;
		bottom: 40px;
}

.area-search-group.area-group-03 {
		left: 30%;
		bottom: 360px;
}

.area-search-group.area-group-04 {
		right: 45%;
		bottom: 50px;
}

.area-search-group.area-group-other {}

.area-search-group.area-group-04 ul {
		width: 90px;
}

.area-search-group.area-group-04 ul li {
		margin-left: 0;
}

.area-search-group.area-group-05,
.area-search-group.area-group-06 {
		left: 18%;
		bottom: 300px;
		color: #dbdbdb;
}

.area-search-group.area-group-06 {
		left: 0%;
		bottom: 200px;
}

.area-search-group.area-group-06 ul {
		width: 90px;
}

.area-search-group.area-group-06 ul li {
		margin-left: 0;
}

.area-search-group.area-group-other {
		left: 0%;
		bottom: 520px;
}

.area-search-group.area-group-other ul {
		width: inherit;
}

.area-search-group.area-group-other ul li {
		width: inherit;
}

.area-search-group.area-group-other ul li a {
		margin-left: 0;
}

@media only screen and (max-width: 1184px) {
		.area-search .content-box-inner {
				padding-top: 105px;
				padding-bottom: 105px;
		}
		.area-search-group {
				/* 北海道 */
				/* 関東 */
				/* 中部 */
				/* 近畿 */
				/* 中国・四国 */
				/* 九州・沖縄 */
				/* 海外・その他 */
		}
		.area-search-group-name {
				font-size: 18px;
				margin-bottom: 5px;
		}
		.area-search-group ul {
				width: 170px;
		}
		.area-search-group ul li {
				margin-left: 0;
				margin-bottom: 10px;
				font-size: 16px;
		}
		.area-search-group ul li a {
				width: 80px;
				padding: 2px 5px;
		}
		.area-search-group.area-group-01 {
				right: 2%;
				bottom: 250px;
		}
		.area-search-group.area-group-02 {
				right: 6%;
				bottom: 45px;
		}
		.area-search-group.area-group-03 {
				left: 30%;
				bottom: 250px;
		}
		.area-search-group.area-group-04 {
				right: 48%;
				bottom: 15px;
		}
		.area-search-group.area-group-04 ul {
				width: 90px;
		}
		.area-search-group.area-group-04 ul li {
				margin-left: 0;
		}
		.area-search-group.area-group-05 {
				left: 18%;
				bottom: 210px;
				color: #dbdbdb;
		}
		.area-search-group.area-group-06 {
				left: 0%;
				bottom: 60px;
		}
		.area-search-group.area-group-06 ul {
				width: inherit;
		}
		.area-search-group.area-group-06 ul li {
				margin-left: 0;
		}
		.area-search-group.area-group-other {
				left: 0%;
				bottom: 380px;
		}
		.area-search-group.area-group-other ul {
				width: inherit;
		}
		.area-search-group.area-group-other ul li {
				width: inherit;
		}
		.area-search-group.area-group-other ul li a {
				margin-left: 0;
		}
}

@media only screen and (max-width: 767px) {
		.area-search {
				display: none;
		}
}


/* area serch list(mobile) */

.area-search-mobile {
		display: none;
}

@media only screen and (max-width: 767px) {
		.area-search-mobile {
				display: block;
		}
		.area-search-mobile-list {
				padding: 25px 0;
		}
		.area-search-mobile-list li {
				position: relative;
				background: #fff;
				border-top: 1px solid #9b9b9b;
				font-size: 18px;
		}
		.area-search-mobile-list li:first-child {
				border-top: 0;
		}
		.area-search-mobile-list li a,
		.area-search-mobile-list li span {
				display: block;
				padding: 18px 20px;
		}
		.area-search-mobile-list li a {
				color: #000;
		}
		.area-search-mobile-list li a:after {
				content: "";
				display: block;
				position: absolute;
				top: 50%;
				right: 25px;
				margin-top: -8px;
				width: 10px;
				height: 10px;
				border-top: 5px solid #d00b0b;
				border-right: 5px solid #d00b0b;
				-webkit-transform: rotate(45deg);
				-ms-transform: rotate(45deg);
				transform: rotate(45deg);
		}
}


/* japan map */

.jp-map {
		overflow: hidden;
		height: 610px;
}

.jp-map canvas {
		position: relative;
		left: -180px;
}

@media only screen and (max-width: 1184px) {
		.jp-map {
				height: 460px;
		}
		.jp-map canvas {
				left: 50%;
				margin-left: -410px;
		}
}


/* free word */

.freeword-search {
		overflow: hidden;
		width: 31%;
}

.freeword-search .content-box-inner {
		padding-bottom: 107px;
}

.freeword-search input {
		margin-top: 10px;
		width: 100%;
}

.freeword-search-btn {
		display: block;
		padding: 8px 0;
		margin: 30px auto 0;
		width: 142px;
		background: #d00b0b;
		border: none;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		font-size: 20px;
}

.freeword-search-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.freeword-search-btn img {
		position: relative;
		top: 2px;
		margin-left: -12px;
		margin-right: 10px;
		width: 24px;
}

@media only screen and (max-width: 767px) {
		.freeword-search {
				width: 100%;
		}
		.freeword-search .content-box-inner {
				padding-bottom: 30px;
		}
}


/* brand */

.brand-search {
		overflow: hidden;
		width: 31%;
}

.brand-search-btn {
		text-align: center;
		display: block;
		padding: 0;
		margin: 20px auto 0;
		height: 60px;
		line-height: 60px;
		background: #d00b0b;
		border: none;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		font-size: 20px;
}

.brand-search-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
		text-decoration: none;
}

.brand-search-btn:first-child {
		margin-top: 0;
}

.brand-search-btn img {
		vertical-align: middle;
		margin-left: -12px;
		margin-right: 10px;
		width: 34px;
}

@media only screen and (max-width: 767px) {
		.brand-search {
				width: 100%;
		}
}


/* brand list */

.brand-search-list-tab ul li {
		position: relative;
		z-index: 1;
		bottom: -1px;
		display: inline-block;
		padding: 10px 20px;
		margin: 28px 24px 0 0;
		width: 240px;
		height: 60px;
		background: #6c6c6c;
		text-align: center;
		font-size: 22px;
		font-weight: normal;
		cursor: pointer;
}

.brand-search-list-tab ul li a {
		line-height: 200%;
		color: #fff;
		text-decoration: none;
}

.brand-search-list-tab ul li:after {
		content: "";
		position: absolute;
		top: 18px;
		right: -42px;
		width: 0;
		height: 0;
		border-top: solid #6c6c6c;
		border-right: solid transparent;
		border-bottom: solid transparent;
		border-left: solid transparent;
		border-width: 42px;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}

.brand-search-list-tab ul li:nth-child(1) {
		z-index: 3;
		background: #3d3d3d;
}

.brand-search-list-tab ul li:nth-child(1):after {
		border-top-color: #3d3d3d;
}

.brand-search-list-tab ul li:nth-child(2) {
		z-index: 2;
}

.brand-search-list-tab ul li:nth-child(3) {
		z-index: 1;
		background: #9b9b9b;
}

.brand-search-list-tab ul li:nth-child(3):after {
		border-top-color: #9b9b9b;
}

.brand-search-list-tab ul li.tab-active {
		z-index: 10;
		background: #d00b0b;
		cursor: default;
}

.brand-search-list-tab ul li.tab-active a {
		cursor: default;
}

.brand-search-list-tab ul li.tab-active:after {
		border-top-color: #d00b0b;
}

.brand-search-list-tab ul li:hover {
		z-index: 10;
		background: #d00b0b;
}

.brand-search-list-tab ul li:hover:after {
		border-top-color: #d00b0b;
}

.brand-search-list-content {
		-webkit-border-radius: 0 5px 0 0;
		border-radius: 0 5px 0 0;
		border-top: 10px solid #d00b0b;
}

.brand-search-list-content ul {
		padding: 40px 0 0;
		border-top: 30px solid #efeeee;
		border-bottom: 30px solid #efeeee;
		border-left: 20px solid #efeeee;
		border-right: 20px solid #efeeee;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}

.brand-search-list-content ul li {
		width: 20%;
		margin-bottom: 40px;
		text-align: center;
}

.brand-search-list-content ul li img {
		margin-bottom: 15px;
}

.brand-search-list-content ul li span {
		display: block;
		width: 100%;
		font-size: 14px;
		line-height: 1.2em;
}

.brand-search-list-content ul li a {
		color: #000;
}

@media only screen and (max-width: 767px) {
		.brand-search-list-tab ul {
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				-webkit-justify-content: space-between;
				-ms-flex-pack: justify;
				justify-content: space-between;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
		}
		.brand-search-list-tab ul li {
				bottom: 0;
				padding: 5px 0;
				margin: 28px 0 0 0;
				width: 31%;
				height: 35px;
				background: #000;
				font-size: 14px;
		}
		.brand-search-list-tab ul li:after {
				display: none;
		}
		.brand-search-list-tab ul li:nth-child(1) {
				background: #000;
		}
		.brand-search-list-tab ul li:nth-child(3) {
				background: #000;
		}
		.brand-search-list-tab ul li.tab-active {
				background: #d00b0b;
		}
		.brand-search-list-content {
				-webkit-border-radius: 0;
				border-radius: 0;
				border-top: none;
		}
		.brand-search-list-content ul {
				padding: 35px 0 0;
				border-top: none;
				border-bottom: none;
				border-left: none;
				border-right: none;
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				-webkit-justify-content: space-between;
				-ms-flex-pack: justify;
				justify-content: space-between;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
		}
		.brand-search-list-content ul li {
				width: 46%;
				margin-bottom: 32px;
		}
		.brand-search-list-content ul li img {
				margin-bottom: 15px;
				border: 1px solid #dedede;
		}
}


/* recruit links */

.recruit-links {
		margin-top: 65px;
}

.recruit-links ul {
		text-align: center;
}

.recruit-links ul li {
		display: inline-block;
		margin-left: 2%;
		width: 48%;
}

.recruit-links ul li:first-child {
		margin-left: 0;
}

.recruit-links ul li a {
		display: block;
}

.recruit-links ul li a:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.recruit-links ul li a img {
		width: 100%;
		max-width: 600px;
}

@media only screen and (max-width: 767px) {
		.recruit-links {
				margin-top: 15px;
		}
		.recruit-links ul li {
				margin-top: 25px;
				margin-left: 0;
				width: 100%;
		}
		.recruit-links ul li:first-child {
				margin-top: 0;
		}
		.recruit-links ul li a img {
				max-width: 100%;
		}
}


/* ************************************************************************
search result
***************************************************************************/

.search-box {
		overflow: hidden;
		padding: 20px;
		margin-top: 30px;
		background: #efeeee;
}

.search-box-content {
		float: left;
		width: 48%;
		margin-left: 2%;
		margin-bottom: 30px;
}

.search-box-content:first-child {
		margin-left: 0;
}

.search-box-title {
		padding-bottom: 5px;
		border-bottom: 2px solid #9b9b9b;
		font-size: 18px;
		font-weight: normal;
}

.search-box-title:before {
		content: "";
		display: inline-block;
		position: relative;
		top: -1px;
		margin-right: 10px;
		width: 12px;
		height: 12px;
		background: #d00b0b;
		-webkit-border-radius: 100%;
		border-radius: 100%;
}

.search-box-select {
		/* 2017/09/10 */
		/*  position: relative;*/
		float: left;
		margin-top: 20px;
		margin-right: 40px;
		font-weight: normal;
}

.search-box-select:last-child {
		margin-right: 0;
}

.search-box-select:after {
		/* 2017/09/10 */
		/*
content: "";
position: absolute;
top: 50%;
margin-top: -6px;
right: 15px;
width: 6px;
height: 6px;
border: 0px;
border-top: solid 2px #9b9b9b;
border-right: solid 2px #9b9b9b;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
*/
}

.search-box-select label {
		float: left;
		margin-right: 20px;
}

.search-box-select select {
		width: 170px;
		font-size: 14px;
}

.search-box-submit-btn {
		display: block;
		padding: 8px 0;
		margin: 0 auto;
		width: 142px;
		background: #d00b0b;
		border: none;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		font-size: 20px;
}

.search-box-submit-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

@media only screen and (max-width: 767px) {
		.search-box {
				padding: 30px 15px;
				margin-top: 15px;
		}
		.search-box-content {
				width: 100%;
				margin-left: 0;
		}
		.search-box-select {
				margin-top: 15px;
				margin-right: 8%;
				width: 46%;
		}
		.search-box-select:after {
				top: initial;
				margin-top: 0;
				bottom: 18px;
		}
		.search-box-select-wide {
				width: 100%;
		}
		.search-box label {
				margin-right: 20px;
				display: block;
				float: none;
		}
		.search-box select {
				width: 100%;
				font-size: 12px;
				padding: 10px 9px;
		}
}

.search-result {
		margin-top: 10px;
}

.search-result article {
		overflow: hidden;
		/*border-bottom: dashed 1px #9b9b9b;*/
		padding: 40px 0;
}

.search-result-image {
		width: 274px;
		height: 190px;
		background-repeat: no-repeat;
		background-size: inherit;
		background-position: center 50%;
		float: left;
		margin-right: 40px;
}

.search-result-info {
		overflow: hidden;
}

.search-result-category {
		display: inline-block;
		color: #d00b0b;
		font-size: 14px;
		font-weight: bold;
		padding: 0 8px;
		border: solid 2px;
		margin-right: 15px;
		font-style: normal;
}

.search-result-name {
		overflow: hidden;
		padding-bottom: 10px;
		border-bottom: solid 2px;
		border-color: #9b9b9b;
		margin-bottom: 20px;
		font-weight: bold;
}

.search-result-shop {
		overflow: hidden;
		padding: 20px 0 15px;
		display: block;
		font-size: 16px;
		line-height: 2;
}

.search-result-shop span {
		padding-right: 30px;
}

.search-result-shop-info {
		float: left;
		padding-right: 60px;
		overflow: hidden;
}

.search-result-shop-hours {
		overflow: hidden;
}

.search-result-shop-hours span {
		display: block;
		float: left;
}

.search-result-shop-hours-chunk {
		overflow: hidden;
}

.search-result-shop-hours-chunk br {
		display: none;
}

.search-result-shop-hours-chunk-weekday {
		float: left;
		padding-right: 20px;
		padding-bottom: 5px;
}

.search-result-shop-hours-chunk-time {
		padding-bottom: 5px;
}

.search-result-features {
		overflow: hidden;
		float: left;
}

.search-result-features li {
		padding-right: 20px;
		float: left;
}

.search-result-link {
		float: right;
		background-color: #d00b0b;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 10px 40px;
		color: #fff;
		font-size: 14px;
}

.search-result-link:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

ul.search-result-pager {
		overflow: hidden;
		margin: 30px 0;
}

ul.search-result-pager li {
		float: right;
		display: inline-block;
		padding-left: 12px;
		font-size: 18px;
		font-weight: bold;
}

ul.search-result-pager li a {
		color: #333 !important;
}

ul.search-result-pager li.search-result-pager-active {
		color: #d00b0b !important;
}

ul.search-result-pager li.search-result-pager-active a {
		color: #d00b0b !important;
}

@media only screen and (max-width: 767px) {
		.search-result-image {
				float: none;
				padding-right: 0;
				width: 100%;
		}
		.search-result-image img {
				width: 100%;
				background-size: cover;
		}
		.search-result-category {
				position: relative;
				top: -2px;
				font-size: 12px;
		}
		.search-result-name {
				padding: 15px 0 10px;
				font-size: 18px;
		}
		.search-result-shop {
				padding-top: 15px;
				font-size: 13px;
		}
		.search-result-shop-info {
				float: none;
				padding-right: 0px;
		}
		.search-result-shop-address {
				padding-bottom: 10px;
		}
		.search-result-shop-tel {
				padding-bottom: 10px;
		}
		.search-result-shop-hours span {
				padding-bottom: 10px;
		}
		.search-result-shop-hours-chunk {
				clear: both;
				line-height: 180%;
		}
		.search-result-shop-hours-chunk-weekday {
				float: left;
				padding-right: 30px;
		}
		.search-result-shop-hours-chunk-time {
				overflow: hidden;
		}
		.search-result-features {
				overflow: hidden;
				float: initial;
		}
		.search-result-link {
				float: none;
				display: block;
				width: 80%;
				margin: 0 auto;
				margin-top: 30px;
				text-align: center;
		}
}


/* ************************************************************************
shop
***************************************************************************/

.shop {
		overflow: hidden;
		margin-top: 45px;
}

.shop-image {
		float: left;
		margin-right: 50px;
		width: 46%;
		max-width: 580px;
		height: 400px;
		background-size: cover;
		background-position: center 50%;
}

.shop-name {
		overflow: hidden;
		padding-bottom: 10px;
		border-bottom: solid 2px;
		border-color: #9b9b9b;
		margin-bottom: 20px;
		font-weight: normal;
}

.shop-category {
		position: relative;
		top: -1px;
		display: inline-block;
		border: 2px solid #d00b0b;
		color: #d00b0b;
		font-size: 14px;
		font-weight: bold;
		padding: 2px 10px;
		margin-right: 15px;
}

.shop-map {
		margin-top: 40px;
}

.shop-map iframe {
		width: 100%;
}

.shop-social {
		margin-top: 50px;
}

.shop-social ul {
		text-align: center;
}

.shop-social ul li {
		display: inline-block;
		margin-left: 2%;
}

.shop-social ul li:first-child {
		margin-left: 0;
}

.shop-social ul li a {
		display: block;
}

.shop-social ul li a:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.shop-social .social-btn {
		display: inline-block;
		padding: 0;
		width: 370px;
		height: 70px;
		line-height: 70px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		font-size: 20px;
		text-decoration: none;
}

.shop-social .social-btn i {
		display: inline-block;
		vertical-align: middle;
		margin-right: 20px;
		line-height: normal;
}

.shop-social .social-btn.line-btn {
		background: #00b900;
}

.shop-social .social-btn.print-btn {
		background: #d00b0b;
}

.search-back-btn {
		display: block;
		margin: 70px auto 0;
		width: 238px;
		height: 50px;
		line-height: 50px;
		background: #000;
		text-align: center;
		color: #fff;
		font-size: 14px;
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
}

.search-back-btn:hover {
		background: #d00b0b;
}

@media print {
		.shop-social {
				display: none;
		}
}

@media only screen and (max-width: 767px) {
		.shop {
				margin-top: 15px;
		}
		.shop-image {
				float: initial;
				padding: 30% 0;
				margin-right: 0;
				width: 100%;
				height: auto;
				background-size: cover;
				background-position: center 50%;
		}
		.shop-name {
				font-size: 18px;
		}
		.shop-category {
				font-size: 11px;
		}
		.shop-map {
				margin-top: 20px;
		}
		.shop-map iframe {
				height: 300px;
		}
		.shop-social {
				margin-top: 45px;
		}
		.shop-social ul li {
				margin-left: 0;
				width: 100%;
		}
		.shop-social ul li:first-child {
				margin-left: 0;
		}
		.shop-social ul li.pc-only {
				display: none;
		}
		.shop-social .social-btn {
				width: 100%;
				height: 60px;
				line-height: 60px;
				font-size: 18px;
		}
		.shop-social .social-btn i {
				margin-right: 5px;
		}
		.search-back-btn {
				margin-top: 30px;
				-webkit-border-radius: 5px;
				border-radius: 5px;
				font-size: 18px;
		}
}


/* ************************************************************************
shop info
***************************************************************************/

.shop-info {
		overflow: hidden;
}

.shop-info-box {
		overflow: hidden;
}

.shop-info-box>dl {
		margin: 20px 0 0;
}

.shop-info-box>dl:first-child {
		margin-top: 0;
}

.shop-info-box>dl>dt {
		float: left;
		width: 85px;
}

.shop-info-box>dl>dd {
		overflow: hidden;
		margin: 0;
}

.shop-time {
		position: relative;
		top: -5px;
		line-height: 240%;
}

.shop-time-list {
		margin: 0;
}

.shop-time-list dt {
		display: inline-block;
		margin-right: 20px;
}

.shop-time-list dd {
		display: inline-block;
		margin: 0;
}

.shop-time-list dd br {
		display: none;
}

.shop-features {
		overflow: hidden;
		float: left;
		margin-top: 10px;
		padding-top: 15px;
		width: 100%;
		border-top: 1px dotted #9b9b9b;
}

.shop-features li {
		padding-right: 20px;
		padding-top: 10px;
		float: left;
}

@media only screen and (max-width: 767px) {
		.shop-info {
				margin-top: 15px;
		}
		.shop-info-box {
				font-size: 13px;
		}
		.shop-info-box>dl {
				line-height: 160%;
		}
		.shop-info-box>dl>dt {
				width: 38%;
		}
		dl.shop-time>dt {
				float: initial;
		}
		dl.shop-time>dd {
				margin-top: 10px;
		}
		dl.shop-time-list dt {
				float: left;
				margin-right: 0;
				width: 38%;
		}
		dl.shop-time-list dd {
				overflow: hidden;
				display: block;
		}
		dl.shop-time-list dd br {
				display: block;
		}
		.shop-features {
				float: initial;
				padding: 25px 0 0;
				margin: 10px 0 0;
		}
}


/* ************************************************************************
shop icons
***************************************************************************/

.shop-icon {
		display: inline-block;
		color: #717171;
		border: solid 1px;
		margin-right: 5px;
		font-size: 14px;
		font-style: normal;
}

.icon-smoking {
		padding: 6px 2px 5px 2px;
}

.icon-delivery {
		padding: 6px 2px 5px 2px;
}

.icon-touchpanle {
		padding: 6px 2px 5px 2px;
}

.icon-parking {
		padding: 1px 10px;
		font-size: 20px;
		font-style: normal;
}

.icon-nosmoking {
		padding: 6px 2px 5px 2px;
}


/* ************************************************************************
news
***************************************************************************/

.news {
		margin-top: 10px;
}

.news article {
		overflow: hidden;
		border-bottom: dashed 1px #9b9b9b;
		padding: 40px 0;
}

.news-image {
		width: 274px;
		height: 190px;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center 50%;
		float: left;
		margin-right: 40px;
}

.news-image2,
.news-image3 {
		width: 100%;
		height: 280px;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left 50%;
		float: none;
		margin: 20px 0;
}

p.c_caption {
		display: block;
		position: relative;
		top: 200px;
		font-size: 12px;
		color: #000;
		padding-left: 55px;
		text-decoration: none;
}

.news-date {
		padding-bottom: 10px;
		border-bottom: 2px solid #9b9b9b;
		margin-bottom: 20px;
		color: #333;
		font-size: 14px;
		font-weight: bold;
}

.news-category {
		display: inline-block;
		margin-left: 15px;
		font-size: 14px;
}

.news-category-item {
		display: inline-block;
		padding: 0 5px;
		min-width: 78px;
		border: 2px solid #d00b0b;
		margin-right: 15px;
		text-align: center;
}

.news-category-item:last-child {
		margin-right: 0;
}

.news-info {
		overflow: hidden;
}

.news-info-box {
		height: 130px;
}

.news-info-box h3 {
		font-size: 24px;
		font-weight: bold;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
}

.news-info-box h3 a {
		color: #333;
}

.news-info-box p {
		margin-top: 10px;
		font-size: 14px;
}

.news-link {
		float: right;
		margin-top: 25px;
		background-color: #d00b0b;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 10px 40px;
		color: #fff;
		font-size: 14px;
}

.news-link:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

@media only screen and (max-width: 767px) {
		.news article {
				padding-top: 0;
		}
		.news-image {
				float: none;
				padding-right: 0;
				width: 100%;
				margin: 20px 0;
		}
		.news-image2,
		.news-image3 {
				margin: 0;
		}
		.news-image img {
				width: 100%;
				background-size: cover;
		}
		p.c_caption {
				display: none;
		}
		.news-category {
				margin-top: 5px;
				margin-left: 0;
				font-size: 12px;
		}
		.news-category-item {
				display: inline-block;
				margin-right: 5px;
				margin-bottom: 5px;
		}
		.news-info-box {
				height: 100px;
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
		}
		.news-info-box h3 {
				font-size: 20px;
		}
		.news-info-box p {
				margin-top: 10px;
				font-size: 13px;
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
		}
		.news-link {
				float: none;
				display: block;
				width: 80%;
				margin: 0 auto;
				margin-top: 30px;
				text-align: center;
		}
}


/* pager */

ul.news-pager {
		overflow: hidden;
		margin: 30px 0;
}

ul.news-pager li {
		float: right;
		display: inline-block;
		padding-left: 12px;
		font-size: 18px;
		font-weight: bold;
}

ul.news-pager li a {
		color: #333 !important;
}

ul.news-pager li.news-pager-active {
		color: #d00b0b !important;
}

ul.news-pager li.news-pager-active a {
		color: #d00b0b !important;
}


/* ************************************************************************
news detail
***************************************************************************/

.news-detail-head h3 {
		font-size: 24px;
		font-weight: bold;
}

.news-detail-head h3 a {
		color: #333;
}

.news-detail-body {
		font-size: 14px;
		margin-top: 10px;
}

.news-detail-body img {
		margin-top: 30px;
}

.news-detail-body p {
		margin-top: 30px;
}

@media only screen and (max-width: 767px) {
		.news-detail-head h3 {
				font-size: 20px;
		}
		.news-detail-body img {
				display: block;
				margin: 20px auto 0;
		}
		.news-detail-body p {
				margin-top: 20px;
				font-size: 13px;
		}
}


/* social buttons */

.news-social {
		margin-top: 20px;
}

.news-social a {
		float: right;
}

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

.news-social a img {
		vertical-align: middle;
		transition: .3s;
}

.news-social ul {
		text-align: right;
		padding: 0;
}

.news-social ul li {
		display: inline-block;
		margin-left: 2%;
}

.news-social ul li:first-child {
		margin-left: 0;
}

.news-social ul li a {
		display: block;
}

.news-social ul li a:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.news-social .social-btn {
		display: inline-block;
		padding: 0;
		width: 262px;
		height: 50px;
		line-height: 50px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		text-align: center;
		font-size: 14px;
		text-decoration: none;
}

.news-social .social-btn i {
		display: inline-block;
		vertical-align: middle;
		margin-right: 14px;
		width: 35px;
		line-height: normal;
}

.news-social .social-btn.line-btn {
		background: #00b900;
}

.news-social .social-btn.print-btn {
		background: #d00b0b;
}

@media print {
		.news-social {
				display: none;
		}
}

@media only screen and (max-width: 767px) {
		.news-social a {
				float: none;
		}

		.news-social ul li {
				width: 100%;
		}
		.news-social ul li.pc-only {
				display: none;
		}
		.news-social .social-btn {
				width: 100%;
				height: 44px;
				line-height: 44px;
		}
}


/* navi */

.news-nav {
		margin-top: 20px;
		text-align: center;
}

.news-nav li {
		display: inline-block;
		margin-left: 15px;
		color: #fff;
		font-size: 14px;
}

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

.news-nav li a {
		display: block;
		padding: 10px 40px;
		background: #d00b0b;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
}

.news-nav li a:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

@media print {
		.news-nav {
				display: none;
		}
}

@media only screen and (max-width: 767px) {
		.news-nav li {
				display: block;
				margin-top: 20px;
				margin-left: 0;
				font-size: 12px;
		}
		.news-nav li a {
				padding: 10px;
		}
}


/* ************************************************************************
interview-sec
***************************************************************************/

.interview-sec {
		text-align: center;
		padding: 0 0 65px 0
}

.interview-box {
		margin: 55px 0 0 0;
}

.interview-box li {
		position: relative;
		width: 23.5%;
		float: left;
		margin: 0 0 0 2%;
		text-align: center;
		overflow: hidden;
}

.interview-box li:first-child {
		margin: 0 0 0 0;
}

.interview-box li img {
		width: 100%;
}

.interview-box li p {
		position: absolute;
		width: 100%;
		bottom: 0;
		color: #222;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.4;
		letter-spacing: 0.1em;
		padding: 10px 0;
		background: rgba(255, 255, 255, .8);
		border: 1px solid #ccc;
}

.interview-box li a:hover {
		text-decoration: none;
}

.interview-box li p.bg-cf {
		background: #fff;
		position: relative;
		bottom: 1px;
}

.interview-box li p span:nth-child(2) {
		font-weight: normal;
		font-size: 11px;
}

.interview-box li p span:nth-child(4) {
		font-size: 13px;
}

.interview-box li.col-03 {
		width: 29%;
		margin: 0 0 0 6.2%;
}

.interview-box li.col-03:first-child {
		margin: 0 0 0 0;
}

.back-btn {
		display: inline-block;
		margin: 70px 0 0 0;
}

@media only screen and (max-width: 767px) {
		.interview-box li {
				width: 70%;
				margin: 0 15% 6% 15%;
		}
		.interview-box li.col-03 {
				width: 70%;
				margin: 0 15% 6% 15%;
		}
		.interview-box li:first-child {
				margin: 0 15% 6% 15%;
		}
		.interview-box li.col-03:first-child {
				margin: 0 15% 6% 15%;
		}
}


/* ************************************************************************
recruit
***************************************************************************/

.recruit-secttl {
	margin: 0 auto;
	text-align: center;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Arial, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'Source Sans Pro', sans-serif;
	font-size: 40px;
	color: #777;
	width: 80%;
	letter-spacing: 1.8px;
	line-height: 1.3;
}
.recruit-secttl .subTtl {
	font-size: 19px;
	display: block;
	margin-top: 10px;
}
.recruit-secttl .wordBreak {
	display: inline-block;
}

.recruit-secttl .smaller {
	font-size: 60%;
}
.recruit-secttl img {
	height: 100%;
}
.system-in .recruit-secttl {
	margin: 0 auto 30px;
}

.recruit-main {
		position: relative;
		display: table;
		width: 100%;
		height: 700px;
		background: url(../images/recruit_mv.jpg) center center no-repeat;
		background-size: cover;
		color: #fff;
		margin: 15px 0 0 0;
}

.recruit-main dl {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
}

.recruit-main dt img {
		max-width: 700px;
		width: 100%;
		margin: 0 auto;
}

.recruit-main dd {
		margin: 0;
}

.recruit-main dd img {
		max-width: 450px;
		width: 80%;
}

.recruit-btn {
		position: absolute;
		right: 5%;
		bottom: 8%;
}

.recruit-btn img {
		max-width: 275px;
		width: 85%;
		float: right;
}

.bnr {
		margin: 100px 0;
}

.info-box {
		width: 48.5%;
		text-align: center;
}

.img-box {
		position: relative;
}

.info-txt {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		color: #ebebeb;
		font-size: 160%;
		font-size: 28px;
		letter-spacing: 0.08em;
}

.info-txt:hover {
		text-decoration: none;
}

.info-txt span {
		font-size: 55%;
}

.info-box ul {
		margin: 30px 0 0 0;
}

.wd {
		width: 48.5%;
}

.map {
		background: url(../images/map.jpg) top center no-repeat;
		text-align: center;
		background-size: cover;
		padding: 0 15px 85px 15px;
		margin: 35px 0 0 0;
		font-weight: bold;
}

.map p {
		color: #222;
}

.map-txt01 {
		font-size: 31px;
		padding: 64px 0 14px 0;

		letter-spacing: .01em;
}

.map-txt02 {
		font-size: 18px;
		font-weight: normal;
}

.map-txt03 {
		font-size: 20px;
		padding: 38px 0 50px 0;
		letter-spacing: .03em;
}

.map-txt04 {
		font-size: 30px;
}

.map-txt05 {
		font-size: 20px;
		padding: 20px 0;
		letter-spacing: .03em;
}

.link-navi {
		width: 880px;
		max-width: 100%;
		margin: 0 auto;
}

.link-navi li {
		float: left;
		width: 50%;
		margin: 0 0 40px 0;
}
.link-navi a {
	display: block;
}
.entry-btn {
	display: block;
	max-width: 433px;
	margin: 20px auto 0;
}

@media only screen and (max-width: 1240px) {
		.info-txt {
				font-size: 120%;
				font-size: 2.2vw;
		}
}

@media only screen and (max-width: 767px) {
		.recruit-main {
				height: 300px;
		}

		.recruit-main dt img,
		.recruit-main dd img {
				width: 80%;
		}

		.recruit-btn img {
				max-width: 60%;
				width: 100%;
		}
		.recruit-secttl {
				font-size: 30px;
				letter-spacing: 1.4px;
				width: 100%;
		}
		.recruit-secttl .subTtl {
				font-size: 15px;
				margin-top: 5px;
		}
		.recruit-secttl img {
				height: 8vw;
			}
		.system-in .recruit-secttl {
				margin: 0 auto 30px;
			}
		.system-in .recruit-secttl img {
			height: 12vw;
			}
		.bnr {
				margin: 50px 0;
		}
		.info-box {
				float: none;
				width: 100%
		}
		.info-txt {
				font-size: 130%;
				font-size: 4.3vw;
		}
		.mg-b30 {
				margin-bottom: 30px;
		}
		.map {
				padding: 0 20px 65px 20px;
		}
		.map p {
				margin: 0 0 10px 0;
		}
		.map-txt01 {
				font-size: 24px;
				padding: 50px 0 30px 0;
		}
		.map-txt02 {
				font-size: 12px;
		}
		.map-txt03 {
				font-size: 16px;
				padding: 40px 0;
		}
		.map-txt04 {
				font-size: 20px;
		}
		.map-txt05 {
				font-size: 15px;
				padding: 0 0 20px;
		}
		.link-navi {
				width: auto;
		}
		.entry-btn img {
				width: 80%;
		}
}
@media only screen and (max-width: 580px) {
		.recruit-secttl img {
				height: 12vw;
			}
		.system-in .recruit-secttl img {
			height: 18vw;
			}
		.recruit-main dt img,
		.recruit-main dd img {
				width: 90%;
		}
}
@media only screen and (max-width: 480px) {
		.recruit-secttl {
				font-size: 24px;
				letter-spacing: 1.2px;
		}
		.recruit-secttl .subTtl {
				font-size: 12px;
		}
}

/* ************************************************************************
interview
***************************************************************************/

.question {
		padding: 50px 0 0 0;
}

.question-in {
		padding: 0 20px;
		margin: 0 auto;
		width: 1320px;
		max-width: 100%;
}

.interview-main {
		position: relative;
		text-align: center;
		margin: 15px 0 0 0;
}

.interview-copy {
		position: absolute;
		top: 0;
		bottom: 0;
		width: 47%;
		height: 100px;
		line-height: 1;
		margin: auto;
		text-indent: 30px;
}

.caption-box {
		position: absolute;
		bottom: 20px;
		right: 20px;
		color: #222;
		background: rgba(148, 34, 16, .9);
		padding: 25px 55px 25px 0;
		text-align: left;
}

.caption-box h3 {
		position: relative;
		color: #fff;
		font-size: 30px;
		padding: 0 30px 0 25px;
		line-height: 1.2;
		letter-spacing: .07em;
}

.caption-box h3 span {
		font-size: 14px;
		font-weight: normal;
}

.caption-box h3:after {
		position: absolute;
		content: '';
		width: 100%;
		height: 1px;
		background: #fff;
		left: 0;
		bottom: 0;
}

.caption-box p {
		color: #fff;
		font-size: 16px;
		padding: 0 0 0 25px;
}

.caption-box p:nth-child(2) {
		margin: 17px 0 10px 0;
		font-size: 14px;
}

.caption-box p span {
		margin: 0 0 0 -10px;
}

.kudo {
		width: 100%;
}

.job-content {
		width: 1000px;
		max-width: 100%;
		height: 185px;
		margin: 0 auto 20px;
		background: #fff;
		border: 1px solid #ccc;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
}

.job-content p {
		float: left;
		color: #222;
}

.job-l {
		width: 30%;
		padding: 0 5%;
		margin: 0;
		font-size: 20px;
		text-align: center;
		line-height: 1;
		border-right: 1px solid #ccc;
		font-weight: bold;
}

.job-l img {
		margin: 20px 0 0 0;
}

.job-r {
		width: 70%;
		font-size: 16px;
		margin: 0;
		padding: 0 3% 0 5%;
		line-height: 1.8;
}

.question {
		background: url(../images/qa_bg.jpg) top center repeat-y #f8f8f8;
		background-size: contain;
}

.qa-sec {
		margin: 0 0 100px 0;
}

.qa-wrap {
		position: relative;
		margin: 80px 0 0 0;
}

.qa-wrap-padT01 {
		padding-top: 22px;
}

.qa-wrap-padT02 {
		padding-top: 40px;
}

.pic-l {
		width: 60%;
		float: left;
}

.pic-r {
		width: 50%;
		float: right;
}

.pic-btm {
		position: absolute;
		width: 60%;
		bottom: 0;
}

.pic-center {
		position: absolute;
		width: 60%;
		bottom: 10%;
}

.qa-wrap-padT01 .pic-center {
		bottom: 0;
}

.qa-box-r {
		width: 40%;
		float: left;
}

.qa-box-l {
		width: 47%;
		float: left;
		margin: 50px 0 0 0;
}

.qa-box-btm {
		width: 43%;
		position: relative;
		float: right;
}

.qa-wrap-padT01 .qa-box-center {
		top: 40px;
}

.qa-box-center {
		width: 43%;
		position: relative;
		float: right;
}

.txt-box {
		color: #222;
		background: url(../images/white_bg.png) repeat;
		padding: 30px 0 0 0;
		line-height: 1.3;
}

.txt-box.qa01 {
		position: absolute;
		bottom: 0;
		margin: 0 0 0 -40px;
}

.qa-box-l .txt-box:nth-child(2) {
		margin: 30px 0 0 0;
}

.txt-box h3 {
		color: #be2b20;
		font-size: 15px;
		padding: 0 0 20px 40px;
}

.txt-box h3 span {
		font-size: 25px;
}

.txt-box h4 {
		position: relative;
		color: #be2b20;
		font-size: 25px;
		padding: 0 45px 5px 40px;
}

.txt-box h4:after {
		position: absolute;
		content: '';
		width: 90%;
		height: 1px;
		background: #be2b20;
		left: 0;
		bottom: 0;
}

.txt-box p {
		color: #222;
		font-size: 14px;
		padding: 20px 40px;
		line-height: 2;
}

.red-box {
		color: #fff;
		font-size: 20px;
		line-height: 2;
		background: url(../images/red_bg.png) top center repeat;
		margin: 35px 0 0 0;
		padding: 40px;
}

.pc {
		display: block;
}

.sp {
		display: none;
}


@media only screen and (max-width: 1124px) {
		.job-content {
				width: 95%;
				margin: 0 2.5% 2% 2.5%;
		}
		.job-r {
				padding: 2.3% 10% 0 5%;
		}
		.txt-center {
				text-align: center;
		}
		.qa-wrap {
				margin: 80px 0 0 0;
		}
		.qa-wrap-padT01,
		.qa-wrap-padT02 {
				padding-top: 0px;
		}
		.qa-box-r {
				float: right;
				width: 80%;
				margin: -30px 0 0 0;
		}
		.txt-box.qa01 {
				position: relative;
		}
		.pic-r {
				float: none;
				width: 80%;
		}
		.qa-box-l {
				position: relative;
				width: 90%;
				float: right;
				margin: -30px 0 0 0;
		}
		.txt-box h3 {
				padding: 0 10px 20px;
		}
		.txt-box h4 {
				font-size: 28px;
				padding: 0 10px 5px;
		}
		.txt-box p {
				line-height: 1.8;
				padding: 20px 10px;
		}
		.red-box {
				font-size: 14px;
				line-height: 1.8;
				padding: 20px;
		}
		.pic-center {
				position: relative;
				width: 80%;
		}
		.qa-wrap-padT01 .qa-box-center {
				top: 0px;
		}
		.qa-box-center {
				width: 80%;
				margin: -30px 0 0 0;
		}
		.pic-btm {
				position: relative;
				float: left;
				width: 80%;
		}
		.qa-box-btm {
				width: 80%;
				margin: -30px 0 0 0;
		}
}


@media only screen and (max-width: 767px) {
		.pc {
				display: none;
		}
		.sp {
				display: block;
		}
		.caption-box {
				bottom: 0;
				right: 0;
				padding: 15px 5px;
		}
		.caption-box p {
				padding: 0 0 0 10px;
		}
		.caption-box p:nth-child(2) {
				font-size: 11px;
				margin: 10px 0 5px 0;
		}
		.caption-box h3 {
				font-size: 16px;
				padding: 0 0 0 10px;
		}
		.interview-copy {
				position: absolute;
				top: 0;
				bottom: 0;
				width: 90%;
				/*height: 220px;*/
				line-height: 1;
				margin: auto 5%;
				text-indent: 0px;
		}
		.question {
				background: url(../images/qa_bg_sp.jpg) top center repeat-y #f8f8f8;
				background-size: contain;
		}
		.qa-sec {
				margin: 0 0 50px 0;
		}
		.question-in {
				width: 100%;
				padding: 0;
		}
		.job-content {
				display: block;
				height: auto;
				padding: 35px 0;
		}
		.job-l {
				position: relative;
				width: 80%;
				padding: 0 0 30px 0;
				margin: 0 10%;
				border-right: 0px solid #ccc;
				border-bottom: 2px solid #ccc;
		}
		.job-r {
				width: 90%;
				margin: 0 5%;
				padding: 2.5% 0 0 0;
				font-size: 14px;
		}
		.qa-wrap {
				margin: 50px 0 0 0;
		}
		.pic-l {
				width: 100%;
				float: none;
		}
		.pic-l img,
		.pic-r img,
		.pic-btm img,
		.pic-center img {
				width: 100%;
		}
		.pic-r {
				width: 100%;
				float: none;
		}
		.pic-btm {
				position: relative;
				width: 100%;
		}
		.pic-center {
				position: relative;
				width: 100%;
		}
		.qa-box-r {
				width: 100%;
				float: none;
		}
		.txt-box.qa01 {
				position: relative;
				margin: -30px 0 0 40px;
		}
		.txt-box h4 {
				font-size: 25px;
		}
		.txt-box h4:after {
				width: 100%;
		}
		.qa-box-l {
				width: 100%;
				position: relative;
				float: none;
		}
		.qa-box-l .txt-box:nth-child(1),
		.qa-box-center .txt-box:nth-child(1),
		.qa-box-btm .txt-box:nth-child(1) {
				width: 90%;
		}
		.qa-box-l .txt-box:nth-child(2) {
				margin: 60px 0 0 60px;
		}
		.qa-box-center {
				width: 100%;
				position: relative;
				float: none;
				/*margin: -30px 0 0 0;*/
		}
		.qa-box-btm {
				width: 100%;
				position: relative;
				/*margin: -30px 0 0 0;*/
		}
		/*.qa-box {
width: 100%;
top: 2px;
float: left;
right: 0;
}
.qa-box .txt-box:nth-child(1){
width: 90%;
}
.pic-r {
width: 100%;
}
.qa-wd{
width: 100%;
top: 0px;
float: left;
right: 0;
}
.qa-wd .txt-box:nth-child(1){
width: 90%;
}
.qa-wd .txt-box:nth-child(2){
margin: 70px 0 0 60px;
}*/
		.back-btn {
				padding: 20px 0 0 0;
				width: 60%;
				margin: 0 20%;
		}
}

@media only screen and (max-width: 480px) {
		.caption-box p {
				font-size: 11px;
		}
		.caption-box h3 span {
				font-size: 10px;
		}
		.txt-box h4 {
				font-size: 20px;
				font-size: 5.5vw;
		}
		.interview-sec {
				padding: 0 0 70px 0;
		}
		.interview-box {
				margin: 35px 0 0 0;
		}
		.interview-box li p {
				font-size: 14px;
				padding: 6px 0;
		}
		.interview-box li p span {
				font-size: 10px;
		}
}





/* ************************************************************************
data
***************************************************************************/

#data .cmn-bnr {
		background: url(../images/data_mv.jpg)no-repeat left center;
		background-size: cover;
}

.box_wrap {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin: 30px 0 100px 0;
}

.data-box1 {
		width: 25%;
		border-left: 4px solid #cccccc;
		border-top: 4px solid #cccccc;
		position: relative;
}

.data-box1:nth-child(4),
.data-box1:nth-child(8),
.data-box1:nth-child(12) {
		border-right: 4px solid #cccccc;
}

.data-box1:nth-child(9),
.data-box1:nth-child(10),
.data-box1:nth-child(11),
.data-box1:nth-child(12) {
		border-bottom: 4px solid #cccccc;
}

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

		.box_wrap {
				margin-bottom: 50px;
		}
		.data-box1 {
				width: 50%;
		}
		.data-box1:nth-child(2),
		.data-box1:nth-child(6),
		.data-box1:nth-child(10) {
				border-right: 4px solid #cccccc;
		}
		.data-box1:nth-child(9),
		.data-box1:nth-child(10) {
				border-bottom: none;
		}
}




/* ************************************************************************
recruit_info
***************************************************************************/

#recruit-info .cmn-bnr {
		background: url(../images/recruit_info_mv.jpg) no-repeat center;
		background-size: cover;
}

.job-info {
		margin: 50px 0 115px 0;
}

.job-info table {
		width: 100%;
		vertical-align: middle;
		color: #222;
}

.job-info table tr th {
		width: 24.26%;
		font-size: 16px;
		background: #f1f1f1;
		padding: 28px 10px;
		border: 1px solid #cccccc;
		text-align: center;
		display: table-cell;
		vertical-align: middle;
		box-sizing: border-box;
}

.job-info table tr td {
		width: 75.74%;
		font-size: 16px;
		letter-spacing: 1.5px;
		padding: 25px 50px;
		border: 1px solid #cccccc;
		border-left: 0px;
		box-sizing: border-box;
		line-height: 1.7em;
}

.br_pos span {
		display: inline-block;
		padding-right: 1em;
}

.br_pos span:last-child {
	padding-right: 0;
}

.black-triangle {
		position: relative;
		margin-right: 20px;
}

.black-triangle:before {
		content: "";
		border: 8px solid transparent;
		border-top: 14px solid #000;
		display: inline-block;
		position: absolute;
		left: 0;
		top: 13%;
}

.tri-sub {
		margin-left: 20px;
		display: inline-block;
}

.color-red {
		color: #e60012;
}

.appli-method {
		padding-top: 100px;
		margin-top: -100px;
}

.appli-method .appli-txt {
		font-size: 20px;
		color: #222222;
		font-weight: 600;
		text-align: center;
		line-height: 1.8em;
		margin: 45px 0 45px;
}

.recruit-apply {
		text-align: center;
		display: block;
		margin: 0;
}

.how-access {
		width: 80%;
		margin: 0 auto 100px;
		overflow: hidden;
}

.akusesu {
		width: 234px;
		margin: 100px auto 60px;
		font-size: 32px;
		text-align: center;
		position: relative;
		padding-left: 20px;
}

.akusesu:before {
		content: "";
		position: absolute;
		width: 23px;
		height: 32px;
		background: url(../images/pin_blk.png) no-repeat;
		-webkit-background-size: 100%;
		background-size: 100%;
		top: 6px;
		left: 0;
}

.how-access .lft {
		width: 48%;
		float: left;
}

.how-access .rht {
		width: 48%;
		float: right;
}

.akusesu-ttl {
		font-size: 20px;
		background: #000;
		color: #fff;
		text-align: center;
		padding: 2px 23px;
		border-radius: 20px;
		display: inline-block;
		box-sizing: border-box;
}

.aku-box {
		margin: 40px 0px 0px;
		line-height: 1.8
}

.aku-ttl {
		font-size: 20px;
		font-weight: bold;
		position: relative;
		padding-left: 60px;
		color: #222;
}

.aku-ttl:before {
		content: "";
		position: absolute;
		width: 45px;
		height: 26px;
		background: url(../images/car01_icon.png)no-repeat;
		top: 0;
		left: 0;
}

.aku-ttl1:before {
		width: 46px;
		height: 27px;
		background: url(../images/car02_icon.png)no-repeat;
}

.aku-txt {
		margin-top: 10px;
		color: #222;
}

.recruit-apply a {
		display: inline-block;
}

.recruit-apply a img {
		width: 80%;
}

.recruitment {
		background: #ebebeb;
		display: block;
		padding: 65px 0px;
		text-align: center;
}

.recruitment h3 {
		font-size: 32px;
		text-align: center;
		margin-bottom: 60px;
}

.recruitment p {
		padding-bottom: 20px;
}

.recruit-mail {
		display: inline-block;
		margin: 0 0 30px 0;
}

.recruit-ph {
		display: inline-block;
}

.recruit-mail:hover,
.recruit-ph:hover {
		text-decoration: none;
}

.font-24 {
		font-size: 24px;
}

.font-16 {
		font-size: 16px;
}

@media only screen and (max-width: 767px) {
		.job-info {
				margin: 35px 0 70px 0;
		}
		.job-info table tr th {
				font-size: 14px;
				padding-left: 0.5em;
				padding-right: 0.5em;
				width: 30%;
		}
		.job-info table tr td {
				font-size: 14px;
				padding: 23px 0 23px 0.7em;
		}
		.appli-method {
				padding-top: 70px;
				margin-top: -70px;
		}

		.appli-method .appli-txt {
				font-size: 16px;
				margin: 25px 0;
		}
		.akusesu {
				font-size: 20px;
				margin: 70px auto 35px;
				width: 170px;
				padding-left: 0;
		}
		.akusesu:before {
			top: 3px;
			width: 16px;
			height: 22px;
		}
		.akusesu-ttl {
				font-size: 16px;
		}
		.aku-ttl {
				font-size: 16px;
				padding-bottom: 15px;
		}
		.aku-box {
				margin: 25px 0px 0px;
		}
		.how-access .lft {
				width: 100%;
				float: none;
				margin: 0px 0% 35px 0px;
		}
		.how-access .rht {
				width: 100%;
				float: none;
		}
		a.recruit-apply {
				width: 70%;
				margin: 40px auto;
		}
		.recruitment {
				padding: 50px 15px 50px;
		}
		.recruitment h3 {
				font-size: 20px;
				margin-bottom: 30px;
		}
		.recruitment p {
				padding-bottom: 15px;
		}
		.recruit-mail {
			margin: 0;
		}
		.recruit-apply a img {
				width: 300px;
		}
		.recruit-ph {
				width: 242px;
		}
		.font-24 {
				font-size: 18px;
		}
		.font-16 {
				font-size: 14px;
		}
		.font-20 {
				font-size: 14px;
		}
		.font-14 {
				font-size: 12px;
		}
}

@media only screen and (max-width: 767px) {
	.how-access {
		width: 100%;
	}
}



/* ************************************************************************
recruit_info_hq
***************************************************************************/

#recruit-info_hq .cmn-bnr {
		background: url(../images/recruit_info_hq_mv.jpg) no-repeat center;
		background-size: cover;
		height: 700px;
}
#recruit-info_hq .bnr-tit {
		padding: 0;
}
@media only screen and (min-width: 1400px) {
	#recruit-info_hq .cmn-bnr {
		background-position: center top 10%;
	}
}
@media only screen and (max-width: 767px) {
	#recruit-info_hq .cmn-bnr {
		height: 400px;
	}
}

/* ************************************************************************
recruit_info_foreigncountries
***************************************************************************/

#recruit-info.abroad .cmn-bnr {
		background: url(../images/rec_info_abroad_mv.jpg) no-repeat center 100%;
		background-size: cover;
}
.abroad .catch {
	width: 100%;
	margin: 0 0 100px;
}
.abroad .catchTxt {
		font-size: 16px;
		color: #777;
		text-align: center;
		line-height: 2.4;
		width: 80%;
		margin: 0 auto 80px;
}

.abroad .introP {
		font-size: 16px;
		text-align: justify;
		line-height: 2.2;
		width: 80%;
		margin: 35px auto 100px;
}
.abroad .catch .catchImg {
	font-size: 0px;
}
.abroad .catch .catchImg img {
	display: inline-block;
	width: 50%;
}
.abroad .job-info table tr th {
	background: #ffeaea;
}
.breakWord {
	display: inline-block;
}

@media only screen and (max-width: 767px) {
		#recruit-info.abroad .cmn-bnr {
				background: url(../images/rec_info_abroad_mv.jpg) no-repeat center 100%;
				background-size: cover;
		}
		.abroad .catch .catchTxt {
				font-size: 14px;
				margin-bottom: 50px;
				width: 100%;
				padding: 0 15px;
		}
		.abroad .introP {
				width: 100%;
				font-size: 14px;
				line-height: 1.8;
				margin: 25px auto 60px;
		}
}
@media only screen and (max-width: 600px) {
		#recruit-info.abroad .cmn-bnr {
				background: url(../images/rec_info_abroad_mv.jpg) no-repeat center 90%;
				background-size: cover;
		}
		.abroad .catch {;
			margin: 0 0 60px;
		}
		.abroad .catch .catchTxt {
				font-size: 14px;
		}
		.abroad .catch .catchImg img {
			width: 100%;
		}
}
@media only screen and (max-width: 480px) {
		#recruit-info.abroad .cmn-bnr {
				background: url(../images/rec_info_abroad_mv.jpg) no-repeat center bottom;
				background-size: cover;
		}
}



/* ************************************************************************
message
***************************************************************************/

.message-main {
		position: relative;
		display: table;
		width: 100%;
		height: 700px;
		background: url(../images/message_mv.jpg) 10% center no-repeat;
		background-size: cover;
		color: #fff;
		margin: 15px 0 100px;
}
.message-main div {
		display: table-cell;
		vertical-align: middle;
		text-align: right;
}
.message-main dl {
		display: inline-block;
		color: #fff;
		text-align: left;
		line-height: 1;
		padding-right: 13%
}

.message-main dt {
		font-size: 54px;
		letter-spacing: 0.08em;
}

.message-main dt span {
		font-size: 75%;
		letter-spacing: 0.05em;
}

.message-main dd {
		font-size: 20px;
		letter-spacing: 0.14em;
		margin-top: 11px;
		margin-left: 0;
}

.message-main dd~dt {
		margin-top: 38px;
}

.message-main p.res-pc {
		display: block;
}

.message-main p.res-sp {
		display: none;
}

.message-main p.res-pc {
		display: table-cell;
		vertical-align: middle;
		padding-left: 32%;
}

.message-main p.res-pc img {
		max-width: 350px;
}

.message-main p img {
		width: 73%;
}

.message-box p {
		font-size: 16px;
		margin: 40px 0px 90px;
		color: #222;
		line-height: 2.2;
}

.threefeat-box {
		padding-left: 20px;
		margin-bottom: 100px;
}

.three-feat {
		background: #e7e7e7;
		padding: 0px 0px 5px;
}

.three-feat-ttl {
		padding: 100px 0px 70px 0;
}

.inner .threefeat-box:nth-child(odd) .fl-l {
		width: 43%;
}

.inner .threefeat-box:nth-child(odd) .fl-r {
		width: 53%;
}


.inner .threefeat-box:nth-child(even) .fl-l {
		width: 53%;
}

.inner .threefeat-box:nth-child(even) .fl-r {
		width: 43%;
}

.threefeat-box .txt-box {
		margin-top: 30px;
		position: relative;
}

h3.tokuchou {
		color: #fff;
		font-weight: normal;
		background: #000;
		position: absolute;
		top: -30px;
		left: -23px;
		padding: 0;
}

h3.tokuchou span {
		font-weight: bold;
}

.txt-box h4.three-tit {
		font-size: 1.9vw;
		padding: 0 0 0px 107px;
}

.txt-box h4.three-tit:after {
		width: 100%;
		bottom: -10px;
}

.txt-box p.three-txt {
		color: #222;
		font-size: 14px;
		padding: 67px 60px;
		line-height: 2.5;
}

.float-l {
		margin-bottom: 30px;
		float: left;
}

.float-r {
		float: right;
}

@media only screen and (min-width: 1601px) {
		.message-main dl {
				padding-right: 18%
		}
}


@media only screen and (max-width: 1280px) {
		.message-main dl {
				padding-right: 10%
		}
}

@media only screen and (max-width: 1079px) {
		.txt-box h4.three-tit {
				font-size: 26px;
		}
}

@media only screen and (max-width: 900px) {
		.txt-box p.three-txt {
				padding: 45px 50px 45px 50px;
		}
}

@media only screen and (max-width: 768px) {
		.message-main {
				height: 400px;
				margin: 15px 0px 50px;
		}
		.message-main dt {
				font-size: 30px;
		}
		.message-main dd {
				font-size: 14px;
				margin-top: 5px;
		}
		.message-main dd~dt {
				margin-top: 25px;
		}
		.message-main p.res-pc {
				display: none;
		}
		.message-main p.res-sp {
				display: block;
				padding: 13% 0px 70% 0px;
		}
		.message-main p.res-sp img {
				vertical-align: top;
				max-width: 80%;
		}
		.message-box p {
				font-size: 14px;
				line-height: 1.8;
				margin: 40px 0px 60px;
		}
		.three-feat-ttl {
				padding: 40px 0;
				margin: 0 auto;
		}

		.inner .threefeat-box:nth-child(odd) .fl-l,
		.inner .threefeat-box:nth-child(odd) .fl-r,
		.inner .threefeat-box:nth-child(even) .fl-l,
		.inner .threefeat-box:nth-child(even) .fl-r {
				width: 100%;
				float: none;
		}
		.three-feat {
				padding: 0px 0px 0px;
		}
		.threefeat-wrap {
				background: #fff;
		}
		.threefeat-wrap .inner {
				padding: 0px 0px;
		}
		.threefeat-box {
				padding-left: 0;
				margin-bottom: 0px;
		}
		.threefeat-box .txt-box {
				margin-top: 0px;
				padding: 50px 0 0 0;
		}
		.heightLine_1 {
				height: auto!important;
		}
		.un-line {
				padding: 0px 0px 10px 20px;
				border-bottom: 1px solid #be2b20;
				display: -webkit-box;
				display: -webkit-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-webkit-align-items: center;
				-ms-flex-align: center;
				align-items: center;
		}
		.mess-img {
				padding: 0px 30px 0px 30px;
		}
		h3.tokuchou {
				width: 60px;
				position: unset;
				float: left;
		}
		.txt-box h4.three-tit {
				width: auto;
				float: left;
				font-size: 19px;
				font-size: 4.5vw;
				padding: 0px 0px 5px 10px;
		}
		.txt-box h4.three-tit:after {
				display: none;
		}

		.txt-box p.three-txt {
				padding: 20px 30px 20px 30px;
		}
		.float-l,
		.float-r {
				width: 50%;
		}
		.float-l {
				margin-bottom: 0px;
		}
		.last-three {
				padding-bottom: 50px;
		}
}

@media only screen and (max-width: 480px) {
		.message-main {
				background-position: 25% center;
		}
		.message-main dl {
				padding-right: 5%
		}
		.txt-box h4.three-tit {
				font-size: 20px;
				font-size: 5.3vw;
		}
}


/* ************************************************************************
system
***************************************************************************/

#system .cmn-bnr {
		background: url(../../contents/images/system_mv.jpg)no-repeat 85% center;
		background-size: cover;
}

.system-bl {
		width: 100%;
		margin: 0 0 50px 0;
}

.system-in {
		padding: 0 20px;
		width: 1265px;
		margin: 0 auto;
		max-width: 100%;
}

.system-bl .section-ttl {
		margin-bottom: 50px;
}

.system-list {
		width: 100%;
}

.system-list .listbl {
		width: 45%;
		text-align: center;
		margin: 0 0 41px 0;
}

.system-list .listbl .system-list-tit {
		padding: 30px 0 45px 0;
		font-size: 20px;
		color: #000;
		height: 110px;
}

.system-list .listbl .system-list-tit span {
		font-size: 26px;
}

.system-list .listbl .system-list-txt {
		font-size: 14px;
		color: #222;
		text-align: left;
		line-height: 2;
}

@media only screen and (max-width: 767px) {
		.system-in {
				width: 100%;
				padding: 0 15px;
		}
		.system-bl {
				margin: 0;
		}

		.system-list .listbl {
				width: 100%;
				text-align: center;
				margin: 0 0 60px 0;
		}
		.system-list .listbl .system-list-tit {
				font-size: 16px;
				padding: 15px 0 20px 0;
				height: auto;
		}
		.system-list .listbl .system-list-tit span {
				font-size: 22px;
		}
}




/* ************************************************************************
contacts
***************************************************************************/

.contacts {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
}

.contacts li {
		position: relative;
		margin-top: 50px;
		margin-right: 3%;
		width: 29.33333%;
}

.contacts li:after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		width: 20%;
		border-bottom: 2px solid #d00b0b;
}

.contacts li a {
		position: relative;
		display: block;
		padding: 10px 0;
		border-bottom: 2px solid #6c6c6c;
		color: #777;
		font-size: 20px;
}

.contacts li a:hover {
		border-bottom: 2px solid #d00b0b;
		color: #d00b0b;
		text-decoration: none;
}

.contacts li a[target]:after {
		content: "";
		display: inline-block;
		margin-left: 15px;
		width: 23px;
		height: 14px;
		background: url(../images/icon/icon_externallink.png) no-repeat;
}

@media only screen and (max-width: 767px) {
		.contacts li {
				margin-top: 30px;
				margin-right: 0;
				width: 100%;
		}
		.contacts li:after {
				width: 30%;
		}
		.contacts li a {
				font-size: 16px;
		}
		.contacts li a[target]:after {
				content: "";
				display: inline-block;
				margin-left: 10px;
				width: 16px;
				height: 10px;
				background-size: 100%;
		}
}


/* ************************************************************************
form
***************************************************************************/

.mcdropdown {
		position: relative;
}

a.form-mcdropdown-menu {
		text-decoration: none;
}

.form {
		margin-top: 100px;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form select,
.form textarea {
		padding: 5px 10px;
		border: 1px solid #1d2088;
		-webkit-box-shadow: none;
		box-shadow: none;
}

.form-table {
		vertical-align: middle;
		width: 100%;
}

.form-table-row {
		border-bottom: 1px solid #c9c9c9;
}

.form-table-row:first-child {
		border-top: 1px solid #c9c9c9;
}

.form-table-head {
		padding: 30px;
		width: 260px;
		background: #f6f6f6;
		text-align: left;
		font-weight: bold;
}

.form-table-data {
		padding: 30px;
}

.form-table-column {
		float: left;
		margin-left: 20px;
}

.form-table-column:nth-of-type(1) {
		margin-left: 0;
}

.form-name input {
		width: 210px;
}

.form-kana input {
		width: 210px;
}

.form-postnum .form-table-column input {
		width: 140px;
}

.form-postnum .form-table-column:nth-of-type(1) input {
		width: 110px;
}

.form-hyphen {
		float: left;
		position: relative;
		top: 8px;
		width: 40px;
		text-align: center;
		margin-left: 20px;
}

.form-serach-postnum {
		display: inline-block;
		position: relative;
		margin-left: 20px;
		top: 8px;
}

.form-serach-postnum a {
		color: #0068b7;
		font-size: 14px;
		text-decoration: underline;
}

.form-serach-postnum a:hover {
		color: #579ed4;
}

.form-pref .form-table-data {
		/* 2017/09/10 */
		/*  position: relative;*/
}

.form-pref .form-table-data:after {
		content: "";
		/* 2017/09/10 */
		/*
position: absolute;
bottom: 48px;
left: 145px;
width: 6px;
height: 6px;
border: 0px;
border-top: solid 2px #9b9b9b;
border-right: solid 2px #9b9b9b;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
*/
}

.form-pref .form-table-data select {
		width: 140px;
}


/* ADD 2017/09/04 */

.form-shop .form-table-data {
		/* 2017/09/10 */
		/*  position: relative;*/
}

.form-shop .form-table-data:after {
		content: "";
		/* 2017/09/10 */
		/*
position: absolute;
bottom: 48px;
left: 365px;
width: 6px;
height: 6px;
border: 0px;
border-top: solid 2px #9b9b9b;
border-right: solid 2px #9b9b9b;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
*/
}

.form-shop .form-table-data select {
		width: 360px;
}



.form-address input {
		width: 500px;
}

.form-building input {
		width: 500px;
}

.form-tel input {
		width: 500px;
}

.form-email input {
		width: 500px;
}


/*
.form-shop input {
width: 500px;
}
*/

.form-txt input {
		width: 500px;
}


/*
.form-shop .form-table-data {
overflow: hidden;
display: block;
padding: 4% 3%;
width: 100%;
}
*/

.form-txt textarea {
		width: 700px;
		min-height: 190px;
}

.form-submit {
		margin-top: 60px;
		text-align: center;
}

.form-submit-btn {
		display: inline-block;
		width: 312px;
		height: 60px;
		line-height: 52px;
		background: #004293;
		color: #fff;
		border: none;
}

.form-submit-btn:first-child {
		margin-right: 40px;
}

.form-submit-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
}

.form-required {
		color: #e10000;
}

.formError.inline,
.formErrorContent {
		display: block !important;
}

.formError.inline .formErrorContent,
.formErrorContent .formErrorContent {
		margin-top: 5px;
		background: transparent;
		color: #d00b0b;
		font-size: 16px;
}

.mcdropdown_inputformError {
		position: absolute !important;
		padding: 0 !important;
		width: 100% !important;
		height: 100% !important;
}

@media only screen and (max-width: 767px) {
		.form {
				margin-top: 30px;
		}
		.form>.inner {
				padding: 0;
		}
		.form-table-row {
				width: 100%;
		}
		.form-table-head {
				display: block;
				padding: 2% 3%;
				width: 100%;
		}
		.form-table-data {
				overflow: hidden;
				display: block;
				padding: 4% 3%;
				width: 100%;
		}
		.form-table-column {
				width: 48%;
				margin-left: 2%;
		}
		.form-name input {
				width: 90%;
		}
		.form-kana input {
				width: 90%;
		}
		.form-postnum .form-table-column {
				width: 35%;
		}
		.form-postnum .form-table-column input {
				width: 100%;
		}
		.form-postnum .form-table-column:nth-of-type(1) input {
				width: 100%;
		}
		.form-hyphen {
				top: 4px;
				width: 5%;
				margin-left: 2%;
		}
		.form-serach-postnum {
				clear: both;
				display: block;
				margin-left: 0;
				top: 8px;
		}
		.form-pref .form-table-data:after {
				/* 2017/09/10 */
				/*    bottom: 47%;*/
				/*    left: 52%;*/
		}
		.form-pref .form-table-data select {
				width: 60%;
		}
		.form-address input {
				width: 100%;
		}
		.form-building input {
				width: 100%;
		}
		.form-tel input {
				width: 100%;
		}
		.form-email input {
				width: 100%;
		}
		/* ADD 2017/09/04 */
		.form-shop .form-table-data:after {
				/* 2017/09/10 */
				/*    bottom: 47%;*/
				/*    left: 92%;*/
		}
		.form-shop .form-table-data select {
				width: 100%;
		}
		/*
.form-shop input {
width: 100%;
}
*/
		.form-txt input {
				width: 100%;
		}
		/*
.form-shop {
display: block;
width: 100%;
}
*/
		.form-txt textarea {
				width: 100%;
				min-height: 150px;
		}
		.form-submit {
				margin-top: 40px;
		}
		.form-submit-btn {
				width: 90%;
				margin-right: 0 !important;
				margin-bottom: 15px;
		}
		.form-required {
				margin-left: 20px;
		}
		.form-footer-txt {
				padding: 0 15px;
		}
}


/* ************************************************************************
privacy
***************************************************************************/

.privacy {
		font-size: 14px;
}

.privacy h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.privacy p {
		margin-top: 20px;
}

.privacy ol {
		padding-left: 20px;
}

.privacy ol li {
		list-style-type: decimal;
}

@media only screen and (max-width: 767px) {
		.privacy h3 {
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}
}


/* ************************************************************************
franchise
***************************************************************************/

.franchise h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.franchise img {
		margin-top: 60px
}

.franchise p {
		margin-top: 60px;
		line-height: 180%;
		font-size: 14px;
}

.franchise-open {
		font-size: 20px;
}

.franchise-openItem {
		position: relative;
		margin-top: 50px;
		height: 80px;
		line-height: 80px;
		background: #f4f4f4;
		text-align: center;
}

.franchise-openItem:first-child {
		margin-top: 40px;
}

.franchise-openItem:after {
		content: "";
		position: absolute;
		top: 70px;
		left: 50%;
		margin-left: -40px;
		width: 0;
		height: 0;
		border-left: 40px solid transparent;
		border-right: 40px solid transparent;
		border-bottom: 40px solid transparent;
		border-top: 40px solid #f4f4f4;
}

.franchise-openItem:nth-child(2n) {
		background: #e8e8e8;
}

.franchise-openItem:nth-child(2n):after {
		border-top: 40px solid #e8e8e8;
}

.franchise-openItem:last-child {
		background: #ffefef;
}

.franchise-openItem:last-child:after {
		display: none;
}

.franchise-btnWrap {
		width: 100%;
		text-align: center;
}

.franchise-btn {
		margin-top: 65px;
		display: inline-block;
		background: #d00b0b;
		width: 445px;
		height: 90px;
		line-height: 90px;
		color: #fff;
}

.franchise-btn:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
		text-decoration: none;
}

@media only screen and (max-width: 767px) {
		.franchise h3 {
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}
		.franchise-open {
				font-size: 18px;
		}
		.franchise-openItem {
				margin-top: 30px;
				height: 60px;
				line-height: 60px;
		}
		.franchise-openItem:first-child {
				margin-top: 30px;
		}
		.franchise-openItem:after {
				top: 60px;
				left: 50%;
				margin-left: -20px;
				border-width: 20px;
		}
		.franchise-openItem:nth-child(2n):after {
				border-width: 20px;
		}
		.franchise-btn {
				margin-top: 40px;
				width: 100%;
				height: 60px;
				line-height: 60px;
		}
}


/* ************************************************************************
sitemap
***************************************************************************/

.sitemap {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-size: 14px;
}

.sitemap-column {
		width: 33.333333%;
}

.sitemap-box h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 4px solid #d00b0b;
		font-size: 20px;
		font-weight: bold;
}

.sitemap-box h3 a {
		color: #000;
}

.sitemap-parent {
		margin-top: 20px;
}

.sitemap-parent-item {
		margin-top: 10px;
}

.sitemap-parent-item a {
		display: inline-block;
		color: #000;
}

.sitemap-child {
		padding-left: 20px;
		margin-top: 10px;
		margin-bottom: 20px;
		line-height: 1.8em;
}

@media only screen and (max-width: 767px) {
		.sitemap {
				display: block;
		}
		.sitemap-column {
				width: 100%;
		}
		.sitemap-box h3 {
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}
}


/* ************************************************************************
PC or SP Only
***************************************************************************/

.sp-only {
		display: none;
}

@media only screen and (max-width: 767px) {
		.pc-only {
				display: none;
		}
		.sp-only {
				display: block;
		}
}


/* ************************************************************************
plugins
***************************************************************************/


/* slide */

#slide {
		position: relative;
		width: 100%;
		height: 100%;
		margin: 0 auto;
}

#slide img {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		min-width: 1600px;
}

@media only screen and (max-width: 767px) {
		#slide {
				display: block;
		}
		#slide img {
				top: 0px;
				width: 100%;
				left: -460px;
				height: auto;
				min-width: 1320px;
		}
}


/** VARIABLES
===================================*/


/** RESET AND LAYOUT
===================================*/

.bx-wrapper {
		position: relative;
		margin: 0 auto 60px;
		padding: 0;
		*zoom: 1;
		-ms-touch-action: pan-y;
		touch-action: pan-y;
}

.bx-wrapper img {
		max-width: 100%;
		display: block;
}

.bxslider {
		margin: 0;
		padding: 0;
}

ul.bxslider {
		list-style: none;
}

.bx-viewport {
		/*fix other elements on the page moving (on Chrome)*/
		-webkit-transform: translatez(0);
}


/** THEME
===================================*/

.bx-wrapper {
		-webkit-box-shadow: 0 0 5px #ccc;
		box-shadow: 0 0 5px #ccc;
		border: 5px solid #fff;
		background: #fff;
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
		position: absolute;
		bottom: -30px;
		width: 100%;
}


/* LOADER */

.bx-wrapper .bx-loading {
		min-height: 50px;
		background: url("images/bx_loader.gif") center center no-repeat #ffffff;
		height: 100%;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2000;
}


/* PAGER */

.bx-wrapper .bx-pager {
		text-align: center;
		font-size: .85em;
		font-family: Arial;
		font-weight: bold;
		color: #666;
		padding-top: 20px;
}

.bx-wrapper .bx-pager.bx-default-pager a {
		background: #666;
		text-indent: -9999px;
		display: block;
		width: 10px;
		height: 10px;
		margin: 0 5px;
		outline: 0;
		-webkit-border-radius: 5px;
		border-radius: 5px;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
		background: #000;
}

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
		display: inline-block;
		*zoom: 1;
		*display: inline;
}

.bx-wrapper .bx-pager-item {
		font-size: 0;
		line-height: 0;
}


/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
		left: 10px;
		background: url("images/controls.png") no-repeat 0 -32px;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
		background-position: 0 0;
}

.bx-wrapper .bx-next {
		right: 10px;
		background: url("images/controls.png") no-repeat -43px -32px;
}

.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
		background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
		position: absolute;
		top: 50%;
		margin-top: -16px;
		outline: 0;
		width: 32px;
		height: 32px;
		text-indent: -9999px;
		z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
		display: none;
}


/* AUTO CONTROLS (START / STOP) */

.bx-wrapper .bx-controls-auto {
		text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
		display: block;
		text-indent: -9999px;
		width: 10px;
		height: 11px;
		outline: 0;
		background: url("images/controls.png") -86px -11px no-repeat;
		margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
		background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
		display: block;
		text-indent: -9999px;
		width: 9px;
		height: 11px;
		outline: 0;
		background: url("images/controls.png") -86px -44px no-repeat;
		margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
		background-position: -86px -33px;
}


/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
		text-align: left;
		width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
		right: 0;
		width: 35px;
}


/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
		position: absolute;
		bottom: 0;
		left: 0;
		background: #666;
		background: rgba(80, 80, 80, 0.75);
		width: 100%;
}

.bx-wrapper .bx-caption span {
		color: #fff;
		font-family: Arial;
		display: block;
		font-size: .85em;
		padding: 10px;
}


/* ************************************************************************
Point Card
***************************************************************************/

.ptcard h3 {
		padding-left: 15px;
		margin-top: 50px;
		border-left: 7px solid #d00b0b;
		font-size: 24px;
		font-weight: normal;
}

.ptcard section p {
		margin-top: 20px;
}

.link_btn_m {
		text-align: center;
		display: block;
		padding: 0;
		margin: 50px auto 50px;
		width: 312px;
		height: 50px;
		line-height: 50px;
		background: #000;
		border: none;
		/*    -webkit-border-radius: 5px;
border-radius: 5px;*/
		color: #fff;
		font-size: 16px;
		letter-spacing: 0.1em;
}

.link_btn_m:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
		text-decoration: none;
}


.accordion {
		max-width: 100%;
		position: relative;
		margin: 0;
		padding-top: 20px;
}

.accordion dt {
		cursor: pointer;
		background: url(../images/icon/ico_plus.png) 97.5% 50% no-repeat, #A6A6A6;
		padding: 18px 30px 18px 4em;
		margin: 13px 0 0px;
		font-size: 18px;
		font-weight: 600;
		color: #fff;
		line-height: 24px;
		letter-spacing: 0.05em;
		text-indent: -1.8em;
}

.accordion dt:before {
		content: 'Q';
		font-size: 1.3em;
		font-weight: bold;
		color: #fff;
		margin: .3em .8em 0 0em;
}

.accordion dt.active {
		background: url(../images/icon/ico_minus.png) 97.5% 50% no-repeat, #A6A6A6;
}


/*    .accordion dt:hover {
background-color: #999;
}
*/

.accordion dd {
		display: none;
		background-color: #f4f4f4;
		font-size: 18px;
		margin: 0px 0 20px;
		padding: 20px 18px 30px 4.2em;
		text-indent: -2.1em;
}

.accordion dd:before {
		content: 'A';
		font-size: 1.3em;
		font-weight: bold;
		color: #A6A6A6;
		margin: .3em 0.7em 0 0;
}

.accordion dd p {
		display: inline;
		font-size: 14px;
}

.ptcard_dlapp {
		min-height: 100%;
		height: 100%;
}

.ptcard_dlapp .headline {
		text-align: center;
}

.ptcard_dlapp .inner {
		min-height: calc(100vh - 93px);
		text-align: center;
}

.ptcard_dlapp h3 {
		margin-top: 50px;
		font-size: 24px;
}

.ptcard_dlapp .inner p {
		padding: 20px 0;
}

.ptcard_dlapp .inner img {
		margin: 0 auto;
}

.close_btn {
		display: block;
		margin: 70px auto 0;
		width: 238px;
		height: 40px;
		line-height: 40px;
		background: #000;
		text-align: center;
		color: #fff;
		font-size: 14px;
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
}

.close_btn:hover {
		background: #d00b0b;
}

.copyright_only {
		margin-top: 0;
		padding-top: 0;
		background: none;
}


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

		.ptcard h3 {
				padding-left: 10px;
				margin-top: 30px;
				border-left: 4px solid #d00b0b;
				font-size: 20px;
		}

		.link_btn_m {
				width: 90%;
		}

		.accordion dt {
				padding: 10px 11%;
				font-size: 15px;
				margin: 10px 0 0px;
				line-height: 1.4;
		}

		.accordion dt:before {
				margin: .3em .5em 0 0;
		}
		.accordion dt {
				-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
				tap-highlight-color: rgba(0, 0, 0, 0);
		}
		.accordion dd {
				margin: 0px 0 20px;
				padding: 5px 5% 20px 10%;

				font-size: 15px;
				text-indent: -1.5em;
		}
		.accordion dd:before {
				margin: 0 .2em 0 0;
		}
		.ptcard_dlapp h3 {
				margin-top: 30px;
				font-size: 20px;
		}
		.ptcard_dlapp .inner {
				min-height: calc(100vh - 143px);
		}
		.search-back-btn {
				margin-top: 30px;
		}
}


/*追記_171116

.abs {
position: absolute;
top: 250px;
z-index: 9999;
}

.abs img:hover {
opacity: 1;
}

.abs a:hover {
opacity: 1;
}

.sp768 {
display: none;
}

.vns {
position: absolute;
top: 0px;
z-index: 499;
}

.vns img {
width: 100%;
}

.scroll {
position: absolute;
right: 0;
left: 0;
z-index: 500;
}

.vns img {
position: static !important;
width: 100%;
height: auto;
min-width: auto !important;
}

@media screen and ( max-width:768px ){
.sp768 {
display: block;
z-index: 10;
position: relative;
}

.sp768 img:hover {
opacity: 1;
}

.pc768{
display: none;
}

#slide {
display: none;
}

.main-visual {
height: auto;
}

}
*/