@charset "utf-8";

@font-face {
	font-family: "Zen Kaku Gothic Antique";
	src: url("fonts/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "Zen Kaku Gothic Antique";
	src: url("fonts/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Medium.ttf") format("truetype");
	font-weight: 500;
}

@font-face {
	font-family: "Zen Kaku Gothic Antique";
	src: url("fonts/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Bold.ttf") format("truetype");
	font-weight: bold;
}

@font-face {
	font-family: "Shippori Mincho B1";
	src: url("fonts/Shippori_Mincho_B1/ShipporiMinchoB1-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "Shippori Mincho B1";
	src: url("fonts/Shippori_Mincho_B1/ShipporiMinchoB1-Medium.ttf") format("truetype");
	font-weight: 500;
}

@font-face {
	font-family: "Shippori Mincho B1";
	src: url("fonts/Shippori_Mincho_B1/ShipporiMinchoB1-SemiBold.ttf") format("truetype");
	font-weight: bold;
}

@font-face {
	font-family: "Average";
	src: url("fonts/Average/Average-Regular.ttf") format("truetype");
}



/*==================共通設定====================*/

:root {
	--main-red: #C01A20;
	--light-red: rgba(192,26,32,0.8);
	--main-grey: #B7B8B8;
	--dark-grey: #818181;
	--light-grey: #D4D4D4;
	--contents-width: 1200px;
}

html {
/*	scroll-behavior: smooth;*/
	overflow-x: hidden;
}

body {
	width: 100%;
	font-size: 16px;
	line-height: 1.7;
	color: #333;
	font-family: "Zen Kaku Gothic Antique",sans-serif;
	position: relative;
}

main {
	max-width: var(--contents-width);
	margin: 0 auto;
	padding: 60px 20px 0 20px;
}

main section {
	margin: 0 0 120px 0;
}

a {
	color: var(--main-red);
	text-decoration: none;
	transition: all 0.5s;
}

a img {
	transition: all 0.5s;
}

a:hover img {
	opacity: 0.8;
}

figure {
	margin: 0 0 40px 0;
}

figure a:hover img {
	opacity: 0.7;
}

p {
	margin: 0 0 30px 0;
	color: #333;
	text-align: justify;
	line-break: strict;
}

html:lang(en) p {
	text-align: inherit;
}

div p:last-child {
	margin: 0;
}

ul,
ol,
li {
	list-style: none;
}

img {
	width: 100%;
	vertical-align: bottom;
}

table {
	width: 100%;
	margin: 0 0 60px 0;
	border: dashed 1px var(--dark-grey);
}

th, td {
	vertical-align: middle;
}

table tr th {
	padding: 20px;
	background: var(--light-red);
	text-align: center;
	font-weight: 500;
	color: #fff;
	border-bottom: dashed 1px #fff;
	border-left: solid 1px var(--light-red);
}

table tr td {
	padding: 20px 20px 20px 30px;
	border-bottom: dashed 1px var(--dark-grey);
	text-align: left;
}

table tr:first-child th {
	border-top: solid 1px var(--light-red);
}

table tr:first-child td {
	border-top: dashed 1px var(--dark-grey);
}

table tr:last-child th {
	border-bottom: solid 1px var(--light-red);
}

table:not(.spVertical) tr:last-child td {
	border-bottom: none;
}

table td + td {
	border-left: dashed 1px var(--dark-grey);
}

strong {
	font-weight: bold;
}

sup {
	font-size: 75%;
	vertical-align: top;
	position: relative;
	top: -0.3em;
}

sub {
	font-size: 75%;
	vertical-align: bottom;
	position: relative;
	bottom: -0.3em;
}

sup + sub {
	left: -1em;
}

em {
	font-style: italic;
}

br.tbspOnly,
br.spOnly {
	display: none;
}

/*　ボタン装飾　*/

.linkBtn a,
.linkBtn span.disable {
	max-width: 400px;
	padding: 30px 0;
	display: block;
	font-size: 1.2rem;
}

.linkBtn a {
	background: var(--main-red);
	color: rgba(255, 255, 255, 1);
	text-align: center;
	transition: all 0.3s;
}

.linkBtn span.disable {
	border: solid 1px var(--main-red);
	color: var(--main-red);
}

.linkBtn a span,
.linkBtn span.disable span {
	display: inline-block;
	font-weight: 500;
	transition: all 0.3s;
	position: relative;
}

.linkBtn a span:before {
	content: url("../img/triSWhite.svg");
	position: absolute;
	left: -15px;
	top: -2px;
}

.linkBtn a:hover span,
.registration p a:hover {
	font-weight: bold;
}

.linkBtn a:hover {
	background: var(--light-red);
}

.linkBtn a:hover span {
	transform: translateX(5px);
}

/*　ヘッダー　*/

header {
	width: 100%;
	z-index: 100;
	background: #fff;
}

header.is-fixed {
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

header .headerTopWrapper {
	max-width: 1500px;
	margin: 0 auto;
	padding: 12px 20px;
	display: grid;
	grid-template-columns: 30% auto 38px;
	gap: 0 20px;
	align-items: center;
}

header h1 img {
	max-width: 280px;
}

header ul.bannerList {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: flex-end;
	align-items: center;
}

header ul.bannerList li a img {
	width: auto;
	max-width: 130px;
	max-height: 40px;
}

header .langBtn {
	position: absolute;
	right: 20px;
	top: 20px;
}

header .langBtn li {
	background: var(--main-red);
	border-radius: 28px;
}

header .langBtn li a {
	width: 28px;
	height: 28px;
	padding: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
	border-radius: 28px;
	transition: all 0.3s;
}

header .langBtn li a:hover {
	font-weight: bold;
	background: rgba(0,0,0,0.2);
}

html:lang(ja) header .langBtn li.jp,
html:lang(en) header .langBtn li.en {
	display: none;
}

header nav {
	width: 100%;
	background: var(--main-red);
}

header nav .menuBtn {
	display: none;
}

header nav ul.globalNav,
header nav ul.globalNav li,
header nav ul.globalNav li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

header nav ul.globalNav {
	width: 100%;
	max-width: var(--contents-width);
	margin: 0 auto;
}

header nav ul.globalNav li:after {
	content: '';
	width: 5px;
	height: 23px;
	display: block;
	background: url('../img/navLiAfter.svg') no-repeat;
}

header nav ul.globalNav li:last-child:after {
	content: none;
}

header nav ul.globalNav li a {
	color: #fff;
	padding: 16px 30px;
}

header nav ul.globalNav li.current a,
header nav ul.globalNav li a:hover {
	font-weight: bold;
}

header nav ul.globalNav li a:hover {
	background: rgba(0,0,0,0.2);
}

/*　トップページ　*/

.top .swiper,
.swiper-wrapper {
	max-height: 550px;
}

.top .swiper .swiper-slide {
	height: auto;
}

.top .swiper .slide01 {
	background: #fff linear-gradient(-55deg,rgba(255, 255, 255, 0) 75%, rgba(212, 212, 212, 0.7) 100%);
}

.top .swiper .swiper-slide .slide-inner {
	width: 100%;
	height: 100%;
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
}

.top .swiper .swiper-slide.slide03 .slide-inner {
	max-width:100%;
}

.top .swiper .slide01 img {
	width: 48vw;
	min-width: 400px;
	max-width: 550px;
	transform: translateY(max(-4vw, -9vh));
}

.top .swiper .slide01 img.spOnly {
	display: none;
}

.top .swiper .sliderContentsWrapper {
	display: grid;
	z-index: 10;
	position: absolute;
}

.top .swiper .slide01 .sliderContentsWrapper {
	width: 50%;
	grid-template-columns: auto auto;
	justify-content: space-around;
	align-items: center;
	font-weight: 500;
	right: 20px;
	top: calc(50% - 1.5em);
	transform: translateY(-50%);
}

.top .swiper .slide01 p.title {
	margin: 0;
	left: 51%;
	font-size: 1.5rem;
	letter-spacing: 0.31rem;
	line-height: 1.1;
}

.top .swiper .slide01 p.title span {
	font-size:0.98rem;
	letter-spacing: 1px;
}

.top .swiper .slide01 .vertical {
	height: max-content;
	margin: 0 0 0 10px;
	writing-mode: vertical-rl;
	right: 5%;
}

.top .swiper .slide01 .vertical p,
.top .swiper .slide01 .vertical p span {
	--font-size: clamp(1.2rem, 2.7vw, 2.8rem);
	--letter-spacing: clamp(10px, 0.6vw, 1rem);
	font-family: "Shippori Mincho B1",serif;
	font-size: var(--font-size);
	letter-spacing: var(--letter-spacing);
	font-weight: 500;
	color: var(--main-grey);
}

.top .swiper .slide01 .vertical p:last-child {
	margin-top: calc(var(--font-size) * 3 + var(--letter-spacing) * 3);
}

.top .swiper .slide01 .vertical p span {
	color: var(--main-red);
}

.top .swiper .slide02 {
	background: url('../../img/slide02_bg.jpg') no-repeat;
	background-position: 40% center;
	background-size: cover;
}

.top .swiper .slide02 .sliderContentsWrapper {
	width: calc(100% - 40px);
	max-width: 1580px;
	padding: 20px;
	grid-template-columns: 0.8fr 1fr 1fr 1fr;
	gap: 3vw;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.top .swiper .slide02 .sliderContentsWrapper figure,
.top .swiper .slide02 .sliderContentsWrapper img {
	margin: 0;
}

.top .swiper .slide02 .sliderContentsWrapper figure {
	text-align: center;
}

.top .swiper .slide03 {
	background: url('../../img/slide03_bg.jpg') no-repeat;
	background-position: 40% center;
	background-size: cover;
}

.top .swiper .slide03 .sliderContentsWrapper {
	width: auto;
	right: 0;
	top: 35%;
	transform: translateY(-50%);
	padding: 20px;
	color: #fff;
	background: rgba(0,0,0,0.28);
	backdrop-filter: blur(1px);
/*	background: rgba(255,255,255,0.2);
	backdrop-filter: blur(1px);*/
	font-size: 2rem;
	text-align: end;
	text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.6);
	line-height: 1.1;
	letter-spacing: 2px;
	font-weight: 500;

}

.top .swiper .slide03 .sliderContentsWrapper span {
	font-size: 1.3rem;
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 20px;
}

.swiper-pagination-bullet-active {
	background: var(--main-red);
}

.top section:has(div.outline) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7%;
}

.top .dateWrapper {
	margin: 0 0 50px 0;
}

.top .contentsLine {
	padding: 0 20px;
	position: relative;
}

.top .contentsLine span {
	width: calc(100% - 20px);
	height: 1px;
	margin: 0 auto;
	display: block;
	background: linear-gradient(90deg,rgba(192, 26, 32, 0.15) 0%, rgba(192, 26, 32, 1) 50%, rgba(192, 26, 32, 0.15) 100%);
}

.top .contentsLine:before,
.top .contentsLine:after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 9px;
	background: url('../img/triSRed.svg');
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.top .contentsLine:before {
	left: 0;
}

.top .contentsLine:after {
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}

.top .dateWrapper figure {
	margin: 0 auto 30px;
	padding: 30px;
	position: relative;
	text-align: center;
}

.top .dateWrapper figure:after {
	content: '';
	width: 50%;
	height: 1px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(148,148,148,0.5);
}

.top .dateWrapper figure img {
	max-width: 500px;
}

.top .dateWrapper p {
	color: var(--dark-grey);
	text-align: center;
	font-size: 1.1rem;
}

.top .dateWrapper p span {
	color: var(--main-red);
}

.top .registration {
	padding: 40px;
	background: var(--light-red);
	align-content: center;
	align-items: center;
}

.top .registration > * {
	width: 100%;
	margin: 0 0 40px 0;
	text-align: center;
	color: #fff;
}

.top .registration p a {
	color: #fff;
}

.top .registration > *:last-child {
	margin: 0;
}

.top .linkBtn a,
.top .linkBtn span.disable {
	margin: 0 auto;
}

.top .linkBtn a {
	background: rgba(255,255,255,1);
	color: var(--main-red);
}

.top .linkBtn span.disable {
	border: solid 1px #fff;
	color: #fff;
}

.top .linkBtn a span:before {
	content: url("../img/triSRed.svg");
}

.top .linkBtn a:hover {
	background: rgba(255,255,255,0.8);
}

.top .registration h2 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 0.8;
	letter-spacing: 1px;
}

.top .registration h2 span {
	font-size: 1.5rem;
}

.top .registration p:last-child,
.top .registration p:last-child a {
	color: var(--light-grey);
}

.top .registration p a {
	display: inline-block;
	padding: 5px 10px;
	text-decoration: underline;
}

.top .registration p a:hover {
	background: rgba(0,0,0,0.2);
}

.top .mainMenuList {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 50px;
}

.top .mainMenuList li {
	overflow: hidden;
}

.top .mainMenuList li div {
	position: relative;
}

.top .mainMenuList li div:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	background: url('../img/topMainMenuImg01.jpg') no-repeat;
	background-size: cover;
	filter: brightness(60%);
	z-index: -1;
	transition: all 0.3s;
}

.top .mainMenuList li:nth-child(2) div:after {
	background: url('../img/topMainMenuImg02.jpg') no-repeat;
	background-size: cover;
}

.top .mainMenuList li div:hover:after {
	transform: scale(120%);
}

.top .mainMenuList li:nth-child(3) div:after {
	background: url('../img/topMainMenuImg03.jpg') no-repeat;
	background-size: cover;
}

.top .mainMenuList li div a {
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	aspect-ratio: 462 / 400;
}

.top .mainMenuList li div a p {
	margin: 0;
	color: #fff;
	text-align: center;
	align-self: flex-end;
	font-weight: 500;
	transition: all 0.3s;
}

.top .mainMenuList li div a::before,
.top .mainMenuList li div a::after,
.top .mainMenuList li div a p::before,
.top .mainMenuList li div a p::after {
	content: url('../img/triSRed.svg');
	position: absolute;
	line-height: 0;
}

.top .mainMenuList li div a::before,
.top .mainMenuList li div a::after,
.top .mainMenuList li div a p::before,
.top .mainMenuList li div a p::after {
	transition: all 0.3s;
}

/* 左上 */
.top .mainMenuList li div a::before {
	top: 15px;
	left: 15px;
	transform: rotate(45deg);
}
/* 右上 */
.top .mainMenuList li div a::after {
	top: 15px;
	right: 15px;
	transform: rotate(135deg);
}
/* 左下 */
.top .mainMenuList li div a p::before {
	bottom: 15px;
	left: 15px;
	transform: rotate(-45deg);
}
/* 右下 */
.top .mainMenuList li div a p::after {
	bottom: 15px;
	right: 15px;
	transform: rotate(-135deg);
}

/* 左上 */
.top .mainMenuList li div:hover a::before {
	top: 25px;
	left: 25px;
}
/* 右上 */
.top .mainMenuList li div:hover a::after {
	top: 25px;
	right: 25px;
}
/* 左下 */
.top .mainMenuList li div:hover a p::before {
	bottom: 25px;
	left: 25px;
}
/* 右下 */
.top .mainMenuList li div:hover a p::after {
	bottom: 25px;
	right: 25px;
}

.top .mainMenuList li a p span {
	font-size: 1.3rem;
	letter-spacing: 2px;
	transition: all 0.3s;
}

.top .mainMenuList li div:hover a p,
.top .mainMenuList li div:hover a p span {
	font-weight: bold;
}

.top .newsWrapper {
	padding: 0 min(6vw, 100px);
}

.top .newsInner {
	margin: 8px 0;
	padding: 40px 0;
	display: grid;
	grid-template-columns: auto auto;
	gap: 12%;
	justify-content: center;
	position: relative;
}

.top .newsWrapper:before,
.top .newsInner:before,
.top .newsWrapper:after,
.top .newsInner:after {
	content: '';
	width: 100%;
	height: 1px;
	display: block;
	background: linear-gradient(90deg,rgba(192, 26, 32, 0.15) 0%, rgba(192, 26, 32, 1) 50%, rgba(192, 26, 32, 0.15) 100%);
}

.top .newsInner:before,
.top .newsInner:after {
	position: absolute;
}

.top .newsInner:before {
	top: 0;
}

.top .newsInner:after {
	bottom: 0;
}

.top .newsIndex {
	max-width: 190px;
	margin: 0 auto;
	padding: 50px 0;
}

.top .newsIndex h2 {
	margin: 0 0 50px 0;
	line-height: 1.2;
	color: var(--main-red);
}

.top .newsIndex h2 > span {
	display: flex;
	gap: 5px;
	justify-content: space-between;
}

.top .newsIndex h2 span.mainIndex span {
	font-size: 4rem;
	font-weight: 500;
	position: relative;
}

.top .newsIndex h2 span.mainIndex span:before {
	content: '';
	background: url('../img/triSRed.svg') no-repeat;
	width: 9px;
	height: 10px;
	display: inline-block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
}

.top .newsIndex h2 span.mainIndex span:first-child:before,
.top .newsIndex h2 span.mainIndex span:last-child:before {
	top: -20px;
}

.top .newsIndex h2 span.mainIndex span:nth-child(2):before {
	top: -15px;
}

.top .newsIndex h2 span.mainIndex span:nth-child(3):before {
	top: -25px;
}

.top .newsIndex h2 span.subIndex {
	padding: 0 4px;
}

.top .newsIndex h2 span.subIndex span {
	font-size: 1.4rem;
}

.top .newsIndex .moreBtn {
	background: var(--main-red);
}

.top .newsIndex .moreBtn a {
	display: flex;
	justify-content: center;
	align-content: center;
	padding: 20px;
	background: rgb(0,0,0,0);
	color: #fff;
	transition: all 0.3s;
}

.top .newsIndex .moreBtn a span {
	display: block;
	font-size: 1.1rem;
	transition: all 0.3s;
}

.top .newsIndex .moreBtn a span:after {
	margin: 6px 0 0 6px;
	content: '';
	background: url('../img/moreBtnIcon.svg') no-repeat;
	width: 27px;
	height: 13px;
	display: inline-block;
	transition: all 0.3s;
}

.top .newsIndex .moreBtn a:hover {
	background: rgba(0,0,0,0.2);
}

.top .newsIndex .moreBtn a:hover span {
	font-weight: bold;
	transform: translateX(5px);
}

.top .newsList {
	display: flex;
	flex-wrap: wrap;
}

.top .newsList {
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: flex-start;
	gap: 30px;
}

.top .newsList li:not(:has(a)),
.top .newsList li > a {
	display: grid;
	grid-template-columns: 8px 6rem auto;
	justify-self: flex-start;
	gap: 20px;
	transition: all 0.3s;
}

.top .newsList li:not(:has(a)):before,
.top .newsList li > a:before {
	content: '';
	background: url('../img/triSGrey.svg') no-repeat;
	width: 8px;
	height: 10px;
	display: inline-block;
	transform: translateY(10px);
	transition: all 0.3s;
}

.top .newsList li > a:hover {
	transform: translateX(5px);
}

.top .newsList li > a:hover:before {
	background: url('../img/triSRed.svg') no-repeat;
}

.top .newsList li time,
.top .newsList li span {
	font-weight: 500;
	transition: all 0.3s;
}

.top .newsList li time {
	color: var(--main-grey);
	letter-spacing: 5px;
}

.top .newsList li span {
	color: #333;
}

.top .newsList li a:hover time,
.top .newsList li a:hover span {
	color: var(--main-red);
}

/*　コンテンツページ　*/

.contents.registration .linkBtn {
	margin: 60px auto;
}

.contents .contentsHeader {
	width: 100%;
	height: 300px;
	position: relative;
}

.contents .contentsHeader:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	z-index: -1;
	top: 0;
	background: url('../img/speaker.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
	filter: brightness(90%);
}

.contents.about .contentsHeader:after {
	background: url('../img/about.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
}

.contents.program .contentsHeader:after {
	background: url('../img/program.jpg') no-repeat;
	background-size: cover;
	background-position: center 83%;
}

.contents.speaker .contentsHeader:after {
	background: url('../img/speaker.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
}

.contents.news .contentsHeader:after {
	background: url('../img/news.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
}

.contents.registration .contentsHeader:after {
	background: url('../img/registration.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
}

.contents.access .contentsHeader:after {
	background: url('../img/access.jpg') no-repeat;
	background-size: cover;
	background-position: center center;
}

.contents .contentsHeader h2 {
	width: 100%;
	height: 100%;
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
}

.contents .contentsHeader h2:before {
	content: '';
	width: 450px;
	height: 300px;
	background: url('../img/contentsHeaderTriItem.png') no-repeat;
	background-position: left -30px bottom 30%;
	background-size: cover;
	position: absolute;
	left: 0;
	display: inline-block;
}

.contents .contentsHeader h2 span {
	padding: 32px 40px;
	background: #fff;
	color: var(--main-red);
	position: absolute;
	top: 50%;
	left: 50px;
	transform: translateY(-50%);
	font-size: 1.8rem;
	font-weight: 500;
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

.contents .contentsSubNav {
	margin: 0 auto 80px;
	padding: 0 40px 40px 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	position: relative;
}

.contents .contentsSubNav:after {
	content: '';
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, rgba(212,212,212,0.15) 0, var(--dark-grey) 50%, rgba(212,212,212,0.15) 100%);
	position: absolute;
	bottom: 0;
}

.contents .contentsSubNav li a {
	display: inline-block;
	font-weight: 500;
	letter-spacing: 2px;
	font-size: 1.2rem;
	transform: translateY(0);
	transition: all 0.3s;
}

.contents .contentsSubNav li a:hover {
	transform: translateY(5px);
}

.contents .contentsSubNav li a:before {
	content: url('../img/triSRed.svg');
	margin: 0 10px 0 0;
	display: inline-block;
	transform: rotate(90deg);
}

.contents h3,
.contents section > h4 {
	margin: 0 0 40px 0;
	color: var(--main-red);
	font-size: 1.8rem;
	letter-spacing: 4px;
	font-weight: 500;
	line-height: 1.4;
}

.contents h3 {
	display: flex;
}

.contents h3:before {
	content: url('../img/contents IndexIcon.png');
	margin: 0 20px 0 0;
}

.contents section > h4 {
	letter-spacing: normal;
}

.contents section > h4 span {
	font-size: 1.2rem;
	color: var(--dark-grey);
}

.contents .profileWrapper {
	width: 100%;
	margin: 0 0 100px 0;
	display: grid;
	grid-auto-columns: 1fr 1fr 1fr 0.8fr;
	grid-template-rows: auto auto;
	gap: 40px;
}

.contents .profileWrapper#yokote {
	margin: 0 0 180px 0;
}

.contents .profileWrapper h4 {
	grid-row: span 2 / span 2;
	grid-column-start: 4;
	writing-mode: vertical-rl;
	font-size: 3rem;
	font-family: "Shippori Minsho B1", serif;
	line-height: 1.4;
	letter-spacing: 5px;
}

.contents .profileWrapper h4 span:not(.subTxt) {
	display: inline-block;
	font-size: 1.3rem;
	color: var(--dark-grey);
	line-height: 1.2;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	letter-spacing: 10px;
	position: relative;
}

html:lang(en) .contents .profileWrapper h4 span:not(.subTxt) {
	font-size: 1rem;
	letter-spacing: 3px;
}

.contents .profileWrapper h4 span:not(.subTxt):before {
	content: url('../img/contents IndexIcon.png');
	display: inline-block;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
}

.contents .profileWrapper h4 span.subTxt {
	margin: 20px 0 0 0;
	display: inline-block;
	font-size: 1.2rem;
	color: var(--dark-grey);
	vertical-align: middle;

}

.contents .profileWrapper figure {
	margin: 0;
	grid-row: span 2 / span 2;
}

.contents .profileWrapper .pSentenceWrapper {
	grid-column: span 2 / span 2;
	grid-row: span 2 / span 2;
	grid-column-start: 2;
	grid-row-start: 1;
/*	justify-items: center;*/
}

.contents #logo div,
.contents #logo ul {
	width: 100%;
	display: grid;
	gap: 50px;
	align-items: center;
}

.contents #logo div {
	margin: 0 0 80px 0;
	grid-template-columns: 1fr 1fr;
}

.contents #logo div p {
	margin: 0;
}

.contents #logo div figure {
	margin: 0;
	text-align: center;
}

.contents #logo div figure img {
	max-width: 400px;
}

.contents #logo ul {
	max-width: 900px;
	margin: 0 auto;
	grid-template-columns: 2fr 1fr 1fr 1fr;
}

.contents .dayWrapper {
	margin: 0 0 30px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 50px;
}

.contents .dayWrapper.speaker {
	gap: 30px;
}

.contents .dayWrapper figure {
	width: 30%;
	margin: 0;
}

.contents .dayWrapper.speaker figure {
	width: auto;
	max-width: 30%;
}

.contents .dayWrapper figure img {
	width: auto;
	max-width: 100%;
	max-height: 82px;
}

.contents .dayWrapper.speaker figure img {
	max-height: 4rem;
}

.contents .dayWrapper p {
	width: calc(70% - 50px);
	font-size: 1.5rem;
	color: var(--main-red);
	font-family: "Average", serif;
	line-height: 1.1;
}

.contents .dayWrapper.speaker p {
	align-self: self-start;
}

.contents .dayWrapper p span {
	color: var(--dark-grey);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.contents .dayWrapper.speaker p span {
	font-size: 3.5rem;
}

.contents section#program table td.table2clm {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}

/*.contents section#program table td.interval,
.contents section#program table td ul li,
.contents section#program table td p {
	color: var(--dark-grey);
}*/

.contents section#program table td.interval {
	padding: 10px 50px;
	text-align: center;
	background: #f3f3f3;
}

.contents section#program table td ul li {
	margin: 0 0 20px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.contents section#program table td ul li:last-child,
.contents section#program table td p {
	margin: 0;
}

.contents section#program table td ul li,
.contents section#program table td p {
	padding: 0 0 0 20px;
	position: relative;
}

.contents section#program table td ul:not(.programIconWrapper) li:before,
.contents section#program table td p:before {
	content: url("../img/triSBlack.svg");
	position: absolute;
	left: -5px;
	top: -2px;
}

.contents section#program table td strong {
	min-width: 15%;
	margin: 0 20px 0 0;
	color: #333;
	font-weight: 500;
}

.contents section#program table td.table2clm .programIconWrapper {
	width: 6rem;
}

.contents section#program table td.table2clm .programIconWrapper li {
	margin: 0 0 10px 0;
	padding: 5px 10px;
	text-align: center;
	border: solid 1px var(--light-red);
	border-radius: 50px;
	justify-content: center;
	color: var(--light-red);
	font-size: 0.8rem;
	font-weight: 500;
}

.contents section#program table td.table2clm .programIconWrapper li:last-child {
	margin: 0;
}

.contents section#program table td.table2clm > ul:not(.programIconWrapper) {
	width: calc(100% - 6rem - 20px);
	align-self: center;
}

.contents section#program table td.table2clm > p {
	width: calc(100% - 6rem - 40px);
}

.contents section#students table th {
	width: 20%;
}
.contents section#students table td {
	width: 40%;
}

.contents ul.posterList {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;
}

.contents ul.posterList li a {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

.contents ul.posterList li a img {
	width: 100%;
	max-width: 250px;
	margin: 0 0 10px 0;
	border: solid 1px var(--dark-grey);
}

.contents ul.posterList li a span {
	width: 100%;
	margin-inline: 0 10px;
	display: inline-block;
	color: var(--dark-grey);
	position: relative;
	transition: all 0.3s;
	font-size: 1.1rem;
}

.contents ul.posterList li a span:after {
	content: url('../img/triSGrey.svg');
	position: absolute;
	right: 10px;
	top: -2px;
	transition: all 0.3s;
}

.contents ul.posterList li a:hover span,
.contents ul.posterList li a:hover span:after {
	transform: translateX(5px);
}

.contents ul.posterList li a:hover span {
	color: var(--main-red);
}

.contents ul.posterList li a:hover span:after {
	content: url('../img/triSRed.svg');
}

.contents .newsList li {
	border-bottom: dashed 1px var(--dark-grey);
}

.contents .newsList li:first-child {
	border-top: dashed 1px var(--dark-grey);
}

.contents .newsList li .news {
	padding: 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	font-size: 1.1rem;
	position: relative;
}

.contents .newsList li .news.trriger {
	transition: all 0.3s;
	cursor: pointer;
}

.contents .newsList li .news.trriger:after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 18px;
	transition: all 0.3s;
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s;
}

.contents .newsList li .news.trriger:not(.active):after {
	background: url('../img/triggerOff.svg') no-repeat;
	background-size: contain;
}

.contents .newsList li .news.trriger:not(.active):hover:after {
	background: url('../img/triggerOn.svg') no-repeat;
	background-size: contain;
	transform: translateY(calc(-50% + 3px));
}

.contents .newsList li .news.trriger.active:after {
	background: url('../img/triggerOn.svg');
	background-size: contain;
	transform: translateY(calc(-50% + 3px)) rotate(180deg);
}

.contents .newsList li .news time {
	width: 5.2rem;
	margin: 0 15px 0 0;
	padding: 0 0 0 30px;
	color: var(--dark-grey);
	letter-spacing: 5px;
}

.contents .newsList li .news.trriger.active {
	border-bottom: dashed 1px var(--dark-grey);
}

.contents .newsList li .news time:before {
	content: url('../img/triSGrey.svg');
	position: absolute;
	top: 28px;
	left: 40px;
}

.contents .newsList li .news span {
	width: calc(100% - 5.2rem - 135px);
	padding: 0 50px 0 0;
	font-weight: 500;
}

.contents .newsList li .news.trriger:hover span, 
.contents .newsList li .news.trriger.active span {
	color: var(--main-red);
}

.contents .newsContentsWrapper {
	display: none;
	padding: 40px 80px 80px 60px;
}

.contents .newsContentsWrapper .download {
	margin: 0 0 20px 0;
}

.contents .newsContentsWrapper .download a {
	padding: 0 0 0 30px;
	position: relative;
	color: var(--dark-grey);
	transition: all 0.3s;
}

.contents .newsContentsWrapper .download a:hover {
	color: var(--main-red);
}

.contents .newsContentsWrapper .download a:before {
	content: '';
	width: 20px;
	height: 20px;
	background: url('../img/download.svg') no-repeat;
	display: inline-block;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition: all 0.3s;
}

.contents .newsContentsWrapper .download a:hover:before {
	background: url('../img/downloadHover.svg') no-repeat;
	background-size: contain;
}

.contents .arCenter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.contents.access main article img,
.contents.access main article iframe {
	max-width: 580px;
}

.contents .mapWrapper {
	width: 100%;
	margin: 0 0 40px 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.contents .mapWrapper iframe {
	width: 100%;
	height: 100%;
}

.contents h4.subIndex {
	margin: 0 0 20px 0;
	display: flex;
	color: var(--light-red);
	font-size: 1.1rem;
}

.contents h4.subIndex:before {
	content: url('../img/contentsSubIndexIcon.svg');
	margin: 0 20px 0 0;
}

.contents #byTrain + p,
.contents #byCar + ul li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}

.contents #byCar + ul li {
	margin: 0 0 10px 0;
}

.contents #byTrain + p strong {
	width: 4em;
}

.contents #byTrain + p span {
	width: calc(100% - 4em - 20px);
}

.contents #byCar + ul li strong {
	width: 6em;
}

.contents #byCar + ul li span {
	width: calc(100% - 6em - 20px);
}

/*　フッター　*/

footer .footerSiteLogo {
	margin: 0 0 120px 0;
	text-align: center;
}

footer .footerSiteLogo img {
	width: 100%;
	max-width: 588px;
}

footer .copyRight {
	margin: 0;
	padding: 20px;
	background: var(--main-red);
	text-align: center;
	color: #fff;
	font-size: 0.8rem;
}

/*　TOPへ戻るボタン　*/

.pageTop a {
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255,255,255,0.6);
	box-shadow: 0 0 10px #fff;
	position: fixed;
	right: 2vh;
	transform: translateY(5px);
	transition: all 0.3s;
	backdrop-filter: blur(3px);
}

.pageTop a:hover {
	transform: translateY(0);
	opacity: 0.8;
}

.pageTop a:before {
	content: '';
	width: 32px;
	height: 32px;
	background: url('../img/pageTop.svg') no-repeat;
	background-size: contain;
	display: inline-block;
}

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

	.top .swiper .slide02 .sliderContentsWrapper {
		gap: 2vw;
	}
	
}

@media screen and (max-width: 1200px) {
	
	header nav ul.globalNav li a {
		padding: 16px 20px;
		font-size: 0.83rem;
	}
	
	html:lang(en) header nav ul.globalNav li a {
		padding: 16px 15px;
	}
	
	.top .swiper .slide01 .sliderContentsWrapper {
		width: 55%;
		top: 50%;
	}
	
	.top .swiper .slide01 p.title {
		font-size: 1.2rem;
	}
	
	.top .swiper .slide01 p.title span {
		font-size: 0.8rem;
	}
	
	.top section:has(div.outline) {
		gap: 4%;
	}
	
	.top .mainMenuList li div a p {
		font-size: 0.8rem;
	}
	
	.top .mainMenuList li a p span {
		font-size: 1rem;
	}
	
}

@media screen and (max-width: 1000px) {
	
	header ul.bannerList li a img {
		max-height: 34px;
	}
	
	.top .mainMenuList {
		gap: 20px;
	}
	
	.top .newsInner {
		gap: 8%;
	}
	
	.contents ul.posterList {
		gap: 40px;
	}
	
	footer .footerSiteLogo img {
		max-width: 400px;
	}
	
}

@media screen and (max-width: 840px) {
	
	/* 共通設定 */
	
	table tr th,
	table tr td {
		padding: 20px 10px;
	}
	
	td {
		padding: 20px 10px 20px 20px;
	}
	
	br.tbspOnly {
		display: block;
	}
	
	main section {
		margin: 0 0 60px 0;
	}
	
	/* ヘッダー */
	
	header .headerTopWrapper {
		padding: 0;
		display: block;
		position: relative;
	}
	
	header h1 {
		padding: 15px 20px;
	}
	
	header .menuBtn {
		width: 42px;
		height: 30px;
		display: flex;
		flex-wrap: wrap;
		position: absolute;
		top: 30px;
		right: 20px;
		cursor: pointer;
		z-index: 1000;
	}
	
	header .menuBtn span {
		width: 100%;
		height: 2px;
		display: inline-block;
		background: var(--main-red);
		position: absolute;
		transition: all 0.3s;
	}
	
	header .menuBtn span:first-child {
		top: 0;
		transform: rotate(0);
	}
	
	header .menuBtn span:nth-child(2) {
		top: 50%;
		transform: translateX(0);
	}
	
	header .menuBtn span:last-child {
		top: 100%;
		transform: rotate(0);
	}
	
	header.open .menuBtn span {
		background: #fff;
	}
	
	header.open .menuBtn span:first-child {
		top: 50%;
		transform: rotate(45deg);
	}
	
	header.open .menuBtn span:nth-child(2) {
		transform: translateX(100vw);
	}
	
	header.open .menuBtn span:last-child {
		top: 50%;
		transform: rotate(135deg);
	}
	
	header ul.bannerList {
		padding: 0 10px 15px 10px;
		justify-content: center;
/*		background: rgba(192, 26, 32, 0.35);*/
	}
	
	header ul.bannerList li a img {
		max-height: 40px;
	}
	
	header.is-fixed ul.bannerList {
		display: none;
	}
	
	header nav {
		width: 70vw;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 100%;
		transition: all 0.3s;
		z-index: 100;
	}
	
	header nav .langBtn {
		left: 8vw;
		right: auto;
		top: 35px;
	}
	
	header nav .langBtn li {
		background: #fff;
	}
	
	header nav .langBtn li a {
		color: var(--main-red);
	}
	
	header nav ul.globalNav {
		width: auto;
		padding: 100px 8vw 20px 8vw;
		flex-direction: column;
		align-items: flex-start;
	}
	
	header.open:after {
		content: '';
		width: 100vw;
		height: 100vh;
		display: block;
		z-index: 90;
		background: rgba(76,76,76,0.3);
		backdrop-filter: blur(3px);
		position: fixed;
		top: 0;
		left: 0;
	}
	
	header nav ul.globalNav li,
	header nav ul.globalNav li a {
		width: 100%;
		display: block;
	}
	
	header nav ul.globalNav li:after {
		content: none;
	}
	
	header nav ul.globalNav li a {
		margin: 0 0 30px 0;
		padding: 0;
		text-align: left;
		font-size: 1.1rem;
	}
	
	html:lang(en) header nav ul.globalNav li a {
		padding: 0;
	}
	
	header nav ul.globalNav li a:hover {
		background: none;
	}
	
	/* トップページ */
	
	.top .swiper {
		width: 100%;
	}
	
	.top .swiper,
	.swiper-wrapper {
		max-height: 100%;
	}
	
	.top .swiper .slide01 img.pcOnly {
		display: none;
	}
	
	.top .swiper .slide01 img.spOnly {
		width: 60vw;
		min-width: inherit;
		max-width: 400px;
		display: block;
		transform: translateX(-12px) translateY(max(-3vw, -9vh));
	}
	
	.top .swiper .slide01 .sliderContentsWrapper {
		width: calc(100% - 16vw);
		max-height: 550px;
		top: 0;
		left: 0;
		right: auto;
		padding: 0 8vw;
		display: flex;
		flex-direction: column-reverse;
		transform: translateY(0);
		gap: 20px;
	}
	
	.top .swiper .slide01 .vertical {
		align-self: flex-end;
	}
	
	.top .swiper .slide01 .vertical p,
	.top .swiper .slide01 .vertical p span {
		--font-size: clamp(1.2rem, 5.2vw, 2.8rem);
		--letter-spacing: clamp(10px, 0.4vw, 1rem);
	}
	
	.top .swiper .slide01 .vertical {
		height: 100%;
		margin: 3vh 0 0 0;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper {
		max-height: var(--swiper-height);
		padding: 10px 20px;
		grid-template-columns: auto auto;
		grid-template-rows: 1fr 1fr;
		gap: 20px;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure {
		justify-self: center;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:first-child {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:first-child img {
		max-width: 240px;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:nth-child(2),
	.top .swiper .slide02 .sliderContentsWrapper figure:nth-child(3),
	.top .swiper .slide02 .sliderContentsWrapper figure:nth-child(4) {
		max-width: 340px;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:nth-child(3),
	.top .swiper .slide02 .sliderContentsWrapper figure:nth-child(4) {
		grid-row-start: 2;
	}
	
	.top section:has(div.outline) {
		display: block;
	}
	
	.top section .outline {
		margin: 0 0 60px 0;
	}
	
	.top .registration {
		padding: 40px 20px;
	}
	
	.top .registration > * {
		margin: 0 0 20px 0;
	}
	
	.top .newsInner {
		display: block;
		padding: 20px 0 40px 0;
	}
	
	.top .newsIndex h2 {
		margin: 0 0 20px 0;
	}
	
	/* コンテンツページ */
	
	.contents main {
		padding: 30px 20px 0 20px;
	}
	
	.contents .contentsHeader,
	.contents .contentsHeader h2:before {
		height: 200px;
	}
	
	.contents .contentsHeader h2:before {
		width: 250px;
	}
	
	.contents .contentsHeader h2 span {
		margin: 0 20px;
		padding: 24px 30px;
		font-size: 1.4rem;
		left: 0;
	}
	
	.contents h3,
	.contents section > h4 {
		margin: 0 0 40px 0;
		font-size: 1.5rem;
		letter-spacing: 4px;
	}
	
	.contents .contentsSubNav {
		margin: 0 auto 40px;
		padding: 0 15vw 10px 15vw;
		justify-content: space-around;
		gap: 10px 20px;
	}
	
	.contents.program .contentsSubNav li {
		width: calc(50% - 10px);
		text-align: center;
	}
	
	.contents .profileWrapper,
	.contents .profileWrapper#yokote {
		margin: 0 0 100px 0;
	}
	
	.contents .profileWrapper h4 {
		grid-row: span 1 / span 1;
		font-size: 2.5rem;
		line-height: 1.2;
	}
	
	.contents .profileWrapper h4 span:not(.subTxt),
	.contents .profileWrapper h4 span.subTxt {
		font-size: 1.1rem;
	}
	
	.contents .profileWrapper .pSentenceWrapper {
		grid-column: span 4 / span 4;
		grid-column-start: 1;
	}
	
	html:lang(en) .contents .profileWrapper .pSentenceWrapper {
		grid-column: span 3 / span 3;
	}
	
	html:lang(en) .contents .profileWrapper h4 {
		grid-row: span 2 / span 2;
	}
	
	html:lang(en) .contents .profileWrapper h4 span:not(.subTxt) {
		font-size: 0.9rem;
	}
	
	.contents .profileWrapper figure,
	.contents .profileWrapper .pSentenceWrapper {
		grid-row: inherit;
	}
	
	.contents .profileWrapper figure {
		margin: 0;
		grid-column: span 3 / span 3;
	}
	
	.contents .profileWrapper figure img {
		max-width: 400px;
	}
	
	.contents #logo div {
		margin: 0 0 60px 0;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	
	.contents .dayWrapper {
		margin: 0 0 30px 0;
	}
	
	.contents .dayWrapper.speaker p span {
		font-size: clamp(1rem, 7.5vw, 3.5rem);
	}
	
	.contents section#program table td ul:not(.programIconWrapper) li:before,
	.contents section#program table td p:before {
		left: 0;
	}
	
	.contents .newsList li .news {
		padding: 20px 0;
	}
	
	.contents .newsList li .news time:before {
		top: 19px;
		left: 0;
	}
	
	.contents .newsList li .news.trriger:after {
		width: 18px;
		height: 14px;
		right: 10px;
	}
	
	.contents .newsList li .news time,
	.contents .newsList li .news span {
		font-size: 1rem;
	}
	
	
	.contents .newsList li .news time {
		padding: 0 0 0 15px;
		letter-spacing: 3px;
	}
	
	.contents .newsList li .news span {
		width: calc(100% - 5.2rem - 120px);
	}
	
	.contents .newsContentsWrapper {
		padding: 40px 10px;
	}
	
	.contents .mapWrapper {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
		
	}
	
	footer .footerSiteLogo {
		margin: 0 0 100px 0;
		padding: 40px 0 0 0;
	}
	
	footer .footerSiteLogo img {
		max-width: 300px;
	}
	
}

@media screen and (max-width: 600px) {
	
	body {
		font-size: 14px;
	}
	
	p {
		margin: 0 0 20px 0;
	}
	
	table.spVertical {
		border: none;
	}
	
	table tr th,
	table tr td {
		padding: 15px 10px;
	}
	
	table.spVertical tr th:first-child {
		border-left: solid 1px var(--light-red);
	}
	
	table.spVertical tr th:last-child {
		border-right: solid 1px var(--light-red);
	}
	
	table.spVertical tr td {
		border-left: dashed 1px var(--dark-grey);
	}
	
	table.spVertical tr td:last-child {
		border-right: dashed 1px var(--dark-grey);
	}
	
	table.spVertical tr:first-child td {
		border-top: none;
	}
	
	table.spVertical tr:last-child td {
		border-bottom: dashed 1px var(--dark-grey);
	}
	
	table.spVertical th,
	table.spVertical td,
	section#students table tr {
		display: flex;
		flex-wrap: wrap;
	}
	
	table.spVertical th,
	table.spVertical td,
	section#students table tr:not(:last-child) td {
		justify-content: center;
		border-bottom: none;
	}
	
	section#outline table.spVertical td {
		flex-direction: column;
		align-items: center;
	}
	
	br.spOnly {
		display: block;
	}
	
	.linkBtn a,
	.linkBtn span.disable {
		padding: 20px 0;
	}
	
	header h1 {
		padding: 10px 20px;
	}
	
	header .menuBtn {
		top: 22px;
	}
	
	header ul.bannerList {
		gap: 5px;
	}
	
	header ul.bannerList li {
		width: calc(100% / 3 - 20px);
	}
	
	header ul.bannerList li a img {
		max-width: 100%;
		max-height: 100%;
	}
	
	.top .swiper .slide01 {
		background: #fff linear-gradient(-45deg,rgba(255, 255, 255, 0) 60%, rgba(212, 212, 212, 0.5) 100%);
	}
	
	.top .swiper .slide01 .vertical p, .top .swiper .slide01 .vertical p span {
		--font-size: clamp(1.2rem, 6.2vw, 2.8rem);
	}
	
	.top .swiper .slide01 .vertical {
		height: auto;
	}
	
	.top .swiper .slide01 p.title {
		font-size: 1.1rem;
		letter-spacing: 0.2rem;
	}
	
	.top .swiper .slide01 p.title span {
		font-size: 0.74rem;
		letter-spacing: 0.44px;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:first-child img {
		max-width: 250px;
	}
	
	.top .registration h2 {
		font-size: 2.8rem;
		line-height: 1;
	}
	
	.top .mainMenuList {
		display: block;
	}
	
	.top .mainMenuList li {
		margin: 0 0 20px 0;
	}
	
	.top .mainMenuList li div a {
		aspect-ratio: 462 / 280;
	}
	
	.top .newsWrapper {
		padding: 0;
	}
	
	.top .newsIndex {
		max-width: 160px;
	}
	
	.top .newsIndex h2 span.mainIndex span {
		font-size: 2.5rem;
	}
	
	.top .newsIndex h2 span.subIndex span {
		font-size: 1.1rem;
	}
	
	.top .newsIndex .moreBtn a span {
		font-size: 1rem;
	}
	
	.top .newsList {
		gap: 20px;
	}
	
	.contents .contentsHeader h2 span,
	.contents h3,
	.contents section > h4 {
		font-size: 1.3rem;
	}
	
	.contents .contentsSubNav {
		padding: 0 0 10px 0;
	}
	
	.contents .contentsSubNav li a {
		font-size: 1rem;
	}
	
	.contents .contentsSubNav li a {
		padding: 0;
	}
	
	.contents section#outline table td {
		padding: 10px;
	}
	
	.contents section#students table th {
		width: 100%;
	}
	.contents section#students table td {
		width: calc(50% - 22px);
	}
	
	.contents section#students table td:last-child {
		width: calc(50% - 21px);
	}
	
	.contents .profileWrapper,
	.contents .profileWrapper#yokote {
		margin: 0 0 100px 0;
		gap: 20px;
	}
	
	.contents .profileWrapper h4 {
		font-size: 2rem;
	}
	
	.contents .profileWrapper h4 span:not(.subTxt),
	.contents .profileWrapper h4 span.subTxt {
		font-size: 1rem;
		letter-spacing: 8px;
	}
	
	.contents #logo div {
		margin: 0 0 30px 0;
	}
	
	.contents .dayWrapper,
	.contents .dayWrapper.speaker {
		gap: 15px;
	}
	
	.contents .dayWrapper p {
		width: calc(70% - 15px);
		font-size: 1.1rem;
	}
	
	.contents .dayWrapper p span {
		font-size: 0.9rem;
	}
	
	.contents section#program table td.table2clm {
		flex-direction: column-reverse;
		gap: 10px;
	}
	
	.contents section#program table td.table2clm > ul:not(.programIconWrapper) {
		width: 100%;
		align-self: flex-start;
	}
	
	.contents section#program table td.table2clm .programIconWrapper {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-self: flex-start;
		gap: 5px;
	}
	
	.contents section#program table td.table2clm .programIconWrapper li {
		margin: 0;
	}
	
	.contents section#program table td.table2clm > p {
		width: calc(100% - 20px);
	}
	
	.contents .dayWrapper.speaker p span {
		font-size: clamp(1rem, 7vw, 3.5rem);
		line-height: 1;
	}
	
	.contents .newsList li .news {
		gap: 0;
	}
	
	.contents .newsList li .news span {
		width: calc(100% - 5.2rem - 70px);
		padding: 0;
	}
	
	.contents .mapWrapper {
		gap: 20px;
	}
	
	.pageTop a {
		width: 30px;
		height: 30px;
	}
	
}

@media screen and (max-width: 500px) {
	
	.top .swiper .slide02 .sliderContentsWrapper figure:first-child img {
		max-width: 180px;
	}
	
	.top .swiper .slide03 .sliderContentsWrapper {
		width: 100%;
		padding: 20px 10px;
		font-size: 1.45rem;
		text-align:center;
		letter-spacing: 1px;
		font-weight:normal;

	}

	.top .swiper .slide03 .sliderContentsWrapper span {
		font-size: 0.9rem;
	}

	
	
}

@media screen and (max-width: 400px) {
	
	header h1 img {
		max-width: 240px;
	}
	
	.top .swiper .slide01 p.title {
		font-size: 0.75rem;
	}
	
	.top .swiper .slide01 p.title span {
		font-size: 0.55rem;
		letter-spacing: 0.26px;
	}
	
	.top .swiper .slide02 .sliderContentsWrapper figure:first-child img {
		max-width: 120px;
	}
	
	footer .footerSiteLogo img {
		max-width: 240px;
	}
	
}

/* リンク設定 */

main a:hover {
	text-decoration: underline;
}

.linkBtn a[href^="http"] span:after,
main a[href^="http"]:after,
main a[href$=".doc"]:after,
main a[href$=".docx"]:after,
main a[href$=".xls"]:after,
main a[href$=".xlsx"]:after,
main a[href$=".pdf"]:after,
main a[href$=".ppt"]:after,
main a[href$=".pptx"]:after {
	margin: 0 0 0 5px;
}

.linkBtn a[href^="http"] span:after,
main a[href^="http"]:after {
	content: '\f35d';
	font-family: 'Font Awesome 5 Free';
	font-size: 0.8rem;
	font-weight: 700;
}

.linkBtn a[href^="http"] span:after {
	font-size: 1rem;
}

main a[href$=".doc"]:after,
main a[href$=".docx"]:after {
	content: '\f1c2';
	font-family: 'Font Awesome 5 Free';
}

main a[href$=".xls"]:after,
main a[href$=".xlsx"]:after {
	content: '\f1c3';
	font-family: 'Font Awesome 5 Free';
}

main a[href$=".pdf"]:after {
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
}

main a[href$=".ppt"]:after,
main a[href$=".pptx"]:after {
	content: '\f1c4';
	font-family: 'Font Awesome 5 Free';
}

main a:has(img):after,
main a:has(span):after {
	display: none;
}

main a:has(span):hover {
	text-decoration: none;
}


/* 汎用設定 */
.small {
	font-size: 85.71% !important;
}
.big {
	font-size: 114.29% !important;
}

.biggest {
	font-size: 142.9% !important;
}

.al_c {
	text-align: center !important;
}

.al_l {
	text-align: left !important;
}

.al_r {
	text-align: right !important;
}

.talC {
	text-align: center !important;
}

.valM {
	vertical-align: middle !important;
}

.valT {
	vertical-align: top !important;
}

.txtmRed {
	color: var(--main-red)!important;
}

.txtlGrey {
	color: var(--light-grey)!important;
}

.txtdGrey {
	color: var(--dark-grey)!important;
}

.fl_l {
	float: left !important;
}
img.fl_l {
	margin: 0 15px 10px 0
}

.fl_r {
	float: right !important;
}
img.fl_r {
	margin: 0 0 15px 10px;
}

#contents .txtUline {
	text-decoration:underline !important;
}

#contents .txtStrike {
	text-decoration: line-through !important;
}

#contents .txtItalic {
	font-style: italic !important;
}

.font10px {
	font-size: 10px !important;
}
.font11px {
	font-size: 11px !important;
}
.font12px {
	font-size: 12px !important;
}
.font16px {
	font-size: 16px !important;
}
.font18px {
	font-size: 18px !important;
}
.font20px {
	font-size: 20px !important;
}
.font22px {
	font-size: 22px !important;
}
.font28px {
	font-size: 28px !important;
}


/*余白関係*/
.mrgn10 {
	margin: 10px !important;
}
.mrgn20 {
	margin: 20px !important;
}

.mb-0,
.mrgnB0 {
	margin-bottom:0 !important;
}
.mrgnB1 {
	margin-bottom:1px !important;
}

.mrgnB5 {
	margin-bottom:5px !important;
}

.mrgnB10 {
	margin-bottom:10px !important;
}

.mrgnB20 {
	margin-bottom:20px !important;
}

.mrgnB30 {
	margin-bottom:30px !important;
}

.mrgnB40 {
	margin-bottom:40px !important;
}

.mrgnB50 {
	margin-bottom:50px !important;
}

.mrgnB60 {
	margin-bottom:60px !important;
}

.mrgnB80 {
	margin-bottom:80px !important;
}

.mrgnB100 {
	margin-bottom:100px !important;
}

.mrgnT0 {
	margin-top:0 !important;
}

.mrgnT10 {
	margin-top:10px !important;
}

.mrgnT20 {
	margin-top:20px !important;
}

.mrgnT30 {
	margin-top:30px !important;
}

.mrgnT40 {
	margin-top:40px !important;
}

.mrgnT50 {
	margin-top:50px !important;
}

.mrgnR0 {
	margin-right: 0 !important;
}

.mrgnR10 {
	margin-right: 10px !important;
}

.mrgnR20 {
	margin-right: 20px !important;
}

.mrgnR30 {
	margin-right: 30px !important;
}

.mrgnR40 {
	margin-right: 40px !important;
}

.mrgnR50 {
	margin-right: 50px !important;
}
.mrgnL0 {
	margin-left: 0 !important;
}

.mrgnL10 {
	margin-left: 10px !important;
}

.mrgnL15 {
	margin-left: 15px !important;
}

.mrgnL20 {
	margin-left: 20px !important;
}

.mrgnL30 {
	margin-left: 30px !important;
}

.mrgnL40 {
	margin-left: 40px !important;
}

.mrgnL50 {
	margin-left: 50px !important;
}

.pdngT40 {
	padding-top:40px !important;
}

.pdngL0 {
	padding-left:0 !important;
}

.borderB0 {
	border-bottom: none !important;
}
/*高さ指定*/
.h60 {
	height: 60px !important;
}

.h350 {
	height: 350px !important;
}

.h370 {
	height: 370px;
}

.h390 {
	height: 390px;
}

.h400 {
	height: 400px !important;
}