@charset "utf-8";

@media (max-width: 767px) {

	html,
	body {
		min-width: initial;
	}

	body {
		font-size: 14px;
	}

	table {
		font-size: 14px;
	}

	.pc {
		display: none !important;
	}

	.tab {
		display: none;
	}

	.sp {
		display: inherit;
	}

	.pc.tab {
		display: none !important;
	}

	img {
		width: 100%;
		height: auto;
	}

	.noScroll {
		overflow: hidden;
	}

	.btnMore {
		width: 100%;
		height: 64px;
		padding: 0 0 0 30px;
		line-height: 64px;
		border-radius: 4px;
		background-position: right 22px top 22px;
		background-size: 20px 20px;
	}

	.btnMore02 {
		display: block;
		width: auto;
		height: 64px;
		margin: 45px auto 0;
		padding: 0 0 0 32px;
		line-height: 64px;
		border-radius: 4px;
		background-position: right 22px top 22px;
		background-size: 20px 20px;
	}

	/*----------------------------------------------------
	HEADER
----------------------------------------------------*/

	header {
		height: 60px;
	}

	header .logo {
		width: 120px;
		height: 60px;
	}

	header .logo img {
		width: 72px;
		margin-top: 14px;
	}

	.openbtn {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		background: #7515ff;
		cursor: pointer;
		width: 56px;
		height: 60px;
		border-radius: 0px;
		transition: background-color .3s ease;
		z-index: 999;
	}

	.openbtn.active {
		background-color: #fff;
	}

	.openbtn span {
		display: block;
		position: absolute;
		left: 16px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
		width: 20px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		transition: all .4s ease;
	}

	.openbtn span::before,
	.openbtn span::after {
		content: '';
		display: block;
		width: 100%;
		height: 2px;
		border-radius: 2px;
		background-color: #fff;
		position: absolute;
		left: 0;
	}

	.openbtn span::before {
		top: -6px;
	}

	.openbtn span::after {
		bottom: -6px;
	}

	.openbtn.active span {
		background-color: transparent;
	}

	.openbtn.active span::before {
		background-color: #241A2C;
		transform: rotate(-45deg);
		top: 0;
	}

	.openbtn.active span::after {
		background-color: #241A2C;
		transform: rotate(45deg);
		bottom: 0;
	}

	header nav {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		background-color: #fafafa;
		padding-top: 72px;
		display: none;
	}

	header nav ul {
		height: 100%;
		display: block !important;
		padding: 0 24px 32px 24px;
		overflow-y: auto;
	}

	header nav li {
		border-bottom: solid 1px #eeeeee;
	}

	header nav ul li::after {
		content: '';
		width: 6px;
		height: 6px;
		border: 0;
		border-top: solid 2px #241A2C;
		border-right: solid 2px #241A2C;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		right: 20px;
		bottom: 0;
		margin: auto;
	}

	header nav ul li a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		padding: 16.5px 0;
	}

	header nav ul li a::before {
		content: none !important;
	}

	header nav ul li.navContact a {
		margin-top: 0;
		margin-left: 0;
		background-color: transparent;
		color: #241A2C;
	}

	header nav ul li a span {
		position: static;
		transform: none;
	}

	header nav ul li.menu-parent a span::after {
		content: none;
	}

	header nav ul li a .ja {
		position: absolute;
		top: 15px;
		left: 125px;
		display: block;
		opacity: 1;
		margin-left: 15px;
		font-size: 12px;
		font-weight: 400;
		text-align: left;
	}

	header nav ul li a .en {
		font-size: 24px;
	}

	header nav ul .sub-menu {
		display: none !important;
	}

	header nav ul li.menu-parent a span {
		display: block;
	}

	header nav ul li.navContact a .en {
		display: block;
		text-align: left;
	}

	/*----------------------------------------------------
	CONTENTS
----------------------------------------------------*/

	.cont {
		width: auto;
		margin: 0 auto 0;
		padding: 40px 0;
	}

	.cont.contSpBorderNone {
		border-top: none;
	}

	.subTitle {
		font-size: 20px;
	}

	.subTitle span {
		display: block;
		padding-right: 0;
	}

	.subTitleArrow {
		margin: 40px 0 0;
		padding-top: 35px;
		font-size: 16px;
		background-size: 28px auto;
	}

	.subtitleBold {
		margin: 15px 0 0;
		line-height: 1.4em;
		font-size: 16px;
	}

	.text {
		margin: 15px 0 0;
		font-size: 12px;
		line-height: 1.8em;
		text-align: left;
	}

	.btnLink a {
		width: 100%;
		font-size: 15px;
	}

	.subContent {
		width: 100%;
		margin-top: 110px;
		padding: 0 24px;
	}

	.titleEn {
		width: auto;
		font-size: 32px;
	}

	.titleEn02 {
		font-size: 38px;
		font-weight: 700;
	}

	.titleJa {
		width: auto;
		font-size: 32px;
	}

	.title {
		width: auto;
		font-size: 12px;
		margin-top: 0;
		line-height: 1em;
	}

	.title02 {
		margin-top: 30px;
		font-size: 30px;
		line-height: 1.5em
	}

	.title03 {
		width: 100%;
		margin: 30px auto 0;
		font-size: 17px;
		line-height: 1.5em;
	}

	.contContact {
		padding-top: 40px;
		width: auto;
		margin: 0 0 0;
	}

	.contactBlock {
		display: block;
		margin: 0 0 0;
		padding: 60px 40px;
	}

	.contactBlock div {
		width: auto;
	}

	.contactBlock h2 {
		width: auto;
		text-align: center;
		font-size: 30px;
		font-weight: 800;
	}

	.contactBlock p {
		width: auto;
		padding-top: 15px;
	}

	.contactBlock a {
		width: auto;
		margin-top: 30px;
		text-indent: 0;
		padding: 20px 30px 20px;
	}

	section {
		scroll-margin-top: 96px;
	}

	section:last-child {
		padding-bottom: 50px;
	}

	.pageBack,
	.topBack {
		width: 100%;
		margin-top: 70px;
	}

	/*----------------------------------------------------
	FOOTER
----------------------------------------------------*/

	.pageTopScroll {
		right: -14px;
	}

	footer {
		margin: 0;
	}

	.footBread ul {
		width: 100%;
		margin: 50px 0 0;
		padding: 12px 24px 14px 24px;
	}

	.footBread li {
		width: fit-content;
		max-width: 33.33%;
	}

	.footBread li:not(:last-child)::after {
		margin: 0 8px;
	}

	.footCont {
		display: block;
		width: auto;
		margin: 0 20px 0;
		padding: 45px 0 0 0;
	}

	.footContact {
		width: auto;
		padding-bottom: 31px;
		border-right: none;
		border-bottom: solid 1px #412f4f;
	}

	.footContactTitle {
		margin-bottom: 20px;
	}

	a.footContactBtn {
		width: 100%;
	}

	a.footContactBtn:hover {
		text-decoration: underline;
	}

	.footMenu {
		width: 100%;
		margin: 0;
		padding: 30px 0;
	}

	.footMenu ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.footMenu ul li {
		width: 100%;
	}

	.footBtm {
		width: 100%;
		margin: 20px 0 0 0;
		padding-bottom: 45px;
	}

	.footBtm ul {
		display: flex;
		justify-content: center;
		position: unset;
		column-gap: 12px;
		margin-bottom: 32px;
	}

	.footBtm ul li {
		width: 40px;
		line-height: 0;
		margin-left: 0;
	}

	.footBtm ul li img {
		width: 100%;
		height: auto;
	}

	.footCopy {
		margin: 20px 0 0;
		text-align: center;
	}

	/*----------------------------------------------------
	INDEX
----------------------------------------------------*/

	.indexMain {
		padding-bottom: 10px;
		overflow-x: hidden;
	}

	.indexMainMov {
		height: auto;
		aspect-ratio: 3 / 4;
		min-height: unset;
	}

	.indexMainScroll {
		right: -14px;
	}

	.indexTitle {
		width: auto;
		margin: -120px 30px 0 30px;
		text-align: left;
	}

	.indexTitle .first-line {
		line-height: 1.0em;
		font-size: 50px;
	}

	.indexTitle .first-line::before {
		top: 0px;
		left: -15px;
		width: 32px;
		height: 32px;
	}

	.indexTitle .second-line {
		font-size: 29px;
	}

	.indexTitleEn {
		width: auto;
		margin: 50px 30px 0;
		text-align: left;
		font-size: 13px;
		line-height: 1.4em;
	}

	.indexTitleEn span {
		padding-bottom: 15px;
		font-size: 24px;
	}

	.indexTitleEn span span {
		font-size: 28px;
	}

	.indexContent {
		width: 100%;
		margin: 0;
	}

	.indexValue {
		margin: 55px 24px 0 24px;
	}

	#indexValue .valueImage {
		margin-top: 15px;
	}

	#indexValue .valueTitle {
		margin-top: 80px;
	}

	.indexSubtitle {
		font-size: 38px;
	}

	.indexvalueDetail {
		display: block;
		width: auto;
		margin: 60px 0 0;
	}

	.indexvalueDetail p {
		text-align: center;
		font-size: 16px;
		line-height: 1.6em;
	}

	.indexvalueDetail a {
		margin-top: 28px;
	}

	.index .valueContent02Index {
		margin: 70px 0 0;
	}

	.indexSubtitleLink {
		margin: 10px 0 0;
	}

	.indexValue1stText {
		margin: 70px 0 0;
		font-size: 24px;
		line-height: 1.5em;
	}

	.indexValue1stText span {
		font-size: 64px;
	}

	.indexValueText {
		width: auto;
		margin: 30px auto 0 0;
	}

	.indexValue ul {
		display: block;
		margin: 45px 0 0;
		border-bottom: none;
	}

	.indexValue ul li {
		width: 100%;
		border-bottom: 1px solid #1713D6;
	}

	.indexValue ul li a {
		height: 175px;
	}

	.indexValue ul li a:hover {
		padding: 19px 20px 0 19px;
		border: solid 2px #1713D6;
		border-top: solid 1px #1713D6;
	}

	.indexValue ul li:first-child a:hover {
		border-top: solid 2px #1713D6;
	}

	.indexValue ul li a:hover::after {
		bottom: 19px;
		left: 19px;
	}

	.indexWorks {
		margin: 80px 24px 0 24px;
	}

	.indexWorksText {
		width: auto;
		margin: 30px auto 0 0;
	}

	.indexWorksText01 {
		margin: 35px 0 0;
		font-size: 18px;
	}

	.indexWorksText02 {
		margin: 25px 0 0;
		font-size: 16px;
		text-align: left;
	}

	.indexWorks #js-worksList {
		margin-top: 0;
		margin-bottom: 25px;
	}

	.indexWorksData {
		display: block;
		margin: 20px 0 0;
	}

	.indexWorksData01,
	.indexWorksData02 {
		padding-top: 0;
	}

	.indexWorksData01 {
		width: auto;
		padding-bottom: 15px;
		border-right: none;
		border-bottom: solid 1px #ebebeb;
	}

	.indexWorksData02 {
		padding-top: 20px;
		padding-left: 0;
	}

	.indexWorksData01 span,
	.indexWorksData02 span {
		display: inline-block;
		margin: 0 5px 0;
		font-size: 40px;
		line-height: 1.0em;
		letter-spacing: -0.05em;
	}

	.indexWorks .worksCont {
		width: auto;
	}

	.indexWorks02 .cards-container {
		width: 100%;
		margin-top: 40px;
		margin-left: 0;
	}

	.indexWorks02 .postListItem .card-contents {
		display: block;
	}

	.indexWorks02 .postListItemImg {
		width: 100%;
	}

	.indexWorks02 .postItemContent {
		width: 100%;
	}

	.indexWorksLink {
		margin: 80px auto 0;
	}

	/*----------------------------------------------------
	POST LIST
----------------------------------------------------*/

	.pagePostList {
		width: auto;
		display: block;
		margin-top: 0;
	}

	.postSubImage.column2 {
		width: auto;
	}

	.pagePostList.column3 li,
	.pagePostList.column3 li:nth-child(2n) {
		margin-top: 40px;
	}

	.postListItem,
	.pagePostList.column2 li:nth-child(2n) {
		width: 100% !important;
		margin-top: 32px;
	}

	.postItemTags {
		flex-wrap: wrap;
		column-gap: 12px;
	}

	.postItemContent h3 {
		font-size: 15px;
		white-space: normal;
	}

	.indexWorks .postListItem:nth-child(even) {
		transform: none;
	}

	.indexRecruit {
		min-height: 600px;
		margin: 80px 0px 0 0px;
		padding-top: 60px;
		background-image: url('../images/index/recruit_back_sp.jpg');
	}

	.indexRecruitBox {
		width: auto;
		margin: 50px 24px 0;
		padding: 50px 25px 50px;
	}

	.indexRecruitSubtitle {
		font-size: 20px;
	}

	.indexRecruitText {
		margin: 20px 0 0;
		font-size: 14px;
		line-height: 1.8em;
	}

	.indexRecruitLink {
		margin: 40px auto 0;
	}

	.indexCompany {
		width: auto;
		margin: 60px 24px 0;
		padding-top: 0;
	}

	.indexCompany .titleEn {
		text-align: center;
		margin: 0 auto 0;
	}

	.indexCompany .title {
		text-align: center;
	}

	.indexCompanyImage {}

	.indexCompanyText {
		width: auto;
		margin: 25px 0 0;
		line-height: 1.8em;
	}

	.indexCompany ul {
		width: auto;
		margin: 25px 0 0;
	}

	.indexCompany ul li {
		margin: 0 0 20px;
	}

	.indexCompany ul li a {
		font-size: 16px;
	}

	.indexCompany ul li a span {}

	.indexNews {
		width: auto;
		margin: 80px 0 0;
	}

	.indexNews ul {
		margin-top: 25px;
	}

	.indexNews li {}

	.indexNews li a {
		display: flex;
		flex-wrap: wrap;
		padding: 20px 80px 20px 20px;
		background-position: right 25px center;
	}

	.indexNews li:last-child a {}

	.indexNews li .indexNewsDate {
		width: 90px;
	}

	.indexNews li .indexNewsCategory {
		width: auto;
	}

	.indexNews li .indexNewsText {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.indexNewsLink {
		margin: 25px 24px 0;
	}

	.indexTopics {
		margin: 80px 24px 0 24px;
	}

	.pagePostList.column3 .postItemContent h3 {
		width: 100%;
		display: block;
		overflow: unset;
		white-space: inherit;
	}

	.indexTopicsLink {
		margin: 25px auto 0;
	}

	.postItemClient {
		font-size: 22px;
	}

	.postItemContent .contentEx {
		font-size: 14px;
	}

	.pagePostList.column3 .postItemContent .postItemClient h2,
	.pagePostList.column3 .postItemContent .postItemClient h3,
	.worksList .pagePostList.column3 .postItemContent .postItemClient h3 {
		width: auto;
	}

	.worksData {
		position: relative;
		top: auto;
		left: auto;
	}

	.worksData.fixed {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
	}

	.worksData.fixed.none {
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
	}

	.worksData.fixed p {
		width: auto;
	}

	.worksDataCLient {
		width: auto;
		margin: 20px auto 0 0;
		padding-top: 20px;
	}

	.worksData .worksDataCLient h2 {
		font-size: 16px;
		line-height: 1.4em;
	}

	.worksData .worksDataCLient p {
		font-size: 50px;
		line-height: 1.0em;
	}

	.worksData p {
		font-size: 13px;
		line-height: 1.6em;
	}

	.worksData p.worksDataTxt01 {
		margin-top: 40px;
	}

	.worksCont .worksContList {
		width: auto;
		margin-left: 0;
	}

	.worksCont .worksContList .column2 {
		width: auto;
		gap: 10px 60px;
	}

	.worksCont .worksContList .column2 li {
		width: auto;
	}

	.worksCont .postItemClient {
		font-size: 22px;
	}

	/*----------------------------------------------------
	WORKS / TOPICS
----------------------------------------------------*/

	.postTagsContainer {
		width: calc(100% + 24px);
		overflow-x: auto;
		margin-top: 32px;
	}

	.postTags {
		justify-content: flex-start;
		flex-wrap: nowrap;
		padding-bottom: 10px;
		gap: 0;
	}

	.postTags li {
		flex-shrink: 0;
		padding-right: 12px;
	}

	.pagenation {
		margin-top: 32px;
		column-gap: 10.33px;
	}

	.pagenation li:nth-child(5),
	.pagenation li:nth-child(6) {
		display: none;
	}

	.worksDetail {
		width: 100%;
	}

	.worksImage {
		width: calc(100% + 50px);
		margin: 0 -25px 35px;
	}

	.worksImage img {
		max-width: 100%;
		height: auto;
	}

	.workDetailBlog img {
		display: block;
		width: 100%;
		margin-left: 0;
	}

	/*----------------------------------------------------
	POST DETAIL
----------------------------------------------------*/

	.postDetail {
		width: 100%;
		margin-top: 110px;
		padding: 0 24px;
	}

	.postTitle {
		width: auto;
		font-size: 24px;
	}

	.postDetailClient {
		width: auto;
	}

	.postHeader {
		width: auto;
	}

	.postDetail .postItemTags {
		flex-wrap: wrap;
	}

	.postDetailContent {
		width: 100%;
		margin-top: 48px;
	}

	.postMainImage {
		width: calc(100% + 48px);
		margin: 0 -24px 48px -24px;
	}

	.postMainImage img {
		border-radius: 0;
	}

	.postSubImage {
		display: block;
	}

	.postSubImage div:not(:last-child) {
		margin-bottom: 20px;
	}

	.postDetailContent ul {
		margin-bottom: 32px;
	}

	.postDetailContent li {
		margin-bottom: 8px;
	}

	.relatedPosts {
		margin-top: 48px;
	}

	.relatedPostsTitle {
		margin-bottom: 20px;
	}

	.relatedPosts .pagePostList {
		margin-top: 0;
	}

	.relatedPosts .postListItem {
		margin-top: 32px;
	}

	.relatedPosts .postListItem:first-child {
		margin-top: 0;
	}

	.recruitBox {
		padding: 20px;
	}

	.recruitBox dt {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.5em;
		margin-bottom: 12px;
		padding-top: 5px;
	}

	.recruitBox .btnLink {
		margin-bottom: 0;
	}

	.recruitBox .btnLink a {
		width: 100%;
	}

	.relatedPosts.worksList .postItemTags a {
		font-size: 13px;
		line-height: 1.5em;
		text-decoration: underline;
		text-underline-offset: 2px;
		color: #3A13D6;
	}

	/*----------------------------------------------------
	VALUE
----------------------------------------------------*/

	.value .subContent .titleEn02,
	.value .subContent .title02 {
		width: 100%;
	}

	.valueContentImage {
		position: static;
		width: calc(100% + 48px);
		margin: 32px -24px 0 -24px;
	}

	.valueContent {
		width: 100%;
		padding: 0;
		margin-top: 0;
	}

	/* .valueContent img {
	width: calc( 100% + 50px);
	margin: 0 -25px;
} */

	.valueTitle {
		margin: 55px 0 0;
	}

	.valueTitle p {
		font-size: 24px;
		line-height: 1em;
	}

	.valueTitle h2,
	.valueTitle h3 {
		margin-top: 15px;
		font-size: 16px;
		line-height: 1.4em;
	}

	.valueContentText {
		margin: 30px 0 0 0;
		width: auto;
		text-align: left;
	}

	#indexValue .valueContentText {
		font-size: 14px;
		line-height: 1.8em;
	}

	.valueImage {
		position: relative;
		width: calc(100% + 24px + 24px);
		margin: 60px -24px 0;
		text-align: center;
	}

	.valueImage ul {
		width: 100%;
		height: 100%;
		margin: 0;
	}

	.valueImage ul li {
		position: absolute;
		top: 3.5%;
		left: 3%;
		width: 44.1%;
		margin: 0;
		line-height: 24px;
		font-size: 13px;
		border: none;
	}

	.valueImage ul li:nth-child(2) {
		top: 56.5%;
		left: 28%;
	}

	.valueImage ul li:nth-child(3) {
		top: 3.5%;
		left: auto;
		right: 2%;
	}

	.valueImageTxt01 {
		position: absolute;
		top: auto;
		bottom: 15%;
		left: 14%;
		width: 71.7%;
		line-height: 38px;
		color: white;
		font-size: 16px;
	}

	.valueImageTxt02 {
		position: absolute;
		top: auto;
		bottom: -3%;
		left: 14%;
		width: 71.7%;
		font-size: 16px;
	}

	.valueContent02 h2 {
		width: 100%;
		letter-spacing: -.02em;
		padding: 0 24px;
	}

	.valueContent02 ul {
		margin: 20px 0;
	}

	.valueContent02 ul li {
		width: auto;
		padding: 0 0;
	}

	.valueContent02 ul li a {
		padding: 35px 20px;
	}

	.valueContent02 ul li .valueContent02In {
		display: block;
		width: 100%;
		margin: 0;
	}

	.valueContent02Left {
		width: auto;
		font-size: 12px;
	}

	.valueContent02 ul li .valueContent02In h3 {
		font-size: 24px;
		margin: 0;
	}

	.valueContent02 ul li .valueContent02In .valueContent02Left::before {
		width: 52px;
		height: 52px;
	}

	.valueContent02 ul li .valueContent02In .subtitleLink {
		margin: 0;
		font-size: 13px;
	}

	.valueContent02Text {
		margin-top: 20px;
		width: auto;
		font-size: 15px;
	}

	.valueContent02Text span {
		font-size: 18px;
	}

	.valueClientImage {
		margin: 40px -24px 0;
	}

	.valueIntro {
		padding: 25px 0 0;
		text-align: center;
	}

	.valueIntro .valueIntroEn {
		padding: 0 0;
		font-size: 24px;
	}

	.valueIntro h1 {
		padding: 5px 0 0;
		font-size: 16px;
	}

	.valueIntro h2 {
		padding: 15px 0 0;
		font-size: 16px;
	}

	.valueIntro p {
		padding: 15px 0 0;
		text-align: left;
	}

	.valueClient {
		width: 100%;
		margin: 96px 0 0 0;
	}

	.valueClient h2 {
		display: block;
		padding: 15px 25px 15px 0px;
		font-size: 24px;
		line-height: 1.5em;
	}

	.valueClientSubtitle {
		width: auto;
		;
		margin: 64px 0 0;
		font-size: 20px;
	}

	.valueClientSubtitle::before {
		width: 15px;
		height: 15px;
		margin-bottom: 10px;
	}

	.valueClientTextImg {
		display: block;
		margin: 32px 0 0 0;
	}

	.valueClientTextImg p {
		width: auto;
	}

	.valueClientTextImg div {
		width: auto;
		margin: 20px -24px 0;
	}

	.valueCont01Image {
		margin: 40px 0 0;
		text-align: center;
	}

	.noteContent {
		margin-top: 40px;
	}

	.valueCont02Merit {
		margin-top: 40px;
		padding: 0 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.valueCont02Merit li:not(:nth-child(n+5)) {
		border-right: none;
		border-bottom: 1px solid #d1d1d1;
	}

	.valueCont02Merit li:not(:nth-child(3n)) {
		padding-right: unset;
		border-right: unset;
	}

	.valueCont02Merit h4 {
		text-align: center;
	}

	.valueCont02Merit h4::before {
		left: calc(50% - 6px);
	}

	.valueCont02Merit li:nth-child(2) h4::after {
		content: '　';
		display: block;
	}

	.valueCont02Merit li:nth-child(3) h4::after {
		content: none;
	}

	.valueCont02Merit p {
		font-size: 10px;
	}

	.valueClientTextImg div img {
		width: 100%;
		height: auto;
	}

	.valueClientText,
	.valueClientText02 {
		width: auto;
		margin: 35px 0 0;
	}

	.valueClient .noteContent {
		margin-top: 20px;
		padding: 0;
	}

	.valueClientFlow {
		margin: 20px -24px 0;
		padding: 0;
		border: none;
	}

	.valueClientFlow ul {
		padding: 32px 24px 24px 48px;
	}

	.valueClientFlow li {
		display: block;
		margin-left: 0;
		padding-bottom: 40px;
	}

	.valueClientFlow li h4 {
		width: auto;
		padding-left: 10px;
	}

	.valueClientFlow li h4::after {
		content: none;
	}

	.valueClientFlow li p {
		width: auto;
		margin-top: 10px;
		padding-left: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}

	.valueClientFlow li p::before {
		content: none;
	}

	.valueClientDx {
		display: block;
		margin: 10px -24px 0;
		padding: 0;
	}

	.valueClientDx ul {
		padding: 32px 24px 0;
		row-gap: 20px;
	}

	.valueClientDx li {
		width: auto !important;
		border-bottom: solid 1px #d1d1d1;
		padding: 0 0 20px 0 !important;
		margin-bottom: 0;
		border-right: none;
	}

	.valueClientDx li:first-child {}

	.valueClientDx li h4 {
		font-size: 20px;
		text-align: center;
	}

	.valueClientDx li h4 .sub {
		font-size: 11px;
		line-height: 1.4em;
	}

	.valueClientDx li h5 {
		margin-top: 10px;
		text-align: center;
	}

	.valueClientDx li p {
		margin-top: 10px;
		font-size: 12px;
	}

	.valueClientPartner {
		width: auto;
		margin-top: 0;
		border-top: none;
		padding: 0;
	}

	.valueClientPartner ul li {
		display: block;
		margin-bottom: 32px;
		padding: 0 0 0 0;
	}

	.valueClientPartnerContent {
		width: auto;
		margin: 0;
		padding-top: 0;
	}

	.valueClientPartnerContent p {
		margin-top: 32px;
	}

	.valueClientPartnerImg {
		width: 100%;
		margin: 20px 0 0;
		height: 180px;
	}

	.valueWorks {
		width: 100%;
		margin-top: 60px;
	}

	.valueWorksTitle {
		font-size: 20px;
		margin-bottom: -10px;
	}

	.valueContent02 {
		margin-top: 80px;
		margin-left: -24px;
		margin-right: -24px;
	}

	.valueList {
		padding-top: 80px;
	}

	.valueSupportCards {
		display: block;
		margin-top: 32px;
		padding-left: 0;
	}

	.valueSupportCards .cardItem:not(:last-child) {
		margin-bottom: 20px;
	}

	.valueSupportCards h4 {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.5em;
		color: #4E17AD;
	}

	.valueSupportCards .notePost iframe {
		margin-bottom: 0 !important;
	}

	.valueWorks .contentLink {
		margin-top: 48px;
	}

	.valueClientPartner ul li:nth-child(1) .valueClientPartnerImg img {
		width: 114px;
	}

	.valueClientPartner ul li:nth-child(2) .valueClientPartnerImg img {
		width: 240px;
	}

	/*----------------------------------------------------
	RECRUIT
----------------------------------------------------*/

	.contRecruit01 {
		margin-top: 50px;
	}

	.recruit .contRecruit01 .btnMore02 {
		margin-top: 15px;
	}

	.recruitPdf {
		display: block;
		width: auto;
		padding: 0;
		margin: 30px auto;
	}

	.recruitPdf p {
		width: auto;
	}

	.recruitPdf a {
		width: auto;
		height: 64px;
		margin: 25px 0 0;
		padding: 0 0 0 32px;
		line-height: 64px;
		border-radius: 4px;
	}

	.recruitTitle {
		position: unset;
		transform: none;
		display: block;
	}

	.recruitTitle .title03 {
		font-size: 30px;
	}

	.recruitIndexImage {
		width: calc(100% + 48px);
		display: block;
		margin: 48px -24px 0 -24px;
	}

	.recruitIndexImage img {
		width: 100%;
	}

	.recruitIndex {
		margin: 96px auto 0 auto;
		width: 100%;
	}

	.recruitIndex h2 {
		font-size: 24px;
		margin-bottom: 32px;
	}

	.recruitIndexText {
		display: block;
		margin-top: 64px;
	}

	.recruitIndexText p {
		margin-top: 12px;
	}

	.recruitIndex .btnLink a {
		margin-top: 12px;
	}

	.recruitIndexTextImage {
		margin-top: 64px;
		display: block;
		padding-left: 20px;
		border-left: 1px solid #241A2C;
	}

	.recruitIndexTextImage div {
		padding-left: 0;
		border: none;
	}

	.recruitIndex:not(.memberList) h3 {
		font-size: 20px;
	}

	.recruitIndexTextImage figure {
		width: 100%;
		margin-top: 20px;
	}

	.downloadBox {
		display: block;
		margin-top: 64px;
		padding: 20px;
	}

	.downloadBtn {
		width: 100%;
		margin-top: 20px;
	}

	.recruitIndex .pagePostList {
		margin-top: 20px;
	}

	.supportContent {
		margin-top: 64px;
	}

	.supportContent ul {
		display: block;
	}

	.skillList {
		margin-top: 15px;
	}

	.skillList ul {
		display: block;
	}

	.skillList li {
		text-align: left;
		padding: 10px 0 10px 15px;
	}

	.skillList li:not(:last-child) {
		border-bottom: none;
	}

	.benefitsList {
		padding: 20px 0;
	}

	.benefitsList ul {
		display: block;
	}

	.benefitsList li {
		padding: 10px 0 10px 0;
		font-size: 12px;
		border-right: none !important;
		border-bottom: 1px solid #d1d1d1;
	}

	.contRecruit04 h2 {
		text-align: center;
		font-size: 20px;
		font-weight: 800;
	}

	.recruitCareerTextImage {
		display: block;
	}

	.recruitCareerTextImage p {
		margin-top: 24px;
	}

	.recruitCareerTextImage h3 {
		margin-top: 20px;
		text-align: center;
	}

	.recruitCareerTextImage figure {
		margin-top: 32px;
	}

	.postItemProfile {
		column-gap: 0;
	}

	.postDetail .postItemProfile {
		width: auto;
		font-size: 13px;
	}

	.postItemProfile div:not(:last-child)::after {
		margin-left: 0;
	}

	.memberMainImg {
		margin: 48px -24px 0 -24px;
		width: calc(100% + 48px);
	}

	.postDetailContent img {
		margin-bottom: 0;
	}

	.postDetailContent h2 {
		font-size: 22px;
	}

	.interview .postDetailContent h3 {
		font-size: 17px;
		margin-bottom: 20px;
	}

	.postDetailContent .smallEn {
		margin-top: 80px;
		margin-bottom: -20px;
		padding-left: 15px;
		font-size: 14px;
		line-height: 1.5em;
	}

	.relatedPosts.memberList {
		border-top: none;
		padding-top: 0;
	}

	/*----------------------------------------------------
	JOBS
----------------------------------------------------*/

	.recruitJobs {
		width: 100%;
	}

	.recruitJobs h2 {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.jobList li a {
		display: block;
		padding: 19.5px 20px 17px 20px;
		background-position: right 20px center;
	}

	.jobDetailHeader h1 {
		width: 100%;
		font-size: 26px;
	}

	.jobDetailHeader h2 {
		font-size: 24px;
	}

	.relatedJobs {
		width: 100%;
		margin-top: 48px;
	}

	.relatedJobs h2 {
		font-size: 20px;
	}

	/*----------------------------------------------------
	ABOUT
----------------------------------------------------*/

	.about .subContent {
		width: 100%;
		margin-top: 140px;
	}

	.aboutCont01 {
		margin-top: 50px;
	}

	.about .titleEn,
	.about .title {
		width: 100%;
	}

	.aboutIndex {
		width: 100%;
		margin-top: 50px;
	}

	.aboutTitle {
		margin: 0 0 0;
	}

	.aboutTitle p {
		font-size: 24px;
		line-height: 1em;
	}

	.aboutTitle h2,
	.aboutTitle h3 {
		margin-top: 10px;
		font-size: 16px;
		line-height: 1.4em;
	}

	.abtouImage {
		margin: 40px -24px 0;
	}

	.aboutSubtitle {
		font-size: 29px;
		margin-bottom: 64px;
	}

	.aboutIndexTitle {
		font-size: 24px;
		margin-bottom: 32px;
	}

	.aboutTopTextImage {
		display: flex;
		flex-direction: column;
		row-gap: 20px;
		margin-top: 40px;
	}

	.aboutTopTextImage div:nth-child(1) {
		order: 2;
	}

	.aboutTopTextImage div:nth-child(2) {
		order: 1;
	}

	.aboutTopTextImage img {
		width: 200px;
	}

	.socialIssues {
		margin-top: 32px;
		padding: 0;
	}

	.socialIssues h3 {
		width: 100%;
		padding: 22px 20px 14px 20px;
	}

	.socialIssues dl {
		padding-left: 0;
	}

	.socialIssues dt {
		font-size: 14px;
	}

	.socialIssues dd {
		font-size: 12px;
		line-height: 1.8em;
	}

	.managerProfile {
		display: block;
		margin-top: 32px;
		padding-bottom: 31px;
	}

	.managerProfile figure {
		width: 100%;
		margin: 0 auto 32px auto;
	}

	.managerProfile h3 {
		display: block;
		text-align: center;
		font-size: 20px;
	}

	.managerProfile h3 span {
		display: block;
		font-size: 15px;
	}

	.historyTable {
		width: calc(100% + 48px);
		margin: 40px -24px 0;
		padding: 0;
	}

	.historyTable td {
		display: block;
		padding: 0 24px;
	}

	.historyTable .year {
		padding-left: 24px;
		padding-top: 12px;
		width: 100%;
	}

	.historyTable .month {
		width: 100%;
		padding-bottom: 8px;
	}

	.historyTable td:last-child {
		padding-right: 24px;
		padding-bottom: 12px;
		font-size: 13px;
	}

	.companyTable th {
		display: block;
		width: 100%;
		padding: 20px 0 8px 0;
		border-bottom: none;
	}

	.companyTable td {
		display: block;
		padding: 0 0 20px 0;
		border-bottom: 1px solid rgba(0, 0, 0, .12);
	}

	.companyTable tr:first-child td {
		padding-top: 0;
	}

	.aboutIndex td a {
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.aboutIndex td a:hover {
		text-decoration: none;
	}


	/*----------------------------------------------------
	STATS
----------------------------------------------------*/

	.infograficWorkCont {
		display: block;
		width: auto;
		margin: 0 0 0;
	}

	.infograficWorkCont li {
		display: block;
		margin-top: 40px;
	}

	.infograficWorkCont li img {
		width: 260px;
	}

	.infograficWorkCont li .infograficWorkContRight {
		width: auto;
	}

	.infograficWorkCont li .infograficWorkContRight h3 {
		font-size: 20px;
	}

	.infograficWorkCont li .infograficWorkContRight .infograficWorkContNum {
		margin-top: 20px;
		font-size: 48px;
	}

	.infograficWorkCont li .infograficWorkContRight .infograficWorkContNum span {
		margin-left: 10px;
		font-size: 30px;
	}

	.infograficWorkCont li .infograficWorkContRight p {
		margin-top: 20px;
		font-size: 12px;
	}

	.infografic02Cont {
		display: block;
		margin-top: 40px;
		padding-right: 0;
	}

	.infografic02Cont img {
		width: 100%;
	}

	.infografic02Cont .infografic02ContNum {
		width: auto;
		margin-top: 20px;
	}

	.infografic02ContNum li {
		padding: 20px 10px;
	}

	.infografic02ContNum li:last-child {}

	.infografic02ContNum li h3 {
		font-size: 17px;
	}

	.infografic02ContNum li p {
		font-size: 16px;
	}

	.infografic02ContNum li p span {
		font-size: 32px;
		margin-right: 10px;
	}

	.stats .title03 {
		margin-bottom: 32px;
	}

	.aboutStatsImage {
		width: calc(100% + 48px);
		margin: 0 -24px;
	}

	.aboutStats {
		width: 100%;
		margin-top: 64px;
	}

	.aboutStats:first-of-type,
	.aboutStats:last-of-type {
		margin-top: 96px;
	}

	.aboutStats h2 {
		font-size: 24px;
		margin-bottom: 32px;
	}

	.aboutStats h2 .icon {
		width: 29px;
		height: 29px;
	}

	.statsContainer {
		text-align: center;
		padding: 32px 0;
		padding-left: 0;
		display: block;
	}

	.statsContainer h3 {
		font-size: 16px;
	}

	.statsContainer>div {
		padding: 15px 0 15px 0;
		border-left: none;
		border-top: 1px solid #d1d1d1;
		width: 100% !important;
	}

	.statsContainer>div:first-child {}

	.statsContainer>div:last-child {
		border-bottom: 1px solid #d1d1d1;
	}

	.dataGroup02>div:nth-child(-n+2)>* {
		display: block;
		margin-right: 0;
	}

	.statsTextImage {
		display: block;
		margin-bottom: 0;
	}

	.statsTextImage div {
		width: 100%;
	}

	.statsTextImage figure {
		width: 47.95%;
		margin: 8px auto 5px auto;
	}

	.statsTextImage .statsData {
		margin-bottom: 20px;
		text-align: center;
	}

	.statsData p {
		display: inline-block;
		padding-top: 15px;
		padding-left: 70px;
		line-height: 38px;
		background-position: left 0 top 0;
		background-size: 60px 60px;
	}

	.statsData em {
		padding-bottom: 3px;
		font-size: 38px;
	}

	.dataGroup03 .statsData+.note {
		bottom: 15px;
	}

	/*----------------------------------------------------
	CONTACT
----------------------------------------------------*/

	.contact .titleEn,
	.contact .title {
		width: 100%;
	}

	.contact .subContent {
		width: 100%;
		padding: 0 24px;
	}

	.form {
		width: 100%;
	}

	select {
		width: 80%;
		margin-bottom: 5px;
	}

	input[type=submit] {
		width: 100% !important;
	}

	.btnArea {
		align-items: unset;
	}

	.confirm .btnArea {
		margin-top: 48px;
	}



	/*----------------------------------------------------
	dx
----------------------------------------------------*/

	.dxImage {
		width: 60%;
		margin: 0 auto;
	}




	/*----------------------------------------------------
	security
----------------------------------------------------*/

	.contSecurity01 {
		margin-top: 50px;
	}

	.securityImage {
		width: 60%;
		margin: 0 auto;
	}




	/*========================================================*/
}

/*========================================================*/