@charset "utf-8";

/* ------------------------
	fresh2027
------------------------ */
body{
	padding: 0;
  line-height: 1.8;
  color: #333;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
	min-width: auto;
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

*{
	box-sizing: border-box;
}

img{
	width: 100%;
	max-width: 100%;
	height: auto;
}

.inner{
	width: min(100%, 1200px);
	margin-left: auto;
	margin-right: auto;
}

header{
	width: 100%;
	height: 74px;
	position: fixed;
	top: 25px;
	left: 0;
	overflow: hidden;
	z-index: 100;
}

header .logo{
	width: 350px;
	position: relative;
}

header .logo a:hover{
	opacity: 1;
}

@media screen and (min-width:768px){
	header .logo::before{
		content: "";
		display: block;
		width: calc(50vw - 350px);
		height: 72px;
		background: #fff;
		border-top: 1px solid #003AA8;
		border-bottom: 1px solid #003AA8;
		position: fixed;
		top: 25px;
		left: 0;
		z-index: 0;
	}
}

header .logo a{
	display: block;
	height: 74px;
	padding: 10px 20px 10px 0;
	background: #fff;
	border-radius: 0 9999px 9999px 0;
	border: 1px solid #003AA8;
	border-left: none;
	position: relative;
	z-index: 1;
}

header .logo a img{
	display: block;
}

header ul{
	position: fixed;
	top: 20px;
	right: 40px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

header ul li a{
	display: block;
}

header ul li a:hover{
	opacity: 0.8;
}

@media screen and (max-width: 1000px){
	header ul{
		top: 10px;
		right: 20px;
		grid-template-columns: 80px 80px;
		gap: 10px;
	}
}
@media screen and (max-width: 767px){
	header{
		height: 37px;
		top: 3.6vw;
	}
	header .logo{
		width: 185px;
	}
	header .logo a{
		height: 37px;
		padding: 0 10px 0 0;
	  display: flex;
	  align-items: center;
	}
	header ul{
		top: 2.6vw;
		right: 2.6vw;
		grid-template-columns: 14vw 14vw;
		gap: 2vw;
	}
}

.mv_wrap{
	width: 100%;
	height: 330px;
  display: flex;
  align-items: center;
	background: url(../images/fresh2027/session_mv.webp) no-repeat center center / cover;
	padding: 0 20px;
}

.mv_wrap h1{
	margin-top: 100px;
  color: #fff;
  font-size: 2.5rem;
  font-weight: normal;
  line-height: 1;
}

.mv_wrap h1 span{
	display: block;
	margin-bottom: 15px;
	font-size: 7rem;
	font-weight: bold;
	letter-spacing: .05em;
}

.page-session2027 .mv_wrap{
	background-image: url(../images/fresh2027/session_mv.webp) 
}

.page-entry2027 .mv_wrap{
	background-image: url(../images/fresh2027/entry_mv.webp) 
}

.page-fresh2027 .mv_wrap h1{
	text-indent: -9999px;
}

@media screen and (max-width: 767px){
	.mv_wrap{
		height: auto;
		aspect-ratio: 750 / 270;
		padding: 0 4vw;
	}
	.mv_wrap h1{
		margin-top: 50px;
	  font-size:1.4rem;
	}
	.mv_wrap h1 span{
		font-size: 3rem;
		margin-bottom: 5px;
	}
}

.fresh2027_body{
	overflow: hidden;
}

.bg{
	background: #b5f3af;
	background: linear-gradient(to bottom right, #9ee4f6 0%, #d7f8d4 100%);
}

.form_box{
	padding: 100px;
	background: #fff;
}

.sec{
	padding: 80px 20px;
}

.flex_wrap{
  display: flex;
  justify-content: space-between;
}

.flex_wrap + .flex_wrap{
	margin-top: 100px;
}

.flex_wrap .img{
	flex: 0 1 40%;
	margin-right: 60px;
	margin-left: 0;
}

.flex_wrap:nth-of-type(odd) .img{
	margin-right: 0;
	margin-left: 60px;
}

.flex_wrap.re .img{
	margin-left: 0;
	margin-right: 60px;
}

.flex_wrap .img img{
	border-radius: 15px;
}

.flex_wrap .txt{
	flex: 1 1 0%;
	order: 2;
}

.flex_wrap:nth-of-type(odd) .txt{
	order: 0;
}

.flex_wrap.re .txt{
	order: 2;
}

.ttl_b,
.flex_wrap .txt h3{
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.3;
	color: #003AA8;
	margin: 0 0 20px 0;
}

.flex_wrap .txt p{
	margin-bottom: 20px;
	line-height: 2;
}

@media screen and (max-width: 767px){
	.flex_wrap{
	  display: block;
	}
	.flex_wrap + .flex_wrap{
		margin-top: 60px;
	}
	.flex_wrap .img{
		margin: 20px 0 0 0!important;
	}
	.flex_wrap .img img{
		border-radius: 10px;
	}
	.flex_wrap .txt h3{
		font-size: 2rem;
	}
}

.ttl_gra{
	width: 100%;
	height: auto;
	line-height: 1.3;
	padding: 15px 20px;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	background: #ac47ff;
	background: linear-gradient(to right, #4acdee 0%, #b5f3af 100%);
	margin: 0 0 40px 0;
}

.ttl_gra::before{
	display: none;
}

.ttl_gra_border{
	position: relative;
}

.ttl_gra_border::after{
	content: "";
	display: block;
	margin-top: 5px;
	height: 2px;
	background: #ac47ff;
	background: linear-gradient(to right, #4acdee 0%, #b5f3af 100%);
}

@media screen and (max-width: 767px){
	.form_box{
		padding: 5vw 4vw;
	}
	.sec{
		padding: 10vw 4vw;
	}
	.ttl_gra{
		padding: 10px ;
		font-size: 1.8rem;
		margin: 0 0 30px 0;
	}
	.ttl_gra_border{
		font-size: 1.8rem;
	}
}

.sec a{
	color: #003AA8;
	text-decoration: underline;
}

.sec a:hover{
	text-decoration: none;
}

.ttl_bg{
	color: #333;
	padding: 20px;
	margin-top: 50px;
	line-height: 1;
	font-size: 1.8rem;
	background: #E6E6E6;
}

.ttl_bg.mt0{
	margin-top: 0!important;
}

.form_dl dt{
	margin-top: 20px;
}

.mw_wp_form_confirm .form_dl dt{
	font-weight: bold;
}

.form_agree{
	margin: 100px 0 30px 0;
	text-align: center;
	font-size: 1.8rem;
}

@media screen and (max-width: 767px){
	.form_agree{
		margin: 50px 0 20px 0;
	}
}

.submit_wrap{
	text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.submit_wrap input{
	display: inline-block;
	float: none!important;
	margin: 0 10px;
}

::placeholder{
	color: #9F9F9F;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=textarea],
textarea{
	width: 100%;
	height: 50px;
	line-height: 50px;
	appearance: none;
	-webkit-appearance: none;
	padding: 10px;
	border-radius: 7px;
	border: 1px solid #C1C1C1;
	box-shadow: 0 3px 6px 3px rgba(0,0,0,.1) inset;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
}

textarea{
	height: 150px;
	line-height: 1.8;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=textarea]:focus,
textarea:focus{
  outline: none;
  box-shadow: 0 0 0 2px pink;
}

input[type=submit],
input[type=button] {
	width: 100%;
	max-width: 275px;
	height: 60px;
	line-height: 60px;
	background: #003AA8;
	border-radius: 9999px;
}

.mw_wp_form_confirm .no_conf,
.mw_wp_form_complete  .no_conf{
	display: none!important;
}

.interview_list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}

.interview_list li:nth-child(even){
	margin-top: 110px;
}

.interview_list li img{
	border-radius: 10px;
}

.interview_list li h3{
	font-size: 1.8rem;
	font-weight: bold;
	color: #003AA8;
	line-height: 1.5;
	margin: 20px 0;
}

@media screen and (max-width: 767px){
	.interview_list{
		display: block;
	}
	.interview_list li{
		margin: 0 0 30px 0!important;
	}
}

.rec_wrap table{
	width: 100%;
}
 
.rec_wrap th{
	padding: 15px 30px;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	font-size: 1.8rem;
	white-space: nowrap;
	background: #E6E6E6;
	border-bottom: 1px solid #9B9B9B;
}

.rec_wrap tr:first-child th{
	border-top: 1px solid #9B9B9B;
}

.rec_wrap td{
	vertical-align: middle;
	padding: 15px 30px;
	background: #fff;
	border-bottom: 1px solid #E6E6E6;
}

.rec_wrap tr:first-child td{
	border-top: 1px solid #E6E6E6;
}

.rec_wrap td .point{
	color: #3F64B5;
	margin: 10px 0;
}

.rec_wrap td .point strong{
	font-size: 2rem;
}

@media screen and (max-width: 767px){
	.rec_wrap{
		padding: 10vw 4vw;
	}
	.rec_wrap h2{
		margin: 0 0 40px 0;
	}
	.rec_wrap h2 span{
		margin-bottom: 10px;
		font-size: 16vw;
	}
	.rec_wrap th, .rec_wrap td{
		width: auto;
		display: block;
		padding: 15px;
		text-align: left!important;
		border: 1px solid #E6E6E6;
		border-top: none!important;
		border-bottom: none!important;
	}
	.rec_wrap td{
		padding: 15px 20px 20px 20px;
	}
	.rec_wrap td .point strong{
		display: block;
	}
}

#peason{
	padding: 150px 20px;
}

#peason h2{
	display: inline-block;
  background: linear-gradient(135deg, #ff0000 0%, #d7f8d4 100%);
  background: -webkit-linear-gradient(-45deg, #bcf2ff 0%, #d7f8d4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: auto;
	height: auto;
	margin: 0 0 100px 0;
	font-size: 10rem;
	font-weight: bold;
	line-height: 1;
}

#peason h2::before{
	display: none;
}

#peason .inner{
	position: relative;
}

#peason .inner .img{
	width: 568px;
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(100px, -80px);
}

#peason h3{
	font-size: 2.5rem;
	font-weight: bold;
	color: #003AA8;
	line-height: 1;
	margin-bottom: 30px;
	padding-bottom: 30px;
	background: url(../images/fresh2027/ttl_bottom.svg) no-repeat left bottom;
}

#peason .wrap{
	display: flex;
	width: calc(100% - 600px);
	margin: 20px 0 80px 0;
}

#peason .wrap .peason_point{
	white-space: nowrap;
	margin-right: 50px;
}

.peason_point li{
	margin: 5px 0;
	padding-left: 24px;
	background: url(../images/fresh2027/icon_check1.svg) no-repeat left center;
}

.peason_point2 li{
	background: url(../images/fresh2027/icon_check2.svg) no-repeat left center;
}

@media screen and (max-width: 1100px){
	#peason .inner .img{
		width: 30%;
		transform: translate(0, -80px);
	}
}
@media screen and (max-width: 767px){
	#peason{
		padding: 80px 20px;
	}
	#peason h2{
		margin: 0 0 50px 0;
		font-size: 5rem;
	}
	#peason .inner .img{
		width: 40%;
		transform: translate(10px, -130px);
	}
	#peason .wrap{
		display: block;
		width: 100%;
		margin: 30px 0;
	}
}

.process_list li{
	margin-bottom: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
	padding: 20px 40px;
	background: #fff;
	position: relative;
	border-radius: 9999px;
}

.process_list li:last-child{
	margin-bottom: 20px;
}

.peason_img{
	width: 40%;
}
.process_list li::after{
	content: "";
	display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 47px solid transparent;
  border-left: 47px solid transparent;
  border-top: 18px solid #fff;
  border-bottom: 0;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.process_list li:last-child::after{
	display: none;
}

.process_list li p{
	margin: 0;
	font-size: 1.8rem;
	font-weight: bold;
}

.process_list li p small{
	font-size: 90%;
	font-weight: normal;
	margin-left: 15px;
}

.process_list li p:first-child{
	flex: 1 1 0%;
  display: flex;
  align-items: center;
}

.process_list li p:first-child span{
	margin-right: 30px;
	font-size: 4rem;
	font-weight: bold;
	color: #E5EBF5;
}

.process_list li p:last-child{
	flex: 0 1 100px;
	margin-left: 20px;
	text-align: center;
	color: #fff;
	font-weight: normal;
	background: #8998B4;
	border-radius: 9999px;
}

@media screen and (max-width: 767px){
	.process_list li{
		padding: 20px 10px;
	}
	.process_list li p{
		margin: 0;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.process_list li p:first-child{
		flex-wrap: wrap;
	}
	.process_list li p:first-child span{
		margin-right: 10px;
		font-size: 3rem;
	}
	.process_list li p small{
		font-size: 90%;
		margin-left: 25px;
		display: block;
	}
	.process_list li p:last-child{
		font-size: 1.5rem;
		margin-left: 10px;
	}
}

.to_session{
	padding: 90px auto;
	background: #fff;
}

.to_session .inner{
	padding: 40px 20px;
	text-align: center;
	background: url(../images/fresh2027/mv_session.jpg) no-repeat center center / cover;
}

.to_session p{
	margin: 0;
	font-size: 3.7rem;
	color: #fff;
}

.to_session .btn{
	width: 275px;
	margin: 30px auto 0 auto;
	
}
.to_session .btn a{
	display: block;
	padding: 20px;
	border-radius: 9999px;
	font-weight: bold;
	background: #fff;
	text-decoration: none;
	position: relative;
}

.to_session .btn a::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
  right: 15px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #003AA8;
	transition: .3s;
}

@media screen and (max-width: 767px){
	.to_session{
		padding: 90px auto;
		background: #fff;
	}
	.to_session .inner{
		padding: 40px 4vw;
		background-image: url(../images/fresh2027/mv_session_smp.jpg);
	}
	.to_session p{
		line-height: 1.4;
		font-size: 6vw;
	}
}

.fresh_ttl{
	width: 100%;
	height: auto;
	margin: 0 0 40px 0;
	font-size: 1.6rem;
	font-weight: normal;
	color: #003AA8;
	line-height: 1;
	background: none;
}

.fresh_ttl::before{
	display: none;
}

.fresh_ttl span{
	display: block;
	margin-bottom: 10px;
	font-size: 10rem;
	font-weight: bold;
	color: #fff;
}

.fresh_ttl.interview span{
	display: inline-block;
  background: linear-gradient(135deg, #ff0000 0%, #d7f8d4 100%);
  background: -webkit-linear-gradient(-45deg, #bcf2ff 0%, #d7f8d4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.about_list3{
	margin-bottom: 80px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.about_list3 li{
	padding: 20px 20px 30px 20px;
	text-align: center;
	background: #fff;
	border-radius: 10px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.about_list3 li img{
	border-radius: 10px;
}

.about_list3 li h3{
	font-weight: bold;
	font-size: 2.5rem;
	line-height: 1;
	color: #003AA8;
	margin: 20px 0;
}

.about_list3 li p.txt{
	margin: auto 0 20px 0;
	font-size: 2rem;
	font-weight: bold;
}

.about_list3 li a{
	display: block;
	padding: 10px;
	width: 275px;
	margin: 0 auto;
	font-weight: bold;
	text-decoration: none;
	border-radius: 9999px;
	background: #F4F4F4;
	border: 1px solid #003AA8;
}

@media screen and (max-width: 767px){
	.fresh_ttl{
		margin: 0 0 40px 0;
		font-size: 1.3rem;
	}
	.fresh_ttl span{
		font-size: 5rem;
	}
	.about_list3{
		margin-bottom: 60px;
		display: block;
	}
	.about_list3 li{
		margin-bottom: 30px;
	}
}

.about_list li{
	margin-bottom: 40px;
	display: grid;
	grid-template-columns: 440px 1fr;
	gap: 40px;
	padding: 30px;
	background: #fff;
	border-radius: 10px;
}

.about_list li .img img{
	border-radius: 10px;
}

.about_list li .tt_wrap{
	position: relative;
	padding-left: 95px;
	line-height: 1;
}

.about_list li .tt_wrap span{
	display: block;
	font-size: 7rem;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: #3A5589;
}

.about_list li .tt_wrap h3{
	color: #3A5589;
	font-size: 2.5rem;
	font-weight: bold;
	margin: 0 0 10px 0;
	line-height: 1;
}

.about_list li .tt_wrap p{
	line-height: 1.3;
	font-size: 1.6rem;
	margin: 0;
}

.about_list li .tt_wrap + p{
	font-size: 2.3rem;
	font-weight: bold;
	margin: 40px 0;
}

p.btn{
	width: 275px;
	margin: 30px auto 0 auto;
}

.about_list li p.btn{
	margin: 0;
}

p.btn a{
	display: block;
	padding: 15px;
	text-align: center;
	text-decoration: none;
	color: #003AA8;
	background: #fff;
	border-radius: 9999px;
	border: 1px solid #003AA8;
	position: relative;
}

p.btn a.disable{
	background: #F4F4F4;
}

p.btn a:not(.disable)::after{
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    border-color: transparent transparent transparent #003AA8;
    transition: .3s;
}

@media screen and (max-width: 1100px){
	.about_list li{
		grid-template-columns: 300px 1fr;
	}
}
@media screen and (max-width: 767px){
	.about_list li{
		display: block;
		padding: 20px;
	}
	.about_list li .tt_wrap{
		padding-left: 0;
		margin-top: 20px;
	}
	.about_list li .tt_wrap span{
		display: inline-block;
		font-size: 2rem;
		position: static;
		transform: translateY(0);
	}
	.about_list li .tt_wrap h3{
		font-size: 2rem;
	display: inline-block;
	}
	.about_list li .tt_wrap p{
		font-size: 1.5rem;
	}
	.about_list li .tt_wrap + p{
		font-size: 1.8rem;
		margin: 20px 0;
	}
}

.bnr_flex{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

@media screen and (max-width: 767px){
	.bnr_flex{
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

#fresh2027_footer{
	padding: 50px 10px 10px 10px;
	color: #003AA8;
	background: #E4F0F4;
	position: relative;
	z-index: 100;
}

#fresh2027_footer .logo{
	max-width: 400px;
}

#fresh2027_footer .wrap{
	margin: 40px 0 50px 0;
  display: flex;
  justify-content: space-between;
}

#fresh2027_footer .wrap dl{
	margin-right: 40px;
	font-weight: bold;
}

#fresh2027_footer .wrap dd a{
	text-decoration: none;
	color: #003AA8;
}

a.disable{
	pointer-events: none;
}

#fresh2027_footer .wrap dd a::before{
	content: "";
	display: inline-block;
	margin-right: 6px;
	vertical-align: middle;
  width: 4px;
  height: 4px;
  transform: translateY(-50%);
  border-top: 1px solid #003AA8;
  border-right: 1px solid #003AA8;
  transform: rotate(45deg);
	transition: .3s;
}

#fresh2027_footer .wrap ul{
	margin-left: auto;
	width: 270px;
}

#fresh2027_footer .wrap ul li{
	margin-bottom: 10px;
}

#fresh2027_footer .wrap ul li a{
	display: block;
	text-align: center;
	padding: 15px;
	text-decoration: none;
	color: #003AA8;
	font-weight: bold;
	background: #fff;
	border: 1px solid #003AA8;
	border-radius: 9999px;
	position: relative;
}

#fresh2027_footer .wrap ul li a::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
  right: 15px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #003AA8;
	transition: .3s;
}

#fresh2027_footer .wrap ul li:nth-child(2) a{
	color: #FF8686;
	background: #fff;
	border: 1px solid #FF8686;
}
#fresh2027_footer .wrap ul li:nth-child(2) a::after{
	border-color: transparent transparent transparent #FF8686;
}

#fresh2027_footer .wrap ul li:nth-child(3) a{
	color: #fff;
	background: #FF8686;
	border: 1px solid #FF8686;
}
#fresh2027_footer .wrap ul li:nth-child(3) a::after{
	border-color: transparent transparent transparent #fff;
}

#fresh2027_footer small{
	display: block;
	font-size: 1.1rem;
	text-align: center;
}

@media screen and (max-width: 767px){
	#fresh2027_footer{
		padding: 0;
		margin-bottom: 40px;
	}	
	#fresh2027_footer .logo,
	#fresh2027_footer small{
		display: none;
	}
	#fresh2027_footer .wrap dl{
		flex: 0 1 48%;
		padding: 20px;
		margin: 0;
	}
	#fresh2027_footer .wrap ul{
		display: block;
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	#fresh2027_footer .wrap ul li{
		margin: 0;
	}	
	#fresh2027_footer .wrap ul li a{
		padding: 10px;
		font-size: 3vw;
		border-radius: 0;
		border-bottom: none!important;
	}
	#fresh2027_footer .wrap ul li:nth-child(1) a{
		color: #fff;
		background: #003AA8;
	}
	#fresh2027_footer .wrap ul li:nth-child(2) a{
		border-left: none;
	}
	#fresh2027_footer .wrap ul li a::after{
		display: none;
	}
	#fresh2027_footer .wrap ul li a span{
		display: none;
	}
}

#fresh2027_concept{
	padding: 0;
	text-align: center;
	color: #343743;
	background: url(../images/fresh2027/concept_bg.webp) no-repeat center bottom / cover;
  position: relative;
}

#fresh2027_concept::before{
  content: "";
  display: block;
  width: min(100%, 927px);
  height: 100%;
  background: rgba(248,248,248,.7);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}

#fresh2027_concept .wrap{
  width: min(100%, 927px);
  margin: 0 auto;
  padding: 0 20px 40px 20px;
	font-family: "Noto Serif", serif;
	font-size: 1.8rem;
  position: relative;
  z-index: 1;
}

#fresh2027_concept .wrap .txt_catch{
	font-size: 3.2rem;
}

#fresh2027_concept .wrap p{
  margin-bottom: 20px;
}

#fresh2027_concept .img_ttl{
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px){
  #fresh2027_concept .wrap p{
    text-align: left;
  }
}

#fresh2027_concept .wrap .img_year{
  display: block;
  width: 130px;
	margin: 50px auto 0 auto;
}

/* インタビュー先輩コメント */
.interview_comment .inner{
  display: flex;
	justify-content: space-between;
	align-items: center;
}

.interview_comment .img{
	flex: 0 1 278px;
	margin-right: 50px;
	order: -1;
}

.interview_comment .txt{
	flex: 1 1 0%;
}

.interview_comment .txt h3{
	color: #fff;
	font-weight: bold;
	font-size: 7rem;
	line-height: 1;
	margin: 0;
	transform: translateY(8px);
}

.interview_comment .txt .txt_baloon{
	padding: 40px 40px;
	background: #fff;
	color: #3A5589;
	font-size: 2rem;
	border-radius: 20px;
	position: relative;
}

.interview_comment .txt .txt_baloon::before{
	content: "";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 10px 30px 10px 0;
	border-color: transparent #fff transparent transparent;
	position: absolute;
	bottom: 20%;
	left: -20px;
}

@media screen and (max-width: 767px){
	.interview_comment .inner{
	  display: block;
	}
	.interview_comment .img{
		width: 70%;
		margin: 40px auto 0 auto;
	}
	.interview_comment .txt h3{
		font-size: 3rem;
		transform: translateY(0px);
		margin-bottom: 10px;
		text-align: center;
	}
	.interview_comment .txt .txt_baloon{
		padding: 20px;
		font-size: 1.6rem;
	}
	.interview_comment .txt .txt_baloon::before{
		bottom: -20px;
		left: 50%;
		transform: rotate(270deg);
	}
}

.service_list3{
	margin-top: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 60px;
}

.service_list3 li{
  display: flex;
  justify-content: space-between;
	flex-direction: column;
}

.service_list3 li h3{
	margin: 20px 0 10px 0;
	font-size: 2.5rem;
}

@media screen and (max-width: 767px){
	.service_list3 li h3{
		margin-top: 10px;
		font-size: 1.8rem;
	}
}

.service_list3 li h3 + p{
	margin-bottom: auto;
}

.service_list3 li .btn3{
	margin-top: 20px;
}

.service_list3 li .btn3 a{
	display: block;
}

@media screen and (max-width: 767px){
	.service_list3{
		display: block;
	}
	.service_list3 li{
	  display: block;
	  margin-bottom: 40px;
	}
}

.btn3{
	margin-top: 30px;
}

.btn3 a{
	display: inline-block;
	text-align: center;
	padding: 10px 30px;
	min-width: 200px;
	color: #3264bb;
	text-decoration: none;
	font-feature-settings: "palt";
	font-size: 1.6rem;
	border: 1px solid #3264bb;
	position: relative;
	border-radius: 9999px;
}

.btn3 a::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
  right: 10px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #3264bb;
	transition: .3s;
}

@media screen and (max-width: 767px){
	.btn3 a{
	  display: block;
	  width: 90%;
		margin: 0 auto;
	  padding: 5px 20px;
	}
}

.ttl_bg{
	margin: 0;
	padding: 15px 20px!important;
	font-size: 3.5rem!important;
	font-weight: normal!important;
	color: #fff!important;
	text-align: left!important;
	background: #3365bc!important;
	position: relative;
	overflow: auto;
}

.form_box .ttl_bg{
	margin: 40px 0 20px 0;
	font-size: 2.6rem!important;
}

.service_sec .ttl_en{
	transform: translateY(2px);
	margin-bottom: 0!important;
	line-height: 1;
	letter-spacing: 0.05em;
	font-size: 6rem;
	font-weight: bold;
	color: #61d5e0;
  text-shadow:
       1px  1px 0px #fff,
      -1px  1px 0px #fff,
       1px -1px 0px #fff,
      -1px -1px 0px #fff,
       1px  0px 0px #fff,
       0px  1px 0px #fff,
      -1px  0px 0px #fff,
       0px -1px 0px #fff;
	z-index: 10;
}

@media screen and (max-width: 767px){
	.ttl_bg{
		margin: 0;
		padding: 10px 20px!important;
		font-size: 2.4rem!important;
	}
	.service_sec .ttl_en{
		font-size: 4rem;
	}
}

.service_content{
	background: #9ee5f6;
	background: linear-gradient(to bottom right, #9ee5f6 0%, #b5f3af 100%);
}

.service_content .ttbox{
	font-size: 4.5rem;
	display: grid;
	grid-template-columns: 1fr 365px;
	gap: 10px;
  align-items: center;
  color: #fff;
}

.service_content .ttbox img{
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px){
	.service_content .ttbox{
		text-align: center;
		font-size: 2.43rem;
		display: block;
	  color: #fff;
	}
	.service_content .ttbox img{
		display: inline-block;
	  width: 80%;
		margin-top: 30px;
	}
}

.service_content .wbox{
	padding: 40px;
	background: #fff;
}

.service_sec + .service_sec{
	margin-top: 50px;
}

.service_sec .ttl_gra_border{
	margin-top: 0;
	font-size: 2.5rem;
}

.service_sec ul + .ttl_gra_border{
	margin-top: 50px;
}

.service_sec .ttl_gra{
	margin-bottom: 0;
}

@media screen and (max-width: 767px){
	.service_content .wbox{
		padding: 20px 15px;
	}
	.service_sec{
		margin-top: 50px;
	}
	.service_sec .ttl_line{
		font-size: 1.8rem;
		line-height: 1.3;
	}
}

.service_sec ul.c2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.service_sec ul.c3{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.service_sec.web_sns_dx .wbox{
	display: grid;
	grid-template-columns: 58% 1fr;
	gap: 50px;
}

.service_sec.web_sns_dx .wbox img{
	width: auto!important;
	height: 300px!important;
	margin: 0 auto;
}

.service_sec.web_sns_dx .wbox img.display_pc{
	display: block;
}

.service_sec.web_sns_dx .wbox .wrap1 img{
	width: 80%;
}

@media screen and (max-width: 767px){
	.service_sec ul.c2, .service_sec ul.c3, .service_sec.web_sns_dx .wbox{
		display: block;
	}
	.service_sec.web_sns_dx .wbox img{
		width: 100%!important;
		height: auto!important;
	}
	.service_sec.web_sns_dx .wrap2{
		margin-top: 20px;
	}
	.service_sec ul li{
		margin-bottom: 20px;
	}
}

.service_sec.training .ttl_gra_border{
	margin: 15px 0 0 0;
	font-size: 2rem;
	line-height: 1.3;
}

.tb_s th, .tb_s td{
	text-align: left;
	font-weight: normal;
	padding: 5px 10px;
}

.tb_s th{
	width: 15%;
	white-space: nowrap;
	padding: 5px 0;
}

.tb_s td{
	padding: 5px 0 5px 10px;
	display: flex;
}

.tb_s td::before{
	content: "：";
	padding-right: 10px;
}

@media screen and (max-width: 767px){
	.tb_v th, .tb_v td{
		width: 100%;
		display: block;
	}
	.tb_v th{
		text-align: center;
		white-space: normal;
		background: #f0f0f0;
	}
	.tb_v td::before{
		display: none;
	}
	.tb_v td{
		padding: 10px 20px 20px 20px;
	}
}

.about03_room_advisor .flex_wrap{
	align-items: center;
}

@media screen and (min-width: 768px){
	.about03_room_advisor .flex_wrap .txt p + h3{
		margin-top: 50px;
	}
}

@media screen and (min-width: 768px){
	.about04_support{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px;
	}
}

.about04_support dl{
	margin: 50px 0 30px 0;
	background: #b5f3af;
	background: linear-gradient(to bottom right, #9ee4f6 0%, #d7f8d4 100%);
	border-radius: 15px;
	position: relative;
}

.about04_support dl::after{
	content: "";
	display: block;
	width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: #fff;
  border-radius: 15px;
  position: absolute;
  top: 2px;
  left: 2px;
}

.about04_support dl dt{
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
	background: #fff;
	padding: 0 15px;
	text-align: center;
	color: #3A5589;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	z-index: 2;
	transform: translateY(-50%);
}

.about04_support dl dd{
	height: calc(100% - 30px);
	position: relative;
	z-index: 1;
	padding: 0 30px 10px 30px;
	text-align: center;
  display: flex;
	flex-direction: column;
	font-size: 1.5rem;
}

.about04_support dl dd img{
	width: auto;
}

.about04_support dl dd .ttl_gra_border{
	line-height: 1.3;
	font-size: 2.5rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	.about04_support dl dd .ttl_gra_border{
		font-size: 2rem;
	}
	
}

.logo_mynavi{
  width: min(100%, 350px);
  margin: 40px auto 0 auto;
}