@charset "utf-8";




/* ----------------------------------------------------------------------
 * RESET
 * ---------------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
input,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
:before,
:after {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	vertical-align: bottom;
	box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
	display: block;
}

html {
	font-size: 62.5%;
	background: #fff;
	overflow-y: scroll;
}

.g-body {
	color: #474747;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: 'Karla', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-weight: 500;
	font-feature-settings: 'pkna';
	line-height: 1;
	letter-spacing: .05em;
	width: 100%;
	min-width: 1000px;
	height: 100%;
	margin: 0;
	padding: 0;
	background: #fff;
	position: relative;
	cursor: default;
}

input,
textarea,
select,
option,
button {
	font-family: 'Karla', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none;
}

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

a,
a:before,
a:after,
a img,
input[type="image"] {
	color: #000;
	text-decoration: underline;
	transition: .2s ease;
}

.no-touch a:hover,
.no-touch a:hover img,
.no-touch input[type="image"]:hover {
	text-decoration: none;
	opacity: .8;
}

a:focus {
	outline: none;
}

img {
	max-width: 100%;
	height: auto;
}

button {
	margin:0;
	padding:0;
	border:0;
	background:transparent;
}

::selection {
	color: #fff;
	background: #000;
}

::-moz-selection {
	color: #fff;
	background: #000;
}




/* ----------------------------------------------------------------------
 * GLOBAL - UTILITY
 * ---------------------------------------------------------------------- */
.u-show-pc {
	display: inline-block !important;
}

.u-show-tablet {
	display: none !important;
}

.u-show-mobile {
	display: none !important;
}

.u-font-sans-serif {
	font-family: 'Karla', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}

.u-font-serif {
	font-family: 'Cormorant Garamond', '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

.u-bg-gray {
	padding-top: 60px;
	background-color: rgba(0,0,0,.025);
}

.u-line-gray {
	border: 1px solid #e2e2e2;
}





/* ----------------------------------------------------------------------
 * LAYOUT
 * ---------------------------------------------------------------------- */
.g-wrap {
	position: relative;
	overflow: hidden;
	z-index: 200;
}

.g-wrap.is-matsumoto-line:before,
.g-wrap.is-matsumoto-line:after {
	content: '';
	width: 100px;
	height: 400px;
	display: block;
	position: absolute;
	z-index: 0;
	transform-origin: top right;
	transform: skewX(45deg);
}

.g-wrap.is-matsumoto-line:before {
	background: rgba(180,5,30,.5);
	top: 0;
	right: 400px;
}

.g-wrap.is-matsumoto-line:after {
	background: rgba(1,77,160,.5);
	top: 70px;
	right: 260px;
}

.g-container {
	padding: 85px 0 0;
	position: relative;
	z-index: 10;
}

.u-content {
	padding: 60px 0 0;
	position: relative;
}

.u-inner {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 0 30px;
	position: relative;
}






/* ------------------------------------------------------------------------------------------------
 * Parts Template
 * ------------------------------------------------------------------------------------------------ */
/* Template title */
.u-title-hi {
	color: #777;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: .15em;
	margin: 0 0 40px;
}

.u-title-hi .e-title:before {
	content: attr(data)'';
	color: #474747;
	font-family: 'Cormorant Garamond', '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: 3.6rem;
	letter-spacing: 0;
	margin: 0 0 15px;
	display: block;
	transform: rotate(.05deg);
}

.u-title-mid {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1em;
	margin: 0 0 40px;
	padding: .1em 0 0 20px;
	border-left: 3px solid #000;
}

.u-title-low {
	border-bottom: 1px solid #d4d4d4;
}

.u-title-low .e-title {
	font-size: 1.9rem;
	font-weight: 700;
	margin: -1px 0;
	padding: 10px .25em;
	display: inline-block;
	border-bottom: 1px solid #000;
}

.u-read-text {
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: .1em;
	margin: 0 0 1.5em;
	transform: rotate(.05deg);
}




.l-content-menu {
	margin: 0 0 30px;
}

.l-content-menu:nth-of-type(2) {
	margin: 0 0 60px;
	padding-top: 60px;
}

.l-content-menu__items {
	display: flex;
	justify-content: center;
}

.l-content-menu__item {
	padding: 0 1px;
}

.l-content-menu.is-col-2 .l-content-menu__item {
	width: calc((100% / 6) * 2);
}

.l-content-menu__item .e-link {
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	padding: 20px 0;
	background: rgba(255,255,255,.85);
	display: block;
	position: relative;
}

.l-content-menu__item .e-link:after,
.l-content-menu__item .e-link:before {
	content: '';
	width: 100%;
	height: 3px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
}

.l-content-menu__item .e-link:before {
	width: 0;
	background: #000;
	z-index: 10;
}

.l-content-menu__item .e-link:after {
	background: #ccc;
	z-index: 0;
}

.l-content-menu__item .e-link:hover {
	background: #f1f1f1;
	opacity: 1;
}

.l-content-menu__item .e-link:hover:before {
	width: 100%;
}

.l-content-menu__item.is-current .e-link {
	background: #f1f1f1;
}

.l-content-menu__item.is-current .e-link:hover {
	opacity: 1;
}

.l-content-menu__item.is-current .e-link:before {
	width: 100%;
}

.is-white-theme .l-content-menu__item .e-link {
	color: #fff;
	background: transparent;
}

.is-white-theme .l-content-menu__item .e-link:hover {
	background: rgba(255,255,255,.25);
}

.is-white-theme .l-content-menu__item .e-link:before {
	background: #fff;
}

.is-white-theme .l-content-menu__item .e-link:after {
	background: rgba(255,255,255,.75);
}














/* ------------------------------------------------------------------------------------------------
 * Key visual
 * ------------------------------------------------------------------------------------------------ */
.c-kv {
	max-width: 1020px;
	margin: 0 auto;
	padding: 80px 0;
}

.l-kv__item .e-img {
	width: 100%;
	max-width: none;
}

.l-kv__catch {
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	z-index: 10;
}

.l-kv__catch .e-link {
	display: block;
}










/* ------------------------------------------------------------------------------------------------
 * Header
 * ------------------------------------------------------------------------------------------------ */
.g-header {
	width: 100%;
	min-height: 90px;
	background: #fff;
	display: block;
	position: relative;
	z-index: 10;
}

.g-header:after {
	content: '';
	width: 100%;
	height: 1px;
	display: block;
	background: rgba(0,0,0,.065);
	position: absolute;
	bottom: -1px;
	left: 0;
}

.g-header__brand {
	width: 400px;
	height: 90px;
	display: table;
	float: left;
}

.g-header__brand .e-link {
	text-align: center;
	vertical-align: middle;
	width: calc(100% / 2);
	display: table-cell;
	position: relative;
}

.g-header__brand .e-link img {
	max-width: 120px;
}

.g-header__brand .e-link[href*="bishoukan"] {
	background: #b3051e;
}

.g-header__brand .e-link[href*="rihatsukan"] {
	background: #014da0;
}

.g-header__logo {
	text-align: center;
	width: 240px;
	padding: 25px 0 0;
}

.g-header__logo .e-img {
	max-width: 180px;
}

.l-nav {
	float: right;
}

.l-nav__items {
	margin-left: auto;
	height: 90px;
	display: table;
}

.l-nav__item {
	vertical-align: middle;
	display: table-cell;
	position: relative;
}

.l-nav__item:before {
	content: '';
	width: 1px;
	height: 50px;
	background: #e5e5e5;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

@media all and (-ms-high-contrast:none){
	.l-nav__item:before {
		top: 20px;
		transform: none;
	}
}

.l-nav__item .e-link {
	text-decoration: none;
	padding: 15px 30px;
}

.l-nav__item .e-button {
	font-size: 1.8rem;
	font-weight: 700;
}

.g-header-nav__button {
	display: none;
}








.l-nav__items-brand {
	min-height: 90px;
	display: flex;
}

.l-nav__item-brand {
	width: 220px;
}

.l-nav__item-brand .e-link {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.l-nav__item-brand.is-bishoukan .e-link {
	background: #b3051e;
}

.l-nav__item-brand.is-rihatsukan .e-link {
	background: #014da0;
}

.l-nav__item-brand .e-img {
	max-width: 100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}






/* ------------------------------------------------------------------------------------------------
 * footer-contactfooter
 * ------------------------------------------------------------------------------------------------ */
.g-footer {
	padding: 60px 60px 0;
	border-top: 1px solid #e5e5e5;
	position: relative;
	z-index: 220;
}

.is-recruit .g-footer {
	padding: 30px 60px 0;
	background: #f7f7f7;
}

.g-footer__main {
	width: calc((100% - 120px) / 5 * 4 - 1px);
	padding: 20px 30px;
	background: #fff;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	position: absolute;
	bottom: 0;
	left: 60px;
}

.g-footer__main:after {
	content: '';
	width: 100%;
	height: 30px;
	background: #fff;
	position: absolute;
	top: -1px;
	left: 0;
	transform: translateY(-100%);
	z-index: 10;
}

.g-footer__main-logo {
	max-width: 170px;
	display: inline-block;
}

.g-footer__main-description {
	color: #777;
	font-weight: 700;
	letter-spacing: .15em;
	margin: 0 0 0 15px;
	display: inline-block;
}

.g-footer__sitemap {
	display: flex;
	justify-content: space-between;
	border-right: 1px solid #e5e5e5;
}

.g-footer__sitemap-items {
	width: 100%;
	padding: 30px;
	border-left: 1px solid #e5e5e5;
	transition: .2s ease;
}

.g-footer__sitemap-items:nth-of-type(2),
.g-footer__sitemap-items:nth-of-type(3) {
	padding-top: 2px;
}

.g-footer__sitemap-items:hover {
	background: rgba(0,0,0,.025);
}

.g-footer__sitemap-item {
	margin: 0 0 10px;
	position: relative;
}

.g-footer__sitemap-item:after {
	content: '';
	width: 100%;
	height: 1px;
	display: inline-block;
	background: #e5e5e5;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 1;
	transition: .2s ease;
}

.g-footer__sitemap-item:hover:after {
	height: 100%;
	background: #000;
}

.g-footer__sitemap-item .e-link {
	color: #777;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 0 10px 20px;
	display: block;
	position: relative;
	z-index: 10;
}

.g-footer__sitemap-item .e-link:hover {
	opacity: 1;
}

.g-footer__sitemap-item:hover .e-link {
	color: #fff;
}

.g-footer__sitemap-item.is-bishoukan,
.g-footer__sitemap-item.is-rihatsukan {
	text-align: center;
}

.g-footer__sitemap-item.is-bishoukan .e-link,
.g-footer__sitemap-item.is-rihatsukan .e-link {
	color: transparent;
	min-height: calc(48px + 1em);
	padding: 10px 10px 10px 0;
	overflow: hidden;
	background-position: left 47.5% top 50%;
	background-size: 100px auto;
	background-repeat: no-repeat;
}

.g-footer__sitemap-item.is-bishoukan .e-link {
	background-image: url("/_assets/img/global/logo-bishoukan-02.png");
}

.g-footer__sitemap-item.is-bishoukan .e-link:hover {
	background-image: url("/_assets/img/global/logo-bishoukan-01.png");
}

.g-footer__sitemap-item.is-rihatsukan .e-link {
	background-image: url("/_assets/img/global/logo-rihatsukan-02.png");
}

.g-footer__sitemap-item.is-rihatsukan .e-link:hover {
	background-image: url("/_assets/img/global/logo-rihatsukan-01.png");
}

.g-footer__sitemap-item.is-bishoukan .e-img,
.g-footer__sitemap-item.is-rihatsukan .e-img {
	max-width: 100px;
}

.g-footer__sitemap-item.is-bishoukan:after {
	background: #b3051e;
}

.g-footer__sitemap-item.is-rihatsukan:after {
	background: #014da0;
}

/* Copyright */
.g-copyright {
	color: #777;
	font-size: 1.3rem;
	font-weight: 400;
	text-align: center;
	letter-spacing: 0;
	padding: 30px 0;
	display: block;
	position: relative;
	z-index: 10;
}

.is-recruit .g-copyright {
	background: #f7f7f7;
}

.g-footer-pagetop {
	border: 1px solid rgba(255,255,255,.35);
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 400;
	box-shadow: 0 0 20px 0 rgba(255,255,255,.5);
}

.g-footer-pagetop a {
	width: 80px;
	height: 80px;
	display: block;
	border-radius: 5px;
	background: rgba(0,0,0,.5);
	position: relative;
}

.no-touch .g-footer-pagetop a:hover {
	background: rgba(0,0,0,1);
	opacity: 1;
}

.g-footer-pagetop a:after {
	content: '';
	width: 12px;
	height: 21px;
	display: inline-block;
	background: url("/_assets/img/global/arrow-white-03.png") no-repeat center / 100% auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: rotate(-90deg) translate(-50%,-50%);
	transform-origin: left top;
}






.l-banner-slide {
	margin: 0 0 90px;
	padding: 0 60px;
}

.l-banner-slide__inner {
	padding: 20px 0;
	background: #f1f1f1;
}

.l-banner-slide__item {
	text-align: center;
	padding: 0 10px;
}

.slick-next,
.slick-prev {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50%;
	background: url("/_assets/img/global/arrow-black-01.png") no-repeat center / 100% auto !important;
	z-index: 100;
}

.slick-next:before,
.slick-prev:before {
	display: none !important;
}

.slick-prev {
	left: -20px;
}

.slick-next {
	right: 20px !important;
	transform-origin: center right !important;
	transform: scale(-1,1) translate(0, -50%) !important;
}

.slick-slide img {
	display: inline-block !important;
}




















