@charset "utf-8";

/* ----------------------------------
              COMMON
---------------------------------- */
body { 
    background:#000; 
	margin:0;
}
header,section,article,aside,footer{ 	
    display: block;
}
main img { 
    margin:0;
    padding:0;
    border:none;
}
main ul,ol {	
    margin:0;
    padding:0;
    list-style:none;
    list-style-position:outside;
}
main h1, main h2, main h3, main h4{
    margin:0;
    padding:0;
	font-weight:400;
}
main p { 
    margin:0;
    padding:0;
}
main div {
    margin:0;
    padding:0;
}
@media screen and (max-width:768px){
	body { 
		font-size:16px; 
	}
}
/* ----------------------------------
           COMMON LINK
---------------------------------- */
main a:link { 
    color:#fff;
    text-decoration:none;
}
main a:visited { 
    color:#fff;
    text-decoration:none;
}
main a:hover { 
    color:#fff;	
    text-decoration:none; 
}
/*-------------------------------------
	画像
-------------------------------------*/
main img { 
    display:block;
    width:100%;
	height:auto;
    margin:0;
    padding:0;
    vertical-align: bottom; 
}
* 	{box-sizing:border-box;}
/*-------------------------------------
             PC TB SP
-------------------------------------*/
.pc { display:inline-block; }
.pctb {display:inline-block; }
.tb { display:none; }
.sp { display:none; }
@media screen and (max-width : 769px){
	.pc { display:none; }
	.tb { display:inline-block; }
	.sp { display:none; }
}
@media screen and (max-width : 480px) { 
	.pctb { display:none; }
	.tb { display:none; }
	.sp { display:inline-block; }
  }
/*-------------------------------------
				iPhone
-------------------------------------*/
main input[type="button"],
main input[type="submit"] {
    -webkit-appearance: none;
  }
/*-------------------------------------
				FLEX
-------------------------------------*/
main .flex-con{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:0 auto;
	gap:2%;
}
main .flex-20{
	width:19%;
}
main .flex-30 {
    width:29%;
}
main .flex-33 {
	width:32%;
}
main .flex-40 {
    width:39%;
}
main .flex-45 {
    width:44%;
}
main .flex-50 {
    width:49%;
}
main .flex-55 {
    width:54%;
}
main .flex-60 {
    width:59%;
}
main .flex-70 {
    width:69%;
}
main .flex-80{
	width:79%;
}
main .flex-100{
	width:100%;
}
@media screen and (max-width:480px) {
	main .flex-con{
		gap:0;
	}
    main .flex-30 {
        width:100%;
    }
    main .flex-40 {
        width:100%;
    }
    main .flex-45 {
        width:100%;
    }
    main .flex-50 {
        width:100%;
    }
    main .flex-55 {
        width:100%;
    }
    main .flex-60 {
        width:100%;
    }
    main .flex-70 {
        width:100%;
    }
}

main {
	width:100%;
	margin:0 auto;
    font-size:40px; 
    font-family: "メイリオ", "Meiryo", "Yu Gothic", sans-serif;
}
main section {
	width:100%;
    margin: 0 auto;
	position: relative;
}
main .section-inner {
	width:100%;
	max-width:1920px;
	margin:0 auto;
}
main .animation {
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  transform: translateY(300px);
}
main .animation.show{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
main .contents-inner {
	width:100%;
    max-width: 1780px;
	margin:0 auto;
}
main .text-inner {
	width:100%;
    max-width: 690px;
	margin:0 auto;
}
main h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-size:75px;
	font-weight:600;
    margin: 0px auto;
    text-align: center;
	color:#ffb400;
	line-height:1.5em;
}
main h3{
	font-family: "Noto Sans JP", sans-serif;
	font-size:50px;
	font-weight:600;
    margin: 0px auto;
	text-align:center;
	color:#fff;
	line-height:1.5em;
}
main h3 span{
	font-size:40px;
    padding: 0 5px 10px 0;
    vertical-align: middle;
    display: inline-block;
}
main h4{
	font-family: "Noto Sans JP", Meirio, serif;
	font-size:40px;
	font-weight:600;
    margin: 0px auto;
	text-align:center;
	color:#fff;
	line-height:1.5em;
}
main p {
	width:100%;
	margin:0 auto 80px;
	line-height:1.5em;
	text-align:center;
	font-size:40px;
	color:#fff;
}
main .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
    pointer-events: none;
}
main .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
main .youtube-box{
    width: 100%;
    max-width: 1350px;
    margin: 0 auto;
    padding: 80px 0 60px;
}
@media screen and (max-width:1920px){
	main {
		font-size:max(1.8vw, 16px);
	}
	main .contents-inner {
		width:98%;
	}
	main .text-inner {
		width:98%;
	}
	main h2 {
		font-size:max(3.91vw, 30px);
	}
	main h3 {
		font-size:max(2.61vw, 22px);
	}
	main h4 {
		font-size:max(2.08vw, 18px);
	}
	main p{
		font-size:max(2.08vw, 16px);
		margin-bottom:4.17vw
	}
}
@media screen and (max-width:480px){
	main h2{
	    padding: 20px 0 20px;
	}
	main .youtube-box {
		padding: 20px 0 20px;
	}
}

/*-------------------------------------
	   SECTION 01
-------------------------------------*/
.sec-01{
    width: 100%;
    margin-top: 0;
}
@media screen and (max-width:480px){
}
/*-------------------------------------
	   SECTION 02
-------------------------------------*/
.sec-02{
    width: 100%;
    padding: 0;
	border-top:1px #fff solid;
}
.sec02-txt-box{
	position:absolute;
	top:12%;
	left:0;
	right:0;
	margin:auto;
}
.sec-02 h4{
	font-size:65px;
	padding:0;
	font-weight:700;
	font-style:italic;
	letter-spacing:0.1em;
}
.sec-02 .sec02-txt-box h2{
	font-family: "Noto Sans JP", sans-serif;
	font-style:italic;
	font-weight:900;
	font-size:144px;
	padding:0;
	background: linear-gradient(180deg, #ffb500 0%, #ffb500 20%, #fff 65%, #ffb500 80%, #ffb500 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sec-02 .sec02-txt-box h2 span.s02-01 {
	font-size:102px;
}
.sec-02 .sec02-txt-box h2 span.s02-02 {
	font-size:120px;
}
.sec-02 .sec02-txt-box h2 span.s02-03 {
	font-size:180px;
}
.sec-02 h3{
	font-size:52px;
	padding:0;
	font-weight:700;
}
.sec-02 .section-inner{
	position:relative;
}
.sec02-box{
	width:100%;
	max-width:1920px;
	position:absolute;
	top:auto;
	bottom:15%;
	left:0;
	right:0;
	margin:auto;
}
.sec02-h3-box{
	margin-left:5%;
}
.sec02-h3-box p{
	text-align:left;
	margin-bottom:-10px;
}
.sec02-h3-box h3{
	text-align:left;
	font-size:85px;
	font-weight:700;
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (min-width:1921px){
	.sec-02 .sec02-img{
		height:auto;
		max-height:60vw;
		display:flex;
		align-items:center;
		overflow:hidden;
	}
	.sec-02 .sec02-img img{

	}
}

@media screen and (max-width:1920px){
	.sec-02 h4{
		font-size:max(3.39vw, 18px);
		letter-spacing:0.1em;
	}
	.sec-02 .sec02-txt-box h2{
		font-weight:900;
		font-size:max(7.5vw, 30px);
	}
	.sec-02 .sec02-txt-box h2 span.s02-01 {
		font-size:max(5.31vw, 22px);
	}
	.sec-02 .sec02-txt-box h2 span.s02-02 {
		font-size:max(6.25vw, 26px);
	}
	.sec-02 .sec02-txt-box h2 span.s02-03 {
		font-size:max(9.38vw, 36px);
	}
	.sec-02 h3{
		font-size:52px;
		font-size:max(2.71vw, 36px);
		font-weight:700;
	}
	.sec02-h3-box h3{
		font-size:max(4.43vw, 36px);
	}
}

@media screen and (max-width:1024px){
	.sec-02 h3{
		font-size: max(5.2vw, 36px);
	}
}
@media screen and (max-width:480px){
	.sec-02-01 {
		opacity:1;
		visibility: visible;
		transform: translateY(0px);
	}
	.sec-02 .sec-02-01 h2{
		padding: 20px 0 20px;
	}
	.sec-02 .sec-02-02 .flex-con {
		width: 100%;
		max-width: calc(100% - 5%);
		padding: 0;
	}
	.sec-02 .sec-02-02 .flex-50 {
		padding: 0 0 20px 0;
	}
}

/*-------------------------------------
	   SECTION 03
-------------------------------------*/
.sec-03 {
	padding:0 0 40px 0;
}
.sec-03-01{
	padding:100px 0 40px 0;
}
.sec-03 img.sec03-01{
	margin-top:-200px;
}
.sec-03 .flex-con{
	margin:40px 2% 40px 4%;
	width:94%;
	gap:6%
}
.sec-03 .flex-con .flex-40{
	width:40%;
}
.sec-03 .flex-con .flex-60{
	width:54%;
}
.sec-03 .flex-con h4{
	padding:0 0 0 30px;
}
.sec-03 .flex-con .flex-60 h4{
	color:#ffb400;
}
.sec-03 .flex-con .flex-60 p{
	font-size:28px;
	margin:30px 0;
}

@media screen and (max-width:1920px){
	.sec-03 img.sec03-01{
		margin-top:-13.02vw;
	}
	.sec-03 .flex-con .flex-60 p{
		font-size:max(1.49vw, 14px);
	}
}
@media screen and (max-width:480px){
	.sec-03-01{
		padding:30px 0;
	}
	.sec-03 .flex-con{
		margin:0px auto;
		width:90%;
		gap:0;
	}
	.sec-03 .flex-con .flex-40{
		width:100%;
		padding:20px 0;
	}
	.sec-03 .flex-con .flex-60{
		width:100%;
	}
}
/*-------------------------------------
	   SECTION 04
-------------------------------------*/
.sec-04{
	padding:240px 0 120px;
}
.sec-04 .flex-con{
	padding:90px 0;
}
.sec-04 .flex-con h3{
	text-align:left;
	color:#ffb400;
	font-size:60px;
	margin:0 0 40px;
	line-height:1em;
}
.sec-04 .flex-con p{
	text-align:left;
}

@media screen and (max-width:1920px){
	.sec-04{
		padding:12.5vw 0 6.25vw;
	}
	.sec-04 .flex-con{
		padding:4.69vw 0;
	}
	.sec-04 .flex-con h3{
		font-size:max(3.13vw, 22px);
		margin-bottom:2.08vw;
	}
	.sec-04 .flex-con h3 span{
		font-size:max(2.08vw, 18px);
	}
}

@media screen and (max-width:480px){

}

/*-------------------------------------
	   SECTION 05
-------------------------------------*/
.sec-05{
	padding:120px 0;
}
.sec-05 h3{
	margin:0 0 60px;
}
.sec-05 .flex-con{
	padding:40px 0 80px;
	gap:6%;
}
.sec-05 .flex-50 {
	width:50%;
}
.sec-05 .flex-left {
	width:43%;
}
.sec-05 .flex-02 {
	width:47%;
}

.sec-05 .flex-con .sec05-h4 {
	color:#ffb400;
}
.sec-05 .width-youtube {
	margin:40px 0 80px;
}
.sec-05 .flex-con .flex-50 h3{
	text-align:left;
	color:#ffb400;
	font-size:60px;
	margin:0 0 40px;
	line-height:1em;
}
.sec-05 .flex-con .flex-50 p{
	text-align:left;
}
@media screen and (max-width:1920px){
	.sec-05{
		padding:6.25vw 0;
	}
	.sec-05 h3{
		margin:0 0 3.13vw;
	}
	.sec-05 .flex-con {
		padding: 2.08vw 0 4.17vw;
		gap: 6%;
	}
	.sec-05 .flex-con .flex-50 h3{
		font-size:max(3.13vw, 22px);
	}
	.sec-05 .flex-con .flex-50 h3 span{
		font-size:max(3vw, 20px);
		padding-bottom:5px;
	}
}
@media screen and (max-width:480px){
	.sec-05 .flex-50 {
		width: 90%;
		margin:20px auto;
	}
	.sec-05 .flex-left {
		width: 90%;
		margin:20px auto;
	}
	.sec-05 .flex-02 {
		width: 90%;
		margin:20px auto;
	}
}
/*-------------------------------------
	   SECTION 06
-------------------------------------*/
.sec-06{
	padding:200px 0 120px;
}
.sec-06 h3{
	padding-bottom:60px;
}
@media screen and (max-width:1920px){
	.sec-06{
		padding:10.41vw 0 6.25vw;
	}
	.sec-06 h3{
		padding-bottom:3.13vw;
	}
}
@media screen and (max-width:480px){
	.sec-06 {
		padding: 20px 0 0;
	}
}
/*-------------------------------------
	   SECTION 07
-------------------------------------*/
.sec-07{
	padding:260px 0 120px;
}
.sec-07 h3{
	padding-bottom:40px;
}
.sec-07 .flex-50{
	padding:40px;
}
.sec-07 .flex-50 h3{
	color:#ffb400;
}
.sec-07 .flex-50{
	border:1px #fff solid;
}
@media screen and (max-width:1920px){
	.sec-07{
		padding:13.54vw 0 6.25vw;
	}
}
@media screen and (max-width: 480px) {
	.sec-07 .flex-50 {
		padding: 20px;
	}
}

/*-------------------------------------
	   SECTION 08
-------------------------------------*/
.sec-08{
	padding:300px 0 120px;
}
.sec-08 h3{
	padding-bottom:40px;
}
@media screen and (max-width: 1920px) {
	.sec-08{
		padding:15.63vw 0 6.25vw;
	}
}
@media screen and (max-width: 480px) {

}

/*-------------------------------------
	   SECTION 09
-------------------------------------*/
.sec-09{
	padding:360px 0 120px;
}
.sec-09 h3{
	padding-bottom:60px;
}
.sec-09 p{
	letter-spacing:-0.1em;
}
.sec-09 .flex-con{
	padding:0px 0 60px;
	align-items:center;
	margin-top:-40px;
}
.sec-09 .flex-30{
	width:34%;
	text-align:left;
}
.sec-09 .flex-70{
	width:60%;
}
.sec-09 .flex-con h3{
	padding-bottom:0px;
	text-align:left;
}
main .sec-09 h3 span {
    font-size: 35px;
}
.sec-09 h4 {
    padding-left: 40px;
	text-align:left;
}
@media screen and (max-width: 1920px) {
	.sec-09{
		padding:18.75vw 0 6.25vw;
	}
	.sec-09 h3{
		padding-bottom:3.13vw;
	}
	main .sec-09 h3 span {
		font-size: max(1.82vw, 20px);
	}
}
@media screen and (max-width:480px){
	.sec-09 .flex-con {
		padding: 0px 0 40px;
		margin-top: 0px;
	}
	.sec-09 .flex-30 {
		width: 100%;
	}
	.sec-09 .flex-70 {
		width: 100%;
	}
}
/*-------------------------------------
	   SECTION 10
-------------------------------------*/
.sec-10{
	padding:190px 0 120px;
}
.sec-10 h2 {
	text-align:left;
}
.sec-10 .flex-50{
	padding:70px 0;
}
.sec-10 p {
	text-align:left;
	margin-bottom:10px;
}
@media screen and (max-width: 1920px) {
	.sec-10{
		padding:9.9vw 0 6.25vw;
	}
	.sec-10 .flex-50 {
		padding: 3.65vw 0;
	}
}
/*-------------------------------------
	   SECTION 11
-------------------------------------*/
.sec-11{
	padding:220px 0 30px;
	background: linear-gradient( #000 0%, #000 90%, #fff 100%);
}
.sec-11 .flex-con{
	padding:120px 0;
}
.sec-11 h3{
	color:#ffb400;
	text-align:left;
	font-size:60px;
}
.sec-11 h3 span{
	font-size:55px;
}
.sec-11 p{
	text-align:left;
	margin-bottom:0;
}
@media screen and (max-width: 1920px) {
	.sec-11{
		padding:11.45vw 0 1.56vw;
	}
	.sec-11 h3{
		font-size:max(3.13vw, 22px);
	}
	.sec-11 h3 span{
		font-size: max(3vw, 20px);
        padding-bottom: 5px;
	}
	.sec-11 .flex-con {
		padding: 6.25vw 0;
	}
	.sec-11 .flex-con .flex-50{
		padding: 20px 0;
	}
}
@media screen and (max-width: 480px) {

}

/*-------------------------------------
	   SECTION 12
-------------------------------------*/
.sec-12{
	background:#fff;
	padding:30px 0 150px;
}
.sec-12 h2{
	color:#000;
	font-size:70px;
}
.sec-12 img{
	width:100%;
	max-width:1054px;
	margin:0 auto;
}
@media screen and (max-width:1920px){
	.sec-12{
		padding:1.56vw 0 7.81vw;
	}
	.sec-12 h2{
		font-size:max(3.65vw, 22px);
	}
}
@media screen and (max-width: 480px) {

}
/*-------------------------------------
	   SECTION 13
-------------------------------------*/
.sec-13{
	background:#fff;
	padding:150px 0;
}
.sec-13 h2{
	color:#000;
}
.sec-13 img{
	width:100%;
	max-width:1049px;
	margin:0 auto;
}
@media screen and (max-width: 1920px) {
	.sec-13{
		padding:7.81vw 0;
	}
}
@media screen and (max-width:480px){

}
/*-------------------------------------
	   SECTION 14
-------------------------------------*/
.sec-14{
	background:#fff;
	padding:150px 0 100px;
}
.sec-14 h2{
	color:#000;
}
.sec-14 img{
	width:100%;
	max-width:1009px;
	margin:0 auto;
}
@media screen and (max-width: 1920px) {
	.sec-14{
		padding:7.81vw 0 5.21vw;
	}
}
@media screen and (max-width:480px){

}
/*-------------------------------------
	   SECTION 15
-------------------------------------*/
.sec-15{
	background:#fff;
	padding:100px 0 100px;
}
.sec-15 h2{
	color:#000;
}
.sec-15 .flex-con{
	padding:20px 0;
	gap:4%;
}
.sec-15 .flex-50{
	width:48%;
}
@media screen and (max-width: 1920px) {
	.sec-15{
		padding:5.21vw 0;
	}
}
@media screen and (max-width:480px){
	.sec-15 .flex-50 {
		width: 96%;
		margin:20px auto;
	}
}
/*-------------------------------------
	   SECTION 16
-------------------------------------*/
.sec-16{
	background:#fff;
	padding:60px 0 100px;
}
.sec-16 h2{
	color:#000;
}
.sec-16 .flex-33{
	margin-bottom:2%;
}
@media screen and (max-width: 1920px) {
	.sec-16{
		padding:3.13vw 0 5.21vw;
	}
}
@media screen and (max-width:480px){
	.sec-16 .flex-33 {
		width: 96%;
		margin:20px auto;
	}
}

/*-------------------------------------
	   SECTION 17
-------------------------------------*/
.sec-17{
	background:#fff;
	padding:60px 0 100px;
}
.sec-17 h2,
.sec-17 p{
	color:#000;
}
.sec-17 .flex-50{
	margin-bottom:2%;
}
@media screen and (max-width: 1920px) {
	.sec-17{
		padding:3.13vw 0 5.21vw;
	}
}
@media screen and (max-width:480px){
	.sec-17 .flex-50 {
		width: 96%;
		margin:20px auto;
	}
}


