._sp {
		display: none!important;
}
@media screen and (max-width:768px){
	._sp {
		display: block!important;
	}
	
	._pc {
		display: none!important;
	}
	
	body {
		font-size: 15px;
		line-height: 1.7;
	}
	
	.header-nav {
		display: none;
	}
	
	.openbtn {
    position: absolute;
    top: 20px;
    right: 20px;
		z-index: 100;
	}
	
	.header .logo {
    width: 120px;
}
	
	.top-sec01 {
    padding-top: 150px;
    padding-bottom: 60px;
}
	
	.top-sec01-inner h2 {
    width: 170px;
    margin: 0 auto 50px auto;
}
	
	.top-sec01-inner dl {
		width: 90%;
		margin: 0 auto;
	}
	
	.top-sec01-inner dt {
    text-align: left;
    font-size: 24px;
}
	
	.top-sec01-inner dd {
    font-size: 17px;
    text-align: left;
}
	
	.mb70 {
		margin-bottom: 30px;
	}
	
	.top-sec01 .bt-set {
    flex-direction: column;
		gap:10px;
}
	
	.top-sec01 .bt-set li {
    width: 100%;
}
	
	.top-sec01 .bt-set a {
		font-size: 18px;
	}
	
	.top-sec01-inner {
    margin-bottom: 30px;
}
	
	.top-sec02 {
    padding: 80px 0 50px 0;
    clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px);
}
	
	.top-sec02 h2 {
        font-size: 32px;
        line-height: 1.4;
    }
	
	.top-sec02 ol {
    grid-template-columns: 1fr;
	}
	
	.top-sec02 ol li {
    padding: 0 20px;
    border-right: none;
}
	
	.top-sec02 .inner {
    padding: 50px 30px;
    margin-bottom: 30px;
		gap: 30px;
}
	
	.bt-style01 a {
    font-size: 18px;
}
	
	.bt-style02 a {
    font-size: 17px;
}
	
	.top-sec03 .top-sec-title:after {
	font-size: 40px;
}

.top-sec04 .top-sec-title:after,
.service-page .top-sec-title:after,
	.recruit-page .top-sec-title:after{
	font-size: 70px;
}

.magazine-page .top-sec-title:after{
	font-size: 70px;
}

.contact-page .top-sec-title:after{
	font-size: 70px;
}

.company-page .top-sec-title:after{
	font-size: 70px;
}

.top-works .top-sec-title:after {
	font-size: 70px;
}
	
	.top-sec03, .top-sec04 {
    padding-top: 80px;
}
	
	.user-voice-list {
    grid-template-columns: 100%;
    gap: 3%;
}
	
	.top-sec04 h3 {
    font-size: 32px;
		line-height: 1.2;
	}
	
	.top-service-list {
    grid-template-columns: 1fr;
}
	
	.top-sec04-wrapper {
    padding-bottom: 120px;
}
	
	.top-works {
    clip-path: polygon(/* 上辺（左右を150px切り込み） */ 40px 0, calc(100% - 40px) 0, /* 右上の斜め */ 100% 40px, /* 右下 */ 100% 100%, /* 左下 */ 0 100%, /* 左上の斜め */ 0 40px);
		padding: 70px 0;
}
	
	.top-sec-read {
    font-size: 16px;
}
	.top-works .slick-slide {
	transform: scale(1);
	opacity: 1;
}
	
	.work-slide {
		width: 80%;
		margin: 0 auto;
	}
	
	.top-works .slick-prev,
.top-works .slick-next {
	top: 100%;
}
	
	.top-magazine .post-item {
    flex-direction: column;
}
	
	.top-magazine .post-item .text {
        width: 100%;

        padding-top: 30px;
        padding-bottom: 50px;
        padding-left: 35px;
        padding-right: 35px;
    }
	
	.top-magazine .post-item .img {
    width: 100%;
    height: 250px;
}
	.top-magazine .bt-style02 {
    position: absolute;
    bottom: 30px;
    left: 0;
}
	
	
	.eng-title {
    font-size: 50px;
    font-weight: 800;
    z-index: 1;
    mix-blend-mode: screen;
    pointer-events: none;
    line-height: 1;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
}
	
	.top-magazine h2 {
    top: 49px;
	}
	
	
	.jp-read {
		display: none;
	}
	
	.top-magazine .post-item .text h3 {
    font-size: 24px;
    line-height: 1.4;
}
	
	.footer-contact dt {
    font-size: 32px;
		line-height: 1.4;
}
	
	.footer-contact dd {
    font-size: 18px;
		width: 90%;
		margin: 0 auto;

	}
	
	
	.footer-contact .bt-set {
    gap: 10px;
    flex-direction: column;
}
	
	.footer-contact .bt-set a {
		font-size: 18px;
	}
	
	.footer-contact dl {
    margin-bottom: 30px;
}
	
	
	.top-contact .footer-contact {
    clip-path: polygon(/* 左上 */ 0 0, /* 右上 */ 100% 0, /* 右下の斜め（縦85px手前） */ 100% calc(100% - 40px), /* 下辺（右から150px内側） */ calc(100% - 40px) 100%, /* 下辺（左から150px内側） */ 40px 100%, /* 左下の斜め（縦85px手前） */ 0 calc(100% - 40px));
}
	

.footer {
    position: relative;
    margin-top: -85px;
    padding-top: 75px;
    padding-bottom: 100px;
    clip-path: polygon(/* 上辺（左右を150px切り込み） */ 40px 0, calc(100% - 40px) 0, /* 右上の斜め */ 100% 40px, /* 右下 */ 100% 100%, /* 左下 */ 0 100%, /* 左上の斜め */ 0 40px);
}
	
	.footer .nav-box {
		display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
		padding-top: 0px;
	}
	
	.footer-info {
    gap: 20px;
    margin: 30px 0;
    flex-direction: column;
}
	
	.page-top {
    right: 20px;
    bottom: 20px;
}
	
	.footer-info dt,
	.footer-info dd {
		text-align: center;
	}
	
	.sp-sec01 {
		width: 40%;
		margin: 0 auto 50px auto;
	}
	
	.sp-sec01 a {
		display: block;
		padding: 10px 0;
		border-top: 1px dotted #ADB1B2;
	}
	
	.sp-sec01 li:last-child a {
		border-top: none;
	}
	
	.sp-sec01 .contact-bt {
		margin-top: 10px;
	}
	
	.sp-sec01 li a:before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 16px;
    background-image: url(../images/page/li02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 12px;
}
	
	.sp-sec01 li:last-child a:before {
		content: none;
	}
	
	.triangle {
    border-width: 90px 140px 0px 0px;
	}
	
	.triangle2 {
	border-width: 90px 140px 0px 0px;
}
	
	.service-page .sec01 dt, .magazine-page .sec01 dt {
    font-size: 32px;
    line-height: 1.4;
}
	
	.recruit-page .sec01 dt {
    font-size: 28px;
    line-height: 1.4;
}
	
	.service-page .sec01 dl {
    margin-bottom: 30px;
}
	
	.service-page .sec01 .reason-title {
    font-size: 30px;
	}
	
	.service-page .sec01 ol {
    grid-template-columns: 1fr;
	}
	
	.service-page .sec02 {
    clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px);
}
	
	.service-page .sec02 h3 {
    padding: 0 40px;
}
	
	.service-page .sec02 h3:before, .service-page .sec02 h3:after, .company-page .title h3:before, .company-page .title h3:after,
	.recruit-page .sec02 .title h3:before, .recruit-page .sec02 .title h3:after{
    width: 50px;
	}
	
	.service-page .sec02 h3:after, .service-other02 h3:after, .company-page .title h3:after,
	.recruit-page .sec02 .title h3:after{
    right: -20px;
}
	
	.service-page .sec02 h3:before, .service-other02 h3:before, .company-page .title h3:before,
	.recruit-page .sec02 .title h3:before{
    left: -20px;
}
	
	.service-page .sec02-inner {
    padding: 60px 0 50px 0;
}
	.service-link ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
	
	.service-link .num {
    font-size: 20px;
}
	
	.service-link .text {
    font-size: 15px;
}
	.box-img {
    width: 82px;
    margin: 0 auto 10px auto;
}
	
	.service-box {
    padding: 50px 30px;
	}
	
	.service-box .service-title {
    font-size: 18px;
    margin-bottom: 30px;
    flex-direction: column;
		align-items: flex-start;
}
	.service-box .text {
    border-left: none;
    padding-left: 0;
    margin-left: 0;
}
	
	.service-box .service-title .eng {
    font-size: 45px;
	}
	
	.service-icon {
    width: 60px;
}
	
	.service-box dt {
    font-size: 22px;
	}
	
	.service-box .service-title .num {
		display: flex;
		gap:10px;
		align-items: center;
	}
	
	.service-box .service-title .num span {
    font-size: 50px;
    top: 0;
		display: inline-block;
}
	
	.point2 {
    grid-template-columns: 1fr;
    gap: 10px;
}
	
	.web-recommend .web-recommend-title {
    font-size: 22px;
	}
	
	.web-recommend ul {
    font-size: 18px;
}
	
	.service-other-inner ul {
    font-size: 18px;
}
	
	.service-other02 h3,.company-page h3,.recruit-page .sec02 h3 {
		padding: 0 40px;
	}

	
	.service-other02 h3:before, .service-other02 h3:after,
	.company-page h3:before, .company-page h3:after{
    width: 50px;
	}
	
	.service-other02 h3:after,
	.company-page h3:after{
    right: -20px;
}
	
	
	.service-slide .slick-next {
    right: -36px;
    width: 25px;
}
	
	.service-slide .slick-prev {
    left: -34px;
    width: 25px;
}
	
	
	.flow-list ol {
    display: grid;
    grid-template-columns: 1fr;
		gap:50px;
}
	
	.flow-list li:after {
    right: calc(50% - 11px);
    bottom: -35px;
		transform: rotate(90deg);
		top: auto;
}
	
	.flow-list .img img {
    width: 100%;
}
	
	.magazine-category .magazine-grid {
    grid-template-columns: 1fr;
}
	
	#content h1 {
    background: #ebf5ff;
    font-size: 20px;
	}
	
	.company-page .sec03 .sec03-inner {
    flex-direction: column;
		gap:30px;
}
	
	.company-page .sec03 .sec03-inner .img {
    width: 100%;
}
	
	.company-page .sec03 .sec03-inner .text {
    width: 100%;
}
	
	
	.company-page .sec06 {
    margin-bottom: 20px;
}
	.company-page .sec07 {
    margin-bottom: 20px;
}
	
	
	
	
	
	.re-board-page .hero {
    padding: 60px 40px 60px;
    text-align: left;
    margin-bottom: 60px;
}
	
	.capability-list {
            gap: 30px;
        }
	
	
	.re-board-page .section,
	.web-page .section {
    margin-bottom: 60px;
}
	
	.re-board-page .breadcrumbs,
	.web-page .breadcrumbs{
		margin-bottom: 30px;
	}
	
	.web-page .service-grid,
    .web-page .pricing-options {
		display: flex;
        flex-direction: column;
    }
	
	.web-page .flow-phase {
    display: flex;
    gap: 0;
    padding: 25px;
    border-radius: 10px
	}
	
	.web-page .flow-phase-number {
    font-size: 30px;
	}
	
	.web-page .reason-item {
    gap: 10px;
}
	
	    .web-page .reason-item, .web-page .flow-phase {
        text-align: left;
    }
	
	.web-page .reason-content h3 {
    margin-bottom: 5px;
	}
	
	
	.web-page .reason-number {
		margin: 0 auto 0 0;
	}
	
	.web-page .pricing-box {
    padding: 25px;
    border-radius: 10px;
	}
	
	.web-page .option-name {
    font-size: 13px;
    margin-bottom: 0;
	}
	
	
	.web-page .cta-section h2 {
    font-size: 23px;
	}
	
	.web-page .cta-section {
    padding: 50px 30px;
	}
	
	.web-page .flow-phase-title {
    text-align: center;
}
	
	
	.web-page .hero {
    margin-bottom: 30px;
}
	
	.recruit-page .sec02-inner {
    grid-template-columns: 100%;
}
	
	.recruit-page .sec02-inner .img {
		width: 60%;
		margin: 0 auto;
	}
	
	.recruit-page .sec02-inner.interview02 {

    grid-template-columns: 100%;
}
	
	
.interview02 .img {
	order: 1;
}

.interview02 .text {
	order: 2;
}
	
	.table-style01 th {
		padding-right: 0;
		padding-left: 15px;
	}
	
	.table-style01 td {
		padding-right: 15px;
	}
	
	
	.top-news .inner {
		flex-direction: column;
	}
	
	.top-news .title span {
		font-size: 30px;
	}
	
	.top-news .inner .title {
    	width: 100%;
		position: relative;
		padding-left: 0;
	}
	
	.top-news .bt {
		position: absolute;
		right: 0;
		top: 0;
	}
	
	.top-news .title h3 {
		margin-bottom: 0;
	}
	
	.top-news .inner .news-list {
		width: 100%;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}