@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* Common
-----------------------------------*/
:root{
	--main-color: #373582;
}
*{
	box-sizing: border-box;
	vertical-align: middle;
}
html{
	font-size: 62.5%;
	overscroll-behavior: none;
}
body{
	font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	line-height: 180%;
	color: #333;
	font-size: 1.4rem;
	overflow-x: hidden;
}
a{
	color: inherit;
	text-decoration: none;
}
img,
svg{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
input,
select,
textarea,
label,
button{
	font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
}
h1,h2,h3,h4,h5,h6{
	line-height: 140%;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
.grecaptcha-badge{
	visibility: hidden;
}
#top{
	padding-top: 937px;
}

/* Header
-----------------------------------*/
header{
	background: rgba(255,255,255,0.92);
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	height: 80px;
	padding: 0 100px;
}
header .logos a{
	display: flex;
	align-items: center;
	padding-bottom: 2px;
	color: #000;
}
header .logos a img{
	max-width: 145px;
	display: block;
	width: 100%;
}
header .logos a span{
	font-size: 13px;
	font-weight: 400;
	margin-left: 18px;
	display: block;
	font-family: "din-2014", sans-serif;
	font-weight: 400;
}
header #switch{
	display: none;
}
header nav{
	display: flex;
	margin-left: auto;
}
header nav ul{
	display: flex;
	align-items: center;
}
header nav ul li{
	margin-right: 50px;
}
header nav ul li:last-child{
	margin-right: 0;
}
header nav ul li a{
	display: block;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	line-height: 24px;
}
header nav ul li a span{
	display: block;
	font-size: 10px;
	line-height: 13px;
	margin-top: 5px;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
}
header nav .btn{
	margin-left: 40px;
}
header nav .btn a{
	display: block;
	background-color: #EF7399;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 20px;
	transition: background 0.2s, color 0.2s;
	border-radius: 50px;
	gap: 10px;
	border: 2px solid #EF7399;
	line-height: 45px;
}
header nav .btn a:hover{
	background-color: #fff;
	color: #EF7399;
}
header nav .btn a svg circle{
	fill: #fff;
	transition: fill 0.2s;
}
header nav .btn a:hover svg circle{
	fill: #ef7399;
}
header nav .btn a svg path{
	fill: #ef7399;
	transition: fill 0.2s;
}
header nav .btn a:hover svg path{
	fill: #fff;
}

/* Mainvisual
-----------------------------------*/
#mainvisual{
	background-color: #EF7399;
	background-image: url(../images/bg_mainvisual.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
	background: none;
	background-color: #EF7399;
	position: relative;
	z-index: 1;
	min-width: 1040px;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
}
#mainvisual:after{
	content: "";
	position: absolute;
	left: 50%;
	width: 50%;
	height: 100%;
	background-position: right;
	background-image: url(../images/bg_mainvisual.jpg);
	top: 0;
	z-index: -1;
}
#mainvisual .box{
	width: 100%;
	width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
	height: 937px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#mainvisual .box .left{
	margin-bottom: 5px;
}
#mainvisual .box .left h1{
	color: #FFF;
	font-size: 40px;
	line-height: 60px;
	letter-spacing: 0.06em;
	margin-left: 10px;
	margin-bottom: 34px;
	position: relative;
	font-family: "游明朝体", "Yu Mincho", YuMincho;
}
#mainvisual .box .left h1 .ico{
	position: absolute;
	left: 230px;
	top: -25px;
}
#mainvisual .box .left .txt01{
	margin-bottom: 22px;
	font-family: "游明朝体", "Yu Mincho", YuMincho;
}
#mainvisual .box .left .txt01 ul{
	max-width: 440px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
#mainvisual .box .left .txt01 ul li{
	max-width: 155px;
	flex-shrink: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: rgba(255,255,255,0.92);
	border-radius: 50%;
	color: #EF7399;
	font-size: 23px;
	line-height: 25px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-left: -12px;
}
#mainvisual .box .left .txt01 ul li:first-child{
	font-size: 24px;
	margin-left: 0;
}
#mainvisual .box .left .txt01 ul li:first-child span{
	font-size: 10px;
	display: inline;
}
#mainvisual .box .left .txt01 .notice{
	color: #FFF;
	font-size: 10px;
	line-height: 12px;
	padding-left: 28px;
}
#mainvisual .box .left .txt02{
	color: #FFF;
	margin-left: 5px;
	font-size: 26px;
	line-height: 44px;
	transform: rotate(-6deg);
}
#mainvisual .box .left .txt02 span{
	position: relative;
	z-index: 1;
}
#mainvisual .box .left .txt02 span:after{
	content: "";
	width: 100%;
	height: 8px;
	background: #D4577D;
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
}
#mainvisual .box .left .txt02 span:nth-of-type(1):after{
	left: -5px;
	width: calc(100% + 10px);
}
#mainvisual .box .left .txt02 span:nth-of-type(2):after{
	left: -3px;
}
#mainvisual .box .bnr{
	margin-top: auto;
	margin-bottom: 143px;
}

/* Content
-----------------------------------*/
#content{
	margin-top: -120px;
	padding-top: 110px;
	position: relative;
	z-index: 2;
}
#content .scroll{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	margin-left: -0.1042vw;
}
#content:before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 110px;
	background-image: url(../images/bg_content.svg);
	background-position: center top;
	background-repeat: no-repeat;
}

/* About
-----------------------------------*/
#about{
	background: #FFF;
	padding-top: 65px;
	padding-bottom: 176px;
}
#about .inner{
	max-width: 1220px;
	width: 100%;
	margin: 0 auto;
}
#about h2{
	font-size: 32px;
	line-height: 54px;
	font-weight: 500;
	color: #EF7399;
	margin-bottom: 70px;
	text-align: center;
}
#about .txt01{
	max-width: 950px;
	width: 100%;
	margin: 0 auto 142px auto;
	text-align: center;
	font-size: 35px;
	font-weight: 600;
	color: #fff;
	background: #EF7399;
	border-radius: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho;
	font-weight: 600;
	line-height: 45px;
	height: 170px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#about .txt01 span{
	display: block;
}
#about .txt01 span:nth-child(1){
	margin-bottom: 10px;
}
#about .txt01 span:nth-child(2){
	letter-spacing: 0.06em;
}
#about .image01{
	text-align: center;
	margin-bottom: 50px;
}
#about .txt02{
	text-align: center;
	font-size: 16px;
	line-height: 40px;
	margin-bottom: 115px;
}
#about .comparison{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
#about .comparison:before,
#about .comparison:after{
	content: "";
	width: 26px;
	height: 55px;
	background-image: url(../images/ico_about_comparison.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#about .comparison:before{
	margin-left: -10px;
}
#about .comparison:after{
	margin-left: 10px;
}
#about .comparison .box01{
	max-width: 452px;
	width: 100%;
	border: 1px solid #32b4d5;
	border-radius: 20px;
	overflow: hidden;
}
#about .comparison .box02{
	max-width: 452px;
	width: 100%;
	border: 1px solid #ef7399;
	border-radius: 20px;
	overflow: hidden;
}
#about .comparison h3{
	text-align: center;
	padding: 0 10px;
	font-size: 26px;
	font-weight: 500;
	line-height: 68px;
	color: #fff;
}
#about .comparison .box01 h3{
	background: #32B4D5;
}
#about .comparison .box02 h3{
	background: #EF7399;
}
#about .comparison ul{
	padding: 33px 30px 48px 30px;
}
#about .comparison ul li{
	font-weight: bold;
	line-height: 28px;
	border-bottom: 1px solid #707070;
	padding-bottom: 13px;
	margin-bottom: 16px;
	font-size: 20px;
	white-space: nowrap;
}
#about .comparison ul li:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#about .comparison .box01 span{
	color: #32B4D5;
}
#about .comparison .box02 span{
	color: #EF7399;
}

/* Career
-----------------------------------*/
#career{
	padding: 120px 0 60px 0;
	background: #F2F2F2;
}
#career .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#career h2{
	font-size: 40px;
	font-weight: bold;
	line-height: 48px;
	padding-bottom: 14px;
	border-bottom: 1px solid #707070;
	margin-bottom: 37px;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	text-align: center;
}
#career .txt01{
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 56px;
}
#career ul{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #b7b7b7;
	position: relative;
	z-index: 1;
}
#career ul:before{
	content: "";
	width: 195px;
	height: 480px;
	background-image: url(../images/bg_career01.svg);
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 157px;
	z-index: -1;
}
#career ul li{
	padding: 38px 0 32px 50px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b7b7b7;
}
#career ul li:last-child{
	padding: 38px 0 38px 26px;
}
#career ul li .tit{
	display: flex;
	align-items: center;
}
#career ul li .tit .num{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 22px;
	margin-right: 22px;
}
#career ul li .tit .num span{
	margin-top: 10px;
	font-size: 48px;
	line-height: 36px;
	display: block;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
}
#career ul li .tit h3{
	flex-shrink: 0;
	width: 268px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	line-height: 35px;
	text-align: center;
	padding: 16px 10px 20px 10px;
	border-radius: 10px;
	background: #F36C35;
}
#career ul li .txt{
	max-width: 485px;
	width: 100%;
	font-size: 14px;
	font-weight: 500;
	line-height: 26px;
	margin-left: auto;
}
#career ul li h4{
	flex-shrink: 0;
	width: 238px;
	text-align: center;
	font-size: 34px;
	font-weight: 900;
	line-height: 49px;
}

/* Road Map
-----------------------------------*/
#road-map{
	background: #FFF;
	padding: 165px 0 170px 0;
}
#road-map .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#road-map h2{
	font-size: 40px;
	font-weight: bold;
	line-height: 48px;
	padding-bottom: 14px;
	border-bottom: 1px solid #707070;
	margin-bottom: 37px;
	text-align: center;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
}
#road-map .txt01{
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 105px;
}
#road-map .image01{
	text-align: center;
	margin-bottom: 175px;
}
#road-map .box{
	position: relative;
	background: #F2F2F2;
	padding: 50px 50px 60px 50px;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
#road-map .box.box01{
	margin-bottom: 95px;
	padding-bottom: 90px;
}
#road-map .box.box02{
	padding-top: 60px;
}
#road-map .box h3{
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	width: 125px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	color: #FFF;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #000;
}
#road-map .box.box01 h3{
	background: #D877A1;
}
#road-map .box.box02 h3{
	background: #E37447;
}
#road-map .box h4{
	width: 205px;
	background: #000;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	padding-left: 60px;
	margin-left: -50px;
	line-height: 29px;
	margin-bottom: 18px;
}
#road-map .box h5{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
	padding-left: 10px;
}
#road-map .box .txt02{
	font-size: 15px;
	line-height: 26px;
	margin-bottom: 26px;
	padding-left: 10px;
}
#road-map .box .image02{
	margin-top: -122px;
}
#road-map .box ul{
	display: flex;
	justify-content: space-between;
	gap: 0 30px;
}
#road-map .box ul li{
	max-width: 310px;
	width: 100%;
	padding: 15px 47px 25px 47px;
	border-radius: 12px;
	background: #FFF;
}
#road-map .box ul li .ico{
	text-align: center;
	margin-bottom: 10px;
}
#road-map .box ul li h6{
	font-size: 20px;
	line-height: 29px;
	font-weight: 900;
	padding-bottom: 10px;
	border-bottom: 1px solid #707070;
	margin-bottom: 10px;
	text-align: center;
}
#road-map .box ul li table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 6px;
	margin-bottom: 3px;
	line-height: 22px;
}
#road-map .box ul li table th{
	width: 106px;
	background: #EF7399;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: 400;
}
#road-map .box ul li table td{
	font-size: 14px;
	font-weight: bold;
	color: #EF7399;
	padding-left: 9px;
}
#road-map .box ul li table td span{
	font-size: 17px;
}
#road-map .box ul li .p01{
	text-align: center;
	font-size: 19px;
	font-weight: bold;
	line-height: 27px;
	margin-bottom: 13px;
	color: #EF7399;
}
#road-map .box ul li .notice{
	font-size: 10px;
	line-height: 12px;
	font-weight: 400;
}
#road-map .box ul li .p02{
	font-size: 28px;
	margin-top: 24px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
	color: #EF7399;
	margin-bottom: 57px;
}

/* CTA
-----------------------------------*/
.cta{
	background-image: url(../images/bg_cta.jpg);
	background-position: center;
	background-repeat: no-repeat;
	height: 700px;
	display: flex;
	align-items: center;
}
.cta .box{
	background: #FFF;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	display: flex;
}
.cta .box .left{
	width: 500px;
	background: #EF7399;
	font-family: "游明朝体", "Yu Mincho", YuMincho;
	font-weight: 600;
	padding: 48px 10px 37px 46px;
}
.cta .box .left h2{
	color: #FFF;
	font-size: 37px;
	line-height: 50px;
	letter-spacing: 0.06em;
	margin-bottom: 15px;
	position: relative;
}
.cta .box .left h2 .ico{
	position: absolute;
	left: 205px;
	top: -30px;
}
.cta .box .left .txt ul{
	max-width: 400px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.cta .box .left .txt ul li{
	max-width: 125px;
	flex-shrink: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #FFF;
	border-radius: 50%;
	color: #EF7399;
	font-size: 18px;
	line-height: 23px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.cta .box .left .txt ul li:first-child{
	font-size: 19px;
}
.cta .box .left .txt ul li:first-child span{
	font-size: 10px;
	display: inline;
}
.cta .box .left .txt .notice{
	color: #FFF;
	font-size: 10px;
	line-height: 12px;
	padding-left: 13px;
	margin-bottom: 15px;
}
.cta .box .left .list{
	display: flex;
	justify-content: space-between;
	max-width: 405px;
	width: 100%;
}
.cta .box .left .list li{
	max-width: 197px;
	width: 100%;
	line-height: 43px;
	border: 1px solid #fff;
	color: #FFF;
	border-radius: 23px;
	text-align: center;
	font-size: 16px;
}
.cta .box .right{
	width: 500px;
	padding: 36px 50px 13px 50px;
}
.cta .box .right h3{
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 36px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	margin-bottom: 26px;
}
.cta .box .right .list{
	display: flex;
	justify-content: space-between;
	max-width: 380px;
	width: 100%;
	margin: 0 auto 30px auto;
}
.cta .box .right .list li{
	max-width: 180px;
	width: 100%;
	height: 86px;
	font-size: 15px;
	line-height: 23px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #FFF;
	background: #EF7399;
	border-radius: 50%;
}
.cta .box .right .list.list02 li{
	background: #32B4D5;
}
.cta .box .right h4{
	font-size: 14px;
	text-align: center;
	line-height: 23px;
	margin-bottom: 23px;
}
.cta .box .right .btn{
	/*max-width: 280px;*/
	width: 100%;
	margin: 0 auto;
}
.cta .box .right .btn a{
	display: flex;
	border-radius: 10px;
	height: 120px;
	align-items: center;
	justify-content: center;
	color: #EF7399;
	background: #FFF;
	border: 2px solid #EF7399;
	transition: background 0.2s, color 0.2s;
}
.cta .box .right .btn a:hover{
	color: #fff;
	background: #EF7399;
}
.cta .box .right .btn a .ico{
	max-width: 35px;
	width: 100%;
	margin-right: 30px;
}
.cta .box .right .btn a .ico svg{
	width: 100%;
}
.cta .box .right .btn a .ico svg circle{
	fill: #ef7399;
	transition: fill 0.2s;
}
.cta .box .right .btn a .ico svg path{
	fill: #fff;
	transition: fill 0.2s;
}
.cta .box .right .btn a:hover .ico svg circle{
	fill: #fff;
}
.cta .box .right .btn a:hover .ico svg path{
	fill: #ef7399;
}
.cta .box .right .btn a .txt{
	text-align: center;
}
.cta .box .right .btn a .txt .upr{
	font-size: 26px;
	line-height: 30px;
	font-weight: bold;
}
.cta .box .right .btn a .txt .btm{
	font-size: 15px;
	line-height: 26px;
}
.cta .box .right .btns{
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
}
.cta .box .right .btns li{
	margin-bottom: 20px;
}
.cta .box .right .btns li a{
	width: 100%;
	height: 75px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: #111;
	color: #fff;
	border-radius: 10px;
	opacity: 1;
	transition: opacity 0.2s;
}
.cta .box .right .btns li a:hover{
	opacity: 0.6;
}
.cta .box .right .btns li.line a{
	background: #00B34F;
}
.cta .box .right .btns li.form a{
	background: #32B4D5;
}
.cta .box .right .btns li a .btn{
	display: flex;
	align-items: center;
	justify-content: center;
}
.cta .box .right .btns li a .btn .ico{
	flex-shrink: 0;
	margin-right: 10px;
}
.cta .box .right .btns li a .btn h5{
	flex-shrink: 0;
	font-size: 18px;
	text-align: center;
	max-width: 130px;
	width: 100%;
}
.cta .box .right .btns li a .btn h5 span{
	display: block;
	font-size: 12px;
	line-height: 17px;
	font-weight: 400;
}

/* Instructor
-----------------------------------*/
#instructor{
	padding: 110px 0 210px 0;
	background: #EBDBE0;
}
#instructor h2{
	font-size: 28px;
	margin-bottom: 77px;
	line-height: 30px;
	font-weight: bold;
	text-align: center;
}
#instructor .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#instructor .box{
	padding: 50px 50px 60px 50px;
	background: #FFF;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
#instructor .box .box_upr{
	display: flex;
	border-bottom: 1px solid #ef7399;
	padding-bottom: 50px;
	margin-bottom: 50px;
	justify-content: space-between;
}
#instructor .box .box_upr .image{
	max-width: 300px;
	width: 100%;
}
#instructor .box .box_upr .right{
	max-width: 660px;
	width: 100%;
}
#instructor .box .box_upr .right h3{
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 29px;
	font-weight: bold;
	color: #EF7399;
}
#instructor .box .box_upr .right p{
	font-size: 15px;
	line-height: 26px;
}
#instructor .box .list01{
	display: flex;
	justify-content: space-between;
	margin-bottom: 86px;
}
#instructor .box .list01 li{
	max-width: 480px;
	width: 100%;
}
#instructor .box .list01 li .image,
#instructor .box .list02 li .image{
	margin-bottom: 24px;
}
#instructor .box .list01 li .flex{
	display: flex;
	justify-content: space-between;
}
#instructor .box .list01 li .name h4,
#instructor .box .list02 li .name h4{
	font-family: "游明朝体", "Yu Mincho", YuMincho;
	font-weight: 600;
	font-style: normal;
	font-size: 26px;
	line-height: 26px;
	letter-spacing: 0.06em;
}
#instructor .box .list01 li .name h4 span,
#instructor .box .list02 li .name h4 span{
	font-size: 15px;
	margin-left: 6px;
}
#instructor .box .list01 li .name .en,
#instructor .box .list02 li .name .en{
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: #707070;
	margin-bottom: 6px;
}
#instructor .box .list01 li .name .ico,
#instructor .box .list02 li .name .ico{
	max-width: 55px;
	width: 100%;
}
#instructor .box .list01 li .background{
	max-width: 255px;
	width: 100%;
}
#instructor .box .list01 li .background p,
#instructor .box .list02 li .background p{
	font-size: 12px;
	line-height: 20px;
	padding-left: 1em;
	text-indent: -1em;
}
#instructor .box .list01 li .background p:before,
#instructor .box .list02 li .background p:before{
	content: "・";
}
#instructor .box .list02{
	display: flex;
	justify-content: space-between;
}
#instructor .box .list02 li{
	max-width: 220px;
	width: 100%;
}
#instructor .box .list02 li .name .ico{
	margin-bottom: 20px;
}

/* Curriculum
-----------------------------------*/
#curriculum{
	background: #FFF;
	padding: 110px 0 100px 0;
}
#curriculum .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#curriculum h2{
	text-align: center;
	font-size: 28px;
	line-height: 30px;
	font-weight: bold;
	margin-bottom: 80px;
}
#curriculum .box{
	padding: 60px;
	background: #F2F2F2;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
#curriculum .box h3{
	width: 205px;
	background: #000;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	padding-left: 60px;
	margin-left: -60px;
	line-height: 29px;
	margin-bottom: 20px;
}
#curriculum .box h3:last-of-type{
	margin-bottom: 65px;
}
#curriculum .box h4{
	font-size: 20px;
	font-weight: bold;
	line-height: 26px;
	margin-bottom: 10px;
}
#curriculum .box .txt01{
	font-size: 15px;
	line-height: 26px;
	margin-bottom: 48px;
}
#curriculum .box .list01{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
	position: relative;
	z-index: 1;
}
#curriculum .box .list01:after{
	content: "";
	width: 100%;
	height: 2px;
	background-size: 10px 2px;
	background-image: linear-gradient(to right, #EF7399, #EF7399 6px, transparent 6px, transparent 10px);
	background-repeat: repeat-x;
	position: absolute;
	top: 100px;
	left: 0;
	z-index: -1;
}
#curriculum .box .list01 li{
	max-width: 200px;
	width: 100%;
	position: relative;
}
#curriculum .box .list01 li:after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 0 9px 12px;
	border-color: transparent transparent transparent #EF7399;
	position: absolute;
	top: 92px;
	right: -38px;
}
#curriculum .box .list01 li:last-child:after{
	display: none;
}
#curriculum .box .list01 li .image{
	margin-bottom: 20px;
	border: 2px solid #ef7399;
	border-radius: 50%;
}
#curriculum .box .list01 li h5{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 20px;
	padding-bottom: 18px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ef7399;
}
#curriculum .box .list01 li h5 span{
	display: block;
	font-size: 14px;
	color: #EF7399;
	line-height: 20px;
	margin-bottom: 4px;
}
#curriculum .box .list01 li .txt{
	font-size: 12px;
	line-height: 20px;
}
#curriculum .box .list01 li .txt p:before{
	content: "・";
}
#curriculum .box .list02{
	display: flex;
	justify-content: space-between;
}
#curriculum .box .list02 li{
	max-width: 295px;
	width: 100%;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	overflow: hidden;
	background: #FFF;
}
#curriculum .box .list02 li .txt{
	padding: 26px 30px 25px 30px;
}
#curriculum .box .list02 li .txt h5{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 20px;
	color: #EF7399;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ef7399;
}
#curriculum .box .list02 li .txt p{
	font-size: 12px;
	line-height: 20px;
}

/* Support
-----------------------------------*/
#support{
	background: #F0F0F0;
}
#support .box{
	max-width: 1460px;
	width: 100%;
	margin-left: auto;
	display: flex;
	align-items: center;
}
#support .box .left{
	max-width: 376px;
	width: 100%;
	margin-right: 30px;
	margin-top: 60px;
}
#support .box .left .title{
	margin-bottom: 16px;
	padding-top: 41px;
	position: relative;
}
#support .box .left .title h2{
	font-size: 30px;
	line-height: 44px;
	letter-spacing: 0.1em;
}
#support .box .left .title h2 span{
	width: 200px;
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 13px;
	position: relative;
	display: block;
	z-index: 1;
	letter-spacing: 0;
}
#support .box .left .title h2 span:after{
	content: "";
	position: absolute;
	z-index: -1;
	height: 8px;
	width: 100%;
	background: #F8E644;
	left: 0;
	bottom: 0;
}
#support .box .left .title .ico{
	max-width: 129px;
	width: 100%;
	right: 10px;
	top: 0;
	position: absolute;
}
#support .box .left .txt01{
	font-size: 18px;
	line-height: 30px;
	letter-spacing: -0.03em;
}
#support ul{
	display: flex;
	align-items: center;
}
#support ul li{
	width: 100%;
}
@keyframes ticker{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-100%);
	}
}

/* Scene
-----------------------------------*/
#scene{
	background: #FFF;
	padding: 220px 0 100px 0;
}
#scene .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#scene h2{
	font-size: 28px;
	line-height: 30px;
	margin-bottom: 78px;
	font-weight: bold;
	text-align: center;
}
#scene .box01{
	background: #F2F2F2;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
	overflow: hidden;
	margin-bottom: 200px;
}
#scene .box01 .btm{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 45px 42px 40px 50px;
}
#scene .box01 .btm h3{
	font-size: 24px;
	line-height: 35px;
	font-weight: bold;
	color: #EF7399;
	max-width: 170px;
	width: 100%;
}
#scene .box01 .btm .txt{
	font-size: 15px;
	line-height: 26px;
	max-width: 800px;
	width: 100%;
}
#scene .list01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 20px;
	margin-bottom: 46px;
}
#scene .list01 li{
	max-width: 540px;
	width: 100%;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	overflow: hidden;
	position: relative;
}
#scene .list01 li .location{
	font-size: 24px;
	line-height: 60px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: rgba(239,115,153,0.8);
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
#scene .txt01{
	text-align: center;
	font-size: 24px;
	line-height: 35px;
	font-weight: bold;
	color: #EF7399;
}

/* Voice
-----------------------------------*/
#voice{
	background: #FFF;
	padding: 100px 0;
}
#voice .inner{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
#voice h2{
	font-size: 28px;
	font-weight: bold;
	line-height: 40px;
	margin-bottom: 60px;
	text-align: center;
}
#voice ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 42px 58px;
}
#voice ul li{
	max-width: 470px;
	width: 100%;
	padding: 25px 30px 40px 30px;
	border: 1px solid #bebebe;
	border-radius: 20px;
}
#voice ul li .box{
	background: #EFEFEF;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
	margin-bottom: 22px;
}
#voice ul li .box .ico{
	margin-right: 24px;
}
#voice ul li .box .career{
	font-size: 18px;
	line-height: 25px;
	font-weight: bold;
	max-width: 165px;
	width: 100%;
}
#voice ul li .txt{
	font-size: 16px;
	line-height: 25px;
}

/* FAQ
-----------------------------------*/
#faq{
	background: #FFF;
	padding: 100px 0 160px 0;
}
#faq .inner{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
#faq h2{
	padding-bottom: 8px;
	margin-bottom: 50px;
	border-bottom: 1px solid #707070;
	font-size: 32px;
	line-height: 43px;
}
#faq h3{
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 80px;
	font-weight: bold;
}
#faq .box{
	margin-bottom: 40px;
}
#faq .box h4{
	border: 1px solid #d6d6d6;
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 25px;
	cursor: pointer;
	position: relative;
	padding-right: 50px;
}
#faq .box h4:before,
#faq .box h4:after{
	content: "";
	width: 1px;
	height: 1px;
	position: absolute;
	top: 50%;
	background: #111;
	transform: translateY(-50%);
	opacity: 1;
	transition: opacity 0.2s;
}
#faq .box h4:before{
	width: 14px;
	right: 20px;
}
#faq .box h4:after{
	height: 14px;
	right: 27px;
}
#faq .box h4.active:after{
	opacity: 0;
}
#faq .box h4 span{
	width: 58px;
	aspect-ratio: 1 / 1;
	color: #FFF;
	background: #2C9EC8;
	font-size: 14px;
	font-weight: bold;
	border-right: 1px solid #d6d6d6;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}
#faq .box .answer{
	display: none;
}
#faq .box .bloc{
	margin-left: 60px;
	margin-right: 45px;
	display: flex;
	align-items: flex-start;
	font-size: 13px;
	line-height: 23px;
}
#faq .box .bloc span{
	width: 32px;
	flex-shrink: 0;
	aspect-ratio: 1 / 1;
	border: 1px solid #2c9ec8;
	color: #2C9EC8;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
}
#faq .box .bloc a{
	text-decoration: underline;
}

/* Company
-----------------------------------*/
#company{
	background: #FFF;
	padding: 210px 0 70px 0;
}
#company .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#company h2{
	font-size: 18px;
	line-height: 26px;
	padding-bottom: 10px;
	font-weight: bold;
	border-bottom: 1px solid #707070;
	margin-bottom: 85px;
}
#company .box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 80px;
}
#company .box .image{
	max-width: 360px;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
}
#company .box > table{
	max-width: 675px;
	width: 100%;
}
#company .box table th,
#company .box table td{
	text-align: left;
}
#company .box > table > tbody > tr > th,
#company .box > table > tbody > tr > td{
	padding: 25px 0;
	line-height: 23px;
	position: relative;
	vertical-align: middle;
}
#company .box > table > tbody > tr > th{
	width: 119px;
}
#company .box > table > tbody > tr:first-child > th,
#company .box > table > tbody > tr:first-child > td{
	padding-top: 0;
}
#company .box > table > tbody > tr > th:after,
#company .box > table > tbody > tr > td:after{
	content: "";
	width: 100%;
	height: 1px;
	background-size: 4px 1px;
	background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 4px);
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
}
#company .box > table > tbody > tr > th{
	font-weight: bold;
	font-size: 19px;
}
#company .box > table > tbody > tr > td{
	font-size: 15px;
}
#company .box > table > tbody > tr > td span{
	font-size: 13px;
	padding-left: 17px;
}
#company .box > table > tbody > tr > td .sub th,
#company .box > table > tbody > tr > td .sub td{
	vertical-align: middle;
}
#company .box > table > tbody > tr > td .sub td{
	padding-left: 20px;
}
#company .box > table > tbody > tr:last-child > th,
#company .box > table > tbody > tr:last-child > td{
	vertical-align: top;
	padding-bottom: 0;
	margin-bottom: 0;
}
#company .box > table > tbody > tr:last-child > th:after,
#company .box > table > tbody > tr:last-child > td:after{
	display: none;
}
#company .box > table > tbody > tr:last-child > td{
	position: relative;
}
#company .box > table > tbody > tr:last-child > td .pmark{
	position: absolute;
	bottom: 0;
	right: 0;
	max-width: 124px;
	width: 100%;
}
#company .box > table td h3{
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 7px;
	margin-top: 10px;
}
#company .box > table td .notice{
	font-size: 13px;
}
#company .box > table td h3:first-of-type{
	margin-top: 0;
}
#company .image01{
	margin-bottom: 87px;
}
#company .images ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 135px;
	gap: 20px 25px;
}
#company .images ul:last-child{
	display: none;
}
#company .images ul li{
	max-width: 350px;
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
}
#company h4{
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	letter-spacing: 0.1em;
	line-height: 39px;
	background: #333;
	margin-bottom: 40px;
	text-align: center;
}
#company .txt{
	font-size: 14px;
	line-height: 24px;
	margin-bottom: 48px;
}

/* Contact
-----------------------------------*/
#contact{
	background: #FFF;
	padding: 110px 0 100px 0;
}
#contact h2{
	text-align: center;
	font-size: 28px;
	line-height: 40px;
	font-weight: bold;
	margin-bottom: 60px;
}
#contact .form_container table{
	width: 100%;
}
#contact .form_container table th,
#contact .form_container table td{
	display: block;
	text-align: left;
	font-weight: 500;
}
#contact .form_container table th{
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 5px;
}
#contact .form_container table th .mus{
	background: #2C9EC8;
	color: #FFF;
	padding: 0 3px;
	font-size: 13px;
	line-height: 16px;
	margin-left: 10px;
	padding: 0 10px;
}
#contact .form_container table td{
	margin-bottom: 25px;
}
#contact .form_container table td input,
#contact .form_container table td select{
	width: 100%;
	padding: 10px;
	font-size: 14px;
	font-weight: 500;
	line-height: 24px;
	border-radius: 5px;
	border: 1px solid #ccc;
}
#contact .form_container table td select{
	color: #C1C1C1;
	background: #FFF;
}
#contact .form_container .notice01{
	font-size: 12px;
	margin-bottom: 10px;
}
#contact .form_container .notice01 a{
	text-decoration: underline;
}
#contact .form_container .privacy{
	margin-bottom: 30px;
}
#contact .form_container .privacy input{
	margin: 0;
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
#contact .form_container .confirm_button,
#contact .form_container .real_submit_button{
	appearance: none;
	padding: 18px 20px;
	background: #EF7399;
	color: #fff;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	font-size: 26px;
	font-weight: bold;
	max-width: 377px;
	width: 100%;
	margin: 0 auto;
	display: block;
	border: 2px solid #EF7399;
	transition: background 0.2s, color 0.2s;
}
#contact .form_container .confirm_button:hover,
#contact .form_container .real_submit_button:hover{
	background: #FFF;
	color: #EF7399;
}
#contact .form_container .real_submit_button{
	margin-bottom: 30px;
}
#contact .form_container .back_button{
	appearance: none;
	padding: 15px 15px;
	background: #111;
	color: #fff;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	font-size: 18px;
	font-weight: bold;
	max-width: 260px;
	margin: 0 auto;
	display: block;
	border: 2px solid #111;
	transition: background 0.2s, color 0.2s;
	width: 100%;
}
#contact .form_container .back_button:hover{
	background: #FFF;
	color: #111;
}
#contact .form_container .confirm_area .conf_span{
	display: block;
	padding: 10px;
	font-size: 14px;
	font-weight: 500;
	line-height: 24px;
	border-radius: 5px;
	background: #ececec;
}
#contact .form_container .form_area,
#contact .form_container .confirm_area{
	max-width: 860px;
	padding: 80px 120px;
	background: #fff;
	border-radius: 10px;
	margin: 0 auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
#contact .form_container .confirm_area{
	display: none;
}
#contact .form_container .select_validation .wpcf7-not-valid-tip,
#contact .form_container .privacy .wpcf7-not-valid-tip{
	display: none;
}
#contact .form_container .wpcf7-not-valid-tip{
	color: #dc3232;
	font-weight: normal;
	font-size: 10px;
}
#contact .form_container .select_validation .error,
#contact .form_container .privacy .error{
	display: none;
	color: #dc3232;
	font-weight: normal;
	font-size: 10px;
}
#contact .form_container .privacy .wpcf7-form-control-wrap{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#contact .form_container .privacy .wpcf7-list-item{
	margin: 0;
}
#contact .form_container .select_validation:has(.wpcf7-not-valid-tip) .error,
#contact .form_container .privacy:has(.wpcf7-not-valid-tip) .error{
	display: block;
}
#contact .form_container .select_validation .wpcf7-not-valid-tip,
#contact .form_container .privacy .wpcf7-not-valid-tip{
	text-align: center;
}
#contact .form_container .wpcf7-spinner{
	display: none;
}
.wpcf7 form .wpcf7-response-output{
	display: none !important;
}

/* Thanks
-----------------------------------*/
#thanks{
	padding: 280px 0 100px 0;
}
#thanks .inner{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}
#thanks h2{
	text-align: center;
	font-size: 28px;
	line-height: 30px;
	font-weight: bold;
	margin-bottom: 80px;
}

/* Footer
-----------------------------------*/
footer{
	position: relative;
	z-index: 1;
	padding: 90px 0 0 0;
	background: #E8E8E8;
}
footer .inner{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
footer h2{
	padding-bottom: 16px;
	margin-bottom: 12px;
	border-bottom: 1px solid #707070;
}
footer h2 a{
	display: flex;
	align-items: center;
	color: #000;
}
footer h2 a img{
	max-width: 145px;
	display: block;
	width: 100%;
}
footer h2 a span{
	font-size: 13px;
	font-weight: 400;
	margin-left: 18px;
	display: block;
	font-family: "din-2014", sans-serif;
	font-weight: 400;
}
footer ul{
	margin-bottom: 54px;
}
footer ul li{
	font-size: 10px;
	line-height: 20px;
}
footer ul li a:before{
	content: "＞";
	margin-right: 5px;
}
footer .copyright{
	font-size: 10px;
	color: #FFF;
	background: #000;
	line-height: 55px;
	text-align: center;
}

/* Fixed Nav
-----------------------------------*/
#nav_fixed{
	position: fixed;
	z-index: 9998;
	bottom: 60px;
	right: 30px;
}
#nav_fixed ul li{
	margin-bottom: 20px;
}
#nav_fixed ul li:last-child{
	margin-bottom: 0;
}
#nav_fixed ul li a{
	transition: opacity 0.2s;
	opacity: 1;
}
#nav_fixed ul li a:hover{
	opacity: 0.6;
}
#nav_fixed ul li .ico{
	background: #FFF;
	width: 82px;
	height: 82px;
	margin: 0 auto;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: 5px;
	text-align: center;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
}
#nav_fixed ul li.entry{
	display: none;
}
#nav_fixed ul li .txt{
	text-align: center;
	font-size: 14px;
	line-height: 20px;
}


@media screen and (max-width: 1500px) {
	header .logos a span{
		display: none;
	}
}

@media screen and (max-width: 1400px) {
	header{
		padding: 0 30px;
	}
	header nav ul li{
		margin-right: 20px;
	}
	header nav ul li a{
		display: block;
		text-align: center;
		font-weight: bold;
		font-size: 14px;
		line-height: 18px;
	}
	header nav .btn{
		margin-left: 20px;
	}
}



@media screen and (max-width: 1800px) {
	/* Mainvisual
	-----------------------------------*/
	#mainvisual .box .bnr{
		margin-left: 45px;
		margin-right: auto;
		margin-bottom: 163px;
	}
}

@media screen and (max-width: 1024px) {
	/* Common
	-----------------------------------*/
	img{
		width: 100%;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	#top{
		padding-top: 0;
		background: #FFF;
		padding-bottom: 16vw;
		position: relative;
	}
	#top.active:after{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .48);
		z-index: 9990;
	}

	/* Header
	-----------------------------------*/
	header{
		height: 13.3333vw;
		padding: 0 0 0 4vw;
	}
	header .logos a{
		padding-bottom: 0;
	}
	header .logos a img{
		max-width: 25.3333vw;
	}
	header .logos a span{
		display: block;
		font-size: 2.1333vw;
		margin-left: 3.2vw;
		line-height: 1;
		white-space: nowrap;
	}
	header #switch{
		display: block;
	}
	header #switch{
		margin-left: auto;
		display: block;
		width: 13.3333vw;
		height: 13.3333vw;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: #000;
		position: relative;
		transition: background 0.2s;
	}
	header #switch span{
		width: 2.6667vw;
		height: 1px;
		margin-bottom: 0.8vw;
		background: #FFF;
		transition: transform 0.2s;
	}
	header #switch span:nth-child(3){
		margin-bottom: 0;
	}
	header #switch.active{
		background: #000;
	}
	header #switch.active span{
		margin-bottom: 0;
		width: 4vw;
	}
	header #switch.active span:nth-child(1){
		transform: rotate(45deg);
	}
	header #switch.active span:nth-child(2){
		display: none;
	}
	header #switch.active span:nth-child(3){
		margin-top: -1px;
		transform: rotate(-45deg);
	}
	header nav{
		display: block;
		position: absolute;
		top: 100%;
		right: -100%;
		max-width: 100%;
		width: 100%;
		padding: 8vw 8vw 16vw 8vw;
		transition: right 0.2s;
		background: rgba(255,255,255,0.86);
	}
	header nav.active{
		right: 0;
	}
	header nav ul{
		display: block;
	}
	header nav ul li{
		margin-right: 0;
		margin-bottom: 4vw;
	}
	header nav ul li:last-child{
		margin-bottom: 0;
	}
	header nav ul li a{
		text-align: left;
		font-size: 4.2667vw;
		line-height: 6.4vw;
	}
	header nav ul li a span{
		font-size: 2.6667vw;
		line-height: 3.4667vw;
		margin-top: 1.3333vw;
	}
	header nav .btn{
		margin: 8vw auto 0 auto;
	}
	header nav .btn a{
		padding: 0 5.3333vw;
		border-radius: 13.3333vw;
		gap: 2.6667vw;
		border: 0.5333vw solid #EF7399;
		line-height: 12vw;
	}
	header nav .btn .ico{
		max-width: 5.3333vw;
		width: 100%;
	}
	header nav .btn .ico svg{
		width: 100%;
		overflow: visible;
	}

	/* Mainvisual
	-----------------------------------*/
	#mainvisual{
		background-image: url(../images/bg_mainvisual_sp.jpg);
		background-position: center top;
		background-size: contain;
		background: none;
		min-width: auto;
		padding-top: 121.0667vw;
		z-index: 1;
		position: relative;
	}
	#mainvisual:after{
		background-image: url(../images/bg_mainvisual_sp.jpg);
		background-position: center bottom;
		background-size: cover;
		position: absolute;
		position: fixed;
		height: 121.0667vw;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
	}
	#mainvisual .box{
		padding: 6.6667vw 5.3333vw 0 5.3333vw;
		width: 100%;
		height: auto;
		display: block;
		position: relative;
		z-index: 1;
		background: #FFF;
	}
	#mainvisual .box:after{
		content: "";
		width: 100%;
		height: 5.3333vw;
		top: calc(-5.3333vw + 1px);
		left: 0;
		background-image: url(../images/bg_content_sp.svg);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: contain;
		position: absolute;
		z-index: -1;
	}
	#mainvisual .box .left{
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
	}
	#mainvisual .box .left h1{
		color: #EF7399;
		font-size: 6.6667vw;
		line-height: 8vw;
		margin-left: 1.3333vw;
		margin-bottom: 1.0667vw;
		letter-spacing: 0.03em;
		order: 1;
	}
	#mainvisual .box .left h1 .ico{
		left: 35.7333vw;
		top: -0.8vw;
		max-width: 14.4vw;
		width: 100%;
	}
	#mainvisual .box .left .txt01{
		margin-bottom: 0;
		order: 3;
	}
	#mainvisual .box .left .txt01 ul{
		max-width: 100%;
		margin-bottom: 0.8vw;
	}
	#mainvisual .box .left .txt01 ul li{
		max-width: 28.8vw;
		aspect-ratio: auto;
		background: none;
		border: 1px solid #ef7399;
		border-radius: 1.3333vw;
		font-size: 3.4667vw;
		line-height: 4vw;
		height: 16.5333vw;
		margin-left: 0;
	}
	#mainvisual .box .left .txt01 ul li:first-child{
		font-size: 3.4667vw;
	}
	#mainvisual .box .left .txt01 ul li:first-child span{
		font-size: 2.1333vw;
	}
	#mainvisual .box .left .txt01 .notice{
		color: #EF7399;
		font-size: 2.1333vw;
		line-height: 4vw;
		padding-left: 0;
	}
	#mainvisual .box .left .txt02{
		color: #EF7399;
		order: 2;
		margin-left: 1.3333vw;
		font-size: 3.2vw;
		line-height: 4.5333vw;
		margin-bottom: 4.8vw;
		letter-spacing: 0.03em;
		transform: rotate(0);
	}
	#mainvisual .box .left .txt02 span{
		padding-bottom: 1.3333vw;
	}
	#mainvisual .box .left .txt02 span:after{
		height: 2.4vw;
		background: #D5FF29;
	}
	#mainvisual .box .left .txt02 span:nth-of-type(1):after{
		left: 0;
		width: 100%;
	}
	#mainvisual .box .left .txt02 span:nth-of-type(2):after{
		left: 0;
	}
	#mainvisual .box .bnr{
		max-width: 37.3333vw;
		position: absolute;
		left: 59.2vw;
		top: -25.6vw;
		width: 100%;
		margin: 0;
	}

	/* Content
	-----------------------------------*/
	#content{
		background: #FFF;
		margin-top: 0;
		padding-top: 0;
	}
	#content .scroll{
		display: none;
	}
	#content:before{
		display: none;
	}

	/* About
	-----------------------------------*/
	#about{
		padding-top: 9.3333vw;
		padding-bottom: 29.3333vw;
	}
	#about .inner{
		max-width: 100%;
		padding: 0 5.3333vw;
	}
	#about .txt_sp{
		display: flex;
		flex-direction: column;
	}
	#about h2{
		order: 2;
		font-size: 6.4vw;
		line-height: 10.1333vw;
		margin-bottom: 9.8667vw;
	}
	#about .txt01{
		order: 1;
		max-width: 100%;
		margin-bottom: 9.0667vw;
		font-size: 4.8vw;
		border-radius: 3.4667vw;
		line-height: 6.9333vw;
		height: 26.6667vw;
	}
	#about .txt01 span:nth-child(1){
		margin-bottom: 2.1333vw;
	}
	#about .image01{
		display: none;
	}
	#about .txt02{
		/*font-size: 3.2vw;*/
		text-align: left;
		font-size: 3.1733vw;
		line-height: 6.4vw;
		margin-bottom: 26.6667vw;
	}
	#about .box{
		margin-bottom: 16vw;
	}
	#about .box h3{
		font-size: 5.3333vw;
		line-height: 10.6667vw;
		text-align: center;
		background: #EBEBEB;
		margin-bottom: 7.2vw;
	}
	#about .box ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 2.9333vw 0;
		margin-bottom: 14.6667vw;
	}
	#about .box ul li{
		max-width: 42.5vw;
		width: 100%;
		height: 21.3333vw;
		border-radius: 11.2vw;
		font-size: 3.7333vw;
		line-height: 5.8667vw;
		color: #EF7399;
		display: flex;
		flex-direction: column;
		text-align: center;
		justify-content: center;
		align-items: center;
		border: 1px solid #ef7399;
		letter-spacing: 0.06em;
	}
	#about .comparison{
		max-width: 100%;
		display: block;
	}
	#about .comparison:before,
	#about .comparison:after{
		width: 6.6667vw;
		height: 6.9333vw;
		transform: translate(-50%, -50%) rotate(90deg);
	}
	#about .comparison:before{
		margin-left: 0;
		margin-top: 1.3333vw;
	}
	#about .comparison:after{
		margin-left: 0;
		margin-top: -1.3333vw;
	}
	#about .comparison .box01{
		max-width: 100%;
		border-radius: 5.3333vw;
		margin-bottom: 22.4vw;
	}
	#about .comparison .box02{
		max-width: 100%;
		border-radius: 5.3333vw;
	}
	#about .comparison h3{
		padding: 0 2.6667vw;
		font-size: 4.8vw;
		line-height: 13.3333vw;
	}
	#about .comparison ul{
		padding: 5.3333vw;
	}
	#about .comparison ul li{
		font-size: 4.2667vw;
		line-height: 6.4vw;
		padding-bottom: 5.3333vw;
		margin-bottom: 5.3333vw;
	}

	/* Career
	-----------------------------------*/
	#career{
		padding: 16vw 0 24vw 0;
	}
	#career .inner{
		max-width: 100%;
		padding: 0 5.3333vw;
	}
	#career h2{
		font-size: 6.4vw;
		line-height: 7.7333vw;
		padding-bottom: 5.3333vw;
		margin-bottom: 5.3333vw;
	}
	#career .txt01{
		font-size: 3.2vw;
		line-height: 5.3333vw;
		margin-bottom: 7.4667vw;
	}
	#career .txt01 span{
		letter-spacing: -0.04em;
	}
	#career ul{
		padding: 0 5.3333vw;
		max-width: 100%;
		border-top: none;
	}
	#career ul:before{
		width: 52vw;
		height: 128vw;
		top: 5.8667vw;
		left: 50%;
		transform: translateX(-50%);
	}
	#career ul li{
		padding: 0;
		margin-bottom: 8vw;
		display: block;
		border-bottom: none;
	}
	#career ul li:last-child{
		padding: 0;
		margin-bottom: 0;
	}
	#career ul li .tit{
		border: 1px solid #f56e38;
		border-radius: 2.6667vw;
		overflow: hidden;
		background: #FFF;
		justify-content: space-between;
		margin-bottom: 5.3333vw;
	}
	#career ul li:last-child .tit{
		border-color: #FD4645;
	}
	#career ul li .tit .num{
		font-size: 3.2vw;
		width: 100%;
		max-width: 12.8vw;
		line-height: 4.5333vw;
		margin-right: 0;
	}
	#career ul li:last-child .tit .num{
		color: #FD4645;
	}
	#career ul li .tit .num span{
		margin-top: 0;
		font-size: 5.3333vw;
		line-height: 5.3333vw;
	}
	#career ul li .tit h3{
		width: 65.3333vw;
		font-size: 4.2667vw;
		line-height: 6.4vw;
		padding: 3.4667vw 15.4667vw 3.4667vw 2.6667vw;
		border-radius: 0;
	}
	#career ul li .txt{
		max-width: 100%;
		font-size: 2.6667vw;
		line-height: 5.3333vw;
	}
	#career ul li h4{
		width: 65.3333vw;
		font-size: 4.2667vw;
		line-height: 6.4vw;
		padding: 3.4667vw 15.4667vw 3.4667vw 2.6667vw;
		border-radius: 0;
		background: #FD4645;
		color: #FFF;
	}

	/* Road Map
	-----------------------------------*/
	#road-map{
		padding: 21.3333vw 0 26.6667vw 0;
	}
	#road-map .inner{
		max-width: 100%;
	}
	#road-map .box01_sp{
		padding: 0 5.3333vw;
	}
	#road-map h2{
		font-size: 6.4vw;
		line-height: 7.7333vw;
		padding-bottom: 5.3333vw;
		margin-bottom: 5.3333vw;
	}
	#road-map .txt01{
		font-size: 3.2vw;
		line-height: 5.3333vw;
		margin-bottom: 7.4667vw;
		margin-bottom: 20.8vw;
	}
	#road-map .image01{
		overflow-x: auto;
		margin-left: 10.6667vw;
		margin-bottom: 25.3333vw;
		padding-bottom: 4vw;
	}
	#road-map .image01 p{
		width: 100%;
	}
	#road-map .image01 p img{
		/*width: 262.9333vw;*/
		width: 153.8462vw;
		max-width: none;
	}
	#road-map .box{
		padding: 21.3333vw 5.3333vw 5.3333vw 5.3333vw;
		border-top-left-radius: 8vw;
		border-top-right-radius: 8vw;
	}
	#road-map .box.box01{
		margin-bottom: 29.3333vw;
		padding-bottom: 13.3333vw;
	}
	#road-map .box.box02{
		padding-top: 21.3333vw;
	}
	#road-map .box h3{
		top: -13.3333vw;
		width: 26.6667vw;
		font-size: 6.4vw;
	}
	#road-map .box h4{
		text-align: center;
		width: 100%;
		font-size: 4.8vw;
		line-height: 7.7333vw;
		margin-bottom: 5.3333vw;
		padding-left: 0;
		margin-left: 0;
	}
	#road-map .box h5{
		font-size: 4.2667vw;
		line-height: 6.9333vw;
		margin-bottom: 5.3333vw;
		padding-left: 0;
	}
	#road-map .box .txt02{
		font-size: 2.6667vw;
		line-height: 5.3333vw;
		letter-spacing: -0.03em;
		margin-bottom: 5.3333vw;
		padding-left: 0;
	}
	#road-map .box .image02{
		margin-top: 0;
	}
	#road-map .box ul{
		display: block;
	}
	#road-map .box ul li{
		max-width: 78.6667vw;
		padding: 5.3333vw 4.5333vw 5.3333vw 1.3333vw;
		border-radius: 3.2vw;
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 45.3333vw;
		margin-bottom: 5.3333vw;
	}
	#road-map .box ul li:last-child{
		margin-bottom: 0;
	}
	#road-map .box ul li .ico{
		max-width: 29.3333vw;
		width: 100%;
		flex-shrink: 0;
		margin-bottom: 0;
	}
	#road-map .box ul li .bloc_sp{
		max-width: 37.3333vw;
		width: 100%;
	}
	#road-map .box ul li h6{
		font-size: 3.7333vw;
		line-height: 3.7333vw;
		padding-bottom: 1.3333vw;
		margin-bottom: 2.1333vw;
	}
	#road-map .box ul li table{
		border-spacing: 0 1.0667vw;
		margin-bottom: 1.3333vw;
		line-height: 3.4667vw;
	}
	#road-map .box ul li table th{
		width: 17.3333vw;
		font-size: 2.4vw;
	}
	#road-map .box ul li table td{
		font-size: 2.1333vw;
		padding-left: 4vw;
	}
	#road-map .box ul li table td span{
		font-size: 2.6667vw;
	}
	#road-map .box ul li .p01{
		font-size: 2.4vw;
		line-height: 3.2vw;
		margin-bottom: 1.3333vw;
	}
	#road-map .box ul li .notice{
		font-size: 2.4vw;
		line-height: 3.2vw;
	}
	#road-map .box ul li .p02{
		font-size: 4.8vw;
		line-height: 6.9333vw;
		margin-top: 0;
		margin-bottom: 1.8667vw;
	}

	/* CTA
	-----------------------------------*/
	.cta{
		background: none;
		height: auto;
		display: block;
	}
	.cta .box{
		max-width: 100%;
		display: block;
	}
	.cta .box .left{
		width: auto;
		padding: 10.6667vw 5.3333vw;
	}
	.cta .box .left h2{
		font-size: 6.6667vw;
		line-height: 8vw;
		margin-left: 1.3333vw;
		margin-bottom: 4vw;
		letter-spacing: 0.03em;
	}
	.cta .box .left h2 .ico{
		left: 35.7333vw;
		top: -0.8vw;
		max-width: 14.4vw;
		width: 100%;
	}
	.cta .box .left .txt ul{
		max-width: 100%;
		margin-bottom: 1.3333vw;
	}
	.cta .box .left .txt ul li{
		color: #FFF;
		max-width: 28vw;
		aspect-ratio: auto;
		background: none;
		border: 1px solid #fff;
		border-radius: 1.3333vw;
		font-size: 3.4667vw;
		line-height: 4vw;
		height: 16.5333vw;
		margin-left: 0;
	}
	.cta .box .left .txt ul li:first-child{
		font-size: 3.4667vw;
	}
	.cta .box .left .txt ul li:first-child span{
		font-size: 2.1333vw;
	}
	.cta .box .left .txt .notice{
		font-size: 2.1333vw;
		line-height: 4vw;
		padding-left: 0;
	}
	.cta .box .left .list{
		max-width: 117.3333vw;
	}
	.cta .box .left .list li{
		max-width: 44vw;
		line-height: 10.6667vw;
		border-radius: 6.1333vw;
		font-size: 4vw;
	}
	.cta .box .right{
		width: 100%;
		padding: 10.6667vw 5.3333vw;
	}
	.cta .box .right h3{
		font-size: 3.7333vw;
		line-height: 9.6vw;
		margin-bottom: 6.9333vw;
	}
	.cta .box .right .list{
		max-width: 100%;
		margin: 0 auto 8vw auto;
	}
	.cta .box .right .list li{
		max-width: 44vw;
		height: 22.6667vw;
		font-size: 3.7333vw;
		line-height: 5.8667vw;
	}
	.cta .box .right h4{
		font-size: 3.7333vw;
		line-height: 6.1333vw;
		margin-bottom: 5.3333vw;
	}
	.cta .box .right .btn{
		max-width: 74.6667vw;
	}
	.cta .box .right .btn a{
		border-radius: 2.6667vw;
		height: 26.6667vw;
		border: 0.5333vw solid #EF7399;
	}
	.cta .box .right .btn a .ico{
		max-width: 8vw;
		margin-right: 5.3333vw;
	}
	.cta .box .right .btn a .txt .upr{
		font-size: 5.8667vw;
		line-height: 6.9333vw;
	}
	.cta .box .right .btn a .txt .btm{
		font-size: 3.2vw;
		line-height: 5.8667vw;
	}
	.cta .box .right .btns{
		max-width: 74.6667vw;
	}
	.cta .box .right .btns li{
		margin-bottom: 5.3333vw;
	}
	.cta .box .right .btns li a{
		height: 20vw;
	}
	.cta .box .right .btns li a .btn .ico{
		max-width: 12.8vw;
		width: 100%;
		margin-right: 2.6667vw;
	}
	.cta .box .right .btns li a .btn h5{
		font-size: 4.8vw;
		max-width: 34.6667vw;
	}
	.cta .box .right .btns li a .btn h5 span{
		font-size: 3.2vw;
		line-height: 4.5333vw;
	}

	/* Instructor
	-----------------------------------*/
	#instructor{
		padding: 12vw 0 13.3333vw 0;
	}
	#instructor h2{
		font-size: 6.4vw;
		line-height: 9.3333vw;
		margin-bottom: 14.6667vw;
	}
	#instructor .inner{
		max-width: 100%;
	}
	#instructor .box{
		padding: 0;
		background: none;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
	#instructor .box .box_upr{
		border-bottom: none;
		padding: 0 5.3333vw;
		margin-bottom: 10.1333vw;
		display: block;
	}
	#instructor .box .box_upr .image{
		max-width: 73.3333vw;
		margin: 0 auto 10.6667vw auto;
	}
	#instructor .box .box_upr .right{
		max-width: 100%;
	}
	#instructor .box .box_upr .right h3{
		font-size: 4.8vw;
		line-height: 6.4vw;
		margin-bottom: 6.4vw;
		text-align: center;
		letter-spacing: -0.02em;
	}
	#instructor .box .box_upr .right p{
		font-size: 3.7333vw;
		line-height: 6.4vw;
		letter-spacing: -0.02em;
	}
	#instructor .box .list01{
		display: block;
		margin-bottom: 2.6667vw;
	}
	#instructor .box .list01 li{
		padding: 9.3333vw;
		max-width: 100%;
		background: #FFF;
	}
	#instructor .box .list01 li:first-child{
		border-top-left-radius: 8vw;
		border-top-right-radius: 8vw;
		margin-bottom: 2.6667vw;
	}
	#instructor .box .list01 li .image,
	#instructor .box .list02 li .image{
		margin-bottom: 5.3333vw;
	}
	#instructor .box .list01 li .flex{
		display: block;
	}
	#instructor .box .list01 li .name h4,
	#instructor .box .list02 li .name h4{
		font-size: 6.9333vw;
		line-height: 8.8vw;
	}
	#instructor .box .list01 li .name h4 span,
	#instructor .box .list02 li .name h4 span{
		font-size: 4vw;
		margin-left: 1.6vw;
	}
	#instructor .box .list01 li .name .en,
	#instructor .box .list02 li .name .en{
		font-size: 4.2667vw;
		line-height: 6.4vw;
		margin-bottom: 1.6vw;
	}
	#instructor .box .list01 li .name .ico,
	#instructor .box .list02 li .name .ico{
		max-width: 14.6667vw;
		margin-bottom: 5.3333vw;
	}
	#instructor .box .list01 li .background{
		max-width: 100%;
	}
	#instructor .box .list01 li .background p,
	#instructor .box .list02 li .background p{
		font-size: 3.7333vw;
		line-height: 5.3333vw;
	}
	#instructor .box .list02{
		display: block;
		padding: 9.3333vw 0;
		background: #FFF;
		border-bottom-left-radius: 8vw;
		border-bottom-right-radius: 8vw;
	}
	#instructor .box .list02 li{
		max-width: 58.6667vw;
		/*margin: 0 9.3333vw;*/
		margin: 0;
	}
	#instructor .box .list02 li .name .ico{
		max-width: 14.6667vw;
		margin-bottom: 5.3333vw;
	}
	#instructor .box .list02 li .background p{
		font-size: 3.2vw;
	}

	/* Curriculum
	-----------------------------------*/
	#curriculum{
		padding: 12.5333vw 0 18.6667vw 0;
		background: #F2F2F2;
	}
	#curriculum .inner{
		max-width: 100%;
	}
	#curriculum h2{
		font-size: 6.4vw;
		line-height: 9.3333vw;
		margin-bottom: 9.3333vw;
	}
	#curriculum .box{
		background: none;
		padding: 0;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
	#curriculum .box .box01_sp{
		padding: 0 10.6667vw;
	}
	#curriculum .box h3{
		text-align: center;
		width: 100%;
		margin-bottom: 5.3333vw;
		font-size: 4.8vw;
		line-height: 7.7333vw;
		padding-left: 0;
		margin-left: 0;
	}
	#curriculum .box h3:last-of-type{
		margin-bottom: 13.3333vw;
	}
	#curriculum .box h4{
		font-size: 4.2667vw;
		line-height: 5.3333vw;
		margin-bottom: 5.3333vw;
	}
	#curriculum .box .txt01{
		font-size: 2.6667vw;
		line-height: 5.3333vw;
		margin-bottom: 10.6667vw;
	}
	#curriculum .box .list01{
		display: block;
		margin-bottom: 26.6667vw;
	}
	#curriculum .box .list01:after{
		width: 2px;
		height: 100%;
		background-size: 2px 10px;
		background-image: linear-gradient(to bottom, #EF7399, #EF7399 6px, transparent 6px, transparent 10px);
		background-repeat: repeat-y;
		top: 0;
		left: 15.7333vw;
	}
	#curriculum .box .list01 li{
		display: flex;
		justify-content: space-between;
		max-width: 100%;
		margin-bottom: 18.1333vw;
	}
	#curriculum .box .list01 li:last-child{
		margin-bottom: 0;
	}
	#curriculum .box .list01 li:after{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 3.2vw 2.4vw 0 2.4vw;
		border-color: #EF7399 transparent transparent transparent;e: solid;
		top: 39.4667vw;
		right: auto;
		left: 13.6vw;
	}
	#curriculum .box .list01 li .image{
		margin-bottom: 0;
		max-width: 32vw;
		width: 100%;
		border: 2px solid #ef7399;
		background: #F2F2F2;
	}
	#curriculum .box .list01 li .bloc_sp{
		max-width: 42.6667vw;
		width: 100%;
	}
	#curriculum .box .list01 li h5{
		font-size: 3.7333vw;
		line-height: 5.3333vw;
		padding-bottom: 1.3333vw;
		margin-bottom: 3.4667vw;
	}
	#curriculum .box .list01 li h5 span{
		font-size: 3.2vw;
		line-height: 5.3333vw;
		margin-bottom: 0;
	}
	#curriculum .box .list01 li .txt{
		font-size: 2.6667vw;
		line-height: 3.7333vw;
	}
	#curriculum .box .list02 li{
		max-width: 78.6667vw;
		border-top-left-radius: 2.6667vw;
		border-top-right-radius: 2.6667vw;
	}
	#curriculum .box .list02 li .txt{
		padding: 6.9333vw 8vw 6.6667vw 8vw;
	}
	#curriculum .box .list02 li .txt h5{
		font-size: 4.8vw;
		line-height: 5.3333vw;
		padding-bottom: 5.3333vw;
		margin-bottom: 5.3333vw;
	}
	#curriculum .box .list02 li .txt p{
		font-size: 3.2vw;
		line-height: 5.3333vw;
	}

	/* Support
	-----------------------------------*/
	#support .box{
		max-width: 100%;
		flex-direction: column;
	}
	#support .box .left{
		order: 2;
		max-width: 100%;
		margin-right: 0;
		padding: 19.4667vw 5.3333vw 24vw 5.3333vw;
		margin-top: 0;
	}
	#support .box .left .title{
		text-align: center;
		margin-bottom: 4.2667vw;
		padding-top: 0;
	}
	#support .box .left .title h2{
		font-size: 8vw;
		line-height: 11.7333vw;
		letter-spacing: 0.1em;
	}
	#support .box .left .title h2 span{
		display: none;
	}
	#support .box .left .txt01{
		text-align: center;
		font-size: 4.8vw;
		line-height: 8vw;
		letter-spacing: 0;
		margin-bottom: 12vw;
	}
	#support .box .left .ico{
		max-width: 49.6vw;
		width: 100%;
		margin: 0 auto;
	}
	#support .box .image{
		order: 1;
	}
	#support .slides{
		display: flex;
		overflow: hidden;
	}
	#support ul{
		width: 512vw;
		animation: ticker 30s linear infinite;
	}
	#support ul li{
		width: 85.3333vw;
	}

	/* Scene
	-----------------------------------*/
	#scene{
		padding: 12.5333vw 0 13.3333vw 0;
	}
	#scene .inner{
		max-width: 100%;
		padding: 0 10.6667vw;
	}
	#scene h2{
		font-size: 6.4vw;
		line-height: 6.6667vw;
		margin-bottom: 9.3333vw;
	}
	#scene .box01{
		background: none;
		border-top-left-radius: 5.3333vw;
		border-top-right-radius: 5.3333vw;
		margin-bottom: 26.6667vw;
	}
	#scene .box01 .btm{
		display: block;
		padding: 5.3333vw 0 0 0;
	}
	#scene .box01 .btm h3{
		font-size: 4.8vw;
		line-height: 5.3333vw;
		text-align: center;
		max-width: 100%;
		margin-bottom: 5.3333vw;
	}
	#scene .box01 .btm .txt{
		font-size: 3.7333vw;
		line-height: 6.9333vw;
		max-width: 100%;
	}
	#scene .list01{
		display: block;
		margin-bottom: 4.8vw;
	}
	#scene .list01 li{
		max-width: 100%;
		border-top-left-radius: 5.3333vw;
		border-top-right-radius: 5.3333vw;
		margin-bottom: 4.8vw;
	}
	#scene .list01 li:last-child{
		margin-bottom: 0;
	}
	#scene .list01 li .location{
		/*font-size: 3.2vw;
		line-height: 5.3333vw;*/
		font-size: 4.2667vw;
		line-height: 8.5333vw;
	}
	#scene .txt01{
		font-size: 4.8vw;
		line-height: 5.3333vw;
	}

	/* Voice
	-----------------------------------*/
	#voice{
		padding: 13.3333vw 0 11.4667vw 0;
	}
	#voice .inner{
		max-width: 100%;
	}
	#voice h2{
		font-size: 6.4vw;
		line-height: 8vw;
		margin-bottom: 10.6667vw;
	}
	#voice ul{
		gap: 0;
	}
	#voice ul li{
		max-width: 92vw;
		padding: 5.3333vw 5.3333vw 6.4vw 5.3333vw;
		border-radius: 3.2vw;
	}
	#voice ul li .box{
		border-radius: 2.4vw;
		height: 37.3333vw;
		margin-bottom: 3.2vw;
	}
	#voice ul li .box .ico{
		margin-right: 2.5641vw;
	}
	#voice ul li .box .career{
		font-size: 4.8vw;
		line-height: 6.6667vw;
		max-width: 44.8718vw;
	}
	#voice ul li .txt{
		font-size: 4.2667vw;
		line-height: 6.6667vw;
	}

	/* FAQ
	-----------------------------------*/
	#faq{
		padding: 11.4667vw 0 12.5333vw 0;
	}
	#faq .inner{
		max-width: 100%;
		padding: 0 5.3333vw;
	}
	#faq h2{
		padding-bottom: 2.1333vw;
		margin-bottom: 13.3333vw;
		font-size: 8.5333vw;
		line-height: 6.4vw;
	}
	#faq h3{
		font-size: 4.2667vw;
		line-height: 6.4vw;
		margin-bottom: 21.3333vw;
	}
	#faq .box{
		margin-bottom: 9.0667vw;
	}
	#faq .box h4{
		font-size: 3.7333vw;
		margin-bottom: 5.3333vw;
		padding-right: 9.3333vw;
	}
	#faq .box h4:before{
		width: 3.4667vw;
		right: 3.4667vw;
	}
	#faq .box h4:after{
		height: 3.4667vw;
		right: 5.0667vw;
	}
	#faq .box h4 span{
		width: 8.8vw;
		aspect-ratio: auto;
		height: 16vw;
		font-size: 3.7333vw;
		margin-right: 2.4vw;
	}
	#faq .box .bloc{
		margin-left: 0;
		margin-right: 0;
		display: block;
		font-size: 3.4667vw;
		line-height: 6.1333vw;
	}
	#faq .box .bloc span{
		width: 8.5333vw;
		font-size: 3.7333vw;
		margin-right: 0;
		margin-bottom: 2.6667vw;
	}

	/* Company
	-----------------------------------*/
	#company{
		border-top: 1px solid #EF7399;
		padding: 12vw 0 0 0;
	}
	#company .inner{
		max-width: 100%;
	}
	#company .bloc_sp{
		padding: 0 5.3333vw;
	}
	#company h2{
		font-size: 4.8vw;
		line-height: 6.9333vw;
		padding-bottom: 2.6667vw;
		margin-bottom: 7.4667vw;
	}
	#company .box{
		display: block;
		margin-bottom: 16vw;
	}
	#company .box .image{
		border-radius: 0;
		max-width: 100%;
		margin-bottom: 9.6vw;
	}
	#company .box > table{
		max-width: 100%;
	}
	#company .box > table > tbody > tr > th,
	#company .box > table > tbody > tr > td{
		display: block;
		padding: 5.3333vw 0;
		line-height: 6.1333vw;
	}
	#company .box > table > tbody > tr > th{
		width: auto;
		padding-bottom: 2.6667vw;
	}
	#company .box > table > tbody > tr > td{
		padding-top: 0;
	}
	#company .box > table > tbody > tr > th:after{
		display: none;
	}
	#company .box > table > tbody > tr > th{
		font-size: 5.0667vw;
	}
	#company .box > table > tbody > tr > td{
		font-size: 4vw;
	}
	#company .box > table > tbody > tr > td span{
		font-size: 3.4667vw;
		padding-left: 4.5333vw;
	}
	#company .box > table > tbody > tr > td .sub td{
		padding-left: 5.3333vw;
	}
	#company .box > table > tbody > tr:last-child > th{
		padding-bottom: 2.6667vw;
	}
	#company .box > table > tbody > tr:last-child > td{
		padding-bottom: 13.3333vw;
	}
	#company .box > table > tbody > tr:last-child > td .pmark{
		max-width: 26.6667vw;
	}
	#company .box > table td h3{
		font-size: 4.5333vw;
		margin-bottom: 1.8667vw;
		margin-top: 2.6667vw;
	}
	#company .box > table td .notice{
		font-size: 3.4667vw;
	}
	#company .image01{
		margin-bottom: 0;
	}
	#company .images{
		display: flex;
		overflow: hidden;
	}
	#company .images ul{
		margin-bottom: 0;
		display: flex;
		flex-wrap: nowrap;
		width: 512vw;
		gap: 0;
		animation: ticker 30s linear infinite;
	}
	#company .images ul:last-child{
		display: flex;
	}
	#company .images ul li{
		flex-shrink: 0;
		width: 85.3333vw;
		border-radius: 0;
	}
	#company h4{
		font-size: 4.2667vw;
		line-height: 12.2667vw;
		margin-bottom: 10.6667vw;
	}
	#company .txt{
		padding: 0 5.3333vw;
		font-size: 3.4667vw;
		line-height: 6.4vw;
		margin-bottom: 12.8vw;
	}

	/* Contact
	-----------------------------------*/
	#contact{
		padding: 12.5333vw 5.3333vw 18.6667vw 5.3333vw;
	}
	#contact h2{
		font-size: 5.3333vw;
		line-height: 9.3333vw;
		margin-bottom: 9.3333vw;
	}
	#contact .form_container table th{
		font-size: 4.2667vw;
		margin-bottom: 1.3333vw;
	}
	#contact .form_container table th .mus{
		padding: 0 1.3333vw;
		font-size: 2.6667vw;
		line-height: 3.7333vw;
		margin-left: 2.6667vw;
	}
	#contact .form_container table td{
		margin-bottom: 6.6667vw;
	}
	#contact .form_container table td input,
	#contact .form_container table td select{
		padding: 2.6667vw;
		font-size: 3.7333vw;
		line-height: 6.4vw;
		border-radius: 1.3333vw;
	}
	#contact .form_container .notice01{
		font-size: 2.6667vw;
		line-height: 4.2667vw;
		margin-bottom: 2.6667vw;
	}
	#contact .form_container .privacy{
		margin-bottom: 5.3333vw;
		font-size: 3.4667vw;
	}
	#contact .form_container .privacy input{
		width: 5.3333vw;
		height: 5.3333vw;
		margin-right: 1.3333vw;
	}
	#contact .form_container .confirm_button,
	#contact .form_container .real_submit_button{
		padding: 5.3333vw;
		border-radius: 1.3333vw;
		font-size: 4.8vw;
		line-height: 4.8vw;
		max-width: 100%;
		border: 0.5333vw solid #EF7399;
	}
	#contact .form_container .real_submit_button{
		margin-bottom: 5.3333vw;
	}
	#contact .form_container .back_button{
		padding: 5.3333vw;
		border-radius: 1.3333vw;
		font-size: 4.8vw;
		line-height: 4.8vw;
		max-width: 100%;
		border: 0.5333vw solid #111;
	}
	#contact .form_container .confirm_area .conf_span{
		padding: 2.6667vw;
		font-size: 3.7333vw;
		line-height: 6.4vw;
		border-radius: 1.3333vw;
	}
	#contact .form_container .form_area,
	#contact .form_container .confirm_area{
		max-width: 100%;
		padding: 8vw;
		border-radius: 2.6667vw;
	}
	#contact .form_container .wpcf7-not-valid-tip{
		font-size: 2.6667vw;
	}
	#contact .form_container .select_validation .error,
	#contact .form_container .privacy .error{
		font-size: 2.6667vw;
	}

	/* Thanks
	-----------------------------------*/
	#thanks{
		padding: 12.5333vw 0 18.6667vw 0;
		background: #F2F2F2;
	}
	#thanks .inner{
		padding: 0 5.3333vw;
		max-width: 100%;
	}
	#thanks h2{
		font-size: 5.8667vw;
		line-height: 9.3333vw;
		margin-bottom: 9.3333vw;
	}

	/* Footer
	-----------------------------------*/
	footer{
		position: relative;
		z-index: 1;
		padding: 16vw 0 0 0;
	}
	footer .inner{
		max-width: 100%;
		padding: 0 5.3333vw;
	}
	footer h2{
		padding-bottom: 4.2667vw;
		margin-bottom: 3.2vw;
	}
	footer h2 a img{
		max-width: 25.3333vw;
	}
	footer h2 a span{
		font-size: 2.1333vw;
		margin-left: 3.2vw;
		line-height: 1;
	}
	footer ul{
		padding: 0 1.3333vw;
		margin-bottom: 16vw;
	}
	footer ul li{
		font-size: 2.6667vw;
		line-height: 5.3333vw;
	}
	footer ul li a:before{
		margin-right: 1.3333vw;
	}
	footer .copyright{
		font-size: 2.6667vw;
		line-height: 14.6667vw;
	}

	/* Fixed Nav
	-----------------------------------*/
	#nav_fixed{
		width: 100%;
		bottom: -16vw;
		right: 0;
		transition: bottom 0.2s;
	}
	#nav_fixed.active{
		bottom: 0;
	}
	#nav_fixed ul{
		display: flex;
	}
	#nav_fixed ul li{
		width: 100%;
		border-right: 1px solid #fff;
		margin-bottom: 0;
	}
	#nav_fixed ul li:last-child{
		border-right: none;
	}
	#nav_fixed ul li a{
		display: flex;
		align-items: center;
		justify-content: center;
		color: #FFF;
		position: relative;
		height: 16vw;
	}
	#nav_fixed ul li a:hover{
		opacity: 0.8;
	}
	#nav_fixed ul li a:after{
		content: "";
		position: absolute;
		bottom: 1.6vw;
		right: 1.3333vw;
		transform: rotate(-45deg);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1.6vw 1.6vw 0 1.6vw;
		border-color: #fff transparent transparent transparent;
	}
	#nav_fixed ul li:first-child a{
		background: #4CC764;
	}
	#nav_fixed ul li:last-child a{
		background: #32B4D5;
	}
	#nav_fixed ul li .ico{
		background: none;
		width: 14.6667vw;
		height: 14.6667vw;
		margin: 0;
		box-shadow: none;
		flex-direction: row;
	}
	#nav_fixed ul li .upr{
		border: 1px solid #fff;
		border-radius: 12px;
		font-size: 10px;
		line-height: 14px;
		text-align: center;
		margin-bottom: 0.5333vw;
	}
	#nav_fixed ul li .txt{
		font-size: 3.7333vw;
		line-height: 5.3333vw;
		letter-spacing: 0.059em;
	}
	#nav_fixed ul li.entry{
		display: block;
	}
	#nav_fixed ul li.entry .txt{
		font-size: 4.2667vw;
	}
}


/* ほげ */
@media screen and (max-width: 50px) {
	/* Common
	-----------------------------------*/
	img{
		width: 100%;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

	/* Header
	-----------------------------------*/
	header{
		height: 50px;
		padding: 0 0 0 15px;
	}
	header .logos a{
		padding-bottom: 0;
	}
	header .logos a img{
		max-width: 95px;
	}
	header .logos a span{
		font-size: 8px;
		margin-left: 12px;
		line-height: 1;
	}
	header #switch{
		display: block;
	}
	header #switch{
		margin-left: auto;
		display: block;
		width: 50px;
		height: 50px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: #000;
		position: relative;
		transition: background 0.2s;
	}
	header #switch span{
		width: 10px;
		height: 1px;
		margin-bottom: 3px;
		background: #FFF;
		transition: transform 0.2s;
	}
	header #switch span:nth-child(3){
		margin-bottom: 0;
	}
	header #switch.active{
		background: #000;
	}
	header #switch.active span{
		margin-bottom: 0;
		width: 15px;
	}
	header #switch.active span:nth-child(1){
		transform: rotate(45deg);
	}
	header #switch.active span:nth-child(2){
		display: none;
	}
	header #switch.active span:nth-child(3){
		margin-top: -1px;
		transform: rotate(-45deg);
	}
	header nav{
		display: none;
	}
	header nav{
		display: block;
		position: absolute;
		top: 100%;
		right: -100%;
		max-width: 100%;
		width: 100%;
		padding: 30px 30px 60px 30px;
		transition: right 0.2s;
		background: rgba(255,255,255,0.86);
	}
	header nav.active{
		right: 0;
	}
	header nav ul{
		display: block;
	}
	header nav ul li{
		margin-right: 0;
		margin-bottom: 15px;
	}
	header nav ul li:last-child{
		margin-bottom: 0;
	}
	header nav ul li a{
		text-align: left;
		font-size: 16px;
		line-height: 24px;
	}
	header nav ul li a span{
		font-size: 10px;
		line-height: 13px;
		margin-top: 5px;
	}

	/* Mainvisual
	-----------------------------------*/
	#mainvisual{
		background-image: url(../images/bg_mainvisual_sp.jpg);
		background-position: center top;
		background-size: contain;
		background: none;
		min-width: auto;
		padding-top: 454px;
	}
	#mainvisual:after{
		background-image: url(../images/bg_mainvisual_sp.jpg);
		background-position: center top;
		background-size: contain;
		position: absolute;
		height: 454px;
		top: 0;
		left: 0;
		width: 100%;
	}
	#mainvisual .box{
		padding: 25px 20px 0 20px;
		width: 100%;
		height: auto;
		display: block;
		position: relative;
		z-index: 1;
	}
	#mainvisual .box:after{
		content: "";
		width: 100%;
		height: 20px;
		top: -20px;
		left: 0;
		background-image: url(../images/bg_content_sp.svg);
		background-position: center bottom;
		background-size: contain;
		position: absolute;
		z-index: -1;
	}
	#mainvisual .box .left{
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
	}
	#mainvisual .box .left h1{
		color: #EF7399;
		font-size: 25px;
		line-height: 30px;
		margin-left: 5px;
		margin-bottom: 4px;
		letter-spacing: 0.03em;
		order: 1;
	}
	#mainvisual .box .left h1 .ico{
		left: 134px;
		top: -3px;
		max-width: 54px;
		width: 100%;
	}
	#mainvisual .box .left .txt01{
		margin-bottom: 0;
		order: 3;
	}
	#mainvisual .box .left .txt01 ul{
		max-width: 100%;
		margin-bottom: 3px;
	}
	#mainvisual .box .left .txt01 ul li{
		max-width: 108px;
		aspect-ratio: auto;
		background: none;
		border: 1px solid #ef7399;
		border-radius: 5px;
		font-size: 13px;
		line-height: 15px;
		height: 62px;
		margin-left: 0;
	}
	#mainvisual .box .left .txt01 ul li:first-child{
		font-size: 13px;
	}
	#mainvisual .box .left .txt01 ul li:first-child span{
		font-size: 8px;
	}
	#mainvisual .box .left .txt01 .notice{
		color: #EF7399;
		font-size: 8px;
		line-height: 15px;
		padding-left: 0;
	}
	#mainvisual .box .left .txt02{
		color: #EF7399;
		order: 2;
		margin-left: 5px;
		font-size: 12px;
		line-height: 17px;
		margin-bottom: 18px;
		letter-spacing: 0.03em;
		transform: rotate(0);
	}
	#mainvisual .box .left .txt02 span{
		padding-bottom: 5px;
	}
	#mainvisual .box .left .txt02 span:after{
		height: 9px;
		background: #D5FF29;
	}
	#mainvisual .box .left .txt02 span:nth-of-type(1):after{
		left: 0;
		width: 100%;
	}
	#mainvisual .box .left .txt02 span:nth-of-type(2):after{
		left: 0;
	}
	#mainvisual .box .bnr{
		max-width: 140px;
		position: absolute;
		left: 222px;
		top: -96px;
		width: 100%;
		margin-bottom: 0;
	}

	/* Content
	-----------------------------------*/
	#content{
		margin-top: 0;
		padding-top: 0;
	}
	#content .scroll{
		display: none;
	}
	#content:before{
		display: none;
	}

	/* About
	-----------------------------------*/
	#about{
		padding-top: 35px;
		padding-bottom: 110px;
	}
	#about .inner{
		max-width: 100%;
		padding: 0 20px;
	}
	#about .txt_sp{
		display: flex;
		flex-direction: column;
	}
	#about h2{
		order: 2;
		font-size: 24px;
		line-height: 38px;
		margin-bottom: 37px;
	}
	#about .txt01{
		order: 1;
		max-width: 100%;
		margin-bottom: 34px;
		font-size: 18px;
		border-radius: 13px;
		line-height: 26px;
		height: 100px;
	}
	#about .txt01 span:nth-child(1){
		margin-bottom: 8px;
	}
	#about .image01{
		display: none;
	}
	#about .txt02{
		font-size: 12px;
		line-height: 24px;
		margin-bottom: 100px;
	}
	#about .box{
		margin-bottom: 60px;
	}
	#about .box h3{
		font-size: 20px;
		line-height: 40px;
		text-align: center;
		background: #EBEBEB;
		margin-bottom: 27px;
	}
	#about .box ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 11px 5px;
		margin-bottom: 55px;
	}
	#about .box ul li{
		max-width: 164px;
		width: 100%;
		height: 80px;
		border-radius: 42px;
		font-size: 14px;
		line-height: 22px;
		color: #EF7399;
		display: flex;
		flex-direction: column;
		text-align: center;
		justify-content: center;
		align-items: center;
		border: 1px solid #ef7399;
		letter-spacing: 0.06em;
	}
	#about .comparison{
		max-width: 100%;
		display: block;
	}
	#about .comparison:before,
	#about .comparison:after{
		width: 25px;
		height: 26px;
		transform: translate(-50%, -50%) rotate(90deg);
	}
	#about .comparison:before{
		margin-left: 0;
		margin-top: 5px;
	}
	#about .comparison:after{
		margin-left: 0;
		margin-top: -5px;
	}
	#about .comparison .box01{
		max-width: 100%;
		border-radius: 20px;
		margin-bottom: 84px;
	}
	#about .comparison .box02{
		max-width: 100%;
		border-radius: 20px;
	}
	#about .comparison h3{
		padding: 0 10px;
		font-size: 18px;
		line-height: 50px;
	}
	#about .comparison ul{
		padding: 20px;
	}
	#about .comparison ul li{
		font-size: 16px;
		line-height: 24px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	/* Career
	-----------------------------------*/
	#career{
		padding: 60px 0 90px 0;
	}
	#career .inner{
		max-width: 100%;
		padding: 0 20px;
	}
	#career h2{
		font-size: 24px;
		line-height: 29px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	#career .txt01{
		font-size: 12px;
		line-height: 20px;
		margin-bottom: 28px;
	}
	#career .txt01 span{
		letter-spacing: -0.04em;
	}
	#career ul{
		padding: 0 20px;
		max-width: 100%;
		border-top: none;
	}
	#career ul:before{
		width: 195px;
		height: 480px;
		top: 22px;
		left: 50%;
		transform: translateX(-50%);
	}
	#career ul li{
		padding: 0;
		margin-bottom: 30px;
		display: block;
		border-bottom: none;
	}
	#career ul li:last-child{
		padding: 0;
		margin-bottom: 0;
	}
	#career ul li .tit{
		border: 1px solid #f56e38;
		border-radius: 10px;
		overflow: hidden;
		background: #FFF;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	#career ul li:last-child .tit{
		border-color: #FD4645;
	}
	#career ul li .tit .num{
		font-size: 12px;
		width: 100%;
		max-width: 48px;
		line-height: 17px;
		margin-right: 0;
	}
	#career ul li:last-child .tit .num{
		color: #FD4645;
	}
	#career ul li .tit .num span{
		margin-top: 0;
		font-size: 20px;
		line-height: 20px;
	}
	#career ul li .tit h3{
		width: 245px;
		font-size: 16px;
		line-height: 24px;
		padding: 13px 58px 13px 10px;
		border-radius: 0;
	}
	#career ul li .txt{
		max-width: 100%;
		font-size: 10px;
		line-height: 20px;
	}
	#career ul li h4{
		width: 245px;
		font-size: 16px;
		line-height: 24px;
		padding: 13px 58px 13px 10px;
		border-radius: 0;
		background: #FD4645;
		color: #FFF;
	}

	/* Road Map
	-----------------------------------*/
	#road-map{
		padding: 80px 0 100px 0;
	}
	#road-map .inner{
		max-width: 100%;
	}
	#road-map .bloc_sp{
		padding: 0 20px;
	}
	#road-map h2{
		font-size: 24px;
		line-height: 29px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	#road-map .txt01{
		font-size: 12px;
		line-height: 20px;
		margin-bottom: 28px;
		margin-bottom: 78px;
	}
	#road-map .image01{
		margin-bottom: 95px;
	}
	#road-map .box{
		padding: 80px 20px 20px 20px;
		border-top-left-radius: 30px;
		border-top-right-radius: 30px;
	}
	#road-map .box.box01{
		margin-bottom: 110px;
		padding-bottom: 50px;
	}
	#road-map .box.box02{
		padding-top: 80px;
	}
	#road-map .box h3{
		top: -50px;
		width: 100px;
		font-size: 24px;
	}
	#road-map .box h4{
		text-align: center;
		width: 100%;
		font-size: 18px;
		line-height: 29px;
		margin-bottom: 20px;
		padding-left: 0;
		margin-left: 0;
	}
	#road-map .box h5{
		font-size: 16px;
		line-height: 26px;
		margin-bottom: 20px;
		padding-left: 0;
	}
	#road-map .box .txt02{
		font-size: 10px;
		line-height: 20px;
		letter-spacing: -0.03em;
		margin-bottom: 20px;
		padding-left: 0;
	}
	#road-map .box .image02{
		margin-top: 0;
	}
	#road-map .box ul{
		display: block;
	}
	#road-map .box ul li{
		max-width: 295px;
		padding: 20px 17px 20px 5px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 170px;
		margin-bottom: 20px;
	}
	#road-map .box ul li:last-child{
		margin-bottom: 0;
	}
	#road-map .box ul li .ico{
		max-width: 110px;
		width: 100%;
		flex-shrink: 0;
		margin-bottom: 0;
	}
	#road-map .box ul li .bloc_sp{
		max-width: 140px;
		width: 100%;
	}
	#road-map .box ul li h6{
		font-size: 14px;
		line-height: 14px;
		padding-bottom: 5px;
		margin-bottom: 8px;
	}
	#road-map .box ul li table{
		border-spacing: 0 4px;
		margin-bottom: 5px;
		line-height: 13px;
	}
	#road-map .box ul li table th{
		width: 65px;
		font-size: 9px;
	}
	#road-map .box ul li table td{
		font-size: 8px;
		padding-left: 15px;
	}
	#road-map .box ul li table td span{
		font-size: 10px;
	}
	#road-map .box ul li .p01{
		font-size: 9px;
		line-height: 12px;
		margin-bottom: 5px;
	}
	#road-map .box ul li .notice{
		font-size: 9px;
		line-height: 12px;
	}
	#road-map .box ul li .p02{
		font-size: 18px;
		line-height: 26px;
		margin-top: 0;
		margin-bottom: 7px;
	}

	/* CTA
	-----------------------------------*/
	.cta{
		background: none;
		height: auto;
		display: block;
	}
	.cta .box{
		max-width: 100%;
		display: block;
	}
	.cta .box .left{
		width: auto;
		padding: 40px 20px;
	}
	.cta .box .left h2{
		font-size: 25px;
		line-height: 30px;
		margin-left: 5px;
		margin-bottom: 15px;
		letter-spacing: 0.03em;
	}
	.cta .box .left h2 .ico{
		left: 134px;
		top: -3px;
		max-width: 54px;
		width: 100%;
	}
	.cta .box .left .txt ul{
		max-width: 100%;
		margin-bottom: 5px;
	}
	.cta .box .left .txt ul li{
		color: #FFF;
		max-width: 108px;
		aspect-ratio: auto;
		background: none;
		border: 1px solid #fff;
		border-radius: 5px;
		font-size: 13px;
		line-height: 15px;
		height: 62px;
		margin-left: 0;
	}
	.cta .box .left .txt ul li:first-child{
		font-size: 13px;
	}
	.cta .box .left .txt ul li:first-child span{
		font-size: 8px;
	}
	.cta .box .left .txt .notice{
		font-size: 8px;
		line-height: 15px;
		padding-left: 0;
	}
	.cta .box .left .list{
		max-width: 440px;
	}
	.cta .box .left .list li{
		max-width: 165px;
		line-height: 40px;
		border-radius: 23px;
		font-size: 15px;
	}
	.cta .box .right{
		width: 100%;
		padding: 40px 20px;
	}
	.cta .box .right h3{
		font-size: 14px;
		line-height: 36px;
		margin-bottom: 26px;
	}
	.cta .box .right .list{
		max-width: 100%;
		margin: 0 auto 30px auto;
	}
	.cta .box .right .list li{
		max-width: 165px;
		height: 85px;
		font-size: 14px;
		line-height: 22px;
	}
	.cta .box .right h4{
		font-size: 14px;
		line-height: 23px;
		margin-bottom: 20px;
	}
	.cta .box .right .btns{
		max-width: 280px;
	}
	.cta .box .right .btns li{
		margin-bottom: 20px;
	}
	.cta .box .right .btns li a{
		height: 75px;
	}
	.cta .box .right .btns li a .btn .ico{
		margin-right: 10px;
	}
	.cta .box .right .btns li a .btn h5{
		font-size: 18px;
		max-width: 130px;
	}
	.cta .box .right .btns li a .btn h5 span{
		font-size: 12px;
		line-height: 17px;
	}

	/* Instructor
	-----------------------------------*/
	#instructor{
		padding: 45px 0 50px 0;
	}
	#instructor h2{
		font-size: 24px;
		line-height: 35px;
		margin-bottom: 55px;
	}
	#instructor .inner{
		max-width: 100%;
	}
	#instructor .box{
		padding: 0;
		background: none;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
	#instructor .box .box_upr{
		border-bottom: none;
		padding: 0 20px;
		margin-bottom: 38px;
		display: block;
	}
	#instructor .box .box_upr .image{
		max-width: 275px;
		margin: 0 auto 40px auto;
	}
	#instructor .box .box_upr .right{
		max-width: 100%;
	}
	#instructor .box .box_upr .right h3{
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 24px;
		text-align: center;
		letter-spacing: -0.02em;
	}
	#instructor .box .box_upr .right p{
		font-size: 14px;
		line-height: 24px;
		letter-spacing: -0.02em;
	}
	#instructor .box .list01{
		display: block;
		margin-bottom: 10px;
	}
	#instructor .box .list01 li{
		padding: 35px;
		max-width: 100%;
		background: #FFF;
	}
	#instructor .box .list01 li:first-child{
		border-top-left-radius: 30px;
		border-top-right-radius: 30px;
		margin-bottom: 10px;
	}
	#instructor .box .list01 li .image,
	#instructor .box .list02 li .image{
		margin-bottom: 20px;
	}
	#instructor .box .list01 li .flex{
		display: block;
	}
	#instructor .box .list01 li .name h4,
	#instructor .box .list02 li .name h4{
		font-size: 26px;
		line-height: 33px;
	}
	#instructor .box .list01 li .name h4 span,
	#instructor .box .list02 li .name h4 span{
		font-size: 15px;
		margin-left: 6px;
	}
	#instructor .box .list01 li .name .en,
	#instructor .box .list02 li .name .en{
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 6px;
	}
	#instructor .box .list01 li .name .ico,
	#instructor .box .list02 li .name .ico{
		max-width: 55px;
		margin-bottom: 20px;
	}
	#instructor .box .list01 li .background{
		max-width: 100%;
	}
	#instructor .box .list01 li .background p,
	#instructor .box .list02 li .background p{
		font-size: 14px;
		line-height: 20px;
	}
	#instructor .box .list02{
		display: block;
		padding: 35px 0;
		background: #FFF;
		border-bottom-left-radius: 30px;
		border-bottom-right-radius: 30px;
	}
	#instructor .box .list02 li{
		max-width: 220px;
		margin: 0 35px;
	}
	#instructor .box .list02 li .name .ico{
		max-width: 55px;
		margin-bottom: 20px;
	}
	#instructor .box .list02 li .background p{
		font-size: 12px;
	}

	/* Curriculum
	-----------------------------------*/
	#curriculum{
		padding: 47px 0 70px 0;
		background: #F2F2F2;
	}
	#curriculum .inner{
		max-width: 100%;
	}
	#curriculum h2{
		font-size: 24px;
		line-height: 35px;
		margin-bottom: 35px;
	}
	#curriculum .box{
		background: none;
		padding: 0;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
	#curriculum .box .box01_sp{
		padding: 0 40px;
	}
	#curriculum .box h3{
		text-align: center;
		width: 100%;
		margin-bottom: 20px;
		font-size: 18px;
		line-height: 29px;
		padding-left: 0;
		margin-left: 0;
	}
	#curriculum .box h3:last-of-type{
		margin-bottom: 50px;
	}
	#curriculum .box h4{
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 20px;
	}
	#curriculum .box .txt01{
		font-size: 10px;
		line-height: 20px;
		margin-bottom: 40px;
	}
	#curriculum .box .list01{
		display: block;
		margin-bottom: 100px;
	}
	#curriculum .box .list01:after{
		width: 2px;
		height: 100%;
		background-size: 2px 10px;
		background-image: linear-gradient(to bottom, #EF7399, #EF7399 6px, transparent 6px, transparent 10px);
		background-repeat: repeat-y;
		top: 0;
		left: 59px;
	}
	#curriculum .box .list01 li{
		display: flex;
		justify-content: space-between;
		max-width: 100%;
		margin-bottom: 68px;
	}
	#curriculum .box .list01 li:last-child{
		margin-bottom: 0;
	}
	#curriculum .box .list01 li:after{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 9px 0 9px;
		border-color: #EF7399 transparent transparent transparent;e: solid;
		top: 148px;
		right: auto;
		left: 51px;
	}
	#curriculum .box .list01 li .image{
		margin-bottom: 0;
		max-width: 120px;
		width: 100%;
	}
	#curriculum .box .list01 li .bloc_sp{
		max-width: 160px;
		width: 100%;
	}
	#curriculum .box .list01 li h5{
		font-size: 14px;
		line-height: 20px;
		padding-bottom: 5px;
		margin-bottom: 13px;
	}
	#curriculum .box .list01 li h5 span{
		font-size: 12px;
		line-height: 20px;
		margin-bottom: 0;
	}
	#curriculum .box .list01 li .txt{
		font-size: 10px;
		line-height: 14px;
	}
	#curriculum .box .list02 li{
		max-width: 295px;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}
	#curriculum .box .list02 li .txt{
		padding: 26px 30px 25px 30px;
	}
	#curriculum .box .list02 li .txt h5{
		font-size: 18px;
		line-height: 20px;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	#curriculum .box .list02 li .txt p{
		font-size: 12px;
		line-height: 20px;
	}

	/* Support
	-----------------------------------*/
	#support .box{
		max-width: 100%;
		flex-direction: column;
	}
	#support .box .left{
		order: 2;
		max-width: 100%;
		margin-right: 0;
		padding: 73px 20px 90px 20px;
		margin-top: 0;
	}
	#support .box .left .title{
		text-align: center;
		margin-bottom: 16px;
		padding-top: 0;
	}
	#support .box .left .title h2{
		font-size: 30px;
		line-height: 44px;
		letter-spacing: 0.1em;
	}
	#support .box .left .title h2 span{
		display: none;
	}
	#support .box .left .txt01{
		text-align: center;
		font-size: 18px;
		line-height: 30px;
		letter-spacing: 0;
		margin-bottom: 45px;
	}
	#support .box .left .ico{
		max-width: 186px;
		width: 100%;
		margin: 0 auto;
	}
	#support .box .image{
		order: 1;
	}
	#support .slides{
		display: flex;
		overflow: hidden;
	}
	#support ul{
		width: 1920px;
		animation: ticker 30s linear infinite;
	}
	#support ul li{
		width: 320px;
	}

	/* Scene
	-----------------------------------*/
	#scene{
		padding: 47px 0 50px 0;
	}
	#scene .inner{
		max-width: 100%;
		padding: 0 40px;
	}
	#scene h2{
		font-size: 24px;
		line-height: 25px;
		margin-bottom: 35px;
	}
	#scene .box01{
		background: none;
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
		margin-bottom: 100px;
	}
	#scene .box01 .btm{
		display: block;
		padding: 20px 0 0 0;
	}
	#scene .box01 .btm h3{
		font-size: 18px;
		line-height: 20px;
		text-align: center;
		max-width: 100%;
		margin-bottom: 20px;
	}
	#scene .box01 .btm .txt{
		font-size: 14px;
		line-height: 26px;
		max-width: 100%;
	}
	#scene .list01{
		gap: 15px;
		margin-bottom: 18px;
	}
	#scene .list01 li{
		max-width: 140px;
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}
	#scene .list01 li .location{
		font-size: 12px;
		line-height: 20px;
	}
	#scene .txt01{
		font-size: 18px;
		line-height: 20px;
	}

	/* Voice
	-----------------------------------*/
	#voice{
		padding: 50px 0 43px 0;
	}
	#voice .inner{
		max-width: 100%;
	}
	#voice h2{
		font-size: 24px;
		line-height: 30px;
		margin-bottom: 40px;
	}
	#voice ul{
		gap: 0;
	}
	#voice ul li{
		/*max-width: 335px;*/
		max-width: 345px;
		padding: 20px 20px 24px 20px;
		border-radius: 12px;
	}
	#voice ul li .box{
		border-radius: 9px;
		height: 140px;
		margin-bottom: 12px;
	}
	#voice ul li .box .ico{
		margin-right: 20px;
	}
	#voice ul li .box .career{
		font-size: 18px;
		line-height: 25px;
		max-width: 150px;
	}
	#voice ul li .txt{
		font-size: 16px;
		line-height: 25px;
	}

	/* FAQ
	-----------------------------------*/
	#faq{
		padding: 43px 0 47px 0;
	}
	#faq .inner{
		max-width: 100%;
		padding: 0 20px;
	}
	#faq h2{
		padding-bottom: 8px;
		margin-bottom: 50px;
		font-size: 32px;
		line-height: 24px;
	}
	#faq h3{
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 80px;
	}
	#faq .box{
		margin-bottom: 34px;
	}
	#faq .box h4{
		font-size: 14px;
		margin-bottom: 20px;
		padding-right: 35px;
	}
	#faq .box h4:before{
		width: 13px;
		right: 13px;
	}
	#faq .box h4:after{
		height: 13px;
		right: 19px;
	}
	#faq .box h4 span{
		width: 33px;
		aspect-ratio: auto;
		height: 60px;
		font-size: 14px;
		margin-right: 9px;
	}
	#faq .box .bloc{
		margin-left: 0;
		margin-right: 0;
		display: block;
		font-size: 13px;
		line-height: 23px;
	}
	#faq .box .bloc span{
		width: 32px;
		font-size: 14px;
		margin-right: 0;
		margin-bottom: 10px;
	}

	/* Company
	-----------------------------------*/
	#company{
		border-top: 1px solid #EF7399;
		padding: 45px 0 0 0;
	}
	#company .inner{
		max-width: 100%;
	}
	#company .bloc_sp{
		padding: 0 20px;
	}
	#company h2{
		font-size: 18px;
		line-height: 26px;
		padding-bottom: 10px;
		margin-bottom: 28px;
	}
	#company .box{
		display: block;
		margin-bottom: 60px;
	}
	#company .box .image{
		border-radius: 0;
		max-width: 100%;
		margin-bottom: 36px;
	}
	#company .box > table{
		max-width: 100%;
	}
	#company .box > table > tbody > tr > th,
	#company .box > table > tbody > tr > td{
		display: block;
		padding: 20px 0;
		line-height: 23px;
	}
	#company .box > table > tbody > tr > th{
		width: auto;
		padding-bottom: 10px;
	}
	#company .box > table > tbody > tr > td{
		padding-top: 0;
	}
	#company .box > table > tbody > tr > th:after{
		display: none;
	}
	#company .box > table > tbody > tr > th{
		font-size: 19px;
	}
	#company .box > table > tbody > tr > td{
		font-size: 15px;
	}
	#company .box > table > tbody > tr > td span{
		font-size: 13px;
		padding-left: 17px;
	}
	#company .box > table > tbody > tr > td .sub td{
		padding-left: 20px;
	}
	#company .box > table > tbody > tr:last-child > th{
		padding-bottom: 10px;
	}
	#company .box > table > tbody > tr:last-child > td{
		padding-bottom: 50px;
	}
	#company .box > table > tbody > tr:last-child > td .pmark{
		max-width: 100px;
	}
	#company .box > table td h3{
		font-size: 17px;
		margin-bottom: 7px;
		margin-top: 10px;
	}
	#company .box > table td .notice{
		font-size: 13px;
	}
	#company .image01{
		margin-bottom: 0;
	}
	#company .images{
		display: flex;
		overflow: hidden;
	}
	#company .images ul{
		margin-bottom: 0;
		display: flex;
		flex-wrap: nowrap;
		width: 1920px;
		gap: 0;
		animation: ticker 30s linear infinite;
	}
	#company .images ul li{
		width: 320px;
		border-radius: 0;
	}
	#company h4{
		font-size: 16px;
		line-height: 46px;
		margin-bottom: 40px;
	}
	#company .txt{
		padding: 0 20px;
		font-size: 13px;
		line-height: 24px;
		margin-bottom: 48px;
	}

	/* Footer
	-----------------------------------*/
	footer{
		padding: 60px 0 0 0;
	}
	footer .inner{
		max-width: 100%;
		padding: 0 20px;
	}
	footer h2{
		padding-bottom: 16px;
		margin-bottom: 12px;
	}
	footer h2 a img{
		max-width: 95px;
	}
	footer h2 a span{
		font-size: 8px;
		margin-left: 12px;
		line-height: 1;
	}
	footer ul{
		padding: 0 5px;
		margin-bottom: 60px;
	}
	footer ul li{
		font-size: 10px;
		line-height: 20px;
	}
	footer ul li a:before{
		margin-right: 5px;
	}
	footer .copyright{
		font-size: 10px;
		line-height: 55px;
	}

	/* Fixed Nav
	-----------------------------------*/
	#nav_fixed{
		width: 100%;
		bottom: 0;
		right: 0;
	}
	#nav_fixed ul{
		display: flex;
	}
	#nav_fixed ul li{
		width: 100%;
		border-right: 1px solid #fff;
		margin-bottom: 0;
	}
	#nav_fixed ul li:last-child{
		border-right: none;
	}
	#nav_fixed ul li a{
		display: flex;
		align-items: center;
		justify-content: center;
		color: #FFF;
		position: relative;
		height: 60px;
	}
	#nav_fixed ul li a:hover{
		opacity: 0.8;
	}
	#nav_fixed ul li a:after{
		content: "";
		position: absolute;
		bottom: 6px;
		right: 5px;
		transform: rotate(-45deg);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 6px 0 6px;
		border-color: #fff transparent transparent transparent;
	}
	#nav_fixed ul li:first-child a{
		background: #4CC764;
	}
	#nav_fixed ul li:last-child a{
		background: #32B4D5;
	}
	#nav_fixed ul li .ico{
		background: none;
		width: 55px;
		height: 55px;
		margin: 0;
		box-shadow: none;
		flex-direction: row;
	}
	#nav_fixed ul li .txt{
		font-size: 14px;
		line-height: 20px;
		letter-spacing: 0.059em;
	}
}