@charset "UTF-8";

/* fluid-image */

.fluid-image {
	max-width: 100%;
	height: auto;
}

/* hide */

.pc-hide{
	display: none !important;
}

.sp-hide{
	display: block !important;
}

@media screen and (max-width: 767px) {
	.sp-hide{
		display: none !important;
	}

	.pc-hide{
		display: block !important;
	}
}

/* 背景 */

.l-content {
	padding-bottom: 100px;
	background-color: #000031;
	background-image:
		url(../images/parts-bg-frame-lt.png),
		url(../images/parts-bg-frame-rt.png),
		url(../images/parts-bg-frame-lb.png),
		url(../images/parts-bg-frame-rb.png),
		url(../images/parts-bg-frame-l.png),
		url(../images/parts-bg-frame-r.png),
		url(../images/parts-bg.png);
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat,
		repeat-y,
		repeat-y,
		no-repeat;
	background-position:
		left -40px top -40px,
		right -40px top -40px ,
		left -40px bottom -40px,
		right -40px bottom -40px,
		left 20px top,
		right 20px top,
		center top -400px;
	background-size:
		290px auto,
		290px auto,
		290px auto,
		290px auto,
		160px auto,
		160px auto,
		100% auto;
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
	.l-content {
		background-position:
			left -6vw top -3vw,
			right -6vw top -3vw,
			left -6vw bottom -3vw,
			right -6vw bottom -3vw,
			left top,
			right top,
			center top -20vw;
		background-size:
			28vw auto,
			28vw auto,
			28vw auto,
			28vw auto,
			16vw auto,
			16vw auto,
			100vw auto;
	}
}

@media screen and (max-width: 767px) {
	.l-content {
		padding-bottom: 120px;
		background-position:
			left -9vw top -6vw,
			right -9vw top -6vw,
			left -9vw bottom -6vw,
			right -9vw bottom -6vw,
			left top,
			right top,
			center top -15vw;
		background-size:
			34vw auto,
			34vw auto,
			34vw auto,
			34vw auto,
			20vw auto,
			20vw auto,
			150vw auto;
	}
}

/* ---- */

.wrp-container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 10px;
}

.wrp-container--contents,
.wrp-container--note {
	max-width: 880px;
	padding: 0;
}

@media screen and (max-width: 1119px) {
	.wrp-container--contents,
	.wrp-container--note {
		max-width: none;
		padding: 0 6vw;
	}
}

@media screen and (max-width: 767px) {
	.wrp-container--contents,
	.wrp-container--note {
		max-width: none;
		padding: 0 2vw;
	}
}

/* section-head */

.section-head {
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.section-head {
	}
}

.kv {
	position: relative;
	overflow: hidden;
}

.kv__title {
	position: relative;
	z-index: 1;
	margin: 50px 0 20px;
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
	.kv__title {
		margin: 0;
		padding: 10vw 0 2vw;
	}
}

@media screen and (max-width: 767px) {
	.kv__title {
		margin: 0;
		padding: 20vw 0 2vw;
	}
}

.kv__title__alt {
	display: none;
}

.kv__title__image {
}

.kv__title__image--pc {
	display: block;
	max-width: 1120px;
	width: 100%;
	margin: 0 auto;
}

.kv__title__image--sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.kv__title__image--pc {
		display: none;
	}

	.kv__title__image--sp {
		display: block;
		width: 100%;
	}
}

.kv__copy {
	position: absolute;
	left: 0;
	right: 0;
	top: 30px;
	max-width: 880px;
	z-index: 1;
	margin: auto;
}

@media screen and (max-width: 767px) {
	.kv__copy {
		top: 4vw;
		max-width: none;
	}
}

.kv__copy__image {
	width: 300px;
	height: auto;
	margin-left: 30px;
}

@media screen and (max-width: 767px) {
	.kv__copy__image {
		width: 50vw;
		margin-left: 4vw;
	}
}

/* section-body */

.section-body {
}

@media screen and (max-width: 767px) {
	.section-body {
	}
}


/* nav */

.nav {
	position: relative;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: -25px auto 0;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.nav {
		width: auto;
		margin: -10px 0 0;
	}
}

.nav__item {
	position: relative;
	margin: 0 10px;
}

@media screen and (max-width: 767px) {
	.nav__item {
		width: 33.33%;
		margin-bottom: 10px;
		margin: 0;
		padding: 0;
	}
}

.nav__item a {
	position: relative;
	z-index: 1;
	display: block;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.nav__item a {
		filter: brightness(1);
		opacity: 1;
		transition: filter .5s;
	}

	.nav__item a:hover {
		filter: brightness(1.4);
		opacity: 1;
		transition: filter .1s;
	}

	.nav__item a .nav__item-set__image {
		transition: transform .1s;
	}

	.nav__item a:hover .nav__item-set__image {
		transform: translate(0, -20px) rotate(10deg);
		transform-origin: center;
		transition: transform .1s;
	}
}

@media screen and (max-width: 767px) {
	.nav__item a {
		filter: brightness(1);
		opacity: 1;
		transition: filter .5s;
	}

	.nav__item a:active {
		filter: brightness(1.4);
		opacity: 1;
		transition: filter .1s;
	}

	.nav__item a .nav__item-set__image {
		transition: transform .1s;
	}

	.nav__item a:active .nav__item-set__image {
		transform: translate(0, -20px) rotate(10deg);
		transform-origin: center;
		transition: transform .1s;
	}
}

.nav__item-set {
}

@media screen and (max-width: 767px) {
	.nav__item-set {
		padding: 5px 1vw;
	}
}

.nav__item-set__image {
	width: 160px;
	height: 160px;
	overflow: visible;
	filter: drop-shadow(0 -10px 6px #090532);
	transform: translateZ(0px);
}
@media screen and (max-width: 960px) {
	.nav__item-set__image {
		width: 130px;
		height: 130px;
		filter: drop-shadow(0 -8px 3px #090532);
	}
}

@media screen and (max-width: 767px) {
	.nav__item-set__image {
		width: 100%;
		height: 100%;
		/* border-radius: 10vw; */
		overflow: hidden;
		box-sizing: border-box;
	}
}

.nav__item-set__image img {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.nav__item-set__image img {
		display: block;
		width: 100%;
		height: 100%;
	}
}

.nav__item-set__text {
	display: none;
	padding-top: 8px;
	/* display: table; */
	width: 100%;
}

.nav__item-set__text span {
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	display: table-cell;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.nav__item-set__text {
		min-height: 2.36em;
	}

	.nav__item-set__text span {
		font-size: 12px;
		line-height: 1.6;
	}
}

/* contents-item */

.contents-item {
	position: relative;
	margin-top: 40px;
	padding: 60px 65px;
	background-color: #fff;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat,
		repeat-x,
		repeat-x,
		repeat-y,
		repeat-y;
	background-position:
		left -10px top -10px,
		left -10px bottom -10px,
		right -10px top -10px,
		right -10px bottom -10px,
		center top -10px,
		center bottom -10px,
		left -10px center,
		right -10px center;
	background-size: 160px auto;
	box-shadow: 0 -2px 20px 1px #000031;
}

.contents-item.contents-item--01,
.contents-item.contents-item--03 {
	background-image:
		url(../images/parts-border-or-lt.png),
		url(../images/parts-border-or-lb.png),
		url(../images/parts-border-or-rt.png),
		url(../images/parts-border-or-rb.png),
		url(../images/parts-border-or-ct.png),
		url(../images/parts-border-or-cb.png),
		url(../images/parts-border-or-lc.png),
		url(../images/parts-border-or-rc.png);
}

.contents-item.contents-item--02 {
	background-image:
		url(../images/parts-border-gr-lt.png),
		url(../images/parts-border-gr-lb.png),
		url(../images/parts-border-gr-rt.png),
		url(../images/parts-border-gr-rb.png),
		url(../images/parts-border-gr-ct.png),
		url(../images/parts-border-gr-cb.png),
		url(../images/parts-border-gr-lc.png),
		url(../images/parts-border-gr-rc.png);
}

@media screen and (max-width: 767px) {
	.contents-item {
		background-position:
			left -3vw top -3vw,
			left -3vw bottom -3vw,
			right -3vw top -3vw,
			right -3vw bottom -3vw,
			center top -3vw,
			center bottom -3vw,
			left -3vw center,
			right -3vw center;
		background-size: 30vw auto;
	}
}

.contents-item:first-child {
	margin-top: 50px;
}

@media screen and (min-width: 768px) and (max-width: 1119px) {
	.contents-item:first-child {
		margin-top: 70px;
	}
}

@media screen and (max-width: 767px) {
	.contents-item {
		margin-top: 30px;
		padding: 12vw;
	}
	.contents-item:first-child {
		margin-top: 70px;
	}
}

.contents-item__title {
	float: left;
	width: calc(65% - 40px);
	margin-bottom: 20px;
}

.contents-item--full .contents-item__title {
	float: none;
	width: auto;
}

.contents-item__title img {
	width: 100%;
}

.contents-item--full .contents-item__title img {
	display: block;
	width: 480px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.contents-item__title,
	.contents-item--full .contents-item__title {
		float: none;
		width: calc(100% + 20px);
		margin: 0 -10px 20px -10px;
	}

	.contents-item__title img,
	.contents-item--full .contents-item__title img {
		width: 100%;
	}
}

.contents-item__title__alt {
	display: none;
}

.contents-item__content:after {
	content: "";
	display: block;
	clear: both;
}

.contents-item__image {
	float: right;
	width: 35.4%;
	border-radius: 8px;
	overflow: hidden;
}

.contents-item__image > img {
	display: block;
}

#item-01 .contents-item__image > img {
	margin-top: 30px;
}

#item-02 .contents-item__image > img {
	margin-top: 10px;
}

@media screen and (max-width: 1090px) {
	.contents-item__image {
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.contents-item__image {
		float: none;
		width: auto;
		padding-top: 0;
		margin-bottom: 10px;
		border-radius: 5px;
		text-align: center;
	}

	#item-01 .contents-item__image > img {
		width: 65%;
		height: auto;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
	}

	#item-02 .contents-item__image > img {
		margin-top: 0;
	}
}

.contents-item__text {
	float: left;
	width: calc(65% - 40px);
}

.contents-item--full .contents-item__text {
	float: none;
	width: auto;
}

.contents-item__text,
.box-sub__text {
	text-align: justify;
	text-justify: inter-ideograph;
}

.contents-item__text p {
	line-height: 1.8;
}

.contents-item__text-lead {
	font-weight: bold;
	text-align: center;
}

.contents-item__text-lead {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #3e1d46;
}

.contents-item__text-text {
	color: #3e1d46;
}

.contents-item__text-lead + .contents-item__text-text {
	margin-top: 10px;
}

.contents-item__text-link {
	margin-top: 10px;
}

.contents-item__text-link > a {
	color: #eb6161;
	font-size: inherit;
	font-weight: inherit;
}

.contents-item__text-link > a > .contents-item__text-link__text {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: underline;
}

.contents-item__text-link > a:hover > .contents-item__text-link__text {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.contents-item__text {
		float: none;
		padding-left: 0;
		width: auto;
	}

	.contents-item--full .contents-item__text {
		padding-left: 0;
		width: auto;
	}
}

@media screen and (max-width: 374px) {
	.contents-item__title img {
		height: 40px;
	}
}

.box-mini {
	overflow: hidden;
}

.box-mini .contents-item__inner {
	padding: 30px 30px 30px 30px;
}

@media screen and (max-width: 767px) {
	.box-mini .contents-item__inner {
		padding: 28px 28px 26px;
	}
}

.box-mini-cell {
	float: left;
	width: 50%;
}

.box-mini-cell:first-child {
	padding-right: 20px;
}

.box-mini-cell:last-child {
	padding-left: 20px;
}

@media screen and (max-width: 767px) {
	.box-mini-cell {
		width: auto;
	}

	.box-mini-cell:first-child {
		padding-right: 0;
	}

	.box-mini-cell:last-child {
		padding-left: 0;
	}
}

.contents-item__mini-title {
	max-width: 320px;
	width: 100%;
	margin: 0 auto 20px;
	border-radius: 8px;
	overflow: hidden;
}

.contents-item__mini-title img {
	display: block;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.contents-item__mini-title {
		max-width: none;
		width: 100%;
		margin: 0 auto 10px;
		border-radius: 5px;
		overflow: hidden;
	}
}

.contents-item__mini-text {
	text-align: center;
}

.contents-item__mini-text p {
	line-height: 1.5;
}

.box-sub {
	margin-top: 25px;
	padding: 20px;
	border: #eb6161 2px solid;
	overflow: hidden;
}

.box-sub__title {
	height: 40px;
	font-size: 20px;
	font-weight: bold;
	color: #eb6161;
}

@media screen and (max-width: 767px) {
	.box-sub {
		margin-top: 20px;
		padding: 15px;
	}

	.box-sub__title {
		height: auto;
		margin-bottom: 10px;
		font-size: 16px;
	}
}

.box-sub__column {
}

.box-sub__image {
	float: right;
	width: 18.5%;
	margin-left: 15px;
}

.box-sub__image > img {
	display: block;
	margin-top: -40px;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	.box-sub__image {
		float: right;
		width: 37%;
		margin-left: 15px;
		margin-bottom: 5px;
	}

	.box-sub__image > img {
		margin-top: 0;
	}
}

.box-sub__text p {
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.box-sub__text {
	}
}

.box-button {
	margin-top: 15px;
}

.box-button > a,
.box-button > .box-button--comingsoon {
	display: block;
	position: relative;
	width: 70%;
	margin: 0 auto;
	padding: 10px 15px;
	border-radius: 500px;
	background-color: #3e1d46;
	font-size: inherit;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	color: #fff !important;
	vertical-align: middle;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}

.box-button > a {
	opacity: 1;
	transition: background-color .5s;
}

.box-button > a:hover {
	background-color: #f29200;
	opacity: 1;
	transition: background-color .1s;
}

@media screen and (max-width: 767px) {
	.box-button > a:hover {
		background-color: #3e1d46;
	}
}

.box-button > .box-button--comingsoon {
	background-color: #fff;
	border: 2px solid #f6a1cf;
	color: #f6a1cf !important;
	box-shadow: none;
	user-select: none;
}

/* contents-item__text-time */

.contents-item__text-time {
	margin-top: 10px;
}

#item-03 .contents-item__text-time + .contents-item__text-time {
	margin-top: 0;
}

@media screen and (min-width: 768px) {

	#item-03 .contents-item__text-text {
		text-align: center;
	}

	#item-03 .contents-item__text-time--column {
		overflow: hidden;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}

	#item-03 .contents-item__text-time {
		float: left;
		width: calc(50% - 10px);
		border-right: 1px solid #3e1f46;
	}

	#item-03 .contents-item__text-time + .contents-item__text-time {
		float: right;
		width: calc(50% - 10px);
		margin-top: 10px;
		border-right: 0 none;
	}
}

.contents-item__text-time dt,
.contents-item__text-time dd {
	box-sizing: border-box;
	padding: 5px 10px 5px 0;
	line-height: 1.5;
	color: #3e1d46;
}

.contents-item__text-time dt {
	float: left;
	width: 88px;
	padding-bottom: 0;
	font-weight: bold;
}

.contents-item__text-time dd {
	margin-left: 88px;
}

.contents-item__text-time dd.block {
	display: block !important;
	padding: 0;
}

@media screen and (max-width: 767px){
	.contents-item__text-time dt,
	.contents-item__text-time dd {
		line-height: 1.57;
		padding: 5px 5px 5px 0;
	}

	.contents-item__text-time dt {
		width: 60px;
	}

	.contents-item__text-time dd {
		margin-left: 65px;
		letter-spacing: 0.05em;
	}
}

/* section-note */

.section-note {
	padding: 40px 0 0;
}

@media screen and (max-width: 767px){
	.section-note {
		padding: 25px 0 0;
	}
}

.lst-note {
	margin-top: 10px;
}

#item-03 .lst-note {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.box-button ~ .lst-note {
	margin-top: 20px;
}

.lst-note li {
	font-size: 12px;
	line-height: 1.4;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
	color: #3e1d46;
}

.section-note .lst-note {
	margin-top: 0;
	padding: 10px;
	border-radius: 10px;
	background: #000031;
}

.section-note .lst-note li {
	color: #fff;
}

.lst-note li + li {
	margin-top: 5px;
}

@media screen and (max-width: 767px){
	.lst-note li{
		font-size: 12px;
		line-height: 1.6;
	}

	.lst-note li + li {
		margin-top: 0;
	}
}

.txt-copyright {
	margin-top: 20px;
	font-size: 12px;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 1119px) {
	.txt-copyright {
		font-size: 12px;
	}
}

/* 文字詰め調整 */

.contents-item__text,
.nav__item-set__text {
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}

/* アニメーション */

.js-fadein {
	opacity: 1;
	/* animation-name: fadeIn; */
	/* animation-duration: 3s; */
	transition: opacity .5s linear, transform .7s cubic-bezier(0.17,0.84,0.44,1);;
	transform: translateY(0);
}

.js-fadein.is-standby {
	opacity: 0;
	transform: translateY(50px);
}

@keyframes fadeIn {
	from, to {
		animation-timing-function: cubic-bezier(0.615, 0.810, 0.455, 1.000);
	}

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* SPのみの改行 */

@media screen and (min-width: 768px) {
	.sp-only {
		display: none;
	}
}

/* PCのみの改行 */

@media screen and (max-width: 767px) {
	.pc-only {
		display: none;
	}
}
