@charset "utf-8";
.s_pc_view {
	display: inherit !important;
}
.s_pctab_view {
	display: inherit !important;
}
.s_tab_view {
	display: none !important;
}
.s_sp_view {
	display: none !important;
}
.s_mat0 {
	margin-top: 0;
}
.s_mat5 {
	margin-top: 5px;
}
.s_mat10 {
	margin-top: 10px;
}
.s_mat20 {
	margin-top: 20px;
}
.s_mat30 {
	margin-top: 30px;
}
.s_mat40 {
	margin-top: 40px;
}
.s_mat50 {
	margin-top: 50px;
}

.s_mab0 {
	margin-bottom: 0;
}
.s_mab5 {
	margin-bottom: 5px;
}
.s_mab10 {
	margin-bottom: 10px;
}
.s_mab20 {
	margin-bottom: 20px;
}
.s_mab30 {
	margin-bottom: 30px;
}
.s_mab40 {
	margin-bottom: 40px;
}
.s_mab50 {
	margin-bottom: 50px;
}
.s_mab60 {
	margin-bottom: 60px;
}
.s_mab100 {
	margin-bottom: 100px;
}

.s_auto {
	margin: auto;
}

.s_al_center,
.aligncenter {
	text-align: center;
}
.s_al_right,
.alignright {
	text-align: right;
}
.s_al_left,
.alignleft {
	text-align: left;
}
.s_vl_top {
	vertical-align: top;
}
.s_vl_middle {
	vertical-align: middle;
}
.s_vl_bottom {
	vertical-align: bottom;
}

.s_f_left {
	float: left;
}
.s_f_right {
	float: right;
}
.is_f_clear {
	float: none;
	text-align: center;
}

.s_red {
	color: #f00;
}
.s_black {
	color: #000;
}
.s_white {
	color: #fff;
}
.s_navy {
	color: #1e3379;
}

.s_bold {
	font-weight: bold;
}
.s_black {
	font-weight: 900;
}
.s_indent {
	text-indent: 1em;
}
.s_kome,
.s_kome li {
	text-indent: -1em;
	margin-left: 1em;
}
.s_underline {
	text-decoration: underline;
}
.s_fw_normal {
	font-weight: normal;
}
.s_inline {
	display: inline-block;
}

.s_fs_sm {
	font-size: 0.6em;
}
.s_fs_lg {
	font-size: 1.25em;
}

.s_img_floatL {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px;
}
.s_img_floatR {
	float: right;
	margin-left: 20px;
	margin-bottom: 10px;
}

.s_fs11 {
	font-size: 1.1rem !important;
}
.s_fs12 {
	font-size: 1.2rem !important;
}
.s_fs13 {
	font-size: 1.3rem !important;
}
.s_fs14 {
	font-size: 1.4rem !important;
}
.s_fs15 {
	font-size: 1.5rem !important;
}
.s_fs16 {
	font-size: 1.6rem !important;
}
.s_fs17 {
	font-size: 1.7rem !important;
}
.s_fs18 {
	font-size: 1.8rem !important;
}
.s_fs19 {
	font-size: 1.9rem !important;
}
.s_fs20 {
	font-size: 2rem !important;
}
.s_fs21 {
	font-size: 2.1rem !important;
}
.s_fs22 {
	font-size: 2.2rem !important;
}
.s_fs23 {
	font-size: 2.3rem !important;
}
.s_fs24 {
	font-size: 2.4rem !important;
}

.s_w10p {
	width: 10%;
}
.s_w20p {
	width: 20%;
}
.s_w30p {
	width: 30%;
}
.s_w40p {
	width: 40%;
}
.s_w50p {
	width: 50%;
}
.s_w60p {
	width: 60%;
}
.s_w70p {
	width: 70%;
}
.s_w80p {
	width: 80%;
}
.s_w90p {
	width: 90%;
}
.s_w100p {
	width: 100%;
}

.s_disable {
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	.s_pc_view {
		display: none !important; /*改行にのみ使用*/
	}
	.s_tab_view {
		display: inherit !important; /*改行にのみ使用*/
	}

	.s_f_left.is_sp_f_clear {
		float: left;
	}
	.s_f_right.is_sp_f_clear {
		float: right;
	}
}

@media screen and (max-width: 640px) {
	.s_pctab_view {
		display: none !important;
	}
	.s_sp_view {
		display: inherit !important; /*改行にのみ使用*/
	}
}

/*----------------------------------------------
	s_mv
---------------------------------------------*/
.s_mv {
	position: relative;
}
.s_mv_head,
.s_mv_robot,
.s_mv_medal {
	position: absolute;
}
.s_mv_head {
	top: 20px;
	left: 20px;
	z-index: 3;
	width: 100%;
}
.s_mv_catch {
	width: 40%;
	max-width: 650px;
}
.s_mv_tagline {
	font-size: 4em;
	font-weight: 900;
	line-height: 1.4em;
	animation: fadeUp 0.5s 1s forwards;
}
.s_mv_tagline_skew {
	display: inline-block;
	margin-left: 10px;
	transform: skewX(-15deg);
}
.s_mv_ttl {
	width: 75%;
	max-width: 1300px;
	animation: fadeUp 0.5s 1s forwards;
}
.s_mv_em {
	color: var(--main-color);
}
.s_mv_sm {
	font-size: 0.8em;
}
.s_mv_robot {
	bottom: -40px;
	left: -20px;
	z-index: 1;
	width: 60%;
	max-width: 1125px;
}
.s_mv_medal {
	right: 10px;
	bottom: 10px;
	z-index: 2;
	width: 35%;
	max-width: 670px;
}
.s_mv_bg {
	width: 100%;
}
.s_mv_bg_sp {
	display: none;
}
@media screen and (max-width: 1280px) {
	.s_mv_tagline {
		font-size: 3em;
	}
}
@media (max-width: 768px) {
	.s_mv_head {
		top: 10px;
	}
	.s_mv_tagline_skew {
		margin-left: 5px;
	}
}
@media (max-width: 640px) {
	.s_mv_head {
		width: calc(100% - 20px);
		left: 10px;
	}
	.s_mv_catch {
		width: 60%;
	}
	.s_mv_tagline {
		font-size: 2em;
	}
	.s_mv_ttl {
		width: 100%;
	}
	.s_mv_medal {
		right: 0;
		bottom: 25%;
		left: 0;
		width: 60%;
		margin: auto;
	}
	.s_mv_bg {
		display: none;
	}
	.s_mv_bg_sp {
		display: block;
	}
}

/*----------------------------------------------
	s_ques
---------------------------------------------*/
.s_ques {
	position: relative;
	padding-bottom: 160px;
}
.s_ques::before,
.s_ques::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
}
.s_ques::before {
	z-index: -2;
	background: #e6e6e6;
}
.s_ques::after {
	z-index: -1;
	opacity: 0.2;
	background: url(../images/ques_bg.jpg) repeat-y center 0 / 100% auto;
}
.s_ques_block {
	display: flex;
	justify-content: space-between;
}
.s_ques_box {
	width: calc((100% / 3) - 20px);
	padding: 2.5em 10px 0;
	background: url(../images/ques_box_bg.png) no-repeat center 0 / 100% auto;
	text-align: center;
}
.s_ques_box:nth-child(2) {
	margin-top: 40px;
}
.s_ques_ttl {
	margin-bottom: 30px;
	font-size: 1em;
	font-weight: 900;
	line-height: 1.2;
}
.s_ques_ttl_em {
	font-size: 1.66em;
}
.s_ques_person {
	width: 270px;
	max-width: 90%;
}
@media (max-width: 1280px) {
	.s_ques {
		padding-bottom: 100px;
	}
}
@media (max-width: 960px) {
	.s_ques {
		padding-bottom: 80px;
	}
}
@media (max-width: 768px) {
	.s_ques {
		padding-bottom: 60px;
	}
}
@media (max-width: 640px) {
	.s_ques {
		padding-bottom: 50px;
	}
	.s_ques_block {
		flex-direction: column;
		align-items: center;
	}
	.s_ques_box {
		width: 70%;
		margin-bottom: 20px;
	}
	.s_ques_box:nth-child(2) {
		margin-top: 0;
	}
	.s_ques_ttl {
		margin-bottom: 20px;
	}
}

/*----------------------------------------------
	s_lead
---------------------------------------------*/
.s_lead {
	margin-top: -13%;
	padding: 16% 0 11%;
	background: url(../images/lead_bg.png) no-repeat center top / 100%;
	text-align: center;
}
.s_lead_company {
	position: relative;
	margin-right: 0.2em;
	font-size: 0.8em;
}
.s_lead_company::after {
	position: absolute;
	top: -3em;
	left: 0;
	content: "コンピューター式畳製造システムのプロ";
	display: inline-block;
	width: 100%;
	background: #fff;
	color: var(--main-color);
	font-size: calc(100% / 1.8);
	text-align: center;
}
.s_lead_klass {
	font-size: 2em;
}
.s_lead_masu_wrap {
	display: inline-block;
	opacity: 0;
	transform: scale(1.5);
}
.is_show .s_lead_masu_wrap {
	animation: zoomOff 0.5s 0.2s forwards;
}
.s_lead_masu {
	position: relative;
	display: inline-block;
	padding: 0 0.15em 0.1em;
	border: 1px solid #fff;
	line-height: 1.2;
}
.s_lead_masu:first-of-type {
	margin-left: 0.1em;
	transform: translateX(1px);
}
@media (max-width: 768px) {
	.s_lead {
		padding: 17.5% 0 11%;
	}
	.s_lead .c_ttl_type02 {
		font-size: 1.25em;
	}
}
@media (max-width: 640px) {
	.s_lead {
		margin-top: -30%;
		padding: 40% 0 20%;
		background-size: 200% auto;
	}
}
@media (max-width: 380px) {
	.s_lead {
		padding: 38% 0 18%;
	}
}
/*----------------------------------------------
	s_sol
---------------------------------------------*/
.s_sol_head {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 80px 0 2.5%;
}
.s_sol_head::before,
.s_sol_head::after {
	position: absolute;
	top: -100%;
	right: 0;
	bottom: -100%;
	left: 5%;
	content: "";
	width: 220px;
	height: 2px;
	margin: auto;
	background: var(--main-color);
}
.s_sol_head::before {
	opacity: 0;
	transform: rotate(45deg) scale(1.5);
}
.s_sol_head::after {
	opacity: 0;
	transform: rotate(-45deg) scale(1.5);
}
.is_show.s_sol_head::before {
	animation: batsu_before 0.5s forwards;
}
.is_show.s_sol_head::after {
	animation: batsu_after 0.5s forwards;
}
.s_sol_head .is_sol_robot {
	opacity: 0;
	transform: translateX(-30px);
}
.s_sol_head .is_sol_reform {
	opacity: 0;
	transform: translateX(30px);
}
.is_show.s_sol_head .is_sol_robot {
	animation: leftIn 0.5s 0.5s forwards;
}
.is_show.s_sol_head .is_sol_reform {
	animation: rightIn 0.5s 0.5s forwards;
}
.s_sol_head .s_sol_head_group {
	width: 50%;
}
.s_sol_head_group {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	font-size: 1.66em;
	font-weight: 900;
}
.s_sol_head_ttl {
	position: relative;
	display: inline-block;
	margin-left: 0.1em;
	padding: 0 0 0.1em 0.2em;
	background: var(--main-color);
	color: #fff;
	font-size: 2em;
	line-height: 1em;
	transform: skewX(-15deg);
}
.s_sol_head_ttl::before {
	transform: skewX(15deg) translateX(-5px);
}
/*  .is_sol_robot
---------------------------------------------*/
.s_sol_head .is_sol_robot {
	justify-content: end;
}
.is_sol_robot .s_sol_head_ttl::before {
	position: absolute;
	top: -2.4em;
	right: 0;
	left: 0;
	content: "コンピューター式畳製造機 平刺・返縫機";
	margin: auto;
	font-size: calc(100% / 3.3);
	color: var(--bk-color);
	text-align: center;
}
/*  .is_sol_reform
---------------------------------------------*/
.is_sol_reform {
	padding-left: 80px;
}
.is_sol_reform .s_sol_head_ttl::before {
	position: absolute;
	top: -2.4em;
	right: 0;
	left: 0;
	content: "経営コンサルティング支援";
	margin: auto;
	font-size: calc(100% / 3.3);
	color: var(--bk-color);
	text-align: center;
}
.is_sol_reform .s_sol_head_ttl::after {
	position: absolute;
	top: 0;
	right: -8.5%;
	bottom: 0;
	content: "";
	height: 100%;
	aspect-ratio: 1/3;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: var(--main-color);
}
@media (max-width: 1430px) {
	.s_sol_head {
		flex-direction: column;
		margin-bottom: 0;
	}
	.s_sol_head .s_sol_head_group {
		justify-content: center;
		width: 100%;
	}
	.s_sol_head .is_sol_robot {
		margin-bottom: 40px;
	}
	.s_sol_head .is_sol_reform {
		margin-top: 40px;
		padding-left: 0;
	}
}
@media (max-width: 960px) {
	.s_sol_head {
		margin-top: 40px;
	}
}

/*----------------------------------------------
	s_sol_cont
---------------------------------------------*/
/*  .s_sol_cont_head
---------------------------------------------*/
.s_sol_cont_head {
	position: relative;
}
.s_sol_cont_head::before {
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	width: 80%;
	height: 100%;
	background: linear-gradient(270deg, var(--main-color), var(--base-color));
}
.s_sol_cont_head::after {
	position: absolute;
	top: 0;
	right: calc(80% - 60px);
	bottom: 0;
	content: "";
	width: 60px;
	aspect-ratio: 1;
	clip-path: polygon(0 100%, 0 0, 100% 100%);
	background: #fff;
}
.s_sol_cont_head_wrap {
	position: relative;
	padding: 5% 0;
}
.s_sol_cont_head_wrap::before {
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	width: 80%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: right 0;
	background-size: auto 100%;
	mix-blend-mode: soft-light;
}
.s_robot .s_sol_cont_head_wrap::before {
	background-image: url(../images/sol_robot_head_bg.png);
}
.s_reform .s_sol_cont_head_wrap::before {
	background-image: url(../images/sol_reform_head_bg.png);
}
.s_sol_cont_head .l_wrap {
	display: flex;
	justify-content: start;
}
.s_sol_cont_head .s_sol_head_group {
	padding: calc(50px + 0.5em) 20px 50px;
	background: #fff;
}
.s_sol_cont_head .s_sol_head_ttl {
	margin-right: 0.1em;
}
.s_reform .s_sol_cont_head .s_sol_head_ttl {
	margin-right: 0.4em;
}
/*  .s_sol_cont_body
---------------------------------------------*/
.s_sol_cont_body {
	padding: 60px 0 140px;
}
.s_sol_cont_box {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 0 60px;
	background: linear-gradient(
		15deg,
		rgba(var(--rgb-main-color), 0.1) 0%,
		rgba(var(--rgb-main-color), 0) 30%
	);
}
.s_sol_cont_box_ph {
	width: 55%;
	padding: 0 40px;
	text-align: right;
}
.s_sol_cont_box_ttl {
	width: 45%;
	font-size: 1.66em;
	font-weight: 900;
	line-height: 1.2;
}
.s_sol_cont_box_ttl_em {
	font-size: 2em;
}
.s_sol_cont_box_ttl_sm {
	font-size: 0.6em;
}
/* reform */
.s_reform .s_sol_cont_body:last-child {
	padding: 60px 0 240px;
}
.s_reform .s_sol_cont_box_ph {
	mix-blend-mode: multiply;
}
/*  .s_sol_cont_point
---------------------------------------------*/
.s_sol_cont_point_block {
	padding-top: 60px;
}
.s_sol_cont_point_box {
	position: relative;
	display: flex;
	justify-content: end;
}
.s_sol_cont_point_box:nth-child(even) {
	justify-content: start;
	margin-top: 40px;
}
.s_sol_cont_point_ttl {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 480px;
	height: 160px;
	margin: auto;
	padding: 30px 20px 30px 0;
	background: var(--main-color);
	color: #fff;
}
.s_sol_cont_point_box:nth-child(even) .s_sol_cont_point_ttl {
	left: initial;
	right: 0;
}
.s_sol_cont_point_label {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60px;
	display: inline-block;
	margin: auto;
	font-family: "Varela", sans-serif;
	font-size: 0.75em;
	font-weight: 600;
	transform: rotate(90deg);
	text-align: center;
}
.s_sol_cont_point_num {
	font-size: 1.66em;
}
.s_sol_cont_point_txt {
	margin-left: 4em;
	padding: 10px 0 10px 1em;
	border-left: 1px solid #fff;
	font-weight: 900;
}
.s_sol_cont_point_em {
	font-size: 1.25em;
}
.s_sol_cont_point_ph {
	max-width: 90%;
	text-align: right;
}
/*  .s_sol_cont_result
---------------------------------------------*/
.s_sol_cont_result_box {
	text-align: center;
}
.s_sol_cont_result_ttl {
	margin-bottom: 10px;
	font-weight: 900;
}
.s_sol_cont_result_box:nth-child(1) .s_col_cont_result_ph img {
	width: 45%;
	height: auto;
}
.s_sol_cont_result_box:nth-child(2) .s_col_cont_result_ph img {
	width: 100%;
	height: auto;
}
@media (max-width: 1180px) {
	/*  .s_sol_cont_point
---------------------------------------------*/
	.s_sol_cont_point_txt {
		font-size: 1em;
	}
}
@media (max-width: 960px) {
	/*  .s_sol_cont_body
---------------------------------------------*/
	.s_sol_cont_body {
		padding: 40px 0 80px;
	}
	.s_sol_cont_box {
		padding: 20px 0 40px;
	}
	/* reform */
	.s_reform .s_sol_cont_body:last-child {
		padding: 40px 0 180px;
	}
	/*  .s_sol_cont_point
---------------------------------------------*/
	.s_sol_cont_point_ttl {
		width: 400px;
	}
	.s_sol_cont_point_txt {
		font-size: 1.2em;
	}
}
@media (max-width: 768px) {
	/*  .s_sol_cont_body
---------------------------------------------*/
	.s_sol_cont_body {
		padding: 20px 0 40px;
	}
	.s_sol_cont_box {
		padding: 20px 0;
	}
	/* reform */
	.s_reform .s_sol_cont_body:last-child {
		padding: 20px 0 120px;
	}
	/*  .s_sol_cont_point
---------------------------------------------*/
	.s_sol_cont_point_block {
		padding-top: 40px;
	}
	.s_sol_cont_point_box:nth-child(even) {
		margin-top: 20px;
	}
}
@media (max-width: 640px) {
	/*  .s_sol_cont_head
---------------------------------------------*/
	.s_sol_head::before,
	.s_sol_head::after {
		width: 80px;
		height: 1px;
	}
	.s_sol_head .is_sol_robot {
		margin-bottom: 20px;
	}
	.s_sol_head .is_sol_reform {
		margin-top: 20px;
	}
	.s_sol_head_group {
		font-size: 1.2em;
	}
	.s_sol_cont_head::after {
		height: 100%;
	}
	.s_sol_cont_head .s_sol_head_group {
		padding: calc(20px + 0.5em) 10px 20px;
		font-size: 1em;
	}
	/*  .s_sol_cont_body
---------------------------------------------*/
	.s_sol_cont_box {
		flex-direction: column;
	}
	.s_sol_cont_box_ph,
	.s_sol_cont_box_ttl {
		width: 100%;
	}
	.s_sol_cont_box_ttl {
		margin-top: 20px;
		font-size: 1.25em;
		text-align: center;
	}
	/*  .s_sol_cont_point
---------------------------------------------*/
	.s_sol_cont_point_box {
		flex-direction: column;
	}
	.s_sol_cont_point_ttl {
		position: relative;
		width: 100%;
		height: auto;
		padding: 20px 10px 20px 30px;
	}
	.s_sol_cont_point_txt {
		margin-left: 2em;
	}
	.s_sol_cont_point_label {
		left: -40px;
	}
	.s_sol_cont_point_ph {
		max-width: 100%;
	}
}

/*----------------------------------------------
	s_compare
---------------------------------------------*/
/*  .s_subsidy
---------------------------------------------*/
.s_subsidy_img {
	width: 760px;
	max-width: 80%;
	margin: 40px auto 0;
	text-align: center;
}

/*----------------------------------------------
	s_product
---------------------------------------------*/
.s_product_name {
	text-align: center;
	line-height: 1.3;
}
.s_product_name_em {
	font-size: 1.66em;
}
.s_product_img {
	width: 930px;
	max-width: 80%;
	margin: 20px auto 0;
}
.s_product_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -19px 20px;
}
.s_product_box {
	width: calc((100% / 3) - 38px);
	margin: 0 19px 40px;
}
.s_product_ph {
	position: relative;
	overflow: hidden;
}
.s_product_ph::before,
.s_product_ph::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
}
.s_product_ph::before {
	z-index: 1;
	background: var(--main-color);
}
.s_product_ph::after {
	z-index: 2;
	background: #fff;
}
.is_show .s_product_box:nth-child(1) .s_product_ph::before {
	animation: phSlide 0.5s 0.2s forwards;
}
.is_show .s_product_box:nth-child(1) .s_product_ph::after {
	animation: phSlide 0.5s forwards;
}
.is_show .s_product_box:nth-child(2) .s_product_ph::before {
	animation: phSlide 0.5s 0.7s forwards;
}
.is_show .s_product_box:nth-child(2) .s_product_ph::after {
	animation: phSlide 0.5s 0.5s forwards;
}
.is_show .s_product_box:nth-child(3) .s_product_ph::before {
	animation: phSlide 0.5s 1.2s forwards;
}
.is_show .s_product_box:nth-child(3) .s_product_ph::after {
	animation: phSlide 0.5s 1s forwards;
}
.is_show .s_product_box:nth-child(4) .s_product_ph::before {
	animation: phSlide 0.5s 1.7s forwards;
}
.is_show .s_product_box:nth-child(4) .s_product_ph::after {
	animation: phSlide 0.5s 1.5s forwards;
}
.is_show .s_product_box:nth-child(5) .s_product_ph::before {
	animation: phSlide 0.5s 2.2s forwards;
}
.is_show .s_product_box:nth-child(5) .s_product_ph::after {
	animation: phSlide 0.5s 2s forwards;
}
.s_product_cont {
	padding: 10px 0 0 30px;
}
.s_product_ttl {
	position: relative;
	margin-bottom: 10px;
	font-weight: 900;
}
.s_product_ttl::before {
	position: absolute;
	top: -60px;
	left: -15px;
	content: "";
	width: 4px;
	height: calc(100% + 60px);
	background: var(--main-color);
}
.s_product_txt {
	font-size: 0.75em;
}
.s_product_table {
	display: none;
	margin-top: 40px;
}
.s_product_list {
	margin: 100px 0 40px;
}
@media (max-width: 960px) {
	.s_product_block {
		margin: 0 -10px 20px;
	}
	.s_product_box {
		width: calc((100% / 3) - 20px);
		margin: 0 10px 40px;
	}
	.s_product_list {
		margin: 60px 0 20px;
	}
}
@media (max-width: 768px) {
	.s_product_txt {
		font-size: 1em;
	}
}
@media (max-width: 640px) {
	.s_product_block {
		flex-direction: column;
		margin: 0 0 20px;
	}
	.s_product_img {
		max-width: 100%;
	}
	.s_product_box {
		width: 90%;
		margin: 0 auto 20px;
	}
	.s_product_ttl {
		font-size: 1.25em;
	}
	.s_product_txt {
		font-size: 1em;
	}
}
/*----------------------------------------------
	s_case
---------------------------------------------*/
.s_case {
	position: relative;
	background: rgba(var(--rgb-main-color), 0.05);
}
.s_case::before,
.s_case::after {
	position: absolute;
	bottom: 0;
	content: "";
	width: 50%;
	aspect-ratio: 5;
	background: #fff;
}
.s_case::before {
	left: 0;
	clip-path: polygon(0 100%, 0 0, 100% 100%);
}
.s_case::after {
	right: 0;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.s_case_box {
	margin: 0 30px;
	padding: 60px 50px 60px 60px;
	background: #fff;
}
.s_case_head {
	display: flex;
}
.s_case_ph {
	width: 450px;
	padding-right: 3%;
}
.s_case_info {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	padding-left: 20px;
	border-left: 4px solid var(--main-color);
	line-height: 1.3;
}
.s_case_ttl {
	margin-bottom: 20px;
	font-size: 1.66em;
	font-weight: 900;
}
.s_case_ttl_em {
	color: var(--main-color);
}
.s_case_shop_name {
	font-weight: 900;
}
.s_case_shop_em {
	font-size: 1.25em;
}
.s_case_body {
	margin-top: 20px;
	font-size: 0.75em;
}
.s_case_body .c_btn_toggle {
	display: none;
}
.slick-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	margin: auto;
	width: 60px;
	height: 60px;
	background: var(--main-color);
	border: none;
	border-radius: 60px;
	font-size: 0;
	cursor: pointer;
}
.slick-arrow::before,
.slick-arrow::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	width: 16px;
	height: 4px;
	margin: auto;
	background: #fff;
}
.slick-arrow::before {
	transform: rotate(45deg);
}
.slick-arrow::after {
	transform: rotate(-45deg);
}
.slick-arrow:hover {
	animation: btn_shine 1s forwards;
}
.slick-prev {
	left: 30px;
}
.slick-next {
	right: 30px;
}
.slick-prev::before,
.slick-prev::after {
	right: 2px;
}
.slick-prev::before,
.slick-next::after {
	top: 9px;
}
.slick-prev::after,
.slick-next::before {
	bottom: 9px;
}
.slick-next::before,
.slick-next::after {
	left: 2px;
}
@media (max-width: 960px) {
	.s_case_box {
		padding: 40px;
	}
	.s_case_head {
		flex-direction: column;
	}
	.s_case_ph {
		width: 300px;
		margin: 0 auto 20px;
		padding-right: 0;
	}
	.s_case_info {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.s_case_body {
		font-size: 1em;
	}
}
@media (max-width: 640px) {
	.s_case {
		padding-bottom: 80px;
	}
	.s_case_box {
		margin: 10px;
		padding: 20px;
	}
	.s_case_ph {
		width: 220px;
		margin: 0 auto 10px;
	}
	.s_case_ttl {
		font-size: 1.25em;
	}
	.s_case_shop_em {
		font-size: 1.1em;
	}
	.s_case_body .c_btn_toggle {
		display: block;
	}
	.s_case_txt {
		display: none;
	}
	.slick-arrow {
		width: 40px;
		height: 40px;
	}
	.slick-arrow::before,
	.slick-arrow::after {
		width: 16px;
		height: 4px;
	}
	.slick-prev {
		left: 0;
	}
	.slick-next {
		right: 0;
	}
	.s_case_modal {
		max-height: 80vh;
	}
	.s_case_modal .s_case_box {
		margin: 0;
	}
	.s_case_modal .s_case_txt {
		display: block;
	}
	.iziModal-navigate-prev,
	.iziModal-navigate-next {
		opacity: 1 !important;
	}
	.iziModal-navigate-prev::before,
	.iziModal-navigate-next::before {
		position: absolute;
		top: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		margin: auto;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	.iziModal-navigate-prev::before {
		right: 5px;
		transform: rotate(-135deg);
	}
	.iziModal-navigate-next::before {
		left: 5px;
		transform: rotate(45deg);
	}
	.iziModal-navigate-caption {
		position: absolute;
		top: 40px;
		right: 30px;
		left: auto;
		display: block;
		font-size: 0;
	}
	.iziModal-navigate-caption::before,
	.iziModal-navigate-caption::after {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		content: "";
		width: 20px;
		height: 2px;
		background: #fff;
	}
	.iziModal-navigate-caption::before {
		transform: rotate(45deg);
	}
	.iziModal-navigate-caption::after {
		transform: rotate(-45deg);
	}
}

/*----------------------------------------------
	s_contact
---------------------------------------------*/
.s_contact {
	position: relative;
}
.s_contact_box {
	margin-top: 40px;
	font-size: 0.83em;
}
.s_contact_box input[type="text"],
.s_contact_box input[type="tel"],
.s_contact_box input[type="email"],
.s_contact_box textarea {
	padding: 0.3em 0.4em;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
}
.s_contact_box input[type="text"]::placeholder,
.s_contact_box input[type="tel"]::placeholder,
.s_contact_box input[type="email"]::placeholder,
.s_contact_box textarea::placeholder {
	color: #a1a1a1;
}
.s_contact_box textarea {
	height: 200px;
}
.s_contact_box .s_input_lg {
	width: 100%;
}
.s_contact_box .s_input_sm {
	width: 50%;
}
.s_contact_label {
	margin-bottom: 5px;
	font-weight: 900;
}
.s_contact_required {
	display: inline-block;
	margin-left: 5px;
	padding: 0.2em 0.3em 0.4em;
	background: var(--main-color);
	font-size: 0.75em;
	color: #fff;
	line-height: 1;
	transform: translateY(-2px);
}
.s_contact_txt {
	font-size: 0.9em;
}
.s_contact_consent {
	margin: 40px 0;
	text-align: center;
}
.wpcf7-list-item {
	margin-left: 0;
}
.s_contact_submit {
	position: relative;
	padding-bottom: 40px;
	text-align: center;
}
.s_contact_btn {
	position: relative;
	display: inline-block;
}
.s_contact_submit .wpcf7-submit {
	position: relative;
	padding: 0.6em 60px 0.6em 0.8em;
	background: var(--main-color);
	border: none;
	border-radius: 10px;
	color: #fff;
	font-size: 1.25em;
	font-weight: 900;
	cursor: pointer;
}
.s_contact_submit .wpcf7-submit:not(:disabled):hover {
	animation: btn_shine 1s backwards;
}
.wpcf7 .wpcf7-submit:disabled {
	opacity: 0.3;
}
.s_contact_arrow {
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	z-index: 2;
	margin: auto;
	width: 26px;
	height: 26px;
	background: #fff;
	border-radius: 26px;
	transition: 0.3s;
}
.wpcf7 .wpcf7-submit:not(:disabled):hover ~ .s_contact_arrow {
	transform: translateX(0.1em);
}
.s_contact_arrow::after {
	position: absolute;
	top: 0;
	right: 3px;
	bottom: 0;
	left: 0;
	content: "";
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 3px solid var(--main-color);
	border-right: 3px solid var(--main-color);
	transform: rotate(45deg);
}
.wpcf7 .wpcf7-submit:disabled ~ .s_contact_arrow::after {
	opacity: 0.3;
}
.wpcf7-spinner {
	position: absolute !important;
	right: 0;
	bottom: -30px;
	left: 0;
	margin: auto !important;
}
.grecaptcha-badge {
	display: none;
}
@media (max-width: 768px) {
	.s_contact_box {
		margin-top: 20px;
		font-size: 1.25em;
	}
	/* .s_contact_txt {
		font-size: 1em;
	} */
	.s_contact_consent {
		margin: 20px 0;
	}
}
@media (max-width: 640px) {
	.s_contact_box .s_input_sm {
		width: 100%;
	}
}
