@font-face {
	font-family: 'Oswald';
	src: url('../font/Oswald-Regular.ttf') format('truetype');
}

/* 共通 */
.margin-center {
	margin-left: auto;
	margin-right: auto;
}

.bgc-yellow {
	background-color: #fff686;
}

.bgc-red {
	background-color: #d00f31;
}

.w-900 {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.w-1100 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

h2 {
	font-size: 30px;
	text-align: center;
	position: relative;
	line-height: 170%;
	margin-top: -65px;
}

h2.add_mt {
	margin-top: -80px;
	line-height: 1.3;
}

h2 span {
	font-size: 45px;
}

.bg-gray {
	background-color: #f3f3f3 !important;
}

.footer__anchor-trigger {
	display: none;
}

td a[target="_blank"]::after {
	content: '';
	display: inline-block;
	margin-left: 3px;
	vertical-align: initial;
	width: 10px;
	height: 10px;
	background: url(../img/common/ico_blank_red.svg) center center no-repeat;
	background-size: contain
}

/* 共通 */

/* PC */
@media only screen and (min-width: 768px) {
	/* mv */
	.gigaplan_mv > picture > img {
		margin: 0 auto;
		min-width: 1100px;
	}

	/* mv */
}

.gigaplan_banner {
	margin-left: -15px;
	margin-bottom: -15px;
}

.gigaplan_side_button picture,
.gigaplan_side_button img {
	height: 100%;
}

/* PC */

/* タブ */
.gigaplan_tab {
	margin-top: -160px;
}

.tab_flex {
	display: flex;
	justify-content: center;
	position: relative;
}

.tab_left,
.tab_left_off,
.tab_right,
.tab_right_off {
	position: relative;
	width: 400px;
	height: 102px;
	cursor: pointer;
}

.tab_left,
.tab_right {
	z-index: 10;
}

.tab_left::before,
.tab_left_off::before,
.tab_right::before,
.tab_right_off::before {
	position: relative;
	content: '';
	display: inline-block;
	width: 400px;
	height: 102px;
	background-size: contain;
	vertical-align: middle;
}

.tab_left::before {
	background-image: url(/assets/img/plan/gigaplan_tab_left.png);
}

.tab_left_off::before {
	background-image: url(/assets/img/plan/gigaplan_tab_left_off.png);
}

.tab_right::before {
	background-image: url(/assets/img/plan/gigaplan_tab_right.png);
}

.tab_right_off::before {
	background-image: url(/assets/img/plan/gigaplan_tab_right_off.png);

}

.tab_content_left,
.tab_content_right {
	width: 100%;
	position: relative;
	border: solid 10px #ffe9e9;
	background-color: #fff;
	z-index: 1;
	margin-top: -10px;
}

.tab_content_right {
	display: none;
	border: solid 10px #ffedd7;
}

.gigaplan_tab_content {
	margin-left: 40px;
	margin-bottom: 75px;
}

.register-bicsim {
	text-align: center;
}

.register-bicsim a {
	display: inline-block;
}

/* タブ */
/*ギガ増量*/
/* .mb-90-80{
	margin-bottom: 80px;
} */
#gigaplan_increaseinquantity {
	margin-bottom: 110px;

}

/*ギガ増量*/


/* 新料金プラン４つの特徴 */
.h2_band01 {
	display: flex;
	margin-left: 220px;
}

.h2_band01.red {
	margin-left: 240px;
}

.h2_band_center {
	background-color: #fff;
	opacity: 0.5;
	width: 80px;
	height: 92px;
}

.red .h2_band_center {
	background-color: #f82f52;
	opacity: 1;
}

.h2_band_left,
.h2_band_right {
	width: 0;
	height: 0;
	position: relative;
}

.h2_band_left {
	border-right: 43px solid transparent;
	border-top: 92px solid #fff686;
	margin-left: -80px;
}

.red .h2_band_left {
	border-top: 92px solid #d00f31;
}

.h2_band_right {
	border-left: 43px solid transparent;
	border-bottom: 92px solid #fff686;
	margin-left: -6px;
}

.red .h2_band_right {
	border-bottom: 92px solid #d00f31;
}

.gigaplan_box {
	width: 350px;
	background-color: #fff;
	padding: 45px 40px;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.gigaplan_box_flex {
	display: flex;
	flex-direction: column;
}

h3 {
	font-size: 20px;
	text-align: center;
	margin-bottom: 33px;
	line-height: 200%;
}

h3 .text-red {
	color: #d00f31;
}

h3 .text-l {
	font-size: 24px;
}

h3 .text-xl {
	font-size: 28px;
}

h3.box04_h3 {
	margin-top: -10px;
}

h3.box05_h3 {
	margin-left: -40px;
	margin-right: -40px;
}

.box_text01,
.box_text02,
.box_text03,
.box_text04,
.box_text05 {
	font-size: 16px;
	line-height: 2.2;
}

.box_text01 {
	text-align: center;
}

.box_text02,
.box_text04,
.box_text05 {
	width: 320px;
	margin-top: -10px;
}

.box_text03 {
	width: 320px;
}

.box_text05_button {
	width: 218px;
	line-height: 43px;
	border: 1px solid #8c8c8c;
	font-size: 15px;
	text-align: center;
	margin: 0 auto 5px;
}

.box_text05_button a {
	display: block;
	color: #333;
	position: relative;
}

.box_text05_button a::after {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url(/assets/img/plan/icon_blank.png);
	background-size: contain;
	vertical-align: middle;
	position: relative;
	top: -3px;
}

.box_text01,
.box_text02,
.box_text03,
.box_text04,
.box_text05,
.box_text06 {
	font-size: 16px;
	line-height: 2.2;
	width: auto;
	text-align: left;
	margin-top: 0;
	line-height: 1.9;
}

.box_note01,
.box_note02,
.box_note03,
.box_note04 {
	font-size: 12px;
	line-height: 2.1;
}

.box_note01,
.box_note03 {
	text-align: right;
}

.box_note03 {
	margin-top: -10px;
}

.box_note04 {
	margin-top: -30px;
}

.box_band_flex {
	display: flex;
	margin-bottom: 25px;
}

.box_band {
	width: 275px;
	line-height: 35px;
	background-color: #ffe9e9;
	font-size: 16px;
	font-weight: bold;
	color: #d00f31;
	text-align: center;
}

.box_band_left,
.box_band_right {
	width: 0;
	height: 0;
	position: relative;
}

.box_band_left {
	border-right: 17px solid transparent;
	border-top: 35px solid #fff;
	margin-left: -275px;
}

.box_band_right {
	border-left: 17px solid transparent;
	border-bottom: 35px solid #fff;
	margin-left: 241px;
}

/* 新料金プラン４つの特徴 */

/* あなたにぴったりのプランが見つかる！ */
.h2_band02 {
	display: flex;
	margin-left: 135px;
}

.center_yellow {
	background-color: #fff89e;
	opacity: 1.0;
}


.left_yellow {
	border-top: 92px solid #fff;
}

.right_yellow {
	border-bottom: 92px solid #fff;
}

.table_note {
	font-size: 12px;
	line-height: 2.1;
}

.table_note_miophone {
	color: #d00f31;
}

.accordion {
	width: 100%;
	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: #d00f31;
	color: #fff;
	top: 15px;
	right: 15px;
}

.accordion_close_mark {
	position: relative;
	width: 28px;
	height: 28px;
	margin: 15px 15px 0 auto;
	cursor: pointer;
}

.accordion_header.accordion_open::after {
	content: 'ー';
	background-color: #bababa;
}

.accordion_contents {
	margin: 0 100px;
}

.accordion_contents table {
	width: 100%;
	border-collapse: collapse;
}

.accordion_contents table tr {
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
}

.accordion_contents table th {
	width: 260px;
	font-size: 16px;
	font-weight: bold;
	padding-left: 25px;
	padding: 20px 0 20px 25px;
	text-align: left;
	background-color: #f1f1f1;
}

.accordion_contents table td {
	font-size: 16px;
	padding: 15px 0 15px 30px;
}

.accordion_contents table td ul {
	font-size: 14px;
	padding: 20px 0 0 10px;
	line-height: 1.7;
}

.accordion_contents table td p {
	font-size: 14px;
	padding: 20px 0 0 10px;
	line-height: 1.8;
}

.accordion_contents table td span {
	display: block;
	font-size: 14px;
	padding: 5px 0 0 10px;
	line-height: 1.7;
}

.accordion_contents_text {
	font-size: 12px;
	line-height: 2.0;
}

.accordion_close {
	width: 70px;
	font-size: 15px;
	text-align: right;
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
	position: relative;
}

.accordion_close::before {
	position: relative;
	display: inline-block;
	content: 'ー';
	width: 16px;
	height: 16px;
	line-height: 16px;
	font-size: 12px;
	text-align: center;
	background-color: #bababa;
	color: #fff;
	left: -3px;
}

.hide_accordion {
	display: none;
}

.text_tab {
	font-size: 16px;
	text-align: center;
}

#tab-content-new {
	border-top: 1px #d4d4d4 solid;
}

.step-flex picture img {
	margin: 0 auto;
}

#tab-content-new {
	margin-bottom: 0;
}

/* あなたにぴったりのプランが見つかる！ */

/* e-Gift */
.egift_text {
	font-size: 16px;
	line-height: 2.1;
	text-align: center;
}

.egift_step_flex01 {
	display: flex;
	justify-content: space-between;
}

.egift_step_flex02 {
	display: flex;
	justify-content: center;
}

.egift_step01,
.egift_step02 {
	width: 320px;
	background-color: #fff;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.egift_step_header {
	display: flex;
	justify-content: center;
	font-weight: normal;
}

.step {
	font-family: 'Oswald';
	font-size: 24px;
	margin-top: -3px;
}

.slash {
	width: 1px;
	height: 62px;
	transform: rotate(30deg);
	background-color: #333;
	margin-left: 5px;
	margin-right: 15px;
}

.number {
	font-family: 'Oswald';
	font-size: 50px;
}

.egift_step_text {
	font-size: 18px;
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
}

.egift_step_text span {
	font-size: 14px;
}

.gigaplan_arrow {
	margin: 0 18px;
}

.entry_button {
	width: 480px;
	line-height: 90px;
	border-radius: 50px;
	background-color: #d7d7d7;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: rgba(255, 255, 255, 0.7);
	position: relative;
}

.entry_button::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 16px;
	height: 26px;
	background-image: url(/assets/img/plan/gigaplan_arrow_btn.png);
	background-size: contain;
	vertical-align: middle;
	top: 32px;
	right: 25px;
}

.entry_button_text {
	font-size: 16px;
	color: #d00f31;
	text-align: center;
}

.bgc-white {
	background-color: #fff;
	border: 1px solid #bababa;
}

.h2_band03 {
	display: flex;
	margin-left: 210px;
}

.table_header {
	width: 100%;
	line-height: 60px;
	background: #333;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.gigaplan_table table {
	width: 100%;
	border-collapse: collapse;
}

.gigaplan_table th,
.gigaplan_table td {
	border-bottom: 1px solid #bababa;
	font-size: 16px;
	line-height: 1.7;
}

.gigaplan_table th {
	width: 237px;
	padding: 15px 25px;
	font-weight: normal;
	background-color: #f1f1f1;
	text-align: left;
}

.gigaplan_table td {
	padding: 15px 30px;
}

.gigaplan_table .red {
	color: #d00e31;
}

.table_note01 {
	font-size: 14px;
}

.table_note02 {
	font-size: 12px;
}

.va-top {
	vertical-align: top;
}

.entry_btn {
	display: inline-block;
}

.text-center {
	text-align: center;
}

.accordion_header02 {
	font-size: 20px;
	text-align: center;
	line-height: 58px;
	cursor: pointer;
	position: relative;
}

.accordion_header02::after {
	position: absolute;
	display: inline-block;
	content: '＋';
	width: 28px;
	height: 28px;
	line-height: 28px;
	font-size: 26px;
	text-align: center;
	background-color: #333;
	color: #fff;
	top: 15px;
	right: 15px;
}

/* e-Gift */

/* FAQ */
.top-faq {
	margin-top: 0;
	background-color: #fff;
}

.tab__item {
	width: 48.5%;
}

.tab__item-trigger {
	padding-left: 20px;
	padding-right: 20px;
	margin-top: 0;
	border: 1px #d4d4d4 solid;
	border-bottom: none;
}

.tab__item-trigger[aria-selected='true'] {
	box-shadow: none;
}

.tab__item-trigger::before {
	box-shadow: none;
}

.top-faq__title {
	background-color: #fff;
	margin-top: 0;
}

.faq__title-toggle {
	text-align: left;
}

.faq__title {
	margin-bottom: 0;
}

.tab__contents {
	border: 1px #d4d4d4 solid;
	box-shadow: none;
}

.faq__content span {
	font-weight: bold;
}

.tab__item-center {
	width: 28px;
	border-bottom: 1px #d4d4d4 solid;
}

.link_icon {
	display: inline-block;
	margin: 0 2px 7px 3px;
}

/* FAQ */

/* 余白 */
.mt--85 {
	margin-top: -85px;
}

.mtb-center {
	align-self: center;
}

.mr-0 {
	margin-right: 0;
}

.ml-0 {
	margin-left: 0;
}

/* 余白 */

main {
	padding-bottom: 0;
}

.step-picture {
	height: 220px;
}

.campaign_box {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.box_header {
	background-color: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 9px 0;
}

.header_left {
	color: #d00e31;
	margin-right: 15px;
	font-size: 17px;
	background: linear-gradient(transparent 60%, #fff28c 60%);
}

.header_right {
	font-size: 14px;
}

.box_contents {
	border: 10px solid #f5f5f5;
	border-top: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.contents_flex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.contents_text01 {
	font-size: 18px;
	font-weight: bold;
}

.contents_text02 {
	font-size: 14px;
	padding-left: 15px;
	line-height: 1.3;
}

.contents_text03 {
	font-size: 16px;
	padding-left: 5px;
}

.contents_text03 span {
	text-decoration: line-through;
}

.contents_text04 {
	font-size: 23px;
	color: #d11e35;
	font-weight: bold;
	padding-left: 32px;
	line-height: 1.25;
	position: relative;
}

.contents_text04 span {
	font-size: 44px;
	font-family: Oswald;
}

.contents_text04::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-left: 10px solid #d11e35;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	top: calc(50% - 6px);
	left: 10px;
}

.banner-device_campaign {
	text-align: center;
	margin-bottom: 47px;
}

.bnr-au {
	text-align: center;
	margin-bottom: 54px;
}

.banner-device_campaign a {
	display: inline-block;
}

.bnr-au a {
	display: inline-block;
}

.table_header {
	background-color: #666;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 20px;
	line-height: 60px;
}

.terminal_set_campaign table {
	font-size: 16px;
	text-align: left;
	border-collapse: collapse;
}

.terminal_set_campaign tr {
	border-top: 1px solid #d0d0d0;
	border-bottom: 1px solid #d0d0d0;
}

.terminal_set_campaign th {
	width: 373px;
	background-color: #f1f1f1;
	padding-left: 25px;
	font-weight: bold;
}

.terminal_set_campaign td {
	padding: 20px 30px;
	line-height: 25px;
}

.terminal_set_campaign td small {
	font-size: 14px;
	line-height: 22px;
}

.terminal_set_campaign td a {
	color: #d00e31;
}

.terminal_set_campaign td a img.link_icon {
	display: inline;
	margin: 0 2px 7px 3px;
}

.terminal_set_campaign td ul {
	list-style-type: disc;
}

.pl-23 {
	padding-left: 23px;
}

.fc-red {
	color: #d00e31;
}

.area_table th,
.area_table td {
	border-right: 1px solid #bababa;
}

.accordion_contents .area_table td {
	padding-left: 25px;
}

.area_table tr td:last-of-type {
	border-right: none;
}

.area_table th.border_none {
	border-right: none;
}

.area_table tr th:first-of-type {
	width: 180px;
}

.area_table th.w-110 {
	width: 110px;
}

.area_table tr td:nth-of-type(2) {
	width: 110px;
}

.area_table th.w-170 {
	width: 170px;
}

.area_table tr td:nth-of-type(3) {
	width: 170px;
}

.accordion_contents .area_table td span {
	font-size: 12px;
	padding: 0 20px 0 0;
}

.accordion_contents_text a {
	color: #d00f31;
	text-decoration: underline;
}

.price_table {
	width: 100%;
	border-collapse: collapse;
}

.price_table tr {
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
}

.price_table th {
	width: 237px;
	padding: 15px 0 15px 25px;
	background-color: #f1f1f1;
	font-size: 16px;
	text-align: left;
	font-weight: normal;
}

.price_table td {
	padding: 10px 0;
	font-size: 16px;
	text-align: center;
}

td span.text1 {
	display: inline-block;
	font-size: 14px;
	background-color: #f1f1f1;
	line-height: 24px;
	padding: 0 5px;
	border-radius: 5px;
	margin-right: 15px;
}

td span.text2 {
	display: inline-block;
	font-size: 26px;
	font-family: Oswald;
	padding-left: 5px;
}

td span.text3 {
	font-size: 18px;
}

td span.text4 {
	font-size: 20px;
	font-family: Oswald;
}

td .price_text2 {
	padding-right: 60px;
}

td .price_note {
	font-size: 12px;
	text-align: left;
	line-height: 24px;
	padding-left: 20px;
}

td .price_note .red {
	color: #d00f31;
}

.pl-20 {
	padding-left: 20px;
}

.miophonedial_flex {
	display: flex;
	justify-content: space-between;
}

.miophonedial_note {
	font-size: 12px;
	line-height: 2.1;
	text-align: right;
}

.miophonedial_table {
	width: 100%;
	border-collapse: collapse;
}

.miophonedial_table tr {
	border-top: 1px solid #bababa;
	border-bottom: 1px solid #bababa;
}

.miophonedial_table th {
	padding: 15px 5px 15px 25px;
	background-color: #f1f1f1;
	font-size: 16px;
	text-align: left;
	font-weight: bold;
}

.miophonedial_table th:nth-of-type(3),
.miophonedial_table th:nth-of-type(2),
.miophonedial_table th:first-of-type {
	border-right: 1px solid #bababa;
}

.miophonedial_table th.th_header {
	padding: 10px 0 5px;
	text-align: center;
	font-weight: normal;
	vertical-align: top;
}

.miophonedial_table th .th_font_size {
	font-size: 18px;
}

.miophonedial_table th .th_font_size_xl {
	font-size: 20px;
	line-height: 40px;
}

.miophonedial_table th.th_second {
	padding-left: 15px;
	white-space: nowrap;
}

.miophonedial_table th .th_note {
	font-size: 13px;
	font-weight: normal;
}

.miophonedial_table td {
	width: 280px;
	padding: 10px 0;
	font-size: 16px;
	text-align: center;
	height: 78px;
}

.miophonedial_table td .td_font_size {
	font-size: 20px;
}

.miophonedial_table td.border-r {
	border-right: 1px solid #bababa;
}

.miophonedial_table span.number {
	font-size: 26px;
	font-family: Oswald;
}

.text-white {
	color: #fff;
}

.ws-nowrap {
	white-space: nowrap;
}

.miophonedial_table .th_img {
	padding-bottom: 10px;
}

.th_img p {
	margin-bottom: 5px;
}

.miophonedial_table .td_img {
	font-size: 18px;
}

.miophonedial_table .td_img .number {
	font-size: 20px;
	text-decoration: line-through;
}

.miophonedial_table .td_img .text_free {
	font-size: 25px;
	color: #d00f31;
	position: relative;
}

.miophonedial_table .td_img .text_free::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 9px solid #d00f31;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

/* mv */
.gigaplan_mv {
	position: relative;
}

.gigaplan_mv_button {
	position: absolute;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

/* mv */

h2 {
	font-size: 35px;
	margin-top: 0;
}

.h2_second {
	font-size: 30px;
	padding-top: 5px;
}

.h2_second span {
	font-size: 45px;
}

.gigaplan_table_side_button {
	position: relative;
}

.gigaplan_side_button {
	position: absolute;
	bottom: 0;
	right: -55px;
	cursor: pointer;
}

.bg_cream {
	background-color: #fdf8d0;
}

.point_text {
	font-size: 22px;
	font-weight: bold;
}

.point_text span {
	font-size: 28px;
}

.point_text span.red {
	color: #ff235b;
}

.plan_tab_flex {
	display: flex;
	padding-left: 15px;
}

.plan_tab {
	width: 210px;
	border: 1px solid #d5d5d5;
	border-bottom: none;
	border-radius: 5px 5px 0 0;
	text-align: center;
	padding: 15px 0;
	cursor: pointer;
	font-size: 20px;
	font-weight: bold;
	margin-right: 10px;
	background-color: #fff;
}

.plan_tab.esim {
	color: #f2bd1a;
}

.plan_tab.data {
	color: #00940e;
}

.plan_tab.sns {
	color: #0082b8;
}

.plan_tab.esim.active {
	background-color: #fffada;
}

.plan_tab.data.active {
	background-color: #e0f2e2;
}

.plan_tab.sns.active {
	background-color: #e0f0f6;
}

.hidden {
	display: none;
}

.pink_follow {
	z-index: 1000;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 25px 0 15px;
	background-color: rgb(255, 57, 107, 0.9);
	display: none;
}

.pink_follow_flex {
	width: 740px;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
}

.footer__anchor {
	display: none;
}

.font_note {
	font-size: 14px;
	line-height: 1.8;
}

.bg_gray {
	background-color: #f9f9f9;
}

.step-arrow {
	background-image: none !important;
}

.border_bottom_light {
	border-bottom: 1px solid #eee;
}

.gigapita_price_note a {
	color: #d00e31;
	text-decoration: underline;
}

/* スマホ */
@media only screen and (max-width: 767px) {
	/* 共通 */
	.w-900,
	.w-1100 {
		width: auto;
	}

	h2 {
		font-size: 17px;
		margin-top: -35px;
	}

	h2.add_mt {
		line-height: 1.5;
		margin-top: -35px;
	}

	h2 span {
		font-size: 25px;
	}

	/* 共通 */
	/* mv */
	.gigaplan_mv {
		margin-top: -40px;
		background-image: none;
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	/* mv */
	/* タブ */
	.gigaplan_tab {
		margin-top: -45px;
	}

	.tab_flex {
		justify-content: space-between;
	}

	.tab_left,
	.tab_left_off,
	.tab_right,
	.tab_right_off {
		width: 100%;
		height: 57px;
	}

	.tab_left::before,
	.tab_left_off::before,
	.tab_right::before,
	.tab_right_off::before {
		width: 100%;
		height: 57px;
		background-size: 100% 57px;
	}

	.tab_left::before {
		background-image: url(/assets/img/plan/gigaplan_tab_left-sp.png);
	}

	.tab_left_off::before {
		background-image: url(/assets/img/plan/gigaplan_tab_left_off-sp.png);
	}

	.tab_right::before {
		background-image: url(/assets/img/plan/gigaplan_tab_right-sp.png);
	}

	.tab_right_off::before {
		background-image: url(/assets/img/plan/gigaplan_tab_right_off-sp.png);
	}

	.tab_content_left,
	.tab_content_right {
		border: solid 5px #ffe9e9;
		margin-top: -5px;

		width: 100%;
		position: relative;
		background-color: #fff;
	}

	.tab_content_right {
		border: solid 5px #ffedd7;
	}

	.gigaplan_tab_content {
		margin-left: 10px;
		margin-right: 10px;
		margin-bottom: 25px;
		width: 94%;
	}

	.register-bicsim {
		margin: 0 25px;
	}

	/* タブ */
	/*ギガ増量*/
	#gigaplan_increaseinquantity {
		margin-bottom: 55px;
	}

	.mb-90-80 {
		margin-bottom: 90px;
	}

	.pt-90-50-sp {
		padding-top: 50px;
	}

	/*ギガ増量*/
	/* 新料金プラン４つの特徴 */
	.h2_band01 {
		margin-left: -220px;
		justify-content: center;
	}

	.h2_band01.red {
		margin-left: -220px;
	}

	.h2_band_center {
		width: 44px;
		height: 46px;
		opacity: 0.6;
	}

	.h2_band_left {
		border-right: 23px solid transparent;
		border-top: 46px solid #fff686;
		margin-left: -44px;
	}

	.h2_band_right {
		border-left: 23px solid transparent;
		border-bottom: 46px solid #fff686;
		margin-left: -2px;
	}

	.red .h2_band_center {
		background-color: #f82f52;
	}

	.red .h2_band_left {
		border-top: 46px solid #d00f31;
	}

	.red .h2_band_right {
		border-bottom: 46px solid #d00f31;
	}

	.gigaplan_box {
		width: 100%;
		padding: 25px 15px;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
	}

	h3 {
		font-size: 17px;
		margin-bottom: 15px;
	}

	h3.box04_h3 {
		margin-top: 0;
	}

	h3.box05_h3 {
		margin-left: 0;
		margin-right: 0;

	}

	h3 .text-xl,
	h3 .text-l {
		font-size: 17px;
	}

	.box_text01,
	.box_text02,
	.box_text03,
	.box_text04,
	.box_text05,
	.box_text06 {
		font-size: 13px;
		line-height: 1.9;
	}

	.box_text01 {
		text-align: left;
	}

	.box_text04 {
		width: auto;
	}

	.box_text02,
	.box_text05,
	.box_text06 {
		width: auto;
		margin-top: 0;
	}

	.box_text03 {
		width: auto;
	}

	.box_text05_button {
		width: 175px;
		line-height: 33px;
		border: 2px solid #8c8c8c;
		font-size: 13px;
		margin-left: auto;
		margin-right: auto;
	}

	.box_text05_button a::after {
		width: 12px;
		height: 12px;
		top: 0;
	}

	.gigaplan_box01-sp {
		width: 89%;
		margin-left: 20px;
		margin-right: 15px;
	}

	.gigaplan_box02-sp {
		width: 77%;
		margin-left: 37px;
		margin-right: 34px;
	}

	.gigaplan_box03-sp {
		width: 85%;
		margin-left: 23px;
		margin-right: 40px;
	}

	.gigaplan_box04-sp {
		width: 81%;
		margin-left: 30px;
		margin-right: 30px;
	}

	.gigaplan_box05-sp {
		width: 78%;
		margin-left: 35px;
	}

	.box_note01,
	.box_note02,
	.box_note03,
	.box_note04 {
		font-size: 10px;
		line-height: 1.8;
	}

	.box_note01,
	.box_note03 {
		text-align: left;
	}

	.box_note03 {
		margin-top: 0;
	}

	.gigaplan_box_flex {
		display: flex;
		flex-direction: column-reverse;
	}

	.box_band_flex {
		justify-content: center;
		margin-bottom: 15px;
	}

	.box_band {
		line-height: 26px;
		font-size: 13px;
		width: 220px;
	}

	.box_band_left {
		border-top: 26px solid #fff;
		border-right: 15px solid transparent;
		margin-left: -220px;
	}

	.box_band_right {
		border-bottom: 26px solid #fff;
		border-left: 15px solid transparent;
		margin-left: 190px;
	}

	/* 新料金プラン４つの特徴 */
	/* あなたにぴったりのプランが見つかる！ */
	.h2_padding02-sp {
		padding-left: 25px;
	}

	.h2_band02 {
		justify-content: center;
		margin-left: -290px;
	}

	.left_yellow {
		border-top: 46px solid #fff;
	}

	.right_yellow {
		border-bottom: 46px solid #fff;
	}

	.table_note {
		font-size: 10px;
		line-height: 1.8;
	}

	.accordion {
		border: 1px 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_mark {
		width: 20px;
		height: 20px;
		margin: 10px 10px 0 auto;
	}

	.accordion_close_mark::after {
		width: 20px;
		height: 20px;
		line-height: 22px;
		font-size: 18px;
	}

	.accordion_contents {
		margin: 0 15px;
	}

	.accordion_contents table th {
		width: 110px;
		font-size: 11px;
		padding: 15px 10px 15px 15px;
	}

	.accordion_contents table td {
		font-size: 11px;
		padding: 10px 0 10px 10px;
	}

	.accordion_contents table td ul,
	.accordion_contents table td p {
		font-size: 9px;
		padding: 10px 0 0 0;
		line-height: 1.6;
	}

	.accordion_contents table td span {
		font-size: 9px;
		padding: 5px 0 0 0;
		line-height: 1.6;
	}

	.accordion_contents_text {
		font-size: 10px;
		line-height: 1.7;
	}

	.accordion_close {
		width: 60px;
		font-size: 12px;
	}

	.text_tab {
		font-size: 13px;
	}

	.step-note {
		margin: 0 -20px -15px;
	}

	/* あなたにぴったりのプランが見つかる！ */
	/* e-Gift */
	.egift_step_flex01 {
		flex-direction: column;

		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.egift_step_flex02 {
		flex-direction: column;

		display: flex;
		justify-content: center;
		align-items: center;
	}

	.entry_button {
		width: auto;
		font-size: 19px;
		line-height: 61px;
	}

	.entry_button::after {
		width: 12px;
		height: 19px;
		top: 22px;
		right: 17px;
	}

	.egift_text {
		font-size: 13px;
		line-height: 1.9;
		text-align: left;
	}

	.h2_band01-sp {
		margin-left: -240px;
	}

	.h2_padding03-sp {
		padding-left: 15px;
	}

	.step {
		font-size: 18px;

		margin-top: -3px;
	}

	.slash {
		height: 50px;
		margin-left: 3px;
		margin-right: 13px;
	}

	.number {
		font-size: 37px;
	}

	.egift_step_text {
		font-size: 13px;
		text-align: left;
		padding-left: 0;
		padding-right: 0;
	}

	.egift_step_text span {
		font-size: 13px;
	}

	.fs-10-sp {
		font-size: 10px !important;
	}

	.egift_step_text-sp {
		width: 140px;
	}

	.step_contents_flex-sp {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.egift_step01,
	.egift_step02 {
		width: 100%;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
		padding-left: 15px;
		padding-right: 15px;
		max-height: auto;
	}

	.gigaplan_arrow-sp {
		width: 24px;
	}

	.h2_band03 {
		justify-content: center;
		margin-left: -215px;
	}

	.h2_padding04-sp {
		padding-left: 17px;
	}

	.entry_button_text {
		font-size: 11px;
	}

	.table_header {
		line-height: 36px;
		font-size: 13px;
	}

	.gigaplan_table th,
	.gigaplan_table td {
		font-size: 11px;
		line-height: 1.7;
	}

	.gigaplan_table th {
		width: 107px;
		padding: 13px;
	}

	.gigaplan_table td {
		padding: 11px 13px;
	}

	.va-top {
		vertical-align: middle;
	}

	.va-top-sp {
		vertical-align: top;
	}

	.table_note01,
	.table_note02 {
		font-size: 10px;
	}

	.center_yellow {
		opacity: 1.0;
	}

	.accordion_header02 {
		font-size: 14px;
		line-height: 42px;
	}

	.accordion_header02::after {
		width: 20px;
		height: 20px;
		line-height: 20px;
		font-size: 20px;
		top: 10px;
		right: 10px;
	}

	/* e-Gift */
	/* FAQ */
	.tab__item-trigger {
		padding-left: 0;
		padding-right: 0;
		line-height: 1.3;
	}

	.tab__item-center {
		width: 18px;
	}

	.link_icon {
		width: 10px;
		height: auto;
		margin: 0 2px 5px 2px;
	}

	/* FAQ */
	/* 余白 */
	.mlr-30-sp {
		margin-left: 15px;
		margin-right: 15px;
	}

	.mlr-50-sp {
		margin-left: 25px;
		margin-right: 25px;
	}

	.mlr-60-sp {
		margin-left: 30px;
		margin-right: 30px;
	}

	.mlr-70-sp {
		margin-left: 35px;
		margin-right: 35px;
	}

	.mlr-80-sp {
		margin-left: 40px;
		margin-right: 40px;
	}

	.mt--85 {
		margin-top: -43px;
	}

	/* 余白 */
	.step-picture {
		width: 42%;
		height: auto;
		margin-left: 5px;
	}

	.step-picture img {
		width: 100%;
		height: auto;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.egift_step_text {
		line-height: 24px;
	}

	.campaign_box {
		width: 100%;
	}

	.box_header {
		padding: 10px 0 9px;
	}

	.header_left {
		font-size: 15px;
	}

	.header_right {
		font-size: 13px;
	}

	.box_contents {
		flex-direction: column;
		padding: 10px 0 4px;
	}

	.contents_text01 {
		font-size: 15px;
	}

	.contents_text02 {
		font-size: 11px;
		padding-left: 0;
	}

	.contents_text03 {
		font-size: 12px;
	}

	.contents_text04 {
		font-size: 18px;
		padding-left: 30px;
	}

	.contents_text04 span {
		font-size: 34px;
	}

	.contents_text04::before {
		border-left: 8px solid #d11e35;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		top: calc(50% - 5px);
	}

	.banner-device_campaign {
		margin-bottom: 35px;
	}

	.bnr-au {
		margin-bottom: 25px;
	}

	.hide-sp {
		display: none !important;
	}

	.terminal_set_campaign table {
		font-size: 11px;
	}

	.terminal_set_campaign th {
		width: 110px;
		padding-left: 15px;
	}

	.terminal_set_campaign td {
		padding: 10px;
		line-height: 1.6;
	}

	.terminal_set_campaign td small {
		font-size: 9px;
		line-height: 1.4;
	}

	.pl-17-sp {
		padding-left: 17px;
	}

	.table_header.add_sp {
		padding: 7px 0;
		line-height: 1.6;
	}

	.terminal_set_campaign td a img.link_icon {
		width: 10px;
		height: 10px;
		margin: 0 2px 4px 2px;
	}

	.accordion_contents .area_table th,
	.accordion_contents .area_table td {
		padding: 15px 10px;
	}

	.area_table tr th:first-of-type {
		width: auto;
	}

	.area_table th.w-110 {
		width: auto;
	}

	.area_table tr td:nth-of-type(2) {
		width: auto;
	}

	.area_table th.w-170 {
		width: auto;
	}

	.area_table tr td:nth-of-type(3) {
		width: auto;
	}

	.accordion_contents .area_table td span {
		font-size: 10px;
		padding: 0 10px 0 0;
	}

	.price_table th {
		display: block;
		width: 100%;
		padding: 10px 0;
		font-size: 12px;
		text-align: center;
	}

	.price_table td {
		display: block;
		width: 100%;
		padding: 10px 0;
		font-size: 11px;
	}

	td span.text1 {
		font-size: 11px;
		line-height: 16px;
		margin: 5px 0 7px;
	}

	td span.text2 {
		font-size: 12px;
		padding-left: 5px;
	}

	td span.text3 {
		font-size: 12px;
	}

	td span.text4 {
		font-size: 12px;
	}

	td .price_text2 {
		padding-right: 0;
	}

	td .price_note {
		font-size: 10px;
		line-height: 16.5px;
		padding: 0 5px;
	}

	.pl-0-sp {
		padding-left: 0;
	}

	.miophonedial_note {
		font-size: 10px;
		line-height: 1.8;
		text-align: left;
	}

	.miophonedial_table th {
		padding: 15px 5px 15px 15px;
		font-size: 11px;
	}

	.miophonedial_table th:nth-of-type(3),
	.miophonedial_table th:nth-of-type(2),
	.miophonedial_table th:first-of-type {
		border-right: 1px solid #bababa;
	}

	.miophonedial_table th.th_header {
		padding: 10px 0 5px;
	}

	.miophonedial_table th .th_font_size {
		font-size: 13px;
	}

	.miophonedial_table th .th_font_size_xl {
		font-size: 15px;
		line-height: 25px;
	}

	.miophonedial_table th.th_second {
		padding-left: 15px;
	}

	.miophonedial_table th .th_note {
		font-size: 11px;
	}

	.miophonedial_table td {
		width: 25%;
		padding: 10px 0;
		font-size: 11px;
		height: auto;
	}

	.miophonedial_table td .td_font_size {
		font-size: 11px;
	}

	.miophonedial_table span.number {
		font-size: 15px;
	}

	.miophonedial_table .td_img {
		font-size: 11px;
	}

	.miophonedial_table .td_img .number {
		font-size: 15px;
	}

	.miophonedial_table .td_img .text_free {
		font-size: 15px;
	}

	.miophonedial_table .td_img .text_free::before {
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid #d00f31;
		top: -8px;
	}

	/* mv */
	.gigaplan_mv_button {
		bottom: 0.7%;
	}

	/* mv */
	h2 {
		font-size: 21px;
		margin-top: 0;
	}

	.h2_second {
		font-size: 17px;
		padding-top: 5px;
	}

	.h2_second span {
		font-size: 25px;
	}

	.h2_second-sp {
		font-size: 21px;
	}

	.w-side_button {
		width: calc(100% - 30px);
	}

	.gigaplan_side_button {
		right: 0;
		top: 30px;
	}

	.gigaplan_side_button img {
		width: 30px;
	}

	.point_text {
		font-size: 17px;
	}

	.point_text span {
		font-size: 20px;
	}


	.plan_tab_flex {
		justify-content: flex-end;
		padding-left: 0;
		padding-right: 30px;
	}

	.plan_tab {
		padding: 7px 0;
		font-size: 10px;
		margin-right: 0;
		margin-left: 10px;
	}


	.mx-40-sp {
		margin-left: 20px;
		margin-right: 20px;
	}

	.mx-90-sp {
		margin-left: 45px;
		margin-right: 45px;
	}

	.mx-110-sp {
		margin-left: 55px;
		margin-right: 55px;
	}

	.mx-200-sp {
		margin-left: 100px;
		margin-right: 100px;
	}

	.top-faq.pt-120-sp {
		padding-top: 60px !important;
	}

	.pink_follow {
		padding: 10px 0 7px;
	}

	.pink_follow_flex {
		width: 100%;
	}

	.pink_follow_flex > div {
		flex: 1;
		padding: 0 5px;
	}

	.gigaplan_banner {
		margin-left: -10px;
		margin-bottom: -8px;
		z-index: 100;
	}

	.gigaplan_side_button {
		margin-top: 4px;
	}

	h2 {
		line-height: 150%;
	}

	h3 {
		line-height: 150%;
	}

	.font_note {
		font-size: 7px;
		line-height: 2;
	}

	.step-arrow {
		height: auto !important;
		margin-left: auto;
		margin-right: auto !important;
		width: 100% !important;
	}

	.step-arrow img {
		width: 28px;
	}
}

@media only screen and (max-width: 375px) {
	.tab_left,
	.tab_left_off,
	.tab_right,
	.tab_right_off {
		width: 100%;
		height: 51px;
	}

	.tab_left::before,
	.tab_left_off::before,
	.tab_right::before,
	.tab_right_off::before {
		width: 100%;
		height: 51px;
		background-size: 100% 51px;
	}
}

@media only screen and (max-width: 320px) {
	.tab_left,
	.tab_left_off,
	.tab_right,
	.tab_right_off {
		width: 100%;
		height: 42px;
	}

	.tab_left::before,
	.tab_left_off::before,
	.tab_right::before,
	.tab_right_off::before {
		width: 100%;
		height: 42px;
		background-size: 100% 42px;
	}
}

/* スマホ */


.w-1100 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.subsection__header {
	margin-top: 25px;
	margin-bottom: 10px;
	font-size: 20px;
}

.step-arrow {
	display: inline-block;
	width: 28px;
	height: 78px;
	margin-right: 10px;
}

.mt-70 {
	margin-top: 70px !important;
}

.step-text {
	font-size: 1.5em;
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	-ms-grid-column: 2;
	-ms-grid-row: 1;
}

@media only screen and (max-width: 767px) {
	.w-1100 {
		width: auto;
	}

	.mlr-30-sp {
		margin-left: 15px;
		margin-right: 15px;
	}

	.subsection__header {
		margin-top: 10px;
		margin-bottom: 0;
		font-size: 14px;
	}


	.mt-70 {
		margin-top: 35px !important;
	}

	.step-text {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
}

.service-device__list-wrap .device__list {
	margin: 15px auto;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: stretch;
	align-content: stretch;
}

.service-device__list-wrap .device__list-box {
	margin: 15px 0 0;
	padding: 40px 10px 25px;
	position: relative;
	box-shadow: 0px 0 7px rgb(100 100 100 / 20%), 0px 0 1px rgb(100 100 100 / 40%);
	text-align: center;
	cursor: pointer;
	width: 49%;
	background: #fff;
}

.service-device__list-wrap .device__item-campaign {
	position: absolute;
	left: 10px;
	top: 0;
	max-width: 129px;
	width: 85%;
	height: auto;
}

.service-device__list-wrap .device__list-box__thumbnail-wrap {
	position: relative;
	text-align: center;
}

.service-device__list-wrap .device__list-box__thumbnail-wrap img {
	margin: 0 auto;
	width: 100px;
	height: auto;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-ms-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}

.service-device__list-wrap .device__item-color {
	position: absolute;
	right: 2%;
	bottom: 0;
}

.service-device__list-wrap .device__item-color span {
	margin-top: 5px;
	display: block;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	border: #dfdfdf solid 1px;
}

.service-device__list-wrap .device__list-box__txtarea {
	text-align: center;
	position: relative;
}

.service-device__list-wrap .device__list-box__txt-manufacturer {
	display: block;
	margin: 20px 0 0;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.2;
	color: #333;
}

.service-device__list-wrap .device__list-box__txt-link {
	display: block;
	margin: 13px 0 0;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	color: #d00f31;
	text-align: left;
}

.service-device__list-wrap .device__list-box__type-wrap {
	display: block;
	margin: 13px 0 0;
}

.service-device__list-wrap .device__list-box__type-wrap span {
	margin: 0 2px;
	padding: 3px 4px;
	display: inline-block;
	border-radius: 3px;
	border: #8c8c8c solid 1px;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	color: #8c8c8c;
	background: #fff;
}

.service-device__list-wrap .device__list-box:hover img {
	opacity: 0.6;
}


@media print, screen and (min-width: 768px) {
	.service-device__list-wrap .device__list {
		margin: 25px auto;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.service-device__list-wrap .device__list-box {
		margin: 24px 0 0;
		padding: 40px 25px 25px;
		width: 32%;
	}

	.service-device__list-wrap .device__item-campaign {
		max-width: 210px;
		width: 210px;
		height: 41px;
	}

	.service-device__list-wrap .device__list-box__thumbnail-wrap img {
		max-width: 215px;
		width: 75%;
	}

	.service-device__list-wrap .device__item-color span {
		margin-top: 8px;
		width: 22px;
		height: 22px;
		border: #dfdfdf solid 2px;
	}

	.service-device__list-wrap .device__list-box__txt-manufacturer {
		letter-spacing: 0.08em;
		font-size: 20px;
		font-size: 2rem;
	}

	.service-device__list-wrap .device__list-box__txt-link {
		margin: 25px 0 0;
		letter-spacing: 0.08em;
		font-size: 22px;
		font-size: 2.2rem;
	}

	.service-device__list-wrap .device__list-box__type-wrap {
		margin: 25px 0 0;
	}

	.service-device__list-wrap .device__list-box__type-wrap span {
		margin: 0 4px;
		padding: 4px 8px;
		font-size: 16px;
		font-size: 1.6rem;
	}

	.service-device__list-wrap .device__list-box:nth-child(4) {
		display: none !important;
	}
}

.campaign_pop {
	border-radius: 5px;
	overflow: hidden;
	width: 170px;
	text-align: center;
}

.campaign_pop_top {
	background-color: #fff;
	font-size: 13px;
	line-height: 25px;
	padding-top: 3px;
}

.campaign_pop_top .date {
	font-size: 18px;
	font-family: Oswald;
}

.campaign_pop_top .date .date_slash {
	font-size: 16px;
	padding: 0 3px;
}

.campaign_pop_bottom {
	background-color: #fffcd1;
	color: #d00f31;
	font-size: 14px;
	font-weight: bold;
	line-height: 25px;
}

.cancel_line {
	font-size: 20px;
	font-family: Oswald;
	text-decoration: line-through;
}

.triangle_red {
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 9px solid #d00f31;
	margin: 5px auto 0;
}

.period_price {
	display: flex;
	align-items: center;
	justify-content: center;
}

.period_text {
	font-size: 14px;
	border-radius: 3px;
	background-color: #fffcd1;
	margin-right: 20px;
	padding: 5px;
	line-height: 1;
}

.price_text {
	color: #d00f31;
	font-size: 20px;
}

.price_text .price_number {
	font-size: 26px;
	font-family: Oswald;
}

@media only screen and (max-width: 767px) {
	.campaign_pop {
		border-radius: 3px;
		width: 100%;
	}

	.campaign_pop_top {
		background-color: #fff;
		font-size: 10px;
		line-height: 1.3;
		padding-top: 3px;
		padding-left: 3px;
		padding: 3px 0 0 5px;
	}

	.campaign_pop_top .date {
		font-size: 11px;
	}

	.campaign_pop_top .date .date_slash {
		font-size: 8px;
		padding: 0 2px;
	}

	.campaign_pop_top .campaign_pop_sp {
		font-size: 9px;
	}

	.campaign_pop_bottom {
		font-size: 9px;
		font-weight: bold;
		line-height: 1.5;
		padding: 5px 0;
	}

	.cancel_line {
		font-size: 15px;
	}

	.triangle_red {
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-top: 7px solid #d00f31;
		margin: 3px auto 5px;
	}

	.period_price {
		flex-direction: column;
	}

	.period_text {
		font-size: 10px;
		margin-right: 0;
		padding: 3px 5px;
		margin-bottom: 3px;
	}

	.price_text {
		font-size: 11px;
	}

	.price_text .price_number {
		font-size: 15px;
	}
}

.mil-embed-GUcxo2 {
	width: 860px !important;
	height: 500px !important;
}

@media only screen and (max-width: 767px) {
	.mil-embed-GUcxo2 {
		max-width: 347px;
		width: 100% !important;
	}
}

.movie_pop {
	background-color: #fdf8d0;
	width: 315px;
	border-radius: 10px;
	color: #333;
	font-size: 16px;
	text-align: center;
	margin: 0 auto;
	padding: 10px 0;
	position: relative;
}

.movie_pop::before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 30px solid #fdf8d0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	bottom: -30px;
}

@media only screen and (max-width: 767px) {
	.movie_pop {
		width: 100%;
	}
}

/*ギガ増量*/
img.new_data_plan_speech {
	margin: 0 auto;
	padding-bottom: 5px;
}

.new_data_plan_sub {
	text-align: center;
	font-size: 16px;
	margin-top: 20px;
	line-height: 2;
	margin-bottom: 50px;
}

/* .new_data_plan_comment{

} */
.new_data_plan_bgc-beige {
	background-color: #fdf8d0;
}

.pb-120-110 {
	padding-bottom: 110px;
}

/*ギガ増量*/

.leading-1_7 {
	line-height: 1.7;
}

.text-28px {
	font-size: 28px;
}

.bgc-beige {
	background-color: #ffeaef;
}

.life_plan_title {
	text-align: center;
	font-size: 35px;
}

.life_plan_sub {
	text-align: center;
	font-size: 22px;
}

.life_plan_img01 {
	position: relative;
	margin-left: -12px;
	margin-right: -12px;
	top: -30px;
}

.life_plan_img02 {
	margin-left: -12px;
}

.life_plan_img03 {
	margin-right: -12px;
}

.life_plan_note {
	font-size: 14px;
	padding-top: 5px;
}

@media only screen and (max-width: 767px) {
	.text-8px-sp {
		font-size: 8px;
	}

	.text-18px-sp {
		font-size: 18px;
	}

	.leading-1_5-sp {
		line-height: 1.5;
	}

	.text-left-sp {
		text-align: left !important;
	}

	.px-20-sp {
		padding-left: 10px;
		padding-right: 10px;
	}

	.px-30-sp {
		padding-left: 15px;
		padding-right: 15px;
	}

	.mx-50-sp {
		margin-left: 25px;
		margin-right: 25px;
	}

	/*ギガ増量*/
	/* .pb-90-90-sp{
		padding-bottom: 90px;
	} */
	.new_data_plan_sub {
		font-size: 14px;
		margin-top: 15px;
		line-height: 2;
		margin-bottom: 20px;
	}

	/* .life_plan_mt-sp{
		margin-top: 20px;
	} */
	/*ギガ増量*/
	.life_plan_title {
		font-size: 21px;
	}

	.life_plan_sub {
		font-size: 14px;
	}

	.life_plan_img01 {
		margin-left: 0;
		margin-right: 0;
		top: 0;
	}

	.life_plan_img02 {
		margin-left: 0;
	}

	.life_plan_img03 {
		margin-right: 0;
	}

	.life_plan_note {
		padding-left: 5px;
		padding-right: 5px;
		font-size: 8px;
	}
}

.leading-1_6 {
	line-height: 1.6;
}

.border-t-dot {
	border-top: 1px #bababa dotted;
}

.star-margin {
	margin-left: 12px;
}

.banner_link {
	display: inline-block;
}

.inline-block {
	display: inline-block;
}

.bg-white {
	background-color: #fff;
}

.accordion_img_flex {
	display: flex;
	justify-content: space-between;
	margin: 0 -10px;
}

.accordion-2 .accordion_contents {
	margin: 0 40px;
}

.accordion_header_open {
	position: relative;
}

.accordion_header_open .accordion_close_mark {
	position: absolute;
	top: 15px;
	right: 15px;
	margin: 0;
}

.accordion_header_open_text {
	text-align: center;
	font-size: 20px;
	line-height: 58px;
	color: #d00f31;
}

.accordion-2 .accordion_contents_text {
	font-size: 14px;
	line-height: 22px;
}

@media only screen and (max-width: 767px) {
	.accordion_img_flex {
		flex-direction: column;
		gap: 15px;
		margin: 0 -5px;
	}

	.accordion-2 .accordion_contents {
		margin: 0 15px;
	}

	.accordion_header_open .accordion_close_mark {
		top: 10px;
		right: 10px;
	}

	.accordion_header_open_text {
		font-size: 14px;
		line-height: 42px;
	}

	.accordion-2 .accordion_contents_text {
		font-size: 8px;
		line-height: 12px;
	}
}

.table-white {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
}

.table-white td,
.table-white th {
	border: 1px solid #bababa;
}

.table-white th {
	width: 260px;
	height: 70px;
}

.table-white td {
	text-align: center;
}

.table-white td span.text-Oswald {
	font-size: 24px;
}

.table-white td span.text-xl {
	font-size: 21px;
}

.text-Oswald {
	font-family: 'Oswald';
}

.text-large {
	font-size: 18px;
}

.py-30 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

@media only screen and (max-width: 767px) {
	.text-xs-sp {
		font-size: 8px;
		line-height: 12px;
	}

	.px-10-sp {
		padding-left: 10px;
		padding-right: 10px;
	}

	.table-white {
		font-size: 9px;
	}

	.table-white th {
		width: 80px;
		height: 35px;
	}

	.table-white td span.text-Oswald {
		font-size: 13px;
	}

	.table-white td span.text-xl {
		font-size: 11px;
	}

	.table-white td span.text-large {
		font-size: 9px;
	}
}

.th-small {
	font-size: 14px;
}

.th-note {
	font-size: 13px;
	font-weight: normal;
}

.th_second {
	width: 100px;
}

@media only screen and (max-width: 767px) {
	.th-small {
		font-size: 11px;
	}

	.th-note {
		font-size: 10px;
	}

	.miophonedial_table th.th_second {
		width: 25px;
		text-align: center;
		padding-left: 2px;
		padding-right: 2px;
	}

	.miophonedial_table th.th_second {
		white-space: wrap;
	}
}

.table_note-2 {
	font-size: 12px;
	line-height: 22px;
}

@media only screen and (max-width: 767px) {
	.table_note-2 {
		font-size: 8px;
		line-height: 12px;
	}

	.px-40-sp {
		padding-left: 20px;
		padding-right: 20px;
	}

	.px-60-sp {
		padding-left: 30px;
		padding-right: 30px;
	}

	.mx-10-sp {
		margin-left: 5px;
		margin-right: 5px;
	}
}

.tab-list {
	display: flex;
	gap: 25px;
}

.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;
}

.tab-list ._tab._adjust {
	font-size: 20px;
	line-height: 30px;
	padding: 8px 0;
}

.tab-list ._tab._active {
	background-color: #d00f31;
	color: #fff;
}

.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%;
}

.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;
}

@media only screen and (min-width: 768px) {
	.tab-list ._tab:hover {
		background-color: #d00f31;
		color: #fff;
	}

	.tab-list ._tab:hover::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;
	}
}

@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%;
	}

	.exist_title {
		font-size: 18px;
		text-decoration-thickness: 5px;
		text-underline-offset: -2px;
	}

	.esim_discount {
		font-size: 14px;
	}

	.w-630-sp {
		width: 315px;
	}
}
