@charset "UTF-8";
.lp-btn {
  transition: 0.2s !important;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  color: #333 !important;
  text-align: center;
  max-width: 390px;
  min-height: 48px;
  margin-inline: auto;
  border-radius: 999px;
  border: 2px solid #888;
  background-color: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media screen and (max-width: 767px) {
  .lp-btn {
    font-size: 14px;
    min-height: 48px;
  }
}
.lp-btn[href^="#anc-"]::before {
  transform: rotate(90deg);
}
.lp-btn[target=_blank]::before {
  display: none;
}
.lp-btn[target=_blank]::after {
  right: 16px;
}
.lp-btn[data-color=primary] {
  border-color: #E93817;
}
.lp-btn::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 16px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images_v10/icn/icn_arr_blk.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
  .lp-btn::before {
    right: 12px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn:hover {
    opacity: 0.8;
  }
  .lp-btn:hover:not[href^="#anc-"]::before {
    transform: translateX(6px);
  }
}

.lp-btn-bd-xs {
  transition: 0.2s;
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #333 !important;
  width: 100%;
  height: auto;
  margin-inline: auto;
  padding-block: 6px;
  border-radius: 999px;
  border: 2px solid #939393;
  background-color: #fff;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .lp-btn-bd-xs:hover::before {
    transform: translateX(4px);
  }
}
.lp-btn-bd-xs[data-color=primary] {
  border-color: #d9161B;
}

.lp-btn-bd-xs {
  max-width: 330px;
  min-height: 40px;
  font-size: 14px;
  font-weight: 500;
}
.lp-btn-bd-xs::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 16px;
  top: calc(50% - 6px);
  width: 12px;
  height: 12px;
  background: url(../images_v10/icn/icn_arr_xs_blk.svg) no-repeat 0 0/100% auto;
}

.acc {
  margin-bottom: 32px;
  border-radius: 12px;
  border: 1px solid #333;
  background: #fff;
}
.acc[data-id=service] {
  border: 2px solid #e2e2e2;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .acc {
    margin-bottom: 24px;
  }
}
.acc .acc-trigger {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  padding: 18px 12px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .acc .acc-trigger {
    font-size: 16px;
  }
}
.acc .acc-trigger > .inner {
  position: relative;
  display: block;
  width: auto;
  max-width: auto;
  padding-right: 24px;
  background: url(../images_v10/icn/icn_acc_open_blk.svg) no-repeat center right/25px auto;
}
.acc .acc-trigger:has(.brand) {
  padding: 14px 12px;
}
.acc .acc-trigger .brand {
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .acc .acc-trigger .brand {
    font-size: 20px;
  }
}
.acc .acc-trigger .brand .brand-label {
  display: block;
  font-size: 16px;
  text-align: center;
  margin-bottom: 2px;
}
@media screen and (max-width: 767px) {
  .acc .acc-trigger .brand .brand-label {
    font-size: 14px;
  }
}
.acc .acc-trigger .brand .brand-label img.logo {
  width: 34px;
  margin-right: 8px;
  margin-top: -4px;
}
.acc .acc-trigger.open {
  border-bottom: none;
}
.acc .acc-trigger.open > .inner {
  background-image: url(../images_v10/icn/icn_acc_close_blk.svg);
}
.acc .acc-body > .inner {
  padding: 16px 16px 32px;
}
.acc .acc-close {
  padding: 16px 8px 0;
  margin-top: 32px;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-top: 1px solid #333;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .acc .acc-close {
    padding: 10px 10px 0;
    font-size: 16px;
  }
}
.acc .acc-close span {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 180px;
  background: url(../images_v10/icn/icn_acc_close_blk.svg) no-repeat center right/25px auto;
}
@media screen and (max-width: 767px) {
  .acc .acc-close span {
    max-width: 120px;
  }
}

.swiper-charm {
  opacity: 0;
  position: relative;
  margin: 0 auto 24px;
}
.swiper-charm.is-show {
  opacity: 1;
}
.swiper-charm.is-show .swiper-slide {
  height: auto !important;
}
.swiper-charm .swiper-button-prev,
.swiper-charm .swiper-button-next {
  transition: transform 0.3s;
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: calc(50% - 20px);
  width: 40px;
  height: 40px;
  outline: none;
  background: url(../images_v10/swiper_btn_next.svg?2) no-repeat 0 0/100% auto;
}
.swiper-charm .swiper-button-prev::after,
.swiper-charm .swiper-button-next::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .swiper-charm .swiper-button-prev,
  .swiper-charm .swiper-button-next {
    display: block;
    width: 32px;
    height: 32px;
  }
}
.swiper-charm .swiper-button-prev.swiper-button-disabled,
.swiper-charm .swiper-button-next.swiper-button-disabled {
  background-image: url(../images_v10/swiper_btn_next_disabled.svg?2);
}
.swiper-charm .swiper-button-prev {
  transform: translateX(24px) rotate(180deg);
  left: -28px;
}
@media screen and (max-width: 767px) {
  .swiper-charm .swiper-button-prev {
    left: -16px;
  }
}
.swiper-charm .swiper-button-prev.init {
  opacity: 1;
  transform: translateX(0px) rotate(180deg);
}
.swiper-charm .swiper-button-next {
  transform: translateX(-24px);
  right: -28px;
}
@media screen and (max-width: 767px) {
  .swiper-charm .swiper-button-next {
    right: -16px;
  }
}
.swiper-charm .swiper-button-next.init {
  opacity: 1;
  transform: translateX(0px);
}
.swiper-charm .swiper-footer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 24px auto 0;
}
.swiper-charm .swiper-footer .swiper-pagination {
  position: relative;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 8px;
  background: none;
  opacity: 1;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #d9d9d9;
}
.swiper-charm .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #E93817;
}

.swiper-charm {
  max-width: 648px;
  margin: 0 auto 24px;
  /*
  @media screen and (min-width: 480px) and (max-width: 767px) {
  	width: calc(100% + 32px);
  	margin-left: -16px;
  }
  */
}
@media screen and (min-width: 480px) and (max-width: 767px) {
  .swiper-charm {
    max-width: 520px;
  }
}
@media screen and (max-width: 767px) {
  .swiper-charm {
    margin-bottom: 24px;
  }
}
.swiper-charm .charm-item {
  position: relative;
  z-index: 0;
  overflow: hidden;
  text-align: center;
  padding: 16px 10px;
  border-radius: 10px;
  border: 1px solid #333;
  background: #fff;
}
.swiper-charm .charm-item > .inner {
  max-width: 290px;
  margin-inline: auto;
}
.swiper-charm .charm-item::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 40px;
  background: #FFE5E0;
}
.swiper-charm .charm-item .num {
  margin-bottom: 20px;
}
.swiper-charm .charm-item .h-14 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
.swiper-charm .charm-item .h-20 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
.swiper-charm .charm-item .h-24 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 12px;
}
.swiper-charm .charm-item .h-24 .fs-sm {
  font-size: 66.6666666667%;
}
.swiper-charm .charm-item .shinsta-img {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-bottom: 16px;
}
.swiper-charm .charm-item .shinsta-summary {
  overflow: hidden;
  display: block;
  color: #333;
  border-radius: 6px;
  border: 1px solid #333;
  /*
  @media (hover: none) {
  	&:active {
  		@content;
  	}
  }
  */
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .swiper-charm .charm-item .shinsta-summary:hover .link::before {
    transform: translateX(4px);
  }
}
.swiper-charm .charm-item .shinsta-summary > .header {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
  text-align: center;
  height: 58px;
  padding-inline: 6px;
  background: #333;
}
.swiper-charm .charm-item .shinsta-summary > .inner {
  text-align: center;
  font-weight: bold;
  padding: 6px 2px 8px;
  background: #FFEDF6;
}
.swiper-charm .charm-item .shinsta-summary > .inner .catch {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2px;
  min-height: 46px;
}
.swiper-charm .charm-item .shinsta-summary > .inner sup {
  top: -6px;
  font-size: 10px;
}
.swiper-charm .charm-item .shinsta-summary > .inner > .link {
  transition: 0.25s;
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  color: #E93817;
  margin-bottom: 0;
  padding: 0 16px 2px 2px;
  border-bottom: 1px solid #E93817;
}
.swiper-charm .charm-item .shinsta-summary > .inner > .link::before {
  transition: 0.2s;
  content: "";
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  width: 11px;
  height: 11px;
  background: url(../images_v10/icn/icn_arr_red.svg) no-repeat 0 0/100% auto;
}
.swiper-charm .charm-item .charm-tv-row {
  display: flex;
  margin-bottom: 16px;
}
.swiper-charm .charm-item .charm-tv-row .charm-tv-col:not(.icn) {
  width: 47.5862068966%;
}
.swiper-charm .charm-item .charm-tv-row .icn {
  position: relative;
  z-index: 1;
  width: 7.5862068966%;
  margin: 28% -4px 0;
}
.swiper-charm .charm-item .charm-box[data-color=beg] {
  border: 1px solid #f7b6ab;
  background: #FFF2F0;
}
.swiper-charm .charm-item .charm-box[data-color=beg] .charm-box-body {
  background: #FFF2F0;
}
.swiper-charm .charm-item .charm-box .charm-box-header {
  padding: 10px;
  background: #fff;
}
.swiper-charm .charm-item .charm-box .charm-box-header .h-14 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0;
}
.swiper-charm .charm-item .charm-box .charm-box-header .h-24 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0;
}
.swiper-charm .charm-item .charm-box .charm-box-body {
  padding: 16px 19px;
}
.swiper-charm .charm-item .catch-balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  max-width: 258px;
  height: 80px;
  margin: 0 auto 32px;
  border: 1px solid #f7b6ab;
  background: #FFF2F0;
}
.swiper-charm .charm-item .catch-balloon::before, .swiper-charm .charm-item .catch-balloon::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin-inline: auto;
}
.swiper-charm .charm-item .catch-balloon::after {
  bottom: -14px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 14px solid #FFF2F0;
}
.swiper-charm .charm-item .catch-balloon::before {
  bottom: -15px;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 15px solid #f7b6ab;
}
.swiper-charm .charm-item .catch-balloon p {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .swiper-charm .charm-item sup {
    font-size: 10px;
  }
}
.swiper-charm .charm-item .list-note > li,
.swiper-charm .charm-item .list-note-num > li {
  padding-left: 16px;
  text-align: justify;
}
.swiper-charm .charm-item .text-upper::before, .swiper-charm .charm-item .text-upper::after,
.swiper-charm .charm-item .text-upper::before,
.swiper-charm .charm-item .text-upper::after {
  top: 4%;
  border-color: currentColor;
  height: 82%;
}
.swiper-charm .charm-item .text-upper::before,
.swiper-charm .charm-item .text-upper::before {
  left: 6px;
  transform: rotate(-20deg);
}
@media screen and (max-width: 767px) {
  .swiper-charm .charm-item .text-upper::before,
  .swiper-charm .charm-item .text-upper::before {
    left: 8px;
  }
}
.swiper-charm .charm-item .text-upper::after,
.swiper-charm .charm-item .text-upper::after {
  right: 6px;
  transform: rotate(20deg);
}
@media screen and (max-width: 767px) {
  .swiper-charm .charm-item .text-upper::after,
  .swiper-charm .charm-item .text-upper::after {
    right: 8px;
  }
}

.bnr-648 {
  display: block;
  max-width: 648px;
  margin: 0 auto 8px;
}
.bnr-648 img {
  border-radius: 16px;
}

.check-list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .check-list {
    width: 82%;
    max-width: 320px;
  }
}
.check-list li {
  font-size: 16px;
  font-weight: 700;
  border-radius: 8px;
  margin-bottom: 0;
  padding: 12px 16px 12px 56px;
}
@media screen and (max-width: 767px) {
  .check-list li {
    font-size: 14px;
  }
}
.check-list li + li {
  margin-top: 16px;
}

/*コンテナー*/
@media screen and (max-width: 767px) {
  .container-sm-sp {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}

/*テキスト*/
.fs-15 {
  font-size: 15px;
}

.line-height-xs {
  line-height: 1.2;
}

.text-under {
  text-decoration: underline;
}

/*限定特典*/
@media screen and (min-width: 768px) and (max-width: 960px) {
  .tokuten {
    width: calc(50% - 32px) !important;
  }
}
@media screen and (max-width: 1080px) {
  .tokuten .box-body {
    padding: 24px 10px;
  }
}
.tokuten .zero {
  position: relative;
  display: inline-block;
  font-size: 120px;
  font-weight: bold;
  line-height: 0.9;
  color: #f05d44;
  margin: 0 0 0 24px;
}
.tokuten .zero .yen {
  position: relative;
  top: -6px;
  font-size: 45%;
}
.tokuten .zero::before {
  content: "";
  position: absolute;
  left: -24px;
  top: calc(50% - 8px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 16px;
  border-color: transparent transparent transparent #f05d44;
}
.tokuten .zero strong {
  position: relative;
  z-index: 1;
}
.tokuten .zero strong::after {
  content: "";
  width: 106%;
  height: 12px;
  background-color: #f8d200;
  position: absolute;
  bottom: 17%;
  left: -3%;
  border-radius: 12px;
  z-index: -1;
}
.tokuten .middle-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
}
.tokuten .middle-center > .fs-32 {
  line-height: 1;
}
.tokuten del {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 0 8px;
}
.tokuten del::after {
  position: absolute;
  content: "";
  display: block;
  transform: rotate(-18deg);
  background-color: #f05d44;
  width: 100%;
  height: 4px;
  top: 50%;
  left: 0%;
  opacity: 0.85;
  border-radius: 60px;
}

/*J:COM In My Room*/
.board-inmyroom {
  position: relative;
  overflow: hidden;
  border: 3px solid #00A5B1;
  border-radius: 16px;
}
.board-inmyroom h2 {
  position: relative;
  color: #fff;
  width: calc(100% + 48px);
  margin: -24px -24px 16px;
  padding: 16px;
  background-color: #00A5B1;
}
.board-inmyroom hr {
  margin: 16px auto;
  width: calc(100% - 48px);
}
.board-inmyroom a {
  color: #333 !important;
}
.board-inmyroom .is-link {
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center right 16px/9px 16px;
}

/*U26割*/
.board-u26 {
  overflow: hidden;
  border: 3px solid #22a0e9;
  background-color: #22a0e9;
}
.board-u26 a {
  color: #333 !important;
}
.board-u26 .is-link {
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center right 16px/9px 16px;
}
.board-u26 .u26-header {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .board-u26 .u26-header img {
    width: 80%;
  }
}
.board-u26 .u26-body {
  text-align: center;
  padding: 16px 0;
  background-color: #fff;
}
/*ボード*/
.board-secondary {
  border: solid #f05d44 2px;
}

/*幅指定*/
.w-80 {
  width: 80%;
}

.content-mv {
  max-width: 764px;
  margin: auto;
}

/*角丸*/
.bd-radius-8 {
  border-radius: 8px;
}

/*ラベル*/
.h-label {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 8px 16px;
  line-height: 1.2;
  border-radius: 6px;
}

/*キャンペーン*/
/*
.section-campaign {
	font-feature-settings: "palt" 1;
	max-width: 736px;
	margin: 0 auto 60px;

	.campaign-item {
		height: 178px;
		width: 100%;
		border: 2px solid #aaa;
		border-radius: 16px;
		margin-bottom: 25px;
		padding: 0px 20px 0;
		box-sizing: border-box;

		&:last-of-type {
			margin-bottom: 0;
		}

		@media screen and (max-width: 767px) {
			height: auto;
			border-width: 2px;
			margin-bottom: 20px;
		}

		.campaign-title {
			height: 58px;
			margin-top: 4px;
			border-bottom: 2px solid #aaa;
			display: flex;
			justify-content: center;
			align-items: center;
			font-weight: bold;
			font-size: 20px;
			color:#333;

			img {
				max-width: 240px;
				vertical-align: bottom;
			}
		}

		.campaign-price {
			display: flex;
			justify-content: center;
			align-items: center;
			margin: 12px 0 10px 0;

			@media screen and (max-width: 767px) {
				display: block;
				text-align: center;
			}

			p {
				font-feature-settings: "palt" 1;
				font-size: 16px;
				line-height: 1.6;
				margin: 0;

				@media screen and (max-width: 767px) {
					font-size: 14px;
				}
			}

			.img-price {
				height: 52px;
				width: auto;
				margin: 0 0 0 20px;

				@media screen and (max-width: 767px) {
					margin: 6px auto 0;
				}
			}
		}
	}
}
*/
/*CVエリア*/
.section-cv .container svg#icon-mobile.icon-lg {
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 767px) {
  .section-cv .container svg#icon-mobile.icon-lg {
    position: relative;
    display: block;
    top: 16px;
    height: 30px;
    width: auto;
    margin: 0 auto 9px;
    padding: 0;
  }
}
.section-cv .container [class^=btn-].adjust {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 68px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  vertical-align: bottom;
}
@media (min-width: 768px) and (max-width: 959px) {
  .section-cv .container [class^=btn-].adjust {
    font-size: 16px !important;
  }
  .section-cv .container [class^=btn-].adjust::after {
    right: 12px;
  }
}
@media screen and (max-width: 767px) {
  .section-cv .container [class^=btn-][data-icon-sp=false]::after {
    display: none !important;
  }
}

/*ローダー*/
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader {
  margin: 30px auto;
  font-size: 4px;
  position: relative;
  text-indent: -9999em;
  border-top: 3px solid rgba(200, 200, 200, 0.2);
  border-right: 3px solid rgba(200, 200, 200, 0.2);
  border-bottom: 3px solid rgba(200, 200, 200, 0.2);
  border-left: 3px solid #c8c8c8;
  transform: translateZ(0);
  animation: load8 0.6s infinite linear;
}

@keyframes load8 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}