@font-face {
	font-family: 'Roboto';
	src: url('../font/Roboto-Regular.ttf') format('truetype');
}

main {
	padding-bottom: 0;
}

section {
	font-size: 16px;
}

.w-900 {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.w-1100 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.grey-background {
	background-color: #f3f3f3;
	padding-top: 1px;
}

.page-header__title:before {
	background-image: url(../img/service/ico_page-header.svg);
}

.font-normal {
	font-size: 16px;
}

.font-large {
	font-size: 22px;
}

.font-larger {
	font-size: 36px;
}

.font-higher {
	line-height: 30px;
}

.font-higher span {
	display: inline-block;
	font-size: 13px;
	line-height: 1.8;
	padding-top: 10px;
}

.padding-top {
	padding-top: 20px;
}

.esim-box {
	width: 480px;
	height: 530px;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-size: 16px;
	border: 1px solid #ebebeb;
}

.esim-box2 {
	height: 500px;
}

.esim-shadow {
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.1);
}

.esim-number {
	border-radius: 50%;
	color: #fff;
	display: inline-block;
	width: 60px;
	height: 60px;
	line-height: 60px;
	font-size: 40px;
	text-align: center;
	margin-right: 20px;
}

.esim-border-title {
	text-align: center;
	position: relative;
	z-index: 1;
	margin-bottom: 30px;
	margin-top: 70px;
}

.esim-border-title h2 {
	z-index: 2;
	font-size: 28px;
	display: inline-block;
	background-color: #fff;
	padding: 20px;
	position: relative;
}

.grey-background .esim-border-title h2 {
	background-color: #f3f3f3;
}

.esim-border-title:before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #c4c4c4
}

.esim-spacer {
	width: 40px;
	height: 40px;
}

.esim-padding {
	padding: 30px 40px 0;
}

.esim-color {
	font-weight: bold;
	font-size: 24px;
}

.esim-color-1 {
	color: #f7657d;
}

.esim-number-1 {
	background-color: #f7657d;
}

.esim-color-2 {
	color: #3da3eb;
}

.esim-number-2 {
	background-color: #3da3eb;
}

.esim-color-3 {
	color: #2cbea7;
}

.esim-number-3 {
	background-color: #2cbea7;
}

.esim-color-4 {
	color: #f7657d;
}

.esim-number-4 {
	background-color: #f7657d;
}

.esim-note {
	font-size: 13px;
	line-height: 26px;
}

.white-area {
	padding: 45px 50px 50px;
	background-color: #fff;
}

.esim-title {
	font-size: 20px;
}

.esim-title-left {
	margin-left: 80px;
}

.esim-title-right {
	margin-left: 30px;
}

.esim-device-table {
	width: 100%;
	font-size: 14px;
	border-collapse: collapse;
}

.esim-device-table sup {
	font-size: 10px;
}

.esim-device-table td {
	padding: 5px;
	border: 1px #bababa solid;
}

.esim-device-table tr:nth-child(even) {
	background-color: #f3f3f3;
}

.esim-device-table-left td {
	padding-left: 90px;
}

.esim-device-table-center td {
	padding-left: 70px;
}

.esim-device-table-right td {
	padding-left: 60px;
}

.grey-area {
	background-color: #f3f3f3;
	padding: 15px 30px;
	font-size: 13px;
	line-height: 24px;
}

.esim-link-external {
	color: #d00e31;
	text-decoration: underline;
}

.esim-link-external2 {
	color: #d00e31;
}

.esim-link-external:after {
	content: '';
	display: inline-block;
	background-image: url(/assets/img/service/link-external.png);
	width: 11px;
	height: 11px;
	margin-left: 5px;
}

.esim-table {
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px #aaa solid;
	font-size: 16px;
}

.esim-table th {
	text-align: left;
	background-color: #f1f1f1;
	padding: 10px 20px;
	border-top: 1px #aaa solid;
	width: 250px;
	font-weight: normal;
}

.esim-table td {
	padding: 10px 20px 10px 20px;
	border-top: 1px #aaa solid;
	text-align: right;
	text-align: center;
}

.esim-table sup {
	font-size: 10px;
}

.esim-price {
	font-size: 27px;
	font-family: Roboto;
}

.pink-table {
	background-color: #fff;
	border: 3px #fdd0d8 solid;
	padding: 50px;
	line-height: 30px;
}

.step-arrow {
	padding-top: 170px;
	padding-bottom: 140px;
	background-image: none;
}

.step-border {
	border-right: 1px #989898 dotted;
	display: block;
	margin-left: 25px;
	margin-right: -13px;
}

.member-box {
	width: 350px;
	border: 8px #f3f3f3 solid;
	padding: 20px;
	margin: 8px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.member-box a,
.member-box picture {
	display: inline-block;
}

.member-title {
	font-size: 18px;
	font-weight: bold;
	color: #d00e31;
	white-space: nowrap;
	text-align: center;
}

.esim-shop-list {
	background-color: #f3f3f3;
	padding: 20px 30px;
}

.esim-shop-list img {
	display: inline-block;
	margin: 0 20px;
}

.esim-link {
	color: #d00e31;
	text-decoration: underline;
}

.esim-link:before {
	content: '';
	display: inline-block;
	background-image: url(/assets/img/service/esim-link-icon.png);
	width: 20px;
	height: 20px;
	vertical-align: -4px;
	margin-right: 10px;
}

.service-base-banner img {
	margin: 60px auto 20px;
}

.esim-table ul {
	list-style-type: disc;
	padding-left: 25px;
}

.esim-spec td {
	padding: 15px;
	text-align: left;
	line-height: 180%;
}

.font-big {
	font-size: 18px;
}

.esim-otameshi {
	width: 960px;
	margin: 0 auto;
}

.bnr-data0 {
	padding-bottom: 90px;
}

@media only screen and (min-width: 768px) {
	.esim-hide-pc {
		display: none;
	}
}

.plan__buy {
	margin: 0 !important;
}

.plan__buy.margin-center {
	margin: 0 auto !important;
}

.plan__buy a {
	max-height: 77px;
}

.button__box a {
	padding: 23px 25px 22px 0;
}

.free_plan_bg {
	background-color: #effaff;
	padding: 40px 0;
	margin: 0 auto;
}

.w-420 {
	width: 420px;
}

.button_border {
	border: 1px solid #8c8c8c;
}

.button_border a {
	color: #333;
}

.button_triangle {
	width: 0;
	height: 0;
	border-left: 10px solid #d00f31;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	margin-right: 15px;
}

.button_text {
	font-size: 22px;
	font-weight: bold;
	line-height: 76px;
	margin: 0 auto;
}

.button_flex {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.button_line {
	position: relative;
	width: 2px;
	height: 63px;
	margin-right: 12px;
	margin-top: 7px;
}

.button_line::before {
	content: "";
	position: absolute;
	background-image: linear-gradient(to bottom, #8c8c8c, #8c8c8c 2px, transparent 2px, transparent 8px);
	background-size: 2px 8px;
	background-repeat: repeat-y;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.button_list_flex {
	display: flex;
	justify-content: center;
}

.free_text {
	font-size: 14px;
	line-height: 30px;
}

.free_text p a {
	display: inline-flex;
	text-decoration: underline;
	color: #c71c22;
}

.free_text p a img {
	width: 15px;
	height: 15px;
	margin: 7px 2px 0 5px;
}

.button--buy .button__label {
	background-size: 55px 40px;
}

.valign-top th {
	vertical-align: top;
	padding-top: 15px;
}

.esim_tab {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.esim_tab_left_open {
	width: 100%;
	line-height: 78px;
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #c81233;
	border-radius: 5px 5px 0 0;
}

.esim_tab_left_close {
	color: #c81233;
	width: 545px;
	line-height: 65px;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	background-color: #dfdfdf;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

.esim_tab_right_close {
	color: #333;
	width: 545px;
	line-height: 65px;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	background-color: #dfdfdf;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

.esim_tab_right_open {
	color: #c81233;
	background-color: #333;
	width: 545px;
	line-height: 78px;
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

.esim_tab_left_open span,
.esim_tab_left_close span,
.esim_tab_right_close span,
.esim_tab_right_open span {
	font-size: 20px;
}

.esim_tab_contents {
	background-color: #fff;
	border: 2px solid #c81233;
	padding: 60px 50px;
}

.esim_tab_contents2 {
	border: 2px solid #333;
}

.hide_tab_contents {
	display: none;
}

.plan__buy {
	width: 396px;
}

.free_plan_bg_flex {
	padding-left: 40px;
	padding-right: 40px;
	display: flex;
	justify-content: space-between;
}

.border-top {
	width: 1100px;
	border-top: 2px dotted #cfcfcf;
	padding-top: 50px;
	margin-left: auto;
	margin-right: auto;
}

.add_data {
	padding: 35px 60px;
	display: flex;
	justify-content: space-between;
}

.add_data_left,
.add_data_right {
	width: 365px;
}

.add_data_left {
	width: 100%;
}

.add_data .subsection__header {
	margin-bottom: 15px;
	margin-top: 0;
}

.add_data_box {
	width: 100%;
	border: 1px solid #bababa;
	text-align: center;
}

.add_data_box_header {
	width: 100%;
	line-height: 38px;
	border-bottom: 1px solid #bababa;
	font-size: 18px;
	background-color: #f3f3f3;
}

.add_data_box_contents {
	max-height: 60px;
	font-size: 13px;
}

.add_data_box_contents span {
	font-size: 45px;
	font-weight: bold;
	color: #d00f31;
	font-family: Roboto;
}

.add_data_box_contents span.fs-24 {
	font-size: 24px;
}

.esim-note a {
	text-decoration: underline;
	color: #d00e31;
}

span.red {
	padding-top: 0;
	color: #d00e31;
}

.esim-price_adjust {
	margin-right: 5px;
}

td.esim-table_center {
	text-align: right;
	padding-right: 220px;
}

.grey-area_bottom {
	width: 100%;
	border-top: 1px solid #bababa;
	margin-top: 15px;
	padding-top: 15px;
}

.fs-15 {
	font-size: 15px;
}

.fs-20 {
	font-size: 20px;
}

.fs-22 {
	font-size: 22px;
}

.plr-40 {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.mt-0 {
	margin-top: 0 !important;
}

.mt-50 {
	margin-top: 50px !important;
}

.mt-60 {
	margin-top: 60px !important;
}

.mt-80 {
	margin-top: 80px !important;
}

.accordion {
	border: 1px solid #d00f31;
}

.accordion_header {
	text-align: center;
	font-size: 20px;
	line-height: 58px;
	color: #d00f31;
	cursor: pointer;
	position: relative;
}

.accordion_header::after {
	position: absolute;
	display: inline-block;
	content: "＋";
	width: 28px;
	height: 28px;
	line-height: 28px;
	font-size: 26px;
	text-align: center;
	background-color: rgb(208, 15, 49);
	color: rgb(255, 255, 255);
	top: 15px;
	right: 15px;
}

.text-center {
	text-align: center !important;
}

.hide {
	display: none;
}

.accordion_close {
	height: 58px;
	position: relative;
}

.accordion_close_icon {
	position: absolute;
	width: 28px;
	height: 28px;
	line-height: 30px;
	font-size: 22px;
	text-align: center;
	background-color: rgb(186, 186, 186);
	color: rgb(255, 255, 255);
	top: 15px;
	right: 15px;
	cursor: pointer;
}

.accordion_close_under {
	width: 70px;
	font-size: 15px;
	text-align: right;
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
	position: relative;
}

.accordion_close_under::before {
	position: relative;
	display: inline-block;
	content: "ー";
	width: 16px;
	height: 16px;
	line-height: 16px;
	font-size: 12px;
	text-align: center;
	background-color: rgb(186, 186, 186);
	color: rgb(255, 255, 255);
	left: -3px;
}

.bg_white {
	background-color: #fff;
}

.relative {
	position: relative;
}

.side_button {
	position: absolute;
	bottom: 0;
	right: -55px;
	cursor: pointer;
}

.font_note {
	font-size: 14px;
	line-height: 1.8;
}

.text-right {
	text-align: right !important;
}

.gray_follow {
	z-index: 1000;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 25px 0 15px;
	background-color: rgb(186, 186, 186, 0.7);
	display: none;
}

.gray_follow_flex {
	width: 640px;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
}

.gray_follow_button {
	width: 300px;
}

.gray_follow_button a {
	width: 100%;
	display: inline-block;
	line-height: 68px;
	font-size: 22px;
	font-weight: bold;
	color: #000;
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
	letter-spacing: 1px;
}

.footer__anchor {
	display: none;
}

.red {
	color: #d00f31;
}

@media only screen and (max-width: 767px) {
	main {
		padding-top: 40px;
	}

	.esim-hide-sp {
		display: none;
	}

	.w-900,
	.w-1100,
	.pink-table {
		width: 100%;
	}

	.esim-table td {
		padding: 10px;
	}

	.service-base-banner img {
		margin: 10px auto 0;
		padding-bottom: 10px;
	}

	.esim-border-title {
		margin-top: 20px;
		margin-bottom: 0;
	}

	.esim-border-title h2 {
		font-size: 20px;
	}

	.font-large {
		font-size: 16px;
		line-height: 26px;
	}

	.font-larger {
		font-size: 26px;
	}

	.font-higher {
		line-height: 22px;
	}

	.font-normal {
		font-size: 13px;
	}

	.sp-center {
		text-align: center;
	}

	.sp-left {
		text-align: left;
	}

	section:not([class="faq"]) {
		padding: 1px 15px 0;
		font-size: 12px;
	}

	section header:not([class="faq__header"]) {
		margin-left: -15px;
		margin-right: -15px;
	}

	.white-area {
		padding: 15px;
	}

	.esim-phone {
		width: 200px;
		margin: 0 auto;
	}

	.esim-number {
		width: 45px;
		height: 45px;
	}

	.esim-box {
		height: auto;
	}

	.esim-box .flex {
		flex-wrap: nowrap;
	}

	.esim-device-table {
		font-size: 12px;
	}

	.esim-device-table td {
		width: 50%;
	}

	.esim-device-table-left td {
		padding: 3px 3px 3px 10px;
	}

	.esim-device-table-right td {
		padding: 3px 3px 3px 30px;
	}

	.esim-table th,
	.esim-table td {
		width: 100%;
		display: block;
		text-align: center;
	}

	.esim-spec td {
		text-align: left;
	}

	.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);
	}

	.esim-color {
		font-size: 15px;
	}

	.esim-box {
		font-size: 13px;
	}

	.esim-padding {
		padding: 20px;
	}

	.esim-register {
		padding: 0 15px;
	}

	.esim-note {
		font-size: 10px;
		line-height: 20px;
	}

	.esim-title {
		font-size: 15px;
	}

	.esim-title-left,
	.esim-title-right {
		margin-left: 10px;
	}

	.esim-device {
		width: 40px;
		height: 40px;
	}

	.grey-area {
		padding: 10px 8px;
		font-size: 10px;
		line-height: 20px;
	}

	.esim-link-external {
		font-size: 13px;
	}

	.esim-table {
		font-size: 13px;
	}

	.esim-price {
		font-size: 20px;
	}

	.esim-table th {
		padding: 8px
	}

	.esim-table td {
		padding: 5px;
		border-top: none;
	}

	.step-image-sp img {
		height: 50px;
	}

	.pink-table {
		padding: 20px;
		line-height: 22px;
	}

	.member-title {
		white-space: normal;
		font-size: 14px;
		height: 40px;
	}

	.member-box {
		width: 45%;
		height: 210px;
		padding: 15px;
		border-width: 4px;
		flex-wrap: wrap;
		flex-direction: initial;
		align-content: space-between;
	}

	.esim-shop-list {
		padding: 13px 10px;
		justify-content: space-between;
	}

	.esim-shop-list img {
		max-width: 30%;
		max-height: 40px;
		margin: 0;
	}

	.esim-link {
		font-size: 14px;
	}

	.esim-link:before {
		width: 14px;
		height: 14px;
		background-size: contain;
		margin-right: 5px;
		vertical-align: -2px;
	}

	.faq__content {
		font-size: 13px;
	}

	.esim-spacer {
		height: 25px;
	}

	.subsection__header {
		margin-bottom: 20px;
	}

	.esim-description {
		font-size: 13px;
		text-align: left;
	}

	.mt-0-sp {
		margin-top: 0;
	}

	.font-big {
		font-size: 16px;
	}

	.esim-device-list,
	.faq-contents__box {
		margin-top: 5px;
	}

	.member-box a,
	.member-box picture {
		display: block;
	}

	.member-box img {
		height: 25px;
	}

	.plan__buy {
		width: 100%;
		margin-bottom: 20px !important;
	}

	.esim-otameshi {
		width: auto;
	}

	.bnr-data0 {
		padding-bottom: 50px;
	}

	.w-295-sp {
		width: 295px;
	}

	.button_list_flex {
		flex-wrap: wrap;
	}

	.w-137-sp {
		width: 137px;
		height: auto;
	}

	.h2_psdding-sp h2 {
		padding-left: 13px;
		padding-right: 13px;
		padding-top: 0;
	}

	.text_left-sp {
		text-align: left;
	}

	.lh-25-sp {
		line-height: 24px;
	}

	.free_plan_bg {
		padding: 15px;
	}

	.button_text {
		font-size: 16px;
		line-height: 63px;
	}

	.button_triangle {
		border-left: 7px solid #d00f31;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		margin-right: 7px;
	}

	.button_line {
		width: 1px;
		height: 50px;
		margin-right: 10px;
		margin-top: 7px;
	}

	.button_line::before {
		background-image: linear-gradient(to bottom, #8c8c8c, #8c8c8c 1px, transparent 1px, transparent 5px);
		background-size: 1px 5px;
	}

	.free_text {
		font-size: 10px;
		line-height: 18px;
	}

	.free_text p a {
		display: inline;
	}

	.free_text p a img {
		display: inline;
		width: 11px;
		height: 11px;
		margin: 0 1px 5px 3px;
	}

	.button--buy .button__label {
		background-size: 37px 27px;
	}

	.valign-top td {
		padding: 10px;
	}

	.fs-normal {
		margin: 0 40px;
	}

	#gigazou h2 {
		padding-bottom: 0;
	}

	.border-top {
		width: 100%;
		padding: 20px 50px 0;
	}

	.free_plan_bg_flex {
		flex-direction: column;
	}

	.add_data {
		padding: 20px;
		flex-direction: column;
	}

	.add_data_left,
	.add_data_right {
		width: 100%;
	}

	.add_data_box_header {
		font-size: 14px;
		line-height: 35px;
	}

	.add_data_box_contents {
		font-size: 8px;
	}

	.add_data_box_contents span {
		font-size: 25px;
	}

	.add_data_box_contents span.fs-24 {
		font-size: 13px;
	}

	td.esim-table_center {
		width: 200px;
		text-align: right;
		margin-left: auto;
		margin-right: auto;
	}

	.esim-price_adjust {
		margin-right: 0;
	}

	.fs-10-sp {
		font-size: 10px !important;
	}

	.fs-14-sp {
		font-size: 14px !important;
	}

	.fs-16-sp {
		font-size: 16px !important;
	}

	.pt-20-sp h2 {
		padding-top: 10px !important;
	}

	.pt-40-sp h2 {
		padding-top: 20px !important;
	}

	.ptb-10-sp {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	.ptb-40-sp a {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.ptb-0-sp h2 {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.ptb-20-sp h2 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.plr-40 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.mt-50 {
		margin-top: 25px !important;
	}

	.mt-60 {
		margin-top: 30px !important;
	}

	.mt-80 {
		margin-top: 40px !important;
	}

	.mt-0-sp {
		margin-top: 0 !important;
	}

	.mt-20-sp {
		margin-top: 10px !important;
	}

	.mt-60-sp {
		margin-top: 30px !important;
	}

	.plr-30-sp {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.mlr-50-sp {
		margin-left: 25px !important;
		margin-right: 25px !important;
	}

	.mlr-170-sp {
		margin-left: 85px !important;
		margin-right: 85px !important;
	}

	.tab-section-1 .step-number-big,
	.slide-number-1.slide-number-active {
		background-color: #f7657d;
	}

	.tab-section-1 h3 {
		color: #f7657d;
	}

	.tab-section-2 .step-number-big,
	.slide-number-2.slide-number-active {
		background-color: #3da3eb;
	}

	.tab-section-2 h3 {
		color: #3da3eb;
	}

	.tab-section-3 .step-number-big,
	.slide-number-3.slide-number-active {
		background-color: #2cbea7;
	}

	.tab-section-3 h3 {
		color: #2cbea7;
	}

	.tab-section-4 .step-number-big,
	.slide-number-4.slide-number-active {
		background-color: #f7657d;
	}

	.tab-section-4 h3 {
		color: #f7657d;
	}

	#tab-content-1 .tab-section-4 h3 {
		margin-top: 0 !important;
	}

	#tab-content-1 {
		border: 2px #333 solid;
	}

	#tab-1-sp {
		background-color: #333;
		border: 2px #333 solid;
		font-weight: bold;
	}

	.tab-content {
		margin: 0;
	}

	.wrap-all {
		word-break: break-all;
	}

	#tab-2-sp {
		background-color: #c81233;
		border: 2px #c81233 solid;
		color: #fff;
		font-weight: bold;
		font-size: 20px;
		padding: 15px 18px 15px 0;
	}

	#tab-1-sp {
		font-size: 20px;
		padding: 14px 18px 14px 0;
	}

	#tab-1-sp span,
	#tab-2-sp span {
		font-size: 13px;
	}

	#tab-content-1,
	#tab-content-2 {
		background-color: #fff;
	}

	#tab-content-2 {
		border: 2px #c81233 solid;
	}

	.slide-title {
		margin-left: 40px;
	}

	.slide-banner {
		margin-top: 30px;
	}

	.plan__buy {
		margin-bottom: 0;
	}

	#tab-pane-1, #tab-pane-2, #tab-pane-3, #tab-pane-4 {
		margin-bottom: 10px;
	}

	.tab-content h3 {
		margin-top: 12px;
	}

	.slick-prev, .slick-next {
		top: 35%;
	}

	.button__box a {
		padding: 18px 0;
	}

	.button__box .button__label {
		margin-right: 15px;
	}

	.button--buy {
		padding: 18px 10px;
	}

	#tab-1-sp:after, #tab-2-sp:after, #tab-3-sp:after, #tab-4-sp:after {
		margin-top: 6px;
	}

	.accordion {
		border: 2px solid #d00f31;
	}

	.accordion_header {
		font-size: 14px;
		line-height: 42px;
	}

	.accordion_header::after {
		width: 20px;
		height: 20px;
		line-height: 20px;
		font-size: 20px;
		top: 10px;
		right: 10px;
	}

	.accordion_close {
		height: 42px;
	}

	.accordion_close_icon {
		width: 20px;
		height: 20px;
		line-height: 22px;
		font-size: 18px;
		top: 10px;
		right: 10px;
	}

	.accordion_close_under {
		width: 60px;
		font-size: 12px;
	}

	.accordion_close_under::before {
		left: -6px;
	}

	.px-30-sp {
		padding-left: 15px;
		padding-right: 15px;
	}

	.w-side_button {
		width: calc(100% - 30px);
	}

	.side_button {
		margin-top: 4px;
		right: 0;
		top: 30px;
	}

	.side_button picture,
	.side_button img {
		height: 100%;
	}

	.font_note {
		font-size: 7px;
		line-height: 2;
	}


	.gray_follow {
		padding: 10px 0 7px;
	}

	.gray_follow_flex {
		width: 100%;
		padding: 0 20px;
	}

	.gray_follow_flex > div {
		flex: 1;
		padding: 0 5px;
	}

	.gray_follow_button {
		width: auto;
	}

	.gray_follow_button a {
		line-height: 38px;
		font-size: 14px;
		letter-spacing: 1px;
	}
}

.price_table {
	border-collapse: collapse;
	width: 100%;
	letter-spacing: 1px;
}

.price_table th,
.price_table td {
	border: 1px #bababa solid;
}

.price_table th {
	background-color: #fdef91;
	font-size: 20px;
	font-weight: bold;
	padding: 12px 0;
}

.price_table td {
	width: 20%;
}

.price_table td {
	padding: 20px 0;
	text-align: center;
}

.price_table tr:nth-of-type(2) td {
	padding: 25px 45px 19px;
}

.price_table span {
	display: inline-block;
}

.price_table .price {
	font-size: 20px;
	line-height: 1;
}

.price_table .capacity {
	font-family: Oswald;
	font-size: 32px;
}

.price_table .tax {
	font-size: 14px;
	font-weight: 400;
	padding-top: 10px;
	letter-spacing: 0;
}

.price_table .line {
	margin: 25px 0 15px;
	width: 100%;
	height: 2px;
	position: relative;
}

.price_table .line::before {
	content: "";
	position: absolute;
	background-image: linear-gradient(to right, #c5c5c5, #c5c5c5 2px, transparent 2px, transparent 8px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.price_table .select_on,
.price_table .select_off {
	font-size: 17px;
	font-weight: bold;
	padding: 1px 10px;
}

.price_table .select_off {
	color: #ccc;
	background-color: #eee;
	margin: 0 15px;
}

.price_table .select_on {
	color: #00940e;
	background-color: #e0f2e2;
	margin: 0 5px;
}

.price_table tr:nth-of-type(4) td {
	line-height: 1;
}

.price_table .cost {
	font-size: 22px;
	font-weight: bold;
}

.price_table .pink {
	font-size: 24px;
	color: #ff235b;
	font-weight: bold;
}

.price_table .black {
	font-size: 24px;
	font-weight: bold;
	padding-left: 20px;
}

.price_table .numbers {
	font-family: Oswald;
	font-size: 38px;
	font-weight: 400;
}

@media only screen and (max-width: 767px) {
	.price_table {
		width: calc(100% - 30px);
		letter-spacing: 0;
		font-size: 10px;
	}

	.price_table th {
		font-size: 13px;
		padding: 4px 0;
	}

	.price_table td {
		width: 20%;
	}

	.price_table td {
		padding: 10px 0;
	}

	.price_table tr:nth-of-type(2) td {
		padding: 13px 5px 10px;
	}

	.price_table .price {
		font-size: 10px;
		line-height: 1;
	}

	.price_table .capacity {
		font-size: 16px;
	}

	.price_table .tax {
		font-size: 7px;
		font-weight: 400;
		padding-top: 5px;
		letter-spacing: 0;
	}

	.price_table .line {
		margin: 13px 0 7px;
		height: 1px;
	}

	.price_table .line::before {
		background-image: linear-gradient(to right, #c5c5c5, #c5c5c5 2px, transparent 2px, transparent 4px);
		background-size: 4px 1px;
	}

	.price_table .select_on,
	.price_table .select_off {
		font-size: 11px;
		padding: 1px 5px;
	}

	.price_table .select_off {
		margin: 0 10px;
	}

	.price_table .select_on {
		margin: 0;
	}

	.price_table .cost {
		font-size: 12px;
	}

	.price_table .pink {
		font-size: 12px;
	}

	.price_table .black {
		font-size: 12px;
		padding-left: 5px;
	}

	.price_table .numbers {
		font-size: 19px;
	}

	.side_button {
		margin-top: 0;
		top: 29px;
		max-width: 30px;
	}

	.pr-60-sp {
		padding-right: 30px;
	}
}

.inline-block {
	display: inline-block;
}

.text-d00f31 {
	color: #d00f31;
}

.text-left {
	text-align: left !important;
}

.bgc-d00f31 {
	background-color: #d00f31;
}

.bgc-blue {
	background-color: #effaff;
}

.bgc-white {
	background-color: #fff;
}

.leading-1_75 {
	line-height: 1.75;
}

.w-90p {
	width: 90%;
}

.w-400 {
	width: 400px;
}

.py-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}

.mx-20 {
	margin-left: 20px;
	margin-right: 20px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-30 {
	margin-top: 30px;
}

.sim_tab_button {
	font-size: 28px;
	border: 2px solid #d00f31;
	color: #d00f31;
	font-weight: bold;
	line-height: 1.7;
	background-color: #fff;
	cursor: pointer;
	transition: opacity .3s ease;
}

.sim_tab_button:hover {
	opacity: .7;
}

.sim_tab_button:hover,
.sim_tab_button.active {
	position: relative;
	background-color: #d00f31;
	color: #fff;
}

.sim_tab_button:hover::before,
.sim_tab_button.active::before {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 0;
	height: 0;
	border-top: 25px solid #d00f31;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
}

.esim_tab_left_open {
	line-height: 68px;
	font-size: 28px;
	background-color: #d00f31;
}

.esim_tab_contents {
	border-color: #d00f31;
}

.esim-box.box_3_4 {
	height: 565px;
}

.esim-box .esim-padding {
	padding-top: 25px;
}

.esim-box.box_3_4 .esim-padding {
	padding-top: 30px;
}

.title_sub {
	font-size: 35px;
	font-weight: bold;
}

.title_sub_sub {
	font-size: 16px;
}

.gigaplan_table_side_button {
	position: relative;
}

.gigaplan_banner {
	margin-left: -15px;
	margin-bottom: -15px;
}

.gigaplan_side_button {
	position: absolute;
	bottom: 0;
	right: -55px;
	cursor: pointer;
}

.gigaplan_side_button picture,
.gigaplan_side_button img {
	height: 100%;
}

.text_note {
	font-size: 13px;
	line-height: 2.3;
}

.table_note {
	font-size: 14px;
	line-height: 1.8;
}

.table_note_small {
	font-size: 12px;
	line-height: 1.8;
}

.change_button {
	margin-right: 25px;
	padding-bottom: 3px;
	border-bottom: 1px solid #333;
	color: #333;
	position: relative;
}

.change_button::before {
	content: "";
	position: absolute;
	top: 0;
	right: -25px;
	display: inline-block;
	background-size: contain;
	width: 20px;
	height: 20px;
	background-image: url(../img/common/ico_arrow_circle_right.svg);
}

.h3_text {
	font-size: 28px;
}

.esim_free_padding {
	padding: 40px 40px 30px;
}

.esim_free_flex {
	display: flex;
	justify-content: space-between;
}

.esim_free_text {
	font-size: 16px;
	text-align: center;
	line-height: 1.9;
}

.blank {
	color: #d00f31;
	text-decoration: underline;
}

.blank img {
	display: inline-block;
	width: 14px;
	margin: 0 3px 9px;
}

.table_note .blank img {
	display: inline-block;
	width: 14px;
	margin: 0 3px 7px;
}

.dualsim {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.dualsim a {
	display: inline-block;
}

.ul_note {
	font-size: 14px;
	line-height: 2.15;
}

.ul_note li {
	padding-left: 14px;
	position: relative;
}

.ul_note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.tab__item {
	width: 48.5%;
}

.accordion_table {
	font-size: 16px;
	text-align: left;
	border-collapse: collapse;
}

.accordion_table tr {
	border-top: 1px solid #d0d0d0;
	border-bottom: 1px solid #d0d0d0;
}

.accordion_table th {
	background-color: #f1f1f1;
	font-size: 16px;
	font-weight: normal;
	width: 260px;
	text-align: left;
	padding: 15px 25px;
}

.accordion_table td {
	padding: 20px 30px;
	line-height: 25px;
}

.accordion_table ul {
	margin-top: 20px;
}

.accordion_table .note {
	font-size: 14px;
	line-height: 22px;
}

.esim-link-external:after {
	margin-right: 3px;
}

.bold {
	font-weight: bold !important;
}

.text-center {
	text-align: center !important;
}

.font-big {
	font-size: 18px !important;
}

@media only screen and (min-width: 768px) {
	.text-28px-pc {
		font-size: 28px;
	}
}

@media only screen and (max-width: 767px) {
	.flex-space-between-sp {
		justify-content: space-between !important;
	}

	.text-left-sp {
		text-align: left !important;
	}

	.text-center-sp {
		text-align: center !important;
	}

	.text-10px-sp {
		font-size: 10px;
	}

	.leading-1_7-sp {
		line-height: 1.7;
	}

	.w-full-sp {
		width: 100%;
	}

	.pr-60-sp {
		padding-right: 30px;
	}

	.py-20 {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.px-10-sp {
		padding-left: 5px;
		padding-right: 5px;
	}

	.px-30-sp {
		padding-left: 15px;
		padding-right: 15px;
	}

	.px-50-sp {
		padding-left: 25px;
		padding-right: 25px;
	}

	.mt-20 {
		margin-top: 10px;
	}

	.mt-30-sp {
		margin-top: 15px !important;
	}

	.mt-40-sp {
		margin-top: 20px !important;
	}

	.mx-0-sp {
		margin-left: 0;
		margin-right: 0;
	}

	.mx-30-sp {
		margin-left: 15px;
		margin-right: 15px;
	}

	.sim_tab_button {
		width: 48%;
		margin-left: 0;
		margin-right: 0;
		font-size: 18px;
	}

	.sim_tab_button.active::before {
		bottom: -15px;
		border-top: 15px solid #d00f31;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
	}

	.esim_tab {
		width: 100%;
	}

	.esim_tab_left_open {
		font-size: 18px;
	}

	.esim_tab_left_open {
		line-height: 38px;
	}

	.esim_tab_contents {
		padding: 25px 15px 30px;
	}

	.esim-spacer {
		height: 20px;
	}

	.font-higher span {
		font-size: 10px;
	}

	.esim-box.box_3_4 {
		height: auto;
	}

	.esim-box.box_3_4 .esim-padding {
		padding-top: 25px;
	}

	.title_sub {
		font-size: 21px;
	}

	.title_sub_sub {
		font-size: 12px;
	}

	.gigaplan_banner {
		margin-left: -10px;
		margin-bottom: -8px;
		z-index: 100;
	}

	.gigaplan_side_button {
		right: 0;
		top: 30px;
	}

	.table_note {
		font-size: 8px;
	}

	.table_note .esim-link-external {
		font-size: 8px;
	}

	.text-note-sp {
		font-size: 10px;
	}

	.text-note-sp .esim-link-external {
		font-size: 10px;
	}

	.change_button {
		margin-right: 20px;
	}

	.change_button::before {
		right: -20px;
		width: 15px;
		height: 15px;
	}

	.h3_text {
		font-size: 18px;
	}

	.table_note_small {
		font-size: 8px;
		line-height: 1.5;
	}

	.text-13px-sp {
		font-size: 13px;
	}

	.esim_free_padding {
		padding: 15px;
	}

	.esim_free_flex {
		flex-direction: column;
	}

	.blank img {
		display: inline-block;
		margin: 0 3px 3px;
	}

	.dualsim {
		width: 100%;
		padding: 15px 0;
	}

	.ul_note {
		font-size: 10px;
		line-height: 1.9;
	}

	.ul_note .esim-link-external {
		font-size: 10px;
	}

	.ul_note .esim-link-external:after {
		font-size: 10px;
		margin-left: 2px;
		margin-right: 1px;
	}

	.ul_note li {
		padding-left: 10px;
	}

	.member-box {
		justify-content: center;
		padding: 15px;
		height: auto;
		border: none;
		margin: 8px 0;
		width: 47%;
	}

	.tab__item-trigger {
		font-size: 12px;
	}

	.top-faq__content {
		padding-left: 0;
		padding-right: 0;
	}

	.accordion_table {
		font-size: 11px;
	}

	.accordion_table tr {
		border-top: none;
		border-bottom: none;
	}

	.accordion_table th {
		width: 100%;
		display: block;
		text-align: center;
		padding: 8px;
		font-size: 13px;
	}

	.accordion_table td {
		line-height: 1.4;
		padding: 10px;
		font-size: 13px;
	}

	.accordion_table .note {
		font-size: 11px;
		line-height: 1.4;
	}

	.accordion_table ul {
		margin-top: 10px;
	}

	.fs-14-sp {
		font-size: 14px !important;
	}

	.gigaplan_side_button img {
		width: 30px;
	}
}

.text-big {
	font-size: 28px;
}

.text-s {
	font-size: 12px;
	line-height: 22px;
}

.underline {
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.text-big {
		font-size: 18px;
	}

	.text-s {
		font-size: 8px;
		line-height: 12px;
	}
}

.flex-esim-flex {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

.esim-device-table-right td,
.esim-device-table-center td,
.esim-device-table-left td {
	position: relative;
	padding-top: 4px;
	padding-bottom: 4px;
}

.icon-esim {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 45px;
}

.esim-title-left {
	flex: 1;
	text-align: center;
	padding-right: 48px;
	margin-left: 0;
}

._margin_area {
	margin-left: 100px;
	margin-right: 100px;
}

@media only screen and (max-width: 767px) {
	.flex-esim-flex {
		font-size: 12px;
	}

	.flex-esim-flex img {
		width: 31px;
	}

	.icon-esim {
		width: 31px;
		right: 15px;
	}

	.esim-device-table-right td {
		padding: 3px 3px 3px 23%;
	}

	.esim-device-table-center td {
		padding: 3px 3px 3px 28%;
	}

	.esim-device-table-left td {
		padding: 3px 3px 3px 33%;
	}

	.esim-title-left {
		flex: none;
		padding-right: 0;
		margin-left: 10px;
	}

	._margin_area {
		margin-left: 0;
		margin-right: 0;
	}
}

.icon-dual {
	width: 45px;
}

@media only screen and (max-width: 767px) {
	.icon-dual {
		width: 31px;
	}
}

.tab-list {
	display: flex;
	gap: 25px;
	justify-content: center;
}

.tab-list ._tab {
	border: 2px solid #d00f31;
	color: #d00f31;
	background-color: #fff;
	font-size: 24px;
	line-height: 34px;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
	position: relative;
	cursor: pointer;
	max-width: 350px;
}

.tab-list ._tab._adjust {
	font-size: 20px;
	line-height: 30px;
	padding: 8px 0;
}

.tab-list ._tab:hover,
.tab-list ._tab._active {
	background-color: #d00f31;
	color: #fff;
}

.tab-list ._tab:hover::after,
.tab-list ._tab._active::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	transform: translate(-50%, 100%);
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #d00f31;
}

.hidden {
	display: none;
}

.tab-title {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}

.tab-title sup {
	font-size: 60%;
}

.table_note_miophone {
	color: #d00f31;
}

.register-bicsim {
	text-align: center;
}

.register-bicsim a {
	display: inline-block;
}

.table_note-2 {
	font-size: 12px;
	line-height: 22px;
}

.exist_title {
	font-size: 28px;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-color: #fff799;
	text-decoration-thickness: 10px;
	text-underline-offset: -5px;
}

.esim_discount {
	font-size: 22px;
	font-weight: bold;
}

.mt-10 {
	margin-top: 10px !important;
}

@media only screen and (max-width: 767px) {
	.tab-list {
		gap: 9px;
	}

	.tab-list ._tab {
		border: 1px solid #d00f31;
		font-size: 15px;
		line-height: 20px;
		padding: 8px 0;
	}

	.tab-list ._tab._adjust {
		font-size: 13px;
		line-height: 18px;
	}

	.tab-list ._tab._active::after {
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
		border-top: 15px solid #d00f31;
	}

	.tab-title {
		font-size: 18px;
	}

	.tab-title sup {
		font-size: 60%;
	}

	.register-bicsim {
		margin: 0 25px;
	}

	.table_note-2 {
		font-size: 8px;
		line-height: 12px;
	}

	.exist_title {
		font-size: 18px;
		text-decoration-thickness: 5px;
		text-underline-offset: -2px;
	}

	.esim_discount {
		font-size: 14px;
	}

	.w-630-sp {
		width: 315px;
	}

	.minus_margin {
		margin: 0 -30px;
	}
}

@font-face {
	font-family: 'Oswald';
	src: url('../font/Oswald-Regular.ttf') format('truetype');
}
