@charset "utf-8";
.swiper img {
		width: 100%;
		height: auto
}
.freetalk_section, .shindan_section {
		position: relative;
		overflow: hidden
}
.swiper_container {
		position: relative;
}
.swiper_inner {
		position: relative;
		margin: 0 auto;
		margin-left: calc(calc(100vw - 1200px) * 0.5);
}
@media(max-width: 1500px) {
		.swiper_inner {
				margin-left: 200px;
		}
}
@media(max-width: 1024px) {
		.swiper_inner {
				margin-left: 80px;
		}
}
@media(max-width: 767px) {
		.swiper_inner {
				margin-left: 0;
				margin-right: 0;
		}
}
.freeTalk, .shindanMode {
		position: relative;
}
.swiper {
		overflow: visible;
		padding-top: 0;
		padding-bottom: 70px;
}
.swiper-slide {
		width: 390px;
		height: 600px;
		box-sizing: border-box;
		padding: 0 45px;
		position: relative;
		color: #E4002B;
}
.shindan_section .swiper-slide {
		height: 580px;
}
.swiper-slide.left {
		padding-right: 0;
		width: 345px;
}
.swiper-slide.right {
		padding-left: 0;
		width: 345px;
}
.swiper-slide.mid {
		padding-left: 0;
		padding-right: 0;
		width: 300px;
}
.step_inner {
		box-sizing: border-box;
		border: 3px solid #E4002B;
		border-radius: 16px;
		height: 570px;
		padding: 40px 0;
		position: relative;
}
.shindan_section .step_inner {
		height: 580px;
}
.left .step_inner {
		border-right: none;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
}
.right .step_inner {
		border-left: none;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
}
.mid .step_inner {
		padding-left: 0;
		padding-right: 0;
		border-radius: 0;
		border-left: none;
		border-right: none;
}
.swiper .swiper-slide:last-child {
		margin-right: calc(calc(100vw - 1100px) * 0.5) !important;
}
@media(max-width: 1024px) {
		.swiper .swiper-slide:last-child {
				margin-right: 25vw !important;
		}
}
@media(max-width: 767px) {
		.swiper {
				padding-bottom: 40px;
		}
		.swiper-slide, .swiper-slide .step_inner {
				height: 550px
		}
		.shindan_section .swiper-slide, .shindan_section .swiper-slide .step_inner {
				height: 550px
		}
		.swiper-slide {
				width: 100vw;
				padding: 0 40px;
		}
		.swiper .swiper-slide:last-child {
				margin-right: 0 !important
		}
		.shindan_section .swiper .swiper-slide:last-child {
				margin-right: 50px !important
		}
		.swiper-slide .step_inner {
				padding: 20px 0 0;
				border: none;
		}
		.swiper-slide .step_inner::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				pointer-events: none;
				z-index: -1;
				box-sizing: border-box;
				border: 3px solid #E4002B;
				border-radius: 16px;
		}
		.swiper-slide.left {
				width: 100vw;
				padding-right: 40px;
				position: relative;
		}
		.swiper-slide.left::after {
				content: '';
				display: block !important;
				position: absolute;
				top: calc(50% - 15px);
				right: -10px;
				width: 18px;
				height: 31px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 18px;
				background-image: url("../images/step_mid_arw.png")
		}
		.shindan_section .swiper-slide.left.step3::after {
				display: none !important
		}
		.swiper-slide.left .step_inner::after {
				border-right: none;
				border-top-right-radius: 0;
				border-bottom-right-radius: 0;
				width: calc(100% + 100px);
		}
		.swiper-slide.right .step_inner::after {
				border-left: none;
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
		}
		.swiper-slide.mid .step_inner::after {
				border-radius: 0;
				border-left: none;
				border-right: none;
				width: calc(100% + 100px);
		}
		.swiper-slide.right {
				width: 100vw;
				padding-left: 50px;
		}
		.swiper-slide.mid {
				width: 380px;
				padding-left: 0 !important;
				padding-right: 0 !important;
		}
		.swiper-slide.mid + .swiper-slide.right {
				width: 440px;
				padding-left: 0 !important;
				padding-right: 0 !important;
		}
}
/* ================= */
.step_inner::before {
		content: '';
		display: block;
		position: absolute;
		top: -50px;
		left: -50px;
		width: 100px;
		height: 100px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100px;
		z-index: 2;
}
.swiper-slide::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 35px);
		right: -17px;
		width: 26px;
		height: 71px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 26px;
		background-image: url("../images/step_arw.png");
		pointer-events: none;
}
.swiper-slide.left::after, .swiper-slide.mid::after {
		display: none
}
.swiper .swiper-slide:last-child::after {
		display: none;
}
.step1 .step_inner::before {
		background-image: url("../images/icon_step-1.png");
}
.step2 .step_inner::before {
		background-image: url("../images/icon_step-2.png");
}
.step3 .step_inner::before {
		background-image: url("../images/icon_step-3.png");
}
.step4 .step_inner::before {
		background-image: url("../images/icon_step-4.png");
}
.step5 .step_inner::before {
		background-image: url("../images/icon_step-5.png");
}
.step6 .step_inner::before {
		background-image: url("../images/icon_step-6.png");
}
@media(max-width: 767px) {
		.swiper-slide::after {
				top: calc(50% - 28.5px);
				right: -10px;
				width: 20px;
				height: 55px;
				background-size: 20px;
				display: none
		}
		.step_inner::before {
				top: -30px;
				left: -30px;
				width: 60px;
				height: 60px;
				background-size: 60px;
		}
		.step1 .step_inner::before {
				background-image: url("../images/icon_step-1_s.png");
		}
		.step2 .step_inner::before {
				background-image: url("../images/icon_step-2_s.png");
		}
		.step3 .step_inner::before {
				background-image: url("../images/icon_step-3_s.png");
		}
		.step4 .step_inner::before {
				background-image: url("../images/icon_step-4_s.png");
		}
		.step5 .step_inner::before {
				background-image: url("../images/icon_step-5_s.png");
		}
		.step6 .step_inner::before {
				background-image: url("../images/icon_step-6_s.png");
		}
}
/* ================== */
.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
		bottom: 0px;
		left: 60px !important;
		width: calc(100% - 80px);
}
.swiper-scrollbar {
		background: none;
		height: 29px !important
}
.swiper-scrollbar::before {
		content: '';
		display: block;
		position: absolute;
		top: 13px;
		left: 0;
		width: 100%;
		height: 3px;
		background: rgba(228, 0, 43, 0.1);
}
.swiper-scrollbar-drag {
		background: none !important;
		cursor: pointer;
		height: 30px !important
}
.swiper-scrollbar-drag::before {
		content: '';
		display: block;
		position: absolute;
		top: 13px;
		left: 0;
		background: #E4002B !important;
		width: 100%;
		height: 3px;
}
.swiper_container .control_wrap {
		position: absolute;
		top: 267px;
		left: 0;
		width: 100%;
		height: 1px;
}
@media(max-width: 767px) {
		.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
				bottom: 0px;
				left: 41px !important;
				width: calc(100% - 82px);
		}
		.swiper_container .control_wrap {
				top: 267px
		}
}
/* ================== */
.control_gr {
		margin-left: calc(calc(100vw - 1200px) * 0.5);
		position: relative;
		height: 1px;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
		opacity: 0;
}
.control_gr .swiper-button-prev, .control_gr .swiper-button-next {
		position: absolute;
		top: 25px;
		width: 50px;
		height: 50px;
		font-size: 1px;
		color: rgba(255, 255, 255, 0);
		border-radius: 50%;
		cursor: pointer;
}
.control_gr .swiper-button-prev {
		left: -100px;
}
.control_gr .swiper-button-next {
		right: 100px;
}
.control_gr .swiper-button-prev::before, .control_gr .swiper-button-next::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 50px;
		height: 50px;
		color: rgba(255, 255, 255, 0);
		box-sizing: border-box;
		border: 2px solid #E4002B;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		background: #fff;
		border-radius: 50%;
}
.control_gr .swiper-button-prev::after, .control_gr .swiper-button-next::after {
		content: '';
		display: block;
		position: absolute;
		top: 19px;
		width: 10px;
		height: 10px;
}
@media (hover: hover) {
		.control_gr .swiper-button-prev:hover::before, .control_gr .swiper-button-next:hover::before {
				transform: scale(1.12);
		}
}
.control_gr .swiper-button-prev::after {
		border-top: 2px solid #E4002B;
		border-left: 2px solid #E4002B;
		transform: rotate(-45deg);
		left: 21px;
}
.control_gr .swiper-button-next::after {
		border-top: 2px solid #E4002B;
		border-right: 2px solid #E4002B;
		transform: rotate(45deg);
		right: 21px;
}
@media(max-width: 1500px) {
		.control_gr {
				margin-left: 0;
				margin-right: 0;
		}
		.control_gr .swiper-button-prev {
				left: 30px;
		}
		.control_gr .swiper-button-next {
				right: 30px;
		}
}
@media(max-width: 767px) {
		.control_gr .swiper-button-prev, .control_gr .swiper-button-next {
				top: 11px;
				width: 40px;
				height: 40px;
		}
		.control_gr .swiper-button-prev {
				left: 22px;
		}
		.control_gr .swiper-button-next {
				right: 22px;
		}
		.control_gr .swiper-button-prev::before, .control_gr .swiper-button-next::before {
				width: 40px;
				height: 40px;
		}
		.control_gr .swiper-button-prev::after, .control_gr .swiper-button-next::after {
				top: 15px;
				width: 8px;
				height: 8px;
		}
		.control_gr .swiper-button-prev::after {
				left: 16.5px;
		}
		.control_gr .swiper-button-next::after {
				right: 16.5px;
		}
}
/* ================ */
.swiper-slide p {
		text-align: center;
		line-height: 2.0;
		font-family: YakuHanJP, 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
}
.swiper-slide .wide_item p {
		font-size: 14px;
		font-family: YakuHanJP, 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
}
.single_caption {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		margin: 0 0 25px;
}
.single_caption_bottom {
		text-align: center;
		margin-top: 15px;
		font-size: 14px;
		font-family: YakuHanJP, 'BaseFont-JP';
		font-style: normal;
		font-weight: bold;
}
.wide_figure_flex + .single_caption_bottom {
		margin-top: 0;
}
.wide_caption {
		position: relative;
		margin: 0 0 25px;
		width: 594px;
		height: 60px;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
}
.shindan_section .single_caption, .shindan_section .wide_caption {
		height: 90px;
}
.wide_caption.extra {
		width: 1055px;
}
@media(max-width: 767px) {
		.swiper-slide p {
				font-size: 14px;
				letter-spacing: 0.02em;
		}
		.wide_caption {
				display: none;
		}
		.single_caption {
				height: 55px !important;
				margin: 0 0 10px;
		}
		.single_caption_bottom {
				font-size: 12px;
				width: calc(100% + 40px);
				position: relative;
				left: -20px
		}
		.step_caption.narrow,
		.single_caption_bottom.narrow {
				line-height: 1.7;
		}
}
.shusai {
		display: inline-block;
		background: #374463;
		color: #fff;
		border-radius: 60px;
		margin-right: 5px;
		margin-top: 3px;
		margin-bottom: 3px;
		padding: 0 15px;
}
.ml05 {
		margin-left: 5px !important;
}
.mr05 {
		margin-right: 5px !important;
}
.ml02 {
		margin-left: 2px !important;
}
.mr02 {
		margin-right: 2px !important;
}
.shusai span {
		transform: translateY(-1px);
		display: inline-block;
}
@media(max-width: 767px) {
		.shusai {
				margin-top: 2px;
				margin-bottom: 2px;
				padding-left: 10px;
				padding-right: 10px;
		}
}
/* ============== */
.wide_figure_cont {
		position: relative;
		width: 100%;
}
.wide_figure_cont .wide_figure_wrap {
		position: absolute;
		top: 0;
		left: 0;
		width: 594px;
}
.wide_figure_flex {
		width: 500px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
}
.wide_item {
		width: 250px;
		position: relative;
}
.wide_figure_flex .wide_item:first-child::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 40px);
		right: -10px;
		width: 16px;
		height: 30px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 16px;
		background-image: url("../images/step_arw_s.png");
}
.wide_item_figure {
		margin-bottom: 15px;
}
.single_figure {
		width: 160px;
		margin: 0 auto;
}
.single_figure.wide {
		width: 190px;
}
.wide_bottom_caption {
		display: flex;
		justify-content: center;
		width: 594px;
		padding-top: 15px;
}
.wide_bottom_caption_inner {
		display: flex;
		justify-content: space-between;
		width: 412px;
}
.wide_bottom_caption p {
		text-align: center;
		position: relative;
		width: 300px;
}
.single_exWide_wrap {
		width: 1155px;
		height: 100px;
		position: relative;
}
.single_exWide_figure {
		width: 1055px;
		margin: 0 auto;
}
@media(min-width: 768px) {
		.sp_upper {
				display: none
		}
		.shindan_step3_sp {
				display: none
		}
		.shindan_step3_sp_figure {
				display: none
		}
}
@media(max-width: 767px) {
		.wide_figure_cont, .single_exWide_wrap {
				display: none
		}
		.sp_upper {
				display: flex;
				align-items: center;
				justify-content: center;
				height: 68px;
				margin: 0 0 8px;
		}
		.single_figure {
				width: 200px;
		}
		.shindan_step3_sp {
				display: flex;
				align-items: center;
				justify-content: center;
				height: 500px;
				padding-left: 20px;
				padding-right: 0;
		}
		.shindan_step3_sp p {
				line-height: 1.8;
				text-align: center;
				font-size: 14px;
		}
		.shindan_step3_sp_figure {
				width: 379px;
				margin-left: auto;
				margin-right: auto;
				padding-top: 65px;
		}
}