@charset "UTF-8";
/* ==================================
PCファースト
===================================== */
/* 共通スタイル------------------------------- */
* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	list-style: none;
	/* font-family: "Noto Sans JP", Meiryo, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "小塚ゴシック Pr6N", osaka, sans-serif; */
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	
	&::before,
	&::after{
		box-sizing: border-box;
	}

	color: #333333;
}

[data-aos="custom-fade-up"] {
  opacity: 0;
	transform: translate3d(0, 10px, 0);
  transition: opacity .8s ease-out, transform .8s ease-out;
}

[data-aos="custom-fade-up"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="custom-fade-right"] {
  opacity: 0;
  transform: translate3d(-10px, 0, 0);
  transition-property: transform, opacity;
}

[data-aos="custom-fade-right"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* 必要に応じて使用 */
/* html:focus-within {
	scroll-behavior: smooth;
} */

html {
	scrollbar-gutter: stable;
}

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;

	&.fixed {
		position: fixed;
		width: 100%;
	}
}


h1, h2, h3, h4, h5, h6 {
	line-height: 1.5;
	font-feature-settings: "palt";
}

p,
span,
a {
	text-decoration-skip-ink: auto;
	line-height: 1.5;
	font-size: 16px;
}

a {
	text-decoration: none;
}

a.noborder,
a.noborder:link,
a.noborder:hover,
a.noborder:active,
a.noborder:visited,
img {
	border: 0;
	vertical-align: bottom;
}

img {
	display: block;
	width: 100%;
}

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

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

.wrapper-issue, .wrapper-challenges, .wrapper-strengths, .wrapper-speaker,.wrapper-case, .wrapper-question, .wrapper-faq, .wrapper-message {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;

	.wrapper-caption {
		padding-top: 80px;

		p {
			color: #1B457C;
			letter-spacing: 40%;
			margin-bottom: 8px;
			
			.target {
				color: #1B457C;
				position: relative;	
				letter-spacing: 40%;	

				&::after {
					content: "";
					flex-grow: 1;
					width: 80px;
					height: 1px;
					background: #1B457C;
					position: absolute;
	
					top: 0;
					bottom: 0;
					margin: auto 0;
	
					right: -90px;
					
	
				}
			}
		}
	}

	.heading {
		color: #1B457C;
		padding-bottom: 48px;
		letter-spacing: 10%;
	}
}

.indent {
	position: relative;
	padding-left: calc(1em + 2px);;
	margin-bottom: 8px;

	&::before {
		content: "※";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
	}
}

/* clearfix -------------- */
.clearfix{
	zoom: 1;
	
	&::before,
	&::after{
		content: " ";
		display: table;
	}
	&::after{
		clear: both;
	}
}

/* only_pc/sp ------------- */
.only_sp {
	display: none;
}
.only_pc {
	display: block;
}

/* フォントサイズ&ウェイト&カラー------------------------------- */
.roboto { font-family: "Roboto", "Noto Sans JP", sans-serif; }

.belongs, .copy p { font-size: 12px; }
.speaker-detail button, footer ul li a { font-size: 14px; font-weight: 500;}
p.catch-S, .inner-environment dt, .inner-text p { font-size: 16px; }
.btn-grad-txt, .wrapper-gradient-btn .btn-gradient, .wrapper-attendance-btn .btn-attendance { font-size: 16px; font-weight: 500;}
.target, nav>a, .wrapper-hoge p, .list-issue li, .inner-environment dd, .list-question li { font-size: 16px; font-weight: 700; }
.issue-catch, .challenges-catch, .former-job, .question-catch { font-size: 24px; }
.button-area .btn-gradient, .button-area .btn-attendance, .button-area a span { font-size: 24px; font-weight: 500; }
.button-area .invitation-btn, .list-title, .point-num, .speaker-catch, .name, .later-job, .head p { font-size: 24px; font-weight: 700; }
h3, h3.issue-catch, h4.question-catch { font-size: 32px; }
h4.challenges-catch, .inner-pos dd { font-size: 32px; font-weight: 700; }
h3.heading { font-size: 40px; font-weight: 700; }
h2.catch-L { font-size: 64px; font-weight: 700; }

.bold { font-size: inherit; font-weight: 700; color: inherit; }
.txt-bg { color: #fff; background-color: #1B457C; font-size: inherit; font-weight: inherit; }
.num { font-size: 40px; font-weight: inherit; font-style: inherit; }
/* .gold { color: #E3C978; }
.blue { color: #1B457C; }
.white { color: #fff; }
.black { color: #000; } */

/* ヘッダー------------------------------- */
header {
	background-color: #EFF6FF;
}

#wrapper-nav {
    max-width: 100vw;
    width: 100%;
	background-color: #EFF6FF;
	filter: drop-shadow(0 4px 16px rgba(51, 51, 51, 0.24));

	position: fixed;
	top: 0;
	z-index: 999;

	#inner-nav {
		max-width: 1280px;
		width: 100%;
		height: 80px;
		margin: 0 auto;
		padding: 0 40px;
	
		display: flex;
		justify-content: space-between;
		align-items: center;
	
		.logo {
			width: 197px;
			display: flex;
			margin: auto 0;
		}
	
		nav {
			display: flex;
			align-items: center;
	
			ul {
				display: flex;
				align-items: center;
			}
		}
	}
}

/* .wrapper-request-4-info-btn, 
.wrapper-gradient-btn {
	flex: 1;
	max-width: 208px;
	min-width: 0;
}

.wrapper-request-4-info-btn a, 
.wrapper-gradient-btn a {
	width: 100%;
	height: 42px;
} */



.wrapper-request-4-info-btn {
	position: relative;
	width: 208px;
	height: 42px;

	margin-right: 16px;

	filter: drop-shadow(0px 2px 4px rgba(51, 51, 51, 0.24));
	transform: translateY(0);
	transition: .2s;

	&:not(:has(+ .wrapper-gradient-btn)) {
		margin-right: 0;
	}

	&:hover {
		transform: translateY(-5px);
		transition: .2s;
	}

	&::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		border-radius: 50px;
		background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
	}

	&::after {
		content: "";
		position: absolute;
		width: calc(100% - 4px);
		height: calc(100% - 4px);
		top: 2px;
		right: 2px;
		z-index: 2;
		border-radius: 50px;
		background: #fff;
	}

	a {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;

		display: flex;
        align-items: center;
        justify-content: center;

		background-color: transparent;
		border: none;
		z-index: 3;
	}
}

.wrapper-gradient-btn {
	margin-right: 16px;

	a {
		width: 208px;
		height: 42px;
		border: none;
		border-radius: 50px;

		display: flex;
        align-items: center;
        justify-content: center;

		background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
		filter: drop-shadow(0px 2px 4px rgba(51, 51, 51, 0.24));
		transform: translateY(0);
		transition: .2s;

		&:hover	{
			transform: translateY(-5px);
			transition: .2s;
		}

		.btn-gradient {
			color: #fff;
		}
	}
}
.wrapper-attendance-btn {

	a {
		width: 208px;
		height: 42px;
		border: none;
		border-radius: 50px;

		display: flex;
        align-items: center;
        justify-content: center;

		background: linear-gradient(to right, #00CFFF 0%, #0062FF 100%);
		filter: drop-shadow(0px 2px 4px rgba(51, 51, 51, 0.24));
		transform: translateY(0);
		transition: .2s;

		&:hover	{
			transform: translateY(-5px);
			transition: .2s;
		}

		.btn-attendance {
			color: #fff;
		}
	}
}
.wrapper-area-mv {
	background-color: #fff;
	height: 464px;

	margin-top: 80px;

	#area-mv {
		position: relative;
        max-width: 1280px;
        width: 100%;
        margin: 0 auto;
        padding-left: 40px;

		.area-text {
			position: absolute;
			bottom: 178px;
	
			z-index: 1;
	
			img {
				width: 640px;
			}
	
			.catch {
				max-width: 698px;
				.catch-L {
					color: #1B457C;
					letter-spacing: 10%;
				 }
		
				.catch-S {
					margin-top: 24px;
				}
	
				&.fade-l {
					opacity: 0;
					visibility: hidden;
					transition: all 0.5s ease 0s;
					transform: translateX(-150px);
				}
	
				&.is-active {
					opacity: 1;
					visibility: visible;
					transform: translateX(0);
				}
			}
		}
	
		.mv {
			background-image: url(../../images/3rdTerm/mv_r2.jpg);
			background-position: center;
			background-size: cover;
			height: 464px;
			padding-right: 40px;
		}
	}
}

.button-area {
	position: absolute;
    bottom: 56px;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 0 40px;

	z-index: 1;

	display: flex;
    justify-content: center;

	&.top-btn {
		justify-content: flex-start;
	}

	.wrapper-request-4-info-btn, 
	.wrapper-gradient-btn,
	.wrapper-attendance-btn {
		flex: 1;
  		max-width: 400px;
		min-width: 0;
	}

	.wrapper-request-4-info-btn a, 
	.wrapper-gradient-btn a,
	.wrapper-attendance-btn a {
		display: flex;
		align-items: center;
		justify-content: center;

		width: 100%;
		height: 82px;

		letter-spacing: 10%;
	}

	.wrapper-request-4-info-btn {
		/* width: 400px; */
		height: 82px;
		filter: drop-shadow(0 4px 16px rgba(51, 51, 51, 0.24));
		transform: translateY(0);
		transition: .2s;

		&:hover	{
			transform: translateY(-5px);
			transition: .2s;
		}

		a {
			display: flex;
			align-items: center;
			justify-content: center;
		}
	}

	.wrapper-gradient-btn, .wrapper-attendance-btn {
		filter: drop-shadow(0 4px 16px rgba(51, 51, 51, 0.24));

		a {
			display: flex;
			align-items: center;
            justify-content: center;
			/* width: 400px;
			height: 82px; */
		}
	}
}


.invitation-btn {
	margin-top: 18px;
	padding: 24px 64px;

	background-color: #fff;
	border: none;
	border-radius: 50px;
	filter: drop-shadow(0px 8px 16px rgba(51, 51, 51, 0.24));
	transform: translateY(0);
	transition: .2s;

	&:hover	{
		transform: translateY(-5px);
		transition: .2s;
	}

}

.btn-grad-txt {
	background-position: center;
	background: linear-gradient(180deg, #FFBB00 0%, #FF6F00 100%);
	background: -webkit-linear-gradient(0deg, #FFBB00 0%, #FF6F00 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.back-to-top {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: 0.2s;
	transition: .3s;

	position: fixed;
	width: 60px;
	height: 60px;
	right: 40px;
	bottom: 40px;
	z-index: 9999;

	&.is-active {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);

	}

	&:hover {
		transform: translateY(-5px);
		transition: 0.2s;
	}
}

/* .mv, #area-mv .button-area */
.wrapper-area-mv{ 
	opacity: 0;
	animation: fadeUp 0.8s ease-out 0.3s forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* .char {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;

	display: inline-block;
	opacity: 0;
} */

/* Issue------------------------------- */
#issue {
	background-color: #EFF6FF;

	.wrapper-list-issue {
		background-color: #FAEECA;
		background-image: url(../../images/3rdTerm/issue_img.svg);
		background-size: 256px 192px;
		background-position: bottom center;

		position: relative;

		&::after {
			content: "";
			width: 40px;
			height: 24px;
			background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
			clip-path: polygon(50% 100%, 0 0, 100% 0);

			position: absolute;
			bottom: calc(-24px + -32px);
			left: 0;
			right: 0;
			margin: 0 auto;
		}

		.list-title {
			color: #FF6F00;
			text-align: center;
			padding: 32px;
			letter-spacing: 10%;
		}

		ul {
			color: #FF6F00;
			margin: 0 32px;
			padding-bottom: 60px;
			display: flex;
			flex-wrap: wrap;
            text-align: center;
			justify-content: space-between;

			li {
				color: #FF6F00;
				width: 34.6%;
				background-color: #fff;
				padding: 16px 16px;

				&:nth-of-type(-n + 2) {
					margin-bottom: 16px;
				}
			}
		}
	}

	.wrapper-issue-catch {
		margin-top: 88px;
		padding-bottom: 80px;

		h3.issue-catch {
			margin-top: 16px;
		}

		.issue-catch {
			color: #1B457C;
			text-align: center;
			letter-spacing: 10%;
		}
	}
}

/* Challenges------------------------------- */
#challenges {

	.wrapper-challenges {
		.wrapper-list-environment {
			background-color: #FAEECA;
			position: relative;

			.list-title {
				color: #FF6F00;
				text-align: center;
				padding: 32px 32px 24px 32px;
				letter-spacing: 10%;
			}

			.list-environment {
				display: flex;
				justify-content: space-between;

				padding: 0 33px 32px 33px;
				
				.inner-environment {
					width: calc((100% - 64px) / 5);
					background-color: #fff;
					text-align: center;
					padding: 16px;

					dd {
						color: #FF6F00;
					}

					&:not:last-of-type {
						margin-right: 16px;
					}

				}

				&::after {
					content: "";
					width: 40px;
					height: 24px;
					background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
					clip-path: polygon(50% 100%, 0 0, 100% 0);

					position: absolute;
					bottom: calc(-24px + -32px);
					left: 0;
					right: 0;
					margin: 0 auto;
				}
			
			}
		}

		.wrapper-challenges-catch {
			margin-top: 88px;
			padding-bottom: 80px;

			h4.challenges-catch {
				margin-bottom: 16px;
			}
			.challenges-catch {
				color: #1B457C;
				text-align: center;
				letter-spacing: 10%;
			}
		}
	}
}

/* Strengths------------------------------- */
#strengths {
	background-color: #EFF6FF;

	.wrapper-strengths {
		position: relative;

		.list-pos {
			display: flex;
			justify-content: space-between;

			position: relative;

			&::after {
				content: "";
				width: 40px;
				height: 24px;
				background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
				clip-path: polygon(50% 100%, 0 0, 100% 0);
				position: absolute;
				bottom: calc(-24px + -32px);
				left: 0;
				right: 0;
				margin: 0 auto;
			}

			.inner-pos {
				width: calc((100% - 96px) / 3);
				padding: 16px 32px 32px 32px;
				background-color: #fff;

				display: flex;
                flex-direction: column;

				.point-num {
					color: #ff6f00;
					font-style: italic;
					margin-bottom: 16px;

					.num {
						padding-left: 5px;
						color: inherit;
						font-family: inherit;
					}
				}

				dd {
					color: #1B457C;
					margin-bottom: 16px;
					letter-spacing: 10%;
				}

				dt {
					margin-bottom: 32px;
				}

				&:not(:first-child) dt {
					margin-bottom: 57px;
				}

				.point-img {
					margin-top: auto;

				}
			}
		}

		.wrapper-strength-catch {
            margin-top: 88px;
            padding-bottom: 80px;

			.strength-catch {
				font-size: 32px;
				font-weight: 700;
                color: #1B457C;
                text-align: center;
                letter-spacing: 10%;

				margin-bottom: 16px;
            }
        }

		.more {
            display: flex;
            justify-content: center;
            width: 208px;
            padding: 4px;
            margin: 16px auto 0 auto;
            border: 2px solid #6595E0;
            color: #6595E0;
            background-color: #fff;
            border-radius: 50px;
            transition: .2s;

			&:hover {
				background-color: #6595E0;
				color: #fff;
				transition: .2s;
			}
        }
	}
}

/* Speaker------------------------------- */
#speaker {
	.wrapper-speaker {
		.speaker-catch {
			color: #FF6F00;
			text-align: center;
			padding-bottom: 24px;
			letter-spacing: 10%;
		}

		.more {
			display: flex;
			justify-content: center;
			
			width: 208px;
			padding: 4px;
			margin: 32px auto 80px auto;
			border: 2px solid #6595E0;
			color: #6595E0;
			background-color: #fff;
			border-radius: 50px;
			
			transition: .2s;
			
			&:hover {
				background-color: #6595E0;
				color: #fff;
				transition: .2s;
			}
		}
	}
}



.list-speaker {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: flex;
	flex-wrap: wrap;
	justify-content: center;

	gap: 48px;

	.inner-speaker {
		width: calc((100% - 96px) / 3);
		min-width: 368px;
		padding: 16px;
		display: flex;

		align-items: flex-start;
		
		background-color: #EFF6FF;

		img {
			width: 144px;
			margin-right: 16px;
		}

		.speaker-detail {
			width: 100%;
			height: 200px;
			display: flex;
			flex-direction: column;

			.name {
				margin: 0 0 8px 0;
				letter-spacing: 10%;
			}

			.belongs {
				margin-bottom: auto;
			}

			button	{
				width: 100%;
				padding: 4px;
				border: 2px solid #6595E0;
				color: #6595E0;
				background-color: #fff;
				border-radius: 50px;
				transition: .2s;

				display: flex;
				justify-content: center;

				&:hover {
					background-color: #6595E0;
					color: #fff;
					transition: .2s;
				}
			}

			.introduce-mov {
				margin-bottom: 8px;

				&:has(.introduce-mov) {
					display: flex;
					margin-bottom: 0;
				}

				.introduce-mov:first-of-type {
					margin-right: 4px;
				}
			}
		}
	}
}

/* モーダル------------------------------- */
#speaker-modal, #movie-modal, #payment-modal {
	display: none;
	position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 9999;

    max-width: min(960px, calc(100% - 40px));
    height: 100%;
	padding: 126px 0;
	margin: 0 auto;

    /* overflow-y: scroll; */
    overflow-y: auto;

	.btn-close {
        position: absolute;
        cursor: pointer;
        top: -46px;
        right: 7px;
        width: 32px;
        height: 32px;
        z-index: 9999999;

		span {
            position: absolute;
            margin: 0 auto;
            border-radius: 3px;
            width: 45px;
            height: 2px;
            background-color: #ffffff;
            transition: .3s;

			&:first-child {
				top: 50%;
				transform: translateY(-50%) rotate(45deg);
			}
	
			&:nth-of-type(2) {
				top: 50%;
				transform: translateY(-50%) rotate(-45deg);
			}
		}

	}

	.shadow {
		position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(27, 69, 124, 0.8)
	}
}

#movie-modal {
	/* overflow-y: hidden; */
	.inner-modal {
		width: min(960px, calc(100% - 40px));
		margin: 0 auto;
		position: relative;
		z-index: 99;

		.wrapper-content {
			/* width: 960px; */
			margin: 0 auto;
			aspect-ratio: 16 / 9;

			&iframe {
				width: 100%;
				aspect-ratio: 16 / 9;
				height: auto;
			}
		}

		.wrapper-content iframe{
			width: 100%;
			height: 100%;
			border: 0;
		}
	}
}

#movie-modal.portrait {
	.inner-modal {
		width: min(350px, calc(100% - 40px));

		&iframe {
			aspect-ratio: 9 / 16;
		}
	}
	.wrapper-content {
		aspect-ratio: 9 / 16;
	}
}

#speaker-modal {

	.inner-modal {
		background-color: #fff;
		padding: 32px;
		margin: 0 auto;
	
		position: relative;
		z-index: 99;
	
		.wrapper-content {
			display: flex;
			align-items: flex-start;
	
			.modal-image {
				max-width: 360px;
				height: auto;
				margin-right: 32px;
			}
	
			.wrapper-inner-content {
				width: 100%;
				
				.modal-name {
					font-size: 32px;
					font-weight: 700;
					margin-bottom: 4px;
				}
	
				.modal-position	{
					font-size: 16px;
					font-weight: 400;
					margin-bottom: 32px;
				}
	
				.area-theme {
					padding: 32px;
					margin-bottom: 32px;
					background-color: #FAEECA;

					.modal-theme {
						position: relative;
						padding-left: calc(1em + 4px);

						&:before {
							content: "・";
							display: block;
							position: absolute;
							top: 0;
							left: -3px;
						}
					}
	
					p {
						color: #FF6F00;
						font-size: 24px;
						font-weight: 700;
						margin-bottom: 16px;
					}
				}
	
				.area-profile {
					p:not(.modal-profile) {
						margin-bottom: 4px;
					}
	
					.modal-profile {
						font-size: 12px;
					}

					.bio dl {
						display: flex;
						flex-wrap: wrap;
						margin-bottom:4px;

						dt { width: calc(78px + 1rem); }
						dd { width: calc(100% - (78px + 1rem)); }
					}

					.prof-caption {
						color: #FF6F00;
						font-size: inherit;
						font-weight: 700;

						margin-top: .5rem;
						margin-bottom: .25rem;
                        display: inline-block;
					}

					.indent {
						display: inline-block;
						font-size: inherit;
						margin-bottom: 0;

						&::before {
							content: "・";
							display: block;
							position: absolute;
							top: 0;
							left: 0;
						}
					}
				}
			}
		}
	}

	&::-webkit-scrollbar {
    	width: 1px;
	}

	&::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,.001);
		border-radius: 999px;
	}
}

#payment-modal {

	.inner-modal {
		background-color: #fff;
		padding: 32px;
		margin: 0 auto;
	
		position: relative;
		z-index: 99;

		h3 {
			letter-spacing: 10%;
		}
	
		.wrapper-content {
			margin-top: 24px;
			
			.wrapper-inner-content {
				background-color: #FAEECA;
                color: #FF6F00;
				font-size: 24px;
				font-weight: 700;
				letter-spacing: 10%;

				padding: 48px;
				margin-bottom: 16px;
				text-align: center;

				.bg-w {
					background-color: #fff;
					font-size: inherit;
					color: inherit;
					font-weight: inherit;
					letter-spacing: inherit;

					padding: 16px;
                    margin: 0 16px;

					&:first-of-type { margin-left: 0; }

					.small {
						font-size: 16px;
						font-weight: 400;
						color: inherit;

						letter-spacing: 0;
					}
				}
			}

			p.indent {
				font-size: 12px;
				margin-bottom: 4px;

				&:last-of-type {
					margin-bottom: 80px;
				}
			}
		}

		.wrapper-list-payment {
			display: flex;
			justify-content: space-between;
			margin-top: 24px;

			.list-5-installments, .list-10-installments {
				width: 47.3214%;

				h4 {
					font-size: 24px;
					color: #1B457C;
					font-weight: 700;
					padding: 16px;
					letter-spacing: 10%;

					border-top: 1px solid #6595E0;
					border-bottom: 1px solid #6595E0;
				}

				ul {
                    margin: 16px 0 32px 0;
                    position: relative;

					counter-reset: number;

					&::before {
                        content: "";
                        display: block;
                        position: absolute;
                        top: 2px;
                        left: 34px;
                        width: 4px;
                        height: calc(100% - 2rem);
                        background-color: #1B457C;
					}

					li {
						padding-left: 72px;
						margin-bottom: 24px;

						position: relative;
						counter-increment: number;

						&::after {
                            content: counter(number);

                            width: 40px;
                            height: 40px;
							border-radius: 50%;
                            background-color: #1B457C;
                            display: inline-block;

                            color: #fff;
                            font-size: 24px;
                            font-weight: 700;
                            font-family: "Roboto";
                            font-style: italic;
							text-align: center;


                            position: absolute;
                            left: 16px;
                            top: 2px;
                            bottom: 0;

							display: flex;
                            justify-content: center;
                            align-items: center;
						}

						.price {
							color: #1B457C;
							font-size: 16px;
							font-weight: 700;

							.small {
								color: inherit;
   								font-size: 12px;
							}
						}

						.deadline {
							font-size: 12px;
						}
					}
				}
			}
		}
	}

	&::-webkit-scrollbar {
    	width: 1px;
	}

	&::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,.001);
		border-radius: 999px;
	}
}

/* Case------------------------------- */
#case {
	background-color: #EFF6FF;

	.list-case {
		display: flex;
		justify-content: space-between;
		padding-bottom: 80px;

		li {
			width: calc((100% - 96px) / 3);
			background-color: #fff;
			padding: 32px;
		}

		.inner-list-case {

			display: flex;
			flex-direction: column;
            align-items: center;

			min-height: 520px;

			img {
				width: 136px;
				margin-bottom: 32px;
			}

			.former-job {
				color: #1B457C;
				margin-bottom: 44px;
				position: relative;
				letter-spacing: 10%;

				&::after {
					content: "";
					width: 20px;
					height: 12px;
					background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
					clip-path: polygon(50% 100%, 0 0, 100% 0);

					position: absolute;
					bottom: calc(-12px + -16px);
					left: 0;
					right: 0;
					margin: 0 auto;
				}
			}

			.later-job {
				color: #FF6F00;
				margin-bottom: 32px;
				letter-spacing: 10%;
				text-align: center;
			}

			.impression {
                margin-bottom: auto;
				min-height: 168px;
				display: inline-block;
			}
		}
	}
}
/* Question------------------------------- */
#question {

	.wrapper-question {
		position: relative;
		padding-bottom: 194px;

		.wrapper-list-question {
			background-color: #FAEECA;
			position: relative;
			margin-bottom: 88px;

			&::after {
				content: "";
				width: 40px;
				height: 24px;
				background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
				clip-path: polygon(50% 100%, 0 0, 100% 0);

				position: absolute;
				bottom: calc(-24px + -32px);
				left: 0;
				right: 0;
				margin: 0 auto;
			}

			.list-title {
				color: #FF6F00;
				text-align: center;
				padding: 24px;
				letter-spacing: 10%;
			}

			ul {
				color: #FF6F00;
				margin: 0 32px;
				padding-bottom: 32px;
				display: flex;
				flex-wrap: wrap;
				text-align: center;
				justify-content: space-between;

				li {
					color: #FF6F00;
					width: calc((100% - 16px) / 2);
					background-color: #fff;
					padding: 16px;

					&:nth-of-type(-n + 4) {
						margin-bottom: 16px;
					}
				}
			}
		}

		.wrapper-question-catch {
			text-align: center;

			.question-catch {
				color: #1B457C;
				letter-spacing: 10%;

			}

			p.question-catch {
				margin-bottom: 8px;
			}
		}

		.wrapper-btn {
			text-align: center;
		}
	}

	.button-area {
		bottom: 80px;
	}
}

/* FAQ------------------------------- */
#faq {
	background-color: #EFF6FF;

	.inner {
		padding-bottom: 80px;

		.wrap-faq {

			.head {
				position: relative;
				cursor: pointer;
				padding: 16px 56px 16px 64px;
				transition: .3s;
				background-color: #fff;
				border-top: 1px solid #6595E0;
				border-bottom: 1px solid #6595E0;
				margin-top: -1px;

				&::before {
					content: "Q";
					position: absolute;
					width: 32px;
					height: 32px;
					font-size: 32px;
					font-weight: 700;
					color: #6595E0;

                    top: 11px;
                    left: 25px;

					transition: transform .3s;
					font-family: "Roboto", "Noto Sans JP", sans-serif;
				}

				&::after {
					content: "";
					display: block;
					background-image: url(../../images/3rdTerm/open.svg);
					width: 24px;
					height: 12px;
					transform: rotate(180deg);
					transition: .3s;

					position: absolute;
					top: 30px;
					right: 24px;
				}

				p {
					color: #1B457C;
					letter-spacing: 10%;
				}
			}

			.head.animating {
				pointer-events: none;
			}

			.text {
				/* display: none;
				transition: .3s; */
				    height: 0;
					overflow: hidden;
					transition: height .5s ease;

				.inner-text {
					position: relative;
					padding: 16px 56px 16px 64px;

					transition: .3s;

					&::before {
						content: "A";
						position: absolute;
						width: 32px;
						height: 34px;
						font-size: 24px;
						font-weight: 400;
						color: #6595E0;

						top: 13px;
                        left: 28px;
						font-family: "Roboto", "Noto Sans JP", sans-serif;
					}

					a {
						color: #6595E0;
						font-weight: 500;
						opacity: 1;
						transition: .2s;
						font-size: inherit;

						&:hover {
							opacity: 0.5;
							transition: .2s;
						}
					}
				}
			}
		}

		.wrap-faq.open {
			
			.head::after {
				transform: rotate(0deg);
				transition: .3s;
			}

			.text {
				max-height: 500px;
			}
		}
	}
}
/* Message ------------------------------- */
#message {
	background-color: #FAEECA;
	position: relative;

	.wrapper-message {
		padding-bottom: 194px;
	}

	.button-area {
		bottom: 80px;

		.wrapper-gradient-btn {
			margin-right: 16px;
		}
	}
}
/* フッター------------------------------- */
footer 	{
	background-color: #EFF6FF;

	.wrapper-footer	{
		max-width: 1280px;
        width: 100%;
		margin: 0 auto;
		padding: 0 40px;

		ul li a {
			opacity: 1;
			transition: .2s;

			&:hover {
				opacity: .5;
				transition: .2s;
			}
		}

		ul li, ul li a {
			color: #6595E0;
			margin-bottom: 8px;

			&.bold {
				font-size: 16px;
				font-weight: 700;
			}
		}

		.inner-footer {
			display: flex;
			justify-content: space-between;
			padding: 32px 0 40px 0;

			img {
				width: 226px;
				height: 64px;
			}

			.wrapper-footer-menu {
				display: flex;
				
				ul li {
					margin-bottom: 8px;
				}

				.footer-menu {
					margin-right: 48px;
				}
			}
		}
		
		.policy_archive {
			display: flex;
			padding-bottom: 24px;

			li {
				margin-right: 32px;
			}
		}

		.copy {
			padding-bottom: 32px;
		}
	}
}

/* 別ページ汎用------------------------------- */
body.top-speaker, body.top-outline, body.top-infomationsession {
	.wrapper-head-title {
		background: linear-gradient(to right, #00568B 0%, #002646 100%);
		margin-top: 80px;
		margin-bottom: 80px;

		.head-title {
            max-width: 1280px;
            width: 100%;
			margin: 0 auto;
			padding: 80px 40px;
			font-size: 40px;
			font-weight: 700;
			color: #fff;

			position: relative;

			&::after {
				content: "";
				background-image: url(../../images/3rdTerm/pagettl_logo.svg);
				width: 116px;
                height: 136px;

				position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
                margin: auto;
				margin-right: 40px;
			}
		}
	}

	.leage { font-size: 24px; font-weight: 700; letter-spacing: 10%;}
	.small { 
		font-size: 12px;
		
		a {
			color: #6595E0;
			font-size: inherit;
			font-weight: 500;
			opacity: 1;
			transition: .2s;

			&:hover {
				opacity: .5;
				transition: .2s;
			}
		}
	}
}

/* 全講師一覧------------------------------- */
body.top-speaker {

	.list-speaker {
		flex-wrap: wrap;
    	justify-content: flex-start;
		margin-bottom: 160px;

		.speaker-detail {

			button {
				color: #6595E0;
				font-weight: 500;
				border: 2px solid #6595E0;
				background-color: #fff;
				border-radius: 50px;
				padding: 4px;
			}
		}
		
	}
}

@media screen and (max-width: 1214px) {
	#list-speaker {
		.list-speaker {
			justify-content: center;
		}
	}
}

/* 募集概要------------------------------- */
body.top-outline {

	h3, dd {
		color: #1b457c;
		font-weight: bold;
	}

	#wrapper-list-outline {
		max-width: 1280px;
    	margin: 0 auto;
		margin-bottom: 80px;
		padding: 0 40px;

		.list-outline {
			margin-top: 24px;

			.inner-list-outline {
				display: flex;

				dd {
					width: 13.3333%;
					padding: 16px 0 16px 16px;
					margin-right: 16px;
					border-top: 1px solid #6595E0;
				}

				dt {
					width: 85.3333%;
					padding: 16px 0 16px 16px;
					border-top: 1px solid #6595E0;
				}

				&:last-child dd,
				&:last-child dt {
					border-bottom: 1px solid #6595E0;
				}
			}
		}
	}

	#schedule {
		scroll-margin-top: 100px;

		max-width: 1280px;
		margin: 0 auto;
		margin-bottom: 160px;
		padding: 0 40px;

		.list-schedule {
			margin-top: 24px;
			counter-reset: point;

			.inner-list-schedule {
				display: flex;

				dd {
					width: 24%;
					padding: 16px 0 16px 16px;
					margin-right: 16px;
					border-top: 1px solid #6595E0;

					font-weight: 400;
					color: #333333;
				}

				dt {
					padding: 16px 0 16px 16px;
					border-top: 1px solid #6595E0;
					position: relative;

					&:first-of-type {
						width: 49.3333%;
					}
					&:last-of-type {
						width: 24%;
					}
					&:not(:last-of-type) {
						margin-right: 16px;
					}

					/* span {
						font-weight: 700;
						color: #1B457C;
						display: inline-block;
						padding-right: 24px;
					} */
				}

				.special-class {
					padding-left: 91px;
				}

				.indent {
					padding-left: calc(4.5em + 2px);
					margin-bottom: 0;
					display: inline-block;

					&::before {
						content: "";
					}
				}

				&:last-child dd,
				&:last-child dt {
					border-bottom: 1px solid #6595E0;
				}

				dt:not(.special-class):first-of-type {
					counter-increment: point;
				}

				dt:not(.special-class):first-of-type::before {
						content: "第" counter(point, decimal-leading-zero) "講";
						font-weight: 700;
						color: #1B457C;
						display: inline-block;
						position: absolute;
						padding-right: 24px;
				}
			}
		}

		&>p {
			margin-top: 16px;
		}

		.req {
			margin-top: 32px;
		}

		a {
			color: #6595E0;
			font-weight: 500;
			opacity: 1;
			transition: .2s;
			font-size: inherit;

			&:hover {
				opacity: 0.5;
				transition: .2s;
			}
		}
	}
}

@media screen and (max-width: 1214px) {
	#payment-modal {
		.inner-modal {
			.wrapper-content {
				.wrapper-inner-content {
					font-size: 1.9769vw;
				}
			}
		}
	}
}

/* 体験説明会------------------------------- */
body.top-infomationsession {
	h3:not(.heading) {
		color: #1b457c;
		font-weight: bold;
		margin-bottom: 24px;
		letter-spacing: 10%;
	}

	#catch {
		max-width: 1280px;
    	margin: 0 auto;
		padding: 0 40px 194px 40px;

		position: relative;

		.small {
			margin-top: 4px;
		}
	}

	#date-and-time {
		max-width: 1280px;
    	margin: 0 auto;
		padding: 0 40px;
		margin-bottom: 80px;

		.wrapper-list-dat {
			display: flex;
			gap: 48px;

			h4 {
				color: #1B457C;
				font-size: 24px ;
				font-weight: bold;
				letter-spacing: 10%;
			}

			.wrapper-daytime, .wrapper-evening {
				width: 100%;
				margin-top: 32px;

				.list-dat {	
					display: flex;
                    flex-wrap: wrap;
					gap: 16px;

					.inner-list-dat {
						width: calc((100% - 32px) / 3);
						background-color: #EFF6FF;
						padding: 16px;
						display: flex;
	
						dd {
							color: #1B457C;
							font-weight: bold;
						}
						dt {
							&:first-of-type {
								padding-left: 1.5em;
							}

							&:last-of-type {
								color: #FF6F00;
								font-size: 14px;
								font-weight: bold;

								margin-left: auto;
							}
						}
					}
				}
			}
		}

		.list-detail {
			margin-top: 32px;
			display: flex;
			gap: 48px;

			.inner-list-detail {
				width: 576px;
				display: flex;
				justify-content: space-between;

				dd {
					color: #1B457C;
					font-weight: 700;

					width: 112px;
					margin-right: 16px;
					padding: 16px;

					border-top: 1px solid #6595E0;
					border-bottom: 1px solid #6595E0;
				}

				dt {
					width: calc(100% - (112px + 16px));
					max-width: 448px;
					padding: 16px;

					border-top: 1px solid #6595E0;
					border-bottom: 1px solid #6595E0;
				}
			}
		}
	}

	#session-flow {
		max-width: 1280px;
    	margin: 0 auto;
		margin-bottom: 80px;
		padding: 0 40px;

		.wrapper-flow {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;

			.inner-wrapper-flow {

				.list-flow {
					margin-bottom: 35px;
					counter-reset: number;
					position: relative;

					.inner-flow {
						padding-left: 56px;
						position: relative;
						counter-increment: number;

						h4 { 
							font-size: 24px; 
							font-weight: 700; 
							color: #1B457C;
							letter-spacing: 10%;

							.time {
								color: #FF6F00;
								font-size: 16px;
								font-weight: inherit;
								letter-spacing: 0;

								display: inline-block;
                                margin-left: 4px;
							}
						}
						.inner-list-flow {
							padding: 16px 0 27px 16px;

							li {
								position: relative;
								padding-left: calc(1em + 2px);;
								margin-bottom: 8px;

								&::before {
									content: "・";
									display: block;
									position: absolute;
									top: 0;
									left: 0;
								}
							}
						}

						&::after {
                            content: counter(number);

                            width: 40px;
                            height: 40px;
                            background-color: #1B457C;
                            border-radius: 50%;

                            display: inline-block;

                            color: #fff;
                            font-size: 24px;
                            font-weight: 700;
                            font-family: "Roboto";
                            font-style: italic;
                            text-align: center;

                            position: absolute;
                            left: 0;
                            top: -1px;
							display: flex;
                            justify-content: center;
                            align-items: center;
                        }
					}

					&:before {
					content: "";
					display: block;
					position: absolute;
					top: 0;
					left: 18px;
					width: 4px;
   		            height: calc(100% - 2rem);
					background-color: #1B457C;
					}
				}
			}

			.wrapper-img {
				width: 600px;
				margin-left: 40px;

				p {
					font-size: 12px;
					font-weight: 400;
					margin-top: 8px;
				}
			}

		}
	}
}

/* ==================================
SP版 ここから max-width: 767px
===================================== */
@media screen and (max-width: 767px) {
	/* 共通スタイル------------------------------- */
	* {
		font-family: "Roboto", "Noto Sans JP", sans-serif;
	}

	/* only_pc/sp ------------- */
	.only_sp {
		display: block;
	}
	.only_pc {
		display: none;
	}

	.wrapper-issue, .wrapper-challenges, .wrapper-strengths, .wrapper-speaker,.wrapper-case, .wrapper-question, .wrapper-faq, .wrapper-message {
		max-width: 89.7435vw;
		padding: 0;

		.wrapper-caption {
			padding-top: 16.4102vw;

			p {
				margin-bottom: 2.0512vw;
				
				.target {	

					&::after {
						width: 80px;
						height: 1px;
		
						right: -90px;
					}
				}
			}
		}

		.heading {
			padding-bottom: 8.2051vw;
		}
	}

	.indent {
		padding-left: calc(1em + 2px);;
		margin-bottom: 8px;

		&::before {
			top: 0;
			left: 0;
		}
	}

	/* フォントサイズ&ウェイト&カラー------------------------------- */

	/* 12px */
	.belongs, .copy p { font-size: 3.0769vw; }

	/* 14px */
	.speaker-detail button, footer ul li a { font-size: 3.5897vw; font-weight: 500;}
	.btn-grad-txt, .wrapper-gradient-btn .btn-gradient, .wrapper-attendance-btn .btn-attendance { font-size: 3.5897vw; font-weight: 500; }

	/* 16px */
	p.catch-S, .inner-environment dt, .inner-text p { font-size: 4.1025vw; }
	.target, nav>a, .wrapper-hoge p, .list-issue li, .inner-environment dd, .list-question li { font-size: 4.1025vw; font-weight: 700; }

	/* 18px */
	.issue-catch, .challenges-catch, .former-job, .question-catch { font-size: 4.6153vw; }
	.button-area .btn-gradient, .button-area .btn-attendance, .button-area a span { font-size: 4.6153vw; font-weight: 500; }
	.button-area .invitation-btn, .list-title, .point-num, .speaker-catch, .name, .later-job, .head p { font-size: 4.6153vw; font-weight: 700; }

	/* 22px */
	h3, h3.issue-catch, h4.question-catch { font-size: 5.6410vw; }
	h4.challenges-catch, .inner-pos dd { font-size: 5.6410vw; font-weight: 700; }

	/* 26px */
	h3.heading { font-size: 6.6666vw; font-weight: 700; }

	/* 40px */
	h2.catch-L { font-size: 10.2564vw; font-weight: 700; }

	.bold { font-size: inherit; font-weight: 700; color: inherit; }
	.txt-bg { color: #fff; background-color: #1B457C; font-size: inherit; font-weight: inherit; }
	.num { font-size: 6.666vw; font-weight: inherit; font-style: inherit; }
	/* .gold { color: #E3C978; }
	.blue { color: #1B457C; }
	.white { color: #fff; }
	.black { color: #000; } */

	/* ヘッダー------------------------------- */
	#wrapper-nav {

		#inner-nav {
			max-width: 100vw;
			width: 100vw;
			height: 14.3589vw;
			padding: 0 5.1282vw;
		
			.logo {
				width: 28.9743vw;
			}		
		}
	}

	.wrapper-request-4-info-btn {
		width: 25.6410vw;
		height: 10vw;
		margin-right: 2.0512vw;
	}

	.wrapper-gradient-btn, .wrapper-attendance-btn {
		a {
			width: 25.6410vw;
			height: 10vw;
		}
	}

	.wrapper-gradient-btn {
		margin-right: 2.0512vw;
	}

	.wrapper-area-mv {
		height: 153.8461vw;
		margin-top: 14.3589vw;

		#area-mv {
			max-width: 100vw;
			padding-left: 0;

			.area-text {
				width: 89.7435vw;

				top: 6.1538vw;
				bottom: 0;
                right: 0;
                left: 0;

                margin: 0 auto;
		
				.catch {
					max-width: 89.4871vw;


					.catch-L {
						line-height: 1.4em;
					}
			
					.catch-S {
						margin-top: 4.1025vw;
					}
				}
			}
		
			.mv {
				background-image: url(../../images/3rdTerm/mv_r2sp.jpg);
				height: 153.8461vw;
				padding-right: 0;
			}

			.wrapper-request-4-info-btn {
				margin-right: 0;
			}
		}
	}

	.button-area {
		max-width: 73.3333vw;

		bottom: 6.1538vw;
		padding: 0;

		align-items: center;
		flex-wrap: wrap;

		.wrapper-request-4-info-btn, 
		.wrapper-gradient-btn
		.wrapper-attendance-btn {
			min-width: 73.3333vw;
			max-width: none;
		}

		.wrapper-request-4-info-btn {
			height: 14.8717vw;
			margin-bottom: 4.1025vw;
		}

		.wrapper-request-4-info-btn a, 
		.wrapper-gradient-btn a,
		.wrapper-attendance-btn a {
			align-items: center;
			justify-content: center;

			width: 100%;
			height: 14.8717vw;
		}


	}

	.invitation-btn {
		margin-top: 18px;
		padding: 24px 64px;

		border-radius: 50px;
	}

	.back-to-top {
		width: 60px;
		height: 60px;
		right: 6.1538vw;
		bottom: 6.1538vw;
		z-index: 9999;
	}

	/* Issue------------------------------- */
	#issue {

		.wrapper-list-issue {
			background-size:  65.6410vw 49.2307vw;

			&::after {
				width: 10.2564vw;
				height: 6.1538vw;

				bottom: calc(-6.1538vw + -8.2051vw);
			}

			.list-title {
				padding: 6.1538vw;
			}

			ul {
				margin: 0;
				padding-bottom: 55.3846vw;
				justify-content: center;

				li {
					width: 77.4358vw;
                    padding: 4.1025vw;

					&:nth-of-type(-n + 2) {
						margin-bottom: 0;
					}

					&:not(:last-of-type) {
						margin-bottom: 4.1025vw;
					}
				}
			}
		}

		.wrapper-issue-catch {
			margin-top: 22.5641vw;
			padding-bottom: 16.4102vw;

			h3.issue-catch {
				margin-top: 4.1025vw;
			}
		}
	}

	/* Challenges------------------------------- */
	#challenges {

		.wrapper-challenges {
			.wrapper-list-environment {

				.list-title {
					padding: 6.1538vw;
				}

				.list-environment {
                	flex-direction: column;
					padding: 0 6.1538vw 6.1538vw 6.1538vw;
					
					.inner-environment {
						width: 77.4358vw;
						padding: 4.1025vw;

						&:not(:last-of-type) {
							margin-right: 0;
							margin-bottom: 4.1025vw;
						}
					}

					&::after {
						width: 10.2564vw;
						height: 6.1538vw;

						bottom: calc(-6.1538vw + -8.2051vw);
					}
				}
			}

			.wrapper-challenges-catch {
				margin-top: 22.5641vw;
				padding-bottom: 16.4102vw;

				h4.challenges-catch {
					margin-bottom: 4.1025vw;
				}
			}
		}
	}

	/* Strengths------------------------------- */
	#strengths {

		.wrapper-strengths {
			.list-pos {
				flex-direction: column;
            	align-items: center;
				/* padding-bottom: 35.4102vw; */

				.inner-pos {
					width: 89.7435vw;
					padding: 6.1538vw;

					.point-num {
						margin-bottom: 2.0512vw;
					}

					dd {
						margin-bottom: 4.1025vw;
					}

					dt {
						margin-bottom: 6.1538vw;
						font-size: 4.1025vw;
					}

					&:not(:first-child) dt {
                    	margin-bottom: 6.1538vw;
                	}

					&:not(:last-of-type) {
						margin-bottom: 6.1538vw;
					}
				}
			}

			.wrapper-strength-catch {
				margin-top: 22.5641vw;
                padding-bottom: 16.4102vw;

				.strength-catch {
					font-size: 5.6410vw;

					margin-bottom: 4.1025vw;
				}
			}

			.more {
				width: 73.3333vw;
				padding: 2.0512vw;
				margin: 4.1025vw auto 0 auto;
				font-size: 3.5897vw;
                font-weight: 500;
			}
		}
	}

	/* Speaker------------------------------- */
	#speaker {
		.wrapper-speaker {
			.speaker-catch {
				padding-bottom: 6.1538vw;
			}

			.more {
				width: 73.3333vw;
				padding: 2.0512vw;
				margin: 8.2051vw auto 16.4102vw auto;
				
				font-size: 3.5897vw;
                font-weight: 500;
			}
		}
	}



	.list-speaker {
		max-width: none;
		width: 100%;
		margin: 0 auto;

		gap: 6.1538vw;
		justify-content: center;

		.inner-speaker {
			width: 89.7435vw;
			min-width: 89.7435vw;
			padding: 4.1025vw;

			img {
				width: 36.9230vw;
				margin-right: 4.1025vw;
			}

			.speaker-detail {
				height: 51.2820vw;

				.name {
					margin: 0 0 2.0512vw 0;
				}

				.belongs {
					margin-bottom: auto;
				}

				button	{
					width: 100%;
					padding: 1.0256vw;
				}
			}

			.introduce-mov {
				margin-bottom: 2.0512vw;

				&:has(.introduce-mov) {
					margin-bottom: 0;
				}

				.introduce-mov:first-of-type {
					margin-right: 1.0256vw;
				}
			}
		}
	}

	/* モーダル------------------------------- */
	#speaker-modal, #movie-modal, #payment-modal{
		max-width: none;
		width: 100%;
		padding: 22.5641vw 0;
	}

	#movie-modal {
		.inner-modal {
			width: 89.7435vw;

			.wrapper-content {
				margin: 0;
			}
		}
	}

	#speaker-modal {

		.inner-modal {
			width: 89.7435vw;
			padding: 6.1538vw;
		
			.wrapper-content {
				flex-direction: column;

				.modal-image {
					max-width: none;
					height: auto;
					margin-right:0;
					margin-bottom: 6.1538vw;
				}
		
				.wrapper-inner-content {
					.modal-name {
						font-size: 5.6410vw;
						margin-bottom: 1.0256vw;
					}
		
					.modal-position	{
						font-size: 4.1025vw;
						margin-bottom: 6.1538vw;
					}
		
					.area-theme {
						padding: 6.1538vw;
						margin-bottom: 6.1538vw;

						.modal-theme {
							padding-left: calc(1em + 4px);
							font-size: 4.1025vw;

							&:before {
								left: -3px;
							}
						}
		
						p {
							font-size: 4.6153vw;
							margin-bottom: 4.1025vw;
						}
					}
		
					.area-profile {
						p:not(.modal-profile) {
							font-size: 4.1025vw;
							margin-bottom: 1.0256vw;
						}
		
						.modal-profile {
							font-size: 3.0769vw;
						}

						& .bio dl {
							margin-bottom: .25rem;
                        	flex-direction: column;

							dt { width: 100%; }
							dd { width: 100%; }
						}
					}
				}
			}
		}

		&::-webkit-scrollbar {
			width: 0.0005vw;
		}

		&::-webkit-scrollbar-thumb {
			border-radius: 999px;
		}
	}

	#payment-modal {

		.inner-modal {
			width: 89.7435vw;
			padding: 6.1538vw;

			.wrapper-content {
				margin-top: 6.1538vw;
				
				.wrapper-inner-content {
					font-size: 4.6153vw;

					padding: 6.1538vw;
					margin-bottom: 4.1025vw;

					.bg-w {
						display: inline-block;
                        width: 100%;

						padding: 4.1025vw;
						margin: 0;

						&:first-of-type { margin-bottom: 4.1025vw; }
						&:last-of-type { margin: 4.1025vw 0 4.1025vw 0; }

						.small {
							font-size: 4.1025vw;
						}
					}
				}

				p.indent {
					font-size: 3.0769vw;
					margin-bottom: 4px;

					&:last-of-type {
						margin-bottom: 16.4102vw;
					}
				}
			}

			.wrapper-list-payment {
				flex-direction: column;
				margin-top: 6.1538vw;

				.list-5-installments, .list-10-installments {
					width: 100%;

					h4 {
						font-size: 4.6153vw;
						padding: 4.1025vw;
					}

					ul {
						margin: 4.1025vw 0 8.2051vw 0;

						&::before {
							top: 3.4616vw;
							left: 7.9487vw;
							height: calc(100% - 2.5rem);
						}

						li {
							padding-left: 15.6410vw;
							margin-bottom: 6.1538vw;

							&::after {
								width: 8.2051vw;
								height: 8.2051vw;

								font-size: 4.6153vw;

								left: 4.1025vw;
								top: 1.0256vw;

								text-align: center;
							}

							.price {
								font-size: 4.1025vw;

								.small {
									font-size: 3.0769vw;
								}
							}

							.deadline {
								font-size: 3.0769vw;
							}
						}
					}
				}

				.list-10-installments {
					ul {
						margin-bottom: 0;

						li:last-of-type {
							margin-bottom: 0;
						}
					}
				}
			}
		}
	}

	/* Case------------------------------- */
	#case {

		.list-case {
			padding-bottom: 16.4102vw;

			flex-direction: column;
       		align-items: center;

			li {
				width: 100%;
				padding: 6.1538vw;

				&:not(:last-of-type) {
					margin-bottom: 6.1538vw;
				}
			}

			.inner-list-case {
				min-height: 117.4205vw;

				img {
					width: 34.8717vw;
					margin-bottom: 4.1025vw;
				}

				.former-job {
					margin-bottom: 11.2820vw;

					&::after {
						width: 5.1282vw;
						height: 3.0769vw;

						bottom: calc(-3.0769vw + -4.1025vw);
					}
				}

				.later-job {
					margin-bottom: 4.1025vw;
				}

				.impression	{
					min-height: 32.8205vw;
					font-size: 4.1025vw;
                    margin-bottom: auto;

                    width: 101%;
				}
			}
		}
	}
	/* Question------------------------------- */
	#question {

		.wrapper-question {
			padding-bottom: 39.4871vw;

			.wrapper-list-question {
				margin-bottom: 22.5641vw;

				&::after {
				width: 10.2564vw;
				height: 6.1538vw;

				bottom: calc(-6.1538vw + -8.2051vw);
				}

				.list-title {
					padding: 6.1538vw;
				}

				ul {
					flex-direction: column;
                	align-items: center;

					margin: 0 6.1538vw;
					padding-bottom: 6.1538vw;

					li {
						width: 100%;
						padding: 4.1025vw;

						&:nth-of-type(-n + 4) {
							margin-bottom: 0;
						}

						&:not(:last-of-type) {
							margin-bottom: 4.1025vw;
						}
					}
				}
			}

			.wrapper-question-catch {

				p.question-catch {
					margin-bottom: 4.1025vw;
				}
			}
		}

		.button-area {
			height: 14.8717vw;
			bottom: 16.4102vw;
		}
	}

	/* FAQ------------------------------- */
	#faq {

		.inner {
			padding-bottom: 16.4102vw;

			.wrap-faq {

				.head {
					padding: 4.1025vw 14.3589vw 4.1025vw 14.3589vw;

					&::before {
						width: 8.2051vw;
						height: 7.9487vw;
						font-size: 5.6410vw;

                        top: 3.5897vw;
                        left: 5.6410vw;
					}

					&::after {
						width: 6.1538vw;
						height: 3.0769vw;

                        top: 0;
                        bottom: 0;
                        margin: auto 0;
                        right: 18px;
					}
				}

				.text {

					.inner-text {
						padding: 4.1025vw 4.1025vw 4.1025vw 14.3589vw;

						&::before {
							width: 8.2051vw;
							height: 6.6666vw;
							font-size: 4.6153vw;

                            top: 3.5897vw;
                            left: 5.8974vw;
						}
					}
				}
			}
		}
	}
	/* Message ------------------------------- */
	#message {

		.wrapper-message {
			padding-bottom: 58.4615vw;

			&>p {
				font-size: 4.1025vw;
			}
		}

		.button-area {
			bottom: 16.4102vw;

			.wrapper-gradient-btn {
				margin-right: 0;
				margin-bottom: 4.1025vw;
			}

			.wrapper-gradient-btn, .wrapper-attendance-btn {
				min-width: 73.3333vw;
				max-width: none;
			}
		}
	}
	/* フッター------------------------------- */
	footer 	{

		.wrapper-footer	{
			max-width: none;
			width: 89.7435vw;
			margin: 0 auto;
			padding: 0;

			ul li a {
				width: 100%;
				display: inline-block;
				opacity: 1;
				transition: .2s;
				margin-bottom: 0;

				&:hover {
					opacity: .5;
					transition: .2s;
				}

				&.bold {
					font-size: 4.1025vw;
				}
			}
			
			ul li {
				margin-bottom: 0;
			}

			.inner-footer {
				padding: 8.2051vw 0;
				flex-direction: column;

				img {
					width: 57.9487vw;
					height: 16.4102vw;
					margin-bottom: 8.2051vw;
				}

				.wrapper-footer-menu {
					flex-direction: column;
					margin-right: 0;

					.footer-menu {
						margin-right: 0;
						margin-bottom: 0;

						li:not(:first-of-type) {
							background-color: #fff;
							border-top: 1px solid #6595E0;
							border-bottom: 1px solid #6595E0;
							margin-top: -1px;
						}

						li {
							&:not(.bold) {
								width: 100%;
								padding: 4.1025vw;
								display: inline-block;
							}
						}
					}
					
					ul li {
						margin-bottom: 0;

						&:first-of-type {
							margin-bottom: 2.0512vw;
						}
					}


					ul:first-of-type li:not(:first-of-type),
					ul:last-of-type li:last-of-type {
						position: relative;

						&::after {
							content: "";
							display: block;
							background-image: url(../../images/3rdTerm/open.svg);
							width: 3.0769vw;
                            height: 1.5384vw;
							transform: rotate(270deg);
							transition: .3s;
							position: absolute;
							top: 0;
							bottom: 0;
							margin: auto 0;
							right: 18px;
						}
					}	
				}
			}
			
			.policy_archive {
				flex-direction: column;
				padding-bottom: 6.1538vw;

				li {
					margin-right: 0;
					margin-bottom: 2.0512vw;
				}
			}

			.copy {
				padding-bottom: 8.2051vw;
			}
		}
	}

	/* 別ページ汎用------------------------------- */
	body.top-speaker, body.top-outline, body.top-infomationsession {
		.wrapper-head-title {
			margin-top: 14.3589vw;
			margin-bottom: 16.4102vw;

			.head-title {
				max-width: none;
				width: 100%;
				margin: 0;
				padding: 7.9487vw 5.1282vw;
				font-size: 6.6666vw;
				letter-spacing: 10%;

				&::after {
					width: 14.7641vw;
					height: 17.4358vw;

					margin-right: 5.1820vw;
				}
			}

			h3 {
				letter-spacing: 10%;
			}
		}

		.leage { font-size: 4.6153vw; }
		.small { font-size: 3.0769vw; }
	}

	/* 講師一覧------------------------------- */
	body.top-speaker {

		.list-speaker {
			width: 89.7435vw;
			margin-bottom: 32.8205vw;
	
		}
	}

	/* 第3期 プログラム------------------------------- */
	body.top-outline {

		#wrapper-list-outline {
			max-width: none;
			width: 89.7435vw;
			margin: 0 auto;
			margin-bottom: 16.4102vw;
			padding: 0;

			.list-outline {
				margin-top: 6.1538vw;

				.inner-list-outline {
					padding: 4.1025vw;
					flex-direction: column;

					border-top: 1px solid #6595E0;

					dd {
						font-size: 4.1025vw;
						width: 100%;
						padding: 0;
						padding-bottom: 2.0512vw;
						margin-right: 0;

						border-top: none;
					}

					dt {
						font-size: 4.1025vw;
						width: 100%;
						padding: 0;

						border-top: none;

						.indent {
							display: inline-block;
						}
					}

					&:last-child dd, &:last-child dt {
						border-bottom: none;
					}

					&:last-of-type {
						border-bottom: 1px solid #6595E0;
					}
				}

				.small {
					margin-top: 1.0256vw;
				}
			}
		}

		#schedule {
			scroll-margin-top: 20.5128vw;
			
			max-width: none;
			width: 89.7435vw;
			margin: 0 auto;
			margin-bottom: 32.8205vw;
			padding: 0;

			.list-schedule {
				margin-top: 6.1538vw;

				.inner-list-schedule {
					border-top: 1px solid #6595E0;
					padding: 4.1025vw;
					flex-direction: column;

					dd {
						font-size: 4.1025vw;
                        width: 100%;
                        padding: 0;
                        margin-right: 0;
						margin-bottom: 2.0512vw;
                        border-top: none;
					}

					dt {
						font-size: 4.1025vw;
						padding: 0;
						border-top: none;

						&:first-of-type {
							width: 100%;
						}
						&:last-of-type {
							width: auto;
                            margin-left: auto;
						}
						
						&:last-of-type:not(.empty) {
							margin-top: 2.0512vw;							
						}

						&:not(:last-of-type) {
							margin-right: 0;
						}
					}

					.special-class {
						padding-left: 0;
					}

					.indent {
						font-size: inherit;
						padding-left: 0;
                        padding-top: 8.7179vw;
                        margin-bottom: 0;
					}

					&:last-child dd,
					&:last-child dt {
						border-bottom: none;
					}

					dt:not(.special-class):first-of-type::before {
						padding-right: 0;
					}

					&:last-of-type {
						border-bottom: 1px solid #6595E0;
					}
				}
			}

			&>p {
				margin-top: 4.1025vw;
			}

			.req {
				font-size: 4.1025vw;
				margin-top: 8.2051vw;
			}
		}
	}

	/* 第3期 体験説明会------------------------------- */
	body.top-infomationsession {
		h3 {
			letter-spacing: 10%;
			margin-bottom: 6.1538vw;
		}

		#catch {
			max-width: none;
			width: 89.7435vw;
			padding: 0 0 39.4871vw 0;

			p:not(.small) {
				font-size: 4.1025vw;
			}

			.small {
				margin-top: 1.0256vw;
			}

			.button-area {
				bottom: 16.4102vw;
			}
		}

		#date-and-time {
			max-width: none;
			width: 89.7435vw;
			padding: 0;
			margin-bottom: 16.4102vw;

			.wrapper-list-dat {
				flex-direction: column;
				gap: 8.2051vw;

				h4 {
					font-size: 4.6153vw;
					letter-spacing: 10%;
				}

				.wrapper-daytime, .wrapper-evening {
					width: 89.7435vw;
					margin-top: 8.2051vw;

					.list-dat {	
						margin-top: 4.1025vw;
						gap: 4.1025vw;

						.inner-list-dat {
							width: 100%;
							padding: 4.1025vw;
							gap: 1.0256vw;
							
							dt, dd:first-of-type {
								font-size: 4.1025vw;
							}

							dt {
								&:first-of-type {
									padding-left: .75em;
								}

								&:last-of-type {
									font-size: 3.5897vw;
								}
							}
						}
					}
				}
			}

			.list-detail {
				flex-direction: column;
				margin-top: 8.2051vw;
				gap: 0;

				border-top: 1px solid #6595E0;
				border-bottom: 1px solid #6595E0;

				.inner-list-detail {
					width: 89.7435vw;
					flex-direction: column;

					&:first-of-type {
						border-bottom: 1px solid #6595E0;
					}

					dd {
						font-size: 4.1025vw;
						width: auto;
						margin-right: 0;
						padding: 4.1025vw 4.1025vw 2.0512vw 4.1025vw;
						border-top: none;
						border-bottom: none;
					}

					dt {
						font-size: 4.1025vw;
						width: auto;
						max-width: none;
						padding: 0 4.1025vw 4.1025vw 4.1025vw;
						border-top: none;
						border-bottom: none;

						.small {
							display: block;
    						margin-top: 1.0256vw;
						}
					}
				}
			}
		}

		#session-flow {
			max-width: none;
			width: 89.7435vw;
			margin: 0 auto;
			margin-bottom: 32.8205vw;
			padding: 0;

			.wrapper-flow {
				flex-direction: column;

				.inner-wrapper-flow {

					.list-flow {
						margin-bottom: 8.9743vw;

						.inner-flow {
							padding-left: 12.3076vw;
							
							h4 { 
								font-size: 4.6153vw; 

								.time {
									font-size: 4.1025vw;
								}
							}

							.inner-list-flow {
								padding: 4.1025vw 0 6.9230vw 4.1025vw;

								li {
									font-size: 4.1025vw;
									padding-left: calc(1em + 4px);
									position: relative;

									&:before {
										content: "・";
										display: block;
										position: absolute;
										top: 0;
										left: -3px;
									}
								}
							}

							&::after {
                            width: 8.2051vw;
                            height: 8.2051vw;
							top: -0.7692vw;

                            font-size: 4.6153vw;
							}
						}

						&:before {
                            top: 0;
                            left: 3.8461vw;
                            width: 4px;
                            height: calc(100% - 1rem);
						}
					}
				}

				&>p { font-size: 4.1025vw; }

				.wrapper-img {
					width: 100%;
					margin-left: 0;
					margin-top: 8.2051vw;

					p {
						font-size: 3.0769vw;
						margin-top: 2.0512vw;
					}
				}

			}
		}
	}


} 
/* min-width:641px */