@media (max-width: 768px){
/* ------------------------------------------------ */
.pc { display:none; }

body { font-size:16px;}
input, select, textarea {
	-webkit-appearance:none;
}
section { width:100%; }


.pagetop { right:10px; bottom:10px;  }
.pagetop a {
	width:45px; height:45px;
	background-size:auto 100%;
}

/* SH ////////////////////////// */
.block { padding:.5em 0; }
/* // ////////////////////////// */


#container { min-width:inherit; }


.visual {
	padding:55px 0 0;
	height:128vw;
	max-height:960px;
}
.visual::before {
	margin-left:-133.3333333333vw;
	width:266.6666666667vw; height:128vw;
	max-width:2000px; max-height:960px;
	background-size:auto 360px;
	top:55px; left:50%;
	animation:bg 35s infinite linear;
}
.visual::after {
	width:100%; height:128vw;
	max-height:960px;
	background-size:auto 100%;
	top:55px; left:0;
}
.visual p {
	width:100%; height:116vw;
	max-height:870px;
	background-size:auto 90%;
	position:absolute; top:55px; left:0;
	animation:catch 400ms ease-out 200ms 1 both;
}


.contentsInner {
	margin:0 4vw; padding:0 0 30px;
	width:auto;
}
.headerSub {
	margin:0 4vw; padding:0 0 30px;
	animation:fadeIn 800ms ease-out 400ms 1 both;
}

.headerSubText {
	margin:2.6666666667vw auto 5.3333333333vw;
	width:100%;
}
.headerSubText p { font-size:18px; }

/* newsinfo SH */
.newsinfo .contentsInner > p { font-size:100%; }
main .newsinfo .image > dt::before { top:11px; }

/* SH */
.endMessage { text-align:left; }

#archive h2 { font-size:16px; }
.headerSubMovie            { width:90%; display:block; }
.headerSubMovie figure     { width:auto; }
.headerSubMovie iframe     { height:48vw; }
.headerSubMovie figcaption { font-size:16px; }
/**/


.contents .enterprise {
	padding:0 0 25px;
	border-top:1.3333333333vw solid #dbe0ed;
}
.contents .enterprise h3 {
	margin:25px 4vw 20px;
}
.contents .enterpriseList {
	padding:5px 0;
	width:92vw; max-width:690px;
}
.contents .enterpriseList li {
	margin:5px 0;
	width:30.6666666667vw;
	height:11.2vw;
	max-width:230px; max-height:84px;
}
.contents .enterpriseList img {
	width:auto; height:100%;
}
.contents .enterprise dl {
	margin:10px 0 0;
	text-align:center;
}
.contents .enterprise dl dt {
	margin:0 0 5px;
}
.contents .enterprise dl img {
	height:10.6666666667vw;
	max-height:80px;
}
.contents .information {
	margin:20px auto; padding:10px;
	width:100%;
}


/* SH ============ */
.btn a { width:100%; font-size:14px; }
.btn a span small { display:block; }

/* SH / reportBox */
.reportBox.btn a { font-size:50%; }

.contents #gamejam { width:100%; }
.contents #puyopuyo { width:100%; }
.contents #talksession { width:100%; }


.blockHead {
	height:60vw;
	background-size:auto 100%; border-radius:0;
}
#gamejam     .blockHead { height:60vw; }
#puyopuyo    .blockHead { height:60vw; }
#talksession .blockHead { height:45vw; }
#cg          .blockHead { height:45vw; }

/* ============ */


/* SH */
.access        { display:block; }
.access dl     { width:auto; }
.access .gmap  { width:auto; height:50vh; }
.access iframe { width:100%; height:100%; border-radius:10px; }
.access strong { font-size:24px; }
.access dl ul  { font-size:80%; }
.sp { display:inline; }
/* 20240704  */
.access.accessMap dl { display:block; }
.access.accessMap dd { width:auto; }
/**/


/* accordion */
.accordion_btn,.accordion_btn02 {
	padding:0 0 10px;
}
.accordion_btn a,.accordion_btn02 a {
	padding:0 13px 0 49px;
	width:50.9333333333vw;
	height:60px;
	max-width:382px;
	font-size:20px;
}
.accordion_btn a::before, .accordion_btn02 a::before {
	border:2px solid #131841;
	border-radius:25px;
	top:5px; bottom:5px;
	left:5px; right:5px;
}
.accordion_btn a::after, .accordion_btn02 a::after {
	background-image:url(../img/mobile/btn_open.png);
	background-size:auto 100%;
	border-radius:30px;
}
.accordion_btn a:hover::before, .accordion_btn02 a:hover::before {
	border:2px solid #131841;
}
.accordion_btn.close a::after, .accordion_btn02.close a::after {
	background-image:url(../img/mobile/btn_close.png);
}
.accordion_btn { margin-top:-20px; }
.block.fadeIn {
	animation:image 400ms ease-out 200ms 1 both;
}


@keyframes menuOverlay {
	0% {
		opacity:1;
	}
	to {
		opacity:0.6;
	}
}
@keyframes catch {
	0% {
		transform:translate(0,50px);
		opacity:0;
	}
	to {
		transform:translate(0,0);
		opacity:1;
	}
}
@keyframes fadeIn {
	0% {
		opacity:0;
	}
	to {
		opacity:1;
	}
}
@keyframes image {
	0% {
		transform:translate(0,100px);
		opacity:0;
	}
	50% {
		opacity:1;
	}
	to {
		transform:translate(0,0);
		opacity:1;
	}
}
@keyframes bg {
	0% {
		background-position:0 0;
	}
	to {
		background-position:-480px -360px;
	}
}
@media screen and (min-width:750px) {
	.visual::before {
		margin-left:-1000px;
	}
	.contentsInner {
		margin:0 30px;
	}
	.headerSub {
		margin:0 30px;
	}
	.headerSubText {
		margin:20px auto 40px;
	}
	.contents .enterprise {
		border-top:10px solid #dbe0ed;
	}
	.contents .enterprise h3 {
		margin:45px 30px 20px;
	}
	.contents #access .gmap iframe {
		border-radius:20px;
	}
}


#header {
	height:55px;
	min-width:inherit;
}
#header h1 {
	width:100%;
	max-width:inherit;
}
#header h1 a {
	margin:0 auto;
	width:100px; height:55px;
	background-size:100px 37px;
	position:static;
}
#navTopWrap {
	width:80%; height:100%;
	min-width:180px;
	position:fixed;
	top:55px; right:-120%;
	z-index:850;
	opacity:0;
	transition:all 0.6s;
}
#navTopWrap.open {
	right:0; opacity:1;
}
.navTop {
	padding:0 0 10px;
	width:100%; height:calc(100% - 65px);
	min-width:180px;
	background-color:#454b5e;
	-webkit-overflow-scrolling:touch;
	overflow:auto;
}
.navTop ul {
	margin:0 10px;
	height:auto;
	text-align:left;
}
.navTop ul li {
	display:block;
	border-left:none;
	border-bottom:1px solid #545b74;
}
.navTop ul li a {
	padding:1em 5px;
	width:100%; height:100%;
	text-align:left;
	font-size:18px;
	line-height:normal;
	display:block;
}
.navTop ul li:last-child {
	border-right:none;
}
.navTop ul li:nth-child(3) a {
	font-size:14px;
}
.navTop ul li a:hover {
	color:#ffff0c;
}
.navTop ul br { display:inherit; }
.navBtnTop {
	width:45px; height:45px;
	position:absolute;
	top:5px; right:10px;
	border:none;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#454b5e;
	border-radius:50%;
}
.navBtnTop span {
	width:42%; height:2px;
	background-color:#ffff0c;
	position:relative;
	transition:0.2s;
}
.navBtnTop span::after, .navBtnTop span::before {
	content:"";
	position:absolute;
	width:100%; height:100%;
	background-color:#ffff0c;
	transition:0.2s;
}
.navBtnTop span::before {
	transform:translateY(-7px);
}
.navBtnTop span::after {
	transform:translateY(7px);
}
.navBtnTop.open {
	transform:rotate(180deg);
}
.navBtnTop.open span {
	width:50%;
	background-color:transparent;
}
.navBtnTop.open span::after, .navBtnTop.open span::before {
	content:"";
	background-color:#ffff0c;
	transition:0.2s;
}
.navBtnTop.open span::before {
	transform:rotate(135deg);
}
.navBtnTop.open span::after {
	transform:rotate(-135deg);
}
.navOverlay {
	width:100%; height:100vh;
	background-color:#000;
	position:fixed;
	top:55px; right:0;
	z-index:300;
	opacity:0;
	display:none;
	transition:all 0.6s;
}
.navOverlay.open {
	opacity:0.6;
	display:block;
}
.logoSet { padding:20px 0; }
.logoSet li { margin:0 10px; }
.logoSet img {
	height:15.2vw;
	max-height:114px;
}
.attention,.copyright {
	margin:0 4vw; padding:20px 0;
	width:auto;
	line-height:1.5;
	font-size:10px;
}

footer small {
	padding:0 0 20px;
	font-size:10px;
}
@media screen and (min-width:750px) {
	.attention,.copyright {
		margin:0 30px;
	}
}
.main > h1 {
	padding:30px 0;
	font-size:34px;
	line-height:34px;
}
.contents {}
.contents h2 {
	margin:0 auto 20px; padding:0;
	width:100%; height:60px;
	font-size:22px;
	background-size:auto 100%;
}
.contents h3 {
	margin:25px auto 20px;
	width:auto;
	font-size:22px;
}
.contents h4 { font-size:16px; }
.contents ol, .contents p, .contents ul {
	margin-bottom:20px;
}
.contents hr { margin:40px 0 50px; }
.contents p.attentionMarkBlack {
	padding-left:1em; text-indent:-1em;
}
.contents span.attentionMark {
	padding-left:1em;
	text-indent:-1em;
	color:#ed1e79;
	display:block;
}
.contents .image > dt { font-size:18px; }
.contents .image > dt::before {
	top:6px; left:0px;
}
.contents .image > dd {
	margin-bottom:20px;
}
.contents .disc > li::before {
	top:11px; left:5px;
}

/* ------------------------------------------------ */
}