@charset "UTF-8";
/* CSS Document */


:root {
  --main-2026-color-1: #E3007B;  /*ピンク*/
  --main-2026-color-2: #FFF000;  /*黄色*/
  --main-2026-color-3: #F67C19;  /*オレンジ*/
  --main-2026-color-4: #69B72D;  /*グリーン*/
	
  --base-width-1: 1200px;  /*基本幅*/
  --base-width-2: 940px;  /*基本幅*/

}
.container {
	max-width: 1300px !important;
}
@media (min-width: 1400px) {
	.container {
		max-width: 1400px;
	}
}




/*背景色*/
.bg_pink {
	background-color: var(--main-2026-color-1);
}
.bg_white {
	background-color: white;

}


a {
	text-decoration: none;
}
a.underLine {
	text-decoration: underline;
}
:root {
	font-size: 15px;
	line-height: 1.6;
}
@media(min-width:576px){
	:root {
		font-size: 16px;
	}
}

body * {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}

p.outLineText {
	font-weight: 700;
}


.container_type_inlinesize {
	container-type: inline-size;
}

    

/* タイトル */
h2, h3, h4, h5, h6  {
	font-weight: 800;
}
h2 {
	font-size: 32px;
	line-height: 1.2;
	color: var(--main-2025-color-1);
	text-align: center;
	border: none;
}
.h2_default_wrap {
	text-align: center;
	container-type: inline-size;
}
h2.h2_default {
	font-size: clamp(1.3rem, 2.4cqw, 2.4cqw);
	font-weight: 700;
	color: black;
	text-align: center;
	background-color: var(--main-2026-color-2);
	border: solid 2px #9f9640;
	line-height: 1;
	padding: 3cqw 4cqw;
	border-radius: 100px;
	display: inline-block;
	min-width: 30cqw;
	margin-bottom: 3rem;
	position: relative;
	z-index: 1;
	text-align: center;
	width: fit-content;
	justify-content: space-between;
}
@media(min-width:768px){
	h2.h2_default {
		padding: 2.1cqw 3cqw;
	}
}
/* 協賛企業等のタイトル */
.color_title {
    color: var(--main-2026-color-3);
	text-align: center;
	display: flex;
	text-box-trim: trim-both;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 24px;
	font-size: 30px;
}
.color_title::before,
.color_title::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #819FA3;
}






/* ヘッダー */
header {
    background-color: #040000;
    padding: 16px;
}
header .header_wrap {
    display: grid;
    grid-template-columns: 90px auto;
    column-gap: 16px;
    align-items: center;
} 
header h1 {
    color:  white;
    font-weight: 700;
    font-size: 15px;
    text-align: right;
}
header h1 span {
	display: block;
}

@media (min-width: 798px) {
	header .header_wrap {
		grid-template-columns: 120px auto;
		column-gap: 32px;
	} 
    header h1 {
        font-size: 22px;
    }
	header h1 span {
		display: inline;
	}
	
}

.too_logo {
    width: 80px;
    max-width: 80px;
}
@media (min-width: 768px) {
	.too_logo {
		width: 120px;
		max-width: 120px;
	}
}






/*　申し込みバー　*/
.app_bar_wrap {
	position: sticky;
	bottom: 0;
	padding: 1.4rem 10px;
	background-color: var(--main-2026-color-4);
	z-index: 100;
	box-shadow: 0 -1px 2px 0 rgba(0,0,0,0.2);

}
.app_bar {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 0.7rem;
}
.app_bar_wrap a {
	line-height: 1;
	border-radius: 100px;
	background-color:  var(--main-2026-color-2);
	color: #000;
	font-weight: 700;
	transition: 0.5s;
	filter: hue-rotate(0);
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2),  0 1px 10px 1px rgba(0,0,0,0.1);
	text-align: center;
	
	font-size: 1rem;
	padding: 1.1rem 1.3rem;
}
.app_bar_wrap a br {
	display: block;
}
@media(hover:hover) {
	.app_bar_wrap a {
		font-size: 1.1rem;
		padding: 1.3rem 1.8rem;
	}
	.app_bar_wrap a:hover {
		filter: hue-rotate(90deg);
	}
	.app_bar_wrap a br {
		display: none;
	}
}
.nav_header {
	display: none;
}

@media(min-width: 768px){
	.nav_header {
		display: block;
	}
}

/* メイン */
.main_wrap {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-top: 1rem;
	display: flex;
	align-items: center;
	flex:1;
	gap: 1rem 0rem; 
}
.main_l {
	display: none; 
}
@media(min-width:768px){
	.main_l {
		display: block;
		width: 60%; 
	}
}





.main_logo {
	max-width: 600px;
	margin-bottom: 2rem;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}
.main_r picture,
.main_r picture img {
	width: 100%;
	max-width: 440px;
}
.main_app_btn {
	width: 320px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}
.main_date {
	margin-top: 1.4rem;
	width: 100%;
	max-width: 340px;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}
.main_date_wrap {
	display: none;
}
.main_r {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%; 
}
.main_r_titleimg {
	width: 100%;
}

.main_r img {
	width: 100%;
}
@media(min-width:768px){
	.main_r {
		width: 40%; 
	}
	.main_date_wrap {
		display: block;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
}








/* メイン申し込みボタン */



/* -----　あにつくとは -----　*/


.about_atsuc_wrap {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index: 1;

	margin-top: -2rem;
}
@media(min-width: 768px){
	.about_atsuc_wrap {
		margin-top: -11cqw;
	}
}



dl.about_atsuc {
    margin: 0 auto;
	padding: 1rem;
	background-color: var(--main-2026-color-2);
	border-radius: 24px;
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 16px;
	border: solid 2px #000;
	container-type: inline-size;
}
.about_atsuc dt {
    font-size: 32px;
    line-height: 1.2;
	font-weight: 800;
	font-style: normal;
	text-box-trim: trim-both;
	color: var(--main-2025-color-1);
	width: fit-content;
	line-height: 1.1;
	white-space: nowrap;
	letter-spacing: -4px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
}
@media(min-width:576px){
	.about_atsuc dt {
	    font-size: 56px;
		display: block;
	}
}



.about_atsuc dt > span {
	font-weight: 800;
	 color: white;
	-webkit-text-stroke: 1px black;
	text-stroke: 2px black;
	display: flex;
	align-items: center;
	flex: 1;
	white-space: nowrap;
	justify-content: space-between;
	letter-spacing: -4px;
}
.about_atsuc dt > span::after {
	display:block;
	content: "";
	border-radius: 100px;
	border: solid 1px #000;
	width: 1.5em;
	background-color: white;
	margin-right: 16px;

	height: 6px;
}
@media(min-width:576px){
	.about_atsuc dt > span::after {
		height: 8px;
	}
}

.about_atsuc dd {
    font-size: 16px;
    line-height: 1.7;
	width: 100%;
	text-align: justify;
}
 p.about_current_theme {
	display: block;
	line-height: 1.2;
	font-size: 1.2em;
	text-align: center;
	margin-bottom: 0.8em;
	 font-weight: 500;
}


@media (min-width: 768px) {
	dl.about_atsuc {
		padding: 2rem;
		border-radius: 24px;
		display: flex;
		gap: 2em;
		container-type: inline-size;
	}
	.about_atsuc dt {
		font-size: 64px;
		width: fit-content;
	}
	.about_atsuc dd {
		font-size: 18px;
	}
	 p.about_current_theme {
		display: none;
	}
}



/* 今年のテーマ */
.current_theme {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	max-width: var( --base-width-2 );
	margin-left:  auto;
	margin-right: auto;
	margin-top: 10rem;
	margin-bottom: 0;
	
}
.current_theme_title {
	line-height: 1;
	white-space: nowrap;
	font-weight: 700;
	border-radius: 16px;
	border: solid 4px #000;
	background-color: white;
	gap: 0;
	margin: 0;
	width: fit-content;
	text-align: center;
	margin-left: auto;
	margin-right: auto;

	font-size: 1.8rem;
	padding: 1.2rem 1.0rem;
}
@media(min-width: 576px) {
	.current_theme_title {
		padding: 2rem 1.4rem;
		font-size: 2.3rem;
	}
}

.current_theme_title_wrap::after {
	content: "";
	display: block;
	width: 2.5rem;
	border: solid 4px #000;
	border-bottom: none;
	border-top: none;
	margin-left: auto;
	margin-right: auto;
	background-color: white;

	height: 3rem;
}
@media(min-width: 576px) {
	.current_theme_title_wrap::after {
		height: 5rem;
	}
}


.current_theme_descp {
	color: white;
	line-height: 1.2;
	text-align: center;
	font-weight: 700;

	font-size: 2rem;
}
@media(min-width: 992px) {
	.current_theme {
		display: flex;
		justify-content: space-around;
		align-items: center;
		gap: 1rem;
	}
	.current_theme_descp .lg-hidden {
		display: none;
	}
	.current_theme_descp {
		font-size: 3rem;
	}
}
.current_theme_descp > span {
	display: block;
	font-size: 0.7em;
	margin-top: 0.3rem;
}






/*コンセプト*/
.current_concept {
    margin: 0 auto;
	padding: 3.5%;
	background-color: white;
	border-radius: 24px;
	max-width: var( --base-width-2 );
	margin-left: auto;
	margin-right: auto;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2), 0 1px 50px 1px rgba(0, 0, 0, 0.12);
}
.current_concept p{
    font-size: 1.2rem;
	line-height: 1.6;
	text-align: justify;
}




/* ------- ニュース -------- */
.news_wrap {
	background-color: white;
	padding: 4cqw 0 6cqw;
}

.news_list_wrap {
	/*height: 300px;*/
	overflow: auto;
	max-width: var( --base-width-2 );
	margin-left: auto;
	margin-right: auto;
}
ul.news_list {
	padding: 0;
	margin: 0;
}
ul.news_list li {
	display: flex;
	align-items: center;

	gap: 2px 16px;
	flex-wrap: wrap;
	width: 100%;
	padding: 1rem;
	font-size: calc(100vw * 0.01);
	background-color: var(--main-2026-color-1);
	list-style: none;
	margin: 3px 0;
}
.news_list_date {
	width: 6em;
	font-weight: 400;
	font-size: 15px;
}
.news_list_content {
	font-weight: 500;
	font-size: 1.1rem;
}
.news_list li,
.news_list li a,
.news_list li a:link,
.news_list li a:visited {
	color: white;
	line-height: 1.3;
	font-weight: 600;
}
@media (min-width: 768px) {
	.news_list td {
		padding: 24px 10px  20px  0;
		font-size: 22px;
	}
}




@media (min-width: 1200px) {
	h2 {
		font-size: 32px;
	}
}
@media (min-width: 1400px) {
	h2 {
		font-size: 40px;
	}
}

.title_catch_e {
	font-style: normal;
	font-weight: 400;
	color: var(--main-2025-color-1);
	margin-bottom: 16px;
	text-box-trim: trim-both;
	line-height: 1;
	font-size: 44px;
;
}
@media (min-width: 992px) {
	.title_catch_e {
		font-size: 64px;
	}
}
@media (min-width: 1400px) {
	.title_catch_e {
		font-size: 80px;
	}
}





/* イベント概要 */

.event_outline_atsuc {
	font-size: 9cqw;
	text-align: center;
	line-height: 1.2;
	font-weight: 700;
	color: white;
	margin-bottom: 2rem;
}
@media(min-width: 768px) {
	.event_outline_atsuc {
		font-size: 5cqw;
	}
}

.event_outline {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px , 1fr));
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	gap: 2rem 4%;
}






/* イベント詳細 */


.event_detail_text {
	font-size: 20px;
	line-height: 1.8;
}
@media (min-width: 992px) {
	.event_detail_text {
		font-size: 24px;
	}
}
.event_overview_obi {
	background-color: var(--main-2025-color-1);
	color: white;
	overflow: hidden;
	position: relative;
	height: 48px;
}

.event_overview_obi::before {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	content: "あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025　あにつく2025";
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	font-size: 20px;
	color: white;
	line-height: 1;
	overflow: hidden;
	color: #C6D6D8;
}
@media (min-width: 992px) {
	.event_overview_obi {
		height: 64px;
	}
	.event_overview_obi::before {
		font-size: 24px;
	}
}

.main_menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    margin-left: 24px;
    margin-right: 24px;
}



.main_menu_btn {
    padding: 18px;
    font-size: 16px;
    color: #000;
    font-weight: 700;
    border: solid 3px var(--main-2024-color-1);
    display: inline-block;
    border-radius: 16px;
    min-width: 270px;
    transition: 0.5s;
}
.main_menu_btn:hover {
    text-decoration: none;
    border: solid 3px #A8610E;
}


@media (max-width: 1199px) {
	.main_menu {
        gap: 30px;
	}
}
@media (max-width: 979px) {
	.main_menu {
        display: flex;
         gap: 16px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
        flex-wrap: wrap;
	}
    .main_menu > div {
        width: calc( ( 100%   - 16px )  / 2 );
    }

}
@media (max-width: 767px) {
    .main_menu {
    }
    .main_menu > div {
        width: calc(  100%  );
    }

}


.table-outline p {
    margin: 0;
}

.table-outline tr {
    display: grid;
    grid-template-columns: 120px auto;
    margin-bottom: 0;
    align-items: stretch;
    column-gap: 1px;
}
.table-outline tr th {
	text-align: center;
}

.table-outline tr th,
.table-outline tr td {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    flex-wrap: wrap;
}
.table-outline tr th ,
.table-outline tr th > p,
.table-outline tr td > p {
	font-size: 16px;
	font-weight: 400;
}
.table-outline tr td, .table-outline tr th {
    padding: 16px 16px;
    background-color: transparent;
    border-bottom: solid 1px #333;
    border-left: solid 1px #333;
}
.table-outline {
    border-top: solid 1px #333;
    border-right: solid 1px #333;
}
@media (min-width: 992px) {
	.table-outline tr {
		grid-template-columns: 240px auto;
	}	
	.table-outline tr th ,
	.table-outline tr th > p,
	.table-outline tr td > p {
		font-size: 24px;
	}
	.table-outline tr th ,
	.table-outline tr th {
		padding: 28px 16px;
	}
	
	
}



/* SNS */
#sns {
	border-bottom:none;
}

.sns_wrap {
	margin-top: clamp(2rem, 3cqw, 3cqw);
	margin-bottom: 6cqw;

}


#sns ul {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 16px;
	margin: 0 auto 0;
	padding: 0;
}
#sns ul li{
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 36px;
}
#sns ul li a{
	font-size: 2rem;
	color: white;
	display: inline-block;
}


.x_wrap {
	margin-left: -50px;
}

.x_wrap a.x_btn {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 0.1rem;
	position: relative;
}
.x_wrap a.x_btn::before {
	content: "";
	position: absolute;
	left: 70px;
	right: -1rem;
	height: 50%;
	border-radius: 24px;
	border: solid 2px #FFF;
}
.x_wrap a.x_btn span.descp {
	font-size: 20px;
	font-size: 1.6rem;
	color: white;
	font-weight: 500;
	white-space: nowrap;
	line-height: 1;
	text-box-trim: trim-both;
	z-index: 1;
	position: relative;
	pa
}
.x_wrap a .x_button_img {
	height: 130px;
	width: auto;
	display: block;
	z-index: 1;
	position: relative;
}

@media (min-width: 640px) {
	.x_wrap a {
		padding: 10px 22px;
		border-radius: 12px;
		font-size: 18px;
	}
}
.mt-100 {
    margin-top: 100px;
}
.mb-100 {
    margin-bottom: 100px;
}




/*タイムテーブル*/
.timeTable_WrapAll {
}
@media (min-width: 992px) {
}

.timeTable_seminar_h5 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 32px;
	font-size: 1.1rem;
	column-gap: 0;
}

.timeTable_seminar_h5 > span {
	background-color: #222;
	padding: 0.8em 1.2em;
	line-height: 1;
	white-space: nowrap;
	color: white;
	min-width: 9em;
	text-align: center;
	border: solid 1px #222;
} 
.timeTable_seminar_h5 > span:first-child {
	border-top-left-radius: 100px;
	border-bottom-left-radius: 100px;
} 
.timeTable_seminar_h5 > span:last-child {
	border-top-right-radius: 100px;
	border-bottom-right-radius: 100px;
	background-color: white;
	color: #000;
	border: solid 1px #222;
	font-weight: 600;
} 

.timetable_company_wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	column-gap: 2rem;
	height: 120px;
}


.timeTable_Wrap {
	margin-left: auto;
	margin-right: auto;
	padding: 42px 0;
}


@media (min-width: 992px) {
    .timeTable_Wrap {
		padding: 70px 40px;
    }
    
}
.timetable_row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax( 320px , 1fr));
	gap: 24px 2.5%;
	margin-left: auto;
	margin-right: auto;

}


/*タイムテーブルロゴ*/
.company_logo_wrap_all {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 120px;
}


.company_logo_wrap {
  /* トリミング範囲の最大横幅 */

  /* トリミングするアスペクト比 */

	max-width: 200px;
  overflow: hidden;
}

.company_logo_wrap img {
  display: block;

  width: 100%;
  height: 100%;

  /*
   * アスペクト比を維持しながら、
   * トリミング枠全体を画像で埋める
   */
  object-fit: cover;

  /*
   * 画像中央をトリミングの原点にする
   */
  object-position: 50% 50%;
}





.timetable_title_wrap  {
	margin-top: 16px;
}
.timetable_title_wrap > div {
	font-weight: 700;
	line-height: 1.2;
	font-size: 1.3rem;
    color: #7eb40c;
}

.timetable_company_wrap{
	margin-top: 8px;
	z-index: 0;
	position: relative;
}


.timetable_speaker_wrap {
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.2;
}
.timetable_speaker_wrap {
	position: relative; 
	padding-top: 16px;
}
.timetable_speaker_wrap::before {
	content: "";
	height: 3px;
	border-radius: 10px;
	background-color: rgba(240,231,231,1.00);
	left: 0;
	right: 0;
	top:0;
	width: 100%;
	position: absolute;
}


.timetable_speaker_list,
.timetable_speaker_list li{
	list-style: none;
	margin: 0 0 0.5em;
	padding: 0;
}
.timetable_speaker_list li {
	display: flex;
	gap: 6px 0.5rem;
	justify-content: space-between;
}
.timetable_parson_name,
.timetable_parson_name > span:first-child{
	width: fit-content;
	white-space: nowrap;
	font-weight: 600;
}


.timetable_parson_name span.timetable_parson_name_furigana {
	display: none;
}

.timetable_parson_name span.timetable_parson_name_uji {
	font-size: 0.9em;
	font-weight: 300;
	display: inline-block;
	margin-left: 0.1em;
	color: #666;
}




/*スクロールアニメ*/
:root {
  /* カスタマイズ用 */
  --overview-font-size: 6cqw;
  --overview-speed: 20s;
  --overview-gap: 80px;
  --overview-color: #FFF;
}
.overview_marquee_wrap {
	position: relative;
	width: 100%;
	container-type: inline-size;
	display: flex;
	align-items: center;
	justify-content: center;
	height: clamp( 90px, 16cqw,16cqw);
}
.overview_marquee {
	width: 100%;
	overflow: hidden;
}

.overview_marquee_wrap_icon{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
}
.overview_marquee_wrap_icon img{
	max-width: auto;
	height: clamp( 90px, 16cqw,16cqw);
}









.overview_marquee__track {
  display: flex;
  width: max-content;

  /* 左から右へ移動 */
  animation: overview-scroll-right var(--overview-speed) linear infinite;
  will-change: transform;
}

.overview_marquee__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--overview-gap);
  padding-right: var(--overview-gap);
}

.overview_marquee__group span {
  flex-shrink: 0;

  color: var(--overview-color);
  font-size: var(--overview-font-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;

	-webkit-text-stroke: 3px #000;
	paint-order: stroke;
}

/* 左から右へ無限スクロール */
@keyframes overview-scroll-right {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* スマートフォン対応 */
@media (max-width: 767px) {
  :root {
    --overview-font-size: 64px;
    --overview-gap: 40px;
    --overview-speed: 14s;
  }
}

/* 動きを減らす設定への対応 */
@media (prefers-reduced-motion: reduce) {
  .overview_marquee__track {
    animation-play-state: paused;
  }
}








/*セミナー詳細パネル*/

:root {
  /* 詳細画面の横幅 */
  --detail-modal-width: 80vw;

  /* 詳細画面の最大横幅 */
  --detail-modal-max-width: 1200px;

  /* 詳細画面全体の最大高さ */
  --detail-modal-max-height: 80vh;

  /* スマートフォンでの画面端の余白 */
  --detail-modal-mobile-margin: 16px;

  /* 色 */
  --detail-modal-bg: #ffffff;
  --detail-modal-overlay: rgb(0 0 0 / 80%);
  --detail-modal-text: #222222;
  --detail-modal-border: #000;
  --detail-modal-link: #1769aa;

  /* 装飾 */
  --detail-modal-radius: 16px;
  --detail-modal-shadow: 0 12px 40px rgb(0 0 0 / 25%);
}


.show_detail {
	cursor: pointer;
	transition: 1s;
	background-color: white;
	border-radius: 16px;
	border: solid 2px #000;
	padding: 5%;
	box-sizing: border-box;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.07), 0 1px 20px 1px rgba(0, 0, 0, 0.35);
	margin-bottom: 0;
	transition: 0.5s;
	position: relative;
}
@media(hover:hover){
	.show_detail:hover {
		border: solid 2px var( --main-2026-color-2);
		margin-top: -16px;
		margin-bottom: 16px;
	}
}
.detail_modal__content {
	padding: 5%;
}

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

.detail_header {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media(min-width: 768px){
	.detail_header {
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 3rem;
	}
}


.seminar_header_spec {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem 2rem;
}


.detail_time_room {
	display: flex;
	align-items: center;
	gap: 0.2em;
	flex-wrap: wrap;
}

.detail_time, .detail_room {
	background-color: #222;
	white-space: nowrap;
	line-height: 1;
	color: white;
	padding: 0.8em 1.2em;
	border-radius: 100px;
	display: inline-block;
	font-size: 1rem;
}

.detail_company_logo_wrap{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: 2rem;
}

.detail_company_logo_img_wrap {
	width: 100%;
	overflow: hidden;
	display: block;
	max-width: 180px;
	max-height: 140px;
}
.detail_company_logo_wrap img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}




.detail_title_wrap {
	container-type: inline-size;
	margin-bottom: 1.1rem;
}

div.detail_title_company_name {
	font-size: 1.2rem;
	margin-bottom: 8px;
}
div.detail_title_company_name div {
	padding-bottom: 0.3em;
	display: inline-block;
	border-bottom: solid 3px #CF1DDB;
	line-height: 1.1;
}

h3.detail_title {
	font-size: clamp(1.3rem, 3.1cqw, 3rem);
}


.detail_speaker_wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media(min-width: 768px){
	.detail_speaker_wrap {
		grid-template-columns: 1fr 1fr;
	}
}


h3.detail_speaker_h3 {
	margin-top: 3rem;
	font-size: 1.1rem;
	line-height: 1;
	margin-bottom: 1.6rem;
	padding-bottom:0.1rem;
	border-bottom: solid 1px #888;
}


.detail_speaker_wrap_inner {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 16px;
}
@media(min-width: 576px){
	.detail_speaker_wrap_inner {
		grid-template-columns: 100px 1fr;
		gap: 24px;
	}
}
.detail_speaker_company {
	font-size: 1.3rem;
	line-height: 1.2;
	font-weight: 600;
}
.detail_speaker_name,
.detail_speaker_name > span:first-child{
	font-size: 1.1rem;
	line-height: 1.2;
	font-weight: 600;
	margin-top: 0.4em;
}
.detail_speaker_title {
	font-size: 1rem;
	line-height: 1.2;
	margin-top: 0.5em;
}
.detail_speaker_descp * {
	font-size: 0.86rem;
	line-height: 1.6;
	color: #666;
	margin-top: 1em;
}
.detail_speaker_uji {
	font-size: 0.8em;
	color: #666;
	font-weight: 300;
}
.detail_speaker_photo_img {
	border-radius: 8px;
}

.detail_report_wrap {
}

a.detail_report_link {
	padding: 0.8em 1.2em;
	line-height: 1;
	font-size: 15px;
	border-radius: 100px;
	background-color: white;
	text-box-trim: trim-both;
	border:solid 1px #000;
	font-weight: 600;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2), 0 1px 10px 1px rgba(0,0,0,0.08);
	white-space: nowrap;
	display: inline-block;
}
a.detail_report_link:link,
a.detail_report_link:visited {
	color: #000;
	
}
.detail_ul {
	
}
.detail_ul li {
	line-height: 1.2;
	margin: 0.2em 0 ;
}

.detail_speaker_name span.a1_oda + span.detail_speaker_uji:after {
	content: "/ 2017年入社";
	display: inline-block;
	margin-left: 0.3em;
}
.detail_speaker_name span.a1_morioka + span.detail_speaker_uji:after {
	content: "/ 2018年入社";
	display: inline-block;
	margin-left: 0.3em;
}
.detail_speaker_name span.a1_ito + span.detail_speaker_uji:after {
	content: "/ 2021年入社";
	display: inline-block;
	margin-left: 0.3em;
}






/* セミナーレベル */
.detail_difficulty,
.timetable_difficulty {
	position: relative;
	display: flex;
	column-gap: 8px;
	align-items: center;
	line-height: 1;
	clear: both;
	z-index: 1;
}
.detail_difficulty span,
.timetable_difficulty span {
	display: flex;
	column-gap: 8px;
	align-items: center;
}
.detail_difficulty span > span,
.timetable_difficulty span > span {
	text-box-trim: trim-both;
	padding: 6px;
	line-height: 1;
	border-radius: 100px;
	text-box-trim: trim-both;
	line-height: 1;
	color: #000;
	display: inline-block;
	width:  60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #000;

	font-weight: 600;
	white-space: nowrap;
}
.detail_difficulty span > span{
	width:  52px;
	height: 52px;
	font-size: 15px;
}
.timetable_difficulty span > span {
	width:  40px;
	height: 40px;
	font-size: 13px;
}




.detail_difficulty span > span.level1,
.timetable_difficulty span > span.level1 {
	background-color: #fa75bd;
}
.detail_difficulty span > span.level1::before,
.timetable_difficulty span > span.level1::before {
	content: '学生';
}
.detail_difficulty span > span.level2,
.timetable_difficulty span > span.level2{
	background-color: var(--main-2026-color-4);
}
.detail_difficulty span > span.level2::before,
.timetable_difficulty span > span.level2::before{
	content: 'プロ';
}
.detail_difficulty span > span.level3,
.timetable_difficulty span > span.level3{
	background-color: var(--main-2026-color-3);
}
.detail_difficulty span > span.level3::before,
.timetable_difficulty span > span.level3::before{
	content: '一般';
}














/* ーーー　　展示ブース　ーーー*/

/*スクロールアニメ*/
:root {
  --exhibition-color: #fff;

  /*
   * 各文字の初期変形量
   * 0.5 = 縦1.5倍
   */
  --exhibition-character-deformation-y: 0.5;

  /* 下からスライドする距離 */
  --exhibition-character-distance: 300px;
}

.exhibition_booth_wrap .container {
	container-type: inline-size;
}

.exhibition_section {
  display: flex;
  justify-content: center;
  overflow: hidden;
	height: 220px;
	position: relative;
	z-index: 1;
}
@media(min-width:992px){
	.exhibition_section {
		height: 360px;
	}
}


.exhibition_title {
  display: flex;
  justify-content: center;
  align-items: baseline;

  color: var(--exhibition-color);
  font-family: Helvetica, Arial, sans-serif;
  font-size: var(--exhibition-font-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.exhibition_title__character {
  --character-progress: 0;
  --character-opacity: 0;

  font-family: Helvetica, Arial, sans-serif;
  font-size: 11cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
	
  display: inline-block;
  flex-shrink: 0;

  opacity: var(--character-opacity);

  /*
   * progressが0の場合：
   * 下に100px、縦1.5倍
   *
   * progressが1の場合：
   * 定位置、縦1倍（変形なし）
   */
  transform:
    translateY(
      calc(
        (1 - var(--character-progress)) *
        var(--exhibition-character-distance)
      )
    )
    scaleY(
      calc(
        1 +
        (1 - var(--character-progress)) *
        var(--exhibition-character-deformation-y)
      )
    );

  /*
   * 文字の下側を基準に縦方向へ変形
   */
  transform-origin: center bottom;

  will-change: transform, opacity;
}

.exhibition_title__character.is-space {
  width: 0.3em;
}

/* スマートフォン */
@media (max-width: 767px) {
  :root {
    --exhibition-font-size: 52px;
    --exhibition-character-distance: 60px;
    --exhibition-character-deformation-y: 0.4;
  }
}

/* 動きを減らす設定 */
@media (prefers-reduced-motion: reduce) {
  .exhibition_title__character {
    --character-progress: 1 !important;
    --character-opacity: 1 !important;

    transform: none !important;
  }
}








.exhibition_booth_wrap {
	background-color: var(--main-2026-color-4);
	padding-top:    10cqw;
	padding-bottom: 10cqw;
	position: relative;
	overflow: hidden;
}
.exhibition_booth_body_wrap{
	position: relative;
	margin-top: -160px;
}

.exhibition_booth_body_bg {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.exhibition_booth_body_bg > img {
	position: relative;
	aspect-ratio: 1076 / 711;
	width: 100%;
}

.exhibition_booth_body {
	position: relative;
	z-index: 10;
}
.exhibition_booth_body .detail_company_icon {
	min-height: 120px;
	display: flex;
	align-items: center;
}

.exhibition_booth_title {
	font-size: 8cqw;
	line-height: 1;
	white-space: nowrap;
	text-align: center;
	color: white;
	font-family: Helvetica, "sans-serif";
	font-weight: bold;
	margin-bottom: 3cqw;
}






/* ーーー　　アフターパーティー　ーーー*/
.after_party_wrap {
	background-color: var(--main-2026-color-1);
	position: relative;
	padding-top:    6cqw;
	padding-bottom: 6cqw;
	aspect-ratio: 16 / 9 ;
}
.after_party_wrap_inner {
	display: grid;
	grid-template-columns: 0.5fr 5fr 0.5fr;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 1.5 / 1;
	flex: 1;
}
@media(min-width: 992px){
	.after_party_wrap_inner {
		grid-template-columns: 1fr 5fr 1fr;
		grid-template-rows: 1fr 3fr 1fr;
	}
}

@media(min-width: 1200px){
	.after_party_wrap_inner {
		grid-template-columns: 2.3fr 5fr 2.3fr;
		grid-template-rows: 1fr auto 1fr;
	}
}

.after_party_bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.after_party_bg img {
	width: 70%;
	height: auto;
}
.hand_wrap {
	position: relative;
}
.hand_1{
	position: absolute;
	z-index: 10;
	bottom: -20px;
	right:  -40px;
}
.hand_1 img {
	width: 100%;
	height: auto;
}
.hand_2 {
	position: absolute;
	z-index: 10;
	top: -100px;
	left: -60px;
}
.hand_2 img {
	width: 100%;
	height: auto;
}
@media(min-width: 992px){
	.hand_1{
		bottom: -30px;
		right:  -50px;
	}
}
@media(min-width: 1200px){
	.hand_1{
		bottom: -70px;
		right:  -70px;
	}
}


.after_party_body {
	background-color: #111;
	padding: 5%;
	border-radius: 20px;
	color: white;
	margin-left: auto;
	margin-right: auto;
	z-index: 0;
}
.after_party_body h3 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 1rem;
	font-size: 2rem;
	line-height: 1.2;
}

@media (min-width:768px) {
	.after_party_body h3 {
		font-size: 3rem;
	}
}
.after_party_body h3 > span {
	display: inline-block;
	text-align: center;
	padding: 1rem 2rem;
	font-size: 1.1rem;
	background-color: var(--main-2026-color-1);
	line-height: 1;
	white-space: nowrap;
	border-radius: 100px;
	color: white;
}
.after_party_body table {
	width: 100%;
}
.after_party_body table th,
.after_party_body table td {
	font-size: 1rem;
	border: none;
	display: block;
	width: 100%;
}

.after_party_body table th {
	width: fit-content;
	white-space: nowrap;
	padding-right: 1rem;
}
.after_party_body table td {
	font-size: 1.4rem;
	font-weight: 700;
	padding-bottom: 1rem;
}

@media (min-width:768px) {
	.after_party_body table th,
	.after_party_body table td {
		display: table-cell;
	}
}

.after_party_body table td span.after_party_tablespan  {
	font-size: 0.6em;
	font-weight: 300;
	display: block;
	margin-top: 0.3rem;
	margin-left: 0;
}
.after_party_body td.after_party_tableprice {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1rem;
}
.after_party_tableprice span {
	font-size: 0.6em;
	font-weight: 300;
	display: inline-block;
	margin-left: 0.5rem;
}
.after_party_tableprice div {
	font-weight: 700;
}

.after_party_table_link a:link,
.after_party_table_link a:visited {
	color: white;
	text-decoration: underline;
	font-size: 0.9rem;
	display: block;
	margin-top: 0.6rem;
}

@media (min-width:768px) {
	.after_party_body table td {
		font-size: 1.7rem;
	}
}

.after_party_app_btn {
	padding: 1rem 2rem;
	color: white;
	background-color: #0054D8;
	font-weight: 600;
	text-decoration: none;
	border-radius: 50px;
	display: inline-block;
	leading-trim: both;
	text-box-edge: cap alphabetic;
	transition: 0.5s;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06), 0 1px 15px 0 rgba(0,0,0,0.21);
	font-size: clamp(18px, 3.5cqw, 28px);
	border: solid 2px rgba(255, 255, 255, 0.35);
}
a.after_party_app_btn:visited ,
a.after_party_app_btn:link {
	color: white;
}
.after_party_app_btn:hover {
	background-color: #1E74FC;
}




/* ーーー　　会場案内図　ーーー*/

.venue_map_wrap {
	padding-top:    1.2rem;
}

 a.venue_map_btn{
	color: white;
	 border: solid 1px #FFF;
	 padding: 10px 16px;
	 border-radius: 100px;
	 font-size: 15px;
	 line-height: 1;
}





/* ーーー　　スポンサー　ーーー*/
.cooperating_companies_wrap {
    margin-top: 60px;
    margin-bottom: 60px;
}
.cooperating_companies {
    display: flex;
    gap: 24px 76px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: center;
	align-items: center;
}
.cooperating_companies li {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 110px;

}
.cooperating_companies_logo {
    min-width: 110px;
}
.atsuc_supporting_companies {
    gap: 0 48px;

}





/*　ーーー　協力　ーーー　*/
.atsuc_special_supporting_companies {
    justify-content: center;
    gap: 0 56px;

}
.cooperating_companies.atsuc_supporting_companies li {
    max-width: 140px;

}
.cooperating_companies.atsuc_special_supporting_companies li {
    max-width: 240px;

}
.cooperating_companies.atsuc_special_supporting_companies li img {
	max-width: 180px;
	max-height: 80px;
}

.atsuc_supporting_companies_text {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 24px 42px;
    justify-content: center;
}
.cooperating_companies.atsuc_supporting_companies_text li {
    margin: 8px 0;
    padding: 0;
}
.production {
    display: flex;
    gap: 34px 42px; 
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}





/*　ーーー　サブページ　ーーー　*/
.h1_wrap {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
@media only screen and (max-width: 979px) {
    .h1_wrap {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}


.h1_wrap h1 {
    font-weight: 700;
    margin: 0;
    padding: 0;
    color: var(--main-2024-color-2);
    line-height: 1.1;
    font-size: 30px;
}
.h1_wrap > div:first-child {
    display: grid;
    grid-template-columns: 80px auto;
    align-items: center;
    gap: 24px; 
}
.h1_wrap div.sub_link_wrap {
    display: flex;
    justify-content: end;
}
@media only screen and (max-width: 979px) {
    .h1_wrap div.sub_link_wrap {
        justify-content: space-between;
    }
}




/* ------- サブリンク --------- */
.subLink, .subLink li {
    margin: 0;
    padding: 0;
    display: flex;
}
.subLink {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
	margin-left: auto;
	margin-right: auto;
}
.footer_sub_link .acms-icon {
	padding-right: 0;
}
 
.main_wrap_bg .footer_sub_link .subLink{
    justify-content: flex-start;
}


.subLink li {
    flex-wrap: wrap;
    list-style: none;
}
.subLink a {
    padding: 6px 10px;
    border: solid 3px #000;
    border-radius: 12px;
    font-size: 14px;
	transition: 0.5s;
    background-color: #FFF;
	border: solid 2px black;
	font-weight: 600;
	font-style: normal;
}
.main_wrap_bg .subLink .event,
.main_wrap_bg .subLink .draft,
.main_wrap_bg .subLink .draft-port {
	display: none;
}



@media only screen and (min-width: 640px) {
	.main_wrap_bg .subLink .event,
	.main_wrap_bg .subLink .draft,
	.main_wrap_bg .subLink .draft-port {
		display: flex;
	}
	.main_wrap_bg .footer_sub_link .subLink{
		justify-content: center;
	}

}




@media only screen and (min-width: 992px) {
	.subLink {
		gap: 8px;
	}
	.subLink a {
		padding: 10px 14px;
		border-radius: 16px;
		font-size: 16px;
	}
}

.subLink a:hover {
    text-decoration: none;
    background-color: #F4E5D9;
}
.subLink a.app_btn_submenu {
    background-color:#68C300;
    color: #FFF;
    border: solid 3px #67BA0A;
    border-radius: 50px;
}
.sub_menu_wrap {
    background-color: rgba(255,255,255,0.86);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    padding: 16px 0;
}
.subLink a.app_btn_submenu:hover {
    background-color: #1AA54B;
}






#sb-wrapper-inner {
    border-radius: 20px !important;
}
#sb-wrapper-inner {
    border-radius: 30px;
    border: solid 10px #DDD !important;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
#sb-body, #sb-loading {
    background-color: #FAFAFA !important;
}



.container_all_wrap {
    position: relative;
}
.sticky {
    position: sticky;
    top: 0;
    z-index: 100;
}








/* ----- セッションヘッダ -----  */
.scedule_date {
	background-color: var(--main-2025-color-1);
	border-radius: 100px;
	padding: 5px 5px;
}

@media only screen and (min-width: 992px) {
	.scedule_date {
		padding: 10px 20px;
	}
}


.scedule_date > div:first-child {
	color: white;
	font-size: 18px;
	padding-left: 15px;
}
.scedule_date .goto_timetagle span.acms-icon {
	padding-right: 0;
}
.scedule_date .goto_timetagle span:last-child {
	display: none;
}


.scedule_date_link {
	justify-content: flex-end;
}
.scedule_date_link > a.session_link {
	font-size: 15px;
	color: var(--main-2025-color-1);
	padding: 5px 15px;
	background-color: white;
	border: none;
	transition: 0.5s;
	display: flex;
	align-items: center;
	column-gap: 8px;
}



@media only screen and (min-width: 992px) {
	.scedule_date .goto_timetagle span:last-child{
		display: inline-block;
	}
	.scedule_date > div:first-child {
		font-size: 30px;
	}
	.scedule_date_link > a.session_link {
		font-size: 20px;
	}
}

.scedule_date_link > a.session_link:hover {
	background-color: #F2EEDD;
}
.scedule_date_link > a.app_btn {
	color: white;
	background-color: #68C300;
	border: solid 1px #fff;
	max-width: fit-content;
}
.scedule_date_link > a.app_btn:hover {
	background-color: #94FA1F;
}

.seminar_content_wrap {
	border-radius: 0;
}
@media only screen and (min-width: 576px) {
	.seminar_content_wrap {
		border-radius: 48px;
	}
}

.seminar_content .sessuin_time {
}
.seminar_content h3 {
	font-size: 22px;
}
@media only screen and (min-width: 992px) {
	.seminar_content h3 {
		font-size: 32px;
	}
}

div[id^="seminar"] {
	padding: 10px;
	border: solid 3px rgba(255,255,255,1.00);
	box-shadow: rgba(0,0,0,0.1) 0 4px 8px 2px,rgba(0,0,0,0.3) 0 1px 2px;
	border-radius: 24px;
	background-color: #FBFBF4;
}
@media only screen and (min-width: 992px) {
	div[id^="seminar"] {
		padding: 50px;
		border-radius: 40px;
	}
}


@media only screen and (max-width: 992px) {
	.tab-content {
		padding: 16px;	}
}
.tab-content {
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
}
.tab-content h4.participating_works {
	font-size: 13px;
}



.spec_columns{
	column-count: 3;
	column-gap: 24px;
}





/*パネル*/
.panel.panel_s {
	padding: 0.8rem;
	border-radius: 4px;
}
.panel {
	background-color: rgba(255,255,255,0.7);
	padding: 1rem;
	border-radius: 6px;
}
.panel.panel_l {
	padding: 1.1rem;
	border-radius: 8px;
}
@media (min-width: 768px){
	.panel_s {
		padding: 1rem;
		border-radius: 6px;
	}
	.panel {
		padding: 1.5rem;
		border-radius: 8px;
	}	
	.panel_l {
		padding: 1.8rem;
		border-radius: 10px;
	}	

}





.panel.panel_red  {
	background-color: rgba(219, 182, 199, 0.18);

}
.panel.panel_blue  {
	background-color: rgba(191,210,255,0.15);

}
.panel.panel_green  {
	background-color: rgba(198, 227, 183, 0.31);
	border: solid 1px rgba(219,226,224,0.4);

}
.panel.panel_yellow  {
	background-color: rgba(255,240,191,0.15);
	border: solid 1px rgba(226,225,219,0.4);

}
.panel.panel_gray  {
	background-color: rgba(231,231,231,0.47);
}





footer #copy,
footer #copy a{
	color: #FFF;
	font-size: 14px;
}