@charset "UTF-8";
@import url('https://use.fontawesome.com/releases/v5.14.0/css/all.css');
/*
 * 1.0 - Normalize
 * 2.0 - Common
 * 3.0 - Header
 * 4.0 - Contents
 * 5.0 - Navi
 * 6.0 - Main
 * 7.0 - Footer
 * 8.0 - Single Page
 * 9.0 - Option
 */
/*----------------------------------------------------
	1.0 - Normalize
----------------------------------------------------*/
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {
	outline: 0;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: """";
}
a img {
	border: 0;
}
figure {
	margin: 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
/*Border*/
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
@font-face {
	font-family: 'MazdaTypeRegular';
	src: url('../font/MazdaTypeTT-Regular.woff2') format('woff2'), url('../font/MazdaTypeTT-Regular.woff') format('woff'), url('../font/MazdaTypeTT-Regular.eot') format('eot'), url('../font/MazdaTypeTT-Regular.ttf') format('truetype');
}
/*----------------------------------------------------
	2.0 - Common
----------------------------------------------------*/
html {
	background: #000;
	font-size: 62.5%; /* base-font-size:10px */
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0;
}
@media(max-width: 768px) {
	body {
		font-size: 1.4rem;
	}
}
a {
	color: #991216;
}
a:hover {
	color: #db363b;
	text-decoration-color: transparent;
}
*tel-setting*/ a[href*="tel:"] {
	pointer-events: none;
}
#wrapper {
	position: relative;
	background: #fff;
	width: 100%;
	margin: 0 auto;
}
/*----------------------------------------------------
	3.0 - Header
----------------------------------------------------*/
header {
	display: flex;
	justify-content: center;
	position: fixed;
	background: #000;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	line-height: 0;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	z-index: 10;
}
header .head_inner {
	display: flex;
	align-items: center;
	width: 1100px;
}
header .head_inner h1 {
	width: auto;
	padding-right: 140px;
	text-align: left;
}
header .head_inner h1 img {
	width: 360px;
	height: auto;
}
@media(max-width: 1099px) {
	header {
		display: inline;
		background: #000;
		width: 100%;
		height: 60px;
		box-shadow: none;
		z-index: 20;
	}
	header .head_inner {
		display: inline;
		width: 100%;
	}
	header .head_inner h1 {
		display: flex;
		align-items: center;
		width: auto;
		height: 60px;
		padding-right: 60px;
	}
	header .head_inner h1 img {
		width: 100%;
		max-width: 220px;
		transition: .3s;
	}
	header .head_inner h1 img[src*="_pc"] {
		display: none;
	}
}
/*----------------------------------------------------
	4.0 - Contents
----------------------------------------------------*/
#contents {
	width: 100%;
	margin: 0 auto;
	padding: 100px 0 0;
	line-height: 0;
	z-index: 0;
}
@media (max-width: 1099px) {
	#contents {
		padding-top: 60px;
	}
}
.inner {
	width: 1100px;
	margin: 0 auto;
	text-align: center;
}
@media (max-width: 1099px) {
	.inner {
		width: 96%;
	}
}
/*----------------------------------------------------
	5.0 - Navi
----------------------------------------------------*/
/* ===== Hamburger ===== */
@media(min-width: 1100px) {
	.hamburger {
		display: none;
	}
}
@media(max-width: 1099px) {
	.hamburger {
		position: fixed;
		display: flex;
		justify-content: center;
		background: #991216;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		line-height: 1.75;
		text-align: center;
		cursor: pointer;
		z-index: 10;
	}
	.hamburger span {
		display: block;
		position: absolute;
		width: 30px;
		height: 2px;
		left: 15px;
		background: #fff;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	.hamburger span:nth-child(1) {
		top: 10px;
	}
	.hamburger span:nth-child(2) {
		top: 20px;
	}
	.hamburger span:nth-child(3) {
		top: 30px;
	}
	.hamburger.active span:nth-child(1) {
		top: 16px;
		left: 15px;
		background: #fff;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
		top: 16px;
		background: #fff;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.hamburger p {
		position: absolute;
		top: 32px;
		color: #fff;
		font-size: 1.2rem;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	.hamburger.active p {
		color: #fff;
	}
}
/* ===== Menu ===== */
@media(min-width: 1100px) {
	nav {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100px;
		z-index: 10;
	}
	.dropmenu {
		display: flex;
		justify-content: space-between;
		width: 100%;
		height: 100%;
		margin: 0 auto;
	}
	/* .dropmenu li {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #000;
        width: 100%;
        padding: 0;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.0;
        letter-spacing: -0.025em;
        transition: all 0.3s;
    } */
	.dropmenu li {
		position: relative;
		background-color: #000;
		width: 100%;
		padding: 0;
		color: #fff;
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1.0;
		letter-spacing: -0.025em;
		transition: all 0.3s;
	}
	.dropmenu li.wide {
		min-width: 145px;
	}
	.dropmenu li.contact {
		display: none;
	}
	/* .dropmenu li a {
        display: block;
        align-self: center;
        color: #fff;
        text-decoration: none;
    } */
	.dropmenu li a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		background-color: #000;
		width: 100%;
		color: #fff;
		line-height: 100px;
		text-decoration: none;
	}
	.dropmenu > li:after {
		position: absolute;
		bottom: 2px;
		left: 0;
		content: '';
		width: 100%;
		height: 5px;
		background: #991216;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
	}
	.dropmenu > li:hover:after {
		bottom: 0;
		opacity: 1;
		visibility: visible;
	}
	.dropmenu li.on:after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background: #991216;
		opacity: 1;
		visibility: visible;
	}
	.dropmenu li ul {
		position: absolute;
		top: 100%;
		left: 0;
		width: auto; /* nowrap */
		min-width: 100%; /* nowrap */
	}
	.dropmenu li ul li {
		background: #f0f0f0;
		height: 0;
		font-size: 1.3rem;
		overflow: hidden;
		transition-duration: 0.3s;
	}
	.dropmenu li ul li:last-child {
		border-bottom: none;
	}
	.dropmenu li li:hover {
		background: #ddd;
	}
	.dropmenu li ul li.nowrap, .dropmenu li ul li ul li.nowrap {
		white-space: nowrap;
	}
	.dropmenu li:hover > ul > li {
		/* height: 44px; */
		height: auto;
		border-bottom: 1px solid #fff;
		overflow: visible;
	}
	.dropmenu li:hover > ul > li a {
		display: block;
		width: 100%;
		line-height: 3.0;
		color: #000;
	}
	.dropmenu li:hover > ul > li:last-child {
		border-bottom: none;
	}
	.dropmenu li ul li ul {
		top: 0;
		left: 100%;
	}
	.dropmenu li:last-child ul li ul {
		left: -100%;
		width: 100%;
	}
	/* .dropmenu li .arrow:after {
        content: "";
        position: absolute;
        right: 4px;
        top: 24px;
        transition: all 0.3s;
        display: block;
        width: 8px;
        height: 8px;
        border: 5px solid transparent;
        border-left-color: #000;
        -webkit-transform: rotate(90deg);
    } */
}
@media(max-width: 1099px) {
	nav {
		display: inline;
		background: none;
		height: auto;
	}
	.dropmenu {
		position: fixed;
		/* display: none; */
		background-color: rgba(255, 255, 255, 0.95);
		left: 120%; /*右から左へ*/
		width: 100%;
		height: 100vh;
		color: #000;
		z-index: 99;
		transition: all 0.5s;
	}
	.dropmenu > li {
		position: relative;
		display: block;
		text-align: left;
		border-bottom: 1px solid #ccc;
		transition: .3s all;
	}
	.dropmenu > li > ul li {
		border-top: 1px solid #ccc;
	}
	.dropmenu > li a {
		display: block;
		padding: 1.5em 0 1.5em 0.4em;
		color: #000;
		text-decoration: none;
		transition: color .3s, text-decoration .3s;
	}
	.dropmenu li a span {
		display: none;
	}
	.dropmenu > li > ul li a {
		padding: 1.5em 0 1.5em 0.4em;
	}
	.dropmenu > li > ul li ul li a {
		padding: 1.5em 0 1.5em 0.4em;
	}
	.dropmenu ul, .dropmenu ul ul {
		display: none;
	}
	.dropmenu > li a:hover {
		color: #991216;
	}
	.dropmenu li.on:after {
		display: none;
	}
	.dropmenu > li.off a:hover {
		color: #fff;
		cursor: default;
	}
	.dropmenu.panelactive {
		left: 0; /*右から左へ*/
	}
}
/* arrow */
@media(max-width: 1099px) {
	ul.dropmenu div.level01, ul.dropmenu div.level02 {
		position: relative;
	}
	ul.dropmenu div.level01 a, ul.dropmenu div.level02 a {
		display: flex;
		align-items: center;
	}
	ul.dropmenu div.level01 a:after, ul.dropmenu div.level02 a:after {
		content: "";
		position: absolute;
		right: 10px;
		/* top: 1.5em; */
		transition: all 0.2s ease-in-out;
		width: 8px;
		height: 8px;
		border-top: solid 2px #999;
		border-right: solid 2px #999;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	ul.dropmenu div.level01 a:hover:after, ul.dropmenu div.level02 a:hover:after {
		border-top: solid 2px #991216;
		border-right: solid 2px #991216;
	}
	ul.dropmenu div.level01.open a:after, ul.dropmenu div.level02.openAcd a:after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		/* top: 1.75em; */
	}
}
/*----------------------------------------------------
	6.0 - Main
----------------------------------------------------*/
#contents h1 {
	position: relative;
	background-image: url(../img/common/bg_h1.jpg);
	background-position: center bottom;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 180px;
	margin: 0 auto;
	color: #fff;
	font-size: 1.375em;
	font-weight: 700;
	line-height: 1.0;
	text-align: center;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
	text-shadow: 0 0 6px #000;
}
@media(max-width: 480px) {
	#contents h1 {
		height: 120px;
	}
}
#contents h1 p {
	margin-top: 1.5em;
	color: #fff;
	font-family: "MazdaTypeRegular", "Noto Sans JP", sans-serif;
	font-size: 0.636em;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	text-shadow: none;
	opacity: 0.7;
}
section {
	padding: 4.5em 0;
	line-height: 1.75;
}
section a {
	transition: color .3s, text-decoration .3s;
}
@media(max-width: 480px) {
	section {
		padding: 3em 0;
	}
}
section h2 {
	position: relative;
	margin: 2em auto 1.5em;
	padding-bottom: 0.6em;
	font-size: 2.125em;
	font-weight: 500;
	line-height: 1.15;
	text-align: center;
	letter-spacing: 0.35em;
	text-indent: 0.35em;
}
section h2.narrow {
	letter-spacing: 0em;
	text-indent: 0em;
}
section h2.index {
	font-family: "MazdaTypeRegular", "Noto Sans JP", sans-serif;
	font-size: 2.25em;
	font-weight: 700;
	letter-spacing: 0;
	text-indent: 0;
}
section h2:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 1.11em;
	margin: 0 auto;
	border-bottom: 5px #991216 solid;
}
section h2:first-of-type {
	margin-top: 0;
}
section h2.first {
	margin-top: 2em;
}
section h3 {
	position: relative;
	background: #333;
	margin: 2.5em auto 1em;
	padding: 0.5em 0.4em 0.6em;
	color: #fff;
	font-size: 1.5em;
	font-weight: 700;
	text-align: left;
	line-height: 1.2;
	border-radius: 2px;
}
section h3.picup {
	background: #991216;
	width: 184px;
	margin: 0 auto 2.5em;
	padding: 1.35em 0;
	color: #fff;
	font-size: 0.9375em;
	font-weight: 700;
	text-align: center;
	line-height: 0;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
	border-radius: 2px;
}
section h2 + h3 {
	margin-top: 0;
}
section h4 {
	position: relative;
	margin: 1.65em auto 0.3em;
	padding-bottom: 0.25em;
	font-size: 1.375em;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	border-bottom: 1px solid #ccc;
}
section h3 + h4 {
	margin-top: 0;
}
/*----------------------------------------------------
	7.0 - Footer
----------------------------------------------------*/
footer {
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
footer .bg_footer {
	background: #f0f0f0;
}
footer ul.footer_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	margin: 0 auto;
}
@media(max-width: 1099px) {
	footer ul.footer_nav {
		width: 100%;
	}
}
footer ul.footer_nav li {
	padding: 1.5em 0;
	font-size: 0.875em;
	line-height: 1;
	text-align: center;
}
footer ul.footer_nav li a {
	display: block;
	padding-left: 1em;
	padding-right: 1em;
	color: #000;
	text-decoration: none;
	border-right: 1px solid #ccc;
	transition: 0.3s;
}
footer ul.footer_nav li:last-of-type a {
	border-right: none;
}
footer ul.footer_nav li a:hover {
	color: #991216;
}
footer .copyright {
	background: #fff;
	width: 100%;
	min-height: 100px;
	margin: 0 auto;
	padding-top: 2em;
	font-size: 0.875em;
}
/*----------------------------------------------------
	8.0 - Single Page
----------------------------------------------------*/
/*  Index
----------------------------------------------------*/
/* ===== Main Image ===== */
#index_main {
	position: relative;
	background: #000;
	width: 100%;
	margin: 0 auto;
	line-height: 0;
	overflow: hidden;
}
.index_slider {
	position: relative;
	background: #000;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	line-height: 0;
}
.slick-list {
	max-height: 45.45vw !important;
	height: auto !important;
}
.index_slider li {
	width: 100%;
	max-width: 1100px;
	max-height: 500px;
	margin: 0 auto;
}
@media(max-width: 1099px) {
	.index_slider li {
		max-width: 100vw;
	}
}
.index_slider li img {
	width: 100%;
}
/* slick arrow */
.slick-arrow {
	opacity: 100;
	transition: .3s all ease-in-out;
	z-index: 1;
}
:hover .slick-prev {
	opacity: 1;
	left: 5px;
}
:hover .slick-next {
	opacity: 1;
	right: 5px;
}
.slick-prev::before {
	content: url(slick/arrow_left.png);
}
.slick-next::before {
	content: url(slick/arrow_right.png);
}
/* slick dot */
.slick-dots {
	bottom: 20px;
}
.slick-dots li {
	width: 70px;
	height: 5px;
	margin: 0 4px;
}
.slick-dots li button:before {
	background: #eee;
	content: '';
	width: 70px;
	height: 5px;
	opacity: 1;
}
.slick-dots li.slick-active button:before {
	background: #991216;
}
/* ===== Topics ===== */
.box_topics {
	background: #fff;
	width: 100%;
	margin-bottom: 2em;
	padding: 0.75em;
	border: 1px solid #ccc;
}
@media(max-width: 480px) {
	.box_topics {
		text-align: left;
	}
}
h2.index + .box_topics {
	margin-top: -1.5em;
}
/* ===== Information ===== */
.box_info {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
@media(max-width: 768px) {
	.box_info {
		flex-direction: column;
	}
}
.box_info dl {
	width: 68%;
	height: auto;
	margin: 0 auto;
	line-height: 1.6;
	text-align: left;
	overflow-y: auto;
}
.box_info dt, .box_info dd {
	padding-top: 16px;
	padding-bottom: 6px;
}
.box_info dt {
	float: left;
	position: relative;
}
.box_info dt span {
	position: relative;
	margin-left: 0.25em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	font-size: 0.75em;
	text-align: center;
	min-width: 8em;
	display: inline-block;
}
.box_info dt .icon_normal {
	background: #666;
	color: #fff;
	letter-spacing: 0.15em;
}
.box_info dt .icon_event {
	background: #991216;
	color: #fff;
	letter-spacing: 0.15em;
}
.box_info dd {
	position: relative;
	margin: 0;
	padding-left: 12em;
	border-bottom: 1px solid #fff;
}
@media(max-width: 768px) {
	.box_info dl {
		width: 100%;
	}
	.box_info dt, .box_info dd {
		padding-top: 0;
	}
	.box_info dt {
		float: none;
	}
	.box_info dd {
		margin-bottom: 1em;
		padding-left: 0;
	}
}
.box_info ul {
	display: flex;
	flex-direction: column;
	align-content: flex-start;
	width: 32%;
	line-height: 0;
	text-align: right;
}
.box_info ul li {
	margin-bottom: 10px;
}
.box_info ul img {
	max-width: 270px;
}
.box_info ul li a img {
	border: 1px solid #fff;
	transition: 0.3s;
}
.box_info ul li a:hover img {
	border: 1px solid #ccc;
}
@media(max-width: 768px) {
	.box_info ul {
		justify-content: space-between;
		flex-direction: row;
		width: 100%;
		text-align: center;
	}
	.box_info ul li {
		width: 49%;
	}
	.box_info ul img {
		max-width: 100%;
	}
}
/* ===== Picup Contents ===== */
.bg_picup_darkgray {
	position: relative;
	background: url(../img/contents/index/bg_picup_darkgray.gif);
	background-repeat: repeat-x;
	background-size: auto 555px;
}
.bg_picup_lightgray {
	position: relative;
	width: 100%;
	height: auto;
	top: 0;
	background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0) 5.5%, #f0f0f0 5.5%, #f0f0f0);
	background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0) 5.5%, #f0f0f0 5.5%, #f0f0f0);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 5.5%, #f0f0f0 5.5%, #f0f0f0);
	margin: 0 auto;
	padding: 2em 0;
	text-align: center;
}
/* List Flyer */
.list_flyer {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.list_flyer li {
	width: 49%;
}
.list_flyer li img {
	width: 100%;
	max-width: 540px;
	border: 5px solid #eee;
	transition: 0.3s;
}
/* single */
.list_flyer.col1 {
	justify-content: center;
}
.list_flyer.col1 li {
	width: 66%;
}
.list_flyer.col1 li img {
	max-width: 720px;
}
@media(max-width: 768px) {
	.list_flyer {
		justify-content: center;
		flex-direction: column;
	}
	.list_flyer li {
		width: 100%;
	}
	.list_flyer li:first-of-type {
		margin-bottom: 0.5em;
	}
	.list_flyer.col1 li {
		width: 100%;
	}
	.list_flyer.col1 li img {
		max-width: 540px;
	}
}
@media(max-width: 640px) {
	.list_flyer li {
		padding: 0 3em;
	}
}
/* List Picup */
.list_picup {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2em auto 3em;
}
.list_picup li {
	position: relative;
	width: 340px;
}
.list_picup li:nth-child(4) {
	display: none;
}
.list_picup li figure {
	background: #000;
	width: 100%;
	line-height: 0;
	overflow: hidden;
}
.list_picup li img {
	width: 100%;
	transition: all 0.5s;
}
.list_picup li a:hover img {
	opacity: 0.75;
	transform: scale(1.05);
}
@media(max-width: 1099px) {
	.list_picup li {
		width: 48%;
		margin-bottom: 5em;
	}
	.list_picup li:nth-child(4) {
		display: block;
	}
	.list_picup li:nth-child(n+3) {
		margin-bottom: 0;
	}
	.list_picup li figure {
		width: 100%;
		height: 100%;
	}
}
.list_picup li dl {
	position: absolute;
	bottom: -3.5em;
	left: 50%;
	background: #fff;
	width: 14em;
	max-width: 310px;
	margin: 0 auto;
	padding: 1.25em 1.25em 1.5em;
	transform: translate(-50%, 0);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}
.list_picup li a dt {
	background: #991216;
	margin-bottom: 0.25em;
	padding: 1.25em 0;
	color: #fff;
	font-weight: 700;
	line-height: 0;
	transition: all 0.5s;
}
.list_picup li a:hover dt {
	background: #000;
	color: #fff;
}
@media(max-width: 1099px) {
	.list_picup li dl {
		max-width: 90%;
		padding: 0.15em 0.15em 0.5em;
	}
	.list_picup li a dt {
		font-weight: 500;
	}
}
.list_picup li dd {
	font-family: "MazdaTypeRegular", "Noto Sans JP", sans-serif;
	font-size: 0.8125em;
	transition: all 0.5s;
}
.list_picup li a dd {
	color: #999;
}
.list_picup li a:hover dd {
	color: #000;
}
.list_picup li a .picup_arrow {
	position: relative;
	display: inline-block;
	margin: 2em 0 0 -40px;
	vertical-align: middle;
	text-decoration: none;
	font-size: 1em;
	transition: all 0.5s;
}
.list_picup li a:hover .picup_arrow {
	margin: 2em 0 0 -50px;
}
@media(max-width: 999px) {
	.list_picup li a .picup_arrow, .list_picup li a:hover .picup_arrow {
		margin-top: 0.75em;
	}
}
.list_picup li a .picup_arrow:before, .list_picup li a .picup_arrow:after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
	transition: all 0.5s;
}
.list_picup li a .arrow_type01:before {
	background: #999;
	top: 1px;
	left: 0;
	width: 40px;
	height: 1px;
	border-radius: 1px;
}
.list_picup li a:hover .arrow_type01:before {
	background: #000;
	width: 50px;
	border-radius: 1px;
}
.list_picup li a .arrow_type01:after {
	left: 24px;
	width: 14px;
	height: 14px;
	border-top: 1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-radius: 1px;
}
.list_picup li a:hover .arrow_type01:after {
	left: 34px;
	border-top: 1px solid #000;
	border-radius: 1px;
}
@media(max-width: 640px) {
	.list_picup li a .picup_arrow {
		display: none;
	}
}
/* ===== Access ===== */
.map {
	width: 100%;
	min-height: 300px;
	margin: 0 auto;
	border: 1px solid #fff;
}
/* ===== Foot Service Info ===== */
.bg_serviceinfo {
	position: relative;
	background-color: #000;
	background: url(../img/common/bg_serviceinfo.jpg);
	background-position: center top;
	background-repeat: repeat-x;
	background-size: cover;
	min-height: 405px;
	padding: 0;
}
.bg_serviceinfo_contact {
	position: relative;
	min-height: auto;
	margin-top: 5em;
	padding: 0;
}
ul.list_serviceinfo {
	display: flex;
	justify-content: space-between;
	padding-top: 2.5em;
}
@media(max-width: 768px) {
	ul.list_serviceinfo {
		flex-direction: column;
		height: auto;
		padding-top: 2em;
	}
}
/* Address */
ul.list_serviceinfo li.serviceinfo_add {
	width: 42%;
	text-align: left;
}
@media(max-width: 768px) {
	ul.list_serviceinfo li.serviceinfo_add {
		width: 100%;
		text-align: center;
	}
}
ul.list_serviceinfo li.serviceinfo_add dd a {
	color: #fff;
}
ul.list_serviceinfo li.serviceinfo_add img {
	width: 100%;
	max-width: 342px;
}
ul.list_serviceinfo li.serviceinfo_add dl {
	color: #fff;
}
ul.list_serviceinfo li.serviceinfo_add dt {
	color: #fff;
	font-size: 1.0625em;
	font-weight: 700;
	margin: 1em 0 0.5em;
}
ul.list_serviceinfo li.serviceinfo_add dd {
	font-size: 0.9375em;
}
/* Contact */
ul.serviceinfo_contact {
	display: flex;
	justify-content: space-between;
}
@media(max-width: 768px) {
	ul.serviceinfo_contact {
		justify-content: center;
	}
}
ul.serviceinfo_contact li a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(255, 255, 255, 0.85);
	width: 18em;
	min-height: 2.4em;
	margin-top: 0.75em;
	color: #000;
	font-weight: 700;
	text-decoration: none;
	border-radius: 1.2em;
	transition: 0.3s;
}
ul.serviceinfo_contact li a:hover {
	background-color: rgba(255, 255, 255, 1);
	color: #991216;
}
/* Calendar */
ul.list_serviceinfo li.serviceinfo_calendar {
	position: relative;
	width: 58%;
	color: #fff;
	text-align: center;
}
@media(max-width: 768px) {
	ul.list_serviceinfo li.serviceinfo_calendar {
		width: 100%;
		padding-top: 2em;
	}
}
ul.list_serviceinfo li.serviceinfo_calendar .calendar_title {
	font-family: "MazdaTypeRegular", "Noto Sans JP", sans-serif;
	font-size: 1.125em;
	font-weight: 700;
}
ul.list_serviceinfo li.serviceinfo_calendar ul.box_calendar {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
ul.list_serviceinfo li.serviceinfo_calendar ul.box_calendar li {
	width: 50%;
	text-align: center;
	margin: 0 auto;
}
ul.list_serviceinfo li.serviceinfo_calendar table {
	width: 98%;
	margin-top: 0.25em;
	text-align: center;
	margin: 0 auto;
}
ul.list_serviceinfo li.serviceinfo_calendar th, ul.list_serviceinfo li.serviceinfo_calendar td {
	background: #333;
	color: #fff;
	padding: 0.2em 0;
	font-size: 0.875em;
	font-weight: 700;
	text-align: center;
	border: 1px solid #000;
}
ul.list_serviceinfo li.serviceinfo_calendar th {
	font-weight: normal;
}
ul.list_serviceinfo li.serviceinfo_calendar th.month {
	font-size: 1em;
	font-weight: 700;
}
ul.list_serviceinfo li.serviceinfo_calendar td.b_holiday {
	background: #f3acb1;
	color: #fff;
}
ul.list_serviceinfo li.serviceinfo_calendar .day *:first-child, ul.list_serviceinfo li.serviceinfo_calendar .day .n_holiday {
	color: #f06670;
}
ul.list_serviceinfo li.serviceinfo_calendar .day *:last-child {
	color: #57a3f3;
}
ul.list_serviceinfo li.serviceinfo_calendar .calendar_attention {
	position: relative;
	padding-left: 1.75em;
	font-size: 0.875em;
	color: #fff;
	text-align: left;
}
ul.list_serviceinfo li.serviceinfo_calendar .calendar_attention:before {
	position: absolute;
	content: "";
	top: 0.4em;
	left: 0;
	background: #f3acb1;
	width: 1.5em;
	height: 1em;
}
/* Navi */
.box_serviceinfo_nav {
	position: absolute;
	background: rgba(255, 255, 255, 0.15);
	bottom: 0;
	width: 100%;
}
.bg_serviceinfo_contact .box_serviceinfo_nav {
	background: #444;
}
@media(max-width: 768px) {
	.box_serviceinfo_nav {
		position: relative;
		background: rgba(255, 255, 255, 0.15);
		margin-top: 1em;
	}
}
ul.list_serviceinfo_nav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.list_serviceinfo_nav li {
	width: auto;
	font-size: 0.9375em;
	text-align: center;
}
@media(max-width: 768px) {
	ul.list_serviceinfo_nav li {
		width: 50%;
		border-bottom: 1px solid #666;
	}
}
ul.list_serviceinfo_nav li a {
	display: block;
	color: #aaa;
	line-height: 3.6;
	text-decoration: none;
	transition: 0.3s;
}
ul.list_serviceinfo_nav li a:hover {
	color: #fff;
}
@media(max-width: 768px) {
	ul.list_serviceinfo_nav li a:before {
		font-family: "Font Awesome 5 Free";
		content: "\f0da";
		margin-right: 0.2em;
		font-weight: 900;
		opacity: 1.0;
	}
}
/*  Display & Democar
----------------------------------------------------*/
ul.list_display, ul.list_democar {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 1.5em;
	cursor: pointer;
}
ul.list_display li, ul.list_democar li {
	width: 49%;
	margin-bottom: 4em;
	line-height: 0;
}
@media(max-width: 480px) {
	ul.list_display li, ul.list_democar li {
		width: 100%;
		margin-bottom: 2em;
	}
}
ul.list_display li img, ul.list_democar li img {
	width: 100%;
	line-height: 0;
	transition: all 0.5s;
}
ul.list_display li figure, ul.list_democar li figure {
	width: 100%;
	line-height: 0;
	overflow: hidden;
}
ul.list_display li:hover img, ul.list_democar li:hover img {
	transform: scale(1.05);
}
ul.list_display li h3, ul.list_democar li h3 {
	background: #000;
	margin: 0;
	padding: 0.5em;
	color: #fff;
	font-size: 1.5em;
	font-family: "MazdaTypeRegular", "Noto Sans JP", sans-serif;
	text-align: center;
	line-height: 1.15;
	transition: all 0.5s;
}
ul.list_display li:hover h3 {
	background: #eee;
	color: #000;
}
ul.list_democar li:hover h3 {
	background: #fff;
	color: #000;
}
ul.list_display li h3 span, ul.list_democar li h3 span {
	position: relative;
	display: block;
	font-weight: normal;
	width: 100%;
}
ul.list_display li h3 span.carname:after, ul.list_democar li h3 span.carname:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.3em;
	width: 1.25em;
	margin: 0 auto;
	border-bottom: 3px #fff solid;
	transition: all 0.3s;
}
ul.list_display li h3 span.type, ul.list_democar li h3 span.type {
	margin-top: 1.5em;
	font-size: 0.75em;
}
ul.list_display li h3 span.color, ul.list_democar li h3 span.color {
	margin-top: 0.25em;
	font-size: 0.583em;
}
ul.list_display li h3 span.color:before, ul.list_democar li h3 span.color:before {
	content: "[";
}
ul.list_display li h3 span.color:after, ul.list_democar li h3 span.color:after {
	content: "]";
}
ul.list_display li:hover h3 span.carname:after, ul.list_democar li:hover h3 span.carname:after {
	width: 2.5em;
	border-bottom: 3px #991216 solid;
}
ul.list_display li h3 span.coming, ul.list_democar li h3 span.coming {
	background: #991216;
	width: auto;
	margin: 0.25em auto;
	padding: 0.15em 0.25em;
	font-size: 0.583em;
	color: #fff;
}
/* ul.list_display li h3 div,
ul.list_democar li h3 div {
    padding: 1.0em 1.0em;
    border-top: 1px solid #444;
    border-bottom: 1px solid #444;
} */
ul.list_display li h3 div, ul.list_democar li h3 div {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
	min-height: 7em;
}
/* ===== Popup Fade ===== */
.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.9;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.white-popup-block {
	background: #fff;
	width: 50%;
	margin: 0 auto;
	padding: 5%;
	text-align: center;
}
/*  Staff
----------------------------------------------------*/
ul.list_staff {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2em auto 0;
}
ul.list_staff li {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 32%;
	margin-bottom: 1.5em;
	line-height: 1;
}
@media(max-width: 768px) {
	ul.list_staff li {
		width: 49%;
	}
}
ul.list_staff li img {
	width: 100%;
}
ul.list_staff li figure {
	width: 100%;
	line-height: 0;
	overflow: hidden;
}
ul.list_staff li div {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	position: relative;
	background: #fff;
	width: 80%;
	margin-top: -2em;
	padding: 2em 1em 1em;
	text-align: center;
}
ul.list_staff li div:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 4em;
	margin: 0 auto;
	border-bottom: 3px #991216 solid;
}
ul.list_staff li div dl {
	display: flex;
	justify-content: center;
	margin-bottom: 1em;
}
ul.list_staff li div dt {
	float: left;
	background: #999;
	padding: 0.2em;
	color: #fff;
	font-size: 0.8125em;
}
ul.list_staff li div dd {
	margin-left: 0.5em;
	font-size: 1.0625em;
}
ul.list_staff li div p {
	padding-top: 0.75em;
	font-size: 0.875em;
	text-align: left;
	line-height: 1.5;
	border-top: 1px solid #ddd;
}
/*  Company
----------------------------------------------------*/
/* ===== Greeting ===== */
ul.list_greeting {
	display: flex;
	justify-content: space-between;
}
ul.list_greeting img {
	width: 100%;
	max-width: 220px;
	border-radius: 3px;
}
ul.list_greeting p.position {
	font-size: 0.875em;
}
ul.list_greeting p.position span {
	margin-left: 0.75em;
	font-size: 1.0714em;
}
ul.list_greeting li.text {
	width: 100%;
	padding-right: 3%;
	text-align: left;
}
/*480px under*/
@media screen and (max-width: 480px) {
	ul.list_greeting p.position span {
		display: block;
		margin-left: 0;
	}
}
/* ===== Outline ===== */
table.outline {
	width: 100%;
}
table.outline th {
	padding: 1.5% 0;
	border-bottom: 1px solid #ccc;
}
table.outline th {
	font-weight: normal;
	text-align: center;
	width: 15%;
}
table.outline td {
	margin: 0;
	padding: 0.5em 0 0.5em 1em;
	border-bottom: 1px solid #ccc;
}
/* 1099px under */
@media(max-width: 1099px) {
	table.outline th {
		min-width: 7.0rem;
	}
	table.outline th p {
		font-size: 1.0rem;
	}
}
/* ===== Shop ===== */
ul.list_shop {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1100px;
	margin: 1em auto 0;
	padding: 3em 0;
	cursor: pointer;
}
@media(max-width: 1099px) {
	ul.list_shop {
		width: 100%;
	}
}
ul.list_shop li {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	width: 32%;
	margin-bottom: 1.5em;
	line-height: 1;
}
@media(max-width: 768px) {
	ul.list_shop li {
		width: 49%;
	}
}
ul.list_shop li img {
	width: 100%;
	transition: all 0.5s;
}
ul.list_shop li figure {
	width: 100%;
	line-height: 0;
	border: 4px solid #fff;
	overflow: hidden;
}
ul.list_shop li:hover img {
	transform: scale(1.05);
}
ul.list_shop li div {
	width: 100%;
	background: #fff;
	margin: 0;
	padding: 1em;
	font-size: 0.875em;
	text-align: center;
}
@media(max-width: 768px) {
	ul.list_shop li div {
		padding: 0.5em;
		text-align: left;
	}
}
/* ===== Employment ===== */
ul.list_emp {
	display: flex;
	flex-direction: column;
	row-gap: 4em;}
ul.list_emp > li {
	position: relative;
	border: 1px solid #ddd;
	padding: 1.5em 1em;
}
ul.list_emp > li::after {
	content:"";
	width: 2em;
	height: 1em;
	background: #991216;
	clip-path: polygon(0% 0%,100% 0%, 50% 100%);
	position: absolute;
	bottom: -2.5em;
	left: 50%;
	transform: translate(-50%, 0%);
}
ul.list_emp > li:last-of-type::after {
	content:none;
}
ul.list_emp > li h3 {
	text-align: center;
	color: #000;
	background: transparent;
	margin: 0;
	padding: 0 0.5em;
}
ul.list_emp > li p {
	margin-top: 1.2em;
}
ul.list_emp {}
.emp_info {
	display: flex;
	margin-top: 2em;
	justify-content: center;
	align-items: center;
}
.emp_info > div {
	width: calc(100% / 3);
	flex-grow: 2;
	overflow: hidden;
}
.emp_info > div img {
	width: 100%;
	vertical-align: middle;
}
.emp_info p:first-of-type {
	font-size: 1.25em;
}
.emp_info p:last-of-type {
	font-size: 1.25em;
}
.emp_info > div:nth-of-type(2) {
	display: flex;
	flex-direction: column;
	row-gap: 0.5em;
	justify-content: center;
}
@media(max-width: 768px) {
	.emp_info p:last-of-type {
		font-size: 1em;
	}
}
@media(max-width: 480px) {
	.emp_info > div:first-of-type {
		width: 28%;
	}
	.emp_info > div:last-of-type {
		width: 28%;
	}
	.emp_info > div:nth-of-type(2) {
		row-gap: 0;
	}
	.emp_info > div img {
		width: 132%;
		transform: translateX(-16%);
	}
	.emp_info p:first-of-type {
		font-size: 1em;
	}
}
/*----------------------------------------------------
	9.0 - Option
----------------------------------------------------*/
/*  List - Text
----------------------------------------------------*/
/* ===== No icon Style ===== */
ul.list_normal_jp li {
	padding-left: 1.0em;
}
ul.list_normal_jp li {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
/* ===== Disk Style ===== */
ul.list_disc {
	margin-left: 1em;
}
ul.list_disc li {
	position: relative;
}
ul.list_disc li:after {
	display: block;
	background-color: #666;
	content: '';
	position: absolute;
	top: .65em;
	left: -0.75em;
	width: 6px;
	height: 6px;
	border-radius: 100%;
}
/* ===== Mark Style ===== */
ul.list_mark li {
	padding-left: 1.0em;
	position: relative;
}
ul.list_mark li:before, ul.list_mark li:after {
	content: " ";
	position: absolute;
}
ul.list_mark li:before {
	background-color: #991216;
	width: 1em;
	height: 1em;
	top: 0.35em;
	left: 0em;
	border-radius: 50%;
}
ul.list_mark li:after {
	top: 0.9rem;
	left: 0.6rem;
	border: 0.4rem solid transparent;
	border-left: 0.5rem solid #fff;
}
/* Decimal Style */
ol.list_decimal {
	list-style: none;
	counter-reset: num;
	margin-left: 2.0em;
}
ol.list_decimal > li {
	position: relative;
}
ol.list_decimal > li:before {
	counter-increment: num;
	content: counter(num) ".";
	display: inline-block;
	position: absolute;
	width: 2em;
	top: 0;
	left: -2em;
	margin-right: 2em;
	text-align: center;
}
/*  Button
----------------------------------------------------*/
ul.list_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}
ul.list_btn li {
	margin: 0 auto 0.75em;
	line-height: 1.15;
}
ul.list_btn > li a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #991216;
	padding: 1em 1em;
	color: #fff;
	text-decoration: none;
	border: 2px solid #991216;
	border-radius: 2.4em;
	transition: 0.3s;
}
ul.list_btn > li a:hover {
	background-color: #fff;
	color: #991216;
}
ul.list_btn.btn_col01 > li {
	min-width: 40%;
	max-width: 75%;
}
ul.list_btn.btn_col02 > li {
	width: 48%;
}
ul.list_btn.btn_col02:after {
	content: "";
	display: block;
	width: 50%;
	height: 0;
}
/*  List - Banner
----------------------------------------------------*/
ul.list_banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 0;
	text-align: center;
}
ul.list_banner li img {
	width: 100%;
	transition: 0.3s;
}
ul.list_banner > li a img:hover {
	opacity: 0.75;
}
ul.list_banner li.blank {
	margin: 0;
}
ul.list_banner.banner_col01 > li {
	width: 100%;
}
ul.list_banner.banner_col02 > li {
	width: 48%;
}
ul.list_banner.banner_col02:after { /* レイアウト用擬似要素 */
	display: block;
	width: 48%;
	content: "";
}
ul.list_banner.banner_col03 > li {
	width: 32%;
}
ul.list_banner.banner_col03:after { /* レイアウト用擬似要素 */
	display: block;
	width: 32%;
	content: "";
}
ul.list_banner.banner_col04 > li {
	width: 24%;
}
ul.list_banner.banner_col04:after { /* レイアウト用擬似要素 */
	display: block;
	width: 24%;
	content: "";
}
@media(max-width: 480px) {
	ul.list_banner.banner_col02 > li {
		width: 100%;
		margin-bottom: 2%;
	}
	ul.list_banner.banner_col02 > li:last-child {
		margin-bottom: 0;
	}
}
/*  Table
----------------------------------------------------*/
table.table_normal {
	width: 100%;
	border: solid 1px #ddd;
}
table.table_normal th {
	padding: 10px;
	background: #f8f1dc;
	border-left: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	font-weight: 700;
}
table.table_normal td {
	padding: 10px;
	background: #fff;
	border-left: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
}
/* Vertical Setting */
table th.vtl_center, table td.vtl_center {
	vertical-align: middle;
}
/* ===== Scroll ===== */
@media (max-width: 768px) {
	.table_scroll {
		overflow-x: scroll;
	}
	.table_scroll::-webkit-scrollbar {
		height: 10px;
	}
	.table_scroll::-webkit-scrollbar-track {
		margin: 0 2px;
		background: #ccc;
		border-radius: 5px;
	}
	.table_scroll::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #666;
	}
	.table_scroll:after {
		content: "*ウィンドウサイズが狭い場合、この表は横スクロールで表示されます。";
		position: relative;
		font-size: calc(768px * .015625);
	}
	.table_scroll .table_normal {
		min-width: 700px;
	}
}
/*  Breadcrumb
----------------------------------------------------*/
.breadcrumb {
	width: 100%;
	background: #eee;
	color: #999;
	font-size: 0.8125em;
	line-height: 3;
}
.breadcrumb ol {
	display: flex;
	width: 1100px;
	margin: 0 auto;
	text-align: left;
}
@media(max-width: 1099px) {
	.breadcrumb ol {
		width: 100%;
	}
}
.breadcrumb li:after {
	content: '>';
	padding: 0 5px;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	color: #666;
	text-decoration: none;
	transition: color .3s, text-decoration .3s;
}
.breadcrumb li:first-child a:before {
	font-family: "Font Awesome 5 Free";
	content: '\f015';
	margin-right: 2px;
	font-weight: 700;
}
.breadcrumb li a:hover {
	color: #000;
	text-decoration: underline;
}
/*  Back Ground Color
----------------------------------------------------*/
.bg_gray {
	background: #f0f0f0;
}
.bg_darkgray {
	background: #4d4d4d;
}
/*  Align
----------------------------------------------------*/
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
/*  Hr
-----------------------------------------------*/
hr {
	border: solid 1px #ddd;
}
/*  Text
----------------------------------------------------*/
sub, sup {
	font-size: 0.75em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
strong {
	font-weight: 700;
}
.tx_cancel {
	text-decoration: line-through;
}
.tx_cancel_red {
	text-decoration: line-through;
	color: #991216;
}
.tx_cancel_red span {
	color: black;
}
.tx_red {
	color: #991216;
}
.tx_black {
	color: #000;
}
.tx_white {
	color: #fff;
}
.tx_13 {
	font-size: 0.8125em;
}
.tx_13B {
	font-size: 0.8125em;
	font-weight: 700;
}
.tx_14 {
	font-size: 0.875em;
}
.tx_14B {
	font-size: 0.875em;
	font-weight: 700;
}
.tx_15 {
	font-size: 0.9375em;
}
.tx_15B {
	font-size: 0.9375em;
	font-weight: 700;
}
.tx_16 {
	font-size: 1em;
}
.tx_16B {
	font-size: 1em;
	font-weight: 700;
}
.tx_18 {
	font-size: 1.125em;
}
.tx_18B {
	font-size: 1.125em;
	font-weight: 700;
}
.tx_20 {
	font-size: 1.25em;
}
.tx_20B {
	font-size: 1.25em;
	font-weight: 700;
}
.tx_22 {
	font-size: 1.375em;
}
.tx_22B {
	font-size: 1.375em;
	font-weight: 700;
}
.tx_space01 {
	letter-spacing: 0.1rem;
}
.tx_space02 {
	letter-spacing: 0.2rem;
}
.tx_space03 {
	letter-spacing: 0.3rem;
}
.tx_space04 {
	letter-spacing: 0.4rem;
}
.tx_space05 {
	letter-spacing: 0.5rem;
}
.tx_space_n001 {
	letter-spacing: -0.01rem;
}
.tx_space_n005 {
	letter-spacing: -0.05rem;
}
.tx_space_n01 {
	letter-spacing: -0.1rem;
}
.tx_space_n02 {
	letter-spacing: -0.2rem;
}
.tx_space_n03 {
	letter-spacing: -0.3rem;
}
.tx_indent01 {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.tx_indent02 {
	padding-left: 2.0em;
	text-indent: -2.0em;
}
/*  Line Height
----------------------------------------------------*/
.line_height00 {
	line-height: 0;
	vertical-align: middle;
}
.line_height01 {
	line-height: 1.0;
	vertical-align: middle;
}
.line_height02 {
	line-height: 2.0;
	vertical-align: middle;
}
/*  Text Break
----------------------------------------------------*/
@media(max-width: 1099px) {
	span.br999_under:before {
		content: "\A";
		white-space: pre;
	}
}
@media(max-width: 768px) {
	span.br768_under:before {
		content: "\A";
		white-space: pre;
	}
}
@media(max-width: 640px) {
	span.br640_under:before {
		content: "\A";
		white-space: pre;
	}
}
@media(max-width: 480px) {
	span.br480_under:before {
		content: "\A";
		white-space: pre;
	}
}
/*  Margin
----------------------------------------------------*/
.mgt_10 {
	margin-top: 10px;
}
.mgt_20 {
	margin-top: 20px;
}
.mgt_30 {
	margin-top: 30px;
}
.mgt_40 {
	margin-top: 40px;
}
.mgt_50 {
	margin-top: 50px;
}
.mgt_60 {
	margin-top: 60px;
}
.mgt_01 {
	margin-top: 1em;
}
.mgt_02 {
	margin-top: 2em;
}
.mgt_03 {
	margin-top: 3em;
}
.mgt_04 {
	margin-top: 4em;
}
.mgt_05 {
	margin-top: 5em;
}
.mgb_10 {
	margin-bottom: 10px;
}
.mgb_20 {
	margin-bottom: 20px;
}
.mgb_30 {
	margin-bottom: 30px;
}
.mgb_40 {
	margin-bottom: 40px;
}
.mgb_50 {
	margin-bottom: 50px;
}
.mgb_60 {
	margin-bottom: 60px;
}
.mgl_10 {
	margin-left: 10px;
}
.mgl_01 {
	margin-left: 1.0em;
}
.mgl_02 {
	margin-left: 2.0em;
}
.mgl_03 {
	margin-left: 3.0em;
}
.mgl_04 {
	margin-left: 4.0em;
}
.mgl_05 {
	margin-left: 5.0em;
}
/*  Icon
----------------------------------------------------*/
.link:after {
	font-family: "Font Awesome 5 Free";
	content: '\f360';
	margin-left: 0.2em;
	font-size: 1.0625em;
	font-weight: 900;
}
.pdf:after {
	font-family: "Font Awesome 5 Free";
	content: '\f1c1';
	margin-left: 0.2em;
	color: #f54328;
	font-size: 1.0em;
	font-weight: 900;
}
/* ===== Triangle ===== */
.triangle {
	/* padding-left: 1.0em;
	text-indent: -1.0em; */
	position: relative;
}
.triangle:before {
	content: "\025b6";
	color: #991216;
}
/* ===== SNS ===== */
.fa-facebook-square {
	margin-right: 0.15em;
	color: #3B5998;
	font-size: 2.4em;
}
.fa-instagram-square {
	color: transparent;
	background: radial-gradient(at 20% 150%, orange, #f15a4d 25%, #f13f79 55%, #9933ff 100%) no-repeat;
	background-clip: text;
	-webkit-background-clip: text;
	margin-right: 0.15em;
	font-size: 2.4em;
}
.fa-line {
	margin-right: 0.15em;
	color: #34bb19;
	font-size: 2.4em;
}
/*  Page Top
----------------------------------------*/
#page_top {
	position: fixed;
	display: flex;
	bottom: 20px;
	right: 20px;
	margin: 0;
	z-index: 1;
}
#page_top a {
	display: block;
	line-height: 0;
	opacity: 0.85;
	position: relative;
	width: 60px;
	height: 60px;
	text-align: center;
	border: 2px solid #fff;
	border-radius: 50%;
	vertical-align: middle;
	transition: 0.3s;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
}
#page_top a:before {
	position: absolute;
	top: 25px;
	left: 35%;
	content: "";
	width: 15px;
	height: 15px;
	margin: auto;
	border-left: 3px solid #fff;
	border-top: 3px solid #fff;
	vertical-align: middle;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#page_top a {
	background-color: #991216;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}
#page_top a:hover {
	background-color: #be363b;
}
@media(max-width: 480px) {
	#page_top {
		right: 10px;
	}
	#page_top a:before {
		top: 18px;
		left: 33%;
	}
	#page_top a {
		width: 50px;
		height: 50px;
	}
}
/*  Background
----------------------------------------*/
.bg_beige {
	background: #f3efec;
}
/*  Float
----------------------------------------------------*/
.fL {
	float: left;
	margin: 0 1em 10px 0;
}
.fR {
	float: right;
	margin: 0 0 10px 1em;
}
/*  Attention
----------------------------------------------------*/
.box_attention {
	max-width: 100%;
	padding: 1em;
	line-height: 1.6;
	border: 5px solid #991216;
}
/*  Construction
----------------------------------------------------*/
.construction {
	width: 60%;
	margin: 5% auto 30%;
	padding: 20px 40px;
	display: block;
	color: #bbb;
	text-align: center;
	border: 3px solid #ddd;
}
.construction .title {
	font-size: 1.2em;
	font-weight: 700;
}
@media(max-width: 480px) {
	.construction {
		padding: 10px 20px;
	}
}