/***************************
 *
 * トップページ
 * ★ページ中身用★
 *
 **************************/

section {
	position: relative;
}
p.notice {
	font-size: 1.6rem;
	line-height: 1.5em;
	color: #888888;
}
p.notice a {
	color: #888888;
	text-decoration: underline;
}
p.notice a:hover {
	text-decoration: none;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
/*
MAIN VISUAL
*/
.main-visual {
	position: relative;
	overflow: hidden;
	background: #ff4500;
	padding-top: 20px;
}
.main-visual .main-visual-title {
	position: relative;
}
.main-visual p {
	display: none;
}
.main-visual img {
	filter: drop-shadow(0px 10px 15px rgba(0, 0, 0, 0.5));
}

/*
	MAIN NOW
	*/
.main-now {
	padding-top: 20px;
	padding-bottom: 20px;
}
.main-now .main-now-title {
	margin-bottom: 20px;
}
/*
	MAIN WEB3
	*/
.main-web3 {
	background: white;
	padding-top: 40px;
}
.main-web3 .box-content {
	padding-bottom: 40px;
}
.main-web3 .box-content .mov iframe {
	width: 100%;
}
.main-web3 .main-web3-title {
	color: #000;
	text-align: center;
	font-weight: bold;
	font-size: 2.5rem;
	line-height: 1.5em;
	margin-bottom: 30px;
	margin-top: 30px;
}
.main-web3 .main-web3-title:before {
	content: "";
	display: block;
	background: url(../img/logo-b.png) center center no-repeat;
	background-size: contain;
	width: 280px;
	height: 121px;
	margin: 0 auto 30px;
}
.main-web3 p {
	color: #222222;
	font-size: 1.5rem;
	line-height: 1.7777777778em;
	margin-bottom: 30px;
	text-align: left;
}
.box-char {
	position: relative;
	background: url(../img/box-char.jpg) center center no-repeat;
	background-size: cover;
	padding: 20px 20px 30px;
}
.box-char .char-title {
	text-align: center;
	font-weight: bold;
	font-size: 2.7rem;
	margin-bottom: 20px;
}
.box-char .char-inner {
	background: rgba(255, 255, 255, 0.9);
	padding: 25px;
}
.box-char .char-inner p {
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.3077em;
	font-weight: bold;
}
.title-2 {
	text-align: center;
	font-weight: bold;
	font-size: 3.6rem;
	color: #000000;
	margin-bottom: 5px;
	margin-top: 70px;
	position: relative;
}
.title-2-caption {
	text-align: center;
	font-size: 1.8rem;
	color: #ff4500;
	margin-bottom: 45px;
	position: relative;
}
.title-3 {
	font-size: 2.6rem;
	color: #000000;
	font-weight: bold;
	margin: 60px auto 40px;
}
/*
	MAIN PLAN
	*/
.main-plan {
	padding-top: 1px;
	position: relative;
}
.main-plan:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -10px;
	margin-left: -79px;
	background: url(../img/main-plan-stick.png) center top no-repeat;
	background-size: contain;
	width: 158px;
	height: 204px;
	transform: scale(0.7);
	transform-origin: center center;
}
.list-tab {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	position: relative;
}
.list-tab > li {
}
.list-tab > li > a {
	display: block;
	text-align: center;
	color: #bdbdbd;
	font-size: 3rem;
	background: #000000;
	line-height: 90px;
}
.list-tab > li > a:before {
	content: "";
	display: inline-block;
	background: url(../img/tab-1.png) center center no-repeat;
	background-size: contain;
	width: 43px;
	height: 53px;
	margin-right: 10px;
	vertical-align: middle;
	position: relative;
	top: -3px;
}
.list-tab > li:nth-child(2) > a:before {
	content: "";
	display: inline-block;
	background: url(../img/tab-2.png) center center no-repeat;
	background-size: contain;
	width: 60px;
	height: 38px;
}
.list-tab > li.is-active:nth-child(1) > a:before {
	background: url(../img/tab-1-active.png) center center no-repeat;
	background-size: contain;
}
.list-tab > li.is-active:nth-child(2) > a:before {
	background: url(../img/tab-2-active.png) center center no-repeat;
	background-size: contain;
}
.list-tab > li.is-active > a {
	background: linear-gradient(to bottom, #ff8a00 0%, #f60100 100%);
	color: white;
}
.tabs {
	position: relative;
}
.tabs .tab {
	opacity: 0;
	display: none;
}
.tabs .tab.is-active {
	display: block;
	opacity: 1;
	animation-duration: 0.5s;
	animation-name: fade-in;
}
.main-plan .pic-sim {
	width: 132px;
	margin: 100px auto 45px;
}
.main-plan .pic-sim + p.center {
	font-size: 1.8rem;
	line-height: 1.8em;
}
.btn-check {
	max-width: 400px;
	margin: 45px auto;
}
.btn-check > a {
	display: block;
	text-align: left;
	background: #f7f7f7;
	font-size: 2.4rem;
	color: #000000;
	line-height: 70px;
	padding: 0 30px;
	font-weight: 500;
	position: relative;
	transition: 0.3s ease;
}
.btn-check > a:after {
	content: "";
	display: block;
	background: url(../img/ic-pdf.png) center center no-repeat;
	background-size: contain;
	width: 30px;
	height: 31px;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -15px;
}
.btn-check > a:hover {
	opacity: 0.7;
}
.dl-plan {
	border: 4px solid #eeeeee;
	padding: 20px 20px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
}
.dl-plan dt {
	font-size: 2.2rem;
	color: #000000;
	font-weight: bold;
	width: 20%;

	box-sizing: border-box;
	border-bottom: 1px solid #eeeeee;
	padding: 10px 0;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.dl-plan dt .num {
	font-size: 2.8rem;
}
.dl-plan dd {
	padding: 10px 0;
	width: 78%;
	text-align: left;
	box-sizing: border-box;
	padding-left: 7%;
	border-bottom: 1px solid #eeeeee;
	font-size: 2.2rem;
	color: #ff4500;
	font-weight: bold;
}
.dl-plan dd .num {
	font-size: 2.8rem;
}
.dl-plan dd .small {
	font-size: 1.5rem;
	color: #000000;
	font-weight: normal;
}
.dl-plan dd .small-2 {
	font-size: 1.7rem;
	color: #000000;
	font-weight: normal;
	display: block;
	text-align: left;
}
.dl-plan + p.notice {
	margin-bottom: 70px;
}
/*
	MAIN DOC
	*/
.main-doc {
	background: #f7f7f7;
	padding-top: 55px;
	padding-bottom: 50px;
	margin-top: 80px;
}
.main-doc .main-doc-title {
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5em;
}
.main-doc .main-doc-pic {
	margin: 60px 20px;
}
.box-mvno {
	position: relative;
	display: flex;
	align-items: center;
	background: #fff;

	padding: 21px;
	margin-bottom: 30px;
}
.box-mvno img {
	width: 80px;
	margin-right: 25px;
}
.box-mvno p {
	line-height: 1.8em;
}
.main-doc-area {
	text-align: center;
	margin-bottom: 45px;
}
.main-doc-area a {
	font-size: 1.8rem;
	color: #000000;
	text-decoration: underline;
}
.main-doc-area a:hover {
	text-decoration: none;
}
.main-doc-area .ic-blank {
	display: inline-block;
	background: url(../img/ic-blank.png) center center no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	position: relative;
	top: -2px;
	margin-left: 5px;
}
.main-doc .btn-red {
	margin: 0 auto;
}
/*
	MAIN OFFER
	*/
.main-offer {
	padding-top: 1px;
	position: relative;
}
.main-offer:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -10px;
	margin-left: -79px;
	background: url(../img/main-plan-stick.png) center top no-repeat;
	background-size: contain;
	width: 158px;
	height: 204px;
	transform: scale(0.7);
	transform-origin: center center;
}
.main-offer p.main-offer-plus {
	text-align: center;
	font-size: 2.4rem;
	color: #000000;
	font-weight: bold;
	margin-top: 35px;
	margin-bottom: 40px;
}
.main-offer p.main-offer-plus .small {
	font-size: 2rem;
}
.main-offer p.main-offer-plus .red {
	font-size: 4rem;
	font-weight: bold;
}
.box-bnf {
	position: relative;
	border: 4px solid #eeeeee;
	box-sizing: border-box;
	margin-bottom: 25px;
	text-align: center;
	padding: 20px;
}
.box-bnf .bnf-tag {
	display: inline-block;
	font-size: 2rem;
	color: #fff;
	background: #222;
	padding: 2px 8px;
	font-weight: 500;
	margin-top: -20px;
	margin-bottom: -20px;
	position: relative;
	top: -28px;
}
.box-bnf .bnf-pic {
	margin: 30px auto 15px;
}
.box-bnf .bnf-title {
	position: relative;
	margin-top: -10px;
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.1739130435em;
}
.box-bnf .bnf-content .bnf-title .red {
	position: relative;
}
.box-bnf p {
	text-align: left;
}

.box-option-wrap {
	margin: 40px auto;
	border-bottom: 4px solid #eeeeee;
}
.box-option {
	border: 4px solid #eeeeee;
	border-bottom: none;
	padding: 15px;
}
.box-option .option-title {
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	color: #000000;
	margin-bottom: 5px;
}
.box-option p.center {
	font-size: 1.8rem;
	margin-bottom: 5px;
}
.box-option .option-price {
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
}
.box-option .option-price .red {
	font-size: 2.4rem;
}
.box-option .option-price .red.num {
	font-size: 3.2rem;
	font-weight: 800;
}
.box-option .option-price-2 {
	font-size: 1.5rem;
	text-align: center;
}
.box-option-wrap + p.notice {
	position: relative;
	margin-top: -20px;
	margin-bottom: 60px;
}
.title-3 + p.center {
	line-height: 1.8em;
}

/*
MAIN ADD
*/
.main-add {
	padding-top: 30px;
	position: relative;
	margin-top: 80px;
}
.main-add:before {
	content: "";
	display: block;
	position: absolute;
	right: 0px;
	top: 0;
	background: url(../img/main-plan-stick.jpg) center center no-repeat;
	background-size: 100% 220px;
	width: 100%;
	height: 220px;
}
.add-pr-2 {
	margin-bottom: 29px;
	position: relative;
}
.add-pr {
	margin-bottom: 45px;
}
.add-pr .add-pr-up {
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.5em;
	margin-bottom: 0;
	position: relative;
	margin-bottom: -15px;
}
.add-pr .add-pr-center {
	text-align: center;
	font-size: 5rem;
}

.add-pr .add-pr-price {
	font-size: 2rem;
	text-align: center;
}
.add-pr .add-pr-price .red {
	text-align: center;
	font-weight: bold;
}
.add-pr .add-pr-price .red .num {
	text-align: center;
	font-size: 1.2em;
}
.add-pr .add-pr-etc {
	text-align: center;
	font-size: 1.5rem;
}
.list-etc {
	margin-bottom: 30px;
}
.list-etc > li {
	position: relative;
	padding: 30px 20px;
	padding-left: 71px;
	padding-right: 0;
	border-bottom: 1px solid #eeeeee;
	font-size: 1.5rem;
	font-weight: 500;
}
.list-etc > li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -36.5px;
	background: url(../img/box-hako.png) 0 0 no-repeat;
	background-size: contain;
	width: 69px;
	height: 73px;
	transform: scale(0.7);
}
.box-add {
	position: relative;
	border: 4px solid #f9f1d4;
	box-sizing: border-box;
	margin-bottom: 20px;
	padding: 20px 20px;
	background: url(../img/bnf-bg-col.png) right center no-repeat;
	background-size: 193.5px 190.5px;
}
.box-add .add-tag {
	font-size: 2rem;
	position: absolute;
	left: 0;
	top: 0;
	color: #000000;
	display: inline-block;
	background: #e3cf8a;
	font-weight: 500;
	padding: 2px 10px;
}
.box-add .add-title {
	text-align: left;
	font-size: 2.2rem;
	margin-top: 30px;
	line-height: 1.2778em;
}
.box-add .add-pic {
	width: 100px;
	position: absolute;
	right: 20px;
	top: 15px;
}
p.sarani {
	text-align: center;
	font-weight: bold;
	font-size: 2.4rem;
	margin: 40px auto 20px;
}
p.sarani .red {
	font-size: 4rem;
	font-weight: bold;
}
.sarani-plus {
	margin-bottom: 25px;
}
/*
	MAIN FLOW
	*/
.main-flow {
	background: #f7f7f7;
	padding-top: 1px;
	margin-top: 100px;
	padding-bottom: 60px;
}
.main-flow:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -10px;
	margin-left: -79px;
	background: url(../img/main-plan-stick.png) center top no-repeat;
	background-size: contain;
	width: 158px;
	height: 204px;
	transform: scale(0.7);
	transform-origin: center center;
}

.list-flow {
}
.list-flow > li {
	background: #fff;
	position: relative;
	margin-bottom: 10px;
	padding-bottom: 1px;
}
.list-flow > li:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 100%;
	background: url(../img/flow.png) center top no-repeat;
	background-size: contain;
	width: 80px;
	height: 30px;
	margin-left: -40px;
	z-index: 3;
}
.list-flow > li:last-child:after {
	content: none;
}
.list-flow .flow-content {
	padding: 20px 20px;
	position: relative;
}
.list-flow .flow-content p.flow-title {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0;
}
.list-flow .flow-content p.flow-title .num {
	font-size: 3rem;
	color: #ff4500;
	font-weight: bold;
	vertical-align: middle;
	position: relative;
	top: -5px;
	margin-right: 10px;
}
.list-flow .flow-content img {
	position: absolute;
	right: 20px;
	top: 50%;
	width: 50px;
	margin-top: -25px;
}
.list-flow .btn-red {
	margin: 0 auto 29px;
}
.main-flow p.right.notice {
	margin-top: 20px;
	font-size: 1.4rem;
}

/*
	MAIN QNA
	*/
.main-qna {
	padding-top: 1px;
}
.main-qna:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -10px;
	margin-left: -79px;
	background: url(../img/main-plan-stick.png) center top no-repeat;
	background-size: contain;
	width: 158px;
	height: 204px;
	transform: scale(0.7);
	transform-origin: center center;
}
.list-qna {
	margin-bottom: 30px;
}
.list-qna > li {
	position: relative;
	margin-bottom: 20px;
}
.list-qna .q {
	font-size: 2rem;
	color: #000000;
	position: relative;
	background: #f7f7f7;
	padding: 20px;
	padding-left: 60px;
	padding-right: 40px;
}
.list-qna .q:before {
	content: "";
	display: block;
	position: absolute;
	left: 20px;
	top: 20px;
	background: url(../img/q.png) 0 0 no-repeat;
	background-size: contain;
	width: 36.5px;
	height: 40px;
	transform: scale(0.7);
	transform-origin: left top;
}
.list-qna .q:after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	background: url(../img/plus.png) 0 0 no-repeat;
	background-size: contain;
	width: 22px;
	height: 22px;
	margin-top: -11px;
}
.list-qna .q.is-active:after {
	background: url(../img/minus.png) 0 0 no-repeat;
	background-size: contain;
}
.list-qna .a {
	padding: 15px 0;
	display: none;
}
.list-qna .a p {
	line-height: 2em;
}
.list-qna + .links a {
	font-size: 2rem;
}
/*
	MAIN SUPPORT
	*/
.main-sup {
	background: url(../img/main-sup-bg.jpg) center center no-repeat;
	background-size: cover;
	padding-top: 1px;
	margin-top: 100px;
	padding-bottom: 60px;
	border-top: 4px solid #ac2807;
}

.main-sup .main-sup-pic {
	width: 140px;
	margin: 0 auto 45px;
}
.main-sup .main-sup-pic + p.center {
	font-size: 2rem;
	line-height: 1.8em;
	margin-bottom: 60px;
}
.box-sup {
	border: 4px solid #f9f1d4;
	background: #fff;
	padding: 35px 25px 25px;
	margin-bottom: 20px;
}
.box-sup > img {
	max-width: 328px;
	width: 100%;
	margin: 0 auto;
	display: block;
}
.box-sup .sup-title {
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 15px;
	margin-top: 15px;
}
.box-sup p {
	text-align: center;

	line-height: 1.888em;
}
.main-sup .btn-red {
	margin-top: 40px;
	width: 100%;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

/*
	MAIN LINKS
	*/
.main-links {
	background: #fff;
	padding: 60px 0;
}
.links {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 20px;
}
.links a {
	display: block;
	position: relative;
	background: #f7f7f7;
	display: block;
	text-align: left;
	background: #f7f7f7;
	font-size: 2.4rem;
	color: #000000;
	line-height: 70px;
	padding: 0 30px;
	font-weight: 500;
	position: relative;
	transition: 0.3s ease;
	max-width: 400px;
	margin: 0 auto;
	width: 100%;
}
.links .ic-pdf {
	display: block;
	background: url(../img/ic-pdf.png) center center no-repeat;
	background-size: contain;
	width: 26px;
	height: 26px;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -13px;
}
.links .ic-blank {
	display: block;
	background: url(../img/ic-blank.png) center center no-repeat;
	background-size: contain;
	width: 26px;
	height: 26px;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -13px;
}
.links a:hover {
	opacity: 0.7;
}

/*
	WIFI
	*/
.pic-wifi {
	max-width: 413px;
	width: 100%;
	margin: 70px auto 45px;
}
.pic-wifi + p.center {
	font-size: 2rem;
	line-height: 1.8em;
	text-align: center;
}
.box-option-wrap + p.notice {
	font-size: 1.4rem;
}
/*
	MAIN AREA
	*/
.main-area {
	background: #f7f7f7;
	padding-top: 1px;
	margin-top: 60px;
	padding-bottom: 65px;
}
.main-area .main-area-pic {
	max-width: 312px;
	width: 100%;
	margin: 0 auto 35px;
}
.main-area p.center {
	font-size: 1.9rem;
	text-align: center;
	line-height: 2.3em;
	margin-bottom: 35px;
}
.main-area p.notice {
	font-size: 1.4rem;
}
/*
	MAIN CON
	*/
.main-con {
	padding-bottom: 60px;
	margin-top: 40px;
}
.box-con {
	border: 4px solid #eeeeee;
	box-sizing: border-box;
	padding: 25px 0;
}
.box-con .main-con-title {
	text-align: center;
	font-weight: bold;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.box-con img {
	max-width: 168px;
	width: 100%;
	margin: 0 auto 20px;
	display: block;
}
.box-con p.center {
	font-size: 2rem;
}
.main-con .title-4 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 40px;
}
.main-con .title-4 .red.big {
	font-size: 4rem;
	font-weight: bold;
}
/*
	MAIN WORLD
	*/
.main-world {
	background: #f7f7f7;
	padding-top: 60px;
	padding-bottom: 25px;
}
.main-world .main-world-title {
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5em;
	margin-bottom: 30px;
}
.main-world .main-world-map {
	background: url(../img/main-world-map.png) center center no-repeat;
	background-size: contain;
	height: 0;
	padding-top: 70%;
	position: relative;
	margin-bottom: 25px;
}
.main-world .main-world-map p {
	background: #fff;
	font-size: 3rem;
	font-weight: bold;
	padding: 5px 20px;
	width: 300px;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, -0%);
	border: 4px solid #eeeeee;
}
.main-world .main-world-map p .num {
	font-weight: bold;
	font-size: 4rem;
}
.main-world .main-world-about {
	text-align: center;
	margin-bottom: 30px;
}
.main-world .main-world-about a {
	text-decoration: underline;
	font-size: 1.8rem;
	color: #000000;
}
.main-world .main-world-about a:hover {
	text-decoration: none;
}
.main-world .main-world-target {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
	margin-bottom: 20px;
}
.main-world p.notice {
	font-size: 1.4rem;
}
.box-option hr {
	background: none;
	border: none;
	border-top: 1px solid #eeeeee;
	margin: 25px auto;
}
.box-option .option-etc {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.box-option .option-etc .ic-etc-1 {
	display: inline-block;
	background: url(../img/ic-etc-1.png) center center no-repeat;
	background-size: contain;
	width: 30px;
	height: 30px;
	vertical-align: middle;
	margin-right: 5px;
	position: relative;
	top: -3px;
}
.box-option .option-etc .ic-etc-2 {
	display: inline-block;
	background: url(../img/ic-etc-2.png) center center no-repeat;
	background-size: contain;
	width: 30px;
	height: 30px;
	vertical-align: middle;
	margin-right: 5px;
	position: relative;
	top: -3px;
}
.box-option .option-sp {
	text-align: center;
	font-weight: bold;
	background: #f7f7f7;
	font-size: 2rem;
	padding: 15px 0;
	margin-top: 20px;
}
.main-op .notice {
	font-size: 1.4rem;
	margin-bottom: 30px;
}
.main-op .btn-red {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
.main-op .main-op-etcs {
	display: none;
}
.main-offer p.notice {
	font-size: 1.4rem;
}
.main-offer .btn-red {
	width: 100%;
	max-width: 400px;
	margin: 50px auto 70px;
}
.main-option {
	position: relative;
	padding-top: 1px;
}
.main-option:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -10px;
	margin-left: -79px;
	background: url(../img/main-plan-stick.png) center top no-repeat;
	background-size: contain;
	width: 158px;
	height: 204px;
	transform: scale(0.7);
	transform-origin: center center;
}
.main-option .title-3 {
	margin: 20px auto;
}
