@charset "UTF-8";
/* ========================================
クローズLP
======================================== */

.lp {
  overflow: hidden;
  background: #f8f8f8;
  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif;
}
.lp img {
  display: block;
  width: 100%;
  height: auto;
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ========================================
   common
======================================== */
.section-title {
  color: #352e2a;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-align: center;
}

.section-title--dark,
.section-title--faq,
.section-title--contact {
  color: #333;
}

.section-box {
	border-radius: 18px;
	padding: 20px 20px 32px;
}

.section-box--cream {
	background: #fff;
	border-radius: 20px;
	z-index: 1;
	position: relative;
}

/* ========================================
   hero
======================================== */
.hero {
  padding: 28px 20px 0;
  background: #f8f8f8;
}

.hero__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
  color: #555;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.hero__lead img {
  width: 110px;
  height: auto;
  flex: 0 0 auto;
}

.hero__title {
  color: #2f2b28;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.34;
  text-align: center;
}

.hero__message-box {
  margin-top: 16px;
  padding: 15px;
  border: 1px dashed #ddd;
  background: #fff;
}

.hero__message-box p {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
}
.hero__message-box p + p {
	margin-top: 2px;
}
.hero__message-box p strong{
	font-weight: bold;
}
.hero__arrow {
	display: flex;
	justify-content: center;
	margin: 14px 0 28px;
}
.hero__arrow svg {
	display: block;
	width: 19px;
	height: auto;
}

.hero__owners-box {
	position: relative;
	padding: 0 20px 22px;
	background: #EAE5D9;
	margin-bottom: 30px;
}
.hero__owners-box::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 100%;
  height: 30px;
  background: #EAE5D9;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.hero__owners-copy {
	position: relative;
	top: -10px;
	margin-bottom: -10px;
}
.hero__owners-copy img {
	width: 101px;
	margin: 0 auto;
}
.hero__owners-logo {
	
}
.hero__owners-logo img {
	width: 218px;
	max-width: 100%;
	margin: 0 auto;
}

.hero__subtext {
	margin-top: 16px;
	text-align: left;
}
.hero__subtext > p:first-child {
	color: #333;
	font-size: 14px;
	line-height: 1.5;
}
.hero__subtext > p:first-child strong{
	font-weight: bold;
}
.hero__subtext > p:first-child strong.Emp{
	display: inline-grid;
	grid-auto-flow: column;
}
.hero__subtext > p:first-child strong.Emp span {
	position: relative;
}
.hero__subtext > p:first-child strong.Emp span::before{
	content: "";
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 3px;
	height: 3px;
	background: #691E1E;
	border-radius: 50%;
}

.hero__note {
	margin-top: 7px;
	color: #333;
	font-size: 12px;
	line-height: 1.75;
}
.hero__note em{
	color: #7C5531;
	font-weight: bold;
}

.hero__bridge-image {
	max-width: 520px;
	margin: 16px auto 0;
}
.hero__bridge-image img {
	width: 100%;
	height: auto;
}

/* ========================================
   schedule
======================================== */
.schedule {
	position: relative;
	margin-top: 15px;
	padding-top: 43px;
}
.schedule::before {
	content: "";
	height: 90px;
	background-image: url(../img/migration_lp/Illust_audience.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left: -20px;
	right: -20px;
	top: 0;
}

.schedule .section-title {
	font-size: 16px;
	margin-bottom: 20px;
}

.schedule__list {
  margin-top: 0;
}

.schedule__item {
	display: flex;
}

.schedule__item + .schedule__item {
  margin-top: 12px;
}

.schedule__date {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 76px;
	background: #2E2A4A;
	color: #fff;
	border-radius: 4px 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}
.schedule__body {
	display: flex;
	flex: 1;
	padding: 10px;
	border-radius: 0 4px 4px 0;
	background: #F5F4F2;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
}
.schedule__body em,
.schedule__body a{
	color: #7C5531;
}

.schedule__separator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 15px 0;
}

.schedule__separator-icon {
	position: relative;
	width: 21px;
	height: 25px;
}
.schedule__separator-icon::before {
	
}

.schedule__separator-text {
  padding: 7px 28px;
  border: 1px dashed #9F4949;
  border-radius: 999px;
  background: #E8DEDE;
  color: #9F4949;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.schedule__notes {
  margin-top: 14px;
}

.schedule__notes p {
  color: #655d57;
  font-size: 12px;
  line-height: 1.8;
}
.schedule__notes p + p {
  margin-top: 2px;
}
.schedule__notes p strong{
	font-weight: bold;
	color: #9F4949;
}

/* ========================================
   experience
======================================== */
.experience {
  padding: 28px 20px 0;
  background: #f8f8f8;
}

.experience__inner {
  padding: 0;
}

.experience__title {
  color: #691E1E;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.experience__text {
  margin-top: 16px;
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.experience__text strong{
	font-weight: bold;
}

/* ========================================
   function
======================================== */
.function {
	margin-top: 16px;
}
.function__inner {
}

.function__heading {
	text-align: center;
}
.function__heading-label {
	background: #2d2b60;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	padding: 8px;
}

.function__heading-text {
	color: #333;
	font-size: 14px;
	line-height: 1.5;
	padding: 10px 8px;
}

.function__table-wrap {
	overflow: hidden;
	background: transparent;
}

.function__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 4px;
	table-layout: fixed;
	background: #fff;
	margin-top: -4px;
}
.function__col-old {
	width: 47%;
}
.function__col-new {
	width: 53%;
}
.function__table thead {
	position: relative;
	background: #691E1E;
	bottom: -4px;
}
.function__table thead th {
	position: relative;
	padding: 0;
	height: 52px;
	vertical-align: middle;
	overflow: hidden;
}
.function__table thead .is-old {
	position: relative;
	background: #3251bc;
	overflow: visible;
}
.function__table thead .is-old::before {
	content: "";
	position: absolute;
	top: 0;
	right: -18px;
	width: 18px;
	height: 100%;
	background: #3251bc;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	z-index: 2;
}
.function__table thead .is-old::after {
	content: "";
	position: absolute;
	top: 0;
	right: -19px;
	width: 18px;
	height: 100%;
	background: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	z-index: 1;
}
.function__table thead .is-old img {
	display: block;
	width: 68px;
	max-width: 78%;
	margin: 0 auto -5px;
}
.function__table thead .is-old > * {
	position: relative;
	z-index: 2;
}

.function__table thead .is-new {
	background: #691E1E;
	padding-left: 3%;
}
.function__table thead .is-new img {
	display: block;
	width: 108px;
	max-width: 78%;
	margin: 0 auto;
}
.function__table tbody > tr {
	position: relative;
}
.function__table tbody > tr::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	border-top: 1px solid #ddd;
	position: absolute;
	left: 0;
	bottom: -4px;
}

.function__table tbody td {
	position: relative;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
	border: 0;
}
.function__table tbody td a {
	color: #7C5531;
}
.function__table tbody td:first-child {
	position: relative;
	color: #7C5531;
	background: #EBEBEB;
}
.function__table tbody td:first-child::before {
	content: "";
	position: absolute;
	top: 0;
	right: -18px;
	width: 18px;
	height: 100%;
	background: #EBEBEB;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	z-index: 2;
}

.function__table tbody td:last-child {
	color: #7C5531;
	padding-left: 36px;
}

.function__table tbody td small {
	font-size: 10px;
	font-weight: 400;
	color: #333;
}

.function__table tbody tr + tr td {
  border-top: 2px solid #fff;
}

.function__notes {
	margin-top: 10px;
	padding: 0;
	background: none;
}

.function__notes li {
	color: #333;
	font-size: 12px;
	line-height: 1.5;
}

/* ========================================
   pickup
======================================== */
.pickup {
	padding: 0 20px 30px;
	background: #EAE5D9;
	margin-top: 60px;
}
.pickup__heading {
	text-align: center;
	position: relative;
	top: -44px;
	margin-bottom: -28px;
}
.pickup__heading-image {
}
.pickup__heading-image img {
	width: 200px;
	max-width: 100%;
	margin: 0 auto;
}

.pickup__cards {
  display: grid;
  gap: 12px;
}

.pickup-card {
	padding: 20px;
	border-radius: 20px;
	background: #fff;
}

.pickup-card__title {
	color: #691E1E;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	border-bottom: 1px solid #EAE5D9;
	padding-bottom: 12px;
}

.pickup-card__visual {
  margin-top: 12px;
}

.pickup-card__visual img {
  border-radius: 10px;
}

.pickup-card__note {
	margin-top: 8px;
	color: #333;
 	 font-size: 12px;
	line-height: 1.5;
	text-align: center;
}
.pickup-card__button {
	margin-top: 12px;
	text-align: center;
}
.pickup-card__button a {
	color: #7C5531;
	font-size: 14px;
	font-weight: 700;
}

.pickup__footer-cta {
	margin-top: 16px;
	text-align: center;
}

.pickup__footer-cta a {
	position: relative;
	display: inline-block;
	padding: 13px 30px;
	border-radius: 999px;
	background: #BF9E3A;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	box-shadow: 0 4px 0 #D6CCB4;
}
.pickup__footer-cta a::after {
	content: "";
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 11 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0832 7.94548C10.6363 7.54634 10.6363 6.72285 10.0832 6.32371L1.58514 0.190773C0.92378 -0.286526 -5.91278e-05 0.18605 -5.91278e-05 1.00166V13.2675C-5.91278e-05 14.0831 0.923782 14.5557 1.58515 14.0784L10.0832 7.94548Z' fill='white'/%3E%3C/svg%3E%0A");
	width: 19px;
	height: 15px;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
	margin-right: -20px;
	margin-left: 8px;
	background-size: contain;
}

/* ========================================
   campaign
======================================== */
.campaign {
	position: relative;
	padding: 30px 20px 24px;
	background: linear-gradient(180deg, #F2E4E4 0%, #FFF7F7 100%);
}

.campaign__header {
	position: relative;
	padding: 10px 6px 12px;
}
.campaign__header * {
	position: relative;
	z-index: 2;
}
.campaign__header::after {
	content: "";
	width: 128px;
	height: 228px;
	background-image: url(../img/migration_lp/Img_cp-image.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 128px 228px;
	position: absolute;
	top: 16px;
	right: -23px;
	z-index: 1;
}
.campaign__owners-logo {
	
}
.campaign__owners-logo img {
	width: 154px;
	max-width: 100%;
	margin: 0 auto;
}

.campaign__title {
	margin-top: 16px;
	color: #691E1E;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	text-shadow: -1px -1px 1px #f3e5e5, 1px -1px 1px #f3e5e5, -1px 1px 1px #f3e5e5, 1px 1px 1px #f3e5e5;
}

.campaign__lead {
	margin-top: 10px;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.campaign__hero-phone {
  position: absolute;
  right: -2px;
  top: -2px;
  width: 126px;
  opacity: 0.9;
  pointer-events: none;
}

.campaign__cards {
	display: grid;
	gap: 14px;
	z-index: 1;
	position: relative;
}

.campaign-card {
	position: relative;
	padding: 40px 20px 20px;
	border-radius: 20px;
	background: #fff;
	margin-top: 30px;
}

.campaign-card__badge {
	position: absolute;
	top: -32px;
	left: 10px;
	width: 224px;
}

.campaign-card__badge img {
	display: block;
	width: 100%;
	height: 72px;
}

.campaign-card__title {
	margin-top: 4px;
	color: #691E1E;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	border-bottom: 1px solid #EAE5D9;
	padding-bottom: 8px;
}

.campaign-card > svg {
	display: block;
	width: 16px;
	height: auto;
	margin: 8px auto 0;
}

.campaign-card__sub {
	margin-top: 8px;
	color: #333;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
.campaign-card__sub > span{
	position: relative;
	display: inline-block;
	z-index: 2;
	line-height: 1;
}
.campaign-card__sub > span *{
	position: relative;
}
.campaign-card__sub > span::after{
	content: "";
	position: absolute;
	display: block;
	bottom: -3px;
	left: 0;
	right: 0;
	height: 8px;
	z-index: -1;
	background: #E2C7C7;
}
.campaign-card__sub.Premium > span::after{
	background: #C1AB71;
}

.campaign-card__visual {
	margin-top: 10px;
}
.campaign-card__visual > img{
	margin: auto;
}
.campaign-card__visual.Visual01 img {
	max-width: 203px;
}
.campaign-card__visual.Visual02 img {
	max-width: 224px;
}
.campaign-card__visual.Visual03 img {
	max-width: 296px;
}

.campaign-card__highlight {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 14px 10px 10px;
	border-radius: 10px;
	background: #FBF1F1;
	margin-top: 10px;
}
.campaign-card__highlight.campaign-card__highlight--single {
	justify-content: center;
}

.campaign-card__highlight .campaign-card__badge {
	flex: 0 0 62px;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1;
	position: static;
}

.campaign-card__badge-main {
	display: block;
	color: #691E1E;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}

.campaign-card__badge-sub {
	display: block;
	margin-top: 2px;
	color: #691E1E;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.campaign-card__highlight-body {
	flex: 1 1 auto;
	min-width: 0;
}

.campaign-card__reward {
	margin: 0;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
}
.campaign-card__highlight.campaign-card__highlight--single .campaign-card__reward{
	text-align: center;
}
.campaign-card__reward em {
	color: #9F4949;
	font-size: 20px;
	font-weight: 700;
}
.campaign-card__highlight.campaign-card__highlight--single .campaign-card__reward em {
	color: #9F4949;
	font-size: 14px;
}
.campaign-card__highlight.campaign-card__highlight--single .campaign-card__reward em > span{
	font-size: 20px;
}
.campaign-card .pickup-card__button {
	margin-top: 20px;
}


.campaign-card__note {
  margin-top: 10px;
  color: #6a625d;
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
}

.campaign-card__button {
	margin-top: 14px;
	text-align: center;
}

.campaign-card__button a {
	position: relative;
	display: inline-block;
	padding: 13px 30px;
	min-width: 210px;
	border-radius: 999px;
	background: #9F4949;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	box-shadow: 0 4px 0 #E8DEDE;
}
.campaign-card__button a::after {
	content: "";
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 11 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0832 7.94548C10.6363 7.54634 10.6363 6.72285 10.0832 6.32371L1.58514 0.190773C0.92378 -0.286526 -5.91278e-05 0.18605 -5.91278e-05 1.00166V13.2675C-5.91278e-05 14.0831 0.923782 14.5557 1.58515 14.0784L10.0832 7.94548Z' fill='white'/%3E%3C/svg%3E%0A");
	width: 19px;
	height: 15px;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
	margin-right: -20px;
	margin-left: 8px;
	background-size: contain;
}
.campaign-card__button--gold a {
	background: #BF9E3A;
	box-shadow: 0 4px 0 #D6CCB4;
}
.campaign-card__button.HandOver__button a {
	background: #691E1E;
	box-shadow: 0 4px 0 #E2C7C7;
}

.campaign__main-cta {
  margin-top: 18px;
}

.campaign__main-cta a {
  display: block;
  padding: 14px 18px;
  border-radius: 999px;
  background: #7c1f23;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* ========================================
   steps
======================================== */
.step-section {
  padding: 20px 20px 24px;
  background: #EBDCDC;
}

.step-section .section-title {
	margin-bottom: 30px;
	font-size: 20px;
	color: #691E1E;
}

.steps {
	display: grid;
	gap: 26px;
}

.step-card {
	padding: 40px 20px 20px;
	border-radius: 20px;
	background: #fff;
}

.step-card__label {
	width: 226px;
	padding: 8px 10px;
	border: 1px dashed #9F4949;
	border-radius: 10px;
	background: #F0E8CD;
	color: #691E1E;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	margin: auto;
	margin-top: -54px;

}
.step-card__image {
	max-width: 245px;
	margin: 14px auto 0;
}
.step-card__text {
	margin-top: 12px;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.step-card__text strong,
.step-card__text a{
	color: #7C5531;
}

.step-card__note {
	margin-top: 8px;
	color: #9F4949;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
.step-card__notes li{
	margin-top: 8px;
	color: #333;
	font-size: 12px;
	line-height: 1.5;
},

.step-card__notes li + li {
  margin-top: 2px;
}

.step-section__cta {
  margin-top: 18px;
}

.step-section__cta a {
  display: block;
  padding: 14px 18px;
  border-radius: 999px;
  background: #7c1f23;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* ========================================
   faq
======================================== */
.faq {
	padding: 30px 10px 30px;
	background: #F8F8F8;
}

.faq .section-title {
	font-size: 20px;
	margin-bottom: 20px;
}

.faq-item {
	overflow: hidden;
	border-bottom: 2px solid #fff;
	background: #F3F3F3;
}

.faq-item:first-of-type {
	border-radius: 12px 12px 0 0;
}
.faq-item:last-of-type {
	border-radius: 0 0 12px 12px;
}

.faq-item summary {
	list-style: none;
	position: relative;
	padding: 17px 54px 17px 10px;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.36;
}
.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary::before {
	content: "+";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 21px;
	height: 21px;
	margin-top: -12px;
	border-radius: 4px;
	background: #691E1E;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
}

.faq-item[open] summary::before {
	content: "-";
}

.faq-item__body {
  padding: 0 10px 18px 24px;
}

.faq-item__body p,
.faq-item__body a {
  color: #333;
  font-size: 14px;
  line-height: 1.56;
}
.faq-item__body a {
	color: #9F4949;
	font-size: 14px;
	font-weight: bold;
	text-decoration: underline;
}
.faq__cta {
  margin-top: 18px;
}

.faq__cta a {
  display: block;
  padding: 14px 18px;
  border-radius: 999px;
  background: #7c1f23;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* ========================================
   contact
======================================== */
.contact {
	padding: 10px 20px 36px;
	background: #f8f8f8;
}
.contact .section-title {
	font-size: 20px;
}
.contact__inner {
}

.contact__text {
	margin-top: 14px;
	color: #333;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

.contact__button {
	margin-top: 16px;
	text-align: center;
}

.contact__button a {
	display: inline-block;
	padding: 14px 18px;
	color: #7C5531;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
