@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/

body {
	font-family: 'Noto Serif JP', serif;
	color: #323232;
}
header {
	padding: 0;
}
section h2 {
	margin: 0;
	font-weight: bold;
	text-align: center;
}
section h2 .ttl_en {
	display: block;
	margin: 0 auto;
}
#fv {
	position: relative;
}
#fv h1 {
	margin: 0;
	background: none;
}
#fv #btn_start {
	position: absolute;
}
#fv #btn_start a,
#fv #btn_start span {
	position: relative;
	background: #ef2828;
	text-align: center;
	color: #fff;
	border-radius: 50px;
	text-decoration: none;
	transition: all .3s;
}
#fv #btn_start a::after {
	position: absolute;
	left: 85%;
	content: "→";
}
#fv #btn_start:hover a {
	background: #ed5050;
}
#fv #btn_start:hover a::after {
	left: 87%;
	transition: all .3s;
}
#lead .achievements {
	display: block;
	margin: 6.13% auto;
}
#lead h2 {
	text-align: center;
	font-weight: bold;
}
#lead h2 + p {
	text-align: center;
}
#lead .point_list li {
	text-align: center;
}
#lead .point_list li img {
	margin-bottom: 1em;
	box-shadow: 0px 0px 8px 4px #ddd;
}
#lead .point_list li strong {
	color: #283CE5;
}
#features {
	color: #fff;
}
#features h2 {
	text-align: center;
}
#features h3 {
	text-align: center;
}
#features h3 .f_large {
	font-weight: bold;
}
#training h2 .ttl_en {
	color: #283CE5;
}
#training h3 {
	margin: 0 0 1em;
	color: #283CE5;
	text-align: center;
	font-weight: bold;
}
section.campaign h2 + p {
	background: #fff;
	text-align: center;
}
section.campaign .deadline {
	width: fit-content;
	margin: 0 auto;
	padding: 0px 5px;
	background: linear-gradient(transparent 60%, #dccd87 50%);
	font-weight: bold;
}
a.btn_application,
span.btn_application {
	position: relative;
	margin: 0 auto;
	background: #ef2828;
	text-align: center;
	color: #fff;
	border-radius: 50px;
	text-decoration: none;
	transition: all .3s;
}
a.btn_application:hover {
	background: #ed5050;
}
a.btn_application::after {
	position: absolute;
	left: 85%;
	content: "→";
}
a.btn_application:hover::after {
	left: 87%;
	transition: all .3s;
}
#voices h2 .ttl_en,
#price h2 .ttl_en,
#demo h2 .ttl_en,
#faq h2 .ttl_en,
#environment h2 .ttl_en,
#books h2 .ttl_en {
	color: #283CE5;
}
#voices .swiper-container .swiper-slide {
	background: #f0f0f0;
}
#voices .swiper-container .swiper-slide > div {
	display: flex;
	flex-direction: column;
}
#voices .swiper-container .swiper-slide .name {
	margin: 0;
	font-weight: bold;
}
#voices .swiper-container .swiper-slide .ttl {
	margin: 0.5em 0;
	font-weight: bold;
}
#voices .swiper-container .swiper-slide .ttl + p {
	margin: 0;
	padding-bottom: 1em;
}
#voices .swiper-container .swiper-slide .btn_detail {
	position: relative;
	display: block;
	width: 100%;
	margin: auto 0 2%;
	background: #283CE5;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}
#voices .swiper-container .swiper-slide .btn_detail:hover {
	background: #4a5ce2;
}
#voices .swiper-container .swiper-slide .btn_detail::after {
	position: absolute;
	left: 85%;
	content: "→";
}
#voices .swiper-container .swiper-slide .btn_detail:hover::after {
	left: 87%;
	transition: all .3s;
}
#voices .swiper-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: auto;
}
#voices .swiper-button-disabled {
	opacity: 0.5;
	cursor: auto;
}
#voices .swiper-pagination .swiper-pagination-bullet {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #f0f0f0;
	cursor: pointer;
}
#voices .swiper-pagination .swiper-pagination-bullet-active {
	background: #283CE5;
}
#steps h2 {
	color: #fff;
}
#steps .swiper-container .swiper-slide:last-child::after {
	content: none;
}
#steps .swiper-container .swiper-slide {
	background: #fff;
	z-index: 2;
}
#steps .swiper-container .swiper-slide > div {
	display: flex;
	flex-direction: column;
}
#steps .swiper-container .swiper-slide .ttl {
	margin: 0.3em 0;
	font-weight: bold;
}
#steps .swiper-container .swiper-slide .ttl .no {
	color: #f0f0f0;
	line-height: 1;
}
#steps .swiper-container .swiper-slide .ttl .no + span {
	position: relative;
	z-index: 2;
}
#steps .swiper-container .swiper-slide .ttl + p {
	margin: 0;
}
#steps .swiper-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: auto;
}
#steps .swiper-button-next,
#steps .swiper-button-prev {
	position: absolute;
	top: 0;
	right: 0;
	width: min(2.85vw, 40px);
	height: min(2.85vw, 40px);
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 5px;
	content: "";
	cursor: pointer;
	z-index: 2;
}
#steps .swiper-button-prev {
	right: min(3.57vw, 50px);
}
#steps .swiper-button-next span,
#steps .swiper-button-prev span {
	position: relative;
	display: inline-block;
	width: min(0.57vw, 8px);
	height: min(1.35vw, 19px);
}
#steps .swiper-button-next span::before,
#steps .swiper-button-next span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: min(0.88vw, 12.4px);
	height: 1px;
	border-radius: 9999px;
	background-color: #283CE5;
	transform-origin: calc(100% - 0.5px) 50%;
}
#steps .swiper-button-next span::before,
#steps .swiper-button-prev span::before {
	transform: rotate(52.15deg);
}

#steps .swiper-button-next span::after,
#steps .swiper-button-prev span::after {
	transform: rotate(-52.15deg);
}
#steps .swiper-button-prev span::before,
#steps .swiper-button-prev span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	width: min(0.88vw, 12.4px);
	height: 1px;
	border-radius: 9999px;
	background-color: #283CE5;
	transform-origin: 0.5px 50%;
}
#steps .swiper-button-disabled {
	opacity: 0.5;
	cursor: auto;
}
#steps .swiper-pagination .swiper-pagination-bullet {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #c8c8c8;
	cursor: pointer;
}
#steps .swiper-pagination .swiper-pagination-bullet-active {
	background: #646464;
}
#price .price_container > div {
	box-shadow: 0px 0px 8px 4px #ddd;
	background: #f0f0f0;
}
#price .price_container h3 {
	color: #fff;
	text-align: center;
}
#price .price_container .new h3 {
	background: #ef2828;
}
#price .price_container .continuation h3 {
	background: #283CE5;
}
#price .price_container h3 + p {
	margin-bottom: 0;
}
#price .price_container h3 + p + p {
	margin: 0;
}
#price .price_container img {
	display: block;
	margin: 0 auto;
}
#price .price_container > div .text {
	margin-bottom: 0;
}
#demo {
	background: #f0f0f0;
}
#demo > div.wrap {
	margin-top: 3em;
	padding: 1px 3.56% 6.37%;
	font-size: 120%;
	text-align:center;
}
#demo > div.wrap div.movie_wrap {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%; /* 16:9 = 9 ÷ 16 × 100 */
	height: 0;
	overflow: hidden;
}
#demo > div.wrap div.movie_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#faq dl {
	position: relative;
}
#faq dt {
	display: flex;
	margin: 0;
	cursor: pointer;
}
#faq dt > span:first-child {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #283CE5;
	color: #fff;
	border-radius: 50%;
}
#faq dd {
	display: flex;
	margin: 0;
}
#faq dd > span:first-child {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	color: #283CE5;
	border-radius: 50%;
}
#faq .faq_toggle {
	position: absolute;
	width: min(1.28vw, 18px);
    height: min(1.28vw, 18px);
    content: "";
    display: block;
    right: 30px;
    margin-top: 0.5em;
}
#faq .faq_toggle > span {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
#faq .faq_toggle > span:before {
	width: min(1.28vw, 18px);
	position: absolute;
	top: calc(50% - 1px);
	height: 2px;
	display: block;
	left: 0;
	transform-origin: center center;
	content: "";
	background: #323232;
	-webkit-transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
	transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}
#faq .faq_toggle > span:after {
	height: min(1.28vw, 18px);
	position: absolute;
	top: 0;
	width: 2px;
	display: block;
	left: calc(50% - 1px);
	transform-origin: center center;
	content: "";
	background: #323232;
	-webkit-transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
	transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}
#faq .faq_toggle.open > span::after {
	transform: scale(0);
}
#environment .env_container h3 {
	background: #646464;
	color: #fff;
	text-align: center;
}
#environment .env_container dt {
	float: left;
	margin: 0;
}
#environment .env_container dd {
	border-left: 1px solid #a2a2a2;
}
#books {
	background: #f0f0f0;
}
#books ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
}
#books ul li {
	margin: 0;
}
#books ul li a:hover {
	opacity: 0.8;
}
footer .txt_right {
	margin: 0 1em 0 0;
	padding-bottom: 1em;
	text-align: right;
	font-size: 95%;
	color: #323232;
}
footer p {
	margin: 0;
}
footer #copyright a:nth-child(1) {
	margin-right: 1em;
}
footer #copyright a,
footer #copyright a:visited {
	color: #fff;
}


/*--------------------------------------------------------------------
 *	736px以下用（SP用）の記述
 *--------------------------------------------------------------------*/

@media screen and (max-width: 1025px) {
/* 736px以下用（SP用）の記述 */

body {
	padding-bottom: 0;
}
.wrap {
	margin: 0 5%;
}
header {
	padding: 2.66% 0;
}
header img {
	display: block;
	width: 45%;
	max-width: 334px;
	margin: 0 auto;
}
#header_menu {
	display: none;
}
section h2 {
	margin-top: 0;
	font-size: 5.3vw;
	line-height: 1;
}
section h2 .ttl_en {
	margin-bottom: 1em;
	font-size: 4vw;
}
section h2 .f_large {
	font-size: 13.3vw;
}
section h2 .f_middle {
	font-size: 8.53vw;
}
#fv img {
	width: 100%;
}
#fv #btn_start {
	top: 0;
	left: 0;
	right: 0;
	margin: 142.4% auto 0;
	width: 78%;
	font-size: 4vw;
}
#fv #btn_start a {
	display: block;
	padding: 4.26% 0;
	border-radius: 62px;
}
#lead {
	padding-top: 5%;
}
#lead .achievements {
	width: 80%;
	margin: 12% auto 8.16%;
}
#lead h2 {
	font-size: 5.33vw;
	line-height: 1.5;
}
#lead h2 + p {
	margin-top: 10.8%;
	margin-bottom: 12%;
	font-size: 3.46vw;
}
#lead .point_list {
	list-style: none;
	margin: 0;
}
#lead .point_list li {
	font-size: 4vw;
	line-height: 1.4;
}
#lead .point_list li:nth-child(n+2) {
	margin-top: 9.4%;
}
#lead .point_list li strong {
	font-size: 6vw;
}
#lead .point_list li img {
	display: block;
	width: 100%;
	max-width: 317px;
	margin: 0 auto 5.48%;
}
#features {
	padding-top: 32%;
	padding-bottom: 24.5%;
	background-color: #283CE5;
	background-image: url(../images/lead_bg.png), url(../images/feature_bg_sp1.png), url(../images/feature_bg_sp2.png), url(../images/feature_bg_sp1.png);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: top center, left 32%, right 64.5%, left 97%;
	background-size: 100%, 51.2%, 49.7%, 51.2%;
}
#features h2 {
	margin-top: 9%;
}
#features h3 {
	font-size: 4vw;
}
#features h3 .f_large {
	display: block;
	font-size: 13.3vw;
}
#features h3 strong {
	font-size: 6vw;
}
#features h3 + p {
	margin-bottom: 14.8%;
	font-size: 3.46vw;
}
#features .feature_box img {
	box-shadow: 0px 0px 8px 1px #666;
}
#training {
	padding-top: 10.6%;
	padding-bottom: 22%;
	background: url(../images/training_bg.jpg) no-repeat top center/cover;
}
#training h3 {
	font-size: 5.33vw;
}
#training h3 .f_middle {
	font-size: 6.4vw;
}
#training ul {
	list-style: none;
	margin: 12.5% 5% 0;
}
#training ul li {
	display: flex;
    flex-direction: column;
}
#training ul li:nth-child(n+2) {
	margin-top: 11.8%;
}
#training ul li img {
	width: 100%;
}
#training ul li p {
	margin: 0;
	padding: 8.9% 5.9%;
	color: #fff;
	background: #283CE5;
	font-size: 3.46vw;
}
section.campaign {
	padding-bottom: 8.4%;
	background-color: #f3f7ff;
	background-image: url(../images/cta_bg_left.jpg), url(../images/cta_bg_right.jpg);
	background-position: left center, right center;
	background-repeat: no-repeat, no-repeat;
	background-size: contain, contain;
}
section.campaign h2 {
	padding-top: 8%;
	font-size: 5.33vw;
}
section.campaign h2 + p {
	margin: 1.5em auto;
	padding: 0px 5px;
    width: fit-content;
	font-size: 3.2vw;
}
section.campaign .deadline {
	margin-bottom: 1em;
	font-size: 3.46vw;
}
section.campaign .campaign_price {
	display: block;
	width: 64.8%;
	margin: 0 0 1em 27%;
}
.btn_application {
	display: block;
	width: 68.8%;
	padding: 1em 0;
	box-sizing: border-box;
	font-size: 4vw;
	line-height: 1;
}
#voices {
	padding-top: 10.6%;
	padding-bottom: 22%;
}
#voices h2 {
	margin-bottom: 9.7%;
}
#voices .swiper > .wrap {
	position: absolute;
	top: calc(50% - 5.6vw);
	width: 100%;
}
#voices .swiper-container {
	position: relative;
}
#voices .swiper-container .swiper-slide > div {
	padding: 5.4% 4%;
}
#voices .swiper-container .swiper-slide .name {
	font-size: 3.73vw;
}
#voices .swiper-container .swiper-slide .ttl {
	font-size: 4vw;
}
#voices .swiper-container .swiper-slide .ttl + p {
	margin-top: 1em;
	font-size: 3.46vw;
}
#voices .swiper-button-next,
#voices .swiper-button-prev {
	position: absolute;
	top: calc(50% - 5.6vw);
	width: 10.13vw;
	height: 10.13vw;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #283CE5;
	border-radius: 5px;
	content: "";
	cursor: pointer;
	z-index: 2;
}
#voices .swiper-button-next {
	right: 7.6%;
}
#voices .swiper-button-prev {
	left: 0;
}
#voices .swiper-button-next span,
#voices .swiper-button-prev span {
	position: relative;
	display: inline-block;
	width: 2.5vw;
	height: 5.09vw;
}
#voices .swiper-button-next span::before,
#voices .swiper-button-next span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 3.46vw;
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: calc(100% - 0.5px) 50%;
}
#voices .swiper-button-next span::before,
#voices .swiper-button-prev span::before {
	transform: rotate(52.15deg);
}

#voices .swiper-button-next span::after,
#voices .swiper-button-prev span::after {
	transform: rotate(-52.15deg);
}
#voices .swiper-button-prev span::before,
#voices .swiper-button-prev span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	width: 3.46vw;
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: 0.5px 50%;
}
#voices .swiper-pagination {
	bottom: -5.34%;
}
#voices .swiper-container .swiper-slide .btn_detail {
	margin: auto 0 0;
	padding: 1em 0;
}
#steps {
	padding-top: 10.6%;
	padding-bottom: 22%;
	background: url(../images/steps_bg.jpg) no-repeat top center/cover;
}
#steps h2 {
	margin-bottom: 9.7%;
}
#steps .swiper > .wrap {
	position: absolute;
	top: calc(50% - 5.6vw);
	width: 100%;
}
#steps .swiper-container {
	position: relative;
}
#steps .swiper-container .swiper-slide > div {
	position: relative;
	padding: 5.4% 4%;
}
#steps .swiper-container .swiper-slide .ttl {
	font-size: 4vw;
}
#steps .swiper-container .swiper-slide .ttl .no {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	font-size: 10.8vw;
}
#steps .swiper-container .swiper-slide .ttl + p {
	font-size: 3.46vw;
}
#steps .swiper-button-next,
#steps .swiper-button-prev {
	position: absolute;
	top: 50%;
	width: 10.13vw;
	height: 10.13vw;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 5px;
	content: "";
	cursor: pointer;
	z-index: 2;
}
#steps .swiper-button-next {
	right: 7.6%;
}
#steps .swiper-button-prev {
	left: 0;
}
#steps .swiper-button-next span,
#steps .swiper-button-prev span {
	position: relative;
	display: inline-block;
	width: 2.5vw;
	height: 5.09vw;
}
#steps .swiper-button-next span::before,
#steps .swiper-button-next span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 3.46vw;
	height: 1px;
	border-radius: 9999px;
	background-color: #283CE5;
	transform-origin: calc(100% - 0.5px) 50%;
}
#steps .swiper-button-next span::before,
#steps .swiper-button-prev span::before {
	transform: rotate(52.15deg);
}

#steps .swiper-button-next span::after,
#steps .swiper-button-prev span::after {
	transform: rotate(-52.15deg);
}
#steps .swiper-button-prev span::before,
#steps .swiper-button-prev span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	width: 3.46vw;
	height: 1px;
	border-radius: 9999px;
	background-color: #283CE5;
	transform-origin: 0.5px 50%;
}
#steps .swiper-pagination {
	bottom: -8%;
}
#price {
	padding-top: 10.6%;
	padding-bottom: 22%;
}
#price .price_container {
	margin-top: 10%;
}
#price .price_container > div {
	padding: 1px 3.56% 6.37%;
	box-sizing: border-box;
}
#price .price_container h3 {
	display: flex;
	width: fit-content;
	justify-content: center;
	align-items: center;
	margin: -0.9em auto 0;
	padding: 0.2em 1.5em;
	font-size: 4vw;
}
#price .price_container h3 + p {
	margin-top: 6.75%;
	margin-bottom: 0.5em;
	line-height: 1;
	font-size: 4.8vw;
	text-align: center;
}
#price .price_container .continuation {
	margin-top: 11.86%;
}
#price .price_container h3 + p + p {
	font-size: 3.46vw;
	font-weight: bold;
	text-align: center;
}
#price .price_container > div .text {
	margin-top: 4.74%;
	padding-top: 1em;
	border-top: 1px solid #323232;
	font-size: 3.46vw;
}
#price .price_container .new img {
	margin: 0 0 0 13%;
	width: 87.6%;
}
#price .price_container .continuation img {
	width: 54%;
}
#demo {
	padding-top: 10.6%;
	padding-bottom: 22%;
}
#faq {
	padding-top: 10.6%;
	padding-bottom: 10.6%;
}
#faq dl {
	margin: 9.3% 5% 0;
	font-size: 3.46vw;
}
#faq dt {
	padding-bottom: 1em;
}
#faq dt:nth-child(n+2) {
	margin-top: 7.4%;
}
#faq dt > span:first-child {
	width: 8.53vw;
	height: 8.53vw;
	margin-right: 12px;
	font-size: 4vw;
}
#faq dd {
	margin-bottom: 3.6%;
}
#faq dd > span:first-child {
	width: 8.53vw;
	height: 8.53vw;
	margin-right: 12px;
	font-size: 4vw;
}
#faq dl .text {
	width: calc(100% - 85px);
	padding-top: 0.5em;
}
#faq .faq_toggle {
	right: 0;
	width: 2.93vw;
	height: 2.93vw;
	margin-top: 0.9em;
}
#faq .faq_toggle > span:before {
	width: 100%;
	height: 1px;
}
#faq .faq_toggle > span:after {
	width: 1px;
	height: 2.93vw;
	left: 50%;
}
#environment {
	padding-top: 10.6%;
	padding-bottom: 10.6%;
}
#environment .env_container h3 {
	margin-top: 11.4%;
	padding: 0.2em 0;
	font-size: 3.46vw;
}
#environment .env_container dl {
	font-size: 2.93vw;
}
#environment .env_container dl dt {
	padding-left: 1em;
}
#environment .env_container dd {
	margin: 0 0 1em 36.4%;
	padding-left: 5%;
}
#books {
	padding: 10.6% 0;
}
#books ul {
	flex-wrap: wrap;
	justify-content: center;
	gap: 6.66vw;
	margin: 8.4% auto 0;
}
#books ul li {
	width: 34.5%;
}
#books ul li:nth-child(odd) {
	text-align: right;
}
#books ul li:nth-child(even) {
	text-align: left;
}
#books ul li img {
	max-width: 180px;
	width: 100%;
}
footer .txt_right {
	position: absolute;
	right: 0;
	top: -2.1em;
	margin-right: 1em;
	text-align: right;
}
footer {
	position: relative;
	font-size: 2.66vw;
}

/* 1025px以上用（SP用）の記述 end */
}


/*--------------------------------------------------------------------
 *	737px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 1026px), print {
/* 737px以上用（PC用）の記述 */

.wrap {
	max-width: 1060px;
	margin: 0 auto;
}
header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1400px;
	margin: 0 auto;
	height: 80px;
}
header::after {
	content: none;
}
header #logo {
	width: 23.8%;
	margin-left: 1em;
}
#header_menu {
	display: flex;
	align-items: center;
	justify-content: right;
	list-style: none;
	width: 71%;
	margin: 0;
	font-weight: bold;
}
#header_menu li {
	margin: 0 1.9% 0 0;
	text-align: center;
}
#header_menu a {
	text-decoration: none;
	color: #323232;
	font-size: min(1vw, 14px);
	transition: all .3s;
}
#header_menu a:hover {
	color: #283CE5;
	text-decoration: underline;
}
#header_menu li#menu_application a,
#header_menu li#menu_application span {
	position: relative;
	display: block;
	padding: 6% 52px 6% 32px;
	border-radius: 50px;
	background: #ef2828;
	color: #fff;
	line-height: 1;
}
#header_menu li#menu_application span {
	padding: 6% 32px 6% 32px;
}
#header_menu li#menu_application a:hover {
	text-decoration: none;
	opacity: 0.8;
}
#header_menu li#menu_application a::after {
	position: absolute;
	left: 85%;
	content: "→";
}
#header_menu li#menu_application a:hover::after {
	left: 87%;
	transition: all .3s;
}
section h2 {
	margin-top: 0;
	font-size: min(2.57vw, 36px);
	line-height: 1;
}
section h2 .ttl_en {
	margin-bottom: 1em;
	font-size: min(1.42vw, 20px);
}
section h2 .f_large {
	font-size: min(6.42vw, 90px);
}
section h2 .f_middle {
	font-size: min(4vw, 57px);
}
#fv {
	text-align: center;
}
#fv img {
	width: 100%;
}
#fv #btn_start {
	top: 0;
	left: 6.64%;
	margin-top: 29.8%;
	width: 25%;
}
#fv #btn_start a,
#fv #btn_start span {
	display: block;
	padding: 1.8em 0;
	box-sizing: border-box;
	font-size: min(1.28vw, 18px);
	line-height: 1;
}
#lead .wrap {
	width: 95%;
}
#lead h2 {
	font-size: min(2.57vw, 36px);
	line-height: 1.6;
}
#lead h2 + p {
	margin-bottom: 4.7%;
	font-size: min(1.14vw, 16px);
}
#lead .achievements {
	max-width: 645px;
}
#lead .point_list {
	display: flex;
	list-style: none;
	justify-content: space-between;
	margin-bottom: 9.8%;
}
#lead .point_list li {
	width: 29.8%;
	font-size: min(1.14vw, 16px);
}
#lead .point_list li strong {
	font-size: min(2.5vw, 24px);
}
#features {
	padding-top: 12.14%;
	background-color: #283CE5;
	background: #283CE5 url(../images/lead_bg_pc.png) no-repeat top center/100%;
}
#features h2 {
	margin-top: 2%;
}
#features .wrap {
	padding-bottom: 19.3%;
	background: url(../images/feature_bg_pc.png) no-repeat top center/89.2%;
}
#features .feature_box {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 0 75px;
	padding-top: 4.7%;
}
#features .feature_box.img_left {
	flex-direction: row-reverse;
	padding-top: 6.88%;
}
#features .feature_box.img_left + .img_right {
	padding-top: 7.07%;
}
#features .feature_box img {
	position: relative;
	z-index: 2;
	width: 43%;
	max-width: 460px;
	box-shadow: 0px 0px 8px 1px #666;
}
#features h3 {
	margin-top: 0;
	margin-bottom: 0.5em;
	font-size: min(1.42vw, 20px);
	line-height: 1.3;
}
#features h3 .f_large {
	position: relative;
	display: block;
	margin-bottom: 11.3%;
	font-size: min(7.14vw, 100px);
	line-height: 1;
}
#features h3 .f_large::before {
	position: absolute;
	z-index: 1;
	bottom: -15px;
	left: 50%;
	width: 100%;
	height: 1px;
	content: "";
	display: block;
	background: #fff;
}
#features .img_left h3 .f_large::before {
	left: -50%;
}
#features h3 .f_large::after {
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	content: "";
	display: block;
	margin: auto;
	background: #f0f0f0;
	border-radius: 50%;
	width: 12px;
	height: 12px;
}
#features h3 strong {
	font-size: min(2.14vw, 30px);
}
#features h3 + p {
	margin-bottom: 0;
	font-size: min(1.14vw, 16px);
}
#features .feature_text {
	width: 45%;
	max-width: 460px;
	text-align: center;
}
#training {
	padding-top: 3.2%;
	padding-bottom: 5.3%;
	background: url(../images/training_bg_pc.jpg) no-repeat top center/cover;
}
#training h3 {
	font-size: min(1.85vw, 26px);
}
#training h3 .f_middle {
	font-size: min(2.21vw, 31px);
}
#training ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	max-width: 1060px;
	width: 90%;
	margin: 3.9% auto 0;
}
#training ul li {
	display: flex;
    flex-direction: column;
	width: 29.7%;
}
#training ul li p {
	margin: 0;
	padding: 1em 14px;
	color: #fff;
	background: #283CE5;
	flex-grow: 1;
	font-size: min(1.14vw, 16px);
}
section.campaign {
	background: #ABC9FF;
}
section.campaign .wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 1000px;
	height: 310px;
	padding-top: 3.77%;
	padding-bottom: 3.58%;
	background-color: #f3f7ff;
	background-image: url(../images/cta_bg_pc_left.jpg), url(../images/cta_bg_pc_right.jpg);
	background-position: left center, right center;
	background-repeat: no-repeat, no-repeat;
	background-size: contain, contain;
}
section.campaign h2 {
	font-size: min(1.71vw, 24px);
}
section.campaign h2 + p {
	margin: 1.5em auto 1em;
	padding: 0px 5px;
    width: fit-content;
	font-size: min(1vw, 14px);
}
section.campaign .deadline {
	margin-bottom: -30px;
	font-size: min(1.14vw, 16px);
}
section.campaign .campaign_price {
	display: block;
	max-width: 460px;
	margin: 0 auto 13px;
}
.btn_application {
	display: block;
	width: 33%;
	padding: 1em 0;
	box-sizing: border-box;
	font-size: min(1.28vw, 18px);
	line-height: 1;
}
#voices {
	padding-top: 3.2%;
    padding-bottom: 5.3%;
}
#voices .wrap {
	width: 75.7%;
}
#voices .swiper-container {
	position: relative;
	padding-bottom: 2.14%;
}
#voices .swiper-wrapper {
	padding-top: 3.85%;
}
#voices .swiper-container .swiper-slide img + div {
	padding: 1em;
	background: #f0f0f0;
}
#voices .swiper-container .swiper-slide .name {
	font-size: min(1.28vw, 18px);
}
#voices .swiper-container .swiper-slide .ttl {
	font-size: min(1.42vw, 20px);
}
#voices .swiper-container .swiper-slide .ttl + p {
	font-size: min(1.14vw, 16px);
}
#voices .swiper-container .swiper-slide .btn_detail {
	padding: 0.7em 0;
	font-size: min(1.14vw, 16px);
}
#voices .swiper-button-next,
#voices .swiper-button-prev {
	position: absolute;
	top: 0;
	right: 0;
	width: min(2.85vw, 40px);
	height: min(2.85vw, 40px);
	display: flex;
	justify-content: center;
	align-items: center;
	background: #283CE5;
	border-radius: 5px;
	content: "";
	cursor: pointer;
	z-index: 2;
}
#voices .swiper-button-prev {
	right: min(3.57vw, 50px);
}
#voices .swiper-button-next span,
#voices .swiper-button-prev span {
	position: relative;
	display: inline-block;
	width: min(0.57vw, 8px);
	height: min(1.35vw, 19px);
}
#voices .swiper-button-next span::before,
#voices .swiper-button-next span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: min(0.88vw, 12.4px);
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: calc(100% - 0.5px) 50%;
}
#voices .swiper-button-next span::before,
#voices .swiper-button-prev span::before {
	transform: rotate(52.15deg);
}

#voices .swiper-button-next span::after,
#voices .swiper-button-prev span::after {
	transform: rotate(-52.15deg);
}
#voices .swiper-button-prev span::before,
#voices .swiper-button-prev span::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	width: min(0.88vw, 12.4px);
	height: 1px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: 0.5px 50%;
}
#steps {
	padding-top: 3.28%;
	padding-bottom: 7.85%;
	background: url(../images/steps_bg_pc.jpg) no-repeat top center/cover;
}
#steps .wrap {
	width: 75.7%;
}
#steps .swiper-container {
	position: relative;
	padding-bottom: 2.14%;
}
#steps .swiper-wrapper {
	padding-top: 3.85%;
}
#steps .swiper-container .swiper-slide {
	background: #fff;
	z-index: 2;
}
#steps .swiper-container .swiper-slide::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: 1;
	width: 60px;
	height: 1px;
	background: #fff;
}
#steps .swiper-container .swiper-slide img + div {
	position: relative;
	padding: 1em 1em 8%;
	background: #fff;
}
#steps .swiper-container .swiper-slide .ttl {
	font-size: min(1.85vw, 26px);
}
#steps .swiper-container .swiper-slide .ttl .no {
	position: absolute;
	top: -0.2em;
	left: 0;
	z-index: 1;
	font-size: min(4.92vw, 69px);
}
#steps .swiper-container .swiper-slide .ttl .no + span {
	position: relative;
	z-index: 2;
}
#steps .swiper-container .swiper-slide .ttl + p {
	font-size: min(1.14vw, 16px);
}
#price {
	padding-top: 3.28%;
	padding-bottom: 7.85%;
}
#price .price_container {
	display: flex;
	justify-content: space-between;
	width: 95%;
	margin-top: 5.47%;
}
#price .price_container::after {
	content: none;
}
#price .price_container > div {
	width: 47.5%;
	padding: 0 1.79% 2.45%;
	box-sizing: border-box;
}
#price .price_container h3 {
	display: flex;
	width: fit-content;
	justify-content: center;
	align-items: center;
	margin: -0.9em auto 0;
	padding: 0.2em 1.5em;
	font-size: min(1.42vw, 20px);
}
#price .price_container h3 + p {
	margin-top: 4%;
	margin-bottom: 0.5em;
	line-height: 1;
	font-size: min(1.85vw, 26px);
	text-align: center;
}
#price .price_container .continuation h3 + p {
	margin: 7.1% 0 7%;
}
#price .price_container h3 + p + p {
	font-size: min(1.14vw, 16px);
	font-weight: bold;
	text-align: center;
}
#price .price_container > div .text {
	margin-top: 5.15%;
	padding-top: 1em;
	border-top: 1px solid #323232;
	font-size: min(1.14vw, 16px);
}
#price .price_container .new img {
	margin: -12.9% auto 0;
	width: 93.3%;
	max-width: 433px;
}
#price .price_container .continuation img {
	width: 53.4%;
	max-width: 248px;
}
#demo {
	padding-top: 3.28%;
	padding-bottom: 7.85%;
}
#demo > div.wrap div.movie_wrap {
	width: 650px;
	height: 365px;
	margin: 0 auto;
	padding: 0;
}
#faq {
	padding-top: 3.28%;
	padding-bottom: 5.21%;
}
#faq dl {
	width: 59.2%;
	margin: 3% auto 0;
	font-size: min(1.14vw, 16px);
}
#faq dt {
	padding-bottom: 8px;
}
#faq dt:nth-child(n+2) {
	margin-top: 20px;
}
#faq dt > span:first-child {
	width: min(3vw, 42px);
	height: min(3vw, 42px);
	margin-right: 12px;
	font-size: min(1.42vw, 20px);
}
#faq dd {
	margin-bottom: 3.6%;
}
#faq dd > span:first-child {
	width: min(3vw, 42px);
	height: min(3vw, 42px);
	margin-right: 12px;
	font-size: min(1.42vw, 20px);
}
#faq dl .text {
	width: calc(100% - 110px);
	padding-top: 0.5em;
}
#environment {
	padding-top: 3.28%;
	padding-bottom: 5.21%;
}
#environment .env_container {
	display: flex;
	justify-content: space-between;
	width: 95%;
	margin-top: 3.2%;
	margin-bottom: 4.43%;
}
#environment .env_container::after {
	content: none;
}
#environment .env_container > div {
	width: 47.5%;
}
#environment .env_container h3 {
	margin-top: 0;
	padding: 0.65em 0;
	font-size: min(1.14vw, 16px);
}
#environment .env_container dl {
	font-size: min(1vw, 14px);
}
#environment .env_container dl dt {
	padding-left: 1em;
}
#environment .env_container dd {
	margin: 0 0 5.1% 31.3%;
	padding-left: 3.9%;
}
#environment .env_container + .wrap {
	width: 95%;
}
#environment .env_container + .wrap p {
	font-size: min(1vw, 14px);
}
#books {
	padding-top: 3.28%;
	padding-bottom: 7vw;
}
#books ul {
	max-width: 860px;
	width: 95%;
	margin: 3% auto 0;
}
#books ul li {
	width: 21%;
}
footer .txt_right {
	position: absolute;
	right: 0;
	top: -2.5em;
	margin-right: 1em;
	padding: 0;
	text-align: right;
}
footer {
	padding: 2.07em 0;
	font-size: min(1vw, 14px);
}


/* 1026px以上用（PC用）の記述 end */
}


/*--------------------------------------------------------------------
 *	印刷用（PC表示）の記述
 *--------------------------------------------------------------------*/
@media print {
/* 印刷用（PC表示）の記述 */



/* 印刷用（PC表示）の記述 end */
}
