@charset "utf-8";
/*
 recruitment-info/internship.css
*/
/* -----------------------------------------------
= bg
----------------------------------------------- */
body {
	position: relative;
}
body::before {
	content: '';
	position: absolute;
	top: 169rem;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 50%;
	background: url(../../img/job/index_job_bg.png) no-repeat 50% 0 / 43rem auto;
}
@media print, screen and (min-width: 768px) {/* PC */
body::before {
	top: 101rem;
	background-size: 100% auto;
}
}/* @media */
/* -----------------------------------------------
= heading
----------------------------------------------- */
.main_heading {/* h2 */
	margin: 0 .5rem 3rem;
}
.main_heading .en {
	display: block;
	margin-bottom: 1rem;
	color: #D6082E;
	font-family: "Lato", sans-serif;
	font-size: 1.4rem;
}
.main_heading .sub {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.4rem;
}
.main_heading .jp {
	display: block;
	font-size: 3rem;
	line-height: 4.6rem;
	letter-spacing: .02em;
}
.medium_heading {/* h3 */
	display: inline-block;
	position: relative;
	padding: 0 2rem 1rem 0;
	color: #D6082E;
	background: #F4F4F4;
	border-radius: 0 0 .5rem 0;
	font-size: 1.4rem;
	line-height: 2rem;
}
.medium_heading::before,
.medium_heading::after {
	content: '';
	position: absolute;
	width: .5rem;
	height: .5rem;
	background: url(../../img/shared/bg_round_gray.svg) no-repeat 50% / cover;
	transform: rotate(90deg);
}
.medium_heading::before {
	left: 0;
	bottom: -.5rem;
}
.medium_heading::after {
	top: 0;
	right: -.5rem;
}
.small_heading {/* h4 */
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 3.2rem;
	letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {/* PC */
.main_heading {
	margin: 0 0 6rem;
}
.main_heading .en {
	font-size: 1.8rem;
}
.main_heading .sub {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
}
.medium_heading {
	border-radius: 0 0 1rem 0;
	font-size: 1.8rem;
}
.medium_heading::before,
.medium_heading::after {
	width: 1rem;
	height: 1rem;
}
.medium_heading::before {
	bottom: -1rem;
}
.medium_heading::after {
	right: -1rem;
}
.small_heading {
	font-size: 1.6rem;
	line-height: 3.6rem;
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.intro {
	padding: 2rem 1.5rem 1rem;
}
.intro .text {
	margin-bottom: 6rem;
	font-size: 1.6rem;
	line-height: 3.2rem;
	letter-spacing: .02em;
}
@media print, screen and (min-width: 768px) {/* PC */
.intro {
	padding: 4rem 4rem 16rem 0;
}
.intro .text {
	margin-bottom: 8rem;
	line-height: 3.6rem;
}
}/* @media */
/* -----------------------------------------------
= entry_list
----------------------------------------------- */
.entry_list {
	margin-top: -60px;
	padding-top: 60px;
	margin-bottom: 8rem;
	text-align: center;
}
.entry_list dt {
	margin-bottom: 1.5rem;
	color: #D6082E;
	font-size: 1.4rem;
	line-height: 3rem;
	letter-spacing: .02em;
}
.entry_list li + li {
	margin-top: 1rem;
}
.entry_list li a {
	display: block;
	background: #fff;
	border-radius: .4rem;
}
.entry_list .intern a {
	padding: 1.4rem 0;
	color: #d6072e;
	border: 3px solid #d6072e;
	font-family: "Lato", sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
}
.entry_list .mynavi a {
	padding: 1.4rem 0;
}
.entry_list .mynavi img {
	width: 12rem;
}
.entry_list .rikunabi a {
	padding: 1.3rem 0 1.2rem;
}
.entry_list .rikunabi img {
	width: 14rem;
}
@media print, screen and (min-width: 768px) {/* PC */
.entry_list {
	max-width: 59rem;
	margin: 0 auto;
	margin-top: -100px;
	padding-top: 100px;
}
.entry_list dt {
	font-size: 1.6rem;
}
.entry_list ul {
	display: flex;
	flex-wrap: wrap;
}
.entry_list li + li {
	margin-top: 0;
}
.entry_list li a {
	border-radius: .5rem;
}
.entry_list .intern {
	width: 100%;
	margin-bottom: 2rem;
}
.entry_list .intern a {
	padding: 2rem 0;
	font-size: 3.2rem;
}
.entry_list a.coming_soon {
	opacity: .3;
}
.entry_list .intern a:hover {
	color: #fff;
	background: #ef9cab;
}
.entry_list .intern a.coming_soon:hover {
	color: #fff;
	background: #D6082E;
}
.entry_list .mynavi {
	width: calc(50% - 1rem);
	margin-right: 1rem;
}
.entry_list .mynavi a {
	padding: 2.6rem 0;
}
.entry_list .mynavi a:hover {
	opacity: .8;
}
.entry_list .mynavi img {
	width: 16rem;
}
.entry_list .rikunabi {
	width: calc(50% - 1rem);
	margin-left: 1rem;
}
.entry_list .rikunabi a {
	padding: 2.4rem 0 2.3rem;
}
.entry_list .rikunabi a:hover {
	opacity: .8;
}
.entry_list .rikunabi img {
	width: 17rem;
}
}/* @media */
/* -----------------------------------------------
= course
----------------------------------------------- */
.course {
	margin-top: -6rem;
	padding: 8rem 1.5rem 8rem;
}
.course .item {
	margin-bottom: 1.7rem;
}
.course .item a {
	display: block;
	position: relative;
	padding: 1.5rem;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 .3rem .6rem rgba(0,0,0,.16);
	letter-spacing: .02em;
}
.course .item a::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -1.3rem;
	width: 3.4rem;
	height: 3.4rem;
	background: url(../../img/recruitment-info/internship_icon_circle_arrow.svg) no-repeat 50% / cover;
}
.course .item .day {
	color: #D6082E;
	font-family: "Lato", sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 3rem;
}
.course .item .type {
	margin-bottom: 1.1rem;
	font-size: 1.8rem;
	line-height: 2.3rem;
}
.course .item .text {
	color: #7B7B7B;
	font-size: 1.2rem;
	line-height: 2.3rem;
}
@media print, screen and (min-width: 768px) {/* PC */
.course {
	margin-top: -8rem;
	padding: 12rem 4rem 12rem 0;
}
.course .item {
	margin-bottom: 1.5rem;
}
.course .item a {
	display: flex;
	align-items: center;
	padding: 2.5rem;
}
.course .item a:hover {
	background: #F4F4F4;
}
.course .item a::after {
	right: 7rem;
	top: 3.3rem;
	bottom: auto;
	width: 6rem;
	height: 6rem;
	background: url(../../img/recruitment-info/internship_icon_circle_arrow_pc.svg) no-repeat 50% / cover;
	opacity: 0;
}
.course .item a:hover::after {
	opacity: 1;
}
.course .item a .set {
	width: 40rem;
	padding-right: 2.5rem;
	border-right: 1px solid #EAEAEA;
}
.course .item .day {
	font-size: 1.6rem;
	line-height: 3rem;
}
.course .item .type {
	font-size: 2rem;
	line-height: 3rem;
}
.course .item .text {
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.course .item .recommend {
	flex: 1;
	padding: 0 2.5rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.course .item .recommend dt {
	color: #D6082E;
}
}/* @media */
/* -----------------------------------------------
= detail
----------------------------------------------- */
.detail {
	margin-top: -6rem;
	padding: 8rem 1.5rem 3rem;
}
.detail_in {
	background: #fff;
	border-radius: .5rem;
	letter-spacing: .02em;
}
.detail .box {
	padding: 2rem 1.5rem 3rem;
}
.detail .text {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .note {
	margin-bottom: 2.5rem;
	color: #7B7B7B;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .recommend dt {
	margin-bottom: .1rem;
	color: #D6082E;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .recommend dd {
	margin-bottom: 2.5rem;
	font-size: 1.3rem;
	line-height: 2.6rem;
}
.detail .detail_heading {
	position: relative;
	margin-bottom: 1.3rem;
	padding-left: 2rem;
	color: #D6082E;
	font-size: 1.6rem;
	line-height: 3rem;
}
.detail .detail_heading::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: .8rem;
	height: 100%;
	background: url(../../img/shared/icon_title_arrow.svg) no-repeat 50% / 100% auto;
}
.detail .program_cont {
	margin-bottom: 5rem;
}
.detail .program_cont li {
	margin: 0 1.5rem 2.6rem;
}
.detail .program_cont .ttl {
	margin-bottom: .8rem;
	color: #D6082E;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 2.8rem;
	text-align: center;
}
.detail .program_cont .img {
	margin: 0 auto .8rem;
	width: 7rem;
}
.detail .program_cont .text {
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .program_detail {
	margin-bottom: 3rem;
	padding: 1.5rem;
	background: #F4F4F4;
	border-radius: .5rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .program_detail dt {
	margin-bottom: .1rem;
	font-weight: 700;
}
.detail .program_detail dd + dt {
	margin-top: 1.3rem;
}
.detail .program_detail dd .note {
	margin: 0;
}
.detail .program_step {
	margin: 2.5rem 1.5rem 5rem;
}
.detail .program_step .num {
	display: inline-block;
	margin-bottom: .4rem;
	padding: 0 1rem;
	color: #fff;
	background: #D6082E;
	border-radius: 3em;
	font-family: "Lato", sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 2.1rem;
}
.detail .program_step .text a {
	color: #D6082E;
	text-decoration: underline;
}
.detail .program_voice .item {
	display: flex;
	align-items: start;
}
.detail .program_voice .item + .item {
	margin-top: 1rem;
}
.detail .program_voice .item img {
	width: 5rem;
	margin-top: 1.5rem;
}
.detail .program_voice .item:nth-child(even) img {
	order: 2;
}
.detail .program_voice .item p {
	position: relative;
	padding: 1.2rem 1.5rem;
	background: #F4F4F4;
	border-radius: 1rem;
	font-size: 1.3rem;
	line-height: 2.6rem;
}
.detail .program_voice .item:nth-child(odd) p {
	margin-left: 1.6rem;
}
.detail .program_voice .item:nth-child(even) p {
	order: 1;
	margin-right: 1.6rem;
}
.detail .program_voice .item p::before {
	content: '';
	position: absolute;
	top: 3.6rem;
	width: 1rem;
	height: .8rem;
	background: #F4F4F4;
}
.detail .program_voice .item:nth-child(odd) p::before {
	left: -1rem;
	clip-path: polygon(0 50%, 100% 0,100% 100%);
}
.detail .program_voice .item:nth-child(even) p::before {
	right: -1rem;
	clip-path: polygon(0 0, 100% 50%,0 100%);
}
@media print, screen and (min-width: 768px) {/* PC */
.detail {
	margin-top: -8rem;
	padding: 12rem 4rem 4rem 0;
}
.detail_in {
	border-radius: 1rem;
}
.detail .box {
	padding: 2.5rem 3rem 3rem;
}
.detail .text {
	font-size: 1.6rem;
	line-height: 3.2rem;
}
.detail .recommend dt {
	font-size: 1.6rem;
	line-height: 3.2rem;
}
.detail .recommend dd {
	font-size: 1.6rem;
	line-height: 3.2rem;
}
.detail .program_cont {
	margin: 3rem 2rem 6rem;
}
.detail .program_cont li {
	position: relative;
	margin: 0 0 4rem;
}
.detail .program_cont .ttl {
	margin: 0 0 0 10rem;
	text-align: left;
}
.detail .program_cont .img {
	position: absolute;
	top: .5rem;
	left: 0;
}
.detail .program_cont .text {
	margin: 0 0 0 10rem;
}
.detail .program_detail {
	padding: 2rem;
	border-radius: .5rem;
}
.detail .program_detail dd + dt {
	margin-top: 2.5rem;
}
.detail .program_step {
	margin: 2.5rem 2rem 5rem;
}
.detail .program_step li {
	display: flex;
	align-items: start;
}
.detail .program_step .num {
	margin: .6rem 1.4rem .6rem 0;
	font-size: 1.2rem;
	line-height: 2.5rem;
}
.detail .program_step .text {
	flex: 1;
}
.detail .program_step .text a:hover {
	text-decoration: none;
}
.detail .program_voice .item + .item {
	margin-top: 1.5rem;
}
.detail .program_voice .item img {
	width: 7rem;
	margin-top: .8rem;
}
.detail .program_voice .item p {
	padding: 1.5rem 2rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
}
.detail .program_voice .item:nth-child(odd) p {
	margin-left: 3rem;
}
.detail .program_voice .item:nth-child(even) p {
	margin-right: 3rem;
}
.detail .program_voice .item p::before {
	top: 3.8rem;
	width: 1.2rem;
	height: 1rem;
}
.detail .program_voice .item:nth-child(odd) p::before {
	left: -1.2rem;
}
.detail .program_voice .item:nth-child(even) p::before {
	right: -1.2rem;
	clip-path: polygon(0 0, 100% 50%,0 100%);
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.outro {
	padding: 2rem 1.5rem 3rem;
}
@media print, screen and (min-width: 768px) {/* PC */
.outro {
	padding: 8rem 4rem 6rem 0;
}
}/* @media */

