html {
    scroll-behavior: smooth;
	
	overflow-x: hidden;

}	
	/*	#a{
    padding-top: 70px;
    margin-top:-70px;
}
		#b{
    padding-top: 70px;
    margin-top:-70px;
}
		#c{
    padding-top: 70px;
    margin-top:-70px;
}
		#d{
    padding-top: 100px;
    margin-top:-100px;
}*/
		
	
		
		
		.bg_txt img{width: 100%; height: auto;}
		.bg_r img{width: 100%; height: auto;}
		
		.accordion-label_ {
				position: relative;
				display: block;
				cursor: pointer;
				padding: 15px;
				border-right: 40px solid #EC6D7B;
				border-top: solid 3px #EC6D7B;
				border-left: solid 3px #EC6D7B;
				border-bottom: solid 3px #EC6D7B;
				background-color: #fff;
				font-size: 18px;
				font-weight: bold;
				text-align: left;
				border-radius: 20px;	
				z-index: 1;	
				}
	
		h3{font-size: 20px; margin-bottom: 10px; color: #eb4a8a; margin-top: 30px;}
		h4{font-size: 20px; text-align: left;}
	
		.main{
			/*margin-bottom: -65px;*/
		}
		.main p{margin-bottom: 20px;}
		
		.main img{width: 100%;}
		.main_btn{ width: 100%;width: 96%; margin-left: 2%; float: left; z-index: 1; position:relative; top:-50px;}
		.main_btn .btn_inner{ float: left; width: 48%; margin: 1%;transition: 0.3s;}
		.main_btn img{width: 100%; height: auto;}
		.main_btn img:hover{
    opacity: 0.7;
}
		
		.jo_btn img:hover{
    opacity: 0.7;
}
		.comment02{padding-left: 20px; padding-right: 20px; margin-top: -20px; background-color: #c7f1ff; margin-bottom: -40px; }
		.comment{ padding-left: 20px; padding-right: 20px; margin-top: 20px;}
		.merit{float: left; width: 100%; margin-top: 5px; margin-bottom: 30px;}
		.merit .m_l{width: 18%; float: left;}
		.merit .m_r{width: 80%; float: right;}
		.merit p{font-size: 13px; line-height: 150%; margin-top: 10px; text-align: left;}
		
		
		.horizontal-items {
    display: flex;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;

    
			
}
		.item {
	padding: 0;
    }
		.item img{width: 1800px;}
		.ao_link a{background-color: #ff9400; color: #fff; padding: 10px; border-radius: 20px;}
		.major_box{width: 48%; margin: 1%; float: left;}
		.major_box p{margin-bottom: 20px; line-height: 130%;}
		.major_box a{color: #14356a;}
		.major_box a:hover{text-decoration: underline;}

		.oc_bg img{width: 100%; height: auto;}		
		
		
		
	
	
	.lp_btn_{
		display: flex;
		margin: 0 auto;
		justify-content: center;
		padding-top: 10px;
		padding-bottom: 20px;	
		}	
	.lp_btn_ a {
				width: 33%;
				padding: 8px;
				}
	.lp_btn_ img {
		width: 100%; height: auto;
		}	
    .h2-img{
		width:50%;
		margin-left: 25%;
		margin-top: 20px;
		margin-bottom: 10px;
		}
		
		.oc_title img, .oc-time-title img {width: 80%; height: auto;
					margin-left: 10%;}
		.oc-time-title-a img {width: 60%;}
		.oc-time-title-b img {width: 60%;}
		
		
		
		.job-box-a .job-cap{ font-size: 70%; font-weight: 100;}
		
		
		.scroll_content-b li{ width: 35%;}
		
		.point-box1 {
	padding: 0.8em;
	margin: 2em 0 1em;
	background: #008fc6;
	border-radius: 30px;		
	}
	.point-box1 h2 {
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}
	.point-box2 {
	padding: 0.8em;
	margin: 2em 0 1em;
	background: #84ccce;
	border-radius: 30px;	
	}
	.point-box2 h2 {
	font-size: 1.4rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}	
	.point-box3 {
	padding: 0.8em;
	margin: 2em 0 1em;
	background: #65b2e2;
	border-radius: 30px;	
	}
	.point-box3 h2 {
	font-size: 1.4rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}	
		.point ul{ max-width: 600px; margin: 0 auto;}	
	.point li {
		font-size: 0.95rem;
				line-height: 2.8rem;
				font-weight: bold;
				}	
	
		
	.support h2{
				font-size: 1.8rem;
				margin: 20px 0;
				text-align: center;
				}
					.support p{
				font-size: 18px;
				line-height: 2rem;
				margin-bottom: 20px;
				}
		.sps{display: none;}	
		
	
		
	.job-box-a p{
				font-size: 15px;
				margin: 0; padding: 0;
				}	
		
	
		

		
		
	
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
.
.intro h2 {
	font-size: 1.4rem;
	color: #000;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
	}	
.intro h3 {
	font-size: 1.3rem;
	color: #466482;
	font-weight: bold;
	text-align: left;
	margin-bottom: 20px;
	}	
.intro_line h2 {
	font-size: 1.4rem;
	color: #000;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
	}	
.intro_line h3 {
	font-size: 1.2rem;
	color: #466482;
	font-weight: bold;
	text-align: left;
	/*margin-bottom: 20px;*/
	}	
.intro_noline h3 {
	font-size: 1.2rem;
	color: #466482;
	font-weight: bold;
	text-align: left;
	/*margin-bottom: 20px;*/
	}
		
.faq h3 {
	font-size: 1.2rem;
	color: #466482;
	font-weight: bold;
	text-align: left;
	/*margin-bottom: 20px;*/
	}		
		.h3_yellow{color:#f0ec81;}		
.col2 li {
  width : calc(100% / 2) ;
	float: left;
}
.col2 img{width: 100%;cursor: pointer;  }	
	

.col3 li {
  width : calc(100% / 3) ;
	float: left;
}
.col3 img{width: 100%;cursor: pointer;}	
.image_link{
 display:block; 
 position:relative;
 text-decoration:none;
 overflow:hidden;
}		

.image_link img{
 
  transition:0.3s;
  display:block;
  width:100%;
}
.image_link:hover img{
  transform:scale(1.1);cursor: pointer;
}	
		/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 65%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}			
/*----------------------------
タブ切り替え02
----------------------------*/		

.tabBox .tabArea {
  width: 100%;
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
	margin-top: -20px;
}
.tabBox .tabArea .one_tab {
  width: 50%;
  display: block;
  text-decoration: none;
  transition-duration: 0.3s;
  text-align: center;
  color: #fff;
  cursor: pointer;
	/*float: left;*/
}

.tabBox .tabArea .one_tab .tab_l{float: left; width: 78%; padding-left: 5%;}	
.tabBox .tabArea .one_tab .tab_l img{width: 100%; height: auto;}		
.tabBox .tabArea .one_tab .tab_r{float: right; width: 10%; padding-right: 5%;}	
.tabBox .tabArea .one_tab .tab_r img{width: 100%; height: auto;}			
.tabBox .tabArea .one_tab:hover {
  opacity: 0.7;
  text-decoration: none;
}
.tabBox .tabArea .one_tab .tab_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  transition-duration: 0.3s;
  font-size: 14px; line-height: 140%; text-align: left;
}
.tabBox .tabArea .one_tab:nth-child(1) .tab_inner {
  background-color: #ffd2f8;
	border: 1px solid #231815;
	color: #ed54b6;
}
.tabBox .tabArea .one_tab:nth-child(2) .tab_inner {
  background-color: #b7cad6;
	border: 1px solid #231815;
	color: #4480dd;
	
}
.tabBox .tabArea .one_tab:nth-child(3) .tab_inner {
  background-color: #e8a48b;
	
}
.tabBox .tabArea .one_tab.select .tab_inner {
  height: 80px;
	color: #000000;
	background-color: #fff;
	border-top: 1px solid #231815;
	border-left: 1px solid #231815;
	border-right: 1px solid #231815;
	border-bottom: none;
}
.tabBox .tabArea.bottom {
  align-items: flex-start;
}
		.contents{ margin-top: -70px;}		
.contents .tab_main {
  display: none;
  padding: 25px 0px;
  text-align: center;
  min-height: 280px;
  /*border: 2px solid #94ad73;*/
  transition-duration: 0.3s;
}
.contents img{width: 100%;}		
.tab_main.is_show {
  display: block;
}
.tab_main:nth-child(1).is_show {
  /*border: 2px solid #94ad73;*/
	
}
.tab_main:nth-child(2).is_show {
  /*border: 2px solid #e6de6b;*/

}
.tab_main:nth-child(3).is_show {
  /*border: 2px solid #e8a48b;*/
}

/*====================================================================
Slick。
====================================================================*/

/*page top*/
#page-top {
  position: fixed;
  bottom: 95px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #ab2129;
  text-decoration: none;
  color: #fff;
  width: 60px;
  padding: 28px 5px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}	
.point ul li{list-style: none;}			

	
	p {
	overflow: hidden;
	color: #303030;
	font-size: 15px;
	line-height: 2rem;
	}
	a {
	text-decoration: none;
	}
	ul,li {
		list-style: none;
		}
		.h2-img{
		width: 100%;
		margin-top: 20px;
		margin-bottom: 10px;	
		}
		h3{
		font-size: 2rem;
		line-height: 1.75;
		}

		vertical-align:top;
		}
		section{
		margin: 40px auto;
		}
		.sp {
		display: none;
		}
		.br-sp {
				display: none;
				}
.lp{
border: 1px solid #000;
				
				width: clamp(400px, 45vw, 1280px);
				margin-left: 65.5vw;
				max-width: 480px;
				margin-top: 0;
	           padding-top: 0;
}

@media screen and (max-width:1280px) and (min-width:767px){
	.lp{
border: 1px solid #000;
				
				width: clamp(400px, 45vw, 767px);
				margin-left: 45.5vw;
				max-width: 480px;
		        margin-top: 0;
	           padding-top: 0;
}
	
}
		@media screen and (max-width:767px) {
		body {
		min-width: 100%;
		}
		.main{
		width: 100%;
		}
		p {
		font-size: 14px;
		line-height: 1.8rem;
		}
		h3 {
		font-size: 1.5rem;
		}
		h2{
		text-align: center;
		}
		.lp{
	width: 100%;
				margin: 0 auto;
				border: 0px solid #000;
								}
		}
		
		/*TOP画像*/
		.lpimg{
		width: 100%; 
		text-align: center;
		height: auto;
			margin-bottom: 0;
		}
		
		/*ボタン*/
		.btn_bg{
		background-color: #fff;
		}
		.lp_btn{
		display: flex;
		margin: 0 auto;
		justify-content: center;
		padding-top: 10px;
		padding-bottom: 20px;	
		}
		
		.lp_btn img {
		width: 100%;
		}

				/*学べる分野*/
				.job{
				margin: 0 auto;
				width: 100%;
				margin-top: -15px;	
				}
				
				.job-box{
				display: -webkit-flex;
				display: flex;
				-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
				margin: 0 auto;
				width: 100%;
				}
				
				
				
					/*ポップアップ*/
				center{
								display: none;
				}
		.modal-wrapper {
		z-index: 999;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 40px 10px;
		text-align: center;
		}
		.modal-wrapper:not(:target) {
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s, visibility .3s;
		}
		.modal-wrapper:target {
		opacity: 1;
		visibility: visible;
		transition: opacity .4s, visibility .4s;
		}
		.modal-wrapper::after {
		display: inline-block;
		height: 100%;
		margin-left: -.05em;
		vertical-align: middle;
		content: ""
		}
		.modal-wrapper .modal-window {
		box-sizing: border-box;
		display: inline-block;
		z-index: 20;
		position: relative;
		width: 70%;
		max-width: 600px;
		border-radius: 2px;
		box-shadow: 0 0 30px rgba(0, 0, 0, .6);
		vertical-align: middle
		}
		.modal-wrapper .modal-window .modal-content {
		max-height: 80vh;
		overflow-y: auto;
		text-align: left
		}
		.modal-overlay {
		z-index: 10;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(0, 0, 0, .8)
		}
	.modal-wrapper .modal-close {
				z-index: 20;
				position: absolute;
				top: 36px;
				right: 25px;
				width: 34px;
				color: #95979c !important;
				font-size: 45px;
				font-weight: 700;
				line-height: 35px;
				text-align: center;
				text-decoration: none;
				text-indent: 0;
		}
		.modal-wrapper .modal-close:hover {
		color: #2b2e38 !important
		}
		.modal-img {
				width: 100%;
		}
		.fa, .far, .fas {
				font-family: "Font Awesome 5 Free";
				}
				.far {
				font-weight: 400;
				}
				.fa-times-circle:before {
				content: "\f057";
				
				}
								@media screen and (max-width:767px) {
								.modal-wrapper .modal-window {
				width: 90%;
				}
				.modal-wrapper .modal-close {
				top: 2px;
				right: 3px;
				font-size: 30px;
				}
								}
	
				/*アクセス*/
				.life_bg {
				padding: 56px;
				background-color: #d4e7e5;
				margin: 0 calc(50% - 50vw);
								text-align: center;
				}
				.life-title{
				text-align: center;
				}
				.life-box{
				width: 800px;
				margin: 0 auto;
				}
				.life-img{
				text-align: center;
				}
				.life-txt{
				margin: 20px 0;
				}
				.life-box span {
				background:linear-gradient(transparent 60%, #ff6 60%);
				}
				.life-img iframe{
				width: 100%;
				height: 350px;
				}
				@media screen and (max-width:767px) {
				.life_bg:after {
				height: 450px;
				width: 60vw;
				top: -30px;
				}
				.life_bg img{
				width: 100%;
				}
				.life-box{
				width: 90%;
				}
				.life-img img{
				width: 100%;
				}
				.life_bg {
				padding: 40px 0;
				}
				}
				/*オープンキャンパス*/
				.oc_bg {
				background: linear-gradient(
				to top,
				#e0e680 0%,
				#1f6735 100%
					
		);
				padding: 40px 0;
				position: relative;
					text-align: left;
				}
				.oc{
				width: 100%;
				margin: 0 auto;
				}
				.oc p{
				margin: 20px 0;
				}
				.oc-box{
				padding: 0.7em;
				margin: 0.7em ;
				background: #fff;
				}
				.oc-time{
				text-align: center;
				margin: 25px 0;
				}
								.oc_title img, .oc-time-title img{
				width: 100%;
				}
				.oc-time-title-a img, .oc-time-title-b img {
				width: 80%;
				}
				.fa-circle-check{
								content: "\f057";
				}
				/*来校*/
				.oc-time-title-a{
				background: linear-gradient(180deg,rgba(2,36,80,0) 50% 50%,#022450 50%);
				background-size: auto auto;
				margin: 0;
				}
				.scroll_content-a { 
				display: flex;
				max-width: 100%;
				overflow-x: auto;
				background-color: #022450;
				}
						.point{
		position: sticky;
		}
	.point-box1 {
	padding: 1em;
	margin: 2em 0 1em;
	background: #008fc6;
	}
	.point-box1 h2 {
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}
	.point li {
		font-size: 16px;
				line-height: 2.5rem;
				}
	.pop1 {
			width: 180px;
				position: absolute;
				top: 330px;
				left: -140px;
				}
				.oc-btn{
				width: 70%;
				margin: 20px auto;
				}
				.oc-btn img{
				width: 100%;
				}
				.support h2{
				font-size: 1.5rem;
				margin: 20px 0;
				text-align: center;
				}
					.support p{
				font-size: 16px;
				line-height: 2rem;
				margin-bottom: 20px;
				}
				
				/*テーブル*/
				.table {
		border-collapse: collapse;
				border: 1px solid #000;
				width: 100%;
				font-size: 16px;
				background-color: #fff;	
		}
	.th {
				border: 1px solid #000;
				background: #ffe063;
				padding: 12px 20px;
				}
		.td {
		border: 1px solid #000;
			padding: 12px 20px;
			text-align: end;
		}
				
				/*オンライン*/
				.oc-time-title-b{
				background: linear-gradient(180deg,rgba(244,244,244,0) 50% 50%,#95c8bf 50%);
				background-size: auto auto;
				margin: 0;
				}
				.scroll_content-b { 
				display: flex;
				max-width: 100%;
				overflow-x: auto;
				background-color: #95c8bf;
				}
				.point-box2 {
	padding: 1em;
	margin: 2em 0 1em;
	background: #84ccce;
	}
	.point-box2 h2 {
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}.point-box2 h2 {
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}
	.pop2 {
				width: 180px;
				position: absolute;
				top: 280px;
				right: -120px;
				}
				/*なんでも*/
		.point-box3 {
	padding: 1em;
	margin: 2em 0 1em;
	background: #65b2e2;
	}
	.point-box3 h2 {
	font-size: 1.2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
	}
			.pop3 {
			width: 180px;
				position: absolute;
				top: 91px;
				left: -154px;
				}
				/*スケジュール*/
				.scroll_content-a li ,.scroll_content-b li { 
				width: 90%;
				padding: 5px;
				margin: 5px;
				flex-shrink: 0;
				}
				.scroll_content-a img ,.scroll_content-b img{ 
				width: 100%;
				}
				.scroll_content-a::-webkit-scrollbar {
				height: 12px; 
				}
				.scroll_content-b::-webkit-scrollbar {
				height: 12px; 
				}
				.scroll_content-a::-webkit-scrollbar-thumb {
				background: #aaa; 
				border-radius: 6px; 
				}
				.scroll_content-b::-webkit-scrollbar-thumb {
				background: #aaa; 
				border-radius: 6px; 
				}
				.scroll_content-a::-webkit-scrollbar-track {
				background: #ddd; 
				border-radius: 6px; 
				}
				.scroll_content-b::-webkit-scrollbar-track {
				background: #ddd; 
				border-radius: 6px; 
				}
				.oc_btn{
				display: flex;
				}
				.oc_btn img{
				margin: 20px;
				}
				
				
				@media screen and (max-width:767px) {
				.oc_title img, .oc-time-title img{
				width: 100%;
				}
				.oc-time-title-a img, .oc-time-title-b img {
				width: 80%;
				}
				.scroll_content-a, .scroll_content-b{
				padding: 0px;
				}
				.scroll_content-a li, .scroll_content-b li {
				width: 280px;
				padding: 10px;
				}
				.pop1,.pop2 ,.pop3 {
				display: none;
				}
				}
				
				
				/*よくある質問*/
				
								.faq_top img{
				width: 100%;
				}
				.accordion {
				width: 94%;
				margin: 0 auto;
				}
				.accordion-item {
				margin-bottom: 2rem;
				}
				.accordion-check {
				display: none;
				}
				.accordion-label {
				position: relative;
				display: block;
				cursor: pointer;
				padding: 15px;
				border-right: 40px solid #EC6D7B;
				border-top: solid 3px #EC6D7B;
				border-left: solid 3px #EC6D7B;
				border-bottom: solid 3px #EC6D7B;
				background-color: #fff;
				font-size: 18px;
				font-weight: bold;
				text-align: left;
				border-radius: 20px;	
				z-index: 1;	
				}
				.accordion-label::after {
				width: 20px;
				transform: translateY(-50%);
				color: #ffffff;
				font-size: 30px;
				content: '+';
				z-index: 1;
				position: absolute;
				right: -30px;
				top: 50%;
				}
				.accordion-box {
				margin-top: -15px;	
				height: 0;
				overflow: hidden;
				opacity: 0;
				background-color: #fff;
				transition: all .5s;
				border: 2px solid #000961;
					z-index: 0;
					/*padding: 10px;*/
				}
				.accordion-check:checked~.accordion-box {
				height: auto;
				opacity: 1;
				padding: 2rem;
				text-align: left;
				}
				.accordion-check:checked+.accordion-label:after {
				content: '-';
				}
				.accordion-label span{
				color: #26798d;
				font-size: 2rem;
				}
				.accordion-box span{
				color: #ff7178;
				font-size: 2rem;
				}
				.accordion-box{
				font-size: 20px;
				}
				@media screen and (max-width:520px) {
				.accordion-label {
				padding: 10px;
				font-size: 15px;
				}
				.accordion-label span, .accordion-box span{
				font-size: 1.5rem;
				}
				}

	.job-box-a {
				margin: 5px 5px 15px 5px;
				font-weight: bold;
				background: #FFF;
				border-radius: 40px;
				width: 46.5%;
				text-align: center;
				padding: 10px 0 10px 0;
				border: 1px solid #000;
			box-shadow: 5px 8px 0px #adb4de;
				}	
	.job-box-a a{color: #000; text-decoration: none;}
	.job-box-a a:hover{transition:all 0.3s;opacity: 0.7;}
	.btn_space{width: 60%; margin: 0 auto; padding-bottom: 10px;}

	
		
	@media only screen and (max-width: 767px){	
		.bg_txt{ display: none;
		}
		.bg_r{ display: none;
		}	
		 }
	/*全体的なこと*/
	body {
	position: relative;
	/*min-width: 980px;*/
	height: 100%;
	background: #fff;
	color: #222;
	margin: 0;
	word-wrap: break-word;
	letter-spacing: .1em;
	font-weight: 400;
	font-size: 1.4rem;
	font-family: "Lato","Hiragino Kaku Gothic ProN", "Meiryo", "verdana", sans-serif;
	line-height: 1.5;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	
}
	/*ヘッダー*/
		header {
		position: static;
		z-index: 2;
		top: 40px;
		width: 100%;
		height: 60px;
		background-color: #fff;
		padding: 10px 0;
		/*margin-top: -30px;	*/
		/*border-left: 1px solid #000;
		border-right: 1px solid #000;	*/
			text-align: center;
		}
	.lp-bg{
		margin-top: -40px;
		background-attachment: fixed;
		background-size: cover;
		background-position: center;
				background-image: url('/lp/2608spdc/images/bg.jpg');
}
		.logo img {
		height: 60px;
		}
		@media screen and (max-width:567px) {
		header{
		height: 50px;
		}
		.logo img{
				height: auto;
				width: 75%;
			margin: 0 auto;
		}
		}
.lpimg img {
		width: 100%;
			/*padding-top: 40px;*/
			
			margin-bottom: 15px;
	background-color: #fff;
		}	

.intro{margin-top: -40px; width: 94%; padding-left: 3%; padding-right: 3%; border-top: 1px solid #000; }
.intro_nomargin{margin-top: 0px; width: 100%; padding-bottom: 30px; }		
.intro_line{margin-top: 30px; width: 94%; padding-left: 3%; padding-right: 3%; padding-bottom: 30px;  text-align: left; }
.intro_noline{margin-top:0; width: 94%; padding-left: 3%; padding-right: 3%;  text-align: center;   }
.intro_red{margin-top: -40px; padding-top: 30px; width: 97%; padding-left: 3%; padding-right: 0%; 
           background: linear-gradient(90deg, rgb(250, 222, 245), rgb(248, 250, 250)); padding-bottom: 30px;}
.intro_red p{margin: 0; padding: 0;}
.intro_red02{margin-top: 0; padding-top: 30px; width: 94%; padding-left: 3%; padding-right: 3%; 
           background: linear-gradient(90deg, rgb(250, 222, 245), rgb(248, 250, 250)); padding-bottom: 50px;}
.intro_red02 p{margin: 0; padding: 0;}
.intro_red02 img{width: 100%;}


.back_pink{background-color:#fbd8e2; padding-top: 50px; padding-bottom: 30px; }
.back_pink img{width: 100%; height: auto;}
.intro_wline{margin-top: 10px; width: 94%; margin-left: 3%; padding-bottom: 20px; } 
.intro_wline p{color: #fff; text-align: left;}	
.support h2{color: #fff; margin-top: 40px;}	
.support p{color: #fff;}
.int_text h2{color: #fff; font-size: 120%; margin-bottom: 20px;}	
.int_text p{color: #fff; margin-bottom: 40px;}	
.last_btn {float: left;}
.last_btn img{float: left; width: 48%; margin: 1%;}		
	
.btn_ani img{
    /* 拡大するのにかかる時間 */
    transition:all 0.3s;
}
 
.btn_ani img:hover{
    /* ホバーしたら1.2倍サイズに拡大 */
    transform: scale(1.1);
}	
.faq_bg{
	
    background-position: top;
    background-size: contain;
		background-color:#F0D6E2;
		padding: 0px 0 70px 0;
		text-align: center;
		margin-top: 0;	
				}	
	.job-box-a {
				margin: 5px 5px 15px 5px;
				font-weight: bold;
				background: #FFF;
				border-radius: 40px;
				width: 46.5%;
				text-align: center;
				padding: 10px 0 10px 0;
				border: 1px solid #000;
			box-shadow: 5px 8px 0px #adb4de;
				}	
	.job-box-a a{color: #000; text-decoration: none;}
	.job-box-a a:hover{transition:all 0.3s;opacity: 0.7;}
	.btn_space{width: 60%; margin: 0 auto; padding-bottom: 10px;}
	.obi_space{margin-top: 50px; }
	.obi_space02{margin-top: -30px;}


h1{margin: 0; padding: 0;}	
				/*フッター*/
				footer {
				text-align: center;
				margin: 0px 0;
				z-index: 2;	
				background-color: #fff;	
				}
				}

/*2603SPDC*/
a:hover{opacity:0.7;}	
  	a img{width:100%;}
  .job_btn{ width: 70%;margin-left: 15%; margin-top: 5%;}
  .job_btn img{ float: left; margin: 2.5%;transition: 0.3s; width: 45%;}
  .lp-bg02{
  		background-size: cover;
  		background-position: center;
  		background-image: url('/lp/2603spdc/images/bg02.jpg');
  	    padding-top: 10px;
  }	
  .faq_top img{
  				width: 94%;
  				margin-left: 3%;margin-right: 3%;
  				
  				}		
  @media only screen and (min-width: 1280px){	
  		.bg_txt{ position:fixed; width: 40%;top:8%;left: 12%;
  		}
  		
  		}	
  @media screen and (min-width:767px) and ( max-width:1280px) {
  	.bg_txt{ position:fixed; width: 42%;top:15%;left: 2%;}
  		.job_btn img{ float: left; width: 70%; transition: 0.3s;margin-bottom: 0px; margin-left: 20%;	
  		}
  		
  		}	
  /*横スライド*/
  /* ===== 完全にCSS影響を遮断 ===== */
  .isolated-slider,
  .isolated-slider * {
    all: initial;
    box-sizing: border-box;
  }
  
  /* ===== スライダー枠 ===== */
  .isolated-slider {
    width: 100%;
    overflow: hidden;
    display: block;
    margin-bottom: 40px;	
  }
  
  /* ===== 流れるレーン ===== */
  .isolated-slider .slider-track {
    display: flex;
    gap: 10px;
    width: max-content;
    animation: slide-left 20s linear infinite;
  }
  
  /* ===== 画像 ===== */
  .isolated-slider img {
    width: 280px;
    height: auto;
    flex-shrink: 0;
    display: block;
  }
  
  /* ===== アニメーション ===== */
  @keyframes slide-left {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
  	
  .ir_space{margin-top: -10px;}
  	
  /*リスト*/
  .custom-list {
      list-style: none; /* デフォルトの黒丸を消す */
      padding-left: 8%;
    }
  
    .custom-list li {
      position: relative;
      padding-left: 1.8em; /* アイコンの幅に合わせて調整 */
      margin-bottom: 10px;
      line-height: 1.5;
      font-weight: bold;
      display: flex;
      align-items: center;
  	font-size: 1.2rem;  
    }
  
    /* チェックマークを疑似要素で表示 */
    .custom-list li::before {
      content: "";
      position: absolute;
      left: 0;
      width: 1.1em;  /* アイコンのサイズ */
      height: 1.1em; /* アイコンのサイズ */
      background-image: url('/lp/2603spdc/images/point04.png'); /* ここに保存した画像パスを入れてください */
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
    }	
  	
  /**/
  	.fha_g{margin-top: -140px;padding-left: 50%;margin-bottom: -20px;}	
  	.fha_g img{width: 150px;}
  	.intro_red a:hover{opacity: 0.6;}
  	
  /*ロードマップ*/
    /* 全体幅100% */
    .roadmap-wrap {
      width: 100%;
      /*padding: 40px 16px;*/
      box-sizing: border-box;
      margin: -50px 0;	
    }
    
    /* 中央固定カラム（スマホでも崩さない） */
    .roadmap {
      max-width: 480px;
      margin: 0 auto;
      position: relative;
    }
    
    /* タイトル */
    .roadmap h1 {
      text-align: center;
      font-size: 26px;
      font-weight: 700;
      margin-bottom: 32px;
    }
    
    .roadmap h1::after {
      content: "";
      display: block;
      width: 80px;
      height: 4px;
      background: #ff6f3d;
      margin: 12px auto 0;
    }
    
    /* 縦ライン */
    .roadmap::before {
      content: "";
      position: absolute;
      left: 8px;
      top: 126px;                /* 01の黒丸中心 */
      bottom: 102px;              /* ← 08の黒丸中心で止める */
      width: 4px;
      background: #000;
    
      transform-origin: top;    /* 上から伸びる */
      transform: scaleY(0);     /* 最初は見えない */
      animation: lineGrow 1.2s ease-out forwards;
    }
    
    /* ステップ */
    .step {
      position: relative;
      padding-left: 37px;
      margin-bottom: 40px;
    }
    
    /* 黒丸 */
    .step::before {
      content: "";
      position: absolute;
      left: 2px;
      top: 6px;
      width: 16px;
      height: 16px;
      background: #000;
      border-radius: 50%;
      opacity: 0;
      transform: scale(0.5);
      animation: dotAppear 0.4s ease-out forwards;
    }
    
    .step-title {
      display: flex;
      align-items: flex-start; /* ← 改行しても上揃え */
      gap: 10px;
      margin-bottom: 12px;
    }
    
    /* 番号 */
    .step-num {
      min-width: 36px;         /* ← 桁ズレ防止 */
      font-size: 24px;
      font-weight: bold;
      color: #000;
      line-height: 1.4;
    }
    
    /* テキスト */
    .step-text {
      font-size: 18px;
      font-weight: 700;
      color: #ec6d7b;
      line-height: 1.4;
      padding-top: 7px;	
    }
    
    /* 説明ボックス */
    .box {
      background: #fff;
      padding: 15px;
      border-radius: 6px;
      font-size: 14px;
      line-height: 1.7;
      margin-bottom: 5px;	
    }
    
    /* 画像完全寄せボタン */
    .btn-oc {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-top: 14px;
      padding: 10px 18px;
      min-width: 260px;
      border: 2px solid #ec6d7b;
      border-radius: 999px;
      color: #ec6d7b;
      text-decoration: none;
      font-size: 13px;
      font-weight: 700;
      box-sizing: border-box;
      background-color: #fff;	
    }
    
    /* 右矢印丸 */
    .btn-oc span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 15px;
      height: 15px;
      background: #ec6d7b;
      color: #fff;
      border-radius: 50%;
      font-size: 11px;
      line-height: 1;
      padding-left: 3px; padding-bottom: 2px	
    }
    	
    /* 縦線アニメーション */
    @keyframes lineGrow {
      to {
        transform: scaleY(1);
      }
    }
    @keyframes dotAppear {
      to {
        opacity: 1;
        transform: scale(1);
      }
    }	
    .step:nth-of-type(1)::before { animation-delay: 0.4s; }
    .step:nth-of-type(2)::before { animation-delay: 0.7s; }
    .step:nth-of-type(3)::before { animation-delay: 1.0s; }
    .step:nth-of-type(4)::before { animation-delay: 1.3s; }
    .step:nth-of-type(5)::before { animation-delay: 1.6s; }
    .step:nth-of-type(6)::before { animation-delay: 1.9s; }
    .step:nth-of-type(7)::before { animation-delay: 2.2s; }
    .step:nth-of-type(8)::before { animation-delay: 2.5s; }	
  	
  /*講座*/
  :root {
              --primary-pink: #db7a7e;
              --bg-light-pink: #f2e3e8;
              --border-navy: #1a2a4d;
              --text-black: #333;
          }
  
          /*body {
              font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
              background-color: var(--bg-light-pink);
              margin: 0;
              padding: 20px 10px;
              display: flex;
              justify-content: center;
          }*/
  
          .container {
              /*width: 100%;*/
              max-width:100%; /* スマホサイズ基準 */
  			text-align: left;
          }
  
          /* ヘッダータイトル */
          .header-title {
              background-color: var(--primary-pink);
              color: white;
              text-align: center;
              padding: 15px;
              font-size: 1.2rem;
              font-weight: bold;
              border-radius: 4px;
              margin-bottom: 20px;
          }
  
          /* 学科ボタンエリア */
          .tab-menu {
              display: flex;
              flex-wrap: wrap;
              gap: 8px;
              justify-content: center;
              margin-bottom: 35px;
  			text-align: left;
          }
  
          .tab-btn {
              background: white;
              border: 1px solid #ccc;
              border-radius: 5px;
              padding: 8px 12px;
              font-size: 0.85rem;
              cursor: pointer;
              color: #666;
              transition: 0.3s;
          }
  
          /* 各学科の色（画像に基づき再現） */
          .tab-btn[data-dept="hotel"] { color: #039160; border-color: #039160;font-weight:bold; }
          .tab-btn[data-dept="travel"] { color: #e52e45; border-color: #e52e45;font-weight:bold; }
          .tab-btn[data-dept="railway"] { color: #004289; border-color: #004289;font-weight:bold; }
          .tab-btn[data-dept="airline"] { color: #019cd3; border-color: #019cd3;font-weight:bold; }
          .tab-btn[data-dept="bridal"] { color: #f393b5; border-color: #f393b5;font-weight:bold; }
          .tab-btn[data-dept="korean"] { color: #636cb3; border-color: #636cb3;font-weight:bold; }
          .tab-btn[data-dept="food"] { color: #eca108; border-color: #eca108;font-weight:bold; }
          
  
          .tab-btn.active {
              background-color: #eee;
              box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
          }
  
          /* カードエリア */
          .content-area {
              position: relative;
          }
  
          .course-card {
              display: none; /* 初期は非表示 */
              background: white;
              border: 2px solid #ec6d7b;
              border-radius: 12px;
              overflow: hidden;
              animation: fadeIn 0.5s ease forwards;
  			margin-bottom:30px;
          }
  
          .course-card.active {
              display: block;
          }
  
          @keyframes fadeIn {
              from { opacity: 0; transform: translateY(5px); }
              to { opacity: 1; transform: translateY(0); }
          }
  
          /* ダミー画像部分 */
          .image-placeholder {
              background-color: #ddd;
              /*height: 220px;*/
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 2rem;
              color: #333;
          }
  
          /* 詳細テキスト部分 */
          .card-body {
              padding: 20px;
          }
  
          .tags {
              display: flex;
              gap: 10px;
              align-items: center;
              margin-bottom: 15px;
          }
  
          .tag-dept {
              border: 1px solid #ccc;
              padding: 4px 12px;
              border-radius: 5px;
              font-size: 0.8rem;
              font-weight: bold;
          }
  
          .tag-time {
              display: flex;
              border: 1px solid var(--primary-pink);
              border-radius: 5px;
              overflow: hidden;
              font-size: 0.8rem;
          }
  
          .tag-time .label {
              background: #ec6d7b;
              color: white;
              padding: 4px 8px;
          }
  
          .tag-time .value {
              padding: 4px 8px;
              color: #333;
          }
  
          .card-title {
              font-size: 1.1rem;
              font-weight: bold;
              line-height: 1.4;
              margin-bottom: 15px;
          }
  
          .card-desc {
              font-size: 0.9rem;
              line-height: 1.6;
              color: #444;
              margin-bottom: 20px;
          }
  
          /* 申し込みボタン */
          .apply-btn {
              display: flex;
              align-items: center;
              justify-content: center;
              background-color: #ec6d7b;
              color: white;
              text-decoration: none;
              padding: 15px;
              border-radius: 12px;
              font-weight: bold;
              position: relative;
              transition: 0.3s;
          }
  
          .apply-btn::after {
              content: '>';
              position: absolute;
              right: 20px;
              font-weight: normal;
          }
  
          .apply-btn:hover {
              opacity: 0.8;
          }
  	/**/
  	.sp_txt{font-size:12px;text-align:left;line-hight:120%;margin-top:-20px;}
  	.appli{margin:0px; float: left;width: 100%;}	
  .appli img{width: 49%;margin: 0.5%;float: left;}
  	.faq_t{margin-top:-30px;margin-bottom:-10px;}	
  	
  /*FAQ*/
    .faq-wrapper {
      max-width: 720px;
      margin: 0 auto;
      padding: 30px 0px 0px;
    }
    
    /* ===== タイトル ===== */
    .faq-title {
      color: #fff;
      text-align: center;
      font-size: 32px;
      margin-bottom: 32px;
      position: relative;
    }
    
    .faq-title::after {
      content: "";
      display: block;
      width: 124px;
      height: 3px;
      background: #fff;
      margin: 12px auto 0;
    }
    
    /* ===== FAQカード ===== */
    .faq-item {
      background: #fff;
      border-radius: 20px;
      margin-bottom: 20px;
      overflow: hidden;
  	  
    }
    
    /* ===== 質問 ===== */
    .faq-question {
      display: flex;
      align-items: left;
      width: 100%;
      border: none;
      background: none;
      padding: 20px;
      cursor: pointer;
    }
    
    .faq-q {
      font-size: 28px;
      font-weight: 800;
      color: #ec6d7b;
      margin-right: 12px;
      
    }
    
    .faq-question-text {
      font-size: 16px;
      font-weight: 700;
      flex: 1;
      text-align: left;	
      padding-top: 5px;	
    }
    
    /* ===== 矢印 ===== */
    .faq-arrow {
      margin-top: 8px;	
      width: 20px;
      height: 20px;
      background: #ec6d7b;
      border-radius: 50%;
      position: relative;
      flex-shrink: 0;
      transition: transform 0.3s ease;
    }
    
    .faq-arrow::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 4px;
      height: 4px;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      transform: translate(-50%, -60%) rotate(45deg);
    }
    
    /* ===== 点線 ===== */
      .faq-divider {
  border-top: 2px dotted #333;
  margin: 0 20px;
  display: none; /* ここで最初は見えなくする */
}
    
    /* ===== 回答 ===== */
    .faq-answer {
      display: flex;
      gap: 12px;
      padding: 0 20px;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.45s ease, padding 0.45s ease;
  	text-align:left;  
    }
    
    .faq-a {
      font-size: 26px;
      font-weight: bold;
      color: #fff5e6;
      line-height: 1.6;
      
      -webkit-text-stroke: 1.5px #ec6d7b; /* 縁の太さ(1px)と色(黒) */	
    }
    
    .faq-answer-text {
      font-size: 14px;
      line-height: 1.8;
    }
    
    /* ===== 開いた状態 ===== */
    .faq-item.active .faq-answer {
      max-height: 400px;
      padding: 16px 20px 20px;
    }
  	/* ===== 開いた状態 (アクティブ時のみ表示) ===== */
.faq-item.active .faq-divider {
  display: block; /* 開いた時だけ表示 */
}
    
    .faq-item.active .faq-arrow {
      transform: rotate(180deg);
    }
    
    /* ===== レスポンシブ ===== */
    @media (max-width: 480px) {
      .faq-item {
      background: #fff;
      border-radius: 15px;
      margin-bottom: 15px;
      overflow: hidden;
  	  
    }
  	.faq-question-text {
      font-size: 15px;
      font-weight: 700;
      flex: 1;
      text-align: left;	
      padding-top: 8px;	
    }  
  	  
  	.faq-answer-text {
      font-size: 14px;
      line-height: 1.8;
    }  
  	.faq-question {
      display: flex;
      align-items: left;
      width: 100%;
      border: none;
      background: none;
      padding: 10px;
      cursor: pointer;
    } 
  	.faq-item.active .faq-answer {
      max-height: 400px;
      padding: 13px 15px 15px;
    }
    }
/*260703追加*/
        /*==============================
         Gallery Section
        ==============================*/
        
        .gallery-section{
            width:100%;
            padding:20px 16px;
            box-sizing:border-box;
        	
        	
        }
        
        .gallery-card{
            background:#fff;
            border-radius:18px;
            padding:16px;
            box-shadow:0 8px 24px rgba(0,0,0,.12);
        }
        
        .gallery-main{
            display:block;
            margin-bottom:16px;
        }
        
        .gallery-main img{
            width:100%;
            display:block;
            border-radius:12px;
        }
        
        .gallery-grid{
            display:flex;
            gap:12px;
        }
        
        .gallery-item{
            flex:1;
        }
        
        .gallery-item img{
            width:100%;
            display:block;
            border-radius:12px;
        }
        
        
        /*==============================
         PC
        ==============================*/
        
        @media screen and (min-width:481px){
        
        .gallery-section{
            max-width:480px;
            margin:0 auto;
            padding:24px 16px;
        }
        
        .gallery-card{
            padding:18px;
        }
        
        .gallery-grid{
            gap:16px;
        }
        
        }	
        /*==============================
         Experience
        ==============================*/
        
        .experience-section{
            width:100%;
            padding:20px 16px;
            box-sizing:border-box;
        }
        
        /* 先ほどのgallery-cardを流用 */
        .gallery-card{
            background:#fff;
            border-radius:18px;
            padding:18px;
            box-shadow:0 8px 24px rgba(0,0,0,.12);
        }
        
        /*------------------
        タイトル
        -------------------*/
        
        .experience-title{
            position:relative;
            display:flex;
            align-items:center;
            height:60px;
            margin-bottom:20px;
        }
        
        /* グラデーション帯 */
        .experience-title .title-bg{
            position:absolute;
            left:30px;      /* 円の中央付近から開始 */
            right:0;
            top:50%;
            transform:translateY(-50%);
            height:48px;
            border-radius:0 28px 28px 0;
        
            background:linear-gradient(
                90deg,
                rgba(236,43,112,.18) 0%,
                rgba(236,43,112,.10) 45%,
                rgba(236,43,112,0) 100%
            );
        }
        
        /* 丸数字 */
        .experience-title .num{
            position:relative;
            z-index:2;
        
            width:50px;
            height:50px;
        
            border-radius:50%;
        
            display:flex;
            justify-content:center;
            align-items:center;
        
            background:#ec2b70;
            color:#fff;
        
            font-size:36px;
            font-weight:900;
            line-height:1;
        }
        
        /* タイトル */
        .experience-title h2{
            position:relative;
            z-index:2;
        
            margin-left:14px;
        
            color:#ec2b70;
            font-size:32px;
            font-weight:bolder;
            line-height:1;
        }
        
        /*==========================
         キャッチコピー
        ==========================*/
        
        .experience-copy{
        
            display:flex;
            justify-content:center;
            align-items:center;
            gap:18px;
        
            margin:8px 0 26px;
        
            color:#ec2b70;
            font-size:22px;
            font-weight:800;
            line-height:1.5;
            text-align:center;
        }
        
        .copy-text{
            display:block;
        }
        
        /*-----------------
        左右の飾り
        -----------------*/
        
        .deco{
        
            position:relative;
        
            width:34px;
            height:34px;
        
            flex-shrink:0;
        }
        
        .deco i{
        
            position:absolute;
        
            width:3px;
            border-radius:999px;
            background:#ec2b70;
        
            left:50%;
            bottom:2px;
        
            transform-origin:bottom center;
        }
        
        /* 左 */
        
        .deco.left i:nth-child(1){
        
            height:18px;
            transform:translateX(-50%) rotate(-52deg);
        }
        
        .deco.left i:nth-child(2){
        
            height:26px;
            transform:translateX(-50%) rotate(-34deg);
        }
        
        .deco.left i:nth-child(3){
        
            height:32px;
            transform:translateX(-50%) rotate(-16deg);
        }
        
        /* 右 */
        
        .deco.right i:nth-child(1){
        
            height:32px;
            transform:translateX(-50%) rotate(16deg);
        }
        
        .deco.right i:nth-child(2){
        
            height:26px;
            transform:translateX(-50%) rotate(34deg);
        }
        
        .deco.right i:nth-child(3){
        
            height:18px;
            transform:translateX(-50%) rotate(52deg);
        }
        /*------------------
        Grid
        -------------------*/
        
        .experience-grid{
        
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:18px;
        }
        
        /*------------------
        Card
        -------------------*/
        
        .experience-card{
            background:#fff;
            border-radius:18px;
            overflow:hidden;
            display:flex;
            flex-direction:column;
        }
        
        .experience-card img{
            display:block;
            width:100%;
            height:auto;          /* 高さを自動 */
            object-fit:contain;   /* トリミングなし */
            background:#fff;      /* 画像比率が違っても余白は白 */
        }
        
        .experience-card .caption{
            background:#ec2b70;
            color:#fff;
            padding:0px 10px;
            font-size:16px;
            font-weight:700;
            line-height:1.45;
        	letter-spacing:0;   /* 字間を0 */
            display:flex;
            align-items:center;
        
            min-height:80px;
        }
        /*------------------
        PC
        -------------------*/
        
        @media (min-width:481px){
        
        .experience-section{
        
            max-width:480px;
            margin:auto;
        }
        
        }	
        /*=================================
         おすすめポイント
        =================================*/
        
        .recommend-section{
            padding:20px 16px;
        }
        
        .recommend-card{
        
            background:#fff4c8;
            border-radius:18px;
            padding:16px;
            box-shadow:0 8px 24px rgba(0,0,0,.12);
        
        }
        
        /*=========================
        タイトル
        =========================*/
        
        .recommend-title{
        
            position:relative;
        
            display:flex;
            align-items:center;
        
            height:60px;
        
            margin-bottom:20px;
        
        }
        
        .recommend-title .title-bg{
        
            position:absolute;
        
            left:30px;
            right:0;
            top:50%;
        
            transform:translateY(-50%);
        
            height:48px;
        
            background:linear-gradient(
                90deg,
                rgba(255,255,255,.95),
                rgba(255,255,255,0)
            );
        
            border-radius:0 28px 28px 0;
        
        }
        
        .recommend-title .num{
        
            position:relative;
            z-index:2;
        
            width:48px;
            height:48px;
        
            border-radius:50%;
        
            background:#ec2b70;
            color:#fff;
        
            display:flex;
            justify-content:center;
            align-items:center;
        
            font-size:36px;
            font-weight:900;
        
        }
        
        .recommend-title h2{
        
            position:relative;
            z-index:2;
        
            margin-left:14px;
        
            color:#ec2b70;
        
            font-size:32px;
            font-weight:900;
            line-height:1;
        
        }
        
        /*=========================
        レイアウト
        =========================*/
        
        .recommend-content{
        
            display:flex;
            gap:13px;
            align-items:flex-start;
        
        }
        
        .recommend-photo{
        
            width:38%;
            flex-shrink:0;
        
        }
        
        .recommend-photo img{
        
            width:100%;
            height:auto;
            display:block;
        
        }
        
        .recommend-text{
        
            flex:1;
        
        }
        
        
        
        .recommend-heading h3{
            position:relative;
            z-index:1;
        
            margin:0;
        
            color:#ec2b70;
            font-size:24px;
            font-weight:900;
            line-height:1;
            letter-spacing:0;
        }
        
        /*=========================
        リスト
        =========================*/
        
        .recommend-list{
        
            margin:0;
            padding:0;
        
            list-style:none;
        
        }
        
        .recommend-list li{
        
            display:flex;
            align-items:flex-start;
        
            margin-bottom:15px;
        
            color:#2d1c1c;
        
            font-size:13px;
        	letter-spacing: 0;
            font-weight:700;
            line-height:1.4;
        
        }
        
        /*=========================
        チェックボックス
        =========================*/
        
        .check{
        
            width:14px;
            height:14px;
        
            margin-right:8px;
        
            border:1px solid #333;
        
            position:relative;
        
            flex-shrink:0;
        
            background:#fff;
        
        }
        
        .check::after{
        
            content:"";
        
            position:absolute;
        
            left:4px;
            top:-7px;
        
            width:6px;
            height:15px;
        
            border-right:2px solid #ec2b70;
            border-bottom:2px solid #ec2b70;
        
            transform:rotate(40deg);
        
        }
        /*=========================
        おすすめ見出し
        =========================*/
        
        .recommend-heading{
            position:relative;
            display:inline-flex;
            align-items:center;
            height:28px;
            margin-bottom:14px;
        }
        
        .recommend-heading::before{
        
            content:"";
        
            position:absolute;
        
            left:0;
            top:80%;
        
            transform:translateY(-50%);
        
            width:220px;          /* 添付の帯の長さ */
            height:10px;
        
            background:#fff;
        }
        
        .recommend-heading span{
        
            position:relative;
            z-index:2;
        
            color:#ec2b70;
        
            font-size:22px;
            font-weight:900;
            line-height:1;
            letter-spacing:0;
        }	
        
        /*=========================
        PC
        =========================*/
        
        @media (min-width:481px){
        
        .recommend-section{
        
            max-width:480px;
            margin:auto;
        
        }
        
        }	
        /*==============================
        参加方法
        ==============================*/
        
        .support-section{
            width:100%;
            max-width:480px;
            margin:0 auto;
            padding:20px 16px;
            box-sizing:border-box;
			padding-bottom: 40px;
        }
        
        .support-grid{
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
        }
        
        .support-item{
            position:relative;
            min-width:0;           /* ←これが重要 */
            padding:8px 8px 0;
            text-align:center;
            box-sizing:border-box;
        }
        
        /* 区切り線 */
        
        .support-item:not(:last-child)::after{
        
            content:"";
        
            position:absolute;
        
            right:0;
            top:12px;
        
            width:1px;
            height:150px;
        
            background:
            repeating-linear-gradient(
                to bottom,
                #777,
                #777 2px,
                transparent 2px,
                transparent 5px
            );
        
        }
        
        /*==============================
        アイコン
        ==============================*/
        
        .support-item img{
        
            width:72px;
            height:auto;
        
            display:block;
        
            margin:0 auto 12px;
        
        }
        
        /*==============================
        見出し
        ==============================*/
        
        .support-item h3{
        
            margin:0 0 18px;
        
            font-size:18px;
            font-weight:900;
            line-height:1.15;
        
            color:#231815;
            letter-spacing:0;
        }
        
        .support-item h3 span{
        
            display:inline;
        
            background:
            linear-gradient(
                transparent 68%,
                #ffd96d 68%
            );
        
        }
        
        /*==============================
        説明
        ==============================*/
        
        .support-item p{
        
            margin:0;
        
            font-size:13px;
            font-weight:700;
            line-height:1.3;
        
            color:#231815;
            letter-spacing:0;
        }
        
        .support-item small{
        
            display:block;
        
            margin-top:2px;
        
            font-size:10px;
            font-weight:700;
        }
        
        /*==============================
        PC
        ==============================*/
        
        @media (min-width:481px){
        
        .support-section{
        
            max-width:480px;
            margin:auto;
        
        }
        
        }	
        /*==============================
        CV
        ==============================*/
        
        .cv-section{
        
            background:#e93169;
            padding:26px 18px 40px;
        
        }
        
        .cv-inner{
        
            max-width:480px;
            margin:auto;
        
        }
        
        .cv-image{
        
            border-radius:18px;
            overflow:hidden;
        
        }
        
        .cv-image img{
        
            width:100%;
            display:block;
            height:auto;
        
        }
        
        /*==============================
        コピー
        ==============================*/
        
        .cv-copy{
            display:flex;
            justify-content:center;
            align-items:center;
            gap:18px;
        
            margin:34px 0 10px 0;
        
            color:#fff4b6;
            text-align:center;
            font-size:17px;
            font-weight:700;
            line-height:1.55;
            letter-spacing:0;
        }
        
        .cv-deco{
        
            position:relative;
        
            width:46px;
            height:86px;
        
            flex-shrink:0;
        }
        
        .cv-deco i{
        
            position:absolute;
        
            bottom:0;
        
            width:2px;
            height:82px;
        
            background:#fff4b6;
            border-radius:999px;
        }
        
        /* 左 */
        
        .cv-deco.left i:nth-child(1){
        
            left:10px;
            transform:rotate(-36deg);
        }
        
        .cv-deco.left i:nth-child(2){
        
            left:24px;
            transform:rotate(-36deg);
        }
        
        /* 右 */
        
        .cv-deco.right i:nth-child(1){
        
            right:24px;
            transform:rotate(36deg);
        }
        
        .cv-deco.right i:nth-child(2){
        
            right:10px;
            transform:rotate(36deg);
        }
        
        /*==============================
        CTA
        ==============================*/
        
        .cv-btn{
        
            position:relative;
        
            display:flex;
            align-items:center;
        
            padding:5px 15px;
        
            border-radius:18px;
        
            background:#1782f4;
        
            color:#fff;
            text-decoration:none;
        
            overflow:hidden;
        
            box-shadow:
            0 8px 20px rgba(0,0,0,.18);
        
            transition:
            transform .18s ease,
            box-shadow .18s ease;
        
        }
        
        /* 光沢 */
        
        .cv-btn::before{
        
            content:"";
        
            position:absolute;
        
            top:0;
            left:-140%;
        
            width:70%;
            height:100%;
        
            background:linear-gradient(
                90deg,
                transparent,
                rgba(255,255,255,.45),
                transparent
            );
        
            transform:skewX(-25deg);
        
            animation:shine 2.8s infinite;
        
        }
        
        @keyframes shine{
        
            100%{
        
                left:180%;
        
            }
        
        }
        
        .cv-btn:hover{
        
            transform:translateY(4px);
        
            box-shadow:
            0 3px 10px rgba(0,0,0,.15);
        
        }
        
        .cv-btn:active{
        
            transform:translateY(6px);
        
        }
        
        .cv-btn img{
        
            width:52px;
            margin-right:0px;
            flex-shrink:0;
        
        }
        
        .cv-btn .text{
        
            flex:1;text-align: center;
        
        }
        
        .cv-btn small{
        
            display:block;
        
            font-size:13px;
            font-weight:700;
        
            margin-bottom:2px;
        
        }
        
        .cv-btn strong{
        
            display:block;
        
            font-size:24px;
            font-weight:900;
            letter-spacing:0;
            line-height:1.2;
        
        }
        
        .arrow{
        
            font-size:48px;
            font-weight:300;
            margin-left:10px;
        
        }	
        
        /* ===========================
           Base
        =========================== */
        
        
        .access {
            padding: 20px;
        }
        
        /* ===========================
           Card
        =========================== */
        
        .access__card {
            max-width: 480px;
            margin: 0 auto;
            background: #fff;
            border: 1px solid #d8d8d8;
            border-radius: 18px;
            box-shadow: 0 6px 18px rgba(0,0,0,.18);
            padding: 24px;
        }
        
        /* ===========================
           Title
        =========================== */
        
        .access__title{
            display:flex;
            align-items:center;
            margin-bottom:32px;
        }
        
        .access__number{
            width:52px;
            height:52px;
            border-radius:50%;
            background:#ea2d6c;
            color:#fff;
            font-size:34px;
            font-weight:700;
        
            display:flex;
            align-items:center;
            justify-content:center;
        
            flex-shrink:0;
        }
        
        .access__text{
            margin-left:14px;
        
            padding:8px 28px 8px 14px;
        
            font-size:42px;
            font-weight:900;
            line-height:1;
        
            color:#ea2d6c;
        
            background:linear-gradient(
                to right,
                #fde6ee 0%,
                #fff 100%
            );
        }
        
        /* ===========================
           Map
        =========================== */
        
        .access__map{
            width:100%;
            aspect-ratio:1.52;
        
            background:#cfcfcf;
        
            display:flex;
            justify-content:center;
            align-items:center;
        
            font-size:24px;
            color:#222;
        
            margin-bottom:52px;
        }
        
        /* ===========================
           Item
        =========================== */
        
        .access__item{
            margin-bottom:25px;
        }
        
        .access__item:last-child{
            margin-bottom:0;
        }
        
        .access__label{
        
            display:inline-flex;
            align-items:center;
            justify-content:center;
        
            background:#ea2d6c;
            color:#fff;
        
            border-radius:14px;
        
            padding:8px 18px;
        
            font-size:18px;
            font-weight:700;
        
            
        }
        
        .access__item p{
        
            font-size:16px;
            font-weight:700;
        
            line-height:1.6;
        
            color:#111;
        	margin-bottom: 0px;
        }
        	
        /* 下部固定バナー */
        /* 親要素 */
        .fixed-entry-banner {
          position: fixed;
          bottom: 0;
        
          /* .lp に合わせる */
          width: clamp(402px, 45vw, 1280px);
          max-width: 482px;
          left: 65.5vw;
        
          z-index: 9999;
          background: #f3e9bb;
        
          padding: 10px;
          box-sizing: border-box;
        	border-left: 1px solid #000;
        	border-right: 1px solid #000;
        }
        /* リンク全体 */
        .fixed-entry-banner a {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 18px;
          height: 70px;
          text-decoration: none;
          transition: opacity 0.3s ease;
        }
        
        /* hover */
        .fixed-entry-banner a:hover {
          opacity: 0.7;
        }
        
        /* スマホ */
        @media screen and (max-width: 768px) {
        .fixed-entry-banner{
            width: 100%;
            left: 0;
            max-width: 100%;
        	border: none;
          }
          .fixed-entry-banner a {
            height: 70px;
            gap: 10px;
          }
        
          
        .cv-btn small{
        
            display:block;
        
            font-size:12px;
            font-weight:700;
        
            margin-bottom:2px;
        
        }
        
        .cv-btn strong{
        
            display:block;
        
            font-size:20px;
            font-weight:900;
            letter-spacing:0;
            line-height:1.2;
        
        }
        	
        /* グラデーション帯 */
        .experience-title .title-bg{
            position:absolute;
            left:30px;      /* 円の中央付近から開始 */
            right:0;
            top:50%;
            transform:translateY(-50%);
            height:44px;
            border-radius:0 28px 28px 0;
        
            background:linear-gradient(
                90deg,
                rgba(236,43,112,.18) 0%,
                rgba(236,43,112,.10) 45%,
                rgba(236,43,112,0) 100%
            );
        }
        	
        	
        /* 丸数字 */
        .experience-title .num{
            position:relative;
            z-index:2;
        
            width:46px;
            height:46px;
        
            border-radius:50%;
        
            display:flex;
            justify-content:center;
            align-items:center;
        
            background:#ec2b70;
            color:#fff;
        
            font-size:36px;
            font-weight:900;
            line-height:1;
        }
        
        /* タイトル */
        .experience-title h2{
            position:relative;
            z-index:2;
        
            margin-left:14px;
        
            color:#ec2b70;
            font-size:28px;
            font-weight:bolder;
            line-height:1;
        }
        	
        .recommend-title .title-bg{
        
            position:absolute;
        
            left:30px;
            right:0;
            top:50%;
        
            transform:translateY(-50%);
        
            height:44px;
        
            background:linear-gradient(
                90deg,
                rgba(255,255,255,.95),
                rgba(255,255,255,0)
            );
        
            border-radius:0 28px 28px 0;
        
        }	
        .recommend-title .num{
        
            position:relative;
            z-index:2;
        
            width:46px;
            height:46px;
        
            border-radius:50%;
        
            background:#ec2b70;
            color:#fff;
        
            display:flex;
            justify-content:center;
            align-items:center;
        
            font-size:36px;
            font-weight:900;
        
        }
        
        .recommend-title h2{
        
            position:relative;
            z-index:2;
        
            margin-left:14px;
        
            color:#ec2b70;
        
            font-size:28px;
            font-weight:900;
            line-height:1;
        
        }
        	
        .experience-copy{
        
            display:flex;
            justify-content:center;
            align-items:center;
            gap:18px;
        
            margin:8px 0 26px;
        
            color:#ec2b70;
            font-size:19px;
            font-weight:800;
            line-height:1.5;
            text-align:center;
        }	
        	
        	.experience-card .caption{
            background:#ec2b70;
            color:#fff;
            padding:0px 10px;
            font-size:14px;
            font-weight:700;
            line-height:1.45;
        	letter-spacing:0;   /* 字間を0 */
            display:flex;
            align-items:center;
        
            min-height:65px;
        }
        	
        .recommend-heading h3{
            position:relative;
            z-index:1;
        
            margin:0;
        
            color:#ec2b70;
            font-size:20px;
            font-weight:900;
            line-height:1;
            letter-spacing:0;
        }	
        	.recommend-heading::before{
        
            content:"";
        
            position:absolute;
        
            left:0;
            top:80%;
        
            transform:translateY(-50%);
        
            width:190px;          /* 添付の帯の長さ */
            height:10px;
        
            background:#fff;
        }
        	.cv-copy{
            display:flex;
            justify-content:center;
            align-items:center;
            gap:18px;
        
            margin:34px 0 10px 0;
        
            color:#fff4b6;
            text-align:center;
            font-size:15px;
            font-weight:700;
            line-height:1.55;
            letter-spacing:0;
        }
        	.access__label{
        
            display:inline-flex;
            align-items:center;
            justify-content:center;
        
            background:#ea2d6c;
            color:#fff;
        
            border-radius:14px;
        
            padding:6px 15px;
        
            font-size:17px;
            font-weight:800;
        
            
        }
        
        .access__item p{
        
            font-size:15px;
            font-weight:700;
        
            line-height:1.6;
        letter-spacing: 0.05em;   /* 読みやすい程度 */
            color:#111;
        	margin-bottom: 0px;
        }
        }
        @media screen and (max-width:1280px) and (min-width:767px){
        
          .fixed-entry-banner{
            width: clamp(402px, 45vw, 767px);
            max-width: 482px;
            left: 45.5vw;
        	  border-left: 1px solid #000;
        	  border-right: 1px solid #000;
          }
        
        }

/*260709*/       　
a {
          transition: all 0.3s ease;
        }
        　a img {
          transition: opacity 0.3s ease;
        } 
        
        a:hover {
          /* ホバー時の透明度 */
          opacity: 0.7;
        }　
		

/*============================
  TIME SCHEDULE
============================*/

.schedule{
    max-width:480px;
    margin:0 auto;
    padding:30px 22px 50px;
    background:#fff;
    box-sizing:border-box;
}

/*------------------
 タイトル
-------------------*/

.schedule-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:34px;
}

.schedule-heading h2{
    margin:0;
    font-size:34px;
    font-weight:900;
    color:#eadbe2;
    line-height:1;
    letter-spacing:-.03em;
    white-space:nowrap;
}

.schedule-heading span{
    flex:1;
    height:4px;
    background:#eadbe2;
    border-radius:10px;
    margin-top:3px;
}

/*------------------
 スケジュール
-------------------*/

.schedule-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-bottom:18px;
}

.time{
    width:140px;
    min-width:140px;
    height:50px;
    background:#ec2b70;
    border-radius:15px;

    display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;
    font-size:16px;
    font-weight:700;
    line-height:1;
    letter-spacing:-.02em;
}

.text{
    flex:1;
    padding-top:15px;
}

.text h3{
    margin:0;
    font-size:15px;
    line-height:1.45;
    font-weight:700;
    color:#222;
}

.schedule-space{
    height:20px;
}

/*Voice*/
//* =====================================================
ACADEMIA VOICE SLIDER
完全独立CSS
===================================================== */

.acv-section,
.acv-section *{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

.acv-section{

    width:100%;
    max-width:480px;
    margin:0 auto;
    padding:10px 0 40px;
	margin-top: 20px;
	margin-bottom: 20px;

    overflow:hidden;

    font-family:
    "Noto Sans JP",
    sans-serif;

    background-color: #fbd8e2;

}


/*----------------------------
タイトル
----------------------------*/

.acv-heading{

    text-align:center;
    margin-bottom:34px;

}

.acv-sub{

    display:block;
    color:#3268df;
    font-size:18px;
    font-weight:700;
    margin-bottom:10px;

}

.acv-heading h2{

    font-size:28px;
    line-height:1.4;
    font-weight:800;
    color:#444;

}


/*----------------------------
slider
----------------------------*/

.acv-slider{

    position:relative;
    width:100%;
	
}

.acv-viewport{

    overflow:hidden;
    width:100%;

}

.acv-track{

    display:flex;

    gap:14px;

    /* 左32px→47px */
    padding:0 32px 0 55px;

    transition:
    transform .45s cubic-bezier(.4,0,.2,1);

    will-change:transform;

}


/*----------------------------
card
----------------------------*/

.acv-card{

    flex:0 0 calc(100% - 74px);

    background:#fff;

    border-radius:24px;

    padding:24px;

    box-shadow:

    0 12px 30px rgba(0,0,0,.10);

    user-select:none;

}


/*----------------------------
profile
----------------------------*/

.acv-profile{

    display:flex;
    align-items:center;
    gap:16px;

}

.acv-avatar{

    width:74px;
    height:74px;

    border-radius:50%;

    overflow:hidden;

    flex-shrink:0;

}

.acv-avatar img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

}

.acv-info{

    flex:1;

}

.acv-role{

    display:inline-block;

    color:#ff2b2b;

    font-size:14px;

    font-weight:700;

}

.acv-info h3{

    margin-top:8px;

    font-size:28px;

    color:#444;

    font-weight:800;

}

.acv-info p{

    margin-top:6px;

    font-size:16px;

    color:#444;

    font-weight:700;

}


/*----------------------------
divider
----------------------------*/

.acv-divider{

    margin:22px 0;

    border-top:2px dashed #dddddd;

}


/*----------------------------
body
----------------------------*/

.acv-body{

    font-size:18px;

    line-height:1.9;

    color:#555;

    font-weight:500;

}


/*----------------------------
buttons
----------------------------*/

.acv-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:54px;

    height:54px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.25s;

    z-index:30;

}

.acv-prev{

    left:6px;

    background:#e63a6a;

    color:#fff;

}

.acv-next{

    right:6px;

    background:#e63a6a;

    color:#fff;

    box-shadow:

    0 8px 22px rgba(0,0,0,.15);

}

.acv-btn:hover{

    transform:translateY(-50%) scale(1.08);

}

.acv-btn:active{

    transform:translateY(-50%) scale(.95);

}


/*----------------------------
dots
----------------------------*/

.acv-dots{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:28px;

}

.acv-dot{

    width:11px;

    height:11px;

    border:none;

    border-radius:50%;

    background:#777;

    cursor:pointer;

    transition:.25s;

}

.acv-dot.active{

    background:#e63a6a;

    transform:scale(1.2);

}


/*----------------------------
左右チラ見え
----------------------------*/

.acv-track .acv-card{

    opacity:.45;

    transform:scale(.92);

    transition:
    transform .45s,
    opacity .45s;

}

.acv-track .acv-card.is-active{

    opacity:1;

    transform:scale(1);

}


/*----------------------------
スマホのみ
----------------------------*/

@media(max-width:480px){

.acv-card{

    min-height:220px;

}

}


/*----------------------------
PC
----------------------------*/

@media(min-width:481px){

.acv-section{

    border-radius:24px;

}

}