@charset "UTF-8";

html {
	font-size: 62.5%;
}

body {
	width: 100%;
}

#main-container {
	width: 100%;
	margin: 0 auto;
	padding: 4rem 0 10rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.01em;
	font-feature-settings: "palt";
	color: #333;
	overflow: hidden;
}

/* @media screen and (min-width: 600px) {
	#main-container {
		background-position: center 36px;
		background-size: 120rem;
		background-image: url(/Page/style/210824/img/pc.jpg);
	}
}

@media screen and (max-width: 599px) {
	#main-container {
		background-position: center 5500px;
		background-size: 100%;
		background-image: url(/Page/style/210824/img/sp2.jpg);
	}
} */

#main-container * {
	box-sizing: border-box;
}

#main-container a,
#main-container picture {
	display: block;
}

#main-container img,
#main-container video,
#main-container svg {
	width: 100%;
	height: auto;
}

/*----------------------------共通部分---------------------------------------*/
/*flexbox*/
.flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

/*section*/
.section {
	position: relative;
	margin: 0 auto 15rem;
}

/*heading*/
.heading {
	position: relative;
	text-align: center;
	margin-bottom: 4rem;
	padding-bottom: 4.3rem;
	line-height: 1;
}

.heading .title {
	font-size: 2rem;
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
}

.heading::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 33.2rem;
	height: 3.8rem;
	background-image: url(/Page/style/210824/img/brackets-pc.png);
}

.heading.sec03::after {
	width: 43.2rem;
	height: 3.8rem;
	background-image: url(/Page/style/210824/img/brackets-pc-large.png);
}

.wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
}

.block {
	position: relative;
}

.detail .detail_title {
	color: #ce8286;
	font-size: 1.7rem;
	line-height: 1;
	margin: 0 auto;
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
}

.detail .detail_lead {
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}

.discription {
	margin-top: 6rem;
}

.discription .discription_lead {
	margin-bottom: 3rem;
}

.caption {
	font-size: 1.3rem;
	line-height: 1;
	font-family: 'Crimson Text', serif;
	letter-spacing: 0.015em;
}

.caption span {
	display: inline-block;
	border-bottom: solid 1px #ccc;
}

.caption span:not(:nth-of-type(1)) {
	margin-left: 1.5rem;
}

.detail .detail_lead::before,
.detail .detail_lead::after {
	content: "";
	position: absolute;
	display: block;
	background-size: 100%;
	background-repeat: no-repeat;
}

.detail .detail_lead::before {
	width: 2.8rem;
	height: 2.2rem;
	top: 0;
	left: 0;
	background-image: url(/Page/style/210824/img/detail_left.png);
}

.detail .detail_lead::after {
	width: 2.8rem;
	height: 2.2rem;
	bottom: 0;
	right: 0;
	background-image: url(/Page/style/210824/img/detail_right.png);
}

/*----------------------------fastview---------------------------------------*/
.fastview {
	margin-bottom: 8.5rem;
	text-align: center;
}

.fastview_img {
	width: 100%;
	background: #ce8286;
}

.fastview_title {
	width: 120rem;
	margin: 0 auto;
	padding-left: 13rem;
	padding-right: 14rem;
}

.fastview_title span {
	display: block;
}

.image__wrapper {
	position: relative;
}

.fastview_title .image {
	margin-left: 3rem;
}

.fastview_title .frame {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 92.2rem;
	height: 56.2rem;
	margin: auto;
}

.fastview_lead1 {
	margin-top: 8.5rem;
	margin-bottom: 2rem;
}

/*----------------------------section01---------------------------------------*/

/*------------block 1-------------*/
.block.sec01-01 {
	width: 42rem;
	margin-top: 15rem;
	margin-bottom: 12rem;
}

.detail .detail_title {
	width: 29.4rem;
	margin-bottom: 3rem;
}

.detail .detail_lead {
	width: 39rem;
	margin-bottom: 12rem;
	padding: 2rem 3rem;
}

/*------------block 2-------------*/
.block.sec01-02 {
	width: 50rem;
	margin-left: 6rem;
}

.block.sec01-02 .image {
	width: 50rem;
}

.block.sec01-02 .discription {
	position: relative;
}

.block.sec01-02 .discription::before {
	content: "";
	position: absolute;
	display: block;
	width: 56rem;
	height: 47rem;
	background: #fbf5f5;
	z-index: -1;
	top: -26rem;
	left: -12rem;
}

/*------------block 3-------------*/
.block.sec01-03 {
	width: 39.3rem;
	margin-top: 30rem;
	margin-left: 7rem;
	margin-bottom: 6rem;
}

.sec01-03 .detail .detail_title {
	width: 39.3rem;
	margin-bottom: 3rem;
}

.sec01-03 .detail .detail_lead {
	width: 36rem;
}

/*------------block 4-------------*/
.block.sec01-04 {
	margin-left: 7rem;
	margin-bottom: 6rem;
}

.block.sec01-04 .image {
	width: 46rem;
}

/*------------block 5-------------*/
.block.sec01-05 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.block.sec01-05 .image {
	width: 630px;
}

.block.sec01-05 .discription {
	width: 38rem;
	margin-top: 0;
	margin-left: 4rem;
	position: relative;
}

.block.sec01-05::before {
	content: "";
	position: absolute;
	display: block;
	width: 100vw;
	height: 26.5rem;
	background: #fbf5f5;
	z-index: -1;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.block.sec01-05 .caption {
	width: 10.2rem;
}

/*----------------------------section02---------------------------------------*/
/*section 2*/
.section.sec02 {
	display: block;
}

/*------------block 1-------------*/
.block.sec02-01 {
	width: 57.2rem;
	margin: 0 auto;
	text-align: center;
}

.block.sec02-01 .image {
	width: 50rem;
	margin: 0 auto;
}

.block.sec02-01 .detail {
	margin-top: 6rem;
}

.sec02-01 .detail .detail_title {
	width: 28.5rem;
	margin-bottom: 3rem;
	text-align: center;
}

.sec02-01 .detail .detail_lead {
	width: 57.2rem;
	margin-bottom: 6rem;
	padding: 0.4rem 0 1rem;
}

/*------------block 2-------------*/
.block.sec02-02 {
	width: 100%;
	display: flex;
	justify-content: center;
}

.block.sec02-02 .image {
	width: 63rem;
}

.block.sec02-02 .discription {
	position: relative;
	width: 35rem;
	margin-top: 13.5rem;
	margin-left: -16rem;
}

.block.sec02-02::before {
	content: "";
	position: absolute;
	display: block;
	background-size: 100%;
	width: 100vw;
	height: 26.5rem;
	background: #fbf5f5;
	z-index: -1;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.sec02-02 .detail .discription_lead {
	width: 35rem;
	margin-bottom: 3rem;
}

.sec02-01 .detail .caption {
	width: 10.2rem;
}

/*----------------------------section03---------------------------------------*/
/*section 3*/
.section.sec03 {
	width: 120rem;
	margin-bottom: 0;
}

/*------------block 1-------------*/
.block.sec03-01 {
	width: 120rem;
	margin-bottom: 6rem;
}

.block.sec03-01 .image {
	width: 69rem;
	margin: 0 auto;
}

.sec03-01 .detail .detail_title {
	width: 42.6rem;
	margin-top: 6rem;
	margin-bottom: 4rem;
	text-align: center;
}

.sec03-01 .detail .detail_lead {
	width: 49rem;
	padding: 0.4rem 0 1rem;
	text-align: center;
	margin-bottom: 0;
}

/*------------block 2-------------*/
.block.sec03-02 {
	padding: 30px 0 30px;
	width: 80rem;
	background-color: #fbf5f5;
}

.block.sec03-02 .image {
	width: 25rem;
	margin: 0 auto;
}

.block.sec03-02 .profile {
	text-align: center;
}

.block.sec03-02 .profile .name {
	margin-top: 3rem;
	margin-bottom: 2.7rem;
	font-size: 1.7rem;
	line-height: 1;
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #ce8286;
}

/*----------------------------section04---------------------------------------*/
/*section 4*/
.section.sec04 {
	/* width: 61rem; */
	text-align: center;
	margin-top: 4rem;
	margin-bottom: 0;
}

.section.sec04 .Notice1 {
	font-size: 1.5rem;
	color: #ce8286;
	line-height: 2;
	margin-bottom: 2rem;
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
}

.section.sec04 .Notice2 {
	margin-bottom: 9rem;
	line-height: 1;
}

/*------------STAFF_button------------*/

.section.sec04 .STAFF {
	font-family: "Crimson Text",serif;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	letter-spacing: 0.015em;
	font-size: 1.3rem;
	line-height: 1.6923076923;
}

#main-container .section.sec04 .button {
	width: 60rem;
	margin: 0 auto;
	margin-top: 9rem;
	font-size: 1.1rem;
	font-family: "Crimson Text",serif;
	font-style: normal;
	font-weight: 400;
	letter-spacing: .015em;
	line-height: 1;
	text-align: center;
}

#main-container .section.sec04 .button a {
	width: 60rem;
	height: 6.4rem;
	line-height: 1.54545;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	border: 1px solid #000;
	letter-spacing: .002em;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
}

/*----------------------------pc---------------------------------------*/
@media screen and (min-width: 600px) {
	.sp_only {
		display: none;
	}

	#main-container #breadcrumb {
    width: 120rem;
    margin: 0 auto;
  }
}

/*----------------------------tablet---------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1200px) {}

/*----------------------------mobile---------------------------------------*/
@media screen and (max-width: 599px) {
	.pc_only {
		display: none;
	}

	.main-area .main-inner {
		width: 100%;
	}
	
	#main-container {
		width: 100%;
    padding: 0 0 calc(140* (100vw / 750));
    font-size: calc(28* (100vw / 750));
    text-align: justify;
	}

	#main-container #breadcrumb .cateList {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    text-align: initial;
	}
	
	/*----------------------------共通部分---------------------------------------*/
	/*flexbox*/
	.flexbox {
		flex-direction: column;
	}
	
	/*section*/
	.section {
		margin-bottom: calc(220* (100vw / 750));
	}
	
	/*heading*/
	.heading {
		margin-bottom: calc(50* (100vw / 750));
		padding-bottom: calc(78* (100vw / 750));
	}
	
	.heading .title {
		font-size: calc(36* (100vw / 750));
	}
	
	.heading::after {
		width: calc(596* (100vw / 750));
		height: calc(67* (100vw / 750));
		background-image: url(/Page/style/210810/assets/img/brackets-pc.png);
	}
	
	.heading.sec03::after {
		width: calc(676* (100vw / 750));
		height: calc(67* (100vw / 750));
		background-image: url(/Page/style/210810/assets/img/brackets-pc-large.png);
	}
	
	.wrapper {
		flex-direction: column;
	}
	
	.block {
		position: relative;
	}
	
	.detail .detail_title {
		font-size: calc(34* (100vw / 750));
		line-height: 1.8823529412;
	}
	
	.discription {
		margin-top: calc(66* (100vw / 750));
	}
	
	.discription .discription_lead {
		margin-bottom: 0;
	}
	
	.caption {
		margin-top: calc(50* (100vw / 750));
		font-size: calc(23* (100vw / 750));
	}
	
	.caption span:not(:nth-of-type(1)) {
		margin-left: calc(25* (100vw / 750));
	}
	
	.detail .detail_lead::before {
		width: calc(52* (100vw / 750));
		height: calc(40* (100vw / 750));
	}
	
	.detail .detail_lead::after {
		width: calc(52* (100vw / 750));
		height: calc(40* (100vw / 750));
	}
	
	/*----------------------------fastview---------------------------------------*/
	.fastview {
		margin-bottom: calc(130* (100vw / 750));
	}
	
	.fastview_title {
		width: 100%;
		padding-left: calc(13* (100vw / 750));
		padding-right: 0;
	}
	
	.fastview_title .image {
		margin-left: calc(49* (100vw / 750));
	}
	
	.fastview_title .frame {
		width: calc(724* (100vw / 750));
		height: calc(853* (100vw / 750));
	}
	
	.fastview_lead1 {
		margin-top: calc(130* (100vw / 750));
		margin-bottom: calc(30* (100vw / 750));
	}
	
	/*----------------------------section01---------------------------------------*/
	
	/*------------block 1-------------*/
	.block.sec01-01 {
		width: 100%;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0;
		padding: 0 calc(20* (100vw / 750));
	}
	
	.detail .detail_title {
		width: 100%;
		margin-bottom: calc(15* (100vw / 750));
		text-align: center;
	}
	
	.detail .detail_lead {
		width: 100%;
		margin-bottom: 0;
		padding: calc(38* (100vw / 750)) calc(65* (100vw / 750)) calc(26* (100vw / 750));
	}

	.block.sec01-01 .image {
		width: calc(620* (100vw / 750));
		margin-top: calc(60* (100vw / 750));
		margin-left: auto;
		margin-right: auto;
	}
	
	/*------------block 2-------------*/
	.block.sec01-02 {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin-top: 0;
		margin-left: 0;
	}
	
	.block.sec01-02 .image {
		width: calc(500* (100vw / 750));
		margin-top: calc(80* (100vw / 750));
		margin-left: auto;
		margin-right: auto;
		order: 2;
	}
	
	.block.sec01-02 .discription {
		position: relative;
		order: 1;
		padding: 0 calc(65* (100vw / 750));
	}
	
	.block.sec01-02 .discription::before {
		height: calc(576* (100vw / 750));
		top: calc(-144* (100vw / 750));
		left: 0;
	}
	
	/*------------block 3-------------*/
	.block.sec01-03 {
		width: 100%;
		margin-top: calc(155* (100vw / 750));
		margin-left: 0;
		margin-bottom: 0;
		padding: 0 calc(20* (100vw / 750));
	}
	
	.sec01-03 .detail .detail_title {
		width: 100%;
		margin-bottom: calc(15* (100vw / 750));
	}
	
	.sec01-03 .detail .detail_lead {
		width: 100%;
	}
	
	/*------------block 4-------------*/
	.block.sec01-04 {
		width: calc(580* (100vw / 750));
		margin-top: calc(60* (100vw / 750));
		margin-bottom: 0;
		margin-left: auto;
		margin-right: auto;
	}
	
	.block.sec01-04 .image {
		width: 100%;
	}
	
	/*------------block 5-------------*/
	.block.sec01-05 {
		flex-direction: column;
		margin-top: calc(66* (100vw / 750));
	}
	
	.block.sec01-05 .image {
		width: calc(676* (100vw / 750));
		margin-top: calc(66* (100vw / 750));
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		order: 2;
	}
	
	.block.sec01-05 .discription {
		position: relative;
		margin-top: 0;
		margin-left: 0;
		padding: 0 calc(85* (100vw / 750));
		order: 1;
	}
	
	.block.sec01-05::before {
		width: 100%;
		height: calc(632* (100vw / 750));
		top: calc(-148* (100vw / 750));
		left: 0;
		bottom: initial;
		margin: initial;
	}
	
	.block.sec01-05 .caption {
		width: inherit;
	}
	
	/*----------------------------section02---------------------------------------*/
	/*section 2*/
	.section.sec02 {
		margin-bottom: calc(200* (100vw / 750));
	}
	
	/*------------block 1-------------*/
	.block.sec02-01 {
		width: 100%;
		margin: 0 auto;
		padding: 0 calc(20* (100vw / 750));
		text-align: center;
	}
	
	.block.sec02-01 .image {
		width: calc(582* (100vw / 750));
		margin: 0 auto;
	}
	
	.block.sec02-01 .detail {
		margin-top: calc(65* (100vw / 750));
	}
	
	.sec02-01 .detail .detail_title {
		width: 100%;
		margin-bottom: calc(20* (100vw / 750));
	}
	
	.sec02-01 .detail .detail_lead {
		width: 100%;
		text-align: center;
		margin-bottom: 0;
		padding: calc(38* (100vw / 750)) calc(65* (100vw / 750)) calc(26* (100vw / 750));
	}
	
	/*------------block 2-------------*/
	.block.sec02-02 {
		flex-direction: column;
		margin-top: calc(60* (100vw / 750));
	}
	
	.block.sec02-02 .image {
		width: calc(676* (100vw / 750));
		margin-left: auto;
		margin-right: auto;
	}
	
	.block.sec02-02 .discription {
		margin: calc(66* (100vw / 750)) auto calc(80* (100vw / 750));
		text-align: center;
	}
	
	.block.sec02-02::before {
		width: 100%;
		height: calc(627* (100vw / 750));
		top: calc(370* (100vw / 750));
		left: 0;
		bottom: initial;
		margin: initial
	}
	
	/*----------------------------section03---------------------------------------*/
	/*section 3*/
	.section.sec03 {
		width: 100%;
	}
	
	/*------------block 1-------------*/
	.block.sec03-01 {
		width: 100%;
		margin-bottom: calc(120* (100vw / 750));
	}
	
	.block.sec03-01 .image {
		width: 100%;
		margin: 0 auto;
	}
	
	.sec03-01 .detail .detail_title {
		width: 100%;
		margin-top: calc(65* (100vw / 750));
		margin-bottom: calc(20* (100vw / 750));
	}
	
	.sec03-01 .detail .detail_lead {
		width: calc(710* (100vw / 750));
		text-align: center;
		margin-bottom: 0;
		padding: calc(38* (100vw / 750)) 0 calc(26* (100vw / 750));
	}
	
	/*------------block 2-------------*/
	.block.sec03-02 {
		padding: calc(50* (100vw / 750)) 0 calc(50* (100vw / 750));
		width: 100%;
	}
	
	.block.sec03-02 .image {
		width: calc(480* (100vw / 750));
	}
	
	.block.sec03-02 .profile {
		text-align: center;
	}
	
	.block.sec03-02 .profile .name {
		margin-top: calc(50* (100vw / 750));
		margin-bottom: calc(32* (100vw / 750));
		font-size: calc(34* (100vw / 750));
	}
	
	/*----------------------------section04---------------------------------------*/
	/*section 4*/
	.section.sec04 {
		width: 100%;
		text-align: center;
		margin-top: calc(105* (100vw / 750));
		margin-bottom: 0;
	}
	
	.section.sec04 .Notice1 {
		font-size: calc(30* (100vw / 750));
		margin-bottom: calc(30* (100vw / 750));
	}
	
	.section.sec04 .Notice2 {
		margin-bottom: calc(130* (100vw / 750));
	}
	
	/*------------STAFF_button------------*/
	
	.section.sec04 .STAFF {
		font-size: calc(23* (100vw / 750));
		line-height: 1.7391304348;
	}
	
	#main-container .section.sec04 .button {
		width: calc(616* (100vw / 750));
		margin-top: calc(140* (100vw / 750));
		font-size: calc(22* (100vw / 750));
	}
	
	#main-container .section.sec04 .button a {
		width: calc(616* (100vw / 750));
    height: calc(125* (100vw / 750));
	}
}

/* //////////////////////// for animation //////////////////////// */
.js-fade-indicate {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  opacity: 0
}

.js-fade-indicate.active {
  opacity: 1
}

.js-fade-Vr {
  -webkit-transition-duration: .5s;
  transition-duration: .5s;
  opacity: 0;
  -webkit-transform: translateY(3rem);
  transform: translateY(3rem)
}

.js-fade-Vr.active {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0)
}