@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

body {
    margin: 0;
    padding: 0;
}

.f21_bg {
    background: #eaa413;
}

.f21_wrap {
    max-width: 600px;
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 0 auto;
    overflow: hidden;
    color: #000000;
    display: block;
    font-weight: 400;
    position: relative;
    letter-spacing: 1px;
    font-family: "Noto Sans JP", serif;
	background: #faeccf;
}

.f21_wrap a {
    text-decoration: none;
}

.f21_wrap a:hover {
    text-decoration: none;
}

.f21_wrap img {
    width: 100%;
    vertical-align: bottom;
    line-height: 0;
}

.f21_head {
    width: 100%;
    display: block;
    position: relative;
    margin: 0 auto;
}

.f21_head .head {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

/************************************************************
               ループテキスト
************************************************************/
.sub_box {
    align-items: flex-start;
    color: #000000;
    display: flex;
    overflow:hidden;
    width: 100%;
    white-space:nowrap;
    z-index: 1;
    position: relative;
    top: 0;
	border-top: 2px solid #000000;
	border-bottom: 2px solid #000000;
	margin: 5% 0;
	font-family: "Oswald", sans-serif;
}
.sub_box ul {
    animation: flowing 100s linear infinite;
    font-size: 16px;
    font-weight: 400;
    transform:translateX(100%);
    margin: 0;
    padding: 0;
}
.sub_box ul li{
    display: inline-block;
    padding-right: 25px;
}

@keyframes flowing {
  0% { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}

.f21_head .title {
    position: absolute;
    width: 62%;
    top: 73%;
    right: 1%;
    margin: 0 auto;
}


.f21_head .lead {
    font-size: 14px;
	line-height: 1.8em;
	margin: 5% 0 10%;
	padding: 10% 0;
	position: relative;
}

/************************************************************
               動くアイコン
************************************************************/
.logo01,.icon01,.icon02,.icon03,.icon04,.icon05,.icon06,.icon07,.icon08,.icon09{
    position: absolute;
	transform-origin: center bottom;
    animation: shake 2s linear infinite;
}
.icon01{
    top: -3%;
    left: 43px;
    width: 65px;
}
.icon02{
    bottom: 0;
    right: 35px;
    width: 90px;
}

.img04{
	position: relative;
}

.icon03{
	position: absolute;
	z-index: 20;
	width: 90px;
	top: -25px;
    left: -20px;
}

.icon04{
	position: absolute;
	z-index: 20;
	width: 90px;
	right: -7%;
	bottom: -15px;
}

.icon03 img,.icon04 img{
	border: none!important;
	z-index: 20;
}

.icon05,.icon06,.icon07,.icon08,.icon09{
	position: absolute;
	z-index: 20;
}

.icon05 img,.icon06 img,.icon07 img,.icon08 img,.icon09 img{
	border: none!important;
}

.icon05{
	width: 80px;
	right: -45%;
	top: -10%;
}
.icon06{
	width: 55px;
	right: -30%;
	top: 20%;
}
.icon07{
	width: 60px;
	right: -50%;
	top: 35%;
}
.icon08{
	width: 60px;
	right: -30%;
	top: 60%;
}
.icon09{
	width: 80px;
	right: -50%;
	top: 85%;
}

@keyframes shake {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}

/************************************************************
               main
************************************************************/
.f21_contents {
    width: 90%;
    text-align: center;
    margin: 0 auto;
    display: block;
    position: relative;
}

.f21_contents img{
	border: 2px solid #000000;
	box-sizing:border-box;
}

.item_box {
    width: 100%;
    display: inline-block;
    margin: 8% auto 0;
    position: relative;
    text-align: center;
}

.item {
    font-size: 14px;
    text-align: center;
    margin: 0 auto 1%;
    line-height: 1.8em;
}

/*head*/
.box1 {
    aspect-ratio: 10 / 7;
    margin: 0 0 5%;
}

/*LOOK*/
.look01,.look02,.look03,.look04{
	padding-top: 7%;
}

/*LOOK01*/
.box2 {
    /*height: 518px;
	position: relative;
	text-align: right;*/
}

.img02 {
	width: 80%;
	margin-right: 0;
    margin-left: auto;
    /*position: absolute;
    right: 0;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;*/
}

.img02:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

.img01_3{
	width: 60%;
	text-align: left;
	margin: 5% 0;
}

.look01 .credit_wrap {
    width: auto;
    margin-left: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.look01 .credit_wrap .credit {
    width: 45%;
    margin: 5px 0; 
}

/*LOOK02*/
.box3 {
    height: 580px;
}

.img03 {
    width: 90%;
    margin: 0 auto;
	right: 0;
	left: 0;
    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;
}

.img03:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

/*.img03:nth-of-type(3) {
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}*/

/*LOOK03*/
.box4 {
    /*height: 518px;*/
	width: 80%;
}

.img04 {
    width: 80%;
/*    margin: 0 auto;
    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;*/
}

/*.img04:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}*/

.box5 {
	width: 65%;
	margin: 5% 0;
    /*height: 337px;*/
}

.look03 .credit_wrap {
    width: auto;
    margin-left: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.look03 .credit_wrap .credit {
    width: 45%;
    margin: 5px 0; 
}

/*LOOK04*/
.box6 {
	width: 90%;
	margin: 5% auto;
    /*aspect-ratio: 7.5 / 9;*/
}

.img06 {
    width: 100%;
/*    margin: 0 auto;
    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: -1;*/
}

/*.img06:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}*/

.box7 {
	width: 70%;
	margin: 5% auto
    /*aspect-ratio: 7.5 / 9;
	position: relative;*/
}

.look04{
	padding: 10% 0 0;
	position: relative;
}

/*LOOK05*/
/*.box8 {
    height: 337px;
	text-align: right;
    position: relative;
}*/

.box8 img {
    width: 85%;
}

.img07 {
	width: 70%;
	margin-left: auto;
	margin-right: 0;
/*    position: absolute;
    right: 0;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;*/
}

/*.img07:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}*/

.img05_1{
	width: 90%;
	text-align: left;
	margin: 5% auto;
}

.img05 {
    width: 100%;
    margin: 0 auto;
    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;
}

.img05:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

/*LOOK06*/
.look06{
	position: relative;
}

.box9 {
    width: 80%;
    margin: 5% auto;
    aspect-ratio: 7.5 / 9;
}

.img08 {
    width: 100%;
    margin: 0 auto;
/*    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;*/
}

/*.img08:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}*/

.box10 {
	width: 65%;
	margin: 5% 0;
    height: 430px;
	position: relative;
}

.img09 {
    width: 100%;
    margin: 0 auto;
/*    height: auto;
    position: absolute;
    background: center center no-repeat;
    animation: anime 4s 0s infinite;
    z-index: 0;*/
}

/*.img09:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}*/


@keyframes anime {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    60% {
        opacity: 0;
        z-index: 10;
    }

    100% {
        opacity: 0;
    }
}

.credit_wrap{
    margin: 5% 0 15%;;
}

.credit_wrap .credit{
    width: 45%;
    display: flex;
    margin: 10px auto;
    align-items: center;
    justify-content: space-between;
	font-family: "Oswald", sans-serif;
}

.credit_wrap .credit .item{
    font-family: "Oswald", sans-serif;
    font-size: 13px;
    color: #333333;
    line-height: 1em;
    text-align: left;
    margin: 0;
}

.credit_wrap .credit a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 23px;
	color: #333333;
	border: 1px solid #000000;
}
.credit_wrap .credit a.yellow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 23px;
    background: #eaa413;
	color: #333333;
}

.credit_wrap .credit a .buy{
    font-size: 12px;
}

.no01,.no02,.no03,.no04,.no05,.no06{
	position: absolute;
	font-size: 80px;	
	z-index: 10;
	font-family: "railroad-gothic-atf", sans-serif;
	color: #fff;
	text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
}
.no01{
	top: -10%;
	left: 12%;
}
.no02{
	top: -10%;
	right: 2;
}
.no03{
	top: -9%;
	right: -11%;
}
.no04{
	top: -1%;
	left: -12%;
}
.no05{
    top: -1%;
    left: 3%;
}
.no06{
	top: -11%;
	right: -10%;
}

.co_orange{
	color: #eba615;
}

.co_blue{
	color: #1696ae;
}

.co_green{
	color: #6ab361;
}

.co_pink{
	color: #de6a69;
}

.lineup{
	font-size: 50px;
	font-family: "railroad-gothic-atf", sans-serif;
	color: #ffffff;
	text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
}

.g_box{
	display: flex;
	column-gap: 3%;
	width: 90%;
	margin: 0 auto;
}
.g_item{
	width: 50%;
	margin: 7% 0;
}

.g_box .credit{
    width: 100%;
    margin: 10px auto;
    align-items: center;
    justify-content: space-between;
	font-family: "Oswald", sans-serif;
	color: #000000;
}

.g_box .credit .buy{
    font-size: 12px;
    background: #eaa413;
	padding: 1px 40px;
	border: 1px solid #000000;
}

.intro_wrap{
	width: 80%;
	margin: 5% auto;
	border: 1px solid #000000;
	border-radius: 15px;
	padding: 5% 0;
}

.intro_wrap img{
    width: 65%;
    margin: 0 auto 5%;
}

.intro_txt{
	font-size: 13px;
	line-height: 1.8;
}

.all_item{
	margin: 10% 0;
	font-weight: bold;
	font-size: 28px;
	font-family: "Oswald", sans-serif;
}

.all_item a{
	color: #000000;
}

.com_txt{
	font-size: 40%;
	font-weight: 300;
	margin: 3% 0;
}

.f21_logo{
	width: 30%;
	margin: 0 auto;
}

.logo01{
	width: 80%;
	z-index: 1;
	position: absolute;
	top: 1%;
    left: 9%;
    transform: translateX(-50%);
}

/************************************************************
               fade
************************************************************/

.fade_right {
    padding: 10px;
    animation: fadeIn 2s ease 1s 1 normal backwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateX(40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade01 {
    opacity: 0;
    transition: 1.2s all 0.2s ease;
}

.fade02 {
    opacity: 0;
    transition: 1.3s all 0.6s ease;
}

.fade03 {
    opacity: 0;
    transition: 1.2s all 1s ease;
}

.fade04 {
    opacity: 0;
    transition: 1.2s all 1s ease;
}

.fade01.ac, .fade02.ac, .fade03.ac, .fade04.ac {
    opacity: 1;
    transform: translate(0);
}

.mv_up1 {
	opacity: 0;
    transition: 0.8s 0.1s;
	-moz-transform: scale(1) translate(0,40px);
    -webkit-transform: scale(1) translate(0,40px);
    -o-transform: scale(1) translate(0,40px);
    -ms-transform: scale(1) translate(0,40px);
	transform: scale(1) translate(0,40px);
    text-align: center;
}
.ac_up{
	opacity: 1.0;
	-moz-transform: scale(1) translate(0);
    -webkit-transform: scale(1) translate(0);
    -o-transform: scale(1) translate(0);
    -ms-transform: scale(1) translate(0);
	transform: scale(1) translate(0);
}

/************************************************************
               button
************************************************************/
.btn_01 {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 43%;
    margin: 2% auto 0;
    padding: 3% 0;
    color: #000000;
	border: 2px solid #000000;
	background: #eaa413;
    transition: 0.5s;
    font-size: 18px;
    font-weight: 500;
    line-height: 1em;
    float: none;
    font-family: "Oswald", sans-serif;
}

/************************************************************
               other
************************************************************/
.small {
    font-size: 80%;
}

.strong {
    font-weight: 500;
    font-size: 110%;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.Left {
    float: left;
}

.Right {
    float: right;
}

/************************************************************
               スマホ
************************************************************/
@media only screen and (max-width:768px) {
    .f21_wrap {
        width: 100%;
    }
	
    .f21_head .title {
        width: 80%;
        top: 65%;
    } 
	
	.f21_contents {
        width: 100%;
        margin: 5% auto;
    }
	
    .f21_head .lead {
        font-size: 14px;
        line-height: 1.8em;
        margin: 5% 0 10%;
    }
	
	.contents_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	.img02{
		width: 90%;
	}
	
    /*.box2 {
        height: 382px;
    }*/
	
	.img01_3 {
        width: 70%;
    }
	
    .box3 {
        height: 418px;
    }	
	
	.img03{
		width: 98%;
	}
	
    /*.box4 {
        height: 382px;
    }*/
	
	.img04{
		width: 90%;
	}
	.box4{
		width: 100%;
	}
	.box5{
		width: 80%;
		height: 305px;
	}
	
    .look03 .credit_wrap .credit {
        width: 60%;
    }
	
	.box6{
		width: 100%;
	}
	
	/*.box8{
		height: 272px;
	}*/
	
	.box8 img{
		width: 98%;
	}
	
	.img05_1{
		width: 100%;
	}
	
	.img07{
		width: 75%;
	}
	
	.box9{
		width: 100%;
	}
	
	.box10{
		width: 70%;
		height: 298px;
	}
	
	.look06 .credit_wrap .credit {
        width: 70%;
    }
	
    .look01 .credit_wrap .credit {
        width: 65%;
    }
	
    .credit_wrap .credit{
        width: 65%;
    }	
	
    .item {
        font-size: 12px;
        letter-spacing: 0px;
		margin-bottom: 2%;
    }
	
	.box1{
		margin: 0;
	}
	
    .g_wrap{
        width: 100%;
    }
	
	.g_box{
		width: 100%;
	}
	
	.intro_wrap{
		width: 100%;
		font-size: 12px;
	}
	
	.intro_wrap img{
		width: 70%;
	}
	
    .all_item{
        font-size: 20px;
    }

    .btn_01 {
        width: 70%;
        font-size: 16px;
        padding: 4% 0;
        float: none;
        text-align: center;
    }
	
    .com_txt{
        font-size: 55%;
    }
	
    .no01{
        top: -14%;
        left: 0;
    }
    .no02{
        left: 4%;
        right: auto;
		top: -5%;
    }
    .no03{
        top: -5%;
        right: 3%;
    }
    .no04{
        top: -3%;
        left: -19%;
    }
    .no05{
        top: -5%;
    }	
    .no06{
        top: -5%;
        right: 3%;
    }
	
    .icon01{
        top: -3%;
        left: 10px;
        width: 50px;
    }
    .icon02{
        bottom: -25px;
        right: 1px;
        width: 75px;
    }	
	
    .icon03 {
        width: 65px;
        left: 6px;
    }	
	
    .icon04 {
        width: 70px;
		right: 2%;
    }	
	
    .icon05 {
        width: 65px;
        right: -40%;
        top: -20%;
    }	
	
    .icon06 {
        width: 45px;
        right: -15%;
        top: 11%;
    }        
	
    .icon07 {
        width: 50px;
        right: -40%;
        top: 20%;
    }
	
    .icon08 {
        width: 50px;
        right: -17%;
        top: 50%;
    }
	
    .icon09 {
        width: 75px;
        right: -42%;
        top: 78%;
    }	
	
	.logo01{
		width: 95%;
		left: 3%;
	}

    .f21_logo{
        width: 50%;
    }	
	
    .pc {
        display: none;
    }

    .sp {
        display: block;
        width: 100%;
    }
}
