@font-face {
	font-family: 'Oswald';
	src: url('../font/Oswald-Regular.ttf') format('truetype');
}

main {
	padding-bottom: 0;
}

.margin-cetner {
	margin-left: auto;
	margin-right: auto;
}

.gigazo__prepaidpack {
	text-align: center;
	padding: 0 15px;
	margin: 60px 0 0;
}

.gigazo__prepaidpack img {
	margin: 0 auto;
	transition: opacity .3s ease;
}

.gigazo__prepaidpack img:hover {
	opacity: 0.7;
}

.gigazo__prepaidpack h3 {
	font-size: 30px;
	font-style: italic;
	margin: 0 auto 30px;
}

@media only screen and (max-width: 1099px) {
	.gigazo__prepaidpack {
		padding: 0;
		margin: 35px 0 0;
	}

	.gigazo__prepaidpack h3 {
		width: 253px;
		font-size: 22px;
	}

	.top-style__list {
		margin-bottom: 0;
	}
}

.top-news {
	width: 900px;
	margin: 20px auto 25px auto;
	background-color: #fff;
	font-size: 15px;
	padding: 13px 35px;
}

.top-news__important {
	width: 153px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1.2px;
	white-space: nowrap;
	border-right: 1px dotted #adadad;
}

.top-news__flex {
	display: flex;
	margin-bottom: 15px;
}

.top-news__date {
	color: #adadad;
	margin-right: 20px;
	font-size: 14px;
	font-weight: bold;
}

.top-news__link {
	padding: 4px 0 4px 30px;
}

.top-news__link a {
	color: #d00e31;
	text-decoration: underline;
}

.top-news__link .top-news__flex:last-child {
	margin-bottom: 0;
}

.top-news__icon {
	display: inline-block;
	width: 15px;
	height: 15px;
	vertical-align: -2px;
}

a.external_link:after {
	content: '';
	display: inline-block;
	vertical-align: 0;
	width: 11px;
	height: 11px;
	background: url(../img/common/ico_blank_red.svg) center center no-repeat;
	background-size: contain;
	margin-left: 3px;
}

.gigapita-margin-center img {
	margin-left: auto;
	margin-right: auto;
}

.gigapita-note {
	width: 910px;
	margin-left: auto;
	margin-right: auto;
	text-align: right;
	font-size: 12px;
}

.gigapita-button {
	max-width: 490px;
}

.gigapita-button a {
	padding: 14px 45px 14px 20px;
}

.gigapita-border {
	border-bottom: 1px #999 dotted;
}

.gigapita-phrase {
	text-align: center;
	font-size: 24px;
}

.top-style-item__title {
	text-align: center;
	display: block;
}

.top-nav-item__header {
	padding: 17px 0 13px;
}

.top-nav-item__title::before {
	height: 46px;
	margin: 0 auto 15px;
}

.button--instyle::after {
	border: none;
	background: linear-gradient(to bottom, #8c8c8c 0%, #8c8c8c 25%, transparent 25%, transparent 100%);
	background-repeat: repeat-y;
	background-size: 1px 3px;
	background-position: left 2px;
}

.top-banner__sub {
	font-size: 24px;
	text-align: center;
}

.w-1100 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.top_gigaplan_flex {
	display: flex;
	justify-content: space-between;
}

/* 赤と黄色のボタン */
.button_flex {
	display: flex;
	justify-content: center;
}

.button_red,
.button_yellow {
	width: 410px;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.button_red {
	line-height: 81px;
}

.button_yellow {
	line-height: 79px;
	border: 1px solid #8c8c8c;
}

.button_red a {
	display: block;
	color: #fff;
	background-color: #d00f31;
}

.button_yellow a {
	display: block;
	color: #d00f31;
	background-color: #ffe032;
	position: relative;
}

.button_yellow a::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 55px;
	height: 55px;
	background-image: url(../img/common/ico_sim.svg);
	background-size: contain;
	vertical-align: middle;
	left: 23px;
	top: 18px;
}

.button_red a p,
.button_yellow a p {
	position: relative;
}

.button_red a p::before,
.button_yellow a p::before {
	position: absolute;
	content: '';
	width: 2px;
	height: 60px;
	display: inline-block;
	top: 9px;
	right: 37px;
}

.button_red a p::before {
	background: linear-gradient(to bottom, #fff 0%, #fff 25%, transparent 25%, transparent 100%);
	background-repeat: repeat-y;
	background-size: 2px 8px;
}

.button_yellow a p::before {
	background: linear-gradient(to bottom, #8c8c8c 0%, #8c8c8c 25%, transparent 25%, transparent 100%);
	background-repeat: repeat-y;
	background-size: 2px 8px;
}

.button_red a p::after,
.button_yellow a p::after {
	content: '';
	display: block;
	position: absolute;
	right: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
}

.button_red a p::after {
	border-color: transparent transparent transparent #fff;
}

.button_yellow a p::after {
	border-color: transparent transparent transparent #d00f31;
}

/* 赤と黄色のボタン */

.top_campaign {
	background-color: #444;
	padding: 70px 0 55px;
}

.top_campaign .top-banner__title {
	background-color: #444;
	color: #fff;
}

.top_campaign .top-banner__header::before {
	background: #888;
}

.top_features_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.features_box {
	width: 355px;
	line-height: 30px;
}

.features_box img {
	margin: 0 auto 35px;
}

.features_box p {
	font-size: 16px;
	padding: 0 15px;
}

.features_box p span {
	color: #d00f31;
}

.margin-center {
	margin-left: auto;
	margin-right: auto;
}

.top_device {
	background-color: #f3f3f3;
	padding: 75px 0 80px;
}

.top_device .top-banner__title {
	background-color: #f3f3f3;
}

.top_device_text {
	text-align: center;
	font-size: 16px;
}

.top_transfer .features_box img {
	margin-bottom: 20px;
}

.top_transfer .features_box p span {
	display: inline-block;
	font-size: 14px;
	padding-top: 10px;
	line-height: 20px;
	color: #333;
}

.top_transfer .features_box p span a {
	color: #d00f31;
	text-decoration: underline;
}

.text-center {
	text-align: center;
}

.banner_button a {
	display: inline-block;
}

.device__list-box {
	margin: 0;
	/* 	max-height: 500px; */
	height: 100%;
	box-sizing: border-box;
	padding: 25px 25px 17px;
	box-shadow: 0 0 7px rgb(100 100 100 / 20%), 0 0 1px rgb(100 100 100 / 40%);
	cursor: pointer;
	background-color: #fff;
	border: 1px #eee solid;
	border-radius: 20px;
}

.device__item-new {
	width: 76px;
	height: 41px;
	position: absolute;
	left: 10px;
	top: 0;
}

.device__list-box__thumbnail-wrap {
	position: relative;
	text-align: center;
}

.device__list-box__thumbnail-wrap img {
	max-width: 215px;
	width: 75%;
	margin: 0 auto;
	height: auto;
	transition: 0.2s;
}

.device__item-color {
	position: absolute;
	right: 2%;
	bottom: 0;
}

.device__item-color span {
	margin-top: 8px;
	width: 22px;
	height: 22px;
	border: #dfdfdf solid 2px;
	display: block;
	border-radius: 50%;
}

.device__list-box__txtarea {
	text-align: center;
	position: relative;
}

.device__list-box__txt-manufacturer {
	letter-spacing: 0.08em;
	font-size: 20px;
	display: block;
	margin: 20px 0 0;
	font-weight: 500;
	line-height: 1.2;
	color: #333;
}

.device__list-box__txt-link {
	margin: 25px 0 0;
	letter-spacing: 0.08em;
	font-size: 22px;
	display: block;
	font-weight: 700;
	line-height: 1.2;
	color: #d00f31;
	text-align: left;
}

.device__list-box__type-wrap {
	margin: 15px 0 0;
	display: block;
	white-space: nowrap;
}

.device__list-box__type-wrap span {
	margin: 4px;
	padding: 4px 8px;
	font-size: 1.6rem;
	min-width: 4.8em;
}

.device__list-box__type-wrap span {
	display: inline-block;
	border-radius: 3px;
	border: #8c8c8c solid 1px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	color: #8c8c8c;
	background: #fff;
}

.adjust_margin {
	margin-bottom: 26px;
}

@media only screen and (max-width: 1099px) {
	.gigapita-note {
		width: 100%;
		text-align: left;
		font-size: 10px;
	}

	.gigapita-phrase {
		font-size: 15px;
	}

	.gigapita-button a {
		padding: 20px 45px 20px 20px;
	}

	.gigapita-button span {
		font-size: 14px;
	}

	.gigapita-right {
		text-align: right;
	}
}

#slide-top .swiper-button-prev:after, #slide-top .swiper-container-rtl .swiper-button-next:after,
#slide-top .swiper-button-next:after, #slide-top .swiper-container-rtl .swiper-button-prev:after,
#slide-middle .swiper-button-prev:after, #slide-middle .swiper-container-rtl .swiper-button-next:after,
#slide-middle .swiper-button-next:after, #slide-middle .swiper-container-rtl .swiper-button-prev:after,
#slide-bottom .swiper-button-prev:after, #slide-bottom .swiper-container-rtl .swiper-button-next:after,
#slide-bottom .swiper-button-next:after, #slide-bottom .swiper-container-rtl .swiper-button-prev:after {
	display: none;
}

#slide-top .swiper-slide img,
#slide-middle .swiper-slide img,
#slide-bottom .swiper-slide img {
	transition: opacity .3s ease;
}

#slide-top .swiper-slide img:hover,
#slide-middle .swiper-slide img:hover,
#slide-bottom .swiper-slide img:hover {
	opacity: 0.7;
}

#slide-top .swiper-buttons,
#slide-middle .swiper-buttons,
#slide-bottom .swiper-buttons {
	text-align: center;
	position: relative;
	margin-top: 30px;
}

#slide-top .swiper-buttons,
#slide-bottom .swiper-buttons {
	margin-top: 52px;
}

#slide-top .swiper-button-prev,
#slide-middle .swiper-button-prev,
#slide-bottom .swiper-button-prev {
	margin-right: 1050px;
	display: inline-block;
	top: auto;
	left: auto;
	right: auto;
	position: relative;
	width: 54px;
	height: 54px;
	z-index: 100;
	background-size: contain;
	background-image: url(/assets/img/top/swipe-left.png);
}

#slide-top .swiper-button-prev,
#slide-bottom .swiper-button-prev {
	background-image: url(/assets/img/top/slider-arrow.png);
}

#slide-top .swiper-button-next,
#slide-middle .swiper-button-next,
#slide-bottom .swiper-button-next {
	display: inline-block;
	top: auto;
	left: auto;
	right: auto;
	position: relative;
	width: 54px;
	height: 54px;
	z-index: 100;
	background-size: contain;
	background-image: url(/assets/img/top/swipe-right.png);
}

#slide-top .swiper-button-next,
#slide-bottom .swiper-button-next {
	background-image: url(/assets/img/top/slider-arrow.png);
	transform: rotate(180deg)
}

#slide-top.swiper-container,
#slide-middle.swiper-container,
#slide-bottom.swiper-container {
	min-width: 1100px;
}

#slide-middle .swiper-slide {
	width: 350px;
}

#slide-top .swiper-slide,
#slide-bottom .swiper-slide {
	width: 350px;
	height: auto;
	box-shadow: 0 5px 7px rgb(100 100 100 / 20%), 0 0 1px rgb(100 100 100 / 40%);
	border-radius: 40px;
}

#slide-top .swiper-pagination-bullet,
#slide-middle .swiper-pagination-bullet,
#slide-bottom .swiper-pagination-bullet {
	z-index: 10;
	position: relative;
	background-color: #fff;
	opacity: 1;
	width: 30px;
	height: 5px;
	border-radius: 0;
	margin: 0 10px !important;
}

#slide-top .swiper-pagination-bullet,
#slide-bottom .swiper-pagination-bullet {
	background-color: #8c8c8c;
	margin: 0 15px !important;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}

#slide-top .swiper-pagination-bullet-active,
#slide-middle .swiper-pagination-bullet-active,
#slide-bottom .swiper-pagination-bullet-active {
	background-color: #d00f31;
}

#slide-top .swiper-shade,
#slide-middle .swiper-shade,
#slide-bottom .swiper-shade {
	height: 350px;
	width: 100px;
	background-color: #fff;
	opacity: 0.5;
	position: absolute;
	z-index: 2;
	margin-top: 10px;
}

#slide-bottom .swiper-shade {
	height: 507px;
}

#slide-top .swiper-shade-right,
#slide-middle .swiper-shade-right,
#slide-bottom .swiper-shade-right {
	right: 0;
	top: 0;
}

#slide-top .swiper-pagination-bullets,
#slide-middle .swiper-pagination-bullets,
#slide-bottom .swiper-pagination-bullets {
	bottom: 20px !important;
}

#slide-bottom .device__item-campaign {
	max-width: 210px;
	width: 210px;
	height: 41px;
	position: absolute;
	left: 10px;
	top: 0;
}

.adjustment_mb01 {
	margin-bottom: 63px;
}

.adjustment_mb02 {
	margin-bottom: 45px;
}

.adjustment_mb03 {
	margin-bottom: 53px;
}

.adjustment_mb04 {
	margin-bottom: 35px;
}

.adjustment_mb05 {
	margin-bottom: 75px;
}

.mt-0 {
	margin-top: 0;
}

.mt-60 {
	margin-top: 60px;
}

.cursor-normal {
	cursor: initial;
}

.features_button01,
.features_button02 {
	text-align: center;
}

.features_button01 a,
.features_button02 a {
	display: inline-block;
	width: 310px;
	border: 1px solid #8c8c8c;
	line-height: 44px;
	padding-left: 20px;
	color: #333;
	font-size: 15px;
	text-align: left;
	position: relative;
}

.features_button02 a {
	width: 260px;
}

.features_button01 a::after,
.features_button02 a::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 13px;
	background-image: url(../img/top/features_button_arrow.png);
	background-size: contain;
	vertical-align: middle;
	right: 10px;
	top: 14px;
}

.features_box a img {
	transition: opacity .3s ease;
}

.features_box a img:hover {
	opacity: 0.7;
}

@media only screen and (max-width: 1099px) {
	#slide-top .swiper-shade,
	#slide-middle .swiper-shade,
	#slide-bottom .swiper-shade {
		margin-top: 12px;
	}

	.top-news__important {
		display: block;
		font-size: 11px;
		width: 100%;
		white-space: nowrap;
		letter-spacing: 1px;
		padding: 0 0 0 5px;
		border-right: none;
		border-bottom: 1px dotted #adadad;
		line-height: 25px;
		margin-bottom: 7px;
	}

	.top-news {
		line-height: 20px;
		width: 100%;
		padding: 2px 10px 10px;
		margin-top: 0;
		margin-bottom: 0;
	}

	.top-news__flex {
		margin-bottom: 5px;
	}

	.top-news__date {
		margin-right: 15px;
		font-size: 10px;
	}

	.top-news__icon {
		width: 11px;
		height: 11px;
	}

	.top-news__link {
		display: block;
		width: 100%;
		font-size: 10px;
		padding: 0 5px;
	}

	.top-news__link a {
		line-height: 17px;
	}

	.top-nav {
		padding-bottom: 30px !important;
	}

	a.external_link:after {
		width: 9px;
		height: 9px;
		margin-left: 1px;
	}

	.top-nav-item__header {
		padding: 16px 0 7px;
	}

	.top-nav-item__title::before {
		height: 37px;
		margin: 0 auto 11px;
	}

	.button--instyle::after {
		border: none;
		background: linear-gradient(to bottom, #8c8c8c 0%, #8c8c8c 25%, transparent 25%, transparent 100%);
		background-repeat: repeat-y;
		background-size: 1px 3px;
		background-position: left 2px;
	}

	.top-nav-item__title {
		font-size: 0.9rem;
	}

	.top-nav__item {
		margin: 0;
	}

	.top-nav__item {
		width: calc(50% - 13px);
	}

	.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-80-sp {
		margin-left: 40px;
		margin-right: 40px;
	}

	.mr-20-sp {
		margin-right: 10px;
	}

	.top-banner__sub {
		font-size: 15px;
	}

	.w-1100 {
		width: auto
	}

	.top_gigaplan_flex {
		flex-direction: column;
	}

	.top-banner-sp {
		margin-top: 35px;
	}

	/* 赤と黄色のボタン */
	.button_flex {
		flex-direction: column;
	}

	.button_red,
	.button_yellow {
		width: 100%;
		font-size: 16px;
	}

	.button_red {
		line-height: 64px;
	}

	.button_yellow {
		line-height: 62px;
	}

	.button_yellow a::before {
		width: 47px;
		height: 34px;
		left: 17px;
		top: 15px;
	}

	.button_red a p::before,
	.button_yellow a p::before {
		width: 1px;
		height: 50px;
		top: 7px;
		right: 27px;
	}

	.button_red a p::before {
		background: linear-gradient(to bottom, #fff 0%, #fff 33.33333%, transparent 33.33333%, transparent 100%);
		background-size: 1px 3px;
	}

	.button_yellow a p::before {
		background: linear-gradient(to bottom, #8c8c8c 0%, #8c8c8c 33.33333%, transparent 33.33333%, transparent 100%);
		background-size: 1px 3px;
	}

	.button_red a p::after,
	.button_yellow a p::after {
		right: 10px;
		border-width: 5px 0 5px 8px;
	}

	/* 赤と黄色のボタン */
	.top_campaign {
		padding: 40px 0;
	}

	.top_features_flex {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.features_box {
		width: 100%;
		padding: 0 15px;
		position: relative;
	}

	.features_box::after {
		position: absolute;
		content: '';
		border-bottom: 1px dotted #c4c4c4;
		width: 100%;
		height: 1px;
		left: 0;
		bottom: -30px;
	}

	.hide-after {
		position: relative;
	}

	.hide-after::after {
		display: none;
	}

	.features_box img {
		margin: 0 auto 15px;
	}

	.features_box p {
		font-size: 13px;
		padding: 0;
	}

	.top_device {
		padding: 35px 0 10px;
	}

	.top_transfer .features_box {
		padding: 0 30px;
	}

	.top_transfer .features_box::after {
		width: calc(100% - 30px);
		left: 15px;
	}

	.top_transfer .features_box img {
		margin-bottom: 15px;
	}

	.top_transfer .features_box p span {
		font-size: 10px;
		padding-top: 10px;
	}

	.top-banner__sub {
		line-height: 28px;
	}

	.button_yellow a p {
		padding-left: 20px;
	}

	.features_box p {
		line-height: 24px;
	}

	.top-faq {
		padding-top: 40px;
	}

	#slide-top.swiper-container,
	#slide-middle.swiper-container,
	#slide-bottom.swiper-container {
		min-width: auto;
	}

	#slide-top .swiper-container,
	#slide-middle .swiper-container,
	#slide-bottom .swiper-container {
		padding: 0 50px;
		min-width: 100%;
		height: auto;
	}

	#slide-top .swiper-slide,
	#slide-middle .swiper-slide,
	#slide-bottom .swiper-slide {
		width: 275px;
	}

	#slide-top .swiper-pagination-bullet,
	#slide-middle .swiper-pagination-bullet,
	#slide-bottom .swiper-pagination-bullet {
		width: 13px;
		height: 4px;
		margin: 0 4px !important;
	}

	#slide-top .swiper-button-prev,
	#slide-top .swiper-button-next,
	#slide-middle .swiper-button-prev,
	#slide-middle .swiper-button-next,
	#slide-bottom .swiper-button-prev,
	#slide-bottom .swiper-button-next {
		width: 18px;
		height: 18px;
	}

	#slide-middle .swiper-shade {
		width: 50px;
		height: 275px;
	}

	#slide-bottom .swiper-shade {
		width: 40px;
		height: 410px;
	}

	#slide-top .swiper-shade-left,
	#slide-middle .swiper-shade-left {
		left: 0;
	}

	#slide-top .swiper-shade-left {
		left: -15px;
	}

	#slide-top .swiper-shade-right {
		right: -15px;
	}

	#slide-middle .swiper-buttons {
		margin-top: 40px;
	}

	#slide-top .swiper-buttons,
	#slide-bottom .swiper-buttons {
		white-space: nowrap;
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
	}

	#slide-top .swiper-button-prev,
	#slide-middle .swiper-button-prev,
	#slide-bottom .swiper-button-prev {
		margin-right: 0;
	}

	.device__list-box__txt-link {
		font-size: 18px;
		line-height: 26px;
	}

	.device__list-box__thumbnail-wrap img {
		width: 170px;
		height: 170px;
	}

	.device__item-new {
		width: 65px;
		height: 35px;
		left: 20px;
	}

	.device__item-color {
		bottom: 17px;
		right: -7px;
	}

	.device__item-color span {
		margin-top: 5px;
		margin-left: 15px;
		width: 20px;
		height: 20px;
		border: #dfdfdf solid 2px;
		display: block;
		border-radius: 50%;
	}

	.device__list-box {
		padding: 20px 25px 1px;
		height: 100%;
		box-sizing: border-box;
	}

	.device__list-box__txt-manufacturer {
		font-size: 18px;
		margin: 5px 0 0;
	}

	.device__list-box__txt-link {
		margin: 0;
	}

	.device__list-box__type-wrap {
		margin: 12px 0 0;
	}

	.device__list-box__type-wrap span {
		font-size: 12px;
		padding: 2px;
		border-radius: 1px;
	}

	#slide-top .swiper-wrapper,
	#slide-bottom .swiper-wrapper {
		margin-top: 2px;
	}

	#slide-bottom .device__item-campaign {
		left: 20px;
	}

	.adjustment_mb01 {
		margin-bottom: 33px;
	}

	.adjustment_mb01-sp {
		margin-bottom: 23px;
	}

	.features_button01 a,
	.features_button02 a {
		width: 265px;
		line-height: 35px;
		padding-left: 15px;
		font-size: 13px;
	}

	.features_button02 a {
		width: 220px;
	}

	.features_button01 a::after,
	.features_button02 a::after {
		top: 10px;
	}
}

.mil-embed-GUcxo2 {
	width: 860px !important;
	height: 500px !important;
}

@media only screen and (max-width: 1099px) {
	.mil-movie {
		padding: 0 20px;
	}

	.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: 1099px) {
	.movie_pop {
		width: 100%;
	}
}

.hide-pc {
	display: none !important;
}

@media only screen and (max-width: 1099px) {
	.hide-pc {
		display: block !important;
	}

	.hide-sp {
		display: none !important;
	}
}

.mv-top {
	background-image: url(../img/top/mv-bg.png);
	background-repeat: no-repeat;
	height: 530px;
	background-position: top center;
	position: relative;
}

.mv-cover {
	height: 530px;
}

.mv-text {
	margin: 35px auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.mv-button {
	position: absolute;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	text-align: center;
}

.mv-button a {
	display: inline-block;
	margin: 0 auto;
}

.area-x {
	padding-top: 30px;
}

.area-x-character {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 25px;
	position: relative;
}

.area-x-character::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
	-webkit-transform: translate(-100%, -50%);
	-ms-transform: translate(-100%, -50%);
	width: 95px;
	height: 118px;
	background-image: url(../img/top/img_simuma.png);
	background-size: contain;
	background-repeat: no-repeat;
}

.area-x-text {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 22px;
	line-height: 1;
}

.button-normal {
	display: inline-block;
	border: 2px solid #333;
	border-radius: 50px;
	text-align: center;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	color: #333;
	padding: 15px 0;
	width: 100%;
}

.button-normal::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 11px;
	height: 18px;
	background-image: url(../img/top/icon-button-normal.png);
	background-size: contain;
	background-repeat: no-repeat;
}

.area-x .button-normal {
	max-width: 348px;
}

.title-news {
	font-weight: bold;
	text-align: center;
	font-size: 26px;
	margin-top: 20px;
}

.title-news + .top-news {
	margin-top: 25px;
	font-size: 16px;
}

.top-news._radius {
	border-radius: 20px;
	padding: 0 30px;
}

.top-news._radius .top-news__date {
	font-size: 16px;
}

.top-news._radius .top-news__link {
	padding: 22px 0 !important;
	border-top: 1px solid #c4c4c4;
}

.top-news._radius tr:first-of-type .top-news__link {
	border-top: 0;
}

.top-nav {
	padding-bottom: 35px;
}

.bg-red {
	background-color: #d00f31;
}

.text-white {
	color: #fff;
}

.area-features h2 {
	font-size: 40px;
}

.features-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 50px;
	row-gap: 15px;
}

.features-column {
	flex: 1;
}

.features-number {
	font-weight: bold;
	color: #ffee76;
	font-family: 'Oswald';
	font-size: 70px;
	line-height: 1;
	letter-spacing: 3px;
	padding-left: 30px;
	margin-bottom: -5px;
}

.features-box {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 30px 0 40px;
}

.features-flex {
	display: flex;
	gap: 30px;
	padding-left: 40px;
	padding-right: 20px;
}

.features-text {
	margin-top: 5px;
	font-weight: bold;
}

.features-sub {
	font-size: 20px;
}

.features-title {
	font-size: 32px;
	color: #d00f31;
}

.features-title span {
	font-size: 24px;
}

.features-sub + .features-title {
	margin-top: 5px;
}

.features-button {
	padding: 0 40px;
}

.features-button .button-normal {
	font-size: 20px;
	padding: 13px 0;
}

.bg-white {
	background-color: #fff !important;
}

.top_device .button-normal {
	max-width: 492px;
	font-size: 20px;
	padding: 13px 0;
}

.bg-lightpink {
	background-color: #ffeaef;
}

.title-h2 {
	font-size: 40px;
	line-height: 50px;
}

.gap-55 {
	gap: 55px;
}

.pop {
	background-color: #fff;
	border-radius: 20px;
	padding: 10px 30px 0;
	height: 145px;
	position: relative;
}

.pop span {
	color: #d00f31;
	font-weight: bold;
}

.text-normal {
	font-size: 16px;
	line-height: 30px;
}

.pop::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 100%);
	-webkit-transform: translate(-50%, 100%);
	-ms-transform: translate(-50%, 100%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 20px solid #fff;
}

.text-voice {
	font-size: 18px;
	color: #8c8c8c;
}

.box-voice img {
	margin-bottom: 5px;
}

.area-lightyellow {
	background-color: #fdf8d0;
	border-radius: 20px;
}

.area-lightyellow ._title {
	font-size: 30px;
	font-weight: bold;
	color: #d00f31;
	text-align: center;
}

.area-lightyellow ._text {
	font-size: 16px;
	margin-bottom: 15px;
}

.px-10 {
	padding-left: 10px;
	padding-right: 10px;
}

.gap-40 {
	gap: 40px;
}

.w-900 {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.column-flex {
	display: flex;
	gap: 55px;
}

.column-column {
	flex: 1;
	position: relative;
	display: flex;
	gap: 15px;
}

.column-column::before {
	content: "";
	position: absolute;
	top: 0;
	left: -30px;
	width: 1px;
	height: 110px;
	background-color: #c4c4c4;
}

.column-column:first-of-type:before {
	display: none;
}

.column-text {
	flex: 1;
	margin-top: -5px;
}

.column-title {
	font-size: 15px;
	line-height: 28px;
	color: #000;
}

.column-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.column-category {
	color: #fff;
	font-size: 14px;
	background-color: #759fe9;
	padding: 2px 6px;
}

.column-date {
	font-size: 14px;
	color: #999;
}

.top-faq h2,
.area-column h2 {
	font-size: 40px;
}

.area-column .button-normal {
	max-width: 420px;
	font-size: 20px;
	padding: 13px 0;
}

.tab__item-trigger._radius {
	border-radius: 15px 15px 0 0;
	background-color: #d00f31;
	color: #fff;
}

.tab__item-trigger._radius[aria-selected='true'] {
	background-color: #fff;
	color: #d00f31;
}

.tab__contents._radius {
	border-radius: 0 20px 20px 20px;
}

.top-faq .button-normal {
	font-size: 20px;
	padding: 13px 0;
	max-width: 400px;
}

.top-faq .faq__header::before {
	width: 25px;
	height: 6px;
	border-radius: 50px;
}

.top-faq .faq__title-toggle::after {
	width: 6px;
	height: 25px;
	border-radius: 50px;
	background-color: #fff;
	border-width: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 35px;
	transition: .3s;
}

.top-faq .faq__title-toggle[aria-expanded='true']::after {
	transform: translateY(-50%) rotate(90deg);
	-webkit-transform: translateY(-50%) rotate(90deg);
	-ms-transform: translateY(-50%) rotate(90deg);
}

@media only screen and (max-width: 767px) {
	.mv-cover {
		display: none;
	}

	.mv-top {
		background-image: url(../img/top/mv-top-sp.png);
		background-size: contain;
		min-height: calc(100vw * 1.2);
		max-height: calc(100vw * 1.2);
	}

	.mv-text {
		display: none;
	}
}

@media only screen and (max-width: 1099px) {
	.mv-button {
		top: calc(100vw * 0.38);
		width: 100%;
		max-width: 470px;
		padding: 0 50px;
	}

	.mv-top {
		margin-bottom: 30px;
	}

	.mv-cover,
	.mv-top {
		height: calc(100vw * 0.5);
	}

	.px-30-sp {
		padding-left: 15px;
		padding-right: 15px;
	}

	.area-x-character {
		gap: 15px;
		padding-left: 75px;
	}

	.area-x-character::before {
		transform: translate(0, -50%);
		-webkit-transform: translate(0, -50%);
		-ms-transform: translate(0, -50%);
		width: 70px;
		height: 87px;
	}

	.area-x-text {
		display: inline-flex;
		justify-content: center;
		font-size: 16px;
		line-height: 1.2;
	}

	.area-x-text img {
		width: 27px;
	}

	.button-normal {
		border: 2px solid #333;
		font-size: 14px;
		padding: 8px 0;
	}

	.button-normal::before {
		right: 15px;
		width: 8px;
		height: 13px;
	}

	.area-x .button-normal {
		max-width: 242px;
	}

	.title-news {
		font-size: 20px;
		margin-top: 20px;
		margin-bottom: 15px;
	}

	.title-news + .top-news {
		margin-top: 10px;
		font-size: 12px;
	}

	.top-news._radius {
		border-radius: 20px;
		padding: 0 15px;
	}

	.top-news._radius .top-news__link,
	.top-news._radius .top-news__date {
		font-size: 12px;
	}

	.top-news._radius .top-news__link {
		padding: 17px 0 !important;
	}

	.area-features h2 {
		font-size: 28px;
	}

	.features-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		row-gap: 10px;
	}

	.features-number {
		font-size: 45px;
		padding-left: 15px;
		margin-bottom: -3px;
	}

	.features-box {
		margin-top: -1px;
		border-radius: 10px;
		padding: 20px 15px 25px;
	}

	.features-flex {
		display: flex;
		gap: 15px;
		padding-left: 10px;
		padding-right: 0;
		align-items: center;
	}

	.features-img img {
		width: 90px;
	}

	.features-sub {
		font-size: 15px;
	}

	.features-title {
		font-size: 20px;
	}

	.features-title span {
		font-size: 15px;
	}

	.features-sub + .features-title {
		margin-top: 5px;
	}

	.features-button {
		padding: 0 10px;
	}

	.features-button .button-normal {
		font-size: 15px;
		padding: 13px 0;
	}

	.title-h2 {
		font-size: 28px;
		line-height: 30px;
	}

	.gap-30-sp {
		gap: 15px;
	}

	.box-voice {
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
		gap: 25px;
	}

	.pop {
		border-radius: 20px;
		padding: 10px 15px;
		height: auto;
	}

	.pop::before {
		left: 0;
		bottom: auto;
		top: 25%;
		transform: translate(-100%, -50%);
		-webkit-transform: translate(-100%, -50%);
		-ms-transform: translate(-100%, -50%);
		border-top: 10px solid transparent;
		border-right: 20px solid #fff;
		border-bottom: 10px solid transparent;
		border-left: 0;
	}

	.box-voice img {
		max-width: 80px;
	}

	.text-voice {
		font-size: 14px;
	}

	.text-normal {
		font-size: 13px;
		line-height: 25px;
	}

	.w-900 {
		width: 100%;
	}

	.area-lightyellow {
		border-radius: 10px;
	}

	.area-lightyellow ._title {
		font-size: 22px;
		color: #333;
		line-height: 32px;
	}

	.area-lightyellow ._text {
		font-size: 12px;
	}

	.area-lightyellow .button-normal {
		font-size: 15px;
		padding: 13px 0;
	}

	.gap-60-sp {
		gap: 30px;
	}

	.column-flex {
		flex-direction: column;
		gap: 0;
		border-bottom: 1px solid #c4c4c4;
	}

	.column-column {
		gap: 15px;
		padding: 15px;
		border-top: 1px solid #c4c4c4;
	}

	.column-column::before {
		content: "";
		position: absolute;
		top: 0;
		left: -30px;
		width: 1px;
		height: 110px;
		background-color: #c4c4c4;
	}

	.column-column:first-of-type:before {
		display: none;
	}

	.column-img img {
		max-width: 100px;
	}

	.column-text {
		margin-top: -5px;
	}

	.column-title {
		font-size: 12px;
		line-height: 18px;
	}

	.column-category {
		font-size: 9px;
		padding: 2px 4px;
	}

	.column-date {
		font-size: 10px;
	}

	.top-faq h2,
	.area-column h2 {
		font-size: 28px;
	}

	.area-column .button-normal {
		font-size: 15px;
		padding: 13px 0;
	}

	.tab__item-trigger._radius {
		border-radius: 15px 15px 0 0;
		background-color: #d00f31;
		color: #fff;
	}

	.tab__item-trigger._radius[aria-selected='true'] {
		background-color: #fff;
		color: #d00f31;
	}

	.tab__contents._radius {
		border-radius: 0 0 20px 20px;
	}

	.top-faq .button-normal {
		font-size: 15px;
		padding: 13px 0;
	}

	.px-20-sp {
		padding-left: 10px;
		padding-right: 10px;
	}

	.px-50-sp {
		padding-left: 25px;
		padding-right: 25px;
	}

	.px-100-sp {
		padding-left: 50px;
		padding-right: 50px;
	}

	.top-faq .faq__header::before {
		width: 16px;
		height: 4px;
	}

	.top-faq .faq__title-toggle::after {
		width: 4px;
		height: 16px;
		right: 15px;
	}

	._device_button {
		font-size: 15px !important;
	}
}

.review-button {
	width: 420px;
	margin-top: 60px;
}

.review-content {
	padding-top: 70px;
	padding-bottom: 100px;
}

.review-note {
	color: #fff;
	font-size: 14px;
	width: 900px;
	margin: 10px auto 0;
	text-align: right;
}

.review-message {
	background-color: #fff;
	border-radius: 15px;
	width: 900px;
	padding: 25px 55px;
	margin: 10px auto 0;
	z-index: 20;
	position: relative;
}

.review-message .flex {
	align-items: center;
}

.review-star {
	display: inline-block;
}

.review-score {
	font-size: 20px;
	color: #ff6c13;
	font-weight: bold;
	margin-left: 10px;
}

.review-title {
	font-size: 20px;
	color: #d00f31;
	font-weight: bold;
	margin-left: 30px;
}

.review-text {
	font-size: 16px;
	text-align: left;
	margin-top: 10px;
	line-height: 30px;
}

.review-space {
}

.review-zone {
	background-image: url(/assets/img/top/review-area-pc.png);
	background-repeat: repeat-y;
	background-position: center;
	padding: 0 10px 25px;
	margin-top: -50px;
}

.review-description {
	font-size: 22px;
	color: #fff;
	font-weight: bold;
	margin-bottom: 20px;
}

.review-description-hilight {
	color: #fbf395;
}

@media only screen and (max-width: 1099px) {
	.review-button {
		margin-top: 30px;
		margin-bottom: 100px;
	}

	.review-description {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.review-description .hide-pc {
		display: none !important;
	}

	.review-message {
		width: 100%;
		padding: 15px;
	}

	.review-content {
		padding: 60px 15px 0;
	}

	.review-zone {
		margin: -30px auto 0;
		padding: 0 15px 20px;
		background-size: contain;
		background-position: top;
	}

	.review-note {
		width: 100%;
	}

	.review-text {
		font-size: 13px;
		line-height: 24px;
		margin-top: 5px;
	}

	.review-title {
		font-size: 15px;
	}

	.review-note {
		font-size: 10px;
	}
}
@media only screen and (max-width: 880px) {
	.review-description .hide-pc {
		display: inline-block !important;
	}
}

@media only screen and (max-width: 767px) {
	.review-description {
		font-size: 15px;
	}

	.review-zone {
		margin-top: 0;
		background-image: url(/assets/img/top/review-area-sp.png);
	}

	.review-space {
		width: calc(100% - 30px);
		margin: 0 auto;
	}

	.review-message {
		width: 100%;
		padding: 13px;
	}

	.review-score {
		font-size: 14px;
	}

	.review-star {
		width: 14px;
		height: 14px;
		vertical-align: -1px;
	}

	.review-title {
		font-size: 15px;
		margin-left: 15px;
	}

	.review-note {
		width: 100%;
		margin: 10px 0 0;
		font-size: 10px;
	}

	.review-button {
		width: 300px;
		margin-top: 28px;
		margin-bottom: 0;
	}

	.review-text {
		font-size: 13px;
		line-height: 24px;
		margin-top: 8px;
	}

	.review-content {
		padding: 35px 15px 50px;
	}

	.button-normal {
		padding: 12px 0;
	}

	.mv-top {
		margin-bottom: 0;
	}

	.mv-button {
		top: calc(100vw * 0.86);
	}
}

.swiper-wrapper {
	padding-top: 10px;
}

.sub_text {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.sim_title {
	font-size: 40px;
	text-align: center;
}

@media only screen and (max-width: 1099px) {
	.sub_text {
		font-size: 16px;
		margin-top: 20px;
	}

	.sim_title {
		font-size: 28px;
	}

	.area-x {
		margin-top: -50px;
	}

	#slide-top .swiper-button-prev,
	#slide-top .swiper-button-next,
	#slide-bottom .swiper-button-prev,
	#slide-bottom .swiper-button-next {
		top: 43px;
		min-width: 40px;
		min-height: 40px;
		max-width: 40px;
		max-height: 40px;
	}

	#slide-top .swiper-button-prev,
	#slide-top .swiper-button-next,
	#slide-bottom .swiper-button-prev,
	#slide-bottom .swiper-button-next {
		top: -10px;
	}

	#slide-top .swiper-button-prev,
	#slide-bottom .swiper-button-prev {
		left: 35px;
	}

	#slide-top .swiper-button-next,
	#slide-bottom .swiper-button-next {
		left: auto;
		right: 35px;
	}

	#slide-top .swiper-pagination-bullet,
	#slide-bottom .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		margin: 0 7px !important;
	}

	.mt-60 {
		margin-top: 30px;
	}

	.mt-0-sp {
		margin-top: 0;
	}

	.mb-100-sp {
		margin-bottom: 50px;
	}
}
