@charset 'utf-8';

@media only screen and (min-width: 768px){
	.pc_none {
		display: none!important;
	}
}
@media only screen and (max-width: 767px){
	.sp_none {
		display: none!important;
	}
}

a {
	transition: all 0.5s;
	text-decoration: none;
}
a:hover {
	opacity: 0.5;
}
ul li {
	list-style: none;
}


/*フォント設定*/
main {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #101010;
}
.font01 {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.font01_mid {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.font02_mid {
	font-family: "Cinzel", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wdth" 100;
}

* {
	margin: 0;
	padding: 0;
	list-style: none;
	text-decoration: none;
	color: #101010;
}

body{
	position: relative;
}

/*リキッドの場合に使用*/
main {
	font-size: 0.731vw;
}
@media only screen and (max-width: 767px){
	main {
		font-size: 2.67vw;
	}
}

.w50p {
	display: block;
	width: 50%!important;
	height: auto;
}
.w100p {
	display: block;
	width: 100%!important;
	height: auto;
}

.main_cont {
	width: 100%;
	height: auto;
}
.main_cont .cont01 {
	width: auto;
	height: auto;
	position: relative;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 {
		padding-bottom: 6.9em;
	}
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .cont01_img {
		width: 100%;
		height: 37.5em;
		margin: 0 auto 6.7em;
		overflow: hidden;
	}
}
.main_cont .cont01 img {
	display: block;
	width: 100%;
	height: auto;
}
.main_cont .cont01 .img01 {
	width: 94.14%;
	margin: auto;
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .img01 {
		width: 100%;
		top: 32em;
		bottom: auto;
	}
}
.main_cont .cont01 .img02 {

}
.main_cont .cont01 .img03 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.main_cont .cont01 .link01 {
	width: 13.4%;
	height: 5em;
	padding: 1.4em 2.6em;
	position: absolute;
	top: 3em;
	right: 4em;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #dddddd;
	box-sizing: border-box;
	border-radius: 8em;
	z-index: 1;
	cursor: pointer;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .link01 {
		width: 42.67%;
		height: 3.9em;
		margin-left: 3em;
		padding: 1em 2em;
		position: static;
		border: 1px solid #101010;
	}
}
.main_cont .cont01 .link01 span {
	font-size: 1.6em;
	line-height: 1.375em;
	color: #FCFCFC;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .link01 span {
		font-size: 1.4em;
		line-height: 1.357em;
		color: #101010;
	}
}
.main_cont .cont01 .link01 img {
	width: 15.5%;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .link01 img {
		width: 17%;
	}
}
/* SVGのスタイル */
.border-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
/* SVGの線をアニメーション用に設定 */
.border-svg rect {
    stroke-dasharray: 1020; /* 線の長さ */
    stroke-dashoffset: 1020; /* 初期状態（線を隠す） */
    transition: stroke-dashoffset 0.6s ease-in-out;
}
@media only screen and (max-width: 767px){
	.border-svg {
		display: none;
	}
}
.main_cont .cont01 .text01 {
	width: 38.15%;
	height: 66px;
	margin: auto;
	padding-right: 1em;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .text01 {
		width: 84%;
		height: auto;
		margin: 0 auto 1.8em;
		padding: 0;
		position: static;
		justify-content: flex-start;
	}
}
.main_cont .cont01 h2 {
	width: 100%;
	height: auto;
	margin-bottom: 0.5em;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 h2 {
		margin-bottom: 1.7em;
		align-items: flex-start;
		flex-direction: column;
	}
}
.main_cont .cont01 h2 .text01_01 {
	font-size: 1em;
	line-height: 1em;
	display: flex;
}
.main_cont .cont01 h2 .text01_01 span{
	font-size: 2.3em;
	line-height: 1.182em;
	color: #FCFCFC;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 h2 .text01_01 {
		font-size: 1em;
		line-height: 1;
/*		color: #101010;*/
	}
	.main_cont .cont01 h2 .text01_01 span{
		font-size: 1.1em;
		line-height: 1.3em;
		color: #101010;
	}
}
.main_cont .cont01 h2 .text01_02 {
	font-size: 1em;
	line-height: 1em;
	display: flex;
}
.main_cont .cont01 h2 .text01_02 span{
	font-size: 3.0em;
	line-height: 1.182em;
	color: #FCFCFC;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 h2 .text01_02 {
		font-size: 1em;
		line-height: 1em;
/*		color: #101010;*/
	}
	.main_cont .cont01 h2 .text01_02 span{
		font-size: 2.8em;
		line-height: 1em;
		color: #101010;
	}
}
.main_cont .cont01 .text01_03 {
	font-size: 1.0em;
	line-height: 1.182em;
	color: #FCFCFC;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .text01_03 {
		line-height: 1.5em;
		font-weight: 300;
		color: #101010;
	}
}
.main_cont .cont01 .text01_03 span {
	display: inline-block;
	font-size: 1em;
	line-height: 1em;
	color: #FCFCFC;
}
@media only screen and (max-width: 767px){
	.main_cont .cont01 .text01_03 span {
		color: #101010;
	}
}



.main_cont .cont02 {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}
.main_cont .cont02 .item {
	position: relative;
	font-size: 1em;
}
main .main_cont .cont02 .sticky {
    position: sticky;
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
main .main_cont .cont02 .sticky01 {
    display: flex;
    justify-content: center;
    align-items: flex-start;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.main_cont .cont02 .cursor {
	cursor: pointer;
}
.main_cont .cont02 .item img,
.main_cont .cont02 .item video {
	display: block;
	width: 100%;
	height: auto;
}
.main_cont .cont02 .item p {
	font-size: 3.4em;
	line-height: 1.176em;
	color: #FCFCFC;
	margin: auto;
	position: absolute;
	z-index: 1;
}
@media only screen and (max-width: 767px){
	.main_cont .cont02 .item p {
		font-size: 1em;
		line-height: 1.3em;
		font-weight: 600;
	}
}
.main_cont .cont02 .item p span {
	font-size: 1em;
	line-height: 1em;
	color: #FCFCFC;
}
.main_cont .cont02 .item .left01 {
	left: 1.294em;
	bottom: 2.294em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont02 .item .left01 {
		left: 1.3em;
		bottom: 4.2em;
	}
}
.main_cont .cont02 .item .right01 {
	right: 0.5em;
	bottom: 2.206em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont02 .item .right01 {
		bottom: 2.8em;
	}
}
.main_cont .cont02 .item .center01 {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	width: auto;
	height: 21%;
	margin-top: 25em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont02 .item .center01 {
		height: 25%;
		margin: auto;
	}
}
.main_cont .cont02 .item .list01_trigger {
	width: 3.0em;
	height: auto;
	position: absolute;
	left: 3.0em;
	bottom: 1.9em;
	z-index: 1;
}
@media only screen and (max-width: 767px){
	.main_cont .cont02 .item .list01_trigger {
		width: 1.5em;
		left: 1.5em;
		bottom: 1.5em;
	}
}
.main_cont .cont02 .item .list01 {
	position: absolute;
	left: 8.4em;
	bottom: 1.8em;
	z-index: 1;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.main_cont .cont02 .item .list01 li {
	width: auto;
	height: auto;
	margin-left: 1.8em;
}
.main_cont .cont02 .item .list01 li:nth-of-type(1) {
	margin-left: 0;
}
.main_cont .cont02 .item .list01 li a {
	font-size: 1.2em;
	line-height: 1.333em;
}
.main_cont .cont03 {
	width: auto;
	height: auto;
	margin: 15.3em auto 15.0em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 {
		margin: 13.9em auto 13.8em;
	}
}
.main_cont .cont03 h2 {
	display: block;
	width: 23.426%;
	height: auto;
	margin: 0 auto 0.85em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 h2 {
		width: 66.4%;
		margin: 0 auto 0.8em;
	}
}
.main_cont .cont03 h2 img {
	display: block;
	width: 100%;
	height: auto;
}
.main_cont .cont03 h3 {
	font-size: 1.8em;
	line-height: 1.2em;
	margin: 0 auto 4.2em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 h3 {
		font-size: 1.6em;
		line-height: 1.125em;
		margin: 0 auto 4.4em;
	}
}
.main_cont .cont03 ul {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0 auto 4.6em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 ul {
		flex-direction: column;
		margin: 0 auto 4.3em;
	}
}
.main_cont .cont03 ul li {
	width: auto;
	height: auto;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: baseline;
}
.main_cont .cont03 ul li::before {
	display: block;
	content: "";
	width: 0.1em;
	height: 0.8em;
	margin: 0 1.2em;
	background-color: #0F0F0F;
}
.main_cont .cont03 ul li:nth-of-type(1)::before {
	display: none;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 ul li {
		margin: 1.7em auto 0;
		align-items: center;
	}
	.main_cont .cont03 ul li:nth-of-type(1) {
		margin-top: 0;
	}
	.main_cont .cont03 ul li::before {
		display: none;
	}
}
.main_cont .cont03 ul li a {
	font-size: 1.8em;
	line-height: 1.2em;
}
@media only screen and (max-width: 767px){
	.main_cont .cont03 ul li a {
		font-size: 1.8em;
	}
}
.main_cont .cont03 p {
	font-size: 1.2em;
	line-height: 1.5em;
	text-align: center;
}
.main_cont .copy {
	display: block;
	margin: 0 auto 2.0em;
	font-size: 1.0em;
	line-height: 1.3em;
	text-align: center;
}
@media only screen and (max-width: 767px){
	.main_cont .copy {
		margin: 0 auto 1.85em;
	}
}
.modal01 {
	width: 100%;
	height: 100vh;
	background-color: #ffffff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	overflow-y: scroll;
	opacity: 0;
    pointer-events: none;
}
.modal_cont {
	width: 100%;
	height: auto;
	padding: 3.9em 0 7.3em;
}
@media only screen and (max-width: 767px){
	.modal_cont {
		padding: 2.9em 0 5.8em;
	}
}
.modal01 .modal01_01 {
	width: auto;
	height: auto;
	margin: 0 auto 7.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.modal01 .modal01_01 h2 {
	width: 14.64%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 1em;
	line-height: 1em;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_01 h2 {
		width: 43.75%;
	}
}
.modal01 .modal01_01 h2 img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_01 h2 img {
		margin: 0 auto 0.7em;
	}
}
.modal01 .modal01_01 h2 span {
	margin: 0 auto;
	font-size: 1.4em;
	line-height: 1.286em;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_01 h2 span {
		font-size: 1.1em;
		line-height: 1.272em;
	}
}
.modal01 .modal01_02 {
	width: 56.37%;
	height: auto;
	margin: 0 auto 4em;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_02 {
		width: 72%;
		margin: 0 auto 7.2em;
		flex-wrap: wrap;
	}
}
.modal01 .modal01_02 .item01 {
	width: 44.81%;
	height: auto;
	margin-top: 6.8em;
}
.modal01 .modal01_02 .item01:nth-of-type(-n+2) {
	margin-top: 0;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_02 .item01 {
		width: 100%;
		margin-top: 7.4em;
	}
	.modal01 .modal01_02 .item01:nth-of-type(-n+2) {
		margin-top: 7.4em;
	}
	.modal01 .modal01_02 .item01:nth-of-type(1) {
		margin-top: 0;
	}
	
}
.modal01 .modal01_02 .item01 .item01_01 {
	width: 100%;
	height: auto;
	margin: 0 auto 0.6em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.modal01 .modal01_02 .item01 .item01_01 .text01 {
	font-size: 1.2em;
	line-height: 1.5em;
}
.modal01 .modal01_02 .item01 .item01_01 .text02 {
	font-size: 1em;
	line-height: 1em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.modal01 .modal01_02 .item01 .item01_01 .text02 .text02_01 {
	font-size: 1.4em;
	line-height: 1.357em;
}
.modal01 .modal01_02 .item01 .item01_01 .text02 .item_line {
	display: block;
	width: 3.21em;
	height: 0.1em;
	margin: 0 0.6em;
	background-color: #101010;
}
.modal01 .modal01_02 .item01 .item01_02 {
	width: 100%;
	height: auto;
	margin: 0 auto;

}
.modal01 .modal01_02 .item01 .item01_02 img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 0.8em;
}
.modal01 .modal01_02 .item01 .item01_02 ul {
	width: auto;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 0.8em;
}
.modal01 .modal01_02 .item01 .item01_02 ul:nth-of-type(1) {
	margin-top: 0;
}
.modal01 .modal01_02 .item01 .item01_02 ul li {
	width: auto;
	height: auto;
	margin-left: 18px;
	font-size: 1em;
	line-height: 1em;
}
.modal01 .modal01_02 .item01 .item01_02 ul.ul_item li {
	min-width: 32.463%;
}
.modal01 .modal01_02 .item01 .item01_02 ul li:nth-of-type(1) {
	margin-left: 0;
}
@media only screen and (max-width: 767px){
	.modal01 .modal01_02 .item01 .item01_02 ul.ul_item li {
		min-width: 41%;
	}
}
.modal01 .modal01_02 .item01 .item01_02 ul li a {
	font-size: 1.2em;
	line-height: 1.333em;
}
.modal01 .close {
	width: 3.95%;
	height: auto;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0 auto;
	font-size: 1em;
	line-height: 1em;
}
@media only screen and (max-width: 767px){
	.modal01 .close {
		width: 15.13%;
	}
}
.modal01 .close span {
	font-size: 1.6em;
	line-height: 1.3125em;
}
.modal01 .close img {
	display: block;
	width: 13%;
	height: auto;
	margin-left: 0.9em;
}
@media only screen and (max-width: 767px){
	.modal01 .close img {
		width: 15.87%;
		margin-left: 0.6em;
	}
}



@media only screen and (max-width: 767px){
    .slide_trigger {
        cursor: pointer;
    }
	.slide01 {
		display: none;
		overflow: hidden;
		position: fixed;
		z-index: 1000000;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #ffffff;
        overflow-y: scroll;
	}
	.slide01 .slide01_01 {
		padding: 40% 0 0 0;
		display: flex;
		transition: transform 0.3s ease-in-out;
	}
	.slide01 .button01 {
		display: block;
		width: 4.27%;
		height: auto;
		position: absolute;
		top: 2.0em;
		right: 2.0em;
		z-index: 1;
		cursor: pointer;
	}
	.slide01 .slide01_01 .slide01_01_01 {
		min-width: 100%;
		height: auto;
		opacity: 0;
		transition: opacity 0.5s;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		overflow-y: scroll;
        position: relative;
	}
    .slide01 .slide01_01 .slide01_01_01 .text01 {
        font-size: 6em;
        line-height: 1.1em;
        position: absolute;
        top: 0.23em;
        left: 0.5em;
        z-index: 1;
    }
	.slide01 .slide01_01 .slide01_01_01.active {
		opacity: 1;
	}
	.slide01 .slide01_01 .slide01_01_01 img {
		display: block;
		width: 74%;
		height: auto;
		margin: 0 auto 2.0em;
	}
	.slide01 .slide01_01 .slide01_01_01 ul {
		width: 72%;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 0.8em;
	}
	.slide01 .slide01_01 .slide01_01_01 ul li {
		width: auto;
		height: auto;
		margin-left: 18px;
	}
	.slide01 .slide01_01 .slide01_01_01 ul li:nth-of-type(1) {
		margin-left: 0;
	}
	.slide01 .slide01_01 .slide01_01_01 ul.ul_item li {
		min-width: 41%;
	}
    .slide01 .slide01_01 .slide01_01_01 ul li a {
		font-size: 1.2em;
		line-height: 1.333em;
        display: flex;
        justify-content: space-between;
        align-items: center;
	}
	.slide01 .button02 {
		width: 3.2%;
		height: auto;
		cursor: pointer;
		transition: opacity 0.3s;
		position: absolute;
		left: 2em;
		bottom: 3em;
	}
	.slide01 .button03 {
		width: 3.2%;
		height: auto;
		cursor: pointer;
		transition: opacity 0.3s;
		position: absolute;
		right: 1.4em;
		bottom: 3em;
	}
	.slide01 .slide01_01 .slide01_01_01.active {
		opacity: 1;
	}
	.button02.disabled, .button03.disabled {
		opacity: 0.2;
		pointer-events: none;
	}
}