@media only screen and (min-width: 768px) {
	main {
		padding-bottom: 0;
	}
}

.w-810,
.w-900,
.w-1100,
.margin-center {
	margin-left: auto;
	margin-right: auto;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.page-header--plan .page-header__title::before {
	background-image: url(../img/service/ico_page-header.svg);
}

.w-1100 {
	width: 1100px;
}

.w-900 {
	width: 900px;
}

.w-810 {
	width: 810px;
}

.sim_text {
	font-size: 16px;
	line-height: 1.83;
}

.manga_banner {
	width: calc(100% - 35px);
	border: 8px solid #ffe4e7;
	border-radius: 10px;
	padding: 35px 0 35px 250px;
	margin-left: 35px;
	cursor: pointer;
	transition: .3s;
	position: relative;
}

.manga_banner:hover {
	transition: .3s;
	opacity: .7;
}

.manga_banner::after,
.manga_banner::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
}

.manga_banner::before {
	background-image: url("/assets/img/sim/manga_banner.png");
	width: 240px;
	height: 170px;
	top: -20px;
	left: -35px;
}

.manga_banner::after {
	background-image: url("/assets/img/sim/sim_icon_arrow01.png");
	width: 25px;
	height: 25px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 25px;
}

.sim_text_red {
	font-size: 24px;
	font-weight: bold;
	color: #d00e31;
}

.merit_flex {
	display: flex;
	justify-content: space-between;
}

.merit_box {
	max-width: 400px;
}

.sim_ul {
	font-size: 16px;
	line-height: 2.47;
}

.merit_box .sim_ul {
	font-size: 18px;
	line-height: 2.23;
}

.sim_ul li {
	padding-left: 30px;
	position: relative;
}

.sim_ul li::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #d00e31;
	top: 16px;
	left: 11px;
}

.about_box {
	width: 100%;
	border: 1px solid #c4c4c4;
	padding: 40px 60px 35px;
}

.box02 {
	padding-bottom: 15px;
}

.title_text {
	font-size: 18px;
	font-weight: bold;
}

.title_text span {
	padding-bottom: 3px;
	border-bottom: 1px solid #333;
	position: relative;
}

.title_text span::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
}

.title_text span::before {
	background-image: url("/assets/img/sim/sim_icon01.png");
	width: 50px;
	height: 50px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: -70px;
}

.link_blank {
	font-size: 15px;
	color: #d00e31;
	text-decoration: underline;
	position: relative;
}

.link_blank::after,
.link_blank::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
}

.link_blank::before {
	background-image: url("/assets/img/sim/sim_icon_arrow02.png");
	width: 20px;
	height: 20px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: -30px;
}

.link_blank::after {
	background-image: url("/assets/img/sim/sim_icon_blank.png");
	width: 15px;
	height: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: -20px;
}

.sim_buttom {
	width: 395px;
}

.sim_buttom a {
	display: flex;
	width: 100%;
	padding: 21px 45px;
	align-items: center;
	position: relative;
	text-align: center;
	border: 1px solid #d00f31;
	background: #d00f31;
}

.sim_buttom a::after,
.sim_buttom a::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.sim_buttom a::before {
	right: 12px;
	width: 0;
	height: 0;
	border-style: solid;
	right: 12px;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #fff;
}

.sim_buttom a::after {
	right: 0;
	height: calc(100% - 15px);
	width: 35px;
	border: none;
	background: linear-gradient(to bottom, #fff 0%, #fff 25%, transparent 25%, transparent 100%);
	background-repeat: repeat-y;
	background-size: 2px 8px;
	background-position: left 2px;
}

.sim_buttom a span {
	display: block;
	width: 100%;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
}

.img_text_flex {
	display: flex;
	justify-content: space-between;
}

.select_text {
	width: calc(50% - 15px);
}

.select_title {
	font-size: 19px;
	font-weight: bold;
	color: #d00f31;
	padding-left: 30px;
	position: relative;
}

.select_title::before {
	position: absolute;
	font-size: 27px;
	/* font-family: Oswald; */
	left: 0;
	bottom: -4px;
}

.select01 .select_title::before {
	content: "1.";
}

.select02 .select_title::before {
	content: "2.";
}

.select03 .select_title::before {
	content: "3.";
}

.img_text_flex picture {
	max-width: 500px;
}

.sim_header {
	font-size: 18px;
	padding: 25px 0 25px 100px;
	border-bottom: 1px solid #c4c4c4;
	position: relative;
}

.sim_header span {
	font-size: 22px;
	font-weight: bold;
	display: inline-block;
	padding-top: 10px;
}

.sim_header::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	background-image: url("/assets/img/sim/sim_icon02.png");
	width: 80px;
	height: 80px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: 0;
}

.button_flex {
	display: flex;
	justify-content: center;
}

.button_flex .sim_buttom:first-of-type {
	margin-right: 40px;
}

.link_article {
	display: flex;
	padding: 25px 60px 25px 30px;
	border-top: 1px solid #c4c4c4;
	position: relative;
}

.link_article::after {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	background-image: url("/assets/img/sim/sim_icon_arrow01.png");
	width: 25px;
	height: 25px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 0;
}

.link_article picture {
	max-width: 150px;
	margin-right: 40px;
}

.link_article_text {
	width: 72%;
}

.article_text {
	font-size: 18px;
	font-weight: bold;
	color: #333;
	margin-bottom: 15px;
}

.category_date {
	display: flex;
	align-items: center;
}

.category {
	font-size: 13px;
	color: #fff;
	background-color: #54c2c2;
	padding: 2px 8px;
	display: inline-block;
	margin-right: 15px;
}

.date {
	font-size: 16px;
	color: #999;
}


.sim_about02 .select_text {
	width: 50%;
	margin-top: -5px;
}

.sim_about02 .select_text div {
	margin-right: 15px;
}

.button_area {
	width: 500px;
	border: 8px solid #f3f3f3;
	padding: 30px 0;
}

.button_link {
	width: 500px;
	margin: 0 auto;
	text-align: right;
	padding-right: 20px;
}

.button_area.left {
	margin-right: 40px;
}

.button_area_title {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
	position: relative;
}

.left .button_area_title {
	width: 395px;
	padding-left: 100px;
}

.right .button_area_title {
	width: 280px;
	padding-left: 80px;
}

.right .button_area_title::before,
.left .button_area_title::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: 10px;
}

.left .button_area_title::before {
	background-image: url("/assets/img/sim/sim_icon03.png");
	width: 65px;
	height: 72px;
}

.right .button_area_title::before {
	background-image: url("/assets/img/sim/sim_icon04.png");
	width: 40px;
	height: 72px;
}

.pink-table {
	background-color: #fff;
	border: 4px #fdd0d8 solid;
	padding: 45px 50px;
	line-height: 30px;
}

.step-border {
	border-right: 1px #989898 dotted;
	display: block;
	margin-left: 25px;
	margin-right: -13px;
}

.step-arrow {
	display: inline-block;
	background-image: url(/assets/img/service/bicpoint-arrow.png);
	width: 28px;
	height: 78px;
	margin-right: 10px;
}

.step-arrow {
	padding-top: 105px;
	padding-bottom: 105px;
	background-image: none;
}

.sim_apply .select_text {
	width: 50%;
}

.sim_banner {
	background-color: #fffade;
}

.sim_banner {
	font-size: 20px;
	line-height: 1;
}

.sim_banner .banner {
	width: 395px;
}

.article02 {
	border: 1px solid #c4c4c4;
	padding: 30px 60px 35px 30px;
}

.article02.link_article::after {
	right: 30px;
}

.article02 .category {
	background-color: #759fe9;
}

.modal_view {
	position: static;
}

.modal {
	display: none;
	min-height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.modal_bg {
	background: #0008;
	min-height: 100vh;
	position: absolute;
	width: 100%;
}

.modal_content {
	width: 1040px;
	background: #fff;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	padding-bottom: 20px;
}

.modal_close_mark {
	width: 20px;
	font-size: 35px;
	font-weight: 500;
	color: #aaa;
	text-align: center;
	position: relative;
	margin: 0 36px 0 auto;
	top: 21px;
	cursor: pointer;
}

.modal_close_mark p {
	transform: rotate(-45deg);
	margin-block-start: 0;
	margin-block-end: 0;
	line-height: 25px;
}

.modal_header {
	font-size: 24px;
	text-align: center;
	border-bottom: 1px solid #d0d0d0;
	line-height: 55px;
	font-weight: bold;
	margin-top: -23px;
}

.mt-0 {
	margin-top: 0;
}

.swiper-slide picture {
	width: 90%;
	margin: 15px auto;
}

.swiper-button-disabled {
	display: none !important;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	display: inline-block;
	width: 17px;
	height: 26px;
	background-size: contain;
	background-image: url(/assets/img/sim/arrow-left.png);
	left: calc(50% - 550px);
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	display: inline-block;
	width: 17px;
	height: 26px;
	background-size: contain;
	background-image: url(/assets/img/sim/arrow-right.png);
	right: calc(50% - 550px);
}

.swiper-pagination {
	bottom: 0;
}

.swiper-pagination-fraction {
	font-size: 16px;
}

.swiper-button-next {
	left: calc(50% - 560px);
	background-image: url(/assets/img/sim/arrow-left.png);
	background-size: auto;
	width: 37px;
	height: 46px;
}

.swiper-button-prev {
	left: auto;
	right: calc(50% - 560px);
	background-image: url(/assets/img/sim/arrow-right.png);
	background-size: auto;
	width: 37px;
	height: 46px;
}


.step_title {
	position: relative;
	display: flex;
	align-items: center;
	padding-top: 25px;
}

.step_title::before {
	position: absolute;
	content: "STEP";
	font-size: 18px;
	font-weight: bold;
	color: #d00f31;
	top: 0;
	left: 6px;
	line-height: 1;
}

.step_title_number {
	width: 63px;
	height: 63px;
	line-height: 67px;
	font-size: 38px;
	color: #fff;
	background-color: #d00f31;
	border-radius: 50%;
	text-align: center;
}

.step_title_text {
	font-size: 24px;
	font-weight: bold;
	color: #d00f31;
	padding-left: 15px;
	letter-spacing: 1px;
}

@media only screen and (max-width: 767px) {
	.text-left-sp {
		text-align: left;
	}

	.w-810,
	.w-900,
	.w-1100 {
		width: auto;
	}

	.sim_banner .banner,
	.sim_apply .select_text,
	.left .button_area_title,
	.button_area,
	.sim_about02 .select_text,
	.select_text,
	.sim_buttom,
	.manga_banner {
		width: 100%;
	}

	.button_flex,
	.img_text_flex,
	.merit_flex {
		flex-direction: column;
	}

	.page-outline {
		text-align: left;
	}

	.sim_text {
		font-size: 13px;
		line-height: 1.83;
	}

	.manga_banner {
		border: 4px solid #ffe4e7;
		border-radius: 10px;
		padding: 15px 15px 10px;
		margin-left: 0;
	}

	.manga_banner::before {
		background-image: url("/assets/img/sim/manga_banner-sp.png");
		width: 105px;
		height: 75px;
		top: -20px;
		left: 15px;
	}

	.manga_banner::after {
		width: 17px;
		height: 17px;
		right: 15px;
	}

	.manga_banner .sim_text_red {
		font-size: 15px;
		padding-left: 115px;
	}

	.manga_banner .sim_text {
		font-size: 11px;
		padding-right: 30px;
		line-height: 1.7;
	}

	.merit_box:first-of-type {
		border-bottom: 1px dotted #989898;
		padding-bottom: 20px;
	}

	.merit_img-sp {
		width: 72.464%;
	}

	.merit_box .sim_ul,
	.sim_ul {
		font-size: 13px;
		line-height: 1.4;
	}

	.merit_box .sim_ul {
		width: 72.464%;
		line-height: 1.8;
	}

	.sim_ul li {
		padding-left: 17px;
	}

	.sim_ul li::before {
		width: 6px;
		height: 6px;
		top: 5px;
		left: 5px;
	}

	.merit_box .sim_ul li::before {
		top: 8px;
	}

	.about_box {
		padding: 25px 15px 20px;
	}

	.title_text {
		font-size: 14px;
	}

	.title_text span::before {
		width: 35px;
		height: 35px;
		left: -45px;
	}

	.title_text span {
		display: inline-block;
		padding-bottom: 0;
		margin-right: -40px;
	}

	.sim_text_red {
		font-size: 17px;
	}

	.link_blank {
		font-size: 13px;
	}

	.link_blank::before {
		width: 15px;
		height: 15px;
		left: -20px;
	}

	.link_blank::after {
		background-image: url(/assets/img/sim/sim_icon_blank-sp.png);
		width: 11px;
		height: 11px;
		right: -13px;
	}

	.link_blank_area {
		margin-right: 15px;
	}

	.sim_buttom a {
		padding: 19px 0;
	}

	.sim_buttom a span {
		font-size: 16px;
	}

	.sim_buttom a::before {
		right: 10px;
		border-width: 5px 0 5px 8px;
	}

	.sim_buttom a::after {
		right: 30px;
		width: 1px;
		height: calc(100% - 10px);
		background: linear-gradient(to bottom, #fff 0%, #fff 50%, transparent 50%, transparent 100%);
		background-size: 1px 3px;
	}

	.select_title {
		font-size: 15px;
		padding-left: 27px;
	}

	.select_title::before {
		font-size: 22px;
		bottom: auto;
		top: -6px;
	}

	.sim_header {
		font-size: 11px;
		padding: 10px 0 10px 65px;
	}

	.sim_header span {
		font-size: 15px;
		padding-top: 5px;
	}

	.sim_header::before {
		width: 50px;
		height: 50px;
	}

	.link_article {
		padding: 15px 30px 15px 0;
	}

	.link_article::after {
		width: 17px;
		height: 17px;
	}

	.link_article picture {
		margin-right: 15px;
	}

	.link_article_text {
		width: 96%;
	}

	.article_text {
		font-size: 13px;
	}

	.category {
		font-size: 10px;
		padding: 0px 4px;
	}

	.date {
		font-size: 11px;
	}

	.sim_about02 .about_box {
		padding: 25px 15px 0;
	}

	.button_area {
		border: 4px solid #f3f3f3;
		padding: 20px 22px 20px;
	}

	.button_area_title {
		font-size: 15px;
		line-height: 1.7;
	}

	.button_area.left {
		margin-right: 0;
	}

	.left .button_area_title {
		padding-left: 75px;
	}

	.left .button_area_title::before {
		width: 59px;
		height: 64px;
	}

	.right .button_area_title {
		width: 75%;
		padding-left: 60px;
	}

	.right .button_area_title::before {
		width: 36px;
		height: 65px;
		left: 0;
	}

	.pink-table {
		padding: 20px;
		line-height: 22px;
	}

	.step-border {
		border-right: none;
		border-bottom: 1px #989898 dotted;
		margin: 30px 0;
	}

	.step-arrow {
		width: 100%;
		padding: 0;
		margin: -47px 0 -40px;
	}

	.step-arrow img {
		margin: 0 auto;
		transform: rotate(90deg);
	}

	.sim_banner {
		font-size: 14px;
	}

	.button--buy {
		padding: 18px 17px;
	}

	.faq .faq__content p {
		font-size: 13px;
	}

	.article02 {
		padding-left: 15px;
	}

	.article02.link_article::after {
		right: 15px;
	}

	.modal {
		min-height: 100%;
	}

	.modal_content {
		width: 95%;
		min-height: auto;
		top: 45%;
	}

	.modal_close_mark {
		width: 20px;
		font-size: 29px;
		font-weight: 500;
		margin: 0 15px 0 auto;
		top: 12px;
	}

	.modal_close_mark p {
		transform: rotate(-45deg);
		line-height: 20px;
	}

	.modal_header {
		font-size: 14px;
		line-height: 35px;
		margin-top: -19px;
		margin-bottom: 15px;
	}

	.mx-30-sp {
		margin-left: 15px;
		margin-right: 15px;
	}

	.mx-50-sp {
		margin-left: 25px;
		margin-right: 25px;
	}

	.mx-80-sp {
		margin-left: 40px;
		margin-right: 40px;
	}

	.swiper-button-next, .swiper-container-rtl .swiper-button-prev,
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
		display: none;
	}

	.step-image-sp.image01 img {
		height: 52px;
	}

	.step-image-sp.image02 img {
		height: 47px;
	}

	.step-image-sp.image03 img {
		width: 265px;
		height: 48px;
	}

	.merit_title img {
		height: 39px;
	}

	.swiper-pagination {
		bottom: 0;
	}

	.step_title {
		padding-top: 10px;
	}

	.step_title::before {
		font-size: 10px;
		top: -3px;
		left: 3px;
	}

	.title01::before {
		top: 1px;
	}

	.step_title_number {
		width: 36px;
		height: 36px;
		line-height: 38px;
		font-size: 23px;
	}

	.step_title_text {
		font-size: 18px;
		padding-left: 15px;
		letter-spacing: 1px;
	}

	.button_link {
		width: 100%;
	}
}
