#main_content,
#wpcontent {

	/* ====================================================================================
	HOME
	==================================================================================== */

	/* .p-home-info
-------------------------------------------------------------- */
	& .p-home-info {
		background-image: url(../img/bg_dot.svg);

		& .swell-block-fullWide__inner {
			@media screen and (max-width: 599px) {
				padding: 0;
			}
		}

		& .__slider {
			padding-bottom: 40px;
		}

		& .swiper-pagination {
			bottom: 0;
		}

		& .swiper-pagination-bullet-active {
			background-color: var(--color_text);
			;
		}

		& img {
			border-radius: 10px;
			box-shadow: 2px 2px 15px 0 rgba(0, 0, 0, 0.15);
		}
	}

	/* .p-home-worry
-------------------------------------------------------------- */
	& .p-home-worry {
		position: relative;

		&::after {
			content: "";
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			bottom: -50px;
			width: 0;
			height: 0;
			border-left: 100px solid transparent;
			border-right: 100px solid transparent;
			border-top: 51px solid #007AB8;
			z-index: 2;
		}

		& .__body {
			position: relative;
			border-radius: 15px;
			border: 3px solid #A6C0C9;
			padding: 1.5em 1.5em 4em;
			max-width: 750px;
			margin-inline: auto;

			@media screen and (min-width: 600px) {
				padding: 2.3em 6em 2.3em 3em;
			}

			@media screen and (max-width: 599px) {
				font-size: .9em;
			}
		}

		& .__img {
			position: absolute;
			right: -10px;
			bottom: 0;
			width: 100px;

			@media screen and (min-width: 600px) {
				right: -40px;
				width: 210px;
			}
		}

		& .__txt {
			max-width: 372px;
			margin-inline: auto;
		}

		& ul {
			list-style: none;
			padding-left: 0;
			margin-bottom: .3em;
		}

		& li {
			position: relative;
			line-height: 1.8;
			padding-left: 1.2em;

			&::before {
				position: absolute;
				left: 0;
				top: .6em;
				content: "";
				display: inline-block;
				width: 16.5px;
				height: 16px;
				background-image: url('../img/icon_check.svg');
				background-position: center;
				background-size: contain;
				background-repeat: no-repeat;
			}

			& span {
				background-color: var(--color_main);
				color: var(--color_yellow);
				padding: .2em .5em;
				margin-inline: .1em .4em;

				@media screen and (max-width: 599px) {
					padding: .1em .4em .2em .4em;
					margin-inline: .1em .2em;
				}
			}

			&+li {
				margin-top: 0.9em;
			}
		}
	}


	/* .p-home-solution
-------------------------------------------------------------- */
	& .p-home-solution {
		& .__title {
			@media screen and (max-width: 599px) {
				font-size: 1.23em !important;
			}
		}

		& .__text {
			@media screen and (max-width: 599px) {
				text-align: left;
			}
		}

		& .__message {
			box-shadow: 2px 2px 40px 0px rgba(0, 0, 0, 0.1);
			border-radius: 30px;
			padding: 30px 30px 45px 30px;

			& .__text {
				@media screen and (max-width: 599px) {
					text-align: left;
				}
			}
		}

		& .__message img {
			width: 100%;
			max-width: 441px;
			margin-inline: auto;
		}
	}

	/* .p-home-reason
-------------------------------------------------------------- */
	& .p-home-reason {
		counter-reset: number;

		& h2 .swl-inline-color>span:first-of-type {
			font-family: var(--font_en);
			margin-inline: -5px;
		}
	}

	& .p-home-reason-item {
		background-color: #fff;
		border-radius: 15px;
		box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.1);
		padding: 1.5em;

		@media screen and (min-width: 600px) {
			padding: 2em;
		}


		& img {
			border-radius: 10px;
		}

		& h3 {
			position: relative;

			@media screen and (max-width: 599px) {
				padding-left: 4em;
				margin-bottom: .5em;
			}

			@media screen and (min-width: 600px) {
				padding-left: 90px;
				margin-bottom: 1.5em;
			}

			&::after {
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: 0;
				counter-increment: number;
				content: counter(number, decimal-leading-zero) ".";
				margin-right: 8px;
				font-weight: bold;
				background: linear-gradient(90deg, #2DBAE7, #008EE1);
				-webkit-background-clip: text;
				background-clip: text;
				color: transparent;
				font-size: 2.5em;
				font-family: var(--font_en);
			}
		}
	}

	/* .p-home-service
-------------------------------------------------------------- */
	& .p-home-service-tab {

		& .c-tabList {
			gap: 10px;
		}

		& .c-tabBody {
			background-color: #fff;
			border: none;
			border-radius: 0 0 15px 15px;
		}

		& .c-tabList__button {
			background-color: #EDEDED;
			color: var(--color_gray);
			opacity: 1;
			border-radius: 15px 15px 0 0;
			font-weight: 600;
			padding: 1em;
			line-height: 1.3;

			@media screen and (min-width: 600px) {
				font-size: 1.2em;
			}
		}

		&.is-style-default>.c-tabList .c-tabList__button[aria-selected=true] {
			background-color: #fff;
			color: var(--color_main);
			border-top: 4px solid var(--color_yellow);
		}
	}


	/* .p-home-area
-------------------------------------------------------------- */
	& .p-home-area {
		background-image: url(../img/bg_triangle.svg);
	}

	& .p-home-area-item {
		gap: 3em !important;

		& .__img {}

		& .__body {
			border: 1px solid var(--color_main);
			border-radius: 20px;
			overflow: hidden;
			height: fit-content;

			&>div {
				width: 100%;
			}

			& h3 {
				background-color: var(--color_main);
				color: #fff;
				padding: .5em;
				margin-bottom: 0;
			}
		}

		& .__txt {
			background-color: #fff;
			padding: 2em 1.5em;

			&>div {
				width: 100%;
			}
		}
	}

	/* .p-home-faq
-------------------------------------------------------------- */
	& .p-home-faq {
		background-image: url(../img/bg_triangle.svg);

		& .faq_q {
			background-color: var(--color_pale-blue);
			border-radius: 5px;
			margin-bottom: 5px;
			padding-right: 3em;
		}

		& .faq_a {
			background-color: #FFF3EE;
			border-radius: 5px;
		}

		& [data-a=fill-custom] .faq_a:before {
			background-color: var(--color_orange);
		}

		& .is-style-faq-stripe .swell-block-faq__item:not(:last-child) {
			margin-bottom: 7px;
		}

		& .swell-block-faq .swell-block-faq__item+.swell-block-faq__item {
			margin-top: 7px;
		}
	}


	/* .p-home-news
-------------------------------------------------------------- */
	& .p-home-news {
		& .__box {
			border-radius: 10px;
			padding-top: 1.5em;
			padding-bottom: 1.5em;

			& .__list {
				& .p-postList {
					border-top: none;

					& .p-postList__item {
						& a {
							border-bottom: 2px dotted var(--color_main);
							padding-top: 1.2em;
							padding-bottom: 1.2em;

							& .p-postList__body {
								@media screen and (min-width: 600px) {
									display: grid;
									grid-template-columns: 16% 1fr;
									gap: 1.3em;
								}

								& .icon-posted:before {
									content: none;
								}

								& .c-postTimes__posted {
									font-size: 1.3em;
								}

								& .p-postList__title {
									font-weight: 500;
								}
							}
						}
					}

					& .p-postList__item:last-child {
						& a {
							border-bottom: none;
						}
					}

				}

			}
		}
	}


	/* .p-home-company
-------------------------------------------------------------- */
	& .p-home-company {
		& th {
			background-color: #fff;
			border: none;
			border-bottom: 1px solid var(--color_main);
			padding-block: 1em;

			& span {
				display: none;
			}
		}

		& td {
			border: none;
			border-bottom: 1px solid #D9D9D9;
			padding-block: 1em;
		}
	}


	/* ====================================================================================
	RECRUIT
	==================================================================================== */
		/* .p-recruit-recruit
-------------------------------------------------------------- */
	& .p-recruit-recruit {
		z-index: 2;

		& .__head {
			text-align: center;
		
			@media screen and (max-width: 599px) {
				font-size: .75em;
				line-height: 1.5;
			}
		}
		
		& .__head p {
			position: relative;
			display: inline-block;
		
			@media screen and (min-width: 600px) {
		
				&::before,
				&::after {
					content: "";
					display: inline-block;
					width: 43px;
					height: 83px;
					background-image: url('../img/deco_slash-speech-bubble.svg');
					background-position: center;
					background-size: contain;
					position: absolute;
					top: 50%;
					transform: translateY(-50%);
					background-repeat: no-repeat;
				}
		
				&::before {
					left: -60px;
				}
		
				&::after {
					right: -60px;
					transform: scaleX(-1) translateY(-50%);
				}
			}
		}
		
				& .__img img {
					border-radius: 20px;
				}

		& table th {
			border-left: none;
			padding: 1.5em;
			font-weight: normal;
			width: 32%;
			@media screen and (min-width: 600px) {
				width: 22%;
			}
		}

		& table td {
			border-right: none;
			padding: 1.5em;
		}
	}
	
	/* .p-recruit-intro
-------------------------------------------------------------- */
	& .p-recruit-intro {
		overflow: hidden;

		& .__main {
			position: relative;

			&::after {
				content: "";
				display: inline-block;
				width: 609px;
				height: 602px;
				background-image: url('../img/bg_recruit_intro.png');
				background-repeat: no-repeat;
				background-position: center;
				background-size: contain;
				position: absolute;
				z-index: -1;

				@media screen and (max-width: 599px) {
					top: 60px;
					right: -140px;
					opacity: .5;
				}

				@media screen and (min-width: 600px) {
					top: 50%;
					transform: translateY(-50%);
					right: -80px;
				}
			}

			& h2 {
				@media screen and (max-width: 599px) {
					font-size: 1.3em !important;
				}
			}
		}

		& .__btn {
			& span {
				text-align: left;
			}

			& svg {
				color: var(--color_main);
				background-color: #fff;
				padding: 2px;
				border-radius: 100vmax;
			}
		}
	}

	/* .p-recruit-job
-------------------------------------------------------------- */
	& .p-recruit-job-item {
		border-radius: 15px;
		padding: 1.5em;

		@media screen and (min-width: 600px) {
			padding: 2em;
		}

		& img {
			border-radius: 10px;
		}
	}

	& .p-recruit-jop-message {
		position: relative;
		border-radius: 15px;
		box-shadow: 3px 4px 15px 0 rgba(0, 0, 0, 0.1);
		padding-inline: 3em;

		@media screen and (min-width: 600px) {
			padding-inline: 10em;
		}

		& .__img01,
		& .__img02 {
			position: absolute;
			bottom: 0;
			margin: 0;
		}

		& .__img01 {
			width: 65px;
			left: -15px;

			@media screen and (min-width: 600px) {
				width: 137px;
				left: 10px;
			}
		}

		& .__img02 {
			width: 70px;
			right: -15px;

			@media screen and (min-width: 600px) {
				width: 146px;
				right: 10px;
			}
		}

		& p {
			margin: 0;
		}
	}

	/* .p-recruit-osusume
-------------------------------------------------------------- */
	& .p-recruit-osusume {
		& .__head {
			max-width: 394px;
			margin-inline: auto;
		}

		& .__content {
			position: relative;
		}

		& .__img {
			position: absolute;
			width: 130px;
			right: 8%;
			top: -147px;

			@media screen and (max-width: 599px) {
				display: none;
			}
		}

		& .__items {
			gap: 30px;

			@media screen and (max-width: 599px) {
				gap: 10px;
				grid-template-columns: repeat(2, 1fr);
			}
		}

		& .__item {
			border-radius: 15px;
			padding: 1.5em;
			box-shadow: 3px 4px 15px 0px rgba(0, 0, 0, 0.1);

			& img {
				max-width: 130px;
				width: 100%;
				margin-inline: auto;
			}
		}
	}

	/* .p-recruit-apply
-------------------------------------------------------------- */
	& .p-recruit-apply {
		& .__items {
			max-width: 684px;
			margin-inline: auto;

			@media screen and (max-width: 599px) {
				max-width: 80%;
			}
		}

		& .__item {
			filter: drop-shadow(3px 5px 10px rgba(0, 0, 0, .2));

		}
	}

	/* .p-recruit-staff
-------------------------------------------------------------- */
	& .p-recruit-staff {
		& .__items {
			gap: 15px;

			@media screen and (min-width: 600px) {
				gap: 30px;
			}
		}

		& .__item {
			border-radius: 20px;
			border: 2px solid var(--color_main);
		}
	}

	/* ====================================================================================
	CASE
	==================================================================================== */
	/* .p-case-anchor
-------------------------------------------------------------- */
	& .p-case-anchor {
		justify-content: space-between;

		& .__btn {
			width: calc(49% - var(--wp--style--block-gap, .5em) * .5);


			& a {
				border: 2px solid var(--color_main);
				box-shadow: 2px 3px 8px 0px rgba(0, 0, 0, 0.1);
				transition: .3s;

				@media screen and (max-width: 599px) {
					padding: .5em 1em;
				}

				& span {
					background-color: var(--color_main);
					color: #fff;
					border-radius: 100vmax;
					width: 22px;
					height: 22px;
					font-size: .8em;
					margin-left: 1em;

					&::after {
						left: 50%;
						transform: translateX(-50%);
					}
				}

				&:hover {
					background-color: var(--color_pale-blue) !important;
				}
			}


		}

	}

	/* .p-case-voice
-------------------------------------------------------------- */
	& .p-case-voice {
		& .__items {
			gap: 3em;

			@media screen and (max-width: 599px) {
				padding: 0 1em;
			}
		}
	}

	/* .p-case-study
-------------------------------------------------------------- */
	& .p-case-study {
		background-image: url(../img/bg_dot_white.svg);
		background-size: 20px;

		& .__items {
			gap: 1.5em;
		}
	}

	/* ====================================================================================
	.p-contact
	==================================================================================== */
	& .p-contact-tel {
		& .__head {
			@media screen and (max-width: 599px) {
				font-size: 1.6em !important;
			}
		}
	}

	& .p-contact-form {
		max-width: 640px;
		margin-inline: auto;

		@media screen and (max-width: 599px) {
			margin-top: 3em;
		}

		& .smf-progress-tracker {
			padding-left: 0;
		}

		& .smf-progress-tracker__item__number {
			background-color: #A6DFF4;
		}

		& .smf-progress-tracker__item__text {
			color: #A6DFF4;
		}

		& .smf-progress-tracker__item:after,
		.smf-progress-tracker__item:before {
			background-color: #A6DFF4;
		}

		& .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
			background-color: var(--color_main);
		}

		& .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
			color: var(--color_main);
		}

		& .smf-item__label__text {
			& span.swl-bg-color {
				padding: .05em .3em .1em;
				font-size: .75em;
				margin-left: .5em;
			}
		}

		& .smf-form .smf-text-control__control,
		.smf-form .smf-textarea-control__control {
			background-color: #F8F8F8;
			border-color: var(--color_light-gray);
			border-radius: 5px;
		}

		& .smf-form .smf-text-control__control::placeholder,
		.smf-form .smf-textarea-control__control::placeholder {
			color: var(--color_light-gray);
		}

		& .smf-form--letter .smf-item__col--label {
			padding-bottom: .3em;
		}

		& .privacy {
			& .smf-item__col--controls {
				text-align: center;
			}
		}

		& .smf-action .smf-button-control__control {
			max-width: 280px;
			width: 100%;
			color: var(--color_main);
			border: 2px solid var(--color_main);
			background: #fff;
			border-radius: 100vmax;
			padding: .5em 1em;
			font-weight: 700;
			font-size: 1.2em;
			position: relative;

			&::after {
				content: "";
				position: absolute;
				top: 50%;
				right: 1em;
				transform: translateY(-50%);
				border: 7px solid transparent;
				border-left: 8px solid var(--color_main);
			}
		}

		& .smf-action .smf-button-control__control[data-action="back"] {
			color: var(--color_gray);
			border-color: var(--color_gray);

			&::after {
				border-left: none;
				border-right: 8px solid var(--color_gray);
				right: auto;
				left: 1em;
			}
		}

		& .smf-action .smf-button-control+.smf-button-control {
			@media screen and (max-width: 599px) {
				margin-left: 0;
			}
		}

		& .smf-action {
			@media screen and (max-width: 599px) {
				display: flex;
				flex-direction: column-reverse;
				gap: 20px;
			}
		}

		& a[target="_blank"]:not([class]) {
			position: relative;
			display: inline-block;
			text-decoration: underline;
			transition: opacity 0.35s;
			margin-right: 0.2em;

			&::after {
				content: "";
				display: inline-block;
				width: 1.2em;
				height: 1.2em;
				margin-left: 0.3em;
				margin-bottom: 0.2em;
				mask-image: url(../img/up-right-from-square-solid-full.svg);
				-webkit-mask-image: url(../img/up-right-from-square-solid-full.svg);
				mask-repeat: no-repeat;
				-webkit-mask-repeat: no-repeat;
				background-color: currentColor;
				vertical-align: middle;
			}

			&:hover {
				opacity: 0.7;
			}
		}

		& .snow-monkey-forms-turnstile>div {
			justify-content: center;
		}
	}
}