/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

body {
	line-height:1;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-weight: 400;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
}

/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

input, select {
	vertical-align:middle;
}

a > img:focus, a > img:hover{
	opacity: 1 !important;
}

/* common */

.en{
	font-family: "Montserrat", sans-serif;
}

.italic{
	font-style: italic;
}

.plantin{
	font-family: "Plantin", sans-serif;
}

.border{
	border-bottom: 1px solid #000;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	height: 0;
}

/* 
	contentsStyle
*/

/* news */

.news{
	margin-top: 10px;
	padding-left:50px;
	display: flex;
	align-items: center;
	width: 100%;
	background-color: #F1C598;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	overflow: hidden;
	position: relative;
}

.news:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 100%;
	background-color: #F1C598;
	z-index: 1;
}

.news_item{
	display: flex;
	align-items: center;
	padding: 15px 0 15px 150px;
	position: relative;
	white-space: nowrap;
	min-width: fit-content;
	width: fit-content;
}

.news_item_wrapper{
	display: flex;
	white-space: nowrap;
	animation: news-wrapper-scroll 15s linear infinite;
	padding-right: 60px; /* スクロール中に余白を作る */
	width: fit-content;
}

.news_item_tag{
	padding: 8px 17px;
	display: inline-block;
	background-color: #fff;
	position: relative;
	z-index: 2;
}

.news_item_tag::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 0 16px 8px;
	border-color: transparent transparent transparent #fff;
	transform: translateY(-50%);
	z-index: 2;
}

.news_item_tag p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.news_item_content{
	width: 100%;
	padding: 10px 0 10px 20px;
	overflow: hidden;
	white-space: nowrap;
}

.news_item_content p{
	font-size: 14px;
	padding-left: 10px;
	font-weight: 400;
	display: inline;
	color: #000;
}

.news_item_content a{
	font-size: 14px;
	padding-left: 10px;
	font-weight: 400;
	display: inline;
	color: #000;
	text-decoration: underline;
}

.news_item_wrapper{
	display: flex;
	align-items: center;
	width: 100%;
}

@keyframes news-wrapper-scroll {
	0% { transform: translateX(20%); }
	100% { transform: translateX(-100%); }
}

@media screen and (max-width: 980px) {
	/* ニュース部分のスクロールアニメーション用スタイル */
	.news {
		margin-top: 0;
		overflow: hidden;
		padding-left: 15px;
	}

	.news:after{
		width: 15vw;
	}
	
	.news_item {
		padding: 5px 20px;
	}
	
	.news_item_wrapper {
		animation: news-wrapper-scroll 15s linear infinite;
		padding-right: 40px; /* スクロール中に余白を作る */
	}
}

/* fv */
.fv_ttl{
	padding: 50px 0px 200px;
	height: auto;
	margin: 0 auto;
	max-width: 1440px;
	width: 90%;
	position: relative;
}

.fv_ttl h1{
	position: absolute;
	left: 0;
}

.fv_ttl img{
  width: 100%;
  height: 100%;
}

.fv_bg{
  width: 100%;
  background-color: #F5E9CA;
}

.fv_inr{
	margin: 0 auto;
  padding: 225px 0 105px;
	max-width: 1440px;
	width: 90%;
	position: relative;
}
/* 
.fv_inr::after{
	content: '';
	background-image: url(../images/fv-illust.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
	right: 10vw;
	width: 800px;
	height: 890px;
} */

.fv_hdg{
  width: 560px;
  height: auto;
}

.fv_hdg img{
  width: 100%;
  height: 100%;
}

/* about */

.about_bg{
	background-image: url(../images/about_bg.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.about_inr{
  padding: 130px 0 365px;
}

.about_ttl{
  text-align: center;
}

.about_ttl h3{
  margin-bottom: 60px;
  font-size: 20px;
  font-weight: 300;
  color: #fff;
}

.about_hdg{
	margin-bottom: 60px;
	text-align: center;
}

.about_hdg p{
	font-size: 32px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.15em;
	color: #fff;
}

.about_txt{
	margin: 0 auto;
	padding: 20px 0 30px;
	width: 580px;
	height: 360px;
	overflow-y: scroll;
	text-align: center;
	mask-image: linear-gradient(to bottom, transparent 0px, black 32px, black calc(100% - 40 px), transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0px, black 32px, black calc(100% - 40px), transparent 100%);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s ease, transform 1.5s ease;
}

.about_txt.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.about_txt::-webkit-scrollbar {
	/* background-color: inherit;
	width: 2px; */
	display: none;
}

.about_txt::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 8px;
}

.about_txt p{
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color: #fff;
}

.about_txt p span{
	font-size: 14px;
}

.about_txt sup{
	font-size: 14px;
}

/* movie */

.movie_ttl{
	margin: 0 auto;
	padding: 30px 0;
	max-width: 960px;
	width: 90%;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	text-align: center;
}

.movie_ttl p{
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 300;
	color: #F56A48;
	letter-spacing: 0.05em;
}

.movie_ttl h3{
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.movie_content{
	width: 100%;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.movie_content_item{
	max-width: 960px;
	width: 90%;
	/* height: 540px; */
	margin: 0 auto;
}

.movie_content_item > div{
	max-width: none !important;
	max-height: none !important;
	min-width: auto !important;
}

.movie_content_item iframe{
	width: 100%;
	height: 100%;
}

/* award */

.award{
	padding: 150px 0;
	width: 100%;
	background-color: #FFF6E5;
}

.award_ttl{
	margin-bottom: 95px;
	text-align: center;
}

.award_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #F56A48;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.award_ttl h3{
	font-size: 32px;
	letter-spacing: 0.05em;
}

.award_flex-wrapper{
	margin: 0 auto 50px;
	max-width: 1447px;
	width: 90%;
	display: flex;
	justify-content: space-between;
	gap: 70px;
}

.award_person{
	width: 100%;
}

.award_person_img{
	margin-bottom: 20px;
	width: 100%;
	height: auto;
}

.award_person_img img{
	width: 100%;
	height: auto;
}

.award_person_hdg{
	text-align: center;
	border-top: 1px solid #F4886F;
}

.award_person_hdg.--green{
	border-top: 1px solid #07AD94;
}

.award_person_hdg p{
	padding: 14px 0;
	display: block;
	font-size: 32px;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #F4886F;
}

.award_person_hdg.--green p{
	border-bottom: 1px solid #07AD94;
}

.award_person_profile{
	margin-bottom: 10px;
	padding: 10px 0;
	text-align: center;
	border-bottom: 1px solid #F4886F;
}

.award_person_profile.--green{
	border-bottom: 1px solid #07AD94;
}

.award_person_profile p{
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.award_person_profile_school{
	font-size: 16px;
	color: #777777;
}

.award_person_profile_name{
	font-size: 18px;
}

.award_person_inr{
	display: flex;
}

.award_person_btn{
	width: 100%;
	height: 100%;
	border: 1px solid #000;
	padding: 0 15px;
}

.award_person_btn p{
	font-size: 15px;
	text-align: center;
	color: #000;
	padding: 17px 0;
	letter-spacing: 0.15rem;
	position: relative;
}

.award_person_btn p::before{
	content: "";
	position: absolute;
	background-image: url(../images/more-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.award_person_btn img{
	width: 100%;
	height: 100%;
	-webkit-user-drag: none;
}

.award_inr{
	margin: 0 auto 50px;
	padding: 80px 0;
	max-width: 1440px;
	width: 90%;
	background-color: #fff;
	border: 1px solid #000;
}

.award_flex-wrapper2{
	padding: 0 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 100px;
}

.award_after-img{
	max-width: 640px;
	height: auto;
}

.award_after-img img{
	width: 100%;
	height: auto;
}

.award_after-txt{
	margin-bottom: 50px;
	text-align: center;
}

.award_after-txt p{
	font-size: 32px;
}

.award_after-txt p span{
	font-size: 20px;
	font-weight: 300;
	color: #F56A48;
	line-height: 1.8;
}

.award_after-txt_btn{
	margin: 0 auto;
	max-width: 320px;
	border: 1px solid #000;
	padding: 0 10px;
}

.award_after-txt_btn p{
	font-size: 15px;
	text-align: center;
	color: #000;
	padding: 17px 0;
	position: relative;
	letter-spacing: 0.05em;
}

.award_after-txt_btn p::before{
	content: "";
	position: absolute;
	background-image: url(../images/more-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.award_more{
	margin: 0 auto;
	max-width: 385px;
	border: 1px solid #000;
	padding: 0 10px;
}

.award_more p{
	font-size: 15px;
	text-align: center;
	color: #000;
	padding: 17px 0;
	position: relative;
	letter-spacing: 0.1rem;
}

.award_more p::before{
	content: "";
	position: absolute;
	background-image: url(../images/arrow-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 8px;
	height: 10px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* teachers-voice */

.teachers-voice{
	width: 100%;
}

.teachers-voice_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1440px;
    width: 90%;
    margin: 0 auto;
}

.teachers-voice_inr{
	
}

.teachers-voice_ttl{
	margin-bottom: 70px;
	padding-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 420px;
	border-bottom: 1px solid #000;
}

.teachers-voice_ttl h3{
	font-size: 32px;
	letter-spacing: 0.15em;
}

.teachers-voice_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #F56A48;
	line-height: 1.8;
	text-align: right;
	letter-spacing: 0.05em;
}

.teachers-voice_content{

}

.teachers-voice_content_txt{
	margin-bottom: 15px;
	padding: 10px 20px;
	width: fit-content;
	background-color: #F56A48;
	border-radius: 20px;
	text-align: center;
	position: relative;
}

.teachers-voice_content_txt::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 20px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #F56A48;
}

.teachers-voice_content_txt p{
	font-size: 16px;
	color: #fff;
}

.teachers-voice_content_hdg{
	margin-bottom: 70px;
}

.teachers-voice_content_hdg p{
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.15em;
}

.teachers-voice_content_hdg p span{
	font-size: 40px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.15em;
}

.teachers-voice_content_btn{
	max-width: 320px;
	border: 1px solid #000;
	padding: 0 10px;
}

.teachers-voice_content_btn p{
	font-size: 15px;
	text-align: center;
	color: #000;
	padding: 17px 0;
	position: relative;
	letter-spacing: 0.05em;
}

.teachers-voice_content_btn p::before{
	content: "";
	position: absolute;
	background-image: url(../images/more-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.teachers-voice_img{
	width: 50%;
	height: auto;
}

.teachers-voice_img img{
	width: 100%;
	height: auto;
}

/* faq */
.faq {
  padding: 100px 0;
  width: 100%;
	background-color: #FEF7E4;
}

.faq_ttl {
  margin-bottom: 60px;
  text-align: center;
}

.faq_ttl p {
  font-size: 20px;
  font-weight: 300;
  color: #F56A48;
  line-height: 1.8;
}

.faq_ttl h3 {
  font-size: 32px;
	letter-spacing: 0.15em;
}

.faq_content {
  max-width: 680px;
  margin: 0 auto;
}

.faq_item {
  border: 1px solid #000;
  margin-bottom: 20px;
}

.faq_question {
  position: relative;
  padding: 15px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  font-size: 24px;
	background-color: #fff;
  transition: background-color 0.3s ease;
}

.faq_question_q{
	font-size: 24px;
	font-weight: 300;
	color: #ED9B4A;
}

.faq_question.is-open {
  background-color: #ED9B4A;
  color: #fff;
	border-bottom: 1px solid #000000;
}

.faq_question.is-open .faq_question_q {
  color: #fff;
}

.faq_question.is-open .faq_question_icon {
  color: #fff;
}

.faq_question_text {
  width: 90%;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.15em;
	padding-right: 60px;
}

.faq_question_icon {
  font-size: 28px;
	font-weight: 300;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

.faq_answer {
  max-height: 0;
  padding: 0 60px;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
	background-color: #fff;
}

.faq_answer.is-open {
  max-height: 500px;
  padding: 30px 60px;
  opacity: 1;
}

.faq_answer_content {
  font-size: 16px;
  line-height: 1.8;
	letter-spacing: 0.15em;
}

/* contact-relationlink-wrapper */
.contact-relationlink-wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background-color: #FEF7E4;
	position: relative;
}

.contact-relationlink-wrapper::after{
	content: '';
	background-image: url(../images/contact-relationlink-after.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -25px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 385px;
	height: 430px;
}

.contact{
	padding: 95px 0 225px;
	width: 50%;
	min-height: 580px;
	background-color: #E0934F;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contact_ttl{
	margin-bottom: 45px;
	text-align: center;
}

.contact_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.contact_ttl h3{
	font-size: 32px;
	letter-spacing: 0.15em;
	color: #fff;
}

.contact_content{
}

.contact_content_txt{
	margin-bottom: 50px;
}

.contact_content_txt p{
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.contact_content_btn{
	margin: 0 auto;
	max-width: 320px;
	border: 1px solid #fff;
	padding: 0 10px;
}

.contact_content_btn p{
	font-size: 15px;
	text-align: center;
	color: #fff;
	padding: 17px 0;
	position: relative;
	letter-spacing: 0.05em;
}

.contact_content_btn p::before{
	content: "";
	position: absolute;
	background-image: url(../images/blank-icon-white.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 18px;
	height: 18px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.contact_content_btn img{
	width: 100%;
	height: 100%;
}

.relationlink{
	padding: 100px 0 225px;
	width: 50%;
	min-height: 580px;
	background-color: #F5E9CA;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.relationlink_ttl{
	margin-bottom: 45px;
	text-align: center;
}

.relationlink_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #F57150;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.relationlink_ttl h3{
	font-size: 32px;
	letter-spacing: 0.15em;
}

.relationlink_content{
	width: 490px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 20px;
	border: 1px solid #000;
}

.relationlink_content_item{
	padding: 20px 0px;
	flex: 1 1;
}

.relationlink_content_item:last-child{
	margin-right: 0;
	width: 100px;
	border-left: 1px solid #000;
}

.relationlink_content_item img{
	display: block;
	margin: 0 auto;
	width: 170px;
	height: auto;
}

.relationlink_content_item:last-child img{
	display: block;
	margin: 0 auto;
	width: 100px;
	height: auto;
}

.entry-contact{
	padding: 95px 0 435px;
	width: 100%;
	background-color: #E0934F;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}

.entry-contact::after{
	content: '';
	background-image: url(../images/contact-relationlink-after.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -13px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 385px;
	height: 430px;
}

.entry-contact_ttl{
	margin-bottom: 45px;
	text-align: center;
}

.entry-contact_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.entry-contact_ttl h3{
	font-size: 32px;
	letter-spacing: 0.15em;
	color: #fff;
}

.entry-contact_content{
}

.entry-contact_content_txt{
	margin-bottom: 50px;
}

.entry-contact_content_txt p{
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.entry-contact_content_btn{
	margin: 0 auto;
	max-width: 320px;
}

.entry-contact_content_btn img{
	width: 100%;
	height: 100%;
}



/* モーダル */
.modal-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal {
  display: none;
  position: relative;
  width: 80%;
  max-width: 1440px;
  margin: 0 auto;
}

.modal.is-open {
  display: block;
}

.modal-content {
  background-color: #fff;
  width: 100%;
  height: 90dvh;
  overflow: auto;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.modal-header {
  margin: 0 65px;
  padding: 65px 0 25px;
  text-align: center;
  border-bottom: 1px solid #EFEFEF;
}

.modal-header.--result{
	padding: 20px 0 25px;
}

.modal-header h3 {
  margin: 0;
  font-size: 32px;
	line-height: 1.4;
}

.modal-header p {
	font-size: 20px;
	font-weight: 300;
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  height: 30px;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 50px;
  color: #000;
  font-size: 16px;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  cursor: pointer;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  /* box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); */
  z-index: 1001;
  transition: all 0.2s ease;
  letter-spacing: 0.05em;
}

.modal-close::before,
.modal-close::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 50%;
  width: 18px;
  height: 1px;
  background-color: #000;
  border-radius: 1px;
}

.modal-close::before {
  transform: translateY(-50%) rotate(40deg);
}

.modal-close::after {
  transform: translateY(-50%) rotate(-40deg);
}

.modal-close:hover {
  transform: scale(1.05);
}

.modal-body {
  padding: 30px 65px;
  display: flex;
  justify-content: center;
  gap: 45px;
  max-height: calc(90dvh - 200px);
  overflow-y: auto;
}

.modal-body.--result{
	display: block;
	overflow-y: initial;
}

.modal-body.--interview {
	padding: 65px;
	height: auto;
	max-height: 90dvh;
	overflow-y: auto;
}

.modal-body.--teacher {
	padding: 60px 50px;
	height: auto;
	max-height: 90dvh;
	overflow-y: auto;
}

.modal-body_txt {
	width: calc(50% - 22.5px);
}

.modal-body_txt.--result{
	width: 100%;
}

.modal-result{
	width: 91%;
	padding: 40px 25px;
	background-color: #FDF7E6;
	border-radius: 20px;
	margin: 65px auto 0;
}

.modal-result_award{
	display: flex;
	width: 100%;
	height: auto;
	gap: 20px;
	justify-content: center;
	align-items: center;
	margin-bottom: 16px;

}

.modal-result_award img.award01{
	max-width: 116px;
	width: 100%;
	height: 100%;
}

.modal-result_award img.award05{
	max-width: 180px;
	width: 100%;
	height: 100%;
}

.modal-result_award img.award02{
	max-width: 94px;
	width: 100%;
	height: 100%;
}

.modal-result_award img.award03{
	max-width: 94px;
	width: 100%;
	height: 100%;
}

.modal-result_award img.award06{
	max-width: 200px;
	width: 100%;
	height: 100%;
}

.modal-result_award img.award04{
	max-width: 94px;
	width: 100%;
	height: 100%;
}


.modal-result_name{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.modal-result_name p{
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.modal-result_name p span{
	font-size: 14px;
}

.modal-result_note{
	width: 100%;
	height: auto;
	padding: 20px;
	background-color: #fff;
}

.modal-result_note p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.8;
}

.modal-body_txt p {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.05em;
	font-weight: 300;
	font-style: normal;
	padding-bottom: 30px;
}

.modal-body_interview {
	width: calc(45% - 22.5px);
	overflow-y: scroll;
}

.modal-body_interview_img {
	margin-bottom: 25px;
	max-width: 600px;
	height: auto;
}

.modal-body_interview_img img {
	width: 100%;
	height: 100%;
}

.modal-body_interview_profile {
	padding: 25px;
	border: 1px solid #D3D3D3;
}

.modal-body_interview_profile p {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

.modal-body_interview_profile p span {
	color: #707070;
}

.modal-body_interview_profile_inr {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modal-body_interview_profile_inr p {
	color: #707070;
}

.modal-body_interview_profile_inr p span {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.15em;
	color: #000;
}

.modal-body_interview-txt {
	width: calc(55% - 22.5px);
	/* height: 100%; */
	max-height: 90dvh;
	overflow-y: auto;
}

.modal-body_interview-txt_ttl {
	margin-bottom: 50px;
}

.modal-body_interview-txt_ttl p {
	padding: 14px 0;
	display: block;
	font-size: 32px;
	border-top: 1px solid #F4886F;
	border-bottom: 1px solid #F4886F;
}

.modal-body_interview-txt_ttl.--green p {
	border-top: 1px solid #07AD94;
	border-bottom: 1px solid #07AD94;
}

.modal-body_interview-txt_ttl p:last-child {
	border-top: none;
}

.modal-body_interview-txt_content {

}

.modal-body_interview-txt_content_ttl {
	margin-bottom: 20px;
}


.modal-body_interview-txt_content_ttl p {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.modal-body_interview-txt_content_sub {
	margin-bottom: 20px;
}

.modal-body_interview-txt_content_sub p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.7;
	color: #777777;
}

.modal-body_interview-txt_content_txt{
	margin-bottom: 30px;
}

.modal-body_interview-txt_content_txt p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.7;
}

.modal-body_teacher{
	width: calc(48% - 22.5px);
	overflow-y: scroll;
}


.modal-body_teacher::-webkit-scrollbar{
  display: none;
}

.modal-body_teacher_img{
	margin-bottom: 25px;
	max-width: 600px;
	height: auto;
}

.modal-body_teacher_img img{
	width: 100%;
	height: 100%;
}

.modal-body_teacher_txt{
	padding: 25px;
	border: 1px solid #D3D3D3;
}

.modal-body_teacher_txt p{
	font-size: 14px;
	font-weight: 400;
}

.modal-body_teacher_hukidashi{
	margin: 0 auto;
	padding: 10px 40px;
	width: fit-content;
	background-color: #F56A48;
	border-radius: 20px;
	text-align: center;
	position: relative;
}

.modal-body_teacher_hukidashi p{
	font-size: 13px;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.15em;
}

.modal-body_teacher_hukidashi::after{
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #F56A48;
}

.modal-body_teacher_hdg{
	margin: -15px 0 20px;
	padding: 30px 0 20px;
	text-align: center;
	border: 1px solid #000;
}

.modal-body_teacher_hdg p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.modal-body_teacher_hdg p span{
	font-size: 24px;
	font-weight: 400;
}

.modal-body_teacher_list{
	display: flex;
	justify-content: space-between;
	gap: 40px;
}

.modal-body_teacher_list_item{
	width: calc(50% - 20px);
	height: fit-content;
}

.modal-body_teacher_list_item_inr{
	margin-bottom: 15px;
	display: flex;
	align-items: center;
}

.modal-body_teacher_list_item_img{
	width: 72px;
	height: 72px;
}

.modal-body_teacher_list_item_img img{
	width: 100%;
	height: 100%;
}

.modal-body_teacher_list_item_name{
	margin: 0 auto;
	width: fit-content;
	padding-left: 20px;
	text-align: center;
}

.modal-body_teacher_list_item_name p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.modal-body_teacher_list_item_name p span{
	font-size: 14px;
	font-weight: 400;
	color: #707070;
	letter-spacing: 0.05em;
}

.modal-body_teacher_list_item_txt{
	margin-bottom: 15px;
}

.modal-body_teacher_list_item_txt p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.modal-body_teacher_list_item_btn{
	width: 280px;
	height: 50px;
}

.modal-body_teacher_list_item_btn a{
	width: 100%;
	height: 100%;
}

.modal-body_teacher_list_item_btn a img{
	width: 100%;
	height: 100%;
}

.modal-body_teacher-txt{
	width: calc(55% - 22.5px);
	height: auto;
	max-height: 90dvh;
	overflow-y: auto;
}

.modal-body_teacher-txt_content_ttl {
	margin-bottom: 20px;
}

.modal-body_teacher-txt_content_ttl p {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.modal-body_teacher-txt_content_sub{
	margin-bottom: 20px;
}

.modal-body_teacher-txt_content_sub p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.7;
	color: #777777;
}

.modal-body_teacher-txt_content_txt{
	margin-bottom: 30px;
}

.modal-body_teacher-txt_content_txt p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.7;
}

.modal-body_teacher-txt_content_card{
	margin-bottom: 30px;
}

.modal-body_teacher-txt_content_card_inr{
	display: flex;
	align-items: end;
	gap: 10px;
}

.modal-body_teacher-txt_content_card_img{
	min-width: 50px;
	height: 50px;
}

.modal-body_teacher-txt_content_card_img img{
	width: 100%;
	height: 100%;
}

.modal-body_teacher-txt_content_card_name{
	margin-bottom: 10px;
}

.modal-body_teacher-txt_content_card_name p{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.modal-body_teacher-txt_content_card_txt{
	margin-bottom: 10px;
	padding-left: 60px;
}

.modal-body_teacher-txt_content_card_txt p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.modal-body_after{
	width: calc(48% - 22.5px);
	overflow-y: scroll;
}

.modal-body_after_hdg{
	margin: 20px 0;
	padding: 20px 0;
	text-align: center;
	border: 1px solid #000;
}

.modal-body_after_hdg p{
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
	color: #F56A48;
}

.modal-body_after_hdg p span{
	font-size: 32px;
	font-weight: 400;
	color: #000;
}

.modal-body_after_list_item{
	display: flex;
	justify-content: space-between;
	gap: 40px;
}

.modal-body_after_list_item{
	margin-bottom: 20px;
	padding-bottom: 10px;
	height: fit-content;
	border-bottom: 1px solid #EFEFEF;
}

.modal-body_after_list_item_img{
	min-width: 128px;
	height: 128px;
}

.modal-body_after_list_item_img img{
	width: 100%;
	height: 100%;
}

.modal-body_after_list_item_name{
	margin-bottom: 10px;
}

.modal-body_after_list_item_name p{
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 500;
	color: #0AAD94;
}

.modal-body_after_list_item_name.--second p{
	color: #8781BD;
}

.modal-body_after_list_item_name.--third p{
	color: #A6A723;
}


.modal-body_after_list_item_name p span{
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.modal-body_after_list_item_name p.en{
	font-size: 14px;
	font-weight: 400;
}

.modal-body_after_list_item_txt{
	margin-bottom: 10px;
}

.modal-body_after_list_item_txt p{
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
}


/* 
	募集受付ページ
*/

.entry-fv{
	margin-top: 10px;
	padding: 80px 0 0;
	background-color: #F5E9CA;
}

.entry-fv_ttl{
	margin: 0 auto 25px;
	max-width: 1440px;
	width: 90%;
}

.entry-fv_ttl img{
	width: 100%;
	height: 100%;
}

.entry-fv_inr{
	margin: 0 auto;
	max-width: 1440px;
	width: 90%;
	position: relative;
}

/* .entry-fv_inr::after{
	content: '';
	background-image: url(../images/entry-fv-icon.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: 0;
	width: 977px;
	height: 700px;
} */



.entry-fv_day{
	max-width: 1440px;
	height: auto;
	position: relative;
	bottom: -18px;
}

.entry-fv_day img{
	width: 100%;
	height: 100%;
}

.entry-fv_corp{
	text-align: center;
	margin-bottom: 50px;
}

.entry-fv_corp p{
	font-size: 12px;
}

.entry-fv_theme{
	margin-bottom: 57px;
	max-width: 437px;
	height: auto;
	position: absolute;
	bottom: 0;
}

.entry-fv_theme img{
	width: 100%;
	height: 100%;
}

.entry-fv_detail{
	display: flex;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 20px;
	max-width: 1440px;
	margin: 0 auto;
}

.entry-fv_detail_inr{
	padding: 32px;
	width: 50%;
}

.entry-fv_detail_inr:first-child {
	border-right: 1px solid #000;
}

.entry-fv_detail_ttl{
	margin-bottom: 20px;
}

.entry-fv_detail_ttl p{
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.entry-fv_detail_text{
	margin-bottom: 20px;
}

.entry-fv_detail_text p{
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.entry-fv_detail_description{
	
}

.entry-fv_detail_description p{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.4;
}

.entry-fv_detail_description ul{
}

.entry-fv_detail_description ul li{
	line-height: 1.4;
	margin-bottom: 10px;
	padding-left: 20px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.15em;
	position: relative;
}

.entry-fv_detail_description ul li:last-child{
	margin-bottom: 0;
}

.entry-fv_detail_description ul li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	transform: translateY(0);
	width: 6px;
	height: 6px;
	background-color: #000;
	border-radius: 50%;
}

/* 個人部門 */

.category{
	padding: 80px;
	max-width: 1440px;
	width: 90%;
	margin: 0 auto;
	background-color: #FDF7E6;
	border-right: 1px solid #000;
	border-left: 1px solid #000;
}

.category_ttl{
	margin: 80px auto 50px;
	text-align: center;
	max-width: 350px;
	height: auto;
}

.category_ttl img{
	width: 100%;
	height: 100%;
}

.category_hdg{
	margin-bottom: 50px;
	text-align: center;
}

.category_hdg p{
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	font-weight: 500;
}

.category_hdg p span{
	color: #F56A48;
}

.category_detail{
	margin-bottom: 50px;
}

.category_detail_ttl{
	margin-bottom: 50px;
	text-align: center;
	position: relative;
}

.category_detail_ttl::before,
.category_detail_ttl::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 37%;
	height: 1px;
	background-color: #000;
}

.category_detail_ttl::before {
	left: 0;
}

.category_detail_ttl::after {
	right: 0;
}

.category_detail_ttl h3{
	font-size: 32px;
	font-weight: 400;
	color: #F56A48;
	letter-spacing: 0.15em;
}

.category_detail_hdg{
	margin-bottom: 20px;
	text-align: center;
}

.category_detail_hdg p{
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: .2em;

}

.category_list{
	margin-bottom: 80px;
	display: flex;
	justify-content: space-between;
}

.category_list_item{
	width: 390px;
	height: fit-content;
	background-color: #fff;
	border: 2px solid #000;
}

.category_list_item_award{
	margin: 30px 15px 15px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	background-color: #69BEBD;
	border: 1px solid #000;
}

.category_list_item_award.--award2{
	background-color: #8681B9;
}

.category_list_item_award.--award3{
	background-color: #E0DB4E;
}

.category_list_item_award_txt{
	padding: 10px;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}

/* 複数のアイテムがある場合の幅設定 */
.category_list_item_award:has(.category_list_item_award_txt:nth-child(2)) .category_list_item_award_txt {
	width: 50%;
}

.category_list_item_award_txt:nth-child(1):not(:only-child){
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

.category_list_item_award_txt:nth-child(2){
	border-bottom: 1px solid #000;
}

.category_list_item_award_txt:nth-child(3){
	border-right: 1px solid #000;
}

/* 1つしかない場合はボーダーなし */
.category_list_item_award_txt:only-child {
	border: none;
}

.category_list_item_award_txt p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.15em;
}

.category_list_item_description{
	margin: 15px 20px 40px;
}

.category_list_item_description p{
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.category_list_item_inr{
	border-top: 2px solid #000;
}

.category_list_item_judge {
  margin-bottom: 10px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	width: fit-content;
}

.category_list_item_judge p {
  display: inline-block;
  padding: 7px 13px;
  font-size: 16px;
}

/* 審査員カード */

.category_list_item_judge_card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 20px 30px;
  padding-bottom: 20px;
	border-bottom: 1px solid #EFEFEF;
}

.category_list_item_judge_card:last-child{
	border-bottom: none;
}

.category_list_item_judge_card_info {
  width: 60%;
}

.category_list_item_judge_card_title {
  margin-bottom: 15px;
}

.category_list_item_judge_card_title p {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

.category_list_item_judge_card_name {
}

.category_list_item_judge_card_name p {
  font-size: 18px;
  letter-spacing: 0.15em;
}

.category_list_item_judge_card_name p span{
	display: block;
	font-size: 11px;
	color: #606060;
	margin-bottom: 5px;
	letter-spacing: 0.1rem;
}

.category_list_item_judge_card_img {
  width: 35%;
  max-width: 96px;
  height: auto;
}

.category_list_item_judge_card_img img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.category_list_item_judge_coming-soon{
	margin: 10px 0 40px;
	text-align: center;
}

.category_list_item_judge_coming-soon p{
	margin-bottom: 5px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.15em;
}

.category_list_item_judge_coming-soon p:last-child{
	font-size: 11px;
}

.category_list_item_judge_card2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 20px;
  padding-bottom: 20px;
}

.category_list_item_judge_desc{
	margin: 0 20px;
	padding-bottom: 20px;
}

.category_list_item_judge_desc p{
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-feature-settings: "palt" 1;
}

/* 仕様変更: 初期状態は1行だけ見せる（もっと見るで展開） */
.category_list_item.--accordion .category_list_item_judge_desc{
	/* 1行相当だけ表示（line-height基準） */
	max-height: 2.8em;
	overflow: hidden;
	position: relative;
}

.category_list_item.--accordion .category_list_item_judge_desc::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 20px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 80%);
	pointer-events: none;
}

/* JSで .is-open が付いたら全文表示 */
/* 特定の説明のみ開くため、is-openは各説明に付与 */
.category_list_item.--accordion .category_list_item_judge_desc.is-open{
	max-height: none;
}

.category_list_item.--accordion .category_list_item_judge_desc.is-open::after{
	display: none;
}

/* 仕様追加: ボタン領域（category_list_item_judge_btn_wrap）も初期は非表示 */
.category_list_item.--accordion .category_list_item_judge_btn_wrap{
	display: none;
}

/* 開いた説明(.is-open)の直後にあるボタン領域を表示 */
.category_list_item.--accordion .category_list_item_judge_desc.is-open + .accordion_more + .category_list_item_judge_btn_wrap,
.category_list_item.--accordion .category_list_item_judge_desc.is-open + .category_list_item_judge_btn_wrap{
	display: block;
}

.category_list_item_judge_btn{
	margin: 0 auto;
	max-width: 100%;
	border: 1px solid #000;
	padding: 0 10px;
}

.category_list_item_judge_btn p{
	font-size: 12px;
	text-align: center;
	color: #000;
	padding: 14px 0;
	position: relative;
	letter-spacing: 0.1rem;
}

.category_list_item_judge_btn p::before{
	content: "";
	position: absolute;
	background-image: url(../images/arrow-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 6px;
	height: 9px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.category_list_item_judge_btn.--no-bt-border{
	border-bottom: none;
}

.category_list_item_judge_btn_wrap{
	margin: 0 20px 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #EFEFEF;
}

.category_prize{
	padding-bottom: 110px;
	display: flex;
	flex-wrap: wrap;
}

.category_prize_item{
	width: 33.33%;
	border: 1px solid #000;
	background-color: #fff;
	box-sizing: border-box;
}

.category_prize_item:nth-child(2),
.category_prize_item:nth-child(3),
.category_prize_item:last-child{
	border-left: none;
}

/* 4つ目以降のアイテム（2行目以降）はborder-top削除 */
.category_prize_item:nth-child(n+4) {
	border-top: none;
}

.category_prize_item_ttl{
	padding: 3px 7px;
	text-align: center;
	width: fit-content;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

.category_prize_item_ttl p{
	font-size: 16px;
	letter-spacing: 0.15em;
}

.category_prize_item_prize{
	margin: 15px 15px 32px 15px;
}

.category_prize_item_prize p{
	font-size: 14px;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.category_prize_item_prize p span{
	font-size: 12px;
}

.category_prize_item_prize p span a{
	color: #777777;
	text-decoration: underline;
}

.category_prize_item_prize ul{
	margin-bottom: 10px;
}

.category_prize_item_prize ul li{
	margin-bottom: 5px;
	padding-left: 10px;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	position: relative;
}

.category_prize_item_prize ul li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	transform: translateY(0);
	width: 5px;
	height: 5px;
	background-color: #000;
	border-radius: 50%;
}

@media screen and (max-width: 767px) {
	.category_prize_item{
		width: 100%;
		border: 1px solid #000;
	}
	
	.category_prize_item:not(:last-child) {
		border-bottom: none;
	}
}

/* 応募要項 */

.application{
	padding: 100px 0 0;
}

.application_ttl{
	margin-bottom: 50px;
	text-align: center;
}

.application_ttl p{
	font-size: 20px;
	font-weight: 300;
	color: #F56A48;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.application_ttl h3{
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0.15em;
}

.application_hdg{
	margin-bottom: 40px;
	text-align: center;
}

.application_hdg p{
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.application_hdg p span{
	font-weight: 500;
}

.application_detail{
	margin: 0 auto;
	max-width: 1440px;
	width: 90%;
}

.application_detail_item{
	display: flex;
	align-items: stretch;
	border: 1px solid #000;
	border-bottom: none;
}

.application_detail_item:last-child{
	border-bottom: 1px solid #000;
}

.application_detail_item_ttl{
	text-align: center;
	background-color: #86ADDA;
	min-width: 430px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	border-right: 1px solid #000;
}

.application_detail_item_ttl p{
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.15rem;
}

.application_detail_item_txt{
	padding: 20px 30px;
	flex-grow: 1;
	background-color: #fff;
}

.application_detail_item_txt p{
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.15rem;
}

.application_detail_item_txt p a{
	color: #000;
	text-decoration: underline;
}

.application_detail_item_txt p a.blank{
	color: #000;
	text-decoration: underline;
	position: relative;
}

.application_detail_item_txt p a.blank::after{
	content: "";
	position: absolute;
	background-image: url(../images/blank-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
}

.application_detail_item_txt p.bold{
	font-size: 18px;
	font-weight: 500;
}

.application_detail_item_txt p.dots{
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}

.application_detail_item_txt p.dots::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	transform: none;
	width: 6px;
	height: 6px;
	background-color: #000;
	border-radius: 50%;
}

.application_detail_item_txt ul{
	padding-left: 25px;
	margin-top: 10px;
}

.application_detail_item_txt ul li{
	margin-bottom: 8px;
	line-height: 1.4;
}

.application_detail_item_txt_link{
	margin-top: 10px;
	display: flex;
	align-items: center;
}

.application_detail_item_txt_link img{
	max-width: 320px;
	height: auto;
}

.application_pdflink{
	margin: 50px auto 0;
	max-width: 1440px;
	width: 90%;
}

.application_pdflink a{
	display: block;
	color: #000;
	text-decoration: underline;
}

/* how-to-apply */
.how-to-apply {
	margin-bottom: 130px;
  padding: 100px 0 0;
  width: 100%;
}

.how-to-apply_ttl {
  margin-bottom: 60px;
  text-align: center;
}

.how-to-apply_ttl p {
  font-size: 20px;
  font-weight: 300;
  color: #F56A48;
  line-height: 1.8;
	letter-spacing: 0.15em;
}

.how-to-apply_ttl h3 {
  font-size: 32px;
	letter-spacing: 0.15em;
}

.how-to-apply_hdg{
	margin-bottom: 40px;
	text-align: center;
}

.how-to-apply_hdg p{
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.how-to-apply_hdg p:last-child{
	font-size: 16px;
}

.how-to-apply_hdg p span{
	font-weight: 500;
}

.how-to-apply_detail{
	margin: 0 auto;
	max-width: 1440px;
	width: 90%;
	display: flex;
	justify-content: center;
	gap: 60px;
}

.how-to-apply_detail_content{
	border: 1px solid #000000;
	max-width: 690px;
	position: relative;
}

.how-to-apply_detail_content_ttl{
	margin-bottom: 20px;
	padding: 5px 10px;
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
	text-align: center;
	width: fit-content;
}

.how-to-apply_detail_content_ttl p{
	font-size: 16px;
}

.how-to-apply_detail_content_step{
	margin-bottom: 40px;
	padding: 0 15px;
	display: flex;
	gap: 10px;
	position: relative;
}

.how-to-apply_detail_content_step.--last{
	margin-bottom: 20px;
}

.how-to-apply_detail_content_step_num{
	max-width: 40px;
	height: 40px;
	position: relative;
	z-index: 2;
}

.how-to-apply_detail_content_step:not(:last-child) .how-to-apply_detail_content_step_num::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: calc(100% + 40px);
  background-color: #F0AD6C;
  transform: translateX(-50%);
  z-index: 1;
}

.how-to-apply_detail_content_step:has(+ .how-to-apply_detail_content_annotation) .how-to-apply_detail_content_step_num::before {
  content: none;
}

.how-to-apply_detail_content_step_num img{
	width: 100%;
	height: auto;
}

.how-to-apply_detail_content_step_txt{

}

.how-to-apply_detail_content_step_txt p{
	font-size: 14px;
	letter-spacing: 0.15rem;
	line-height: 1.4;
}

.how-to-apply_detail_content_annotation{
	margin-bottom: 20px;
	padding: 0 15px;
}

.how-to-apply_detail_content_annotation p{
	font-size: 13px;
	color: #777777;
	letter-spacing: 0.15rem;
	line-height: 1.4;
}

.comming-soon{
	margin: 0 auto -20px;
	max-width: 490px;
}

.comming-soon img{
	width: 100%;
	height: auto;
}

.apply-button-container{
	margin: 0 auto -20px;
	max-width: 720px;
	width: 100%;
}

.apply-button-container_ttl{
	max-width: 336px;
	height: 67px;
	margin: 0 auto 30px;
}

.apply-button-container_ttl--done{
	max-width: 500px;
	height: 93px;
	margin: 0 auto 30px;
}

.apply-button-container_ttl img{
	width: 100%;
	height: 100%;
}

.apply-button-container_ttl--done{
	max-width: 500px;
	height: 93px;
	margin: 0 auto 30px;
}

.apply-button-container_ttl--done img{
	width: 100%;
	height: 100%;
}

.apply-button-container_content{
	display: flex;
	gap: 20px;
	justify-content: center;
	margin-bottom: 65px;
}

.apply-button-container_content a{
	display: block;
	min-width: 335px;
	color: #fff;
	text-align: center;
	font-size: 16px;
	border: 1px solid #262626;
	padding: 19px 0;
	letter-spacing: 0.15em;
	transition: background-color 0.5s ease;
	position: relative;
}

.apply-button-container_content a::after{
	content: "";
	position: absolute;
	background-image: url(../images/btn-icon.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 17px;
	height: 17px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

.apply-button-container_content a.personal{
	background-color: #F56B48;
}

.apply-button-container_content a.personal:hover{
	background-color: transparent;
	color: #F56B48;
	border: 1px solid #F56B48;
}

.apply-button-container_content a.personal:hover::after{
	background-image: url(../images/hover-personal.png);
	transform: translateY(-50%) scale(1.4);
	transition: transform 0.3s ease;
}

.apply-button-container_content a.group{
	background-color: #0AAD94;
}

.apply-button-container_content a.group:hover{
	background-color: transparent;
	color: #0AAD94;
	border: 1px solid #0AAD94;
}

.apply-button-container_content a.group:hover::after{
	background-image: url(../images/hover-group.png);
	transform: translateY(-50%) scale(1.4);
	transition: transform 0.3s ease;
}

.apply-button-container_content a span{
	font-size: 24px;
}

.apply-button-container_visual{
	max-width: 500px;
	height: auto;
	margin: 0 auto;
	position: relative;
}

.apply-button-container_visual img{
	width: 100%;
	height: auto;
}

@media (min-width:980px) {
	.sp {
			display: none
	}
}

@media screen and (max-width:980px) {
	.pc {
			display: none
	}
}

@media (min-width: 980px) {
  .video-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 767px) {
  .video-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

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

	/* TOP */

	.fv{
		padding: 30px 0 0;
	}

	.fv_sp-inr{
		position: relative;
	}
	
	.fv_sp-inr img{
		width: 100%;
		height: auto;
	}

	.fv_sp_ttl{
		margin-left: 20px;
		position: absolute;
		bottom: 19vw;
		left: 0;
		width: 72%;
	}

	.fv_sp_ttl img{
		width: 100%;
		height: auto;
	}

	.about_inr{
    padding: 80px 0 192px 0;
	}

	.about_txt{
		width: 100%;
		height: 240px;
	}

	.about_ttl h3{
		margin-bottom: 25px;
		font-size: 14px;
	}

	.about_hdg p{
		font-size: 18px;
	}

	.about_txt{
		padding: 20px 0 30px;
	}

	.about_txt p{
		font-size: 12px;
	}

	.about_txt p span{
		font-size: 10px;
	}

	.about_txt sup{
		font-size: 10px;
	}

	.movie_ttl{
		padding: 20px 0;
	}

	.movie_ttl p{
		font-size: 14px;
	}

	.movie_ttl h3{
		font-size: 20px;
	}

	.movie_hdg p{
		font-size: 18px;
	}

	.movie_content_item{
		max-width: 100%;
		/* height: 390px; */
		margin: 0 auto;
	}
	
	.movie_content_item iframe{
		width: 100%;
		height: 100%;
	}

	.award{
		padding: 65px 0;
	}

	.award_ttl{
		margin-bottom: 20px;
	}

	.award_ttl p{
		font-size: 14px;
	}

	.award_ttl h3{
		font-size: 20px;
	}

	.award_flex-wrapper{
		width: 100%;
		flex-direction: column;
		gap: 30px;
	}

	.award_person_img{
		margin-bottom: 10px;
		padding: 0 20px 0 15px;
	}

	.award_person_hdg{
		margin: 0 20px;
	}

	.award_person_hdg p{
		font-size: 20px;
	}

	.award_person_profile{
		margin: 0 20px 10px;
	}

	.award_person_profile p{
		margin-bottom: 5px;
		font-size: 11px;
	}

	.award_person_profile p:last-child{
		margin-bottom: 0;
		font-size: 12px;
	}

	.award_person_inr{
		padding: 0 20px;
		flex-direction: column;
	}

	.award_person_btn{
		margin-bottom: -1px; /* 1pxの隙間を解消するための負のマージン */
		border: 1px solid #000;
		padding: 0 10px;
	}

	.award_person_btn p{
		font-size: 13px;
		text-align: center;
		color: #000;
		padding: 10px 0;
		letter-spacing: 0.15rem;
		position: relative;
	}

	.award_person_btn p::before{
		content: "";
		position: absolute;
		background-image: url(../images/more-icon.png);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 16px;
		height: 16px;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.award_flex-wrapper2{
		padding: 30px 20px;
		flex-direction: column;
		gap: 20px;
	}

	.award_inr{
		margin: 0 auto 25px;
		padding: 0;
	}

	.award_after-inr{
		width: 100%;
	}

	.award_after-txt{
		margin: 0;
	}

	.award_after-txt p span{
		margin-bottom: 5px;
		font-size: 12px;
	}

	.award_after-txt p{
		font-size: 18px;
	}

	.award_after-txt_btn{
		max-width: 100%;
		border: 1px solid #000;
		padding: 0 10px;
	}

	.award_after-txt_btn p{
		font-size: 13px;
		text-align: center;
		color: #000;
		padding: 10px 0;
		position: relative;
	}

	.award_after-txt_btn p::before{
		content: "";
		position: absolute;
		background-image: url(../images/more-icon.png);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 16px;
		height: 16px;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.award_more{
		margin: 0 auto;
		max-width: 90%;
		border: 1px solid #000;
		padding: 0 10px;
	}

	.award_more p{
		font-size: 13px;
		text-align: center;
		color: #000;
		padding: 10px 0;
		position: relative;
		letter-spacing: 0.1rem;
	}

	.award_more p::before{
		content: "";
		position: absolute;
		background-image: url(../images/arrow-icon.png);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 6px;
		height: 9px;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.teachers-voice_wrapper{
		padding-bottom: 40px;
		flex-direction: column-reverse;
		gap: 20px;
		margin: 0;
    width: 100%;
	}


	.teachers-voice_img{
		margin-top: -15px;
		width: 100%;
		margin-left: auto;
		max-width: 97%;
	}

	.teachers-voice_content_sp{
		margin-bottom: 25px;
		padding: 0 45px 0 20px;
	}

	.teachers-voice_content_sp img{
		width: 100%;
		height: auto;
	}

	.teachers-voice_content_btn{
		margin: 0 auto 0;
		max-width: 90%;
		/* border: 1px solid #000; */
		/* padding: 0 10px; */
	}

	.teachers-voice_content_btn p{
		font-size: 13px;
		text-align: center;
		color: #000;
		padding: 10px 0;
		position: relative;
	}

	.teachers-voice_content_btn p::before{
		content: "";
		position: absolute;
		background-image: url(../images/more-icon.png);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 16px;
		height: 16px;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.modal{
		width: 90%;
	}

	.modal-content{
		height: 80sdvh;
		max-height: 85dvh;
		overflow: auto;
	}

	.modal-body{
		padding: 0 20px;
		flex-direction: column;
		justify-content: flex-start;
		height: auto;
		max-height: none;
	}

	.modal-body_txt{
		width: 100%;
	}

	.modal-header{
		margin: 0 0 15px 0;
		padding: 25px 20px 15px;
	}

	.modal-header.--result{
		padding: 25px 0 10px;
		text-align: left;
		margin: 0 20px;
	}

	.modal-header h3{
		/* margin-bottom: 10px; */
		font-size: 20px;
	}

	.modal-header p{
		font-size: 15px;
	}

	.modal-body_txt p{
		font-size: 12px;
		padding-bottom: 0px;
	}

	.modal-close{
		padding: 0 10px 0 25px;
		font-size: 12px;
		height: 35px;
		top: -20px;
		left: 0;
		right: -15px;
		margin: 0 0 0 auto;
		width: fit-content;
	}

	.modal-close::before, .modal-close::after{
    left: 12px;
    width: 12px;
    height: 1px;
	}

	.modal-close::after{
		transform: translateY(-50%) rotate(-40deg);
	}

	.modal-close::before {
    transform: translateY(-50%) rotate(40deg);
	}

	.modal-body.--result{
		padding: 20px;
	}

	.modal-body.--interview{
		padding: 20px;
		overflow-y: auto;
		height: auto;
		max-height: 77dvh;
	}

	.modal-body_interview{
		width: 100%;
		overflow: initial;
	}

	.modal-body_interview_profile{
		padding: 15px;
	}

	.modal-body_interview_profile p{
		font-size: 11px;
		line-height: 1.6;
	}

	.modal-body_interview_profile_inr p span{
		font-size: 12px;
	}

	.modal-body_interview-txt_ttl{
		margin-bottom: 25px;
	}

	.modal-body_interview-txt{
		width: 100%;
		height: auto;
		max-height: none;
		overflow-y: visible;
	}

	.modal-body_interview-txt_ttl p{
		text-align: center;
		font-size: 23px;
	}

	.modal-body_interview-txt_content_ttl p{
		font-size: 20px;
	}

	.modal-body_interview-txt_content_sub p{
		font-size: 12px;
	}

	.modal-body_interview-txt_content_txt p{
		font-size: 12px;
	}

	.modal-body_after{
		width: 100%;
		overflow-y: initial;
	}

	.modal-body.--teacher{
		padding: 20px;
		overflow-y: auto;
		height: auto;
		max-height: 77dvh;
	}

	.modal-body_teacher-txt{
		width: 100%;
		height: auto;
		max-height: none;
		overflow-y: visible;
	}
	
	.modal-body_after p{
		font-size: 12px;
	}
	
	.modal-body_after_hdg p span{
		font-size: 17px;
	}

	.modal-body_after_list_item{
		margin-bottom: 0;
		flex-direction: column;
		gap: 10px;
	}

	.modal-body_after_list_item_spinr{
		display: flex;
		align-items: center;
		gap: 20px;
	}
	
	.modal-body_after_list_item_img{
		min-width: 80px;
		width: 80px;
		height: 80px;
	}

	.modal-body_after_list_item_name{
		margin-bottom: 0;
	}

	.modal-body_after_list_item_name p{
		margin-bottom: 0;
		font-size: 10px;
		line-height: 1.5;
	}

	.modal-body_after_list_item_name p span{
		font-size: 12px;
	}

	.modal-body_after_list_item_name p.en{
		font-size: 12px;
	}

	.modal-body_after p{
		font-size: 10px;
	}

	.modal-body_teacher-txt{
		width: 100%;
		overflow-y: initial;
	}

	.modal-body_teacher-txt_content_card_img{
		min-width: 40px;
		width: 40px;
		height: 40px;
	}

	.modal-body_teacher-txt_content_ttl p{
		font-size: 20px;
	}

	.modal-body_teacher-txt_content_sub p{
		font-size: 12px;
		letter-spacing: 0.05em;
	}
	
	.modal-body_teacher-txt_content_card_name p{
		font-size: 12px;
	}

	.modal-body_teacher-txt_content_card_txt p{
		font-size: 12px;
		line-height: 1.6;
	}
	
	.modal-body_teacher-txt_content_card_txt{
		padding-left: 50px;
	}

	.modal-body_teacher{
		width: 100%;
		overflow-y: initial;
	}

	.modal-body_teacher_hukidashi p{
		font-size: 10px;
	}

	.modal-body_teacher_hdg p{
		font-size: 11px;
	}

	.modal-body_teacher_hdg p span{
		font-size: 20px;
	}

	.modal-body_teacher_hdg{
		margin: -10px 0 20px;
		padding: 20px 0 15px;
	}

	.modal-body_teacher_img{
		margin-bottom: 0;
	}

	.modal-body_teacher_list{
		flex-direction: column;
		gap: 0;
	}

	.modal-body_teacher_list_item{
		width: 100%;
		margin-bottom: 20px;
		border-bottom: 1px solid #000;
	}

	.modal-body_teacher_list_item:last-child{
		margin-bottom: 0;
		border-bottom: none;
	}

	.modal-body_teacher_list_item_name{
		margin: 0;
		text-align: left;
	}

	.modal-body_teacher_list_item_name p{
		font-size: 12px;
		font-weight: 500;
	}

	.modal-body_teacher_list_item_txt p{
		font-size: 11px;
	}

	.modal-body_teacher_list_ttl{
		font-size: 11px;
		color: #707070;
		margin-bottom: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #000;
	}

	.modal-body_teacher_hukidashi{
		padding: 6px 17px;
	}

	.modal-body_teacher_hukidashi p{
		font-size: 10px;
		letter-spacing: .05em;
	}

	.modal-result{
		margin: 20px auto 0;
		padding: 24px 14px 14px;
		border-radius: 10px;
	}

	.modal-result_award{
		gap: 12px;
		margin-bottom: 10px;
	}

	.modal-result_award img{
		max-width: 62%;
	}

	.modal-result_award img.award01{
		max-width: 98px;
	}

	.modal-result_award img.award05{
		max-width: 150px;
	}

	.modal-result_award img.award02{
		max-width: 82px;
	}

	.modal-result_award img.award03{
		max-width: 82px;
	}

	.modal-result_award img.award04{
		max-width: 82px;
	}

	.modal-result_award img.award06{
		max-width: 167px;
	}

	.modal-result_name{
		flex-direction: column;
	}

	.modal-result_name p span{
		font-size: 12px;
	}

	.modal-result_note p{
		font-size: 12px;
		line-height: 1.7;
	}

	.modal-result_note{
		padding: 10px;
	}

	/* エントリー */

	.entry-fv{
		margin-top: 0;
		padding: 30px 0 10px;
	}

	.sp-entry-fv {
		padding-bottom: 32vw;
		margin-left: 20px;
		position: relative;
	}

	.entry-fv_sp_ttl{
		position: absolute;
		bottom: 9vw;
		left: 0;
		width: 72%;
		max-width: 545px;
	}

	.entry-fv_sp_ttl img{
		width: 100%;
		height: auto;
	}

	.entry-fv_inr{
		margin: 0 20px;
	}

	.entry-fv_inr::after{
		display: none;
	}

	.entry-fv_detail{
		flex-direction: column;
	}

	.entry-fv_detail_inr{
		width: 100%;
	}

	.entry-fv_detail_inr:first-child{
		border-right: none;
		border-bottom: 1px solid #000;
	}

	.entry-fv_detail_inr{
		padding: 15px;
	}

	.entry-fv_detail_ttl p{
		font-size: 16px;
	}

	.entry-fv_detail_text{
		margin-bottom: 10px;
	}

	.entry-fv_detail_text p{
		font-size: 13px;
	}

	.entry-fv_detail_description p{
		font-size: 12px;
		line-height: 1.8;
	}

	.entry-fv_detail_description ul li{
		margin-bottom: 5px;
		padding-left: 30px;
		font-size: 12px;
	}

	.entry-fv_detail_description ul li::before{
		left: 10px;
	}

	.category{
		padding: 30px 0;
		width: 100%;
		border-bottom: 1px solid #000;
	}

	.category_ttl{
		margin: 0 auto 15px;
		max-width: 150px;
	}

	.category_hdg{
		padding: 0 20px;
		margin: 0 auto 30px;
		text-align: left;
	}

	.category_hdg p{
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.15em;
	}

	.category_detail{
		padding: 0 20px;
	}

	.category_detail:last-child{
		margin-bottom: 0;
	}

	.category_detail_ttl{
		margin-bottom: 15px;
	}

	.category_detail_ttl h3{
		font-size: 16px;
	}

	.category_detail_ttl::before, .category_detail_ttl::after{
		width: 31%;
	}

	.category_detail_hdg{
		text-align: left;
	}

	.category_detail_hdg p{
		font-size: 13px;
	}

	.category_prize{
		margin-bottom: 30px;
		padding: 0 20px 45px;
		border-bottom: 1px solid #000;
	}

	.category_list{
		padding: 0 20px;
		margin-bottom: 45px;
		flex-direction: column;
		gap: 30px;
	}

	.category_list_item{
		width: 100%;
	}

	.category_list_item_judge_card{
    margin: 0 20px 15px;
		padding-bottom: 15px;
	}

	.category_list_item_description{
		margin: 10px 15px 15px;
	}

	.category_list_item_award{
		margin: 20px 15px 15px;
	}

	.category_list_item_award_txt p{
		font-size: 14px;
	}

	.category_list_item_judge_card_title p{
		font-size: 11px;
		letter-spacing: 0.25em;
	}

	.category_list_item_judge_card_title p.--mb5{
		margin-bottom: 5px;
	}

	.category_list_item_judge_card_name p{
		font-size: 16px;
	}

	.category_list_item_judge_card_info{
		width: 67%;
	}

	.category_prize_item:nth-child(n) {
		border-top: 1px solid #000;
		border-left: 1px solid #000;
		border-right: 1px solid #000;
	}

	.category_prize_item_ttl{
		padding: 5px 15px;
	}

	.category_prize_item_prize p{
		font-size: 13px;
		line-height: 1.8;
	}

	.category_prize_item_prize{
		margin: 15px 15px 32px 15px;
	}

	.category_prize_item_prize ul li{
		font-size: 13px;
	}

	.application{
		padding: 60px 20px;
	}

	.application_ttl{
		margin-bottom: 25px;
	}

	.application_ttl p{
		margin-bottom: 5px;
		font-size: 14px;
	}

	.application_ttl h3{
		font-size: 20px;
	}

	.application_hdg {
		text-align: left;
	}

	.application_hdg p{
		font-size: 13px;
		letter-spacing: 0.15em;
	}

	.application_detail{
		width: 100%;
	}

	.application_detail_item{
		flex-direction: column;
	}

	.application_detail_item_ttl{
		padding: 10px;
		min-width: 100%;
		text-align: left;
		justify-content: flex-start;
		border-right: none;
	}

	.application_detail_item_ttl p{
		font-size: 13px;
	}

	.application_detail_item_txt{
		padding: 10px;
	}

	.application_detail_item_txt p.bold{
		font-size: 13px;
	}

	.application_detail_item_txt p{
		margin-bottom: 5px;
		font-size: 12px;
	}

	.application_detail_item_txt p.dots::before{
		left: 8px;
    width: 5px;
    height: 5px;
	}

	.application_detail_item_txt ul li{
		margin-bottom: 5px;
		font-size: 12px;
	}

	.application_detail_item_txt_link a{
		width: 85%;
		max-width: 310px;
	}

	.application_detail_item_txt_link img{
		max-width: 100%;
	}

	.how-to-apply{
		margin-bottom: 0;
		padding: 0 20px 60px;
	}

	.application_detail_item_txt p a.blank::after{
		width: 11px;
		height: 11px;
		right: -15px;
		top: 50%;
		transform: translateY(-35%);
	}

	.how-to-apply_ttl{
		margin-bottom: 20px;
	}

	.how-to-apply_ttl p{
		font-size: 14px;
	}

	.how-to-apply_ttl h3{
		font-size: 20px;
	}

	.how-to-apply_hdg{
		text-align: left;
	}

	.how-to-apply_hdg p{
		font-size: 13px;
	}

	.how-to-apply_hdg p:last-child{
		font-size: 12px;
		letter-spacing: 0.05em;
	}

	.how-to-apply_detail{
		max-width: 100%;
		flex-direction: column;
		width: 100%;
	}
	
	.how-to-apply_detail_content_step_txt p{
		font-size: 12px;
	}

	.how-to-apply_detail_content_step_num{
		max-width: 25px;
		min-width: 25px;
		height: 25px;
		width: 25px;
	}

	.how-to-apply_detail_content_step{
		margin-bottom: 25px;
		position: relative;
	}

	.how-to-apply_detail_content_annotation p{
		font-size: 11px;
	}

	.how-to-apply_detail_content_step:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 25px; /* ステップ番号の高さと同じ */
		left: 27px;
		width: 1px;
		height: calc(100% + 10px); /* ステップ間の距離に合わせて調整 */
		background-color: #F0AD6C;
		z-index: -1;
	}

	.how-to-apply_detail_content_step:has(+ .how-to-apply_detail_content_annotation)::after {
		content: none;
	}

	.how-to-apply_detail_content_step:not(:last-child) .how-to-apply_detail_content_step_num::before {
			content: none;
	}

	.how-to-apply_detail_content_step:has(+ .how-to-apply_detail_content_annotation) .how-to-apply_detail_content_step_num::before {
		content: none;
	}

	.comming-soon{
		margin: 0 auto -15px;
		width: 90%;
	}

	.faq{
		padding: 65px 20px;
	}

	.faq_ttl{
		margin-bottom: 30px;
	}

	.faq_ttl p{
		font-size: 14px;
	}

	.faq_ttl h3{
		font-size: 20px;
	}
	
	.faq_question_q{
		margin-right: 15px;
		font-size: 20px;
	}

	.faq_question_text{
		padding-right: 0;
		font-size: 13px;
		line-height: 1.8;
	}

	.faq_question_icon{
		font-size: 21px;
		position: relative;
		right: 0;
		transform: translateY(0);
	}

	.faq_answer.is-open{
		padding: 20px 45px;
	}

	.faq_answer_content{
		font-size: 12px;
	}

	.contact-relationlink-wrapper{
		flex-direction: column;
	}

	.contact{
		padding: 60px 0 270px;
		width: 100%;
		min-height: auto;
	}

	.contact_ttl{
		margin-bottom: 20px;
	}

	.contact_ttl p{
		font-size: 14px;
	}

	.contact_ttl h3{
		font-size: 20px;
	}

	.contact_content_txt{
		margin-bottom: 25px;
	}

	.contact_content_txt p{
		text-align: center;
		font-size: 12px;
	}

	.relationlink{
		padding: 65px 0;
		width: 100%;
		min-height: auto;
	}

	.relationlink_content{
		width: 90%;
	}
	
	.contact-relationlink-wrapper::after{
		width: 240px;
		height: 265px;
		bottom: 37%;
	}

	.relationlink_ttl{
		margin-bottom: 20px;
	}

	.relationlink_ttl p{
		font-size: 14px;
	}

	.relationlink_ttl h3{
		font-size: 20px;
	}

	.relationlink_content_item img{
		width: 130px;
	}

	.relationlink_content_item:last-child img{
		width: 85px;
	}

	.entry-contact{
		padding: 60px 0 270px;
	}

	.entry-contact_ttl{
		margin-bottom: 20px;
	}

	.entry-contact_ttl p{
		font-size: 14px;
	}

	.entry-contact_ttl h3{
		font-size: 20px;
	}

	.entry-contact_content_btn{
		max-width: 90%;
	}

	.entry-contact_content_btn img{
		width: 100%;
		height: 100%;
	}

	.entry-contact_content_txt p{
		font-size: 12px;
		text-align: center;
		line-height: 1.6;
	}

	.entry-contact::after{
		width: 240px;
		height: 265px;
		bottom: -3%;
	}

	.apply-button-container{
		margin: 0 auto -20px;
		width: 90%;
	}

	.apply-button-container_ttl{
		max-width: 335px;
		height: auto;
		margin: 0 auto 15px;
	}

	.apply-button-container_ttl--done{
		max-width: 335px;
		height: auto;
		margin: 0 auto 15px;
	}

	.apply-button-container_content{
		flex-direction: column;
		gap: 10px;
		margin-bottom: 30px;
	}

	.apply-button-container_content a{
    min-width: 260px;
		margin: 0 auto;
	}

	.apply-button-container_content a {
		font-size: 12px
	}

	.apply-button-container_content a span{
		font-size: 18px;
	}

	.apply-button-container_visual{
		max-width: 295px;
	}

	.entry-fv_corp{
		text-align: left;
		line-height: 1.6;
		font-size: 13px;
		margin-bottom: 30px;
	}

	.category_list_item_judge_card2{
		padding-bottom: 10px;
	}

	.category_list_item_judge_card_name p span{
		letter-spacing: 0.075em;
	}

	.category_list_item_judge_desc{
		padding-bottom: 10px;
	}

	.category_list_item_judge_desc p{
		font-size: 12px;
		letter-spacing: 0.075em;
	}
}

/* sticky-bnr */
.sticky-bnr {
  position: fixed;
  bottom: 100px;
  right: 30px;
  z-index: 100;
  transition: opacity 0.3s ease;
  width: 300px;
  height: auto;
}

.sticky-bnr a{
	width: 100%;
	height: 100%;
}

.sticky-bnr a img{
	width: 100%;
	height: 100%;
}

.sticky-bnr.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.sticky-bnr-close {
  position: absolute;
  top: -15px;
  right: -15px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  z-index: 101;
}

.sticky-bnr-close img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 980px) {
  .sticky-bnr {
    bottom: 75px;
    right: 15px;
    width: 150px;
		width: 95%;
	}
  
  .sticky-bnr img {
    width: 100%;
    height: auto;
  }
  
  .sticky-bnr-close {
    top: -10px;
    right: 0;
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 500px) {
	/* .movie_content_item{
		height: 210px;
	} */
}

/* accordion (category_list_item --accordion) */
:root{
  /* 既定（PC）で下から隠す高さ。JSが参照します */
  --accordion-hidden-bottom: 235px;
}

.category_list_item.--accordion .accordion-content{
	overflow: hidden;
	position: relative;
	transition: max-height 0.4s ease;
}

.category_list_item.--accordion .accordion-content.is-collapsed::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 30px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 80%);
	pointer-events: none;
}

.category_list_item.--accordion .accordion_more{
	cursor: pointer;
	user-select: none;
	position: relative;
	width: fit-content;
	margin: 0 auto 20px;
}

.accordion_more p{
	font-size: 12px;
	color: #606060;
	text-align: center;
	letter-spacing: 0.1em;
}

.accordion_more p::before {
    content: "";
    position: absolute;
    background-image: url(../images/arrow-icon.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 5px;
    height: 8px;
    right: -10px;
    top: 60%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s ease;
}

.accordion_more.is-open p::before{
    transform: translateY(-50%) rotate(-90deg);
}

@media screen and (max-width: 980px) {
	  /* アコーディオン（SP時の非表示量を上書き可能） */
		:root{
			--accordion-hidden-bottom: 180px;
		}	
}

/*
	結果発表
*/

/* thnaks */

.thanks-sec{
	padding: 80px 0;
	border-bottom: 1px solid #000;
}

.thanks-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.thanks-sec_ttl{
	margin-bottom: 20px;
	text-align: center;
}

.thanks-sec_ttl h2{
	font-size: 32px;
	font-weight: 500;
	color: #F56A48;
	letter-spacing: 0.2em;
	line-height: 1.3;
}

.thanks-sec_text{
	text-align: center;
}

.thanks-sec_text p{
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

/* individual-result */

.individual-result-sec{
	padding: 128px 0 0;
}

.individual-result-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.individual-result-sec_year{
	margin-bottom: 20px;
	text-align: center;
}

.individual-result-sec_year p{
	font-size: 40px;
	font-weight: 500;
	color: #F56A48;
	letter-spacing: 0.15em;
}

.individual-result-sec_ttl{
	max-width: 350px;
	height: auto;
	margin: 0 auto;
}

.individual-result-sec_ttl h2 img{
	width: 100%;
	height: 100%;
}

/* prize */
.prize {
	max-width: 1440px;
	width: 90%;
  margin: 50px auto 65px;
  text-align: center;
}

.prize_ttl {
  max-width: 240px;
	width: 100%;
	height: auto;
	margin: 0 auto 30px;
}

.prize_ttl.-ajstokyo {
	max-width: 340px;
}

.prize_ttl.-alumni {
	max-width: 390px;
}

.prize_ttl img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.prize_card {
  background-color: #FEF7E4;
  border: 1px solid #000;
  /* padding: 20px 0 60px; */
	padding: 20px 0 30px;
  text-align: center;
	margin-bottom: 40px;
}

.prize_card:last-child {
	margin-bottom: 0;
}

.prize_card_ttl {
	font-family: "Plantin", serif;
	font-size: 32px;
	padding-bottom: 20px;
	margin-bottom: 25px;
	border-bottom: 1px solid #000;
	letter-spacing: 0.1em;
}

.prize_card_name_container {
  /* margin-bottom: 30px; */
	margin-bottom: 20px;
}

.prize_card_school {
  font-size: 16px;
  margin-bottom: 17px;
  font-weight: 500;
	letter-spacing: 0.14em;
}

.prize_card_name {
  /* font-size: 24px; */
	font-size: 26px;
  font-weight: 500;
	letter-spacing: 0.1em;
}

.prize_card_name span {
  font-size: 14px;
  margin-left: 5px;
	letter-spacing: 0.1em;
}

.prize_card_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  /* padding: 22px 40px; */
	padding: 13px 40px;
  color: #000;
  text-decoration: none;
  font-size: 16px;
	letter-spacing: 0.1em;
	font-weight: 400;
  position: relative;
  min-width: 320px;
}

.prize_card_btn_icon {
  width: 24px;
  height: 24px;
  border: 1px solid #000;
  border-radius: 50%;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.prize_card_btn_icon::before,
.prize_card_btn_icon::after {
  content: '';
  position: absolute;
  background-color: #000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.prize_card_btn_icon::before {
  width: 12px;
  height: 1px;
}

.prize_card_btn_icon::after {
  width: 1px;
  height: 12px;
}

.prize_card_note {
  margin-top: 20px;
  font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #777777;
}

/* commentary */
.commentary-sec{
	padding: 0 0 64px;
}

.commentary-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.commentary-sec_ttl{
	max-width: 306px;
	width: 25%;
	margin: 0 auto 25px;
}

.commentary-sec_ttl h2 img{
	width: 100%;
	height: 100%;
}

.commentary-sec_list{
	max-width: 1440px;
	width: 90%;
	margin: 0 auto;
}

.commentary-sec_list_item{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	padding: 40px 0;
	border-top: 1px solid #000;
}

.commentary-sec_list_item:last-child{
	border-bottom: 1px solid #000;
}

.commentary-sec_list_item_img{
	max-width: 290px;
	width: 100%;
	height: auto;
}

.commentary-sec_list_item_img img{
	width: 100%;
	height: auto;
	object-fit: cover;
}

.commentary-sec_list_item_inr{
	width: 100%;
}

.commentary-sec_list_item_title{
	margin-bottom: 20px;
}

.commentary-sec_list_item_title p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.commentary-sec_list_item_name{
	margin-bottom: 24px;
}

.commentary-sec_list_item_name p{
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.13em;
}

.commentary-sec_list_item_description{
}

.commentary-sec_list_item_description p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

/* commentary2 */
.commentary2-sec{
	padding:0 0 64px;
}

.commentary2-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.commentary2-sec_ttl{
	max-width: 385px;
	width: 25%;
	margin: 0 auto 25px;
}

.commentary2-sec_ttl h2 img{
	width: 100%;
	height: 100%;
}

.commentary2-sec_list{
	max-width: 1440px;
	width: 90%;
	margin: 0 auto;
}

.commentary2-sec_list_item{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	padding: 40px 0;
	border-top: 1px solid #000;
}

.commentary2-sec_list_item:last-child{
	border-bottom: 1px solid #000;
}

.commentary2-sec_list_item_img{
	max-width: 290px;
	width: 100%;
	height: auto;
}

.commentary2-sec_list_item_img img{
	width: 100%;
	height: auto;
	object-fit: cover;
}

.commentary2-sec_list_item_inr{
	width: 100%;
}

.commentary2-sec_list_item_title{
	margin-bottom: 20px;
}

.commentary2-sec_list_item_title p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
}

.commentary2-sec_list_item_name{
	margin-bottom: 24px;
}

.commentary2-sec_list_item_name p{
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.13em;
}

.commentary2-sec_list_item_description{
}

.commentary2-sec_list_item_description p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

/* commentary3 */
.commentary3-sec{
	padding:0;
}

.commentary3-sec_inner{
	max-width: 1440px;
	width: 90%;
	margin: 0 auto;
}

.commentary3-sec_ttl{
	max-width: 438px;
	width: 25%;
	margin: 0 auto 25px;
}

.commentary3-sec_ttl h2 img{
	width: 531px;
	margin: 0 auto;
}

.commentary3-sec_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid #707070;
	border-right: none;
	border-left: none;
}

.commentary3-sec_list_head {
  grid-column: 1 / -1;
  border-bottom: 1px solid #707070;
	border-left: 1px solid #707070;
	border-right: 1px solid #707070;
}

.commentary3-sec_list_head_title {
  text-align: center;
  padding: 20px 0;
}

.commentary3-sec_list_head_title p {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.15em;
}

.commentary3-sec_list_item {
  display: flex;
  justify-content: space-between;
	align-items: center;
  padding: 20px;
  border-left: 1px solid #707070;
}

.commentary3-sec_list_item:last-child {
	border-right: 1px solid #707070;
}

.commentary3-sec_list_head+.commentary3-sec_list_item {
  border-left: 1px solid #707070;
}

.commentary3-sec_list_item_img {
  width: 40%;
}

.commentary3-sec_list_item_inr {
  width: 55%;
}

.commentary3-sec_list_item_title {
  font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	margin-bottom: 5px;
}

.commentary3-sec_list_item_school {
  font-size: 12px;
  margin-top: 10px;
	color: #606060;
	letter-spacing: 0.1em;
}

.commentary3-sec_list_item_name {
  font-size: 20px;
  font-weight: 400;
  margin-top: 10px;
}

/* group-result */
.group-result-sec{
	padding: 64px 0;
	max-width: 1440px;
	width: 90%;
	margin: 0 auto 48px;
}

.group-result-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.group-result-sec_ttl{
	max-width: 350px;
	height: auto;
	margin: 0 auto 30px;
}

.group-result-sec_ttl h2 img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.group-result-sec_hdg{
	text-align: center;
	margin-bottom: 30px;
}

.group-result-sec_hdg p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.group-result-sec_table {
  border-radius: 20px;
  overflow: hidden;
}

.table-header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background-color: #F5E9CA;
	font-size: 20px;
  font-weight: 400;
	letter-spacing: 0.17em;
	gap: 20px;
	padding: 0 30px;
}

.table-header .header-item {
	padding: 20px 0;
}

.header-item:not(:last-child) {
  border-right: 2px solid #fff;
}

.table-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background-color: #FFFBEF;
  padding: 0 30px;
	gap: 20px;
	align-items: center;
}

.table-row:not(:last-child) {
	border-bottom: 1px solid #fff;
}

.table-data {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.17em;
	line-height: 1.6;
	padding: 20px 0;
	height: 100%;
	align-content: center;
}

.table-data:not(:last-child) {
	border-right: 2px solid #fff;
}

@media screen and (max-width: 768px) {
  .table-header {
    display: none;
  }

  .table-row {
    grid-template-columns: 1fr;
		gap: 15px;
		padding: 15px;
  }
	
	.table-row:not(:last-child) {
		border-bottom: 2px solid #EFEFEF;
	}

  .table-data::before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
		color: #333;
  }
}

/* participation-school */
.participation-school-sec{
	padding: 64px 0 160px;
	border-bottom: 1px solid #000;
}

.participation-school-sec_inner{
	max-width: 100%;
	margin: 0 auto;
}

.participation-school-sec_ttl{
	max-width: 437px;
	width: 100%;
	height: auto;
	margin: 0 auto 30px;
}

.participation-school-sec_hdg{
	text-align: center;
	margin-bottom: 30px;
}

.participation-school-sec_hdg p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}


.table-school-list{
	max-width: 1440px;
	width: 90%;
	margin: 0 auto;
}

.table-school-list_item{
	width: 100%;
	border-radius: 20px;
	margin-bottom: 20px;
	overflow: hidden;
}

.table-school-list_item:last-child{
	margin-bottom: 0;
}

.table-school-list_item_ttl{
	background-color: #F5E9CA;
	padding: 20px 30px;
}

.table-school-list_item_ttl p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.table-school-list_item_content{
	background-color: #FFFBEF;
	padding: 20px 30px 30px;
}

.table-school-list_item_content p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.table-school-list_item_content p{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.5;
}

.archive-link-btn {
	display: block;
	max-width: 320px;
	width: 100%;
	margin: 43px auto 0;
	border: 1px solid #000;
	padding: 0 10px;
	text-align: center;
	color: #000;
	text-decoration: none;
}

.archive-link-btn span {
	font-size: 16px;
	padding: 16px 0;
	display: block;
	position: relative;
	letter-spacing: 0.1rem;
}

.archive-link-btn span::after {
	content: "";
	position: absolute;
	right: 7px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 7px;
	height: 7px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}

@media (hover: hover) and (pointer: fine) {
  .archive-link-btn:hover {
		opacity: 0.7;
    transition: all 0.25s;
  }
}

/* evaluation-criteria */
.evaluation-criteria-sec {
    padding: 55px 0;
}

.evaluation-criteria-sec_inner {
    width: 100%;
    margin: 0 auto;
}

.evaluation-criteria-sec_criteria,
.evaluation-criteria-sec_reason,
.evaluation-criteria-sec_comment {
    position: relative;
    background-color: #FDF7E6;
    padding: 50px;
    margin-bottom: 10px;
}

.evaluation-criteria-sec_criteria{
	border-radius: 40px 40px 20px 20px;
}

.evaluation-criteria-sec_reason{
	border-radius: 20px;

}

.evaluation-criteria-sec_comment {
	border-radius: 20px 20px 40px 40px;
}


.evaluation-criteria-sec_criteria::before {
    content: '';
    position: absolute;
    width: 28px;
    height: 28px;
    background: #FDF7E6;
    left: 50%;
    top: -14px;
    transform: translateX(-50%) rotate(45deg);
    border-radius: 4px;
}

.evaluation-criteria-sec_title {
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    color: #F57959;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 20px;
    letter-spacing: 0.1em;
}

.evaluation-criteria-sec_title.-reason {
    color: #0AAD94;
}

.evaluation-criteria-sec_title.-reason::after {
    border-bottom: 2px dashed #0AAD94;
}

.evaluation-criteria-sec_title.-comment {
    color: #0AAD94;
}

.evaluation-criteria-sec_title.-comment::after {
    border-bottom: 2px dashed #0AAD94;
}

.evaluation-criteria-sec_title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    border-bottom: 2px dashed #F57959;
}

.evaluation-criteria-sec_list {
    display: flex;
    justify-content: center;
    list-style-type: none;
    padding: 0;
		gap: 10px;
}

.evaluation-criteria-sec_list li {
    text-align: center;
		width: 19%;
}

.evaluation-criteria-sec_list span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: #F57959;
    color: white;
    border-radius: 50%;
    margin: 0 auto 10px;
    font-size: 20px;
    font-weight: bold;
}

.evaluation-criteria-sec_list p {
    font-size: 20px;
		font-weight: 400;
		letter-spacing: 0.1em;
}

.evaluation-criteria-sec_reason p,
.evaluation-criteria-sec_comment p {
    font-size: 16px;
		font-weight: 400;
		letter-spacing: 0.18em;
    line-height: 1.6;
    text-align: justify;
}


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

	.thanks-sec{
		padding: 30px 0;
	}

	.thanks-sec_ttl{
		max-width: 90%;
		width: 100%;
		margin: 0 auto 20px
	}

	.thanks-sec_ttl h2{
		font-size: 16px;
	}

	.thanks-sec_text{
		margin-bottom: 0;
	}

	.thanks-sec_text p{
		font-size: 13px;
		line-height: 1.8;
	}

	.individual-result-sec{
		padding: 30px 0 0;
	}

	.individual-result-sec_ttl{
		max-width: 40%;
	}

	.individual-result-sec_year{
		margin-bottom: 13px;
	}

	.individual-result-sec_year p{
		font-size: 14px;
	}

	.prize{
		margin: 30px auto;
	}

	.prize_ttl{
		max-width: 115px;
		margin: 0 auto 15px;
	}

	.prize_ttl.--02{
		max-width: 94px;
	}

	.prize_ttl.-ajstokyo{
		max-width: 180px;
	}

	.prize_ttl.-alumni{
		max-width: 200px;
	}

	.prize_card{
		/* padding: 15px 0 40px; */
		padding: 15px 0 20px;
		margin-bottom: 20px;
	}

	.prize_card_ttl{
		font-size: 16px;
		padding-bottom: 13px;
		line-height: 1.3;
	}

	.prize_card_school{
		margin-bottom: 12px;
		font-size: 12px;
	}

	.prize_card_name_container{
		/* margin-bottom: 25px; */
		margin-bottom: 15px;
	}

	.prize_card_name{
		/* font-size: 16px; */
		font-size: 20px;
	}

	.prize_card_btn{
		font-size: 13px;
		padding: 13px 20px;
		min-width: 295px;
		width: 88%;
	}

	.prize_card_note{
		font-size: 11px;
	}

	.commentary3-sec_list{
		grid-template-columns: repeat(1, 1fr);
	}

	.commentary3-sec_list_item{
		border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
	}

	.commentary3-sec_list_item:last-child{
		border-bottom: none;
	}

	.commentary3-sec_list_head_title p{
		font-size: 16px;
	}

	.commentary3-sec_list_item_title{
		font-size: 11px;
	}

	.commentary3-sec_list_item_school{
		font-size: 10px;
	}

	.commentary3-sec_list_item_name{
		font-size: 16px;
		letter-spacing: 0.15em;
		margin-top: 5px;
	}

	.commentary3-sec_list_item_img{
		width: 27%;
	}

	.commentary3-sec_list_item_inr{
		width: 67%;
	}

	.evaluation-criteria-sec{
		padding: 45px 0 0;
	}

	.evaluation-criteria-sec_title{
		font-size: 16px;
		margin-bottom: 20px;
	}

	.evaluation-criteria-sec_title.-reason::after{
		border-bottom: 1px dashed #0AAD94;
	}

	.evaluation-criteria-sec_title.-comment::after{
		border-bottom: 1px dashed #0AAD94;
	}

	.evaluation-criteria-sec_title::after{
		border-bottom: 1px dashed #F57959;
	}

	.evaluation-criteria-sec_criteria,
	.evaluation-criteria-sec_reason,
	.evaluation-criteria-sec_comment{
		padding: 20px 0 40px;
	}

	.evaluation-criteria-sec_list{
		flex-direction: column;
		max-width: fit-content;
		margin: 0 auto;
		gap: 17px;
	}
	
	.evaluation-criteria-sec_list li{
		width: 100%;
		display: flex;
		align-items: center;
		gap: 15px;
		flex-direction: row;
	}

	.evaluation-criteria-sec_list span{
		margin: 0;
		font-size: 16px;
		width: 30px;
		height: 30px;
	}

	.evaluation-criteria-sec_list p{
		font-size: 14px;
	}

	.evaluation-criteria-sec_reason p,
	.evaluation-criteria-sec_comment p{
		margin: 0 auto;
		width: 85%;
		font-size: 12px;
		line-height: 1.7;
		letter-spacing: 0.17em;
	}


	.table-school-list_item_ttl{
		padding: 15px 20px;
	}

	.table-school-list_item_content{
		padding: 15px 20px 20px;
	}

	.participation-school-sec_hdg p{
		font-size: 14px;
	}

	.participation-school-sec_hdg{
		max-width: 90%;
		margin: 0 auto 30px;
		text-align: left;
	}

	.table-school-list_item_content p{
		font-size: 12px;
	}

	.commentary-sec{
		padding: 0 0 50px;
	}

	.commentary-sec_ttl{
		max-width: 90%;
		width: 100%;
		margin: 0 auto 20px;
	}

	.commentary-sec_list_item{
		flex-direction: column;
		padding: 20px 0;
		gap: 15px;
	}

	.commentary-sec_list_item_inr{
		display: flex;
		align-items: center;
		gap: 15px;
	}

	.commentary-sec_list_item_img{
		max-width: 100%;
    width: 24%;
		min-width: 81px;
	}

	.commentary-sec_list_item_sp_inr{
		width: 76%;
	}

	.commentary-sec_list_item_title{
		margin-bottom: 10px;
	}

	.commentary-sec_list_item_title p{
		font-size: 12px;
	}

	.commentary-sec_list_item_name{
		margin-bottom: 0;
	}

	.commentary-sec_list_item_name p{
		font-size: 16px;
	}

	.commentary-sec_list_item_description{
	}

	.commentary-sec_list_item_description p{
		font-size: 12px;
	}

	.commentary2-sec{
		padding: 0 0 50px;
	}

	.commentary2-sec_ttl{
		max-width: 90%;
		width: 100%;
		margin: 0 auto 20px;
	}

	.commentary2-sec_list_item{
		flex-direction: column;
		padding: 20px 0;
		gap: 15px;
	}

	.commentary2-sec_list_item_inr{
		display: flex;
		align-items: center;
		gap: 15px;
	}

	.commentary2-sec_list_item_img{
		max-width: 100%;
    width: 24%;
	}

	.commentary2-sec_list_item_title{
		margin-bottom: 10px;
	}

	.commentary2-sec_list_item_title p{
		font-size: 12px;
	}

	.commentary2-sec_list_item_name{
		margin-bottom: 0;
	}

	.commentary2-sec_list_item_name p{
		font-size: 16px;
	}

	.commentary2-sec_list_item_description{
	}

	.commentary2-sec_list_item_description p{
		font-size: 12px;
	}

	.commentary3-sec_ttl{
		max-width: 100%;
		width: 100%;
		margin: 0 auto 20px;
	}

	.group-result-sec{
		padding: 96px 0 0;
		margin: 0 auto 30px;
	}

	.group-result-sec_ttl{
		max-width: 43%;
		margin: 0 auto 20px;
	}

	.group-result-sec_hdg p{
		text-align: left;
		font-size: 14px;
	}

	.table-school-list2{
		width: 100%;
		margin: 0 auto;
	}
	
	.table-school-list2_item{
		width: 100%;
		border-radius: 20px;
		margin-bottom: 10px;
		overflow: hidden;
	}
	
	.table-school-list2_item:last-child{
		margin-bottom: 0;
	}
	
	.table-school-list2_item_ttl{
		background-color: #F5E9CA;
		padding: 8px 12px;
	}
	
	.table-school-list2_item_ttl p{
		font-size: 13px;
		font-weight: 400;
		letter-spacing: 0.18em;
		line-height: 1.5;
	}
	
	.table-school-list2_item_content{
		background-color: #FFFBEF;
		padding: 8px 12px;
	}
	
	.table-school-list2_item_content p{
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 0.18em;
		line-height: 1.5;
	}

	.table-school-list2_item_content_num{
		display: flex;
		margin-bottom: 15px;
	}

	.table-school-list2_item_content_num_ttl{
		width: 37%;
	}
	
	.table-school-list2_item_content_teacher{
		display: flex;
		align-items: center;
	}

	.table-school-list2_item_content_teacher_ttl{
		width: 37%;
	}

	.participation-school-sec_ttl{
		max-width: 48.5%;
		margin: 0 auto 20px;
	}

	.archive-link-btn span{
		font-size: 11px;
		padding: 15px 0;
	}

	.archive-link-btn {
		display: block;
		max-width: 90%;
		width: 100%;
		margin: 43px auto 0;
		border: 1px solid #000;
		padding: 0 10px;
		text-align: center;
		color: #000;
		text-decoration: none;
	}

	.archive-link-btn span {
		font-size: 16px;
		padding: 17px 0;
		display: block;
		position: relative;
		letter-spacing: 0.1rem;
	}

	.archive-link-btn span::after {
		content: "";
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		width: 8px;
		height: 8px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
	}

}