@charset "UTF-8";
/* -----------------------------------------------
= modal_entry
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.modal_entry .btn .jp {
	margin-bottom: 0;
}
}/* @media */
@media screen and (max-width: 767px) {/* SP */
.modal_entry .btn .jp {
	margin: 0;
}
}/* @media */

/* -----------------------------------------------
= internship page (/internship/index.html)
----------------------------------------------- */
.internship {
	--primary-color: #0062c2;
	--secondary-color: #78c2ff;
	--ff-serif:"游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
.internship .gnav {
	display: none;
}
@media print, screen and (min-width: 768px) {
	.internship #contents {
		margin-top: 110px;
	}
}

/* = bg
----------------------------------------------- */
.internship .bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.internship .bg video {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
		 object-fit: cover;
}

/* = header
----------------------------------------------- */
.internship #header {
	background: transparent;
}
@media (min-width: 768px) {
	.internship #header { /*PC*/
		height: 75px;
	}
}

/* = internship common
----------------------------------------------- */
.internship .kv {
	position: relative;
	z-index: 1;
	max-width: 1300px;
	margin: 0 auto;
}
.internship .kv .swiper {
	opacity: 0;
}
.internship .kv .swiper-slide img {
	width: 100%;
}
.internship .kv .title {
	position: absolute;
	z-index: 2;
	inset: 0;
	padding: 60px;
	align-content: center;
	display: none;
	/* @media */
}
.internship .kv .title p {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.35em;
	margin-top: 40px;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.internship .kv .title { /* SP */
		text-align: center;
		padding: calc(0.1333333333 * 75vw);
	}
	.internship .kv .title p {
		font-size: calc(0.1333333333 * 24vw);
		margin-top: calc(0.1333333333 * 40vw);
		letter-spacing: 0.55em;
		text-indent: 0.55em;
	}
	.internship .kv .title img {
		max-width: 89%;
	}
}
.internship .pc_only {
	display: none;
}
@media (min-width: 768px) {
	.internship .pc_only { /*PC*/
		display: block;
	}
}
.internship .sp_only {
	display: none;
}
@media (max-width: 767px) {
	.internship .sp_only { /*SP*/
		display: block;
	}
}
.internship .container {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 20px;
}
@media (max-width: 767px) {
	.internship .container { /*SP*/
		padding-inline: calc(0.1333333333 * 40vw);
	}
}
.internship .period {
	border: 1px solid #a8a8a8;
	background: rgba(0, 0, 0, 0.5);
	padding: 30px;
	margin-block: 105px;
	min-height: 140px;
	align-content: center;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.internship .period { /*SP*/
		min-height: calc(0.1333333333 * 240vw);
		margin-block: calc(0.1333333333 * 80vw);
		padding: calc(0.1333333333 * 24vw);
	}
}
.internship .period .inner {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	color: #fff;
}
.internship .period p {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 600;
}
@media (max-width: 767px) {
	.internship .period p { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
	}
}
.internship .period p + p {
	margin-top: 0.75em;
}
.internship .page_nav {
	overflow: hidden;
}
.internship .page_nav * {
	box-sizing: border-box;
}
.internship .page_nav ul {
	display: flex;
	--gap-x:35px;
	gap: var(--gap-x);
}
@media (max-width: 767px) {
	.internship .page_nav ul { /*SP*/
		flex-direction: column;
		gap: calc(0.1333333333 * 29vw);
	}
}
.internship .page_nav li {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	flex: 1;
	text-align: center;
	position: relative;
	border: 2px solid #fff;
}
@media (min-width: 768px) {
	.internship .page_nav li { /*PC*/
		min-height: 5em;
	}
	.internship .page_nav li::after {
		content: "";
		position: absolute;
		top: 100%;
		width: calc(var(--gap-x) + 2px);
		height: 2px;
		left: 100%;
		background-color: #fff;
	}
	.internship .page_nav li:first-child::before {
		content: "";
		position: absolute;
		top: 100%;
		width: 100vw;
		height: 2px;
		right: 100%;
		background-color: #fff;
	}
	.internship .page_nav li:last-child::after {
		width: 100vw;
	}
}
@media (max-width: 767px) {
	.internship .page_nav li { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
	}
}
.internship .page_nav a {
	color: #fff;
	display: block;
	height: calc(100% - 6px);
	align-content: center;
	margin-bottom: 0;
	position: relative;
	background: rgba(0, 0, 0, 0.5);
}
.internship .page_nav a span {
	display: block;
	font-size: 1.4rem;
}
@media (min-width: 768px) {
	.internship .page_nav a { /*PC*/
		margin: 6px;
	}
}
@media (max-width: 767px) {
	.internship .page_nav a { /*SP*/
		min-height: calc(0.1333333333 * 140vw);
	}
	.internship .page_nav a span {
		font-size: calc(0.1333333333 * 24vw);
	}
}
.internship .page_nav .active {
	font-weight: 600;
}
@media (min-width: 768px) {
	.internship .page_nav .active { /*PC*/
		border-bottom-color: transparent;
	}
}
.internship .page_nav .active a {
	background: var(--primary-color);
}
.internship .page_nav .active a::before {
	content: "";
	background: #fff;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
					clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media (max-width: 767px) {
	.internship .page_nav .active a::before { /*SP*/
		width: calc(0.1333333333 * 50vw);
		height: calc(0.1333333333 * 50vw);
	}
}
.internship .bottom_nav {
	text-align: center;
	margin-block: 140px;
}
@media (max-width: 767px) {
	.internship .bottom_nav { /*SP*/
		margin-top: calc(0.1333333333 * 95vw);
		margin-bottom: calc(0.1333333333 * 210vw);
	}
}
.internship .bottom_nav ul {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(436px, 1fr));
	gap: 62px;
}
@media (max-width: 767px) {
	.internship .bottom_nav ul { /*SP*/
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(0.1333333333 * 50vw);
	}
}
.internship .bottom_nav li {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.25;
	min-height: 5.4em;
}
@media (max-width: 767px) {
	.internship .bottom_nav li { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
		min-height: calc(0.1333333333 * 187vw);
	}
}
.internship .bottom_nav li a {
	display: grid;
	grid-template-rows: 1fr 1rem;
	gap: 0.5rem;
	box-sizing: border-box;
	padding: 16px 10px;
	position: relative;
	color: #fff;
	background: var(--primary-color);
	border: 1px solid #828282;
	text-align: center;
	align-content: center;
	height: 100%;
}
@media (max-width: 767px) {
	.internship .bottom_nav li a { /*SP*/
		grid-template-rows: 1fr calc(0.1333333333 * 30vw);
		padding: calc(0.1333333333 * 25vw) calc(0.1333333333 * 20vw);
	}
}
.internship .bottom_nav li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: #828282;
	-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
					clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media (max-width: 767px) {
	.internship .bottom_nav li a::before { /*SP*/
		width: calc(0.1333333333 * 50vw);
		height: calc(0.1333333333 * 50vw);
	}
}
.internship .bottom_nav li a span {
	align-content: center;
}
.internship .bottom_nav li a img {
	display: block;
	margin-inline: auto;
}
@media (max-width: 767px) {
	.internship .bottom_nav li a img { /*SP*/
		width: calc(0.1333333333 * 37vw);
	}
}
.internship .internship_box01 {
	background: #fff;
	border: 2px solid var(--secondary-color);
	border-radius: 12px;
	padding: 50px 45px;
}
@media (max-width: 767px) {
	.internship .internship_box01 { /*SP*/
		padding: calc(0.1333333333 * 50vw) calc(0.1333333333 * 30vw);
	}
}

/* = internship
----------------------------------------------- */
.internship_index {
	/* = feature
	----------------------------------------------- */
	/* = schedule
	----------------------------------------------- */
	/* = voice
	----------------------------------------------- */
	/* = faq
	----------------------------------------------- */
}
.internship_index .heading01 {
	font-family: var(--ff-serif);
	font-size: 2.8rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: center;
	margin-bottom: 55px;
}
.internship_index .heading01 small {
	display: block;
	font-size: 85.7%;
}
@media (max-width: 767px) {
	.internship_index .heading01 { /*SP*/
		font-size: calc(0.1333333333 * 40vw);
		margin-bottom: calc(0.1333333333 * 55vw);
	}
	.internship_index .heading01 small {
		font-size: 80%;
	}
}
.internship_index .heading02 {
	font-family: var(--ff-serif);
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.2em;
	color: #fff;
	border-bottom: 1px solid #fff;
	margin-bottom: 60px;
	padding-bottom: 5px;
}
@media (max-width: 767px) {
	.internship_index .heading02 { /*SP*/
		font-size: calc(0.1333333333 * 40vw);
		margin-bottom: calc(0.1333333333 * 60vw);
		padding-bottom: calc(0.1333333333 * 30vw);
	}
}
.internship_index .heading03 {
	font-size: 2rem;
	line-height: 1.7;
	font-weight: 600;
}
@media (max-width: 767px) {
	.internship_index .heading03 { /*SP*/
		font-size: calc(0.1333333333 * 32vw);
	}
}
.internship_index .index_header {
	margin-top: 95px;
}
.internship_index .index_header .event {
	border: 1px solid #a8a8a8;
	background: rgba(255, 255, 255, 0.6);
	padding: 30px;
	min-height: 140px;
	align-content: center;
	box-sizing: border-box;
	margin-top: 105px;
	margin-bottom: 160px;
}
@media (max-width: 767px) {
	.internship_index .index_header .event { /*SP*/
		margin-top: 0;
		margin-bottom: calc(0.1333333333 * 115vw);
		min-height: calc(0.1333333333 * 240vw);
		padding: calc(0.1333333333 * 24vw);
	}
}
.internship_index .index_header .event .inner {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	color: #fff;
}
.internship_index .index_header .event p {
	font-size: 1.8rem;
	line-height: 1.5;
}
@media (max-width: 767px) {
	.internship_index .index_header .event p { /*SP*/
		text-align: center;
		font-size: calc(0.1333333333 * 30vw);
	}
}
.internship_index .index_header .event p + p {
	margin-top: 0.75em;
}
.internship_index .index_header .event_menu a {
	display: block;
	position: relative;
	color: #fff;
	background: rgba(0,0,0,.35);
	border: 1px solid #828282;
	box-sizing: border-box;
	text-align: center;
	letter-spacing: .06em;
}
.internship_index .index_header .event_menu a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: #828282;
	clip-path: polygon(0 0,100% 0,0 100%);
}
.internship_index .index_header .event_menu a::after {
	content: '';
	position: absolute;
	background: url(../img/top/icon_arrow01_w.svg) no-repeat 50% / 100% auto;
}
.internship_index .index_header .event_menu .en {
	display: block;
}
@media print, screen and (min-width: 768px) {/* PC */
.internship_index .index_header .event_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 140rem;
	margin: 0 auto 140px;
}
.internship_index .index_header .event_menu li {
	width: 300px;
	margin: 0 10px 26px;
}
.internship_index .index_header .event_menu a {
	height: 100%;
	padding: 27px 0 37px;
	font-size: 2rem;
	line-height: 2.8rem;
}
.internship_index .index_header .event_menu a::before {
	width: 20px;
	height: 20px;
}
.internship_index .index_header .event_menu a::after {
	bottom: 17px;
	left: calc(50% - 10px);
	width: 19px;
	height: 10px;
}
.internship_index .index_header .event_menu a:hover {
	border: 1px solid #fff;
	background: linear-gradient(-45deg,#7cd020,#00a0ff);
}
.internship_index .index_header .event_menu a:hover::before {
	background: #fff;
}
.internship_index .index_header .event_menu a span {
	font-size: 1.4rem;
}
.internship_index .index_header .event_menu .en {
	margin-bottom: 5px;
	font-size: 1.4rem;
}
}/* @media */
@media screen and (max-width: 767px) {/* SP */
.internship_index .index_header .event_menu {
	margin-bottom: 15vw;
}
.internship_index .index_header .event_menu li + li {
	margin-top: 5.33vw;
}
.internship_index .index_header .event_menu a {
	padding: 5.33vw 0 11vw;
	font-size: 3rem;
	line-height: 5.6rem;
}
.internship_index .index_header .event_menu a::before {
	width: 8vw;
	height: 8vw;
}
.internship_index .index_header .event_menu a::after {
	bottom: 5vw;
	left: calc(50% - 2.5vw);
	width: 5vw;
	height: 2.5vw;
}
.internship_index .index_header .event_menu a span {
	font-size: 2.4rem;
}
.internship_index .index_header .event_menu .en {
	font-size: 2.4rem;
}
}/* @media */
.internship_index .index_nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 29px;
}
@media (max-width: 767px) {
	.internship_index .index_nav { /*SP*/
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(0.1333333333 * 50vw);
	}
}
.internship_index .index_nav li {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.25;
	min-height: 5.4em;
}
@media (max-width: 767px) {
	.internship_index .index_nav li { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
		min-height: calc(0.1333333333 * 187vw);
	}
}
.internship_index .index_nav li a {
	display: grid;
	grid-template-rows: 1fr 1rem;
	gap: 0.5rem;
	box-sizing: border-box;
	padding: 16px 10px;
	position: relative;
	color: #fff;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid #828282;
	text-align: center;
	align-content: center;
	height: 100%;
	transition: background 0.3s;
}
@media (max-width: 767px) {
	.internship_index .index_nav li a { /*SP*/
		grid-template-rows: 1fr calc(0.1333333333 * 30vw);
		padding: calc(0.1333333333 * 25vw) calc(0.1333333333 * 20vw);
	}
}
.internship_index .index_nav li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: #828282;
	-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
					clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media (max-width: 767px) {
	.internship_index .index_nav li a::before { /*SP*/
		width: calc(0.1333333333 * 50vw);
		height: calc(0.1333333333 * 50vw);
	}
}
.internship_index .index_nav li a:hover {
	background: var(--primary-color);
}
.internship_index .index_nav li a span {
	align-content: center;
}
.internship_index .index_nav li a img {
	display: block;
	margin-inline: auto;
}
@media (max-width: 767px) {
	.internship_index .index_nav li a img { /*SP*/
		width: calc(0.1333333333 * 37vw);
	}
}
.internship_index .section {
	max-width: 1200px;
	margin: 100px auto;
	padding-top: 40px;
	padding-inline: 20px;
}
@media (max-width: 767px) {
	.internship_index .section { /*SP*/
		padding-inline: calc(0.1333333333 * 40vw);
		margin-block: calc(0.1333333333 * 100vw);
		padding-top: calc(0.1333333333 * 20vw);
	}
}
@media (min-width: 768px) {
	.internship_index .feature .box01,
	.internship_index .feature .box02 {
		display: flex;
	}
	.internship_index .feature .box01 > *,
	.internship_index .feature .box02 > * {
		flex: 1;
	}
	.internship_index .feature .box01 .content {
		padding-right: 50px;
		flex: 0.85;
	}
	.internship_index .feature .box02 {
		flex-direction: row-reverse;
	}
	.internship_index .feature .box02 .content {
		padding-left: 40px;
	}
	.internship_index .feature .box02 .img {
		padding-inline: 40px;
	}
}
@media (max-width: 767px) {
	.internship_index .feature { /*SP*/ }
	.internship_index .feature .img {
		margin-top: calc(0.1333333333 * 40vw);
	}
}
.internship_index .feature .heading03 {
	margin-bottom: 30px;
}
@media (max-width: 767px) {
	.internship_index .feature .heading03 { /*SP*/
		margin-bottom: calc(0.1333333333 * 20vw);
	}
}
.internship_index .feature p {
	font-size: 1.8rem;
	line-height: 1.77;
}
@media (max-width: 767px) {
	.internship_index .feature p { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
	}
}
.internship_index .feature hr {
	margin-block: 50px;
	border-color: var(--secondary-color);
	border-style: dashed;
}
@media (max-width: 767px) {
	.internship_index .feature hr { /*SP*/
		margin-top: calc(0.1333333333 * 50vw);
		margin-bottom: calc(0.1333333333 * 40vw);
	}
}
.internship_index .schedule .schedule_list {
	margin-top: 20px;
	position: relative;
	--left-space:170px;
}
@media (max-width: 767px) {
	.internship_index .schedule .schedule_list { /*SP*/
		--left-space:26.66vw;
	}
}
.internship_index .schedule dl {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	padding-left: var(--left-space);
	font-size: 2rem;
	line-height: 1.65;
	font-weight: bold;
}
@media (max-width: 767px) {
	.internship_index .schedule dl { /*SP*/
		display: block;
		font-size: calc(0.1333333333 * 32vw);
	}
}
.internship_index .schedule dl:not(:last-child)::before {
	content: "";
	position: absolute;
	left: calc(var(--left-space) - 80px);
	top: 15px;
	bottom: -70px;
	width: 3px;
	background: var(--primary-color);
}
@media (max-width: 767px) {
	.internship_index .schedule dl:not(:last-child)::before { /*SP*/
		left: calc(var(--left-space) - 0.1333333333 * 91vw);
		width: calc(0.1333333333 * 6vw);
		top: calc(0.1333333333 * 25vw);
		bottom: calc(0.1333333333 * -72vw);
	}
}
.internship_index .schedule dl + dl {
	margin-top: 55px;
}
@media (max-width: 767px) {
	.internship_index .schedule dl + dl { /*SP*/
		margin-top: calc(0.1333333333 * 45vw);
	}
}
.internship_index .schedule dl dt {
	color: var(--primary-color);
	position: relative;
}
.internship_index .schedule dl dt::before {
	content: "";
	position: absolute;
	right: calc(100% + 10px);
	top: 8px;
	width: 67px;
	height: 18px;
	background: url(../img/internship/internship_schedule_line01.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
	.internship_index .schedule dl dt::before { /*SP*/
		width: calc(0.1333333333 * 80vw);
		height: calc(0.1333333333 * 40vw);
		right: calc(100% + 0.1333333333 * 10vw);
		top: calc(0.1333333333 * 6vw);
		background-image: url(../img/internship/internship_schedule_line01_sp.svg);
	}
}
.internship_index .schedule dl dt b {
	position: absolute;
	left: calc((var(--left-space) - 40px) * -1);
	top: 6px;
	display: block;
	font-size: 1.4rem;
	text-align: right;
	width: 3em;
}
@media (max-width: 767px) {
	.internship_index .schedule dl dt b { /*SP*/
		font-size: calc(0.1333333333 * 26vw);
		top: calc(0.1333333333 * 6vw);
		left: calc((var(--left-space) - 0.1333333333 * 10vw) * -1);
	}
}
.internship_index .schedule dl dt b::after {
	content: "";
	width: 12px;
	height: 12px;
	background: var(--primary-color);
	border-radius: 100%;
	position: absolute;
	top: 5px;
	right: -15px;
}
@media (max-width: 767px) {
	.internship_index .schedule dl dt b::after { /*SP*/
		width: calc(0.1333333333 * 28vw);
		height: calc(0.1333333333 * 28vw);
		top: calc(0.1333333333 * 6vw);
		right: calc(0.1333333333 * -38vw);
	}
}
@media (min-width: 768px) {
	.internship_index .schedule dl dt { /*PC*/ }
	.internship_index .schedule dl dt .rotate {
		display: inline-block;
		transform-origin: center;
		rotate: 90deg;
		margin-left: 1.5em;
	}
}
.internship_index .schedule dl dd {
	align-self: center;
}
.internship_index .schedule dl .fullwide {
	grid-column: 1/-1;
	padding-left: 80px;
	margin-top: 20px;
}
@media (max-width: 767px) {
	.internship_index .schedule dl .fullwide { /*SP*/
		padding: 0;
		margin-top: calc(0.1333333333 * 35vw);
		margin-left: calc(0.1333333333 * -48vw);
	}
}
.internship_index .voice {
	max-width: initial;
	padding-inline: 0px;
	container-type: inline-size;
	--swiper-navigation-size:24px;
	--swiper-navigation-color:#fff;
}
.internship_index .voice .swiper {
	margin-top: 20px;
	padding-inline: calc((100cqw - 1200px) * 0.5 + 20px);
}
.internship_index .voice .swiper-button-prev,
.internship_index .voice .swiper-button-next {
	width: 64px;
	height: 64px;
	margin-top: -32px;
	border-radius: 100%;
	background: var(--primary-color);
}
@media (max-width: 767px) {
	.internship_index .voice .swiper-button-prev,
	.internship_index .voice .swiper-button-next { /*SP*/
		width: calc(0.1333333333 * 100vw);
		height: calc(0.1333333333 * 100vw);
		margin-top: calc(0px - 0.1333333333 * 100vw / 2);
		--swiper-navigation-size:5vw;
	}
}
.internship_index .voice .swiper-button-prev {
	left: 20px;
}
@media (max-width: 767px) {
	.internship_index .voice .swiper-button-prev { /*SP*/
		left: calc(0.1333333333 * 41vw);
	}
}
.internship_index .voice .swiper-button-next {
	right: 20px;
}
@media (max-width: 767px) {
	.internship_index .voice .swiper-button-next { /*SP*/
		right: calc(0.1333333333 * 41vw);
	}
}
.internship_index .voice .voice_item {
	box-sizing: border-box;
	background: #fff;
	border: 2px solid var(--secondary-color);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	height: auto;
	align-self: stretch;
}
@media (min-width: 768px) {
	.internship_index .voice .voice_item { /*PC*/
		width: 372px;
		opacity: 0.5;
		padding: 30px 40px;
		transition: opacity 0.3s;
	}
	.internship_index .voice .voice_item.swiper-slide-active, .internship_index .voice .voice_item.swiper-slide-next, .internship_index .voice .voice_item.swiper-slide-duplicate-active, .internship_index .voice .voice_item.swiper-slide-duplicate-next {
		opacity: 1;
	}
	.internship_index .voice .voice_item.swiper-slide-active + .swiper-slide, .internship_index .voice .voice_item.swiper-slide-next + .swiper-slide, .internship_index .voice .voice_item.swiper-slide-duplicate-active + .swiper-slide, .internship_index .voice .voice_item.swiper-slide-duplicate-next + .swiper-slide {
		opacity: 1;
	}
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item { /*SP*/
		gap: calc(0.1333333333 * 15vw);
		padding: calc(0.1333333333 * 48vw);
	}
}
.internship_index .voice .voice_item .no {
	font-size: 2rem;
	font-family: var(--ff-serif);
	line-height: 1.5;
	width: -moz-fit-content;
	width: fit-content;
	letter-spacing: 0.1em;
	color: var(--secondary-color);
	text-decoration: underline;
	text-underline-offset: 6px;
	margin-bottom: 10px;
}
.internship_index .voice .voice_item .no small {
	font-size: 1.6rem;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .no { /*SP*/
		font-size: calc(0.1333333333 * 36vw);
	}
	.internship_index .voice .voice_item .no small {
		font-size: calc(0.1333333333 * 26vw);
	}
}
.internship_index .voice .voice_item .title {
	font-size: 2rem;
	line-height: 1.6;
	font-weight: bold;
	min-height: 3lh;
	align-content: center;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .title { /*SP*/
		font-size: calc(0.1333333333 * 32vw);
	}
}
.internship_index .voice .voice_item .title_en {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
	min-height: 3lh;
	align-content: center;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .title_en { /*SP*/
		font-size: calc(0.1333333333 * 32vw);
	}
}
.internship_index .voice .voice_item .text {
	font-size: 1.8rem;
	line-height: 1.77;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .text { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
	}
}
.internship_index .voice .voice_item .text_en {
	font-size: 1.6rem;
	line-height: 1.44;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .text_en { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
	}
}
.internship_index .voice .voice_item .img {
	margin-top: auto;
}
@media (max-width: 767px) {
	.internship_index .voice .voice_item .img { /*SP*/ }
	.internship_index .voice .voice_item .img img {
		width: calc(0.1333333333 * 102vw);
	}
}
.internship_index .faq .internship_box01 {
	background: rgba(255, 255, 255, 0.8);
}
@media (min-width: 768px) {
	.internship_index .faq .internship_box01 { /*PC*/
		padding: 65px 100px;
	}
}
.internship_index .faq .faq_list dl {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.33;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dl { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
	}
}
.internship_index .faq .faq_list dl + dl {
	margin-top: 30px;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dl + dl { /*SP*/
		margin-top: calc(0.1333333333 * 40vw);
	}
}
.internship_index .faq .faq_list dt,
.internship_index .faq .faq_list .faq_a {
	display: grid;
	grid-template-columns: 52px 1fr;
	background: #fff;
	min-height: 52px;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dt,
	.internship_index .faq .faq_list .faq_a { /*SP*/
		grid-template-columns: calc(0.1333333333 * 90vw) 1fr;
		min-height: calc(0.1333333333 * 90vw);
	}
}
.internship_index .faq .faq_list dt::before,
.internship_index .faq .faq_list .faq_a::before {
	font-size: 2.8rem;
	font-family: var(--ff-serif);
	text-align: center;
	align-content: center;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dt::before,
	.internship_index .faq .faq_list .faq_a::before { /*SP*/
		font-size: calc(0.1333333333 * 46vw);
	}
}
.internship_index .faq .faq_list dt {
	padding-right: 52px;
	cursor: pointer;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dt { /*SP*/
		padding-right: calc(0.1333333333 * 100vw);
	}
}
.internship_index .faq .faq_list dt::before {
	content: "Q";
	color: #fff;
	background: #388bd7;
}
.internship_index .faq .faq_list dt p {
	position: relative;
}
.internship_index .faq .faq_list dt p::before, .internship_index .faq .faq_list dt p::after {
	content: "";
	position: absolute;
	background: #388bd7;
	left: calc(100% + 10px);
	top: calc(50% - 1px);
	width: 20px;
	height: 2px;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list dt p::before, .internship_index .faq .faq_list dt p::after { /*SP*/
		width: calc(0.1333333333 * 54vw);
		height: max(0.1333333333 * 3vw, 2px);
		left: calc(100% + 0.1333333333 * 15vw);
	}
}
.internship_index .faq .faq_list dt p::after {
	rotate: 90deg;
	transition: rotate 0.3s;
}
.internship_index .faq .faq_list .open dt p::after {
	rotate: 0deg;
}
.internship_index .faq .faq_list dd {
	display: none;
	margin-top: 2px;
}
.internship_index .faq .faq_list .faq_a::before {
	content: "A";
	background: #92ceff;
	color: var(--primary-color);
}
.internship_index .faq .faq_list p {
	padding: 15px 20px;
	align-content: center;
}
@media (max-width: 767px) {
	.internship_index .faq .faq_list p { /*SP*/
		padding: calc(0.1333333333 * 25vw);
	}
}

/* = internship_theme1
----------------------------------------------- */
.internship_theme1 {
	/* = filter
	----------------------------------------------- */
	/* = controls
	----------------------------------------------- */
	/* = results
	----------------------------------------------- */
}
.internship_theme1 .internship_theme1_intro {
	margin-block: 105px;
}
@media (max-width: 767px) {
	.internship_theme1 .internship_theme1_intro { /*SP*/
		margin-block: calc(0.1333333333 * 80vw);
	}
}
.internship_theme1 .internship_theme1_intro p {
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.777;
}
@media (max-width: 767px) {
	.internship_theme1 .internship_theme1_intro p { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
		line-height: 2;
	}
}
.internship_theme1 .btn01 {
	display: block;
	color: #000;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
	padding: 5px 10px;
	text-align: center;
	border: 1px solid #ffaf29;
	border-radius: 8px;
	transition: background-color 0.3s;
}
@media (max-width: 767px) {
	.internship_theme1 .btn01 { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
		font-weight: 600;
		border-radius: calc(0.1333333333 * 16vw);
		padding: calc(0.1333333333 * 15vw);
	}
}
.internship_theme1 .btn01.selected {
	background-color: #ffff64;
}
.internship_theme1 .btn01.disabled {
	opacity: .3;
	pointer-events: none;
}
.internship_theme1 .btn01 .btn01_en {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	color: #808080;
}
@media (max-width: 767px) {
	.internship_theme1 .btn01 .btn01_en { /*SP*/
		font-size: calc(0.1333333333 * 20vw);
	}
}
.internship_theme1 .filter .title {
	font-size: 2.4rem;
	font-weight: bold;
	padding-bottom: 8px;
	margin-bottom: 60px;
	border-bottom: 1px solid var(--secondary-color);
}
@media (max-width: 767px) {
	.internship_theme1 .filter .title { /*SP*/
		font-size: calc(0.1333333333 * 36vw);
		padding-bottom: calc(0.1333333333 * 20vw);
		margin-bottom: calc(0.1333333333 * 45vw);
	}
}
.internship_theme1 .filter .subtitle {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 18px;
}
@media (max-width: 767px) {
	.internship_theme1 .filter .subtitle { /*SP*/
		font-size: calc(0.1333333333 * 28vw);
	}
}
.internship_theme1 .filter .tags {
	margin-top: 20px;
}
@media (max-width: 767px) {
	.internship_theme1 .filter .tags { /*SP*/
		margin-top: calc(0.1333333333 * 20vw);
	}
}
.internship_theme1 .filter hr {
	margin-block: 35px;
	border-color: var(--secondary-color);
	border-style: dashed;
}
@media (max-width: 767px) {
	.internship_theme1 .filter hr { /*SP*/
		margin-top: calc(0.1333333333 * 50vw);
		margin-bottom: calc(0.1333333333 * 40vw);
	}
}
.internship_theme1 .filter .btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
}
@media (max-width: 767px) {
	.internship_theme1 .filter .btns { /*SP*/
		gap: 0 calc(0.1333333333 * 20vw);
	}
}
.internship_theme1 .filter .btns .btn01 {
	margin-top: 12px;
}
@media (max-width: 767px) {
	.internship_theme1 .filter .btns .btn01 { /*SP*/
		margin-top: calc(0.1333333333 * 20vw);
	}
}
.internship_theme1 .filter .btns .spacer {
	width: 100%;
	height: 0;
}
.internship_theme1 .controls {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 80px auto;
	max-width: 664px;
}
@media (max-width: 767px) {
	.internship_theme1 .controls { /*SP*/
		flex-direction: column;
		gap: calc(0.1333333333 * 50vw);
		max-width: inherit;
		margin: calc(0.1333333333 * 80vw) auto;
	}
}
.internship_theme1 .controls button {
	flex: 1;
	border-radius: 8px;
	background-color: #b6931e;
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	padding: 15px;
	text-align: center;
}
@media (max-width: 767px) {
	.internship_theme1 .controls button { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
		padding: calc(0.1333333333 * 43vw) calc(0.1333333333 * 15vw);
		border-radius: calc(0.1333333333 * 10vw);
	}
}
.internship_theme1 .results {
	margin-top: -50px;
}
@media (max-width: 767px) {
	.internship_theme1 .results { /*SP*/
		margin-top: calc(0.1333333333 * -40vw);
	}
}
.internship_theme1 .results .article {
	width: 100%;
	box-sizing: border-box;
	font-weight: 500;
	margin-top: 50px;
}
@media (max-width: 767px) {
	.internship_theme1 .results .article { /*SP*/
		margin-top: calc(0.1333333333 * 40vw);
	}
}
.internship_theme1 .results .en {
	font-size: 1.6rem;
	line-height: 1.4;
	color: #808080;
}
@media (max-width: 767px) {
	.internship_theme1 .results .en { /*SP*/
		font-size: calc(0.1333333333 * 26vw);
	}
}
.internship_theme1 .results .num {
	font-size: 1.6rem;
	color: #808080;
}
@media (max-width: 767px) {
	.internship_theme1 .results .num { /*SP*/
		font-size: calc(0.1333333333 * 26vw);
	}
}
.internship_theme1 .results .title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.555;
	margin-top: 30px;
	margin-bottom: 50px;
}
@media (max-width: 767px) {
	.internship_theme1 .results .title { /*SP*/
		font-size: calc(0.1333333333 * 36vw);
		margin-top: calc(0.1333333333 * 20vw);
		margin-bottom: calc(0.1333333333 * 40vw);
	}
}
.internship_theme1 .results .title .en {
	display: block;
	margin-top: 8px;
}
.internship_theme1 .results .tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
@media (max-width: 767px) {
	.internship_theme1 .results .tags { /*SP*/
		gap: calc(0.1333333333 * 20vw);
	}
}
.internship_theme1 .results .btn01 {
	background-color: #ffff64;
}
.internship_theme1 .results dl {
	border-top: 1px dashed var(--secondary-color);
	padding-top: 35px;
	margin-top: 35px;
	display: grid;
	grid-template-columns: 29% 1fr;
	gap: 40px;
}
.internship_theme1 .results dl:first-of-type {
	border-top-style: solid;
}
@media (max-width: 767px) {
	.internship_theme1 .results dl { /*SP*/
		grid-template-columns: 1fr;
		gap: calc(0.1333333333 * 30vw);
		padding-top: calc(0.1333333333 * 35vw);
		margin-top: calc(0.1333333333 * 35vw);
	}
}
.internship_theme1 .results dl dt, .internship_theme1 .results dl dd {
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 600;
}
@media (max-width: 767px) {
	.internship_theme1 .results dl dt, .internship_theme1 .results dl dd { /*SP*/
		font-size: calc(0.1333333333 * 30vw);
	}
}
.internship_theme1 .results dl .en {
	display: block;
	font-weight: 500;
	margin-top: 20px;
}
@media (max-width: 767px) {
	.internship_theme1 .results dl .en { /*SP*/
		margin-top: calc(0.1333333333 * 5vw);
	}
}
.internship_theme1 .results dl li {
	--left-space:20px;
	padding-left: var(--left-space);
}
.internship_theme1 .results dl li::before {
	content: "・";
	display: inline-block;
	position: relative;
	margin-left: calc(var(--left-space) * -1);
	width: var(--left-space);
}
@media (max-width: 767px) {
	.internship_theme1 .results dl li { /*SP*/
		--left-space: calc(0.1333333333 * 30vw);
	}
}
.internship_theme1 .results dl li + li {
	margin-top: 5px;
}

/* = internship_recruitment1
----------------------------------------------- */
.internship_recruitment1 .heading01 {
	font-family: var(--ff-serif);
	font-size: 2.8rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	color: #fff;
	text-align: center;
	margin-bottom: 55px;
}
.internship_recruitment1 table {
	position: relative;
	width: 100%;
}
.internship_recruitment1 table:before,
.internship_recruitment1 table:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 2px;
}
.internship_recruitment1 table:before {
	width: 100%;
	background: #b2d0e7;
}
.internship_recruitment1 table:after {
	background: #1575b5;
}
.internship_recruitment1 table th,
.internship_recruitment1 table td {
	border-bottom: 1px solid #e2e2e1;
	line-height: 1.71;
	vertical-align: top;
}
.internship_recruitment1 table td a {
	color: #c00;
	cursor: pointer;
	text-decoration: underline;
}
.internship_recruitment1 table td a:hover {
	text-decoration: none;
}
.internship_recruitment1 table th {
	font-weight: bold;
}
.internship_recruitment1 .text01.intro {
	display: table;
	margin-right: auto;
	margin-left: auto;
}
.internship_recruitment1 .em {
	color: #f00;
}
.internship_recruitment1 td img {
	vertical-align: middle;
}
.internship_recruitment1 td table:before,
.internship_recruitment1 td table:after {
	display: none;
}
.internship_recruitment1 td table th,
.internship_recruitment1 td table td {
	border: 1px solid #707070;
	text-align: center;
}
.internship_recruitment1 td table thead th {
	background: #f2f2f2;
}
.internship_recruitment1 .url {
	word-break: break-all;
}
@media print, screen and (min-width: 768px) {/* PC */
.internship_recruitment1 table:after {
	width: 185px;
}
.internship_recruitment1 table th,
.internship_recruitment1 table td {
	font-size: 1.4rem;
}
.internship_recruitment1 table th {
	width: 150px;
	padding: 15px 15px 15px 20px;
}
.internship_recruitment1 table th span {
	font-size: 1.2rem;
}
.internship_recruitment1 table td {
	padding: 15px 0 15px 15px;
}
.internship_recruitment1 {
	max-width: 830px;
	margin: 0 auto;
	padding: 50px 10px 0;
}
.internship_recruitment1 .note {
	font-size: 1.2rem;
}
.internship_recruitment1 .em {
	font-size: 1.2rem;
}
.internship_recruitment1 td table {
	margin: 20px 0 30px;
}
.internship_recruitment1 td table th,
.internship_recruitment1 td table td {
	padding: 10px 20px;
}
.internship_recruitment1 td table th {
	width: auto;
}
}/* @media */
@media screen and (max-width: 767px) {/* SP */
.internship_recruitment1 .heading01 {
	font-size: calc(0.1333333333 * 40vw);
	margin-bottom: calc(0.1333333333 * 55vw);
}
.internship_recruitment1 table {
	display: block;
}
.internship_recruitment1 table:after {
	width: 70px;
}
.internship_recruitment1 table th,
.internship_recruitment1 table td {
	display: block;
	font-size: 2.4rem;
}
.internship_recruitment1 table th {
	padding: 2vw 1vw;
	border-bottom: none;
}
.internship_recruitment1 table th span {
	font-size: 2rem;
}
.internship_recruitment1 table td {
	padding: 2vw 0 2vw 1vw;
}
.internship_recruitment1 {
	padding: 5.33vw;
}
.internship_recruitment1 .note {
	font-size: 2.2rem;
}
.internship_recruitment1 .em {
	font-size: 2.2rem;
}
.internship_recruitment1 .table_wrap {
	margin: 3vw 0 5.33vw;
}
.internship_recruitment1 .table_wrap table {
	display: table;
}
.internship_recruitment1 .table_wrap table th,
.internship_recruitment1 .table_wrap table td {
	display: table-cell;
}
}/* @media */
.internship .bottom_nav li button {
	display: grid;
	grid-template-rows: 1fr 1rem;
	gap: 0.5rem;
	box-sizing: border-box;
	width: 100%;
	padding: 16px 10px;
	position: relative;
	color: #fff;
	background: var(--primary-color);
	border: 1px solid #828282;
	text-align: center;
	align-content: center;
	height: 100%;
}
.internship .bottom_nav li button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: #828282;
	-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
					clip-path: polygon(0 0, 100% 0, 0 100%);
}
.internship .bottom_nav li button span {
	align-content: center;
}
.internship .bottom_nav li button img {
	display: block;
	margin-inline: auto;
}
@media print, screen and (min-width: 768px) {/* PC */
.internship .bottom_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 62px;
}
.internship .bottom_nav ul li:first-child {
	margin: 0 249px;
}
.internship .bottom_nav ul li {
	width: 436px;
}
}/* @media */
@media (max-width: 767px) {/* SP */
.internship .bottom_nav li button {
	grid-template-rows: 1fr calc(0.1333333333 * 30vw);
	padding: calc(0.1333333333 * 25vw) calc(0.1333333333 * 20vw);
}
.internship .bottom_nav li button::before {
	width: calc(0.1333333333 * 50vw);
	height: calc(0.1333333333 * 50vw);
}
.internship .bottom_nav li button img {
	width: calc(0.1333333333 * 37vw);
}
}/* @media */

