/* =========================================================
SP
========================================================= */
#juju .pc_display {
	display: block !important;
}
#juju .sp_display {
	display: none !important;
}

#juju {
	position: relative;
	overflow: hidden;
}
#juju {
	font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}
#juju .pc_display {
	display: none !important;
}
#juju .sp_display {
	display: block !important;
}

#juju .top_wrap {
	width: auto;
	position: relative;
	margin: 0 auto;
}

#juju .main {
	width: auto;
	margin: 0 auto;
}

#juju .rogo_img {
	position: absolute;
    width: 22%;
    left: 5%;
    top: 13%;
}

#juju .about_j {
	position: relative;
    width: 90%;
    margin: 10% auto 6%;	
}
#juju .about_j_img {
}

#juju .about_jmain {
	position: relative;
	width: 90%;
	margin: 6% auto;
}

#juju .aka_ttl{
	font-size: min(4.2vw, 20px);
    margin: auto;
    padding: 0.5em;
    border-left: solid 2vw #d4251f;
    font-weight: 700;
}
#juju .j_txt{
	font-size: min(3.4vw, 15px);
	line-height: 2;
	margin: 5% 0 0;
}

#juju .record_t {
	position: relative;
    width: 90%;
    margin: 10% auto 6%;	
}

#juju .record {
	position: relative;
    width: 90%;
    margin: 4% auto;	
}
#juju .record_img {
}
#juju .record_img2 {
}
#juju .aka_txt {
    color: #d4251f;
	font-weight: bold;
}

#juju .link_btn{
	display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 4% 0;
    margin: 5% auto 0;
    border: 2px solid #d4251f;
    border-radius: 2px;
    background-color: #d4251f;
    color: #ffffff;
    font-weight: 700;
    font-size: 4.6vw;
    text-decoration: none;
    letter-spacing: 1px;
}

#juju .link_btn::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 0.35rem);
	right: 0.8rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3rem 0 0.3rem 0.5rem;
	border-color: transparent transparent transparent currentColor;
}

#juju .about_w {
	position: relative;
    width: 90%;
    margin: 10% auto 6%;	
    padding: 2% 0;	
}

#juju .ao_ttl{
	font-size: min(4.2vw, 20px);
    margin: 10% auto 0;
    padding: 0.5em;
    border-left: solid 2vw #00a0e9;
    font-weight: 700;
}
#juju .container {
	margin: 0 auto;
}
#juju .key_visual_inner {
	box-sizing: border-box;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	-ms-flex-pack: distribute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	flex-flow: column;
	justify-content: space-around;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
#juju .logo {
	position: static;
	top: 20%;
	right: 0;
	left: 0;
	width: 39vh;
	max-width: 90%;
	margin: 0 auto;
	padding: 0;
	z-index: 10;
}
#juju .logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}
#juju .catch01 {
	position: static;
	top: 30%;
	right: 0;
	left: 0;
	width: 39vh;
	max-width: 90%;
	margin: 5% auto 0;
	padding: 0;
	z-index: 10;
}
#juju .catch01 img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}
#juju .catch02 {
	position: static;
	top: 40%;
	right: 0;
	left: 0;
	width: 39vh;
	max-width: 90%;
	margin: 12% auto;
	padding: 0;
	z-index: 10;
}
#juju .catch02 img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}
#juju .kv_line01 {
	position: absolute;
	right: -25%;
	bottom: 0;
	width: 130%;
	opacity: 0;
}
#juju .kv_line02 {
	position: absolute;
	right: -30.8%;
	bottom: 0;
	width: 130%;
	opacity: 0;
}
#juju .kv_line03 {
	position: absolute;
	right: 6%;
	bottom: 5%;
	width: 116%;
	opacity: 0;
}
#juju .kv_line04 {
	position: absolute;
	right: 37.1%;
	bottom: -4%;
	width: 120%;
	opacity: 0;
}
#juju .kv_line05 {
	position: absolute;
	right: 58.6%;
	bottom: 2%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line06 {
	position: absolute;
	right: 62%;
	bottom: 8%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line07 {
	position: absolute;
	right: 68.5%;
	bottom: 14%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line08 {
	position: absolute;
	right: 74.1%;
	bottom: 18%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line09 {
	position: absolute;
	right: 76.4%;
	bottom: 26%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line10 {
	position: absolute;
	right: 87.8%;
	bottom: 33%;
	width: 100%;
	opacity: 0;
}
#juju .kv_line11 {
	position: absolute;
	right: 106.3%;
	bottom: 29.1%;
	width: 100%;
	opacity: 0;
}

/* concept
--------------------------------------- */
#juju .concept {
	position: relative;
}
#juju .concept_inner {
	background: #00a0e9;
	position: relative;
	width: auto;
	max-width: 768px;
	height: auto;
	margin: 0 auto;
	padding: 16% 0 10%;
	z-index: 100;
}
#juju .concept_text_area{
	position: relative;
	z-index: 200;
}
#juju .concept_logo {
	z-index: 5;
	position: relative;
	left: 10%;
	width: 30%;
	margin: 0 0 13%;
	opacity: 0;
}
#juju .concept_catch {
	z-index: 5;
	position: relative;
	left: 10%;
	width: 70%;
	margin: 0 0 11%;
	margin: 0 0 min(11%,60px);
	opacity: 0;
	max-width: 400px;
}
#juju .concept_text_wrap {
	position: relative;
	left: 0;
	width: 80%;
	margin: 0;
	font-size: 3.8vw;
	font-size: min(3.8vw,17px);
}
#juju .concept_text {
	z-index: 5;
	position: relative;
	left: 10%;
	margin: 0 0 11%;
	color: #fff;
	line-height: 2;
	letter-spacing: 0.05em;
	opacity: 0;
}
#juju .concept_text:nth-child(2) {
	z-index: 5;
	position: relative;
	left: 10%;
	color: #fff;
	line-height: 2;
	opacity: 0;
}
#juju .cc_line01 {
	position: absolute;
	top: 0;
	margin-top: 8.9%;
	left: -113.8%;
	width: 150%;
	opacity: 0;
}
#juju .cc_line02 {
	position: absolute;
	top: 0;
	margin-top: 48.9%;
	left: -104.8%;
	width: 130%;
	opacity: 0;
}
#juju .cc_line03 {
	position: absolute;
	right: -58%;
	bottom: -10%;
	width: 100%;
	opacity: 0;
}
#juju .cc_line04 {
	position: absolute;
	right: -111%;
	bottom: 0;
	margin-bottom: -15.5%;
	width: 130%;
	opacity: 0;
}

#juju .cc_line05 {
	position: absolute;
	right: -20.6%;
	margin-bottom: 10%;
	bottom: 0;
	width: 135%;
	opacity: 0;
}
#juju .cc_line06 {
	position: absolute;
	right: 39%;
	bottom: -26.9%;
	width: 61%;
	opacity: 0;
}

#juju .mv_line01 {
	position: absolute;
	bottom: -22.1%;
	left: -55%;
	width: 130%;
	opacity: 0;
}
#juju .mv_line02 {
	position: absolute;
	right: 88%;
	bottom: -27%;
	width: 110%;
	opacity: 0;
}
#juju .mv_line03 {
	position: absolute;
	right: -56%;
	bottom: -26.5%;
	width: 80%;
	opacity: 0;
}
#juju .mv_line04 {
	position: absolute;
	right: -36%;
	bottom: -17.6%;
	width: 150%;
	opacity: 0;
}
#juju .mv_line05 {
	position: absolute;
	right: -10%;
	bottom: -8.3%;
	width: 190%;
	opacity: 0;
}


/* Mission
--------------------------------------- */
#juju .mission {
	position: relative;
}
#juju .mission_inner {
	z-index: 2;
	position: relative;
	width: 90%;
	max-width: 768px;
	margin: 0 auto;
	padding: 18% 0 0;
}
#juju .mission_logo {
	z-index: 5;
	position: relative;
	left: 0;
	width: 34%;
	margin: 0;
	opacity: 0;
}
#juju .mission_wrap {
	display: block;
	width: auto;
	margin: 16% auto 7%;
	margin: min(16%,70px) auto 7%;
}
#juju .mission_box {
	z-index: 2;
	position: relative;
	width: auto;
	margin: 0 auto;
}
#juju .mission_box:nth-child(2) {
	margin: 20% auto 0;
}
#juju .mission_catch {
	display: block;
	width: 68%;
	margin: 0;
	opacity: 0;
	max-width: 360px;
}
#juju .mission_catch img {
	display: block;
	width: auto;
	max-width: 100%;
}
#juju .mission_text {
	margin: 7% 0 0;
	color: #000;
	font-weight: 700;
	font-size: 3.8vw;
	font-size: min(3.8vw,18px);
	line-height: 1.95;
	letter-spacing: 0.1em;
	opacity: 0;
}

/* Promise
--------------------------------------- */
#juju .promise{
position: relative;
}
#juju .promise_inner {
	position: relative;
	width: 90%;
	margin: 18% auto 0;
	margin: min(18%,100px) auto 0;
}
#juju .promise_logo {
	z-index: 2;
	position: relative;
	width: 37%;
	margin: 0;
	opacity: 0;
}
#juju .promise_wrap {
	display: block;
	z-index: 2;
	position: relative;
	width: auto;
	margin: 16% auto 0;
	margin: min(16%,70px) auto 0;
	opacity: 0;
}
#juju .promise_box {
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
			justify-content: space-between;
	width: auto;
	margin: 0 auto 9%;
}
#juju .promise_box:nth-child(n) {
	/* margin: 10% auto; */
	position: relative;
	z-index: 10;
}
#juju .promise_box:nth-child(3n) {
	margin: 0 auto 9%;
}
#juju .promise_wrap_bottom {
	display: block;
	z-index: 2;
	position: relative;
	width: auto;
	margin: 0 auto 9%;
}
#juju .promise_wrap_bottom:nth-child(n) {
	margin: 10% auto;
}
#juju .promise_box_bottom {
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
			justify-content: space-between;
	margin: 10% 0 0;
}
#juju .promise_box_bottom:nth-child(1) {
	margin: 10% 0 0;
}
#juju .promise_img_wrap {
	width: 40%;
	margin: 0;
}
#juju .promise_img {
	width: 80%;
}
#juju .promise_img img {
	display: block;
	width: auto;
	max-width: 100%;
}
#juju .promise_catch {
	margin: 0 0 0;
	font-weight: 700;
	font-size: 4.4vw;
	font-size: min(4.4vw,20px);
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: left;
	opacity: 1;
}
#juju .promise_text_wrap {
	width: 90%;
	margin: 0;
}
#juju .promise_text {
	margin: 20px 0 0;
	font-weight: 500;
	font-size: 3vw;
	font-size: min(3vw,14px);
	line-height: 2;
	letter-spacing: 0.05em;
	opacity: 1;
}
#juju .promise_text sup {
	font-weight: 500;
	font-size: 0.8em;
	letter-spacing: 0.05em;
	vertical-align: super;
}
#juju .promise_note {
	margin: 10px 0 0;
	font-weight: 500;
	font-size: 11.6px;
    font-size: min(2.5vw,11.6px);
	letter-spacing: 0.05em;
}
#juju .pr_line01 {
	position: absolute;
	top: 0;
	margin-top: -87%;
	left: -77%;
	width: 180%;
	opacity: 0;
}
#juju .pr_line02 {
	position: absolute;
	right: 74%;
	top: 0;
	margin-top: 33%;
	width: 200%;
	opacity: 0;
}
#juju .pr_line03 {
	position: absolute;
	right: -40%;
	bottom: 1.5%;
	width: 200%;
	opacity: 0;
}
#juju .pr_line04 {
	position: absolute;
	right: -36%;
	bottom: -14%;
	width: 200%;
	opacity: 0;
}

/* LINE UP
--------------------------------------- */
#juju .lineup_logo{
	width: 31%;
	margin-bottom: 5%;
	opacity: 0;
	max-width: 180px;
}
#juju .lineup_inner{
	position: relative;
	width: 90%;
	margin: 16% auto 20%;
	padding: 0 0 10%;
}
#juju .lineup_box {
	display: flex;
	margin-top: 10px;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	opacity: 0;
}

#juju .lineup_item {
	width: 47.44%;
	margin-left: 5.1%;
}
/* #juju .lineup_item:first-of-type {
	margin-left: 0;
} */
#juju .lineup_item:nth-of-type(2n+1) {
	margin-left: 0;
}
#juju .lineup_item:nth-of-type(n+3) {
	margin-top: 5.1%;
}

#juju .lineup_link {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	padding-top: 100%;
}

#juju .lineup_link_img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: all .2s ease-out;
	transition: all .2s ease-out;
}
#juju .lineup_link_img img {
	height: 100%;
	width: auto;
	max-width: inherit;
}

#juju .lineup_link_body {
	position: absolute;
	bottom: 14px;
	left: 14px;
	right: 14px;
	z-index: 2;
}

#juju .lineup_link_ttl {
	font-size: 1.2rem;
	font-size: min(3.5vw,14px);
	font-weight: 500;
	color: #FFFFFF;
	font-family: 'Noto Sans SC', sans-serif;
	margin: 0;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.12em;
}

@media screen and (min-width: 768px) {
	#juju .lineup_link:hover {
	opacity: 1;
	}
	#juju .lineup_link:hover .lineup_link_img {
	-webkit-transform: scale(1.076, 1.076);
	transform: scale(1.076, 1.076);
	}
	#juju .lineup_link:hover .lineup_link_img img {
	opacity: 1 !important;
	}
}
/* collabo
--------------------------------------- */
#juju .collabo_inner {
	width: auto;
	padding: 0 5%;
}
#juju .collabo_logo{
	width: 66%;
	margin-bottom: 9%;
	opacity: 0;
}
#juju .collabo{
	margin-bottom: 10%;
	opacity: 0;
}

#juju .collabo_ttl_in {
	display: block;
	font-size: 1em;
	letter-spacing: 0.05em;
	font-weight: 500;
}

#juju .collabo_img {
	margin: 22px -30px;
	position: relative;
}

#juju .collabo_img:before {
	content: "";
	width: 1px;
	height: 32px;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	background-color: #2F373B;
}

#juju .collabo_ttl,
#juju .collabo_text{
	font-weight:500;
	font-size: 13px;
	font-size: min(3.3vw,13px);
	line-height: 1.8;
}
/* official
--------------------------------------- */
#juju .official_inner{
	position: relative;
	width: 90%;
	margin: 15% auto;
}
#juju .official_logo{
	width: 72%;
	margin-bottom: 8%;
}
#juju .official_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#juju .official_item{
	width: 47.44%;
}
#juju .official_item:nth-of-type(n+3){
	margin-top: 5.1%;
}
/* JS
--------------------------------- */
/* アコーディオン */
#juju .accordion_content{
	display: none;
	/* margin-bottom: 9%; */
}
#juju .accordion_btn {
	text-align: right;
	position: relative;
	line-height: 1;
	opacity: 0;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	z-index: 100;
	outline: none;
	font-size: 1.15em;
}
#juju .accordion_btn::before{
	content:"";
	display: block;
	height: 8em;
	width:100%;
	background: linear-gradient(0deg, #fff 44%, transparent 100%);
	position: absolute;
	top: -6.5em;
	z-index: 10;
}

#juju .accordion_btn.is_open::before{
	background: transparent;
}

#juju .accordion_btn_txt {
	-webkit-transition: opacity .2s ease-in;
	transition: opacity .2s ease-in;
	position: relative;
	display: inline-block;
	line-height: 1;
	font-size: 1.35em;
	font-size: min(4.5vw,21px);
	font-weight: bold;
	color: #00a0e9;
	padding-bottom: 1.6%;
	z-index: 15;
	font-weight: 400;
	font-style: italic;
}

#juju .accordion_btn_txt.is_close {
	position: absolute;
	top: 0;
	right: 0;
	opacity: 0;
}

#juju .accordion_btn.is_open .is_open {
	opacity: 0;
}

#juju .accordion_btn.is_open .is_close {
	opacity: 1;
	top: 0;
}
#juju .concept .accordion_btn::before{
	background: none;
}
#juju .concept .accordion_btn::before{
	display: none;
}
#juju .concept .accordion_btn_txt {
	color: #fff;
	right: 5%;
}
#juju .mission_area .accordion_btn.is_open .is_close {
	top: 2em;
}

/* 追従バナー */
#juju .coupon_zone{
    position: absolute;
    width: 90%;	
    margin: 0 auto;
    right: 0;
    left: 0;
    bottom: 2%;
}
#juju .coupon_btn a{
display: block;
    left: 50%;
    bottom: 10px;
    background: #00a0e9;
    color: #fff;
    margin: 0 auto;
    padding: 23px 20px;
    padding: min(4%, 15px) min(5%, 20px);
    z-index: 100;
    max-width: 430px;
    font-size: 16px;
    font-size: min(3.8vw, 16px);
    text-align: center;
    line-height: 1.7;
    text-decoration: none;
    box-sizing: border-box;
}


#pagetop{
	bottom: clamp(60px,25vw,94px);
}
@media screen and (min-width: 600px) {
	#pagetop{
		bottom: 25px;
	}
}

@media screen and (min-width: 767px) {
	#juju .concept_text{
		font-size: 17px;
	}
	#juju .mission_text{
		font-size: 17px;
	}
	#juju .promise_catch{
		font-size: 20px;
	}
	#juju .promise_text{
		font-size: 14px;
	}
}

@media screen and (min-width: 767px) {
	#juju .concept_text{
		font-size: 17px;
	}
	#juju .mission_text{
		font-size: 17px;
	}
	#juju .promise_catch{
		font-size: 20px;
	}
	#juju .promise_text{
		font-size: 14px;
	}
}

@media screen and (min-width: 767px) {
	#juju .about_j {
	}
	#juju .about_j_img {
	}

	#juju .about_jmain {
	}
	
	#juju .aka_ttl{
		border-left: solid 0.8vw #d4251f;
	}
	#juju .ao_ttl{
		border-left: solid 0.8vw #00a0e9;
	}
	
	#juju .j_txt{
		font-size: min(3.4375vw, 16px);
		line-height: 2;
		margin: 5% 0 0;
	}

	#juju .record {
		position: relative;
		width: 90%;
		margin: 4% auto;	
	}
	
	#juju .record_wrap {
	}
	
	#juju .record_img {
	}
	#juju .record_img2 {
	}
	#juju .aka_txt {
		color: #d4251f;
		font-weight: bold;
	}

	#juju .link_btn{
		font-size: 20px;
	}
	#juju .link_btn::after {
		top: calc(50% - 0.40rem);
    	border-width: 0.4rem 0 0.4rem 0.6rem;
	}
	
}


/* JV調整 */
#juju .dec_line img{
	max-width: none;
}