@charset "utf-8";

body{
	background-color:#ededde;
	overflow-x: hidden;
}

/* ---------------------------------------------------------
■ ヘッダー
--------------------------------------------------------- */
header {
    width: 100%;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
	position: fixed;
    z-index: 15;
}
header .hidden {
	transform: translateY(-100%);
}

.header_box{
	display:flex;
	flex-wrap:wrap;
}

.header_logo_box{
	width:225px;
	padding:15px 35px 13px;
	background-color:#fff;
	border-radius:0 0 25px 0;
}
.header_logo{
	transition: transform 0.3s ease-out;
}

.header_button_area{
	display:flex;
	flex-wrap:wrap;
	gap:0 25px;
	margin: 0 15px auto auto;
}

.header_button_area a{
	position:relative;
	display:flex;flex-wrap:wrap;
	margin:10px 0 auto;
	padding:7px 70px 7px 7px;
	border-radius:2em;
	filter: drop-shadow(1px 1px 3px rgba(34, 33, 5, .25));
}
.header_button_area a::after {
    content: "";
    position: absolute;
    top: 46%;
    right: 14px;
    width: 8px;
    height: 8px;
    border-bottom: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg) translateY(-50%);
    transition: .2s;
}
.header_button_area a svg path{stroke-width:0px;}
.header_button_area a span{display:block;}
.header_button_area a span:nth-child(1){
	background-color:#fff;
	height:100%;width:auto;
	aspect-ratio:1/1;
	border-radius:50%;
	padding:8px;
}

.header_button_area a span:nth-child(2){
	color:#fff;
	font-size:16px;
	font-weight:700;
	letter-spacing:0.15em;
	margin:auto 0;
	padding:0 17px;
}

.header_button_area a:nth-child(1){background-color:#dd116e;}
.header_button_area a:nth-child(1) svg{width:17px;}
.header_button_area a:nth-child(1) svg path{fill:#dd116e;}

.header_button_area a:nth-child(2){background-color:#ff981d;}
.header_button_area a:nth-child(2) svg path{fill:#ff981d;}
.header_button_area a:nth-child(2) span:nth-child(1){padding:8px 9.5px;}
.header_button_area a:nth-child(2) svg{width:14px;}


/*----------------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------------*/

.hamburger_box{
	margin:8px 15px auto 25px;
	transition: transform 0.3s ease-out;
}

.head-02.open {
  transform: translateX(70%);
  visibility: visible;
}
.lp-header__trigger.open span:nth-child(1) {transform: rotate(45deg);}
.lp-header__trigger.open span:nth-child(2) {opacity: 0;}
.lp-header__trigger.open span:nth-child(3) {transform: rotate(-45deg);}

.hamburger_trigger{
	display:flex;
	padding:5px;
	background-color:#fff;
	width:50px;
	height:auto;
	aspect-ratio:1 / 1;
	border-radius:50%;
}

.lp-header__trigger {
	position: relative;
	z-index: 5;
	background: none;
	border: none;
	padding: 0;
	height: 24px;
	cursor: pointer;
	margin: auto;
}
.lp-header__trigger span {
	display: block;
	width: 22px;
	height: 3px;
	background: #3a3a3a;
	margin-bottom: 6px;
	transform-origin: center left;
	border-radius: 3px;
	transition: all 600ms ease;
}

.lp-header__trigger span:last-child{margin-bottom:0;}

.lp-header__trigger.open span{width: 25px;background: #e6e6e6;}

.head-02 {
  width: 100%;
  transform: translateX(100%);
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  padding-top: 50px;
  padding-bottom: 21px;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 1;
  transition: all 600ms ease;
  visibility: hidden;
}
.head-02__wrap {
  padding: 0 10px;
}
.head-02 hr {
  margin: 0;
}
hr {
  border: none;
  border-top: 1px solid #888888;
  background:rgba(255,255,255,0);
}
.head-02__item {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 33%;
  color: #c6c6c6;
  padding: 17px;
}

.head-nav .head-logo{
	margin-left: 10px;
	height:45px;
	width:auto;
}

@media screen and (max-width: 799px) {
  .head-items {
    display: none;
    color: #dadada;
  }
}

.header_after{height:40px;}

/* ---------------------------------------------------------
■ TOPボタン
--------------------------------------------------------- */

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
}
#page-top a {
	text-decoration: none;
	text-align: center;
	color: #444;
	font-size: 70%;
	font-weight: bold;
	background: rgba(237, 237, 237,.8);
	width: 60px;
	aspect-ratio:1/1;
	border-radius: 50%;
	display: flex;
	transition: .1s;
}
#page-top a span{
	display: block;
	margin: auto;
}
@media screen and (min-width: 767px) {
	#page-top a:hover{
		opacity: .7;
	}
}


/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
footer {
	width: 100%;
	text-align: center;
  	background-color:#1d478e;
	color:#fff;
	padding:60px 0;
}
footer a{
	color:#fff;
}
footer .logo{
	width:50%;
	max-width: 320px;
}


/* ---------------------------------------------------------
■ ライトボックス
--------------------------------------------------------- */
.featherlight{ padding: 2%}

.lightbox{ 
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	text-align: left;
    padding: 25px;
	background-color:#fff;
}
@media screen and (max-width: 767px){
	.lightbox {
	    padding: 25px 20px;
	}
}


/* ---------------------------------------------------------
■ フェードイン
--------------------------------------------------------- */
.fadein {
  visibility: hidden; }

.fadein_delay {
	-webkit-animation-delay: 0.8s;
	-ms-animation-delay: 0.8s;
	animation-delay: 0.8s;
}

.fadeInDown {
  visibility: visible !important;
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  -ms-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }


/* ---------------------------------------------------------
■ フェードインｊｓ
--------------------------------------------------------- */
.Fade_In{
	opacity: 0;
  	transition: all .5s ease;
	transform: translate(0, 100px);
}

.Fade_In.show{
  opacity: 1;
  transform: none;
}



/*----------youtube動画---------*/
.youtube{
	
}
.youtube iframe{
	aspect-ratio: 16 / 9;
	width:100%;
	height:auto;
}



/*=======================================
 ■　追加分
=========================================*/


/*----------メインビジュアル---------*/
.mv_area{
	width:100%;
	overflow:hidden;
	padding:0 20px;
}

.main_area_topimg{
	line-height:0;
}

.mv_area_box{
	position:relative;
	width: 100%;
	max-width: 1340px;
	margin: auto;
}
.mv_area_box::before{
	content:"";
	position:absolute;
	z-index:-1;
	bottom:-52%;
	left:50%;
	transform: translateX(-50%);
	width:170%;
	height:auto;
	aspect-ratio:16 / 5;
	background-color:#fff;
	border-radius:50%;
}

.mv_area_box h1{
	line-height:0;
}

.mv_title{
	width: 100%;
	max-width:750px;
	margin:-140px auto 0;
	filter:drop-shadow(1px 1px 4px rgba(34,33,5,.5));
}


/*----------導入---------*/

.intro_area{background-color:#fff;}

.intro_box{padding:90px 30px;}

.intro_wrap{
	display: flex;
	flex-wrap: wrap;
	gap:4%;
	width: 100%;
	max-width: 1320px;
	margin: auto;
}
.intro_img{width:43%;}
.intro_text{width:53%;margin:auto 0;}

.intro_text h2{
	text-align:left;
	font-size:44px;
	font-weight:800;
	line-height:1.2em;
	padding-bottom:25px;
}

.intro_innertext p{
	font-weight:700;
	font-size:21px;
	padding-bottom:15px;
}


/*----------メインエリア---------*/

.main_area{
	position:relative;
	background-color:#fff;
}
.main_area::after{
	content:"";
	position: absolute;
	display: block;
	width:100%;
	height:100%;
	left:0;
	top:0;
	background-image:url("../images/intro_bk.webp");
}

.main_box{
	background-color:#ffca16;
	margin-top: -1px;
}

.main_box > *{position:relative;z-index: 4;}

.main_h2_area{
	padding:50px 20px 0;
}

.main_h2_area h2{
	position:relative;
	margin:auto;
	max-width:660px;
	filter: drop-shadow(1px 1px 4px rgba(34, 33, 5, .5));
}
.main_h2_area h2 img[src*="h2"]{
	position:absolute;
	width:200px;
	right:-140px;
	bottom:0;
}

.main_list_wrap{
	position:relative;
	margin: auto;
	max-width:1240px;
	display: flex;
	flex-wrap: wrap;
	gap:50px 0;
	padding:70px 20px;
}

.main_list_item{
	margin:0 auto 0 0;
	padding:0 40px 0 0;
	width:100%;
	max-width:1000px;
	display: flex;
	flex-wrap: wrap;
	background-color:#feffe9;
	border-radius:500px 60px 60px 500px;
	filter: drop-shadow(1px 1px 4px rgba(34, 33, 5, .5));
}
.main_list_itemimg{
	width:250px;
}
.main_list_itemimg img{
	border-radius:50%;
}
.main_list_itemtext{
	margin:auto;
	width:calc(100% - 250px);
	padding:20px 30px;
}

.main_list_itemtext h3{
	font-size:36px;
	font-weight:900;
	text-align:left;
	padding-bottom:10px;
}
.main_list_itemtext p{
	font-size:18px;
	font-weight:600;
}

.main_list_item.rtl{
	flex-direction:row-reverse;
	margin:0 0 0 auto;
	padding:0 0 0 40px;
	border-radius:60px 500px 500px 60px;
}


.main_reason_area{
	padding-bottom:20px;
}

.main_reason{
	position:relative;
	margin: auto;
	max-width:720px;
	padding:50px 0;
	font-size:40px;
	font-weight:800;
	background:radial-gradient(rgba(255,202,22,.7),rgba(255,202,22,0));
}
.main_reason::before,.main_reason::after{
	position:absolute;
	content:"";
	top:0;
	width:auto;
	height:100%;
	aspect-ratio:1 / 3;
	background-image: url("../images/main_connection_bk.webp");
	background-position:center;
	background-size: contain;
	background-repeat: no-repeat;
}
.main_reason::before{
	left:0;
	transform: scale(-1,1);
}
.main_reason::after{
	right:0;
}

.main_reason div:nth-child(2){
	font-size:1.7em;
	line-height:1.1em;
}


.main_connection{padding:0 50px;}

.main_connection_wrap{
	position:relative;
	margin:auto;
	max-width:1200px;
	padding:80px 0 80px;
	display:flex;
	flex-wrap: wrap;
	gap:60px;
}
.main_connection_item{
	width:calc((100% - 60px)/ 2);
	background-color:#feffe9;
	border-radius:20px;
	filter: drop-shadow(1px 1px 4px rgba(34, 33, 5, .5));
	background-image: url("../images/main_connection_bk.webp");
	background-position: 95% center;
	background-size: contain;
	background-repeat: no-repeat;
}
.main_connection_item h3{
	position:relative;
	display:flex;
	flex-wrap: wrap;
}

.main_connection_item h3 span:nth-child(1){
	position:absolute;
	margin:auto;
	width:240px;
	left:-40px;
	bottom:0;
	filter: drop-shadow(1px 1px 4px rgba(34, 33, 5, .25));
}

.main_connection_item h3 span:nth-child(2){
	padding:20px 20px 20px 170px;
	font-size:50px;
	font-weight:800;
	letter-spacing:0.08em;
}

.main_connection_itemtext{
	padding:30px 40px 50px;
}

.main_connection_itemtext p{
	font-family: lineseed, "sans-serif";
	font-size:18px;
    font-weight:600;
	padding:0 0 10px;
}
.main_connection_itemtext p:last-child{padding-bottom:0;}

.main_box img[src*="learning_title_bk"]{
	position:relative;
}


/*----------つながる---------*/

.learning_box{
	position:relative;
	background-color:#dd116e;
}

.learning_box img[src*="learning_seed"]{
	position:absolute;
	width:120px;
	left:50%;
	top:-40px;
	transform: translateX(-50%);
	z-index: 5;
}

.learning_h2box{
	padding:60px 60px 0;
}

.learning_h2box h2{
	margin: auto;
	max-width:1000px;
	line-height:0;
}
.learning_h2box h2 span{display:block;margin:auto;}
.learning_h2box h2 span:nth-child(1){width:60%;padding-bottom:15px;}
.learning_h2box h2 span:nth-child(2){}

.learning_intro{
	padding:20px 20px 50px;
}

.learning_intro_text{
	margin:auto;
	max-width:860px;
	color:#fff;
}
.learning_intro_text div:nth-child(1){
	font-weight:800;
	font-size:45px;
	line-height:1.15em;
	padding-bottom:20px;
}

.learning_intro_text div:nth-child(2){
	font-family: lineseed, "sans-serif";
	font-weight:700;
	font-size:20px;
}

/*--------タブ切り替え部分-----------*/

.tab_container_area{
	padding:0 30px 60px;
}

.tab_container {
	max-width:1200px;
	padding-bottom: 1em;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap:0 10px;
}
.tab_item{
	display: block;
	width: calc((100% - (10px * 4)) / 5);
	margin: auto 0 0;
	padding:15px 0 10px;
	background-color: #ececec;
	text-align: center;
	color: #fff;
	font-size:40px;
	font-weight: bold;
	border-radius: 15px 15px 0 0;
	transition: all 0.2s ease;
}

.tab_item[for="tab1"]{background-color: #137f9c;}
.tab_item[for="tab2"]{background-color: #5e9b00;}
.tab_item[for="tab3"]{background-color: #91c73c;}
.tab_item[for="tab4"]{background-color: #00bb9a;}
.tab_item[for="tab5"]{background-color: #8dc279;}
.tab_item[for="tab6"]{background-color: #13993c;}


@media screen and (min-width: 768px) {
	.tab_item:hover {
		padding-bottom:1em;
	}
}
input[name="tab_item"] {
	display: none;
}

.tab_content {
  display: none;
}

#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content,
#tab5:checked ~ #tab5_content{
	display: block;
}
.tab_container input:checked + .tab_item {
	padding-bottom: 1em;
}

#tab1_content{background-color: #137f9c;}
#tab2_content{background-color: #5e9b00;}
#tab3_content{background-color: #91c73c;}
#tab4_content{background-color: #00bb9a;}
#tab5_content{background-color: #8dc279;}
/*#tab6_content{background-color: #13993c;}*/


.tab_content{width:100%;padding:30px;border-radius:0 0 20px 20px;}

.tab_content_box{
	background-color: #fff;
    background-image: linear-gradient(90deg, rgba(0,0,0,.1) 1px, transparent 1px), linear-gradient(rgba(0,0,0,.1) 1px, transparent 1px);
    background-position: 10px 10px;
    background-size: 24px 24px;
	border-radius:25px;
	padding:30px 40px;
}

.tab_content_text{padding-bottom:15px;}
.tab_content_text h3{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
    font-size: 60px;
	letter-spacing:0.02em;
}

.tab_content_pbox{
	font-family: lineseed, "sans-serif";
}
.tab_content_pbox p{
	font-weight:700;
	font-size:20px;
}
.tab_content_pbox p span{color:#dd116e;}

.tab_content_img{line-height:0;}



/*--------合格者の声-----------*/

.voice_area{
	position:relative;
	background-color:#fff;
}
.voice_area::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:30px;
	background-image: url("../images/pink_wave.webp");
	background-size:60px;
	background-position: top center;
	background-repeat: repeat-x;
}

.voice_h2box{
	padding:90px 20px 60px;
}
.voice_h2box h2{
	margin:auto;
	max-width:1100px;
}
.voice_h2box h2 span{
	display: block;
	line-height:0;
}
.voice_h2box h2 span:nth-child(1){width:74%;margin:auto;}


.voice_intro_text{
	font-weight:800;
	font-size:24px;
	letter-spacing:0.04em;
}

.voice_list_box{
	padding:70px 30px;
	background-image:url("../images/voice_bk.webp");
	background-size: cover;
	background-repeat: no-repeat;
}

.voice_list_wrap{
	display: flex;
	flex-wrap: wrap;
	gap:50px;
	margin:auto;
	max-width:1100px;
}

.voice_list_inner{
	width:calc((100% - 50px) / 2);
}

.voice_list_comment{
	position:relative;
	background-color:#fff;
	border-radius:20px;
	padding:25px 40px 35px;
	font-family: lineseed, "sans-serif";
	filter: drop-shadow(1px 1px 4px rgba(34, 33, 5, .5));
}
.voice_list_comment::after{
	content:"";
	position: absolute;
	left:50%;
	bottom:-16px;
	display:block;
	width: 36px;
	height: 30px;
	background-color: #fff;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
	transform:translateX(-50%);
}

.voice_list_name{
	text-align:left;
	font-size:26px;
	display: flex;
	flex-wrap: wrap;
	font-weight:700;
	padding-bottom:10px;
}
.voice_list_name span{display:block;}
.voice_list_name span:nth-child(1){font-size:180%;line-height:1.2em;}
.voice_list_name span:nth-child(2){margin-top:auto;padding-left:5px;}
.voice_list_name span:nth-child(3){
	font-family: "M PLUS Rounded 1c", "sans-serif";
	margin-top:auto;
	margin-bottom:5px;
	margin-left: 5px;
	font-size:90%;
	padding:0 .8em;
	background-color: #ff981d;
	color:#fff;
	border-radius:2em;
}

.voice_list_text{
	font-size:18px;
}
.voice_list_text p{padding-bottom:10px;font-weight:600;}
.voice_list_text p:last-child{padding-bottom:0;}

.voice_list_img{
	padding:35px 0 0;
	margin: auto;
	width:120px;
}

.voice_list_img img[src*="01"]{padding-top:6px;}
.voice_list_img img[src*="02"]{width:86%;}


.voice_area::after {
    content: "";
    position: absolute;
    bottom:-1px;
    left: 0;
    display: block;
    width: 100%;
    height: 20px;
    background-image: url(../images/beige_wave.webp);
    background-size: 60px;
    background-position:bottom center;
    background-repeat: repeat-x;
}


/*--------ボタンエリア-----------*/

.main_button_box{padding:80px 20px;}

.main_button{
	display: flex;
	flex-wrap: wrap;
	gap:30px;
	margin:auto;
	max-width:1100px;
}

.main_button a{
	position:relative;
	display:flex;flex-wrap:wrap;
	padding:20px 25px;
	border-radius:4em;
	width:calc((100% - 30px)/ 2);
	filter: drop-shadow(1px 1px 3px rgba(34, 33, 5, .25));
}
.main_button a::after {
    content: "";
    position: absolute;
    top: 46%;
    right: 17px;
    width: 12px;
    height: 12px;
    border-bottom: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg) translateY(-50%);
    transition: .2s;
}
.main_button a svg path{stroke-width:0px;fill:#fff;}
.main_button a > span{display:block;}
.main_button a > span:nth-child(1){
	margin: auto 0;
	line-height:0;
}

.main_button a > span:nth-child(2){
	color:#fff;
	font-size:23px;
	font-weight:700;
	letter-spacing:0.15em;
	margin:auto;
	padding:0 17px;
}

.main_button a:nth-child(1){background-color:#dd116e;}
.main_button a:nth-child(1) svg{width:35px;}

.main_button a:nth-child(2){background-color:#ff981d;}
.main_button a:nth-child(2) svg{width:30px;}