/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}


/* -----------------------------------------------------------------------------
共通
----------------------------------------------------------------------------- */
html {
	font-size: 16px;
}

body {
	font-family: "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 0.625rem;
	background-color: #999;
	color: #fff;
}

img {
	max-width: 100%;
	vertical-align: bottom
}

.button .button_inner {
	display: inline-block;
	border: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	padding: 1.25rem 3.75rem;
	line-height: 1;
	cursor: pointer;
	transition-property: background-color color;
	transition-duration: 0.3s;
	text-decoration: none;
}

.button .button_inner:hover {
	background-color: rgba(255, 255, 255, .3);
}

a {
	text-decoration: underline;
	color: #fff;
}

a:hover {
	text-decoration: none;
}

/* -----------------------------------------------------------------------------
トップページ
----------------------------------------------------------------------------- */
.index .wrapper {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	width: 100%;
}

.background_slide {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.swiper-slide {
	position: relative;
	height: 100%;
}

.swiper-slide img {
	position: relative;
	top: 50%;
	left: 50%;
	height: auto;
	width: 100%;
	max-width: initial;
	transform: translate(-50%, -50%);
}

.is_vlong .swiper-slide img {
	height: 100%;
	width: auto;
}

.top_left,
.left_side,
.right_side,
.bottom_right {
	position: absolute;
}

.top_left p,
.left_side p,
.right_side p,
.bottom_right p {
	line-height: 1.5;
}

.top_left p+p,
.left_side p+p,
.right_side p+p,
.bottom_right p+p {
	margin-top: 0.5em;
}

.top_left {
	top: 1.5rem;
	left: 1.5rem;
}

.left_side {
	left: 1.5rem;
	transform: rotate(90deg) translateX(-50%);
	transform-origin: left bottom;
}

.right_side {
	right: 1.5rem;
	transform: rotate(-90deg) translateX(50%);
	transform-origin: right bottom;
}

.bottom_right {
	bottom: 1.5rem;
	right: 1.5rem;
}


.maintitle {
	transform: translateY(15%);
	text-align: center;
}

.maintitle_title h1 {
	font-family: Helvetica Neue;
	font-size: 3.875rem;
	letter-spacing: .04em;
}

/* ロゴ横幅 */
.maintitle_title h1 img {
	width: 140px;
}

.maintitle_links {
	font-size: .75rem;
	margin-top: 2rem;
	margin-bottom: 3rem;
}

.text_links {
	display: inline-flex;
}

.text_links span+span::before {
	content: ' / ';
	margin-left: 0.5em;
	margin-right: 0.5em;
}

.lum-gallery-button {
	display: none;
}

@media screen and (max-width: 767px) {
	html {
		font-size: 2.604vw;
	}

	body {
		font-size: 1rem;
	}

	.maintitle {
		transform: translateY(20%);
	}

	/* ロゴ横幅スマホ画面比率 */
	.maintitle_title h1 img {
		width: 30vw;
	}

	.maintitle_links {
		font-size: 1.2rem;
	}

	.left_side,
	.right_side {
		display: none;
	}
}

@media (max-width: 460px) {
	.lum-lightbox-image-wrapper {
		display: table-cell;
	}

	.lum-lightbox-inner img {
		max-width: 100%;
		max-height: 100%;
	}
}