@charset "UTF-8";
body{
	margin:0;
	padding:0;
	font-family: "Noto Serif JP", serif;
	background-color:#F8F8F8;
	font-feature-settings: "palt" 1, "trad" 1;
}
a{
	 text-decoration: none;
	 transition: .3s;
}
img{
	vertical-align: top;
	width:100%;
}
h1,h2,h3,h4,h5,h6,p{
	margin:0;
}
@media all and (min-width: 1000px) {
	html{
		scroll-padding-top:40px;
		scroll-behavior: smooth;
	}
.sp{
	display:none;
}	
/*headerはここから*/
header{
	width: 100%;
	height: 5rem;
	transition: .3s;
	position:relative;
	position: absolute;
	top:0;
	overflow: hidden;
	z-index: 9999;
}
.is-animation {
   /* position:fixed; */
}
.logo{
  overflow: hidden;
  width:226px;
  display: inline-block;
  float:left;
  transition: .3s;
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  left:5%;
  }
.logo img{
	width:100%;
}
.menu{
	list-style: none;
	padding-inline-start:0px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	position:absolute;
	top: 30px;
    right: 5%;
	margin:0;
	gap:8px;
	position: fixed;
}
.menu{
	list-style: none;
	padding-inline-start:0px;
	float:right;
	display: flex;
  	flex-direction: row;
	flex-wrap: wrap;
  	justify-content: flex-end;
	width:100%;
}
.menu li {
	 font-size:14px;
	 margin:0 0 0 0;
	 font-weight: 500;
	 transition: .3s;
	 letter-spacing: 1px;
}
li a{
	 color: #302D2C;
}
.is-animation li a{
	color: #302D2C;
}
.white-btn a{
	background-color: white;
	padding:10px 22px;
	border-radius: 3px;
	font-family: "Noto Sans JP", serif;
}
.white-btn:nth-child(1) a:before{
	content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('image/icon-1.png');
    background-position: center;
    background-size: contain;
	vertical-align: middle;
	margin-right:10px;
}
.white-btn:nth-child(2) a:before{
	content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('image/icon-2.png');
    background-position: center;
    background-size: contain;
	vertical-align: middle;
	margin-right:10px;
}
.white-btn:nth-child(3) a:before{
	content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('image/icon-3.png');
    background-position: center;
    background-size: contain;
	vertical-align: middle;
	margin-right:10px;
}
.white-btn:hover{
	opacity: 0.7 !important;
}
/*共通はここから*/
.main-txt{
	font-size:14px;
	letter-spacing:0.02em;
	line-height: 1.8;
	margin:0;
}
.main-txt-sub{
	font-size:13px;
	letter-spacing:0.01em;
	line-height: 1.8;
	margin:0;
}
.common-width{
	max-width:1180px;
	width:90%;
	margin:0 auto;
}
.common-width-2{
	max-width:1350px;
	width:90%;
	margin:0 auto;
}
/* メインはここから */
.top-img{
	position: relative;
}
.back-img{
	height:100vh;
	object-fit: cover;
	filter: brightness(.6);
}
.top-title{
	position: absolute;
	bottom:25px;
	left: 5%;
	width:60%;
}
.what{
	display:flex;
	justify-content: space-between;
	gap:70px;
	margin-top:145px;
}
.what h3{
	font-size:19px;
	letter-spacing: -0.01em;
	font-weight:300;
	text-transform: uppercase;
}
.what div{
	width:780px;
}
.what div h2{
	font-size:35px;
	font-weight:500;
	letter-spacing: -0.02em;
}
.what div p{
	font-size:18px;
	letter-spacing: -0.04em;
	line-height: 2;
	margin-top:45px;
}
.theme{
	margin-top:150px;
	margin-bottom:150px;
}
.interview-content{
	display:flex;
	flex-direction: column;
	gap:5px;
	margin-top:150px;
	margin-bottom:150px;
	max-width: 750px !important;
}
.interview-content a{
	display:block;
}
.skill{
	width:96%;
	margin:0 auto 150px auto;
}
.parent{
	display: grid;
	grid-template-columns: 430px 1fr; /* 左を固定、右を可変 */
	grid-template-rows:repeat(3, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	border: 7px solid black;
	}
.pa-2{
	margin-top:-7px !important;
}
.parent-detail{
	padding:20px;
	display:flex;
	gap:20px;
}
.parent-detail:nth-child(1){
	grid-area: 1 / 1 / 4 / 2;
	border-right: 7px solid black;
	display:block;
}
.parent-detail:nth-child(2){
	grid-area: 1 / 2 / 2 / 3;
	border-bottom: 7px solid black;
}
.parent-detail:nth-child(3){
	grid-area: 2 / 2 / 3 / 3;
	border-bottom: 7px solid black;
}
.parent-detail:nth-child(4){
	grid-area: 3 / 2 / 4 / 3;
}
.skill-content{
	display:flex;
	justify-content: space-between;
	margin:30px 0 0 0;
}
.skill h2{
	border-left:7px solid black;
	border-right:7px solid black;
	border-top:7px solid black;
	display:block;
	padding:10px 20px 15px;
	font-size:45px;
	font-weight:600;
	letter-spacing: -0.02em;
}
.skill-img{
	/* width:37%; */
}
.skill-img img{
	width:300px;
}
.parent-detail .sub{
	width:80%;
}
.skill-content .no{
	width:70px;
}
.no-2{
	width:80px !important;
}
.no-sub{
	margin-left:auto;
}
.no-sub img{
	width:90px;
	height:100%;
}
.skill-txt{
	width:70%;
}
.skill-txt h3{
	font-size:20px;
	font-weight:500;
	letter-spacing: -0.02em;
}
.skill-txt p{
	font-size:14px;
	line-height: 1.55;
	margin-top:10px;

}







.message-top div{
	position: relative;
}
.message-top div img:nth-child(1){
	width:420px;
}
.message-top div img:nth-child(2){
	width:520px;
	position: absolute;
	top:0;
	margin-left:-130px;
}
.message-top div img:nth-child(3){
	width:220px;
	position: absolute;
	top:120px;
	margin-left:350px;
}
.message-bottom{
	display:flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: end;
	margin-top:-170px;
}
.message-bottom-img{
	width:438px;
	position: relative;
	z-index: 5;
}
.message-bottom-txt{
	width:60%;
}
.message-bottom-txt{
	column-count: 2;
    column-gap:35px;
}
.message-bottom-txt p{
	font-size:15px;
	line-height: 1.8;
	text-align: justify;
}
.overview{
	background-color: #F2F2F2;
	padding:70px 0 120px 0;
	margin-top:110px;
}
.overview-width{
	width:750px;
	margin:0 auto;
}
.overview h3{
	font-size:24px;
	font-weight:600;
}
.overview-width-g{
	margin-top:43px;
	display:flex;
	flex-direction: column;
	gap:18px;
}
.overview-width-g div{
	display:flex;
	border-bottom:solid #E5E5E5 1px;
	padding:0 0 18px 0;
}
.overview-width-g div p{
	font-size:16px;
	font-weight:600;
	line-height: 1.8;
}
.overview-width-g div p:nth-child(1){
	width:295px;
}
.overview-btn-g{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:16px;
	margin-top:105px;
}
.overview-btn-g a{
	display:flex;
	align-items: center;
	font-family: "Noto Sans JP", serif;
	font-size:18px;
	font-weight:500;
	padding:14px 16px;
}
.overview-btn-g a .thm{
	width:83px;
	margin:0 22px 0 0;
}
.overview-btn-g a .arrow{
	width:45px;
	margin-left: auto;
}
.overview-btn-g a .arrow img{
	vertical-align: middle;
}
.overview-btn-g a:nth-child(1){
	background-color: white;
	color:black;
}
.overview-btn-g a:nth-child(2){
	background-color:#333333;
	color:white
}
.overview-btn-g a:nth-child(3){
	background-color:#333333;
	color:white
}
.overview .common-width{
	width:750px;
}
.curriculum{
	margin-top:180px;
}
.curriculum h3{
	font-size:82px;
	letter-spacing: -0.07em;
	font-weight:600;
}
.curriculum h3 span{
	letter-spacing: -0.23em;
}
.curriculum-g{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:9px;
	margin-top:-35px;
}
.curriculum-g-detail{
	background-color: white;
	border:solid 2px black;
	padding:30px 35px;
}
.curriculum-g-detail h4{
	font-size:15px;
	font-weight:300;
	text-transform: uppercase;
	margin-bottom:15px;
}
.curriculum-g-detail h3{
	font-size:20px;
	font-weight:500;
	margin:17px 0 17px 0;
}
.curriculum-g-detail .content{
	padding:17px 0;
	border-top:1px solid #E4E4E4;
	border-bottom:1px solid #E4E4E4;
	margin-bottom:20px;
}
.curriculum-g-detail div p:nth-child(1){
	font-size:17px;
}
.curriculum-g-detail div p:nth-child(2){
	font-size:14px;
	margin-top:3px;
	line-height: 1.7;
}
.flow{
	margin-top:180px;
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:30px;
}
.flow-detail{
	border-bottom:5px solid black;
	padding:0 0 30px 0;
}
.flow-detail div img{
	width:auto;
	height:140px;
}
.flow-detail h3{
	font-size:22px;
	font-weight:400;
	margin:30px 0 10px 0;
}
.flow-detail p{
	font-size:14px;
	line-height: 1.7;
}
.faq-content{
	margin:180px auto 0 auto;
	width:1000px;
}
.acd-check{
    display: none;
}
.acd-label{
    display: block;
    margin-bottom: 1px;
    position: relative;
	border-bottom:3px solid black;
	padding:0 0 23px 0;
	margin:33px 0 0 0;
	font-size:19px;
}

.acd-label:after{
    background: ;
    box-sizing: border-box;
    content: '+';
    display: block;
    font-size:30px;
	font-weight:400;
    position: absolute;
    right: 0;
    top: 0px;
}
.acd-content{
    display: block;
    height: 0;
    opacity: 0;
    transition: .3s;
    visibility: hidden;
}
.acd-content p{
	padding:20px 0 0 0;
	font-size:14px;
}
.acd-check:checked + .acd-label:after{
    content: '-';
}
.acd-check:checked + .acd-label + .no-1{
    height: 90px;
    opacity: 1;
    visibility: visible;
	padding:0;
}
.acd-check:checked + .acd-label + .no-2{
    height: 90px;
    opacity: 1;
    visibility: visible;
	padding:0;
}
.expert{
	background-color: #F2F2F2;
	padding:50px 0;
	margin-top:180px;
}
.slider{
	padding:0;
}
.expert .title h2{
	font-size:42px;
	letter-spacing: -0.07em;
	font-weight:500;
}
.expert .title p{
	font-size:13px;
	font-weight:500;
	text-transform: uppercase;
	margin-top:5px;
}
.slider{
	position: relative;
	margin-top:-70px;
}
.slider-detail{
	display:flex;
	gap:20px;
	position: relative;
}
.slider li .no{
	height:140px;
	margin-top:auto;
}
.slider li .no img{
	height:100%;
}
.slider li .pf{
	width:37%;
	margin-left:auto;
	margin-top:auto;
}
.slider li .pf-txt{
	width:315px;
	margin-left:40px;
}
.slider li .pf-txt h3{
	font-size:14px;
	font-weight:500;
	margin-bottom:7px;
}
.slider li .pf-txt h2{
	font-size:30px;
	font-weight:500;
}
.slider li .pf-txt p{
	font-size:13px;
	margin-top:15px;
	line-height: 1.7;
}
/* dotsを丸くカスタマイズするCSS */
.dots-wrap {
    display: flex;
    justify-content: center;
	position: absolute;
	right:140px;
	bottom:0;
}
.dots-wrap li {
    width: 6px;
    height: 6px;
    margin: 0 5px;
    background: #D9D9D9;
    border-radius: 50%;
    cursor: pointer;
	list-style: none;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background:#808080;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
.slick-arrow{
	width:37px;
}
.slick-next{
	position: absolute;
	right:0;
	bottom:0;
}
.slick-prev{
	position: absolute;
	right:280px;
	bottom:0;
	z-index:1;
}
.company{
	width:1000px;
	margin:180px auto 170px auto;
}
.company h2{
	font-size:30px;
	letter-spacing: -0.01em;
	font-weight:600;
}
.company-list{
	display:flex;
	flex-direction: column;
	gap:35px;
	margin-top:60px;
}
.company-list-detail{
	display:flex;
	padding:0 0 35px 0;
	border-bottom:solid 3px black;
}
.company-list-detail p{
	font-size:17px;
	font-weight:500;
}
.company-list-detail p:nth-child(1){
	width:290px;
}
.work h2{
	font-size:30px;
	letter-spacing: -0.01em;
	font-weight:600;
}
.work-list{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:25px;
	margin-top:40px;
}
.work-list-detail h3{
	font-size:23px;
	font-weight:500;
	margin:20px 0 7px 0;
	color:black;
}
.work-list-detail p{
	font-size:14px;
	font-weight:500;
	line-height: 1.6;
	color:black;
}
.work-list-detail span{
	color: black;
	margin-top:12px;
	display:block;
}
.b-btb{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:20px;
	margin-top:180px;
	width:900px;
}
.b-btb a{
	display:block;
}
footer{
	margin:190px auto 0 auto;
	background-color: #333333;
	padding:85px 0 20px 0;
}
.f-content{
	text-align: center;
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom:20px;
	width:1100px;
}
.f-content-detail{
	display:flex;
	align-items: center;
	gap:40px;
}
.f-link{
	display:flex;
	gap:20px;
}
.f-link a{
	color:white;
	display:block;
	font-size:14px;
}
.f-logo{
	/* margin:0 0 20px 0; */
}
.f-logo img{
	width:205px;
}
small{
	font-size:11px;
	color:white;
	display:block;
	padding:15px 0 0 0;
	/* border-top:1px solid #D6D6D6; */
	/* text-align: center; */
}
.kaso-content{
	width:750px;
	margin:0 auto;
	padding:130px 0 0 0;
}
/* 202508追記 */
.micro-cv-area{
	margin-top:80px;
	margin-bottom:;
}
.micro-cv-list{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
    gap:15px;
}
.micro-cv-list-detail{
	display:flex;
	flex-direction: column;
	gap:23px;
	border:2px solid black;
	padding:23px 28px;
	background-color: white;
}
.micro-cv-list-detail-top{
	display:flex;
	align-items: center;
	gap:15px;
}
.micro-cv-list-detail-top h3{
	font-size:19px;
}
.micro-cv-list-detail-top div{
	width:68px;
}
.micro-cv-list-bottom{
	padding:12px 0 0 0;
	border-top:1px solid #E5E5E5;
	font-size:36px;
	font-weight:600;
}
.micro-cv-list-bottom span{
	font-size:16px;
	letter-spacing: -0.02em;
}
.micro-scroll-link{
	text-align: center;
	margin-top:45px;
}
.micro-scroll-link a{
	display:block;
	background-color: #333333;
	color:white;
	font-size:16px;
	letter-spacing: -0.03em;
	width:342px;
	margin: 0 auto;
	padding:13px 0;
	position: relative;
}
.micro-scroll-link div{
	width:32px;
	position: absolute;
	right:25px;
	top: 50%;
  	transform: translateY(-50%);
	display: flex;
	align-items: center;
}
/* 中間CVエリア */
.middle-micro-cv-area{
	margin-top:120px;
}
.middle-micro-cv-area h3{
	font-size:60px;
	text-align: center;
}
.middle-micro-cv-list{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
    gap:15px;
	margin-top:28px;
}
.middle-micro-cv-list-detail{
	border: 2px solid black;
	padding:36px 36px 30px;
	background-color: white;
}
.middle-micro-cv-list-detail-top{
	text-align: center;
}
.middle-micro-cv-list-detail-top div{
	width:68px;
	margin:0 auto 0 auto;
}
.middle-micro-cv-list-detail-top h4{
	font-size:19px;
	letter-spacing: -0.02em;
	margin:15px 0 15px 0;
}
.middle-micro-cv-list-detail-top .plan-price{
	font-size:36px;
	font-weight:600;
}
.middle-micro-cv-list-detail-top .plan-price span{
	font-size:16px;
	margin:0 0 0 10px;
	letter-spacing: -0.03em;
}
.middle-micro-cv-list-detail-bottom{
	padding:15px 0 0 0;
	margin-top:12px;
	border-top:#E5E5E5 solid 1px;
}
.middle-micro-cv-list-detail-bottom .ryaku{
	text-align: center;
	font-size:18px;
	font-weight:600;
}
.middle-micro-cv-list-detail-bottom .read-txt{
	font-size:14px;
	font-weight:600;
	line-height: 1.65;
	letter-spacing: -0.04em;
	margin-top:10px;
	text-align: justify;
}
.middle-micro-cv-list-detail-bottom a{
	width:100%;
	padding:12px 0;
	margin-top:25px;
	display:block;
	background-color: #333333;
	color:white;
	text-align: center;
	position: relative;
}
.middle-micro-cv-list-detail-bottom a div{
	width:32px;
	position: absolute;
	right:25px;
	top: 50%;
  	transform: translateY(-50%);
	display: flex;
	align-items: center;
}
.mmca-2{
	margin-bottom:130px;
}
}