.wifi_sticker img {
	margin: 0 auto;
}

.gigazou_wifiarea img {
	margin: 0 auto;
	width: 435px;
}

.page-anchor__header_add {
	margin-top: 20px;
}

.support-icon-box img {
	width: auto;
}

.cafewifi_icon_text,
.plan_place_icon_text {
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 5px;
}

.cafewifi_icon_text sup,
.plan_place_icon_text sup {
	font-size: 10px;
}

.cafewifi_icon_boder,
.plan_place_icon_boder {
	border: 7px #f3f3f3 solid;
	margin-bottom: 5px;
}

.cafewifi_icon_padding,
.plan_place_icon_padding {
	padding: 10px;
}

.cafewifi_icon_flex,
.plan_place_icon_flex {
	display: flex;
	justify-content: space-between;
}

.domestic_freewifi_text {
	font-size: 14px;
}

.support-icon-box-wide-add {
	padding: 15px 10px;
}

.plan_text {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.plan_description {
	font-size: 16px;
	text-align: center;
	line-height: 30px;
}

.plan_table {
	background-color: #effaff;
	padding: 50px 40px 35px;
}

.plan_table_flex {
	display: flex;
	justify-content: space-between;
}

.plan_table_text {
	text-align: center;
	font-size: 16px;
}

.plan_table_text a {
	color: #d00f31;
	text-decoration: underline;
}

.free_plan_button_flex {
	display: flex;
	justify-content: center;
}

.free_plan_button_left {
	border: 1px solid #8c8c8c;
	font-size: 22px;
	font-weight: bold;
	line-height: 76px;
}

.free_plan_button_left a {
	color: #333;
}

.free_plan_button_right {
	border: 1px solid #d00f31;
	font-size: 22px;
	font-weight: bold;
	line-height: 76px;
	background-color: #d00f31;
	color: #fff;
}

.free_plan_button_right a {
	color: #fff;
}

.button_flex {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.button_triangle_left,
.button_triangle_right {
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	margin-right: 15px;
}

.button_triangle_left {
	border-left: 10px solid #d00f31;
}

.button_triangle_right {
	border-left: 10px solid #fff;
}

.button_line_left,
.button_line_right {
	position: relative;
	width: 2px;
	height: 63px;
	margin-right: 12px;
	margin-top: 7px;
}

.button_line_left::before,
.button_line_right::before {
	content: "";
	position: absolute;
	background-size: 2px 8px;
	background-repeat: repeat-y;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.button_line_left::before {
	background-image: linear-gradient(to bottom, #8c8c8c, #8c8c8c 2px, transparent 2px, transparent 8px);
}

.button_line_right::before {
	background-image: linear-gradient(to bottom, #fff, #fff 2px, transparent 2px, transparent 8px);
}

.plan_table_paid {
	background-color: #fff5f7;
	padding: 50px 0;
}

.ptb-7-mb-5 {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}

.bgc-blue {
	background-color: #3da3eb !important;
}

.bgc-orange {
	background-color: #f79100 !important;
}

.bgc-pink {
	background-color: #f7657d !important;
}

.text-blue {
	color: #3da3eb !important;
}

.text-orange {
	color: #f79100 !important;
}

.text-pink {
	color: #f7657d !important;
}

.lh-33 {
	line-height: 33px;
}

.gigazou_tab_flex {
	display: flex;
}

.gigazou_tab_left,
.gigazou_tab_right {
	padding: 20px;
	line-height: 40px;
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	cursor: pointer;
}

.gigazou_tab_left {
	color: #3da3eb;
	border: 2px solid #3da3eb;
	border-bottom: none;
}

.gigazou_tab_left-add {
	background-color: #3da3eb;
	color: #fff;
	border-bottom: 2px solid #f79100;
}

.gigazou_tab_right {
	background-color: #f79100;
	border: 2px solid #f79100;
	color: #fff;
	border-bottom: 2px solid #3da3eb;
}

.gigazou_tab_right-add {
	background-color: #fff;
	border: 2px solid #f79100;
	color: #f79100;
	border-bottom: none;
}

.gigazou_tab_center {
	width: 27px;
	border-bottom: 2px solid #3da3eb;
}

.gigazou_tab_center-add {
	border-bottom: 2px solid #f79100;
}

.gigazou_tab_none {
	width: 373px;
	border-bottom: 2px solid #3da3eb;
}

.gigazou_tab_none-add {
	border-bottom: 2px solid #f79100;
}

.gigazou_step {
	border: 2px solid #3da3eb;
	border-top: none;
	padding: 50px 57px 77px;
}

.gigazou_step_right {
	border: 2px solid #f79100;
	border-top: none;
}

.step {
	font-weight: bold;
	color: #3da3eb;
	font-size: 18px;
	margin: 0 0 3px 6px;
}

.step_right {
	color: #f79100;
}

.step_number {
	background-color: #3da3eb;
	color: #fff;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	text-align: center;
	font-size: 40px;
	line-height: 65px;
	margin-right: 25px;
}

.step_number_right {
	background-color: #f79100;
}

.step_title {
	font-size: 24px;
	font-weight: bold;
	color: #3da3eb;
}

.step_title_right {
	color: #f79100;
}

.step_text {
	font-size: 16px;
	line-height: 30px;
}

.step_text a {
	display: inline;
	color: #c71c22;
	text-decoration: underline;
}

.step_text a img {
	display: inline;
}

.step_text span {
	color: #d00f31;
	font-size: 14px;
	line-height: 25px;
}

.step_line,
.step_line_step3 {
	display: block;
	width: 5px;
	height: 217px;
	background-color: #c4e7ff;
	margin: 0 53px 5px 30px;
}

.step_line_right {
	background-color: #fceeda;
}

.step_line_step3 {
	height: 510px;
}

.step_title_flex {
	display: flex;
	align-items: center;
}

.step_text_flex {
	display: flex;
}

.step_flex {
	display: flex;
	justify-content: space-between;
}

.step_triangle {
	width: 0;
	height: 0;
	border-left: 35px solid transparent;
	border-right: 35px solid transparent;
	border-top: 25px solid #d00f31;
	margin: 0 auto;
}

.link_img {
	margin: 0 2px 10px 3px;
}

.fs-22 {
	font-size: 22px;
}

.app_img img {
	width: auto;
}

.app_padding {
	padding: 20px 0 30px;
}

.faq_padding {
	padding: 40px !important;
}

.faq_a span {
	font-weight: bold;
}

.link-button-add {
	width: 437px;
	font-size: 22px;
	line-height: 47px;
}

.link-button-add img {
	width: 23px;
	height: auto;
}

.hide {
	display: none;
}

.hide-sp-inline {
	display: inline;
}

.w-350 {
	width: 350px;
}

.w-420 {
	width: 420px;
}

.w-480 {
	width: 480px;
}

.w-570 {
	width: 570px;
}

.w-580 {
	width: 580px;
}

.w-670 {
	width: 670px;
	margin: 0 auto;
}

.w-1100 {
	width: 1100px;
	margin: 0 auto;
}

.ptb-20_30 {
	padding-top: 20px !important;
	padding-bottom: 30px !important;
}

.pt-30 {
	padding-top: 30px !important;
}

.pt-60 {
	padding-top: 60px !important;
}

.mt-40 {
	margin-top: 40px;
}

.mt-50 {
	margin-top: 50px;
}

.ml-90 {
	margin-left: 90px;
}

.mb--40 {
	margin-bottom: -40px;
}

.none_before::before {
	display: none;
}

@media only screen and (min-width: 768px) {
	.plan-feature-number {
		margin-right: 20px;
		width: 60px;
	}

	#page-gigazou .page-anchor__title {
		margin: 45px 0;
	}

	.list-ml {
		margin-left: 10px;
	}

	.support-title {
		margin-left: 0 !important;
		margin-bottom: 10px !important;
	}

	.support-area-note {
		font-size: 14px;
	}

	#page-gigazou .giga-plan-header-2 {
		margin-left: -20px;
	}

	#page-gigazou .giga-plan-rect {
		padding: 0 10px;
	}
}

@media only screen and (max-width: 767px) {
	#page-gigazou .subsection__box h3 {
		padding-top: 5px;
	}

	#page-gigazou .support-area-note {
		margin-top: 10px !important;
		line-height: 22px;
	}

	#page-gigazou .support-location-note {
		line-height: 24px;
	}

	.diagram-image {
		width: 180px;
	}

	.plan-feature-number {
		width: 45px;
	}

	.support-title {
		margin-left: 0 !important;
	}

	#page-gigazou .dotted-border {
		margin-bottom: 20px !important;
	}

	.wifi_sticker img {
		width: 315px;
	}

	.gigazou_wifiarea img {
		width: 285px;
	}

	.cafewifi_icon_flex,
	.plan_place_icon_flex {
		flex-direction: column;
	}

	.cafewifi_icon_text,
	.plan_place_icon_text {
		font-size: 13px;

		margin-bottom: 5px;
	}

	.cafewifi_icon_text sup,
	.plan_place_icon_text sup {
		font-size: 9px;
	}

	.cafewifi_icon {
		margin-top: 15px !important;
	}

	.cafewifi_icon_padding-sp {
		padding: 15px 10px;
	}

	.domestic_freewifi_text {
		font-size: 12px;
	}

	.plan_place_icon_padding-sp {
		padding: 0;
	}

	.support-area-location-add {
		margin-bottom: 0 !important;
	}

	.mt-30-sp {
		margin-top: 15px;
	}

	.support-area-location-add {
		margin-top: 10px !important;
	}

	.plan_table_flex {
		flex-direction: column;
	}

	.esim_ttl-sp {
		width: 137px;
		height: auto;
	}

	.plan_text {
		font-size: 14px;
	}

	.plan_description {
		font-size: 13px;
		text-align: left;
		padding: 0 15px;
		line-height: 24px;
	}

	.plan_table {
		margin-left: 15px;
		margin-right: 15px;
		padding: 15px;
	}

	.plan_table_text {
		font-size: 10px;
	}

	.free_plan_button_left,
	.free_plan_button_right {
		font-size: 16px;
		line-height: 63px;
	}

	.free_plan_button_flex {
		flex-direction: column;
	}

	.button_triangle_left,
	.button_triangle_right {
		margin-right: 7px;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
	}

	.button_triangle_left {
		border-left: 7px solid #d00f31;
	}

	.button_triangle_right {
		border-left: 7px solid #fff;
	}

	.button_line_left,
	.button_line_right {
		margin-right: 11px;
		height: 50px;
		width: 1px;
	}

	.button_line_left::before {
		background-image: linear-gradient(to bottom, #8c8c8c, #8c8c8c 1px, transparent 1px, transparent 5px);
		background-size: 1px 5px;
	}

	.button_line_right::before {
		background-image: linear-gradient(to bottom, #fff, #fff 1px, transparent 1px, transparent 5px);
		background-size: 1px 5px;
	}

	.plan_table_paid {
		margin-left: 15px;
		margin-right: 15px;
		padding: 15px;
	}

	.border_red-sp {
		border: 1px solid #f7657d !important;
		padding-top: 10px !important;
		padding-bottom: 0 !important;
	}

	.ptb-7-mb-5 {
		padding-top: 2px !important;
		padding-bottom: 2px !important;
	}

	.giga-plan-rect-flex-sp {
		display: flex;
	}

	.lh-33 {
		line-height: 20px;
	}

	.bgc-orange {
		width: 65px;
		margin-right: 5px;
		white-space: nowrap;
		height: 20px;
	}

	.text-orange {
		width: 200px;
	}

	.app_img {
		margin-left: 15px;
		margin-right: 15px;
	}

	.app_img img {
		width: 125px;
	}

	.fs-13-sp {
		font-size: 13px;
	}

	.faq_padding {
		padding: 15px !important;
	}

	#tab-1-sp {
		padding: 0;
		line-height: 65px;
		font-weight: bold;
		background-color: #3da3eb;
		border: none;
	}

	#tab-2-sp {
		padding: 0;
		line-height: 65px;
		font-weight: bold;
		background-color: #f79100;
		border: none;
		color: #fff;
	}

	#tab-content-1 {
		border: 2px #3da3eb solid;
	}

	#tab-content-2 {
		border: 2px #f79100 solid;
	}

	#tab-1-sp:after,
	#tab-2-sp:after {
		margin-top: 25px;
	}

	.slide-pager .slide-number-active {
		background-color: #3da3eb !important;
	}

	.slide-pager-orange .slide-number-active {
		background-color: #f79100 !important;
	}

	.blue_text {
		color: #3da3eb !important;
	}

	.orange_text {
		color: #f79100 !important;
	}

	.red_text {
		color: #d00f31 !important;
	}

	.blue_bg {
		background-color: #3da3eb !important;
	}

	.orange_bg {
		background-color: #f79100 !important;
	}

	.fs-normal a {
		color: #d00f31;
		text-decoration: underline;
	}

	.fs-normal a img {
		display: inline;
		margin-bottom: 7px;
	}

	.flex-a-center {
		align-items: center;
	}

	.link-button-add {
		width: 100%;
		font-size: 18px;
		padding: 10px;
	}

	.link-button-add img {
		width: 20px;
		height: auto;
	}

	.app_padding {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.w-350,
	.w-420,
	.w-480,
	.w-570,
	.w-580,
	.w-670,
	.w-1100 {
		width: auto;
	}

	.pt-30 {
		padding-top: 15px !important;
	}

	.pt-0-sp {
		padding-top: 0 !important;
	}

	.mt-0-sp {
		margin-top: 0 !important;
	}

	.mt-30-sp {
		margin-top: 15px;
	}

	.mt-50-sp {
		margin-top: 25px !important;
	}

	.mlr-0-sp {
		margin-left: 0;
		margin-right: 0;
	}

	.mlr-30-sp {
		margin-left: 15px;
		margin-right: 15px;
	}

	.mlr-60-sp {
		margin-left: 30px;
		margin-right: 30px;
	}

	.mlr-80-sp {
		margin-left: 40px;
		margin-right: 40px;
	}

	#page-gigazou .pb-70-sp {
		padding-bottom: 35px !important;
	}

	.hide-sp-inline {
		display: none !important;
	}
}

.inline-block {
	display: inline-block;
}

.text-center {
	text-align: center;
}

.flex-justify-center {
	justify-content: center;
}

.w-450 {
	width: 450px;
}

.note-14px {
	font-size: 14px;
	line-height: 2.25;
}

.blue_button {
	width: 437px;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #00a0e9;
	padding: 22px 0;
	position: relative;
}

.blue_button::after {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	background-image: url(/assets/img/service/blue_button_blank.png);
	position: relative;
	top: 2px;
	right: 0;
	margin-left: 15px;
}

.line_area {
	border: 7px solid #f3f3f3;
	padding: 25px 60px 30px;
}

.line_title {
	font-size: 22px;
	font-weight: bold;
}

.line_text {
	font-size: 16px;
	margin-bottom: 35px;
}

@media only screen and (max-width: 767px) {

	.w-450 {
		width: auto;
	}

	.w-170-sp {
		width: 170px;
	}

	.leading-1_7-sp {
		line-height: 1.7 !important;
	}

	.px-30-sp {
		padding-left: 15px;
		padding-right: 15px;
	}

	.note-14px {
		font-size: 10px;
		line-height: 1.7;
	}

	.blue_button {
		width: 100%;
		font-size: 18px;
		padding: 19px 0;
	}

	.blue_button::after {
		width: 20px;
		height: 20px;
		margin-left: 10px;
		background-size: contain;
	}

	.line_area {
		border: 4px solid #f3f3f3;
		padding: 15px 15px 20px;
	}

	.line_title {
		font-size: 16px;
		font-weight: bold;
	}

	.line_text {
		font-size: 13px;
		margin-bottom: 25px;
		text-align: left;
		line-height: 1.7;
	}
}

.shop__attention {
	width: calc(100% - 40px);
	max-width: 900px;
	padding: 20px 0 0;
	text-align: center;
	background-color: #fff4f6;
	border: #d00f31 solid 1px;
	margin: 30px auto 30px;
	position: relative;
	cursor: pointer;
	transition: opacity .3s ease;
}

.shop__attention:not(.is-open):hover,
.shop__attention-title:hover,
.shop__attention.is-open:hover::before {
	opacity: 0.7;
}

.shop__attention::before, .shop__attention::after {
	content: '';
	display: block;
	position: absolute;
	top: 22px;
	right: 15px;
	opacity: 0;
	width: 20px;
	height: 20px;
}

.shop__attention::before {
	opacity: 0;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2220%22%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m19.997%202.24-2.242-2.242-7.757%207.76-7.759-7.76-2.242%202.242%207.759%207.758-7.759%207.758%202.242%202.242%207.759-7.759%207.757%207.759%202.242-2.242-7.759-7.758z%22%20fill%3D%22%23333%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / contain;
}

.shop__attention::after {
	transition: opacity .3s ease;
	opacity: 1;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2213%22%20width%3D%2221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m8.491%2011.396c-2.38-2.267-4.761-4.535-7.143-6.801-2.3-2.191%201.24-5.605%203.538-3.416%201.802%201.715%203.604%203.431%205.406%205.146%201.885-1.73%203.77-3.462%205.656-5.193%202.334-2.146%205.879%201.265%203.537%203.415-2.485%202.283-4.969%204.566-7.456%206.849-.991.913-2.55.94-3.538%200z%22%20fill%3D%22%23d00f31%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / contain;
}

.shop__attention.is-open::before {
	opacity: 1;
}

.shop__attention.is-open::after {
	opacity: 0;
}

.shop__attention-title {
	font-size: 20px;
	font-weight: bold;
	color: #d00f31;
	margin: 0 auto;
	padding-left: 35px;
	padding-bottom: 20px;
	line-height: 1.25;
	transition: opacity .3s ease;
}

.shop__attention-text {
	margin: 1.5em -2px -2px;
	padding: 0 1.5em 1.5em;
	text-align: left;
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 2;
	font-weight: 500;
	display: none;
	cursor: initial;
}

@media only screen and (max-width: 767px) {
	.shop__attention {
		padding: 15px 0;
	}

	.shop__attention-title {
		font-size: min(3.5vw, 12px);
		padding-left: 22px;
		padding-right: 8px;
		padding-bottom: 0;
	}

	.shop__attention-text {
		font-size: 10px;
		margin: 15px -2px -5px;
		padding: 0 15px 15px;
	}

	.shop__attention::before, .shop__attention::after {
		width: 15px;
		height: 15px;
		top: 15px;
		right: min(2vw, 25px);
	}
}
