@charset "UTF-8";

#title { margin: 80px auto 75px; width: 960px; text-align: center; }
#title h1 img { width: 420px; }
#title div { display: flex; justify-content: space-between; }
#title a { margin-top: 75px; width: 438px; height: 56px; background: #aa00bd; color: #fff; font-size: 3.2rem; display: inline-block; }
.br-sp { display: none; }

@media screen and (max-width: 767px) {
#title { margin: 30px 0; width: auto; }
#title h1 { margin-bottom: 30px; font-size: 3.0rem; }
#title h1 img { width: 60%; max-width: 417px; }
#title div { padding: 0 10px; display: block; }
#title a { margin: 10px 0; padding: 8px; width: auto; height: auto; font-size: 1.8rem; display: block; }
h2 { margin-bottom: 60px; padding-top: 40px; font-size: 2.8rem; }
.br-sp { display: block; }
}

/* --------------------------------------------------
	section共通
-------------------------------------------------- */
section { margin: 0 auto 80px; width: 960px; }
section h3 { margin-bottom: 40px; width: 100%; height: 56px; background-image: url("../img/idea2024/h3.png"); color: #fff; font-size: 2.4rem; line-height: 56px; text-align: center; }

@media screen and (max-width: 767px) {
section { margin: 0 auto 40px; width: auto; }
}

/* --------------------------------------------------
	section01
-------------------------------------------------- */

#s01 { color: #aa00bd; font-weight: 500; text-align: center; }
#s01 h2 { font-size: 6.4rem; letter-spacing: 0.01em; line-height: 1.5; }
#s01 .ideas { margin: 40px 0 70px; list-style: none; display: flex; justify-content: space-between; }
#s01 .ideas li { width: 293px; height: 292px; color: #fff; font-weight: bold; text-align: center; line-height: 1.4; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
#s01 .ideas li * { width: 100%; }
#s01 .ideas .idea01 { background: url(../img/home/idea01.png) center no-repeat; background-size: contain; }
#s01 .ideas .idea01 p { margin: 0; font-size: 3.2rem; }
#s01 .ideas .idea01 strong { margin: 0.2em 0 0.4em; font-size: 4.6rem; line-height: 1; display: block; }
#s01 .ideas .idea01 span { font-size: 1.8rem; display: block; }
#s01 .ideas .idea02 { background: url(../img/home/idea02.png) center no-repeat; background-size: contain; }
#s01 .ideas .idea02 p { margin: 0; font-size: 2.6rem; }
#s01 .ideas .idea02 strong { margin: 0.2em 0; font-size: 6.4rem; line-height: 1; display: block; }
#s01 .ideas .idea03 { background: url(../img/home/idea03.png) center no-repeat; background-size: contain; }
#s01 .ideas .idea03 strong { font-size: 3.5rem; display: block; }
#s01 .ideas .idea03 p { margin: 0; font-size: 3.2rem; }
#s01 .text01 { margin-bottom: 40px; font-size: 2rem; line-height: 2.4; }
#s01 .text02 { margin-bottom: 50px; font-size: 2.8rem; letter-spacing: -0.05em; line-height: 1.8; }
#s01 .text03 { font-size: 3rem; line-height: 1.4; }
#s01 .logo { margin: 0 auto; width: 540px; display: block; }
.font18 { font-size: 1.8rem; }
.font20 { font-size: 2rem; }

@media screen and (max-width: 767px) {
#s01 h2 { font-size: 2.4rem; }
#s01 .ideas { margin: 0 0 30px; display: block; }
#s01 .ideas li { margin: 0 auto 10px; width: 240px; height: 240px; }
#s01 .ideas .idea01 p { font-size: 2.4rem; }
#s01 .ideas .idea01 strong { font-size: 3.6rem; }
#s01 .ideas .idea02 p { font-size: 2.2rem; }
#s01 .ideas .idea02 strong { font-size: 3.6rem; }
#s01 .ideas .idea03 strong {}
#s01 .ideas .idea03 p { font-size: 2.4rem; }
#s01 .text01 { margin-bottom: 30px; font-size: 1.6rem; line-height: 1.8; }
#s01 .text02 { margin-bottom: 30px; font-size: 2.4rem; }
#s01 .text03 { margin-bottom: 30px; font-size: 2.8rem; }
.font18 { line-height: 1.8; display: block; }
}

/* --------------------------------------------------
	section02
-------------------------------------------------- */
section#s02{
	text-align: center;
	color:  #aa00bd;
	font-weight: 500; 
}

#s02 h2 { margin-bottom: 60px; font-size: 3rem; }

section#s02 dt{
	display: inline-block;
	width: 437px;
	height: 46px;
	background-color: #aa00bd;
	font-size: 2.4rem;
	color: #fff;
	margin-bottom: 20px;
}
section#s02 dd{
	font-size: 2.0rem;
	margin-bottom: 35px;
	letter-spacing: -0.08em;
}

section#s02 ul{
	width: 820px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	list-style: none;
}
section#s02 li{
	display: block;
}
section#s02 li p{
	font-size: 2.4rem;
	color: #000;
	padding-top: 20px;
}

@media screen and (max-width: 767px) {
section#s02 dt { padding: 8px; width: auto; height: auto; font-size: 1.8rem; display: block; }
section#s02 dd { margin-bottom: 30px; font-size: 1.6rem; letter-spacing: 0; }
}

/* --------------------------------------------------
	section03
-------------------------------------------------- */
section#s03 form{
	width: 100%;
	border: solid 3px #aa00bd;
	border-radius: 50px;
	padding: 35px 50px;
	box-sizing: border-box;
	font-size: 1.4rem;
}
section#s03 form div{
	display: flex;
	padding-bottom: 20px;
	align-items: center;
}
section#s03 form dt{
	width: 35%;
	letter-spacing: -0.05em;
}
section#s03 form dd{
	width: 65%;
}
section#s03 form dd>input{
	width: 100%;
	height: 37px;
}
section#s03 form dd>textarea{
	width: 100%;
	min-height: 236px;
}

/*
section#s03 form span{
	display: inline-block;
	width: 51px;
	height: 25px;
	border-radius: 5px;
	background-color: #000;
	color: #fff;
	text-align: center;
	margin-left: 10px;
}
*/

section#s03 form p{
	font-size: 1.5rem;
	line-height: 2.0;
}
section#s03 form span.form_required{
	background-color: #ea0000;
}
section#s03 form div.form-btn{
	width: 266px;
	padding-bottom: 0;
	margin: 50px auto 0;
}
section#s03 form input.btn-clear{
	width: 80px;
	height: 30px;
	border: none;
	background-color: #c6c6c6;
	font-size: 1.4rem;
	margin-right: 8px;
}
section#s03 form input.btn_submit{
	padding: 0 20px;
  /*width: 178px;*/
	height: 30px;
	border: none;
	background-color: #aa00bd;
	font-size: 1.8rem;
	color: #fff;
}

section#s03 div.alert-message { margin-bottom: 20px; color: #f00; font-size: 1.6rem; font-weight: bold; text-align: center; }
section#s03 dt span { margin-left: 10px; border-radius: 5px; width: 51px; height: 25px; color: #fff; text-align: center; display: inline-block; }
section#s03 dt span.normal { background: #000; }
section#s03 dt span.required { background: #ea0000; }
section#s03 dd select { margin: 5px 0; }
section#s03 dd span.mail-before-attachment { margin-right: 0.5em; }
section#s03 dd span.mail-after-attachment { margin-left: 0.5em; }
section#s03 dd div.error-message { color: #f00; font-size: 1.5rem; font-weight: bold; }

#s03 .form-btn { width: 100% !important; justify-content: center; }

#s03-inner.off { height: 200px; position: relative; overflow: hidden; }
#s03-inner.off::after { content: ''; width: 100%; height: 100%; background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)); position: absolute; left: 0; top: 0; z-index: 2; }
#s03 .button a { margin: 30px auto 0; width: 126px; height: 30px; border: solid 1px #000; color: #111; text-align: center; line-height: 30px; display: block; transition: all .3s ease; }
#s03 .button a:hover { background: #111; color: #fff; text-decoration: none; }

@media screen and (max-width: 767px) {
section#s03 form { padding: 20px; border-radius: 20px; }
section#s03 form p { line-height: 1.8; }
section#s03 form div { display: block; }
section#s03 form dt { width: 100%; }
section#s03 form dd { width: 100%; }
section#s03 form div.form-btn { width: auto; }
section#s03 form input.btn-clear { margin: 10px 0; padding: 8px 0; width: 100%; height: auto; }
section#s03 form input.btn_submit { margin: 10px 0; padding: 8px 0; width: 100%; height: auto; }
}


/* --------------------------------------------------
	MVI
-------------------------------------------------- */

#s04 h3 { all: initial; margin-bottom: 50px; color: #aa00bd; font-size: 2.2rem; text-align: center; display: block; }
#s04 h3 p { margin-bottom: 30px; font-weight: bold; }
#s04 h3 img { width: 304px; }
#s04 ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
#s04 ul::after { content: ''; width: 294px; }
#s04 li { margin-bottom: 40px; width: 294px; text-align: center; }
#s04 li a { color: #aa00bd; }
#s04 li img { margin: 0 auto 15px; width: 216px; border-radius: 50%; border: solid 5px #aa00bd; display: block; }
#s04 .mvi-name { margin-bottom: 10px; color: #111; font-size: 1.6rem; }
#s04 .mvi-idea { font-size: 1.8rem; font-weight: bold; }

@media screen and (max-width: 767px) {
#s04 li { width: 100%; }
}

/* --------------------------------------------------
	その他のグッドアイデア
-------------------------------------------------- */

#s05 {}
#s05 h3 { margin-bottom: 0; }
#s05 h3 + p { margin: 20px 0 30px; font-size: 1.8rem; }
#s05 ul { border-top: solid 2px #9b26b6; }
#s05 li { padding: 15px 0; border-bottom: solid 2px #9b26b6; font-size: 1.8rem; display: flex; align-items: center;}
#s05 li::before { content: ''; margin-right: 12px; width: 20px; height: 20px; background: #9b26b6; border-radius: 50%; flex-shrink: 0; }
#s05 li a { color: #111; }
#s05 li a.category { margin: 0 10px 0 auto; flex-shrink: 0; }
#s05 li a.category img { height: 30px; }
#s05 li .new { margin-right: 10px; padding: 0 10px; background: #c30; color: #fff; font-size: 1.6rem; display: inline-block; }
#s05 li p { margin: 0 !important; }
#s05 .button a { margin: 30px auto 0; width: 126px; height: 30px; border: solid 1px #000; color: #111; text-align: center; line-height: 30px; display: block; transition: all .3s ease; }
#s05 .button a:hover { background: #111; color: #fff; text-decoration: none; }

@media screen and (max-width: 767px) {
#s05 li { font-size: 1.6rem; flex-wrap: wrap; }

#s05 li::before { order: 1; }
#s05 li .new { font-size: 1.4rem; order: 2; }
#s05 li a.category { margin: 0; order: 3; }
#s05 li a.category img { height: 25px; }
#s05 li p { width: 100%; order: 4; }

/*
#s05 li::before { display: none; }
#s05 li .new { font-size: 1.4rem; order: 1; }
#s05 li p { order: 3; }
#s05 li a.category { margin: 0 10px 0 0; }
*/
}

/* --------------------------------------------------
	これまでの審査会の様子
-------------------------------------------------- */

#s06 {}
#s06 ul { display: flex; justify-content: space-between; }
#s06 li { width: 294px; text-align: center; }
#s06 li h4 { color: #9b26b6; font-size: 2.8rem; }
#s06 li img { margin: 20px auto 30px; border: solid 5px #aa00bd; border-radius: 50%; display: block; }
#s06 li a { color: #aa00bd; }
#s06 li strong { margin-bottom: 20px; font-size: 2.2rem; font-weight: normal; display: block; }
#s06 li p { font-size: 1.8rem; }

@media screen and (max-width: 767px) {
#s06 ul { flex-direction: column; }
#s06 li { margin: 0 auto 30px; }
#s06 li h4 { font-size: 2.4rem; }
#s06 li img { margin: 10px auto 20px; }
#s06 li strong { margin-bottom: 10px; font-size: 1.8rem; }
#s06 li p { font-size: 1.6rem; }
}