@charset "UTF-8";

@media screen and (max-width: 767px) {
	.header_logo img {
		height: 2.4em;
	}
	.header_main {
		padding: 5px 15px 7px;
	}
	.mv__headline--logo {
		margin-bottom: 0.5em;
	}
	.mobile-menu__icon {
		background: #fff;
	}
	.mobile-menu__icon::after, .mobile-menu__icon::before {
		background: #fff;
	}
	.header_scroll .mobile-menu__icon {
		background: #1e2c5b;
	}
	.header_scroll .mobile-menu__icon::after, .header_scroll .mobile-menu__icon::before {
		background: #1e2c5b;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::after {
		background: #1e2c5b;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::before {
		background: #1e2c5b;
	}
	.header_menu ul {
		flex-wrap: wrap;
	}
	.header_menu ul li {
		width: 100%;
	}
	.mobile-menu__container ul li a {
		font-size: 12px;
	}
	.mobile-menu__container {
		right: -60vw;
		width: 60vw;
		padding: 50.89px 0 2em;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__container {
		width: 60vw;
	}
	.mobile-menu__container ul.sp_submenu_list li:first-child a {
		border-top: none;
	}
	.mobile-menu__container ul.sp_submenu_list li a {
		padding-left: 4em;
		color: #727272;
		position: relative;
	}
	.mobile-menu__container ul.sp_submenu_list li a:before {
		content: "";
		position: absolute;
		width: 1em;
		height: 1px;
		top: 50%;
		background: #a3a3a3;
		left: 2em;
	}
	.mv {
		overflow: unset;
		height: fit-content;
	}
	.mv__inner {
		flex-wrap: wrap;
		align-items: center;
	}
	.mv__headline {
		font-size: 25px;
		letter-spacing: 1px;
	}
	.mv__sub {
		font-size: 17px;
		margin-bottom: 2.5em;
	}
	.mv__headline--logo img {
		height: 2.5em;
	}
	.mv__headline--ttl span.mv__headline--fontbig {
		font-size: 2.5em;
	}
	.mv__headline--subttl {
		font-size: 0.8rem;
		letter-spacing: 0;
	}
	.mv__desc {
		font-size: 12px;
		margin-top: 20px;
	}
	.mv__nav {
		margin-top: 40px;
	}
	.mv__nav .swiper-button-prev {
		width: 35px;
		height: 35px;
	}
	.mv__nav .swiper-button-next {
		width: 35px;
		height: 35px;
	}
	.swiper-pagination.swiper-pagination-fraction.swiper-pagination-horizontal {
		font-size: 15px;
	}
	.mv__image img {
		width: 100%;
		height: 20em;
		margin-left: 0;
	}
	.mv__slider .swiper-slide {
		align-items: baseline;
	}
	.mv__text {
		top: 0;
		position: relative;
		left: 20px;
		order: 1;
		margin: calc(-45em + 20em) 0 50px;
		margin: calc(-45em + 20em) 0 0px;
	}
	.mv__news {
		right: 0;
		left: 0;
		bottom: -59px;
		margin: 0 auto;
	}
	.mv__news-meta {
		font-size: 11px;
	}
	.mv__news-title {
		font-size: 12px;
	}
	.mv__slider .swiper-slide:after {
		width: 100%;
	}
	.mv__slider .swiper-slide {
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		height: calc(42em + 2em);
	}
	.v2-mv__inner--bk {
		height: 23em;
	}
	.v2-mv__inner {
		height: 23em;
	}
	.v2-mv__inner .mv__text {
		margin-top: 2em;
		left: 0;
	}

	.tp_about {
		padding: 140px 0 60px;
	}
	.tp_about__inner {
		justify-content: center;
	}
	.tp_about__content {
		width: 100%;
		order: 1;
		margin-top: 2em;
	}
	.tp_about__images {
		width: 100%;
		max-width: 320px;
	}
	.mainh2 {
		font-size: 20px;
		letter-spacing: 2px;
	}
	.mainh2_en {
		font-size: 11px;
		letter-spacing: 0px;
	}
	.lead {
		font-size: 12px;
	}
	.button {
		font-size: 12px;
	}
	#page-top {
		bottom: 5em;
		width: 42.99px;
		height: 42.99px;
	}
	.tp_about__content--lead {
		width: 100%;
		margin-bottom: 3em;
	}
	.tp_about__content--btn {
		justify-content: center;
	}
	.tp_about__content--btn a {
		width: 100%;
		max-width: 250px;
	}
	.tp_features {
		padding: 60px 20px;
	}
	.tp_features__cards {
		margin-top: 40px;
	}
	.tp_features__card {
		padding: 20px;
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.tp_features__card-title {
		font-size: 16px;
	}
	.tp_features__card-text {
		font-size: 11px;
		min-height: unset;
	}
	.tp_features:after {
		width: 100%;
		height: 1100px;
		left: 0;
	}
	.tp_service {
		padding: 60px 20px;
	}
	.tp_service__image {
		width: 100%;
		margin: 0 auto 20px;
	}
	.tp_service__image:before {
		padding-top: 80%;
	}
	.tp_service__content {
		width: 100%;
		margin-left: 0;
	}
	.tp_service__list {
		margin-bottom: 40px;
		padding: 0 0px 0 20px;
	}
	.tp_service__item-title {
		font-size: 18px;
		padding: 30px 0;
		line-height: 1.3;
		flex-wrap: wrap;
		margin-left: 1em;
	}
	.tp_service__item-title span:last-child {
		flex-wrap: wrap;
		gap: 0;
	}
	.tp_service__item-title span:last-child span.bg_text {
		margin-top: 0;
	}
	.tp_service__item-title .service__item_number {
		font-size: 80px;
		left: -0.6em;
	}
	.tp_service__button {
		margin: 0 auto;
	}
	.tp_staff__item {
		width: 48%;
		margin-right: 4%;
	}
	.tp_staff__item:nth-child(2n) {
		margin-right: 0%;
		margin-top: 3em;
		margin-bottom: 1em;
	}
	.tp_staff__number {
		font-size: 30px;
	}
	.tp_staff__name-en {
		font-size: 20px;
	}
	.tp_staff__photo {
		margin-top: -1em;
		margin-left: 0;
	}
	.tp_staff__detail {
		margin-top: 0;
		left: 0;
		padding: 10px;
	}
	.tp_staff__meta {
		flex-wrap: wrap;
		gap: 5px;
	}
	.tp_staff__tag {
		font-size: 10px;
		padding: 0em 0.5em;
	}
	.tp_staff__year {
		font-size: 10px;
		margin-left: 0em;
	}
	.tp_staff__name-ja {
		font-size: 17px;
		margin: 0.4em 0;
	}
	.tp_staff__desc {
		font-size: 11px;
	}
	.tp_staff__list {
		margin-bottom: 20px;
	}
	.tp_service__block {
		padding-bottom: 0;
	}
	.tp_recruit {
		padding: 60px 0;
	}
	.tp_recruit__lead {
		padding: 0 20px;
	}
	.tp_recruit__slide {
		padding: 30px 20px;
	}
	.tp_recruit__badge-group {
		font-size: 10px;
	}
	.tp_recruit__slide-title {
		font-size: 15px;
	}
	.tp_recruit__slide-text {
		font-size: 12px;
	}
	.tp_recruit__info {
		font-size: 12px;
		padding: 10px 0;
	}
	.tp_recruit__info-block {
		width: 86%;
		margin: 0 auto;
		border-right: none;
		padding: 1em 0%;
		border-bottom: solid 1px #120E69;
	}
	.tp_recruit__slider .swiper-slide {
		width: 85%;
	}
	.tp_recruit__nav {
		width: 100%;
		justify-content: center;
	}
	.tp_recruit__button__maxwidth {
		width: 100%;
		margin: 30px auto 0;
	}
	.tp_recruit__button__maxwidth .tp_recruit__button {
		margin: 0 auto;
	}
	.tp_voice__title {
		margin-bottom: 20px;
	}
	.tp_voice__inner {
		padding: 60px 0px;
	}
	.voice__item {
		margin-bottom: 20px;
		width: 100%;
		margin-right: 0;
	}
	.voice__item--description {
		padding: 15px;
	}
	.voice__item--ttl {
		font-size: 15px;
	}
	.voice__item--meta {
		font-size: 11px;
	}
	.tp_voice__list {
		margin-bottom: 20px;
	}
	.cta {
		padding: 60px 0 40px;
	}
	.cta__box {
		padding: 30px 20px 20px;
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
		text-align: center;
	}
	.cta__label {
		font-size: 11px;
	}
	.cta__title {
		font-size: 18px;
	}
	.cta__highlight {
		font-size: 14px;
	}
	.cta__button {
		font-size: 11px;
		margin: 2em auto 0;
	}
	footer {
		padding: 50px 0 20px;
	}
	.footer__branding img {
		height: 4em;
	}
	.footer__company--name {
		font-size: 14px;
	}
	.footer__branding {
		font-size: 11px;
	}
	.footer__nav a {
		padding: 0.5em 1em;
		font-size: 12px;
		border: none;
	}
	.footer__cta a {
		padding: 0.7em;
		margin: 0 0.5em;
		width: 150px;
		font-size: 12px;
	}
	.footer__copy {
		font-size: 10px;
		margin-top: 30px;
		letter-spacing: 0;
	}
	.floating_cta {
		left: 0;
		right: 0;
		top: unset;
		bottom: 0;
		width: 100%;
		writing-mode: unset;
	}
	.floating_cta__btn {
		padding: 0.8em 0;
		font-size: 12px;
		border-bottom: unset;
		display: block;
		width: 50%;
		text-align: center;
		border-left: unset;
		letter-spacing: 0;
	}
	.floating_cta__btn--contact {
		border-bottom: unset;
		border-right: unset;
		border-left: solid 1px #fff;
	}

	/* LOW PAGE */
	.low_hd__mainpage--bk:before {
		padding-top: 55%;
	}
	.low_hd__mainpage--content h1 {
		margin-top: 20px;
		font-size: 22px;
	}
	.main_page {
		padding: 50px 0;
	}
	.main_page.maxwidth {
		padding: 50px 20px;
	}
	.main_page.maxwidth900 {
		padding: 50px 20px;
	}
	.low_voice.maxwidth1000 {
		padding: 50px 20px;
	}
	.catch {
		font-size: 22px;
	}
	
	/* ABOUT */
	.about__catch {
		margin-bottom: 1em;
		padding: 0 20px;
	}
	.about__sub_catch {
		font-size: 17px;
	}
	.about__list--img {
		width: 100%;
	}
	.about__list--content:nth-child(2n) .about__list--img {
		margin-left: 0;
	}
	.about__list--img:before {
		padding-top: 60%;
	}
	.about__list--description {
		width: 100%;
		margin-left: 0;
		margin-top: 0;
		padding: 2em;
		font-size: 13px;
	}
	.about__list--ttl {
		font-size: 21px;
		margin-bottom: 0.5em;
		line-height: 1.5;
	}
	.about__list--ttl_ttl {
		font-size: 16px;
	}
	.about__list--content:nth-child(2n) .about__list--description {
		margin-left: 0;
	}
	.about__list {
		padding: 0 20px;
	}
	.about__list--content {
		margin-bottom: 40px;
	}

	/* SERVICE */
	.service__intro {
		padding: 50px 20px;
	}
	.service__intro--text {
		font-size: 13px;
	}
	.service_body__list--content {
		width: 49%;
		margin-bottom: 6%;
	}
	.v2-data_body__list--content.data_body__list--content.service_body__list--content {
		width: 100%;
		margin-right: 0;
	}
	.service_body__list--content:nth-child(3n) {
		margin-right: 2%;
	}
	.service_body__list--content:nth-child(2n) {
		margin-right: 0;
	}
	.service_body__list--description {
		padding: 1em 0.5em;
	}
	.service_body__list--ttl span.service_body__list--ttl_count {
		font-size: 12px;
	}
	.service_body__list--ttl {
		font-size: 15px;
		line-height: 1.5;
		align-items: flex-start;
	}
	.service_body__list--ttl_ttl {
		font-size: 14px;
		width: calc(100% - 24px);
	}
	.service_body__list--text {
		font-size: 12px;
		letter-spacing: 0;
	}
	.service_list {
		margin: 40px 0 50px;
		padding: 50px 0 30px;
	}
	.service__list--content {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
	.service__list--ttl {
		font-size: 15px;
	}
	.service__list--text {
		font-size: 13px;
	}
	.service__catch {
		line-height: 1.6;
	}
	.service_flow__step-tabs {
		gap: 10px;
		margin: 0 auto 30px;
	}
	.step-tab {
		font-size: 12px;
	}
	.service_flow__step--content {
		padding: 20px 20px 30px;
		font-size: 14px;
	}
	.service_flow__step--content h2 {
		font-size: 18px;
	}
	.swiper-pagination-bullet {
		height: 10px!important;
		width: 10px!important;
	}
	.service_flow__step--swiper {
		padding: 0 0px 45px;
	}
	.service_design {
		margin: 40px 0 0;
		padding: 50px 0;
	}
	.service_design__list--img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.service_design__list--description {
		width: 100%;
	}
	.service_design__list--ttl {
		font-size: 18px;
	}
	.service_design__list--text {
		font-size: 13px;
	}
	.low_themes__flow--list > li dl {
		padding-left: 30px;
	}
	.low_themes__flow--list > li dl dt {
		font-size: 15px;
	}
	.low_themes__flow--content dd {
		font-size: 12px;
	}
	.service__feature {
		margin: 60px auto;
	}
	.data_body__list .service_body__list--ttl_ttl {
		width: 100%;
		font-size: 13px;
		letter-spacing: 0;
	}
	.service__intro--text span {
		font-size: 17px;
	}
	.service__logo--img {
		width: 48%;
		height: 70px;
		margin-bottom: 4%;
		margin-right: 4%;
	}
	.service__logo--img:nth-child(2n) {
		margin-right: 0;
	}

	/* PROBLEM */
	.accordion-003 summary {
		font-size: 14px;
	}
	.accordion-003 .startup__list--text {
		padding: 20px 20px;
		font-size: 13px;
	}
	.startup__list--text h3 {
		font-size: 16px;
	}
	.accordion-003 summary::before {
		right: 1.42em;
	}
	.startup__list--last_text {
		font-size: 14px;
	}
	
	/* VOICE POST */
	.p-postVoiceSummary h2 {
		font-size: 19px;
		line-height: 1.5rem;
	}
	.p-postVoiceSummary ol li {
		font-size: 15px;
	}
	.p-postVoiceSummary p {
		font-size: 14px;
	}
	.p-postVoiceSummary h3 {
		margin-bottom: 1em;
		font-size: 16px;
		line-height: 1.5rem;
	}
	.p-postVoiceUpdate {
		margin-top: 2.4rem;
	}
	.p-postVoiceUpdate dl dt {
		width: 5.9rem;
		height: 1.6rem;
		line-height: 1.6rem;
		font-size: 12px;
	}
	.p-postVoiceUpdate dl dd {
		font-size: 14px;
		line-height: 0;
		margin-left: 0;
	}
	.p-postVoiceBack {
		margin-top: 3.1rem;
		margin-bottom: 1rem;
	}
	.p-postVoiceBack .btn a {
		font-size: 12px;
	}

	/* SEMINAR POST */
	.seminar__list--content {
		margin-bottom: 40px;
		width: 100%;
		margin-right: 0;
	}
	.l-post_container {
		flex-wrap: wrap;
	}
	.l-post_main {
		width: 100%;
		font-size: 13px;
	}
	.l-post ul.p-seminar-head_tag {
		font-size: 11px;
	}
	.p-seminar-head h1 {
		font-size: 18px;
		font-weight: 700;
		margin: 16px 0 20px;
	}
	.l-post h3 {
		font-size: 17px;
	}
	.p-seminar-instructor_name {
		font-size: 15px;
	}
	.p-seminar-instructor_description {
		font-size: 13px;
		line-height: 1.875;
		margin-bottom: 20px;
	}
	.p-seminar-instructor {
		flex-wrap: wrap;
	}
	.p-seminar-instructor_content {
		flex: unset;
		width: 100%;
	}
	.p-seminar-instructor_image {
		width: 100%;
		margin: 0 auto 25px;
		max-width: 150px;
	}
	.p-seminar-form_wrap p {
		font-size: 13px;
	}
	.p-seminar-form dt {
		font-size: 13px;
	}
	.p-seminar-form p {
		font-size: 12px;
	}
	.p-form__submit .c-btn__inner {
		font-size: 13px;
	}
	.p-seminar-apply {
		width: 80%;
		margin: 0 auto;
		padding: 22px 0px;
		font-size: 16px;
	}
	
	/* COLUMN POST */
	.seminar__category--list a {
		padding: 0.4em 1em;
		font-size: 12px;
		min-width: 11em;
	}
	.c-pagination {
		margin-top: 0px;
	}
	.p-post-head_list li {
		font-size: 10px;
	}
	.p-post-head_date {
		font-size: 12px;
	}
	.p-post-head h1 {
		font-size: 20px;
		margin: 15px 0 25px;
	}
	.l-post h2 {
		font-size: 20px;
		padding-bottom: 15px;
		line-height: 1.6;
	}
	.p-post_related .p-post_related_headline {
		font-size: 18px;
	}
	.p-post_related_list li {
		font-size: 14px;
	}
	.p-post_related_list li::before {
		top: 6px;
	}
	.p-post_related_list li:not(:last-child) {
		margin-bottom: 10px;
	}
	.p-post-category ul li {
		font-size: 14px;
	}
	.p-post-category ul li::before {
		top: 6px;
	}

	/* COMPANY */
	.company__intro--content h2 {
		font-size: 17px;
	}
	.company__intro--content p {
		font-size: 14px;
	}
	.company__message {
		margin: 60px 0;
		justify-content: center;
	}
	.company__message--content {
		width: 100%;
		padding-right: 0;
		font-size: 14px;
		order: 1;
		margin-top: 20px;
	}
	.company__message--content h2 {
		font-size: 17px;
	}
	.company__message--img {
		width: 100%;
		max-width: 200px;
	}
	.company__main {
		margin-bottom: 60px;
		margin-top: 60px;
	}
	.low_page__title {
		font-size: 25px;
	}
	.low_page__subtitle {
		font-size: 12px;
	}
	.company__main tr {
		font-size: 12px;
	}
	.company__main td {
		width: 30%;
		padding: 1.5em 0;
	}
	.company__main td:nth-child(2) {
		width: 70%;
		padding: 1.5em;
	}
	.company__map {
		padding: 50px 0 40px;
	}
	.company__map iframe {
		height: 20em;
	}
	
	/* DOWNLOAD */
	.download__intro--text {
		margin: 1em 0 40px;
		font-size: 13px;
	}
	.p-whitepaperList__item {
		width: 100%;
		margin-bottom: 2em;
	}
	.p-whitepaperList__item .title {
		font-size: 17px;
	}
	.p-whitepaperList__item p {
		font-size: 12px;
	}
	.p-downloadBtn {
		font-size: 13px;
	}
	.c-fileName {
		font-size: 18px;
	}
	.p-downloadHead .p-downloadBtn {
		font-size: 12px;
	}
	.p-downloadbody section h2 {
		font-size: 18px;
	}
	.p-downloadbody section {
		font-size: 13px;
	}
	.c-backBtn {
		font-size: 12px;
	}
	
	/* FORM */
	.c-download-form__desc {
		font-size: 20px;
		margin-bottom: 3em;
	}
	.p-form dl {
		padding: 1.5em 0;
	}
	.p-form dt {
		width: 100%;
		font-size: 14px;
		padding: 0;
		padding-right: 0;
		margin-bottom: 1em;
	}
	.p-form dd {
		width: 100%;
		margin-left: 0;
	}
	.p-form__acceptTerms {
		line-height: 2;
	}
	.contact-form__desc {
		font-size: 14px;
	}
	.contact_form {
		padding: 0 20px;
	}
	.u-accordion--target {
		gap: 10px;
		font-size: 13px;
	}
	
	/* POLICY */
	.policy__list--ttl {
		font-size: 16px;
	}
	.policy__list--text {
		font-size: 12px;
	}

	/* STAFF */
	.staff__intro.service__intro {
		padding-bottom: 0;
		margin-bottom: 0px;
	}
	.staff__item {
		width: 49%;
		margin-bottom: 4%;
	}
	.staff__item:nth-child(2n) {
		margin-right: 0%;
	}
	.low_staff__head .tp_staff__tag {
		font-size: 12px;
	}
	.low_staff__head .tp_staff__year {
		font-size: 12px;
		margin-left: 0.5em;
	}
	.low_staff__head h1 {
		font-size: 20px;
	}
	.low_staff__body--img {
		width: 100%;
		max-width: 200px;
		margin: 0 auto 30px;
	}
	.low_staff__body--content {
		width: 100%;
		padding-left: 0;
	}
	.low_staff__body--content h2 {
		font-size: 16px;
	}
	.low_staff__body--content p {
		font-size: 12px;
	}
	.data_body__list--img img {
		max-height: unset;
		width: 100%;
		height: auto;
	}
	.data__catch {
		margin-bottom: 20px;
	}
	.data_body__list .service_body__list--ttl_ttl {
		width: 100%;
		font-size: 15px;
		letter-spacing: 0;
	}
	.data_body__list {
		max-width: 300px;
	}
	.data_body__list .service_body__list--description {
		padding: 1em;
	}
	.main_page.seminar.maxwidth:last-child {
		padding: 30px 20px 50px;
	}
}