main {
	background: url("../img/common/bg_main_child.png") repeat;
}
.mv {
	ask-image: url(../img/internship_info_session/main_mask.png);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-image: url(../img/internship_info_session/main_mask.png);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
}
@media screen and (max-width: 800px) {
    .mv {
        ask-image: url(../img/internship_info_session/main_mask_sp.png);
        mask-repeat: no-repeat;
        mask-size: 100% 100%;
        -webkit-mask-image: url(../img/internship_info_session/main_mask_sp.png);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
    }
}
.mv img {
	min-height: 480px;
	object-fit: cover;
}
.mvWrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-35%);
}
.h2 {
	font-size: 48px;
	line-height: 1.4;
	color: #05ab1e;
}
.h2 small {
	font-size: 16px;
	color: #05350a;
	display: block;
}
.navHead {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 25px;
}
.navHead a {
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px 7px 15px;
  width: 200px;
  background-color: #fff;
  border: 1px solid #05350a;
  border-radius: 100px;
}
.navHead a:hover {
  background-color: #05ab1e;
  color: #fff;
  border: 1px solid #05ab1e;
}
.navHead .arw figure {
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 800px) {
	.mv img {
        min-height: auto;
    }
    .h2 {
        font-size: calc(100vw * 48 / 800);
    }
	.h2 small {
		font-size: calc(100vw * 16 / 800);
    }
	.navHead {
		width: 100%;
		flex-flow: wrap;
        gap: 10px;
        margin-top: 25px;
    }
	.navHead li {
      width: 48%;
    }
	.navHead a {
      width: 100%;
    }
}
@media screen and (max-width: 500px) {
    .h2 {
        font-size: calc(100vw * 26 / 400);
    }
	.h2 small {
        font-size: calc(100vw * 13 / 400);
    }
	.navHead {
		width: 100%;
		flex-flow: wrap;
        gap: 10px;
        margin-top: 6vw;
    }
    .navHead a {
      font-size: calc(100vw * 12.75 / 400);
      padding: 7px 10px 7px 15px;
    }
    .navHead .arw figure {
      width: 4.25vw;
      height: 4.25vw;
    }
}
.illust1 {
	position: absolute;
	left: 0;
	bottom: -58px;
	width: 229px;
}
.illust2 {
	position: absolute;
	right: 0;
	bottom: -90px;
	width: 284px;
}
@media screen and (max-width: 800px) {
	.illust1 {
        width: 28.625vw;
    }
    .illust2 {
        width: 35.5vw;
    }
}
@media screen and (max-width: 500px) {
	.illust1 {
		bottom: -9.25vw;
        width: 23vw;
    }
    .illust2 {
		bottom: -7.5vw;
        width: 28.5vw;
    }
}
.h3catch {
	font-size: 38px;
	line-height: 1.4;
	color: #05ab1e;
}
.h3catch small {
	font-size: 16px;
	color: #05350a;
	display: block;
}
.catchTxt {
	font-size: 16px;
	line-height: 2.4;
}
@media screen and (max-width: 800px) {
	.h3catch {
		font-size: calc(100vw * 38 / 800);
    }
	.h3catch small {
		font-size: calc(100vw * 16 / 800);
    }
}
@media screen and (max-width: 500px) {
	.h3catch {
		font-size: calc(100vw * 24 / 400);
    }
	.h3catch small {
		font-size: 11px;
    }
    .catchTxt {
        font-size: 14px;
    }
}
.scheduleWrap {
	padding: 95px 0 0;
}
@media screen and (max-width: 500px) {
    .scheduleWrap {
        padding: 12.5vw 0 0;
    }
}
.qw {
	border-radius: 45px;
	overflow: hidden;
	border: 1px solid #05350a;
	background-color: #fff;
	margin-top: 10px;
}
.qw.first {
	margin-top: 30px;
}
.qw dt {
    display: flex;
    align-items: center;
    font-size: 21px;
    line-height: 1.4;
	padding: 30px 80px 30px 50px;
	cursor: pointer;
	transition: 0.3s;
}
.qw dd {
	padding: 0 50px;
}
.qw dt span {
	width: 30px;
	height: 30px;
	border-radius: 50px;
	background-color: #05ab1e;
    display: inline-block;
    /*position: relative;*/
	margin-left: auto;
	flex-shrink: 0;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}
.qw dt span::before,.qw dt span::after  {
    content: '';
    display: inline-block;
    width: 12px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .4s;
}
.qw dt span::after {
    transform: translate(-50%,-50%) rotate(90deg);
    transition: transform .4s;
}
.qw dt.on span::before {
    opacity: 0;
}
.qw dt.on span::after {
    transform: translate(-50%,-50%) rotate(180deg);
}
.qw dt:hover {
	/*background-color: #11d60c;*/
}
.date {
  font-size: 13px;
  color: #999;
  margin-right: 20px;
}
.cat {
  font-size: 13px;
  border-radius: 50px;
  width: 160px;
  margin-right: 35px;
  padding: 7px 0;
}
.cat1 {
  color: #fff;
  background-color: #05ab1e;
}
.cat2 {
  color: #05ab1e;
  background-color: #fff598;
}
@media(max-width: 800px){
  .qw dt  {
    flex-wrap: wrap;
    gap: 10px 0;
    font-size: calc(100vw * 21 / 800);
    border-radius: 7.5vw;
    /*padding: 30px 80px 30px 30px;*/
  }
}
@media screen and (max-width: 500px) {
    .qw dt {
      font-size: calc(100vw * 16 / 400);
      padding: 4vw 14vw 4vw 4vw;
    }
    .qw dt span  {
      width: 7.5vw;
      height: 7.5vw;
      right: 3vw;
    }
    .date {
      margin-right: 4vw;
    }
    .cat {
      margin-right: 0;
      padding: 3px 0;
    }
	.qw dd {
        padding: 0 5vw;
    }
}
.scheWrap {
	border-top: 1px solid #ccc;
	padding: 40px 10px;
	margin-top: 1px;
}
.scheFlex {
	display: flex;
}
.h4sche {
	font-size: 16px;
	width: 170px;
	color: #05ab1e;
	flex-shrink: 0;
}
@media screen and (max-width: 800px) {
	.scheFlex {
		flex-direction: column;
    }
	.h4sche {
        width: 100%;
    }
}
@media screen and (max-width: 500px) {
    .scheWrap {
        border-top: 1px solid #ccc;
        padding: 3vw 2vw 8vw;
        margin-top: 1px;
    }
}
.eventWrap {
	padding: 150px 0 0;
	width: 90%;
	max-width: 1200px;
	margin: auto;
}
@media screen and (max-width: 850px) {
    .eventWrap {
        width: 100%;
    }
}
@media screen and (max-width: 600px) {
    .eventWrap {
        padding: 15vw 0 0;
    }
}
.eventFlex {
	margin-top: 100px;
}
.eventCont {
	width: 75.8%;
	background-color: #fff;
	border-radius: 60px;
	border: 1px solid #05350a;
	padding: 50px 100px 40px 50px;
}
.eventHead {
	display: flex;
	align-items: center;
	position: absolute;
	left: -1px;
	top: -35px;
}
.h4event {
	font-size: 24px;
	width: 350px;
	background-color: #05ab1e;
	padding: 10px 30px;
	color: #fff;
	border-radius: 100px;
	margin-right: 20px;
}
.bgFlex {
	display: flex;
	gap: 10px;
}
.bgEvent {
	width: 70px;
	height: 70px;
	line-height: 70px;
	text-align: center;
	display: inline-block;
	color: #fff;
	font-size: 18px;
}
.bgEvent1 {
	background: url("../img/internship_info_session/bg_list1.png") no-repeat;
	background-size: 100% 100%;
}
.bgEvent2 {
	background: url("../img/internship_info_session/bg_list2.png") no-repeat;
	background-size: 100% 100%;
}
.eventImg {
	width: 30%;
	position: absolute;
	top: -60px;
	right: 0;
}
.eventImg img {
	border-radius: 30px;
	width: 100%;
}
.rev .eventCont {
	margin-left: auto;
	padding: 50px 50px 40px 100px;
}
.rev .h4event {
	padding: 10px 30px 10px 100px;
}
.rev .eventImg {
	left: 0;
}
.rev .eventHead {
	left: 24.2%;
}
@media screen and (max-width: 850px) {
	.eventFlex {
		display: flex;
		flex-direction: column-reverse;
	}
    .eventCont {
        width: 90%;
        padding: 50px 50px 40px 50px;
		border-radius: 0 60px 60px 0;
        z-index: 20;
        position: relative;
		margin-top: -60px;
    }
    .eventImg {
        position: relative;
        width: 90%;
        top: auto;
		right: auto;
		margin-left: auto;
		z-index: 10;
    }
	.even .h4event {
        border-radius: 0 100px 100px 0;
    }
	.even .eventImg img {
        border-radius: 30px 0 0 30px;
    }
    .rev .eventCont {
        padding: 50px 50px 40px 50px;
        border-radius: 60px 0 0 60px;
    }
	.rev .eventHead {
        left: -3vw;
    }
	.rev .eventImg {
		margin: 0 auto 0 0;
    }
	.rev .h4event {
        border-radius: 100px;
		padding: 10px 4vw;
    }
	.rev .eventImg img {
        border-radius: 0 30px 30px 0;
    }
}
@media screen and (max-width: 600px) {
	.eventFlex {
		margin-top: 15vw;
	}
    .eventCont {
        border-radius: 0 7.5vw 7.5vw 0;
        padding: 11vw 6vw 5vw 6vw;
		margin-top: -7.5vw;
    }
	.h4event {
        font-size: calc(100vw * 20 / 400);
        width: 55vw;
        padding: 2vw 5vw;
        margin-right: 1vw;
    }
    .bgFlex {
        gap: 0.5vw;
    }
	.bgEvent {
        width: 15vw;
        height: 15vw;
        line-height: 15vw;
        font-size: calc(100vw * 15 / 400);
    }
    .rev .eventCont {
        padding: 11vw 6vw 5vw 6vw;
        border-radius: 7.5vw 0 0 7.5vw;
    }
}
.formWrap {
	padding: 150px 0 100px;
}
@media screen and (max-width: 500px) {
    .formWrap {
        padding: 15vw 0 15vw;
    }
}