@charset "UTF-8";
/* CSS Document */

/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ height: 100%; font-weight: 400; font-size: 62.5%; color: #000;}
body{ height: 100%; margin: 0; padding: 0; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%;  -webkit-font-feature-settings: "palt"; font-feature-settings: "palt";}
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
a{ color: inherit; outline: none; text-decoration: none; }
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: inherit; }
p{ margin: 0; padding: 0;}
ul, ol, dl, dt, dd{ margin: 0; padding: 0;}
li{ margin: 0; padding: 0; list-style: none;}
form{ margin: 0; padding: 0;}
input, textarea, select, button{ font-family: inherit; appearance: none; outline: none;}
button{ font-size: inherit; cursor: pointer;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
figure{ margin: 0; padding: 0;}
header, nav, main, article, aside, section, footer{ display: block;}
*{ box-sizing: border-box;}



/*************************************************************************************************************************
* common
*************************************************************************************************************************/
body {
	font-size: 1.5rem;
}

body:not(.home) main {
	padding: 40px 0 60px;
	position: relative;
/*	overflow: hidden;	*/
}

body:not(.home) main::before {
	content: "";
	background: url("../img/bg_cloud.svg") repeat-y center 200px/594px 875px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.above-cloud {
	position: relative;
	z-index: 100;
}
.c-wrapper {
	width: calc(100% - 40px);
	margin: 0 auto;
}


.btn-handler-duo {
	margin-bottom: 40px;
}
.btn-handler-duo a:first-child {
	margin-bottom: 15px;
}

@media print, screen and (min-width: 681px) {
	
	.btn-handler-duo {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 20px;
	}
	.btn-handler-duo a:first-child {
		margin: 0 20px 0 0;
	}
	
}
@media print, screen and (min-width: 1200px) {
	
	.btn-handler-duo {
		margin-bottom: 80px;
		padding: 0;
	}
	.btn-handler-duo a {
		width: 360px;
	}
	.btn-handler-duo a:first-child {
		margin: 0 40px 0 0;
	}
	
}

.btn-wrap--center {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}
.btn-wrap--center2 {
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
}

.btn-round {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
}
.btn-round--m {
	height: 40px;
	border-radius: 20px;
	font-size: 1.4rem;
}

.btn-round--l {
	height: 50px;
	border-radius: 25px;
}
.btn-round--blank {
	display: flex;
	justify-content: center;
}
.btn-round--blank:after {
	content: "";
	background: url("../img/ico_link-blank_white.svg") no-repeat 0 0/contain;
	width: 10px;
	height: 10px;
	margin: 0 0 0 11px;
}



.btn--khaki { background: #616152; }
.btn--red { background: #e24847; }
.btn--mint { background: #00a48d; }
.btn--blue { background: #00b0ec; }


.btn-detail {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 30px;
	font-size: 1.1rem;
	line-height: 1;
	color: #000;
}
.btn-detail--white { background-color: #fff; }
.btn-detail--beige { background-color: #eae8d8; }


.hover-zoom {
	display: block;
	overflow: hidden;
}


@media print, screen and (min-width: 681px) {
	
	body:not(.home) main {
		padding: 60px 0 80px;
	}
	
	body:not(.home) main::before {
		background-position: center 400px;
		background-size: 1200px 1768px;
	}

	.c-wrapper {
		width: calc(100% - 80px);
	}

	.btn-round {
		font-size: 1.5rem;
	}

}


@media print, screen and (min-width: 800px) {
	
	body:not(.home) main::before {
		background-position: center 600px;
		background-size: 1900px 2800px;
	}
	
}


@media print, screen and (min-width: 1200px) {
	
	body:not(.home) main {
		padding: 120px 0;
	}
	
	body:not(.home) main::before {
		background-position: center top;
		top: 410px;
	}
	
	.c-wrapper {
		width: 1000px;
		margin: 0 auto;
	}
	
	.btn-round--m {
		height: 50px;
		border-radius: 25px;
	}

	.btn-round--l {
		height: 60px;
		border-radius: 30px;
	}
	
	.hover-zoom img{
		transition: transform .3s ease-out;
	}

	.hover-zoom img:hover{
		transform: scale(1.1);
	}
	
}



 .color-wrap--kakhi { background-color: #edede6; }



/* diplay
*****************************************************************************/
.tb-only01,
.tb-only02,
.tbpc-only01,
.tbpc-only02,
.pc-only01, 
.pc-only02 { 
	display: none;
}

@media print, screen and (min-width: 681px) {
	.sp-only {
		display: none;
	}
	.tb-only01,
	.tbpc-only01 {
		display: block;
	}
	.tb-only02,
	.tbpc-only02 {
		display: inline;;
	}
}

@media print, screen and (min-width: 1200px) {
	.tb-only01,
	.tb-only02 {
		display: none;
	}
	.pc-only01 {
		display: block;;
	}
	.pc-only02 {
		display: inline;;
	}
}


/* writing mode
*****************************************************************************/
.txt-vert {
	writing-mode: vertical-rl;
}

/* Font color
*****************************************************************************/
.fc-red {
	color: #e34847;
}

/* Links
*****************************************************************************/
.linktxt {  }
.linktxt--underline { text-decoration: underline; }

/* table
*****************************************************************************/
.table-style {
	width: 100%;
}

.table-style th,
.table-style td {
	padding: 12px 20px;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.57;
	text-align: justify;
	text-justify: inter-ideograph;
	vertical-align: top;
}

.table-style-1 th{
	background: #f5ecb3;
}

.table-style-1 td{
	background: #fafaf4;
}

.table-style-1 th,
.table-style-1 td {
	display: block;
}

.table-style-2 th,
.table-style-2 td {
	border-left: 1px solid #ccc;
}

.table-style-2 th{
	background: #f5ecb3;
	font-weight: 700;
}

.table-style-2 th:first-of-type,
.table-style-2 td:first-of-type {
	border-left: none;
}
	
.table-style-2 tr:nth-child(even) th,
.table-style-2 tr:nth-child(even) td {
	background: #f7f7f3;
}
	
.table-style-2 tr:nth-child(odd) td {
	background: #fff;
}

.table-style-3 tr:nth-child(even) td {
	background: #eae8d8;
}
.table-style-3 tr:nth-child(odd) td {
	background: #f7f7f3;
}

.table-style-tdbgfff tbody th,
.table-style-tdbgfff tbody td { vertical-align: middle; }
.table-style-tdbgfff tbody tr:nth-child(even) th,
.table-style-tdbgfff tbody tr:nth-child(even) td { background: #fff; }
.table-style-tdbgfff tbody tr:not(:last-child) th,
.table-style-tdbgfff tbody tr:not(:last-child) td { border-bottom: 1px solid #ccc; }

@media print, screen and (min-width: 681px) {
	
	.table-style th,
	.table-style td {
		padding: 22px 30px;
		font-size: 1.5rem;
	}
	.table-style th{
		word-break: keep-all;
	}

}


@media print, screen and (min-width: 1200px) {
	
	.table-style-1 th,
	.table-style-1 td {
		display: table-cell;
		border-top: 1px solid #ccc;
	}
	
	.table-style-1 tr:first-of-type th,
	.table-style-1 tr:first-of-type td {
		border-top: none;
	}
	
	.table-style-1 tr:nth-child(even) td {
		background: #fff;
	}
	
}


/* list
*****************************************************************************/
.list--circle__item {
	padding: 0 0 0 1em;
	text-indent: -1em;
}

.list--circle__item:before {
	content: "●";
}

.list--cicle__red .list--circle__item:before {
	color:#ff4645;
}

.list-num_1 {
	counter-reset: number 0;
}

.list-num_1__item {
	padding: 0 0 0 1em;
	position: relative;
}

.list-num_1__item::before {
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}
.list--kome__item {
	padding: 0 0 0 1em;
	text-indent: -1em;
}
.list--kome__item:before {
	content: "※";
}
.list--komenum__item {
	padding: 0 0 0 1.8em;
	text-indent: -1.8em;
}



/*************************************************************************************************************************
* header
*************************************************************************************************************************/
header {
	background: #fff;
	width: calc(100% - 40px);
	position: fixed;
	top: 0;
	left: 20px;
	z-index: 10000;
	padding: 0 30px;
	border-radius: 0 0 15px 15px;
	box-shadow: 0px 0px 8px 1px rgba(97,97,82,.3);
}

.header__inner {
	display: flex;
	height: 80px;
	position: relative;
}

.header__logo {
	width: 223px;
	margin: 9px 0 0 0;
}

.header__logo a {
	display: block
}

.header__info{
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
	position: absolute;
	top: 35px;
	left: 0;
}

.header__info li{
	margin: 0 10px 0 0;
}

.header__info li:nth-child(2){
	width: 200px;
}

.header__info li span{
	color: #e34847;
}

.header__menu {
	position: absolute;
	width: 40px;
	height: 36px;
	top: 18px;
	right: 0;
}


.header__menu div,
.header__menu div span {
  display: inline-block;
}

.header__menu div {
	width: 20px;
	height: 18px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.header__menu div span {
	background: #000;
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
}

.header__menu div span:nth-of-type(1) {
	top: 0;
}
.header__menu div span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}
.header__menu div span:nth-of-type(3) {
	bottom: 0;
}

.header__menu div.default span:nth-of-type(1) {
  transition: all .4s;
	animation: default-menu-bar01 .75s forwards;
}

.header__menu div.active span:nth-of-type(1) {
  transition: all .4s;
	animation: active-menu-bar01 .75s forwards;
}

.header__menu div.default span:nth-of-type(2) {
  transition: all .4s .4s;
  opacity: 1;
}

.header__menu div.active span:nth-of-type(2) {
  transition: all .4s;
  opacity: 0;
}

.header__menu div.default span:nth-of-type(3) {
  transition: all .4s;
  animation: default-menu-bar03 .75s forwards;
}

.header__menu div.active span:nth-of-type(3) {
  transition: all .4s;
  animation: active-menu-bar03 .75s forwards;
}

@keyframes show-menu-bar {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes default-menu-bar01 {
	0% { top: 50%; transform: translateY(50%) rotate(45deg);}
	50% { top: 50%; transform: translateY(50%) rotate(0);}
	100% { transform: translateY(0) rotate(0);}
}

@keyframes default-menu-bar03 {
	0% { top: 50%; transform: translateY(-50%) rotate(-45deg);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { transform: translateY(0) rotate(0);}
}

@keyframes active-menu-bar01 {
	0% { transform: translateY(0) rotate(0);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { top: 50%; transform: translateY(-50%) rotate(45deg);}
}

@keyframes active-menu-bar03 {
	0% { transform: translateY(0) rotate(0);}
	50% { top: 50%; transform: translateY(-50%) rotate(0);}
	100% { top: 50%; transform: translateY(-50%) rotate(-45deg);}
}

.header__btns {
	display: none;
}

.header__btns2 {
	display: flex;
	justify-content: center;
	padding: 0 0 30px 0;
}

.header__btns2 li {
	margin-left: 10px;
}

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

.header__btns2 a {
	display: flex;
	align-items: center;
	height: 32px;
	padding: 0 40px;
	border-radius: 16px;
	background-color: rgba(0,0,0,.4);
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	transition: background .3s ease-out;
}

.header__btns2 a:hover {
	background-color: rgba(0,0,0,.8);
}

@media print, screen and (min-width: 536px) {
	
	.header__logo{
		width: 250px;
		margin-top: 15px;
	}
	
	.header__info{
		top: 45px;
	}
	
}


@media print, screen and (min-width: 681px) {
	
	header {
		width: calc(100% - 90px);
		padding: 0 40px;
		left: 45px;
		border-radius: 0 0 20px 20px;
	}

	.header__inner {
		height: 88px;
	}

	.header__logo {
		width: 318px;
	}
	
	.header__info{
		top: 55px;
	}

	.header__menu {
		width: 45px;
		height: 40px;
	}

	.header__menu div {
		width: 25px;
		height: 22px;
	}

}

@media print, screen and (min-width: 801px) {
	
	.header__logo {
		margin-top: 27px;
		margin-bottom: 0;
	}
	
	.header__info{
		flex-wrap: wrap;
		border-left: 2px solid #E14847;
		top: 28px;
		left: 350px;
	}
	
	.header__info li{
		width: 100%;
		padding: 0 0 0 10px;
	}
	
}


@media print, screen and (min-width: 1200px) {
	
	header {
		display: flex;
		justify-content: space-between;
		background: none;
		width: calc(100% - 60px);
		position: absolute;
		left: 30px;
		padding: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.header__inner {
		height: auto;
	}

	.header__logo {
		display: flex;
		align-items: center;
		background: #fff;
		width: 611px;
		height: 70px;
		margin-top: 0;
		padding: 0 0 0 30px;
		border-radius: 0 0 15px 15px;
	}

	.header__logo a {
		width: 297px;
	}
	
	.header__info{
		top: 18px;
	}

	.header__menu {
		display: none;
	}

	.header__btns {
		display: flex;
		justify-content: center;
		transform: translateY(30px);
	}

	.header__btns li {
		margin-left: 10px;
	}

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

	.header__btns a {
		display: flex;
		align-items: center;
		height: 32px;
		padding: 0 40px;
		border-radius: 16px;
		background-color: rgba(0,0,0,.4);
		font-size: 1.2rem;
		font-weight: 700;
		color: #fff;
		line-height: 1;
		transition: background .3s ease-out;
	}

	.header__btns a:hover {
		background-color: rgba(0,0,0,.8);
	}
	
	.header__btns2{
		display: none;
	}
	
}



/*************************************************************************************************************************
* global navi
*************************************************************************************************************************/
nav {
	height: 0;
	overflow: hidden;
	text-align: left;
	transition: height .5s cubic-bezier(1,.24,.67,.84);
}

nav.active {
	overflow-y: scroll;
}

.g-nav {
 padding: 5px 0 20px;
}

.g-nav__logo {
	display: none;
}

.g-nav__item {
	background: #edede6;
	margin: 10px 0 0;
	border-radius: 20px;
	overflow: hidden;
}

.g-nav__item:nth-child(2) {
	margin-top: 0;
}

.g-nav__item--gray {
	background: #999;
}

.g-nav__link {
	display: flex;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 16px;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	color: #000;
}

.g-nav__item--gray .g-nav__link {
	color: #fff;
}

.g-nav__parent {
	position: relative;
}

.g-nav__parent span {
	display: block;
	background: #e34847;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 10px;
	right: 12px;
	border-radius: 50%;
}

.g-nav__parent span::before,
.g-nav__parent span::after {
	content: "";
	background: #fff;
	width: 6px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s  cubic-bezier(1,.24,.67,.84);
}

.g-nav__parent span::after { transform: translate(-50%,-50%) rotate(90deg);}
.g-nav__parent span::before,
.g-nav__parent--active span::after { transform: translate(-50%,-50%);}


.g-sub__wrap {
	height: 0;
	padding:  0 16px;
	overflow: hidden;
	transition: height .3s ease-out;
}

.g-sub {
	padding-bottom: 5px;
	border-top: 1px solid #acacac;
}

.g-sub__item {
	background-image: linear-gradient(to right, #acacac, #acacac 1px, transparent 1px, transparent 4px);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 4px 1px;
}

.g-sub__item:last-child {
	background: none;
}

.g-sub__item.bn {
	background: none;
}

.g-sub__link {
	display: block;
	padding: 12px 20px;
	position: relative;
	font-size: 1.2rem;
	line-height: 1;
	color: #000;
}

.g-sub__link::before {
	content: "";
	background: #e34847;
	width: 8px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.g-sub-sub {
	background-image: linear-gradient(to right, #acacac, #acacac 1px, transparent 1px, transparent 4px);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 4px 1px;
}

.g-sub-sub__link {
	display: block;
	padding: 3px 20px 12px 33px;
	position: relative;
	font-size: 1.2rem;
	line-height: 1;
	color: #000;
}

.g-sub-sub__item:last-child .g-sub-sub__link {
	padding-bottom: 20px;
}

.g-sub-sub__link::before {
	content: "";
	width: 3px;
	height: 3px;
	border-top: 1px solid #e34847;
	border-right: 1px solid #e34847;
	position: absolute;
	top: 9px;
	left: 20px;
	transform: translateY(-50%) rotate(45deg);
}

.nav__blur-bg {
	display: none;
	background: rgba(255,255,255,.3);
	width: 120vw;
	height: 120vh;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 9999;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}


@media print, screen and (min-width: 681px) {
	
	nav.active {
		overflow: auto;
	}
	
	.g-nav__item {
		width: calc(50% - 14px);
		margin: 0 0 20px;
	}
	
	.g-nav__parent span {
		display: none;
	}
	
	.g-sub__wrap {
		height: auto;
	}
	
	.g-sub__item:first-child {
		display: none;
	}
	
}


@media (orientation: landscape) {
		nav.active {
			overflow-y: scroll;
		}
}


@media screen and (min-width: 681px) and ( max-width: 1199px) {
	
	.g-nav {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-content: space-between;
		height: 540px;
		padding: 0;
	}
	
	.g-nav__item:nth-child(1) { order: 1;}
	.g-nav__item:nth-child(2) { order: 2;}
	.g-nav__item:nth-child(3) { order: 6;}
	.g-nav__item:nth-child(4) { order: 3;}
	.g-nav__item:nth-child(5) { order: 4;}
	.g-nav__item:nth-child(6) { order: 7;}
	.g-nav__item:nth-child(7) { order: 5;}
	.g-nav__item:nth-child(8) { order: 8;}
	.g-nav__item:nth-child(9) { order: 9;}
	.g-nav__item:nth-child(10) { order: 10;}
	
}


@media print, screen and (min-width: 1200px) {
	
	nav {
		height: auto;
		overflow: auto;
	}
	
	.g-nav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 900px;
		height: 80px;
		position: absolute;
		top: calc(100vh + 25px);
		left: 50%;
		transform: translateX(-50%);
		padding: 0 40px;
		transition: width .2s ease-out;
	}
	
	.g-nav::before {
		content: "";
		background: rgba(255,255,255,.8);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		border-radius: 40px;
		box-shadow: 0px 0px 20px 0px rgba(97,97,82,.15);
		overflow: hidden;
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}
	
	.g-nav--fixed {
		width: 1000px;
		position: fixed;
		top: 30px;
	}
	
	.g-nav__logo {
		display: block;
	}
	
	.g-nav__logo a {
		display: block;
		width: 0;
		overflow: hidden;
		transition: width .2s ease-out;
	}
	
	.g-nav__logo img {
		width: 115px;
		max-width: none;
	}
	
	.g-nav--fixed .g-nav__logo a {
		display: block;
		width: 115px;
	}
	
	.g-nav__item {
		background: none;
		width: auto;
		height: 100%;
		margin: 0 0 0 80px;
		border-radius: 0;
		overflow: visible;
		transition: margin .2s ease-out;
	}
	
	.g-nav__item:nth-child(2) {
		margin: 0;
	}
	
	.g-nav--fixed .g-nav__item {
		margin-left: 80px;
	}
	
	.g-nav__item--no-pc {
		display: none;
	}
	
	.g-nav__link {
		height: 100%;
		padding: 0;
		transition: color .3s;
	}
	
	.g-nav__link:hover {
		color: #e34847;
	}
	
	.g-sub__wrap {
		display: none;
		padding: 10px 0 0;
		position: absolute;
		top: 80px;
		left: 0;
		overflow: visible;
	}
	
	.g-sub {
		background: rgba(255,255,255,.8);
		padding: 25px;
		border-top: none;
		border-radius: 10px;
		box-shadow: 0px 0px 8px 1px rgba(97,97,82,.3);
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}
	
	.g-sub__item {
		background: none;
		margin: 0 0 25px;
	}
	
	.g-sub__item:last-child {
		margin: 0;
	}
	
	.g-sub__link {
		padding: 0;
		font-weight: 700;
		font-size: 1.3rem;
		transition: color .3s;
	}
	
	.g-sub__link:hover {
		color: #e34847;
	}
	
	.g-sub__link::before {
		display: none;
	}
	
	.g-sub-sub {
		background: none;
	}
	
	.g-sub-sub__link {
		padding: 15px 0 0 25px;
		font-weight: 700;
		font-size: 1.3rem;
		transition: color .3s;
	}

	.g-sub-sub__item:last-child .g-sub-sub__link {
		padding-bottom: 0;
	}
	.g-sub-sub__link:hover {
		color: #e34847;
	}
	
	.g-sub-sub__link::before {
		top: 23px;
		left: 12px;
	}
	
	.nav__blur-bg {
			display: none!important;
	}
	
	@supports not (backdrop-filter: blur(6px)) {
		.g-nav::before,
		.g-sub {
			background: rgba(255,255,255,.95);
		}
	}
	@media all and (-ms-high-contrast: none) {
		.g-nav::before,
		.g-sub {
			background: rgba(255,255,255,.95);
		}
	}
	
}



/*************************************************************************************************************************
* side navi
*************************************************************************************************************************/
.s-nav {
	display: flex;
	width: 100%;
	background: #e34847;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10000;
}

.s-nav__item {
	width: calc(100% / 6);
}

.s-nav__link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 60px;
	position: relative;
	font-size: 1rem;
	line-height: 1;
	color: #fff;
	text-align: center;
}

.s-nav__link::before {
	content: "";
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
	width: 100%;
	height: 22px;
	margin: 0 0 5px;
}

.s-nav__item:nth-child(1) .s-nav__link::before { background-image: url("../img/ico_s-nav_1.svg");}
.s-nav__item:nth-child(2) .s-nav__link::before { background-image: url("../img/ico_s-nav_2.svg");}
.s-nav__item:nth-child(3) .s-nav__link::before { background-image: url("../img/ico_s-nav_3.svg");}
.s-nav__item:nth-child(4) .s-nav__link::before { background-image: url("../img/ico_s-nav_4.svg");}
.s-nav__item:nth-child(5) .s-nav__link::before { background-image: url("../img/ico_s-nav_5.svg");}
.s-nav__item:nth-child(6) .s-nav__link::before { background-image: url("../img/ico_s-nav_6.svg");}


@media print, screen and (min-width: 681px) {
	
	.s-nav__link {
		flex-direction: row;
		align-items: center;
		height: 55px;
		position: relative;
		font-size: 1.1rem;
	}

	.s-nav__link::before {
		margin: 0 5px 0 0;
	}
	
	.s-nav__item:nth-child(1) .s-nav__link::before { width: 32px; }
	.s-nav__item:nth-child(2) .s-nav__link::before { width: 22px; }
	.s-nav__item:nth-child(3) .s-nav__link::before { width: 24px; }
	.s-nav__item:nth-child(4) .s-nav__link::before { width: 18px; }
	.s-nav__item:nth-child(5) .s-nav__link::before { width: 18px; }
	.s-nav__item:nth-child(6) .s-nav__link::before { width: 22px; }
	
}


@media print, screen and (min-width: 1200px) {
	
	.s-nav {
		display: block;
		width: auto;
		background: rgba(227,72,71,.9);
		border-radius: 10px 0 0 10px;
		top: 50%;
		right: 0;
		left: auto;
		bottom: auto;
		z-index: 10000;
		transform: translate(160px,-50%);
		transition: transform .2s cubic-bezier(1,.24,.67,.84);
	}
	
	.s-nav--active {
		transform: translate(0,-50%);
	}
	
	.s-nav__item {
		width: auto;
		transition: background .6s;
	}
	
	.s-nav__item:hover {
		background: rgba(197,0,24,.6);
	}
	
	.s-nav__link {
		justify-content: flex-start;
		height: 45px;
		padding: 0 20px 0 15px;
		font-weight: 700;
		font-size: 1.3rem;
		letter-spacing: .05rem;
	}
	
	.s-nav__item:first-child .s-nav__link{ padding-top: 6px;}
	.s-nav__item:last-child .s-nav__link{ padding-bottom: 6px;}
	
	.s-nav__link::before {
		margin: 0 15px 0 0;
	}
	
	.s-nav__item:nth-child(1) .s-nav__link::before,
	.s-nav__item:nth-child(2) .s-nav__link::before,
	.s-nav__item:nth-child(3) .s-nav__link::before,
	.s-nav__item:nth-child(4) .s-nav__link::before,
	.s-nav__item:nth-child(5) .s-nav__link::before,
	.s-nav__item:nth-child(6) .s-nav__link::before { width: 32px; }
	
	.s-nav__link::after {
		content: "";
		background: url("../img/ico_link-blank_white.svg") no-repeat 0 0/contain;
		width: 10px;
		height: 10px;
		margin: 0 0 0 11px
	}
	
	
}



/*************************************************************************************************************************
* slick style
*************************************************************************************************************************/
.sl-dots .slick-dots li {
	margin: 0;
}

.sl-dots li button::before {
	opacity: 1;
}
.sl-dots__gray li button::before { color: #c5c5c5;}
.sl-dots__white li button::before { color: #fff;}

.sl-dots li.slick-active button::before {
	color: #E34847;
}

.sl-arrow .slick-prev,
.sl-arrow .slick-next {
	width: 50px;
	height: 50px;
	z-index: 2;
	border-radius: 50%;
	box-shadow: 2px 2px 10px 0px rgba(97,97,82, 0.3);
	transition: .3s ease-out;
}

.sl-arrow__white .slick-prev,
.sl-arrow__white .slick-next {
	background: #fff;
}

.sl-arrow .slick-prev::before,
.sl-arrow .slick-next::before {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #616152;
	border-right: 2px solid #616152;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s ease-out;
}
.sl-arrow .slick-prev::before{ margin-left: 2px; transform: translate(-50%,-50%) rotate(-135deg);}
.sl-arrow .slick-next::before{ margin-right: 2px; transform: translate(-50%,-50%) rotate(45deg);}


.sl-arrow__khaki .slick-prev,
.sl-arrow__khaki .slick-next {
	background: #606151;
}
.sl-arrow.sl-arrow__khaki .slick-prev:before,
.sl-arrow.sl-arrow__khaki .slick-next:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}



@media print, screen and (min-width: 1200px) {
	
	.sl-arrow__white .slick-prev:hover,
	.sl-arrow__white .slick-next:hover {
		background: #e34847;
	}
	
	.sl-arrow .slick-prev:hover::before,
	.sl-arrow .slick-next:hover::before {
		border-top-color: #fff;
		border-right-color: #fff;
	}
	
}




/*************************************************************************************************************************
* footer
*************************************************************************************************************************/
footer {
	background: #fff;
	padding-bottom: 60px;
}

/* banner
*****************************************************************************/
.ft-bnr__wrap {
	background: #fafaf5;
	padding: 30px 20px;
}

.ft-bnr{
	display: flex;
	flex-wrap: wrap;
}

.ft-bnr__item {
	width: calc(50% - 5px);
	margin: 0 5px 5px 0;
}

.ft-bnr__item:nth-child(2n) {
	margin-right: 0;
}
	
.ft-bnr.sl-dots .slick-dots {
	bottom: -35px;
}

.ft-bnr.sl-arrow .slick-prev { left: 50px;}
.ft-bnr.sl-arrow .slick-next { right: 50px;}


@media print, screen and (min-width: 681px) {
	
	footer {
		position: relative;
		padding-bottom: 55px;
		overflow: hidden;
	}
	
	.ft-bnr__wrap,
	.f-nav__wrapper,
	.f-ext__wrapper,
	.ft-btm {
		position: relative;
		z-index: 1;
	}
	footer:before {
		position: absolute;
		right: -285px;
		bottom: 195px;
		width: 570px;
		height: 285px;
		background: url("/common/img/ph_cloud_footer.svg") no-repeat 50% 50%/100% 100%;
		content: "";
		z-index: 0;
	}
	
	.ft-bnr__wrap {
		padding: 40px 0;
	}
	
	.ft-bnr {
		width: calc(100% - 80px);
		margin: 0 auto;
		justify-content: center;
	}

	.ft-bnr__item {
		width: calc(25% - 5px);
		margin: 0 15px 0 0;
	}

	.ft-bnr__item:nth-child(2n) {
		margin-right: 15px;
	}
	
	.ft-bnr__item:last-child {
		margin-right: 0px;
	}


.ft-bnr.sl-arrow .slick-prev { left: -13px;}
.ft-bnr.sl-arrow .slick-next { right: -13px;}
	
}


@media print, screen and (min-width: 1200px) {
	
	footer {
		padding-bottom: 0;
	}
	
	footer:before {
		right: 50%;
		transform: translateX(980px);
		bottom: -16px;
		width: 695px;
		height: 348px;
	}
	.ft-bnr__wrap {
		padding: 60px 0;
	}

	.ft-bnr {
		width: 960px;
	}

	.ft-bnr__item {
		width: 220px;
	}
	
	.ft-bnr.sl-dots .slick-dots {
		bottom: -55px;
	}
	
}



/* navi
*****************************************************************************/
.f-nav__wrapper {
	display: none;
}


@media print, screen and (min-width: 681px) {
	
	.f-nav__wrapper {
		display: block;
		padding: 40px 0 0;
	}
	
	.f-nav__inner:first-child {
		margin: 0 0 30px;
	}
	
	.f-nav1 {
		display: flex;
		letter-spacing: .1rem;
	}
	.f-nav__inner:first-child .f-nav1__item { margin-left: 40px;}
	.f-nav__inner:last-child .f-nav1__item { margin-left: 22px;}
	.f-nav__inner:first-child .f-nav1__item:first-child,
	.f-nav__inner:last-child .f-nav1__item:first-child { margin-left: 0;}
	
	.f-nav1__link {
		font-weight: bold;
		font-size: 1.6rem;
		line-height: 1;
		color: #E34847;
	}
	
	.f-nav2__item {
		margin: 10px 0 0;
	}
	
	.f-nav2__link,
	.f-nav3__link {
		padding-left: 13px;
		position: relative;
		font-size: 1.3rem;
		line-height: 1;
	}
	
	.f-nav2__link::before,
	.f-nav3__link::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		border-top: 1px solid #e34847;
	}
	
	.f-nav2__link::before {
		width: 6px;
		height: 6px;
		border-right: 1px solid #e34847;
		transform: translateY(-50%) rotate(45deg);
	}
	
	.f-nav3__link::before {
		width: 7px;
		transform: translateY(-50%);
	}
	
	.f-nav3 {
		padding-left: 13px;
	}
	
	.f-nav3__item {
		margin: 6px 0 0;
	}
	
}


@media print, screen and (min-width: 1200px) {
	
	.f-nav__wrapper {
		padding-top: 60px;
	}
	
	.f-nav {
		display: flex;
	}
	
	.f-nav__inner:first-child {
		width: 215px;
		margin-bottom: 0;
	}
	
	.f-nav__inner:last-child {
		width: calc(100% - 215px);
	}
	
	.f-nav__inner:first-child .f-nav1 {
		display: block;
	}
	
	.f-nav__inner:last-child .f-nav1 {
		display: flex;
		justify-content: space-between;
	}
	
	
	.f-nav__inner:first-child .f-nav1__item {
		margin-top: 30px;
	}
	
	
	.f-nav__inner:first-child .f-nav1__item:first-child,
	.f-nav__inner:last-child .f-nav1__item {
		margin-top: 0;
	}
	
	.f-nav__inner:first-child .f-nav1__item,
	.f-nav__inner:last-child .f-nav1__item {
		margin-left: 0;
	}
	
}



/* ecternal links
*****************************************************************************/
.f-ext__wrapper {
	padding: 25px 0;
}

.f-ext {
	display: flex;
	flex-wrap: wrap;
}

.f-ext__item {
	margin-top: 13px;
}
.f-ext__item:nth-child(-n+2) { margin-top: 0;}
.f-ext__item:nth-child(odd) { width: 90px;}
.f-ext__item:nth-child(even) { width: calc(100% - 90px);}

.f-ext__link {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1;
	color: #E34847;
	letter-spacing: .1rem;
}

.f-ext__link:after {
	content: "";
	background: url("../img/ico_link-blank_red.svg") no-repeat 0 0/contain;
	width: 11px;
	height: 11px;
	margin: 0 0 0 7px
}

.f-ext__link2 {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1;
	color: #E34847;
	letter-spacing: .1rem;
}


@media print, screen and (min-width: 681px) {
	
	.f-ext__wrapper {
		padding: 40px 0;
	}
	
	.f-ext {
		flex-wrap: nowrap;
	}
	
	.f-ext__item {
		margin: 0 40px 0 0;
	}
	.f-ext__item:nth-child(odd),
	.f-ext__item:nth-child(even) { width: auto}
	
	.f-ext__link {
		font-size: 1.6rem;
	}
	
	.f-ext__link::after {
		transform: translateY(1px);
	}
	
	.f-ext__link2 {
		font-size: 1.6rem;
	}
	
}

@media print, screen and (min-width: 1200px) {
	
	.f-ext__wrapper {
		padding-bottom: 50px;
	}
	
	.f-ext__item {
		margin: 0 50px 0 0;
	}
	
}



/* ect links
*****************************************************************************/
.f-etc__wrapper {
	background: #616152;
	padding: 15px 0;
}

.f-etc {
	display: flex;
	justify-content: center;
}

.f-etc__item {
	margin: 0 17px;
}

.f-etc__link {
	display: block;
	font-size: 1rem;
	line-height: 1;
	color: #fff;
}


@media print, screen and (min-width: 681px) {
	
	.f-etc__wrapper {
		padding: 18px 0;
	}
	
	.f-etc__item {
		margin: 0 30px;
	}

	.f-etc__link {
		font-size: 1.3rem;
	}
}

@media print, screen and (min-width: 1200px) {
	
	.f-etc {
		justify-content: flex-start;;
	}
	
	.f-etc__item {
		margin: 0 40px 0 0;
	}
	
}



/* bottom info
*****************************************************************************/
.ft-btm {
	padding: 30px;
	text-align: center;
}

.ft-logo a {
	display: inline-block;
	width: 265px;
}

.ft-logo p {
	margin: 10px 0 0;
	font-size: 1rem;
	line-height: 1;
}

.ft-copyright {
	margin: 20px 0 0;
	font-size: 1rem;
	line-height: 1;
}


@media print, screen and (min-width: 681px) {
	
	.ft-logo a {
		width: 318px;
	}
	
	.ft-logo p {
		font-size: 1.1rem;
	}
	
	.ft-copyright {
		margin-top: 30px;
		font-size: 1.1rem;
	}
	
}


@media print, screen and (min-width: 1200px) {
	
	.ft-btm {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 30px 0;
	}
	
	.ft-logo { 
		display: flex;
		align-items: center;
	}
	
	.ft-logo p { 
		margin: 0 0 0 30px;
	}
	
	.ft-copyright {
		margin-top: 0;
	}
	
}




/*************************************************************************************************************************
* Style of titles
*************************************************************************************************************************/
.ttl-base span {
	position: relative;
	display: block;
	padding-bottom:20px;
}
.ttl-base span strong,
.ttl-base span small { display: block; }
.ttl-base span strong {
	margin-bottom: 10px;
	font-family: 'Roboto Condensed', sans-serif;
	font-size:4.2rem;
	font-style: italic;
	color: #616152;
	line-height: 1;
}
.ttl-base span small {
	font-size: 1.4rem;
	color: #000;
	line-height: 1;
}

.ttl-base span:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 55px;
	height: 5px;
	background: url("/common/img/bg_wave.svg") no-repeat 0 0/ 100% auto;
	content: "";
}

.ttl-base--left span:before {
	left: 0;
	transform: translateX(0);
}

.ttl-base--cent { text-align: center; }

.ttl-1-wrap {	/*	spのみh2をはみ出すための枠	*/
	position: relative;
	height: 80px;
}
.ttl-1 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% + 40px);
	background-image: url(/common/img/bg_ttl_1.png);
	background-repeat: repeat;
	background-position: 0 0;
	background-size: 100% auto;
	padding: 15px 0 15px 20px;
	font-size: 2.0rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.05;
	z-index: 1;
}

.ttl-2 {
	position: relative;
	margin-bottom: 20px;
}
.ttl-2 span {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 2px solid #ff4645;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.45;
}
.ttl-2:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ccc;
	content: "";
}

.ttl-3 {
	position: relative;
	margin: 0 0 15px;
	padding: 0 0 0 25px;
	font-weight: 700;
	font-size: 1.6rem;;
	line-height: 1.75;
}

.ttl-3::before {
	content: "";
	background: url("../img/ico_ttl_3.svg") no-repeat 0 0/contain;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 7px;
	left: 0;
}

.ttl-squares {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	font-size: 1.6rem;
	line-height: 1.8;
}
.ttl-squares:before {
	width: 16px;
	height: 16px;
	background: url("/common/img/ico_squares.svg") no-repeat 50% 50% /16px 16px;
	margin-right: 8px;
	content: "";
}


@media print, screen and (min-width: 681px) {
	
	.ttl-base span {
		padding-bottom: 28px;
	}
	.ttl-base span strong {
		margin-bottom: 15px;
		font-size:5.2rem;
	}
	.ttl-base span small {
		font-size: 1.5rem;
	}
	.ttl-base span:before {
		width: 66px;
		height: 6px;
	}
	
	
	.ttl-1-wrap {	/*	spのみh2をはみ出すための枠	*/
		position: relative;
		height: auto;
		margin-bottom: 30px;
	}
	.ttl-1 {
		position: inherit;
		width: auto;
		font-size: 2.0rem;
		line-height: 1;
		z-index: inherit;
	}

	.ttl-3 {
		margin-bottom: 20px;
		font-size: 1.8rem;;
	}

	.ttl-3::before {
		width: 18px;
		height: 18px;
	}

	
}

@media print, screen and (min-width: 1200px) {
	
	.ttl-base span {
		padding-bottom: 28px;
	}
	.ttl-base span strong {
		margin-bottom: 20px;
		font-size:6.0rem;
	}
	.ttl-base span small {
		font-size: 1.6rem;
	}
	.ttl-base span:before {
		width: 66px;
		height: 6px;
	}
	
	
	.ttl-1-wrap {	/*	spのみh2をはみ出すための枠	*/
		margin-bottom: 45px;
	}
	.ttl-1 {
		padding: 15px 0 15px 20px;
		border-radius: 5px;
		font-size: 2.4rem;
	}
	
	.ttl-2 {
		margin-bottom: 30px;
	}
	.ttl-2 span {
		padding-bottom: 18px;
		border-bottom: 3px solid #ff4645;
		font-size: 2.0rem;
	}
	
	.ttl-squares {
		font-size: 1.8rem;
	}
	
}


/*************************************************************************************************************************
* Sub Page
*************************************************************************************************************************/
.fvsub {
	position: relative;
	background-image: url("/common/img/sub/ph_cloud_1.svg");
	background-repeat: no-repeat;
	background-position: calc(100% + 226px) 0;
	background-size: 495px auto;
	background-color: #81c6c4;
	padding-top: 162px;
}
.fvsub--green { background-color: #7bc496; }
.fvsub--yellow { background-color: #e6b422; }
.fvsub--lightgreen { background-color: #aacf53; }
.fvsub--skyblue { background-color: #a0d8ef; }
.fvsub--pink { background-color: #ffac8c; }
.fvsub--violet { background-color: #cca6bf; }
.fvsub--other { background-color: #84A2D4; }
.fvsub:before {
	
}
.fvsub-inner {
	position: relative;
	
}
.fvsub-inner:before {
	position: absolute;
	top: -90px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 245px;
	background: url("/common/img/bg_town.png") repeat-x center top/700px auto;
	z-index: 0;
	content: "";
}
.bg-washi {
	position: relative;
	background: url('/common/img/bg_washi_dark.jpg') repeat 50% 0/500px auto;
	z-index: 1;
}
.ttl-obj-wrap {
	position: relative;
	padding: 80px 0 30px;
}

.fvsub-obj {
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 300px;
	margin: 0 auto 10px;
}


.bg-clouds {
	background-image: url('/common/img/bg_cloud_sp1x.png');
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-position: 0% -36%;
}


.underfv-ttl {
	margin-bottom: 30px;
	font-size: 2.0rem;
	line-height: 1.5;
}
.underfv-ttl p {
	font-size: 1.5rem;
	line-height: 1.5;
}

@media print, screen and (min-width: 681px) {
	
	.fvsub {
		background-position: calc(100% + 226px) 0;
		background-size: 700px auto;
	}
	.bg-washi {
		min-height: 160px;
	}
	.ttl-obj-wrap {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		flex-direction: row-reverse;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		
		width: calc(100% - 80px);
		padding: 0;
		
	}
	
	.fvsub-obj {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
		display: inherit;
		width: 370px;
		margin: 0;
	}
	
	
	.ttl-base.pc--left { text-align: left; }
	.ttl-base.pc--left span:before {
		left: 0;
		transform: translateX(0);
	}
	
	.underfv-ttl {
		margin-bottom: 30px;
		font-size: 2.4rem;
		line-height: 1.5;
	}
	.underfv-ttl p {
		line-height: 2;
	}
	
	.bg-clouds {
		background-position: 0% -46%;
	}
	
	
	
	
	
	
}


@media print, screen and (min-width: 1200px) {
	
	
	.sub--long .g-nav { top: 460px; }
	.sub--long .g-nav--fixed { top: 30px; }
	.sub--long main { padding-top: 120px; }
	
	.sub--short main { padding-top: 120px; }
	.sub--short .g-nav { top: 430px; }
	.sub--short .g-nav--fixed { top: 30px; }
	
	.fvsub {
		height: 500px;
		background-position: calc(100% + 385px) -97px;
		background-size: 1028px auto;
		padding-top: 290px;
	}
	.fvsub-inner:before {
		top: -200px;
		background-size: 1500px auto;
	}
	.bg-washi {
		min-height: 210px;
	}
	.bg-washi:before {
		position: absolute;
		top: -40px;
		left: 50%;
		transform: translateX(-960px);
		width: 840px;
		height: 500px;
		background: url("/common/img/sub/ph_cloud_2.svg") no-repeat 0 0/840px auto;
		z-index: 0;
		content: "";
	}
	
	.sub--short .fvsub {
		height: auto;
	}
	.sub--short .bg-washi {
		min-height: 180px;
	}
	
	.ttl-obj-wrap {
		top: -65px;
		width: 1000px;
	}
	.fvsub-obj {
		width: 546px;
	}
	
	.bg-clouds {
		background-image: url('/common/img/bg_cloud.png');
		background-size: 110% auto;
		background-position: 50% 123vw;
	}
	
	
}


.ttl-sub {
	padding-bottom: 35px;
	text-align: center;
}
.ttl-sub span {
	display: inline-block;
	position: relative;
	margin-top: -16px;
	margin-bottom: 10px;
	padding-bottom: 15px;
	text-align: center;
}
.ttl-sub span strong,
.ttl-sub span small {
	display: block;
}
.ttl-sub span strong {
	margin-bottom: 10px;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.8rem;
	font-style: italic;
	color: #616150;
	line-height: 1;
}
.ttl-sub span small {
	font-size: 1.1rem;
	line-height: 1;
}
.ttl-sub span:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 55px;
	height: 5px;
	background: url("/common/img/bg_wave.svg") no-repeat 0 0/ 100% auto;
	content: "";
}
.ttl-sub p {
	font-size: 2.4rem;
	font-weight: 700;
	color: #616150;
	line-height: 1;
}


.underfv-txt {
	margin: 0 0 40px;
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: center;
}
.underfv-txt--left {
	text-align: left;
}
.underfv-ttl--yelul > span {
	position: relative;
	display: inline-block;
}
.underfv-ttl--yelul > span > span {
	position: relative;
	z-index: 1;
}
.underfv-ttl--yelul > span:after {
	position: absolute;
	width: 100%;
	height: 9px;
	background: #ff0;
	bottom: 1px;
	left: 0;
	z-index: 0;
	content: "";
}

.lineup-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.lineup-item {
	width: 47%;
	margin-bottom: 20px;
}
.lineup-item dt {
	margin-bottom: 15px;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}
.lineup-item dt p {
	position: relative;
	margin-bottom: 10px;
}
.lineup-item dt span {
	display: inline-block;
}

.type-wrap--longsp .lineup-item dt span {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 40px;
}

.lineup-item dd.price {
	margin-bottom: 10px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.lineup-item dd.price small {
	margin-left: 4px;
	font-size: 1.0rem;
}
.lineup-item dd.links span {
	display: block;
	text-align: center;
}
.lineup-item dd.links span a {
	display: block;
	background-color: #eae8d8;
	padding: 8px 0;
	font-size: 1.0rem;
	line-height: 1;
	transition: all .3s ease-out;
}
.lineup-item dd.links span a:hover {
	background-color: #616150;
	color: #fff;
}
.lineup-item dd.links span a:first-child {
	margin-bottom: 8px;
}


.lineup-item__eco dt p:before {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 45px;
	height: 45px;
	background: url("/common/img/ico_eco.svg") no-repeat 0 0/45px 45px;
	z-index: 1;
	content: "";
	
}




@media print, screen and (min-width: 681px) {
	
	.underfv-txt {
		margin-bottom: 60px;
	}
	
	.ttl-sub {
		position: relative;
		padding-top: 30px;
		padding-bottom: 0;
		text-align: left;
		z-index: 1;
	}
	.ttl-sub span {
		position: absolute;
		top: -30px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding-bottom: 20px;
		margin-top: 0;
	}
	.ttl-sub span strong {
		margin: 0 6px 0 0;
		font-size: 2.6rem;
	}
	.ttl-sub span small {
		font-size: 1.3rem;
	}
	.ttl-sub span:after {
		left: 0;
		transform: translateX(0);
		width: 66px;
		height: 6px;
	}
	.ttl-sub p {
		font-size: 4.5rem;
	}
	
	.lineup-list {
		justify-content: flex-start;
		margin:0 -1% 20px;
	}
	.lineup-item {
		width: 29.3%;
		margin: 0 2% 40px;
	}
	
	.lineup-item dd.links {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lineup-item dd.links span {
		width: 48%;
		margin: 0 0 8px 0;
	}
	.lineup-item dd.links span.single {
		width: 100%;
	}
	.lineup-item dd.links span a {
		padding: 10px 0;
		font-size: 1.2rem;
	}
	.lineup-item dd.links span a:first-child { margin-bottom: 0; }
	
	.lineup-item dd.cent { justify-content: center; }
	
	.type-wrap--long .lineup-item dt span {
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 40px;
	}
	
	
}



@media print, screen and (min-width: 1200px) {
	
	.underfv-txt {
		margin-bottom: 80px;
	}
	
	.lineup-list {
		justify-content: flex-start;
		margin:0 -30px 20px;
	}
	.lineup-inner:last-child .lineup-list {
		margin-bottom: 0;
	}
	.lineup-item {
		width: 200px;
		margin: 0 30px 40px;
	}
	.lineup-item dt {
		margin-bottom: 20px;
		font-size: 1.3rem;
	}
	.lineup-item dt p {
		margin-bottom: 15px;
	}
	
	.lineup-item__eco dt p:before {
		width: 56px;
		height: 56px;
		background-size: 56px 56px;
	}
	
	
	/*	Demo Cars	*/
	.lineup-item.demo dt p {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		min-height: 110px;
	}
	
	
}



/*************************************************************************************************************************
* sub index links
*************************************************************************************************************************/
.index-link {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -20px;
}

.index-link__item {
	width: calc(50% - 8px);
	margin-left: 16px;
	margin-bottom: 20px;
}

.index-link__item:nth-child(odd) {
	margin-left: 0;
}

.index-link__item > a
.index-link__item > span{
	display: block;
}
.index-link__item > a span img {
	cursor: pointer;
}


@media print, screen and (min-width: 681px) {
	
	.index-link {
		display: flex;
		margin-bottom: -25px;
	}
	
	.index-link__item {
		width: calc((100% - 50px) / 3);
		margin-left: 25px;
		margin-bottom: 25px;
	}

	.index-link__item:nth-child(odd) {
		margin-left: 25px;
	}

	.index-link__item:nth-child(1),
	.index-link__item:nth-child(3n+1) {
		margin-left: 0!important;
	}

}


@media print, screen and (min-width: 1200px) {
	
	.index-link {
		margin-bottom: -50px;
	}
	
	.index-link__item {
		width: calc((100% - 100px) / 3);
		margin-left: 50px;
		margin-bottom: 50px;
	}

	.index-link__item:nth-child(odd) {
		margin-left: 50px;
	}

}

/*************************************************************************************************************************
* font-style : Roboto black
*************************************************************************************************************************/
.fs--roboto {
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
}

/*************************************************************************************************************************
* Objective Fit Image
*************************************************************************************************************************/
.ofi-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
}

.ofi-contain {
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain';
}


/*************************************************************************************************************************
* Gmap
*************************************************************************************************************************/
.map-canvas {
	width: 100%;
	height: 100%;
}

.map-infowindow {
	text-align: center;
	padding: 10px 15px;
}

.map-infowindow__heading {
	color: #E34847;
	font-weight: bold;
  min-width: 120px;
}

.map-infowindow__heading a{
	text-decoration: underline;
}

.map-infowindow__heading a:hover{
	text-decoration: none;
}

.map-infowindow__button {
	background: #E34847;
	color: #FFFFFF;
	width: 100%;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
	min-width: 100px;
	border:1px solid #E34847;
	transition: .2s linear;
	margin-top: 10px;
}

.map-infowindow__button:hover {
	background: #fff;
	color: #E34847;
}