.sec-top-mv {
	background-image: url(../images/mv-bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 756;
	position: relative;
	overflow: hidden;
}
.mv-cont {
	position: absolute;
	top: 65px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 46.64%;
	max-width: 843px;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv-txt {
	width: 100%;
	position: relative;
	z-index: 10;
}
.mv-txt-img {
	position: absolute;
	top: 39%;
	right: -34.7%;
	width: 52.4%;
	flex-shrink: 0;
	max-width: 442px;
	z-index: 0;
}
.mv-txt-bg {
	position: absolute;
	top: 215px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 72%;
	max-width: 1194px;
	z-index: 0;
}

/* features */
.sec-mv-features {
	position: relative;
	width: 100%;
	z-index: 30;
}
.mv-features {
	width: 40.4%;
	max-width: 688px;
	position: absolute;
	bottom: calc(100% - 57px);
	margin: 0 auto;
	left: 0;
	right: 0;
}

/* problem */
.sec-problem {
	background-image: url(../images/problem-bg.png);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	position: relative;
	z-index: 20;
}
.sec-problem::after {
	content: "";
	background-image: url(../images/problem-bg-bottom.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 121px;
	position: absolute;
	top: calc(100% - 1px);
	overflow: hidden;
}
.problem-cont {
	width: 100%;
	padding-top: 189px;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 45px;
}
.problem-buy-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 30px;
	max-width: 820px;
	margin-bottom: 31px;
	position: relative;
}
.problem-buy-box::before {
	content: "";
	background-image: url(../images/problem-parts-lt.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 57px;
	height: 50px;
	position: absolute;
	top: -37px;
	left: 0;
	overflow: hidden;
}
.problem-buy-box::after {
	content: "";
	background-image: url(../images/problem-parts-rb.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 57px;
	height: 50px;
	position: absolute;
	bottom: -37px;
	right: 0;
	overflow: hidden;
}
.problem-buy-box img {
	width: 100%;
	max-width: 548px;
}
.problem-buy-box .btn {
	width: 320px;
	padding: 28px 10px;
}
p.problem-txt {
	width: 37%;
	max-width: 448px;
}
.problem-img-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px;
}

/* solution */
.sec-solution {
	width: 100%;
	position: relative;
	z-index: 0;
	background-image: url(../images/solution-bg.png);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}
.solution-cont {
	width: 100%;
	padding-top: 169px;
	padding-bottom: 34px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 87px;
}
.solution-ttl {
	width: 70.62%;
	max-width: 1024px;
}
.solution-movie-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	position: relative;
}
.solution-arrow-right {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 118px;
	z-index: 10;
	margin-bottom: 6px;
}
.solution-movie-grid > div {
	width: 100%;
	position: relative;
	display: flex;
	flex-flow: column;
	padding: 47px 70px 57px;
	background: #000;
}
.solution-movie-grid > div:nth-of-type(2) {
	background: #fff;
}
.solution-movie-grid > div > video,
.solution-movie-grid > div > img {
	width: 100%;
	height: auto;
	aspect-ratio: 560 / 360;
}
.solution-balloon {
	position: absolute;
	bottom: calc(100% - 45px);
	width: 54.2%;
	max-width: 379px;
	margin: 0 auto;
	left: 0;
	right: 0;
	z-index: 10;
}
p.solution-txt {
	width: 80%;
	max-width: 1161px;
}

/* case */
.sec-case {
	width: 100%;
	position: relative;
	z-index: 0;
	background: #dc000d;
}
.sec-case .sec-inner {
	position: relative;
	z-index: 10;
}
.sec-case::after {
	content: "";
	background-image: url(../images/case-bg-bottom.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 263px;
	position: absolute;
	bottom: 0;
	overflow: hidden;
	z-index: 0;
}

.case-cont {
	width: 100%;
	max-width: 1200px;
	padding-top: 29px;
	padding-bottom: 182px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 65px;
	position: relative;
	z-index: 10;
}
.case-ttl {
	width: 100%;
}
.case-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 60px;
	column-gap: 80px;
	position: relative;
	margin-bottom: 68px;
}
.case-num {
	position: absolute;
	width: 88px;
	height: auto;
	aspect-ratio: 1 / 1;
	top: -44px;
	left: -44px;
}
.case-grid-item {
	width: 100%;
	position: relative;
	background: #fff;
	padding: 30px 53px 34px;
	display: flex;
	flex-flow: column;
	gap: 32px;
	align-items: center;
}
.case-img {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.case-grid-item > div > p {
	width: 100%;
	text-align: center;
	font-size: 32px;
}

.more-enjoy-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 60px;
	max-width: 860px;
}
.more-enjoy-txt {
	width: 97%;
	max-width: 834px;
	position: relative;
	z-index: 10;
}
.more-enjoy-img-box {
	width: 100%;
	position: relative;
}
.more-enjoy-txt-2 {
	width: 52.3%;
	max-width: 449px;
	position: relative;
	z-index: 10;
}
.more-enjoy-img-box > figure {
	position: absolute;
	bottom: -124px;
	right: -12.6%;
	z-index: 0;
	width: 54.7%;
}


/* insta */
.sec-insta-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
.sec-insta-ttl {
  font-size: 3rem;
  font-weight: bold;
  color: #dc000d;
  width: 100%;
  text-align: center;
  margin-bottom: 1em;
}
.sec-insta-cont {
  display: flex;
  flex-flow: column;
  align-items: center;
}

/* eval */

.sec-eval {
	width: 100%;
	position: relative;
	z-index: 0;
	background: #f3efeb;
}
.sec-eval::before {
	content: "";
	background-image: url(../images/eval-ttl-parts-l.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 18.3%;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 76.4px;
	left: 11.7%;
	overflow: hidden;
	z-index: 0;
}
.sec-eval::after {
	content: "";
	background-image: url(../images/eval-ttl-parts-r.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 18.3%;
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 76.4px;
	right: 11.7%;
	overflow: hidden;
	z-index: 0;
}

.eval-cont {
	width: 100%;
	max-width: 1200px;
	padding-top: 146px;
	padding-bottom: 70px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 65px;
	position: relative;
	z-index: 10;
}
.eval-ttl {
	width: 53.3%;
	max-width: 640px;
	position: relative;
}
.eval-img-box {
	width: 100%;
	max-width: 950px;
}

.eval-grid-wrapper {
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
	height: 886px;
	overflow: hidden;
	position: relative;
}
.eval-grid-wrapper.is-open {
	height: auto;
}
.eval-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 40px;
}
.eval-grid-item {
	width: 100%;
	padding-bottom: 40px;
	border-bottom: 1px solid rgb(0 0 0 / 40%);
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 10px;
}
.eval-grid-item > h3 {
	width: 100%;
	font-size: 24px;
	letter-spacing: 0.1em;
	font-weight: bold;
}
.eval-grid-item > div {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 20px;
}
.eval-grid-item > div > span {
	font-weight: bold;
	flex-shrink: 0;
}
.eval-grid-item > div > figure {
	flex-shrink: 0;
}
.eval-grid-item > p {
	font-size: 19px;
}

.btn-more-eval-box {
	position: absolute;
	bottom: 0;
	z-index: 10;
	background: linear-gradient(0deg, #f3efeb 50%, transparent);
	width: 100%;
	height: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.eval-grid-wrapper.is-open .btn-more-eval-box {
	position: relative;
	background: transparent;
}
.btn-more-eval {
	width: auto;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 24px;
	font-weight: bold;
	color: #dc000d;
	border-bottom: 1px solid #dc000d;
	cursor: pointer;
	position: relative;
	line-height: 1;
	padding-bottom: 7px;
}
.btn-more-eval::after {
	content: "";
	background-image: url(../images/icon-circle-plus.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 26px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	right: 0;
	overflow: hidden;
	z-index: 0;
}
.eval-grid-wrapper.is-open .btn-more-eval::after {
	background-image: url(../images/icon-circle-minus.svg);
}

/* bnr-buy */
.sec-bnr-buy {
	width: 100%;
	position: relative;
	z-index: 0;
	background: #fff;
}
.sec-bnr-buy .sec-inner {
	max-width: 950px;
	padding: 80px 0;
}
.bnr-buy {
	background-image: url(../images/bnr-buy.png);
	background-position: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	aspect-ratio: 950 / 219;
	position: relative;
	right: 0;
	overflow: hidden;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all ease 0.33s;
}
.bnr-buy:hover {
	background-image: url(../images/bnr-buy-hover.png);
}

/* point */
.sec-point {
	width: 100%;
	position: relative;
	z-index: 0;
	background: #fff;
}
.sec-point .sec-inner {
	max-width: 1700px;
}
.point-cont {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 100px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 182px;
	position: relative;
	z-index: 10;
}
.point-ttl {
	width: 38.8%;
	max-width: 660px;
}
.point-grid {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 187px;
}
.point-grid-item {
	width: 100%;
	display: flex;
	position: relative;
	padding-right: 14.7%;
	padding-bottom: 80px;
	justify-content: flex-end;
	align-items: flex-start;
}
.point-grid-item:nth-of-type(even) {
	padding-left: 14.7%;
	padding-right: 0%;
	justify-content: flex-start;
}
.point-grid-item::after {
	content: "";
	width: 77.9%;
	height: 368px;
	background: #dc000d;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 0;
}
.point-grid-item:nth-of-type(even) .point-grid-item::after {
	left: auto;
	right: 0;
}
.point-grid-item > figure {
	position: absolute;
	top: -106px;
	left: 7.35%;
	width: 36.4%;
	max-width: 620px;
	z-index: 20;
}
.point-grid-item:nth-of-type(even) > figure {
	right: 7.35%;
	left: auto;
}
.point-grid-item-body {
	width: 100%;
	max-width: 787px;
	position: relative;
	z-index: 10;
	background: #fff;
	padding-top: 50px;
	padding-left: 200px;
	padding-right: 40px;
	padding-bottom: 60px;
	filter: drop-shadow(0px 6px 6px rgb(0 0 0 / 12%));
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 25px;
}
.point-grid-item:nth-of-type(even) .point-grid-item-body {
	padding-right: 200px;
	padding-left: 40px;
}
.point-sub-ttl-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #dc000d;
}
.point-sub-ttl-box > p {
	width: 78px;
}
.point-sub-ttl-box > h3 {
	font-size: 34px;
	color: #dc000d;
	font-weight: bold;
}
.point-grid-item-body > p {
	width: 100%;
	font-size: 19px;
	letter-spacing: 0.1em;
}
.point-num {
	position: absolute;
	right: 20px;
	top: -100px;
	max-width: 184px;
}
.point-grid-item:nth-of-type(even) .point-num {
	right: auto;
	left: 20px;
}
.point-grid-item:last-of-type {
    padding-bottom: 0;
}

/* delivery */
.sec-delivery {
    width: 100%;
    position: relative;
    background: #F3EFEB;
    padding: 80px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.delivery-cont {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}
.delivery-item-box {
    background: #fff;
    padding: 64px  103px 84px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 1200px;
}
.delivery-img-grid {
    display: flex;
    column-gap: 49px;
    width: 100%;
    justify-content: center;
	margin-bottom: 50px;
}

.delivery-img-box img {
    width: 100%;
	max-width: 580px;
    height: auto;
}

.delivery-option-box {
	max-width: 365px;
}

.delivery-option {
	margin-bottom: 26px;
	width: 100%;
    height: auto;
}

.delivery-option:last-child {
	margin-bottom: 0;
}

.delivery-img-box p {
	color: #fff;
	font-size: 20px;
	background: #de000d;
}

.delivery-item-price {
    font-size: 24px;
    font-weight: bold;
    color: #dc000d;
    text-align: center;
    margin-top: 10px;
	max-width: 1120px;
}
.delivery-description {
    font-size: 18px;
    color: #666;
    text-align: center;
    margin-top: 5px;
}
.delivery-button {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 24px;
    background: #dc000d;
    color: white;
    border-radius: 5px;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    transition: background 0.3s ease-in-out;
}
.delivery-button:hover {
    background: #a00008;
}

/* sec-specs セクションの新規追加 */
.sec-specs {
    width: 100%;
    position: relative;
    background: #F3EFEB;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.specs-cont {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    padding: 0 20px;
}
.specs-ttl {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #000;
    margin-bottom: 30px;
}
.specs-item-box {
    align-items: center;
    width: 100%;
	background: #fff;
	padding: 64px 124px;
}
.specs-img-box {
    flex: 1;
    text-align: center;
}
.specs-img-box figure img {
    margin: 0 auto;
}
.specs-list-tbl {
    flex: 2;
    text-align: left;
	margin: 38px 0 64px;
}
.specs-list-tbl table{
    width: 100%;
}
.specs-list-tbl th{
	position: relative;
    padding: 15px 0 10px;
	width: 180px;
	margin-right: 15px;
}
.specs-list-tbl th::after {
    content: "";
    display: block;
    width: 180px;
    height: 1px; /* 線の太さ */
    background-color: #dc000d; /* 赤色 */
    position: absolute;
    bottom: 0;
    left: 0;
}
.specs-list-tbl td{
	position: relative;
	padding-left: 15px;
}
.specs-list-tbl td::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px; /* 線の太さ */
    background-color: #E4E4E4; /* 赤色 */
    position: absolute;
    bottom: 0;
    left: 0;
}


/* sec-option セクションの新規追加 */
.sec-option {
    width: 100%;
    position: relative;
    background: #dc000d;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.option-plus-circle {
    width: 100px;
    height: 100px;
    position: absolute;
	top: -50px;
	right: 46%;
}
.option-cont {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
}
.option-ttl {
    margin-bottom: 48px;
}
.option-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  width: 100%;
	background: #fff;
	padding: 64px 60px;
	margin:42px auto 54px;
}
.option-price {
  font-size: 2rem;
  font-weight: 600;
}
.option-grid-item {
    background: #fff;
    padding: 76px 35px 48px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
	position: relative;
}

.option-grid-item img {
    width: 100%;
    max-width: 380px;
    height: auto;
    border-radius: 8px;
	display: block;
	margin: 0 auto;
}
.option-balloon {
	position: absolute;
	top: 0;
	right: 12%;
	height: auto;
}
.option-grid-item h3 {
    font-size: 22px;
    margin-top: 15px;
    color: #333;
}
.option-grid-item p {
    font-size: 18px;
    color: #666;
    margin-top: 10px;
}
.guarantee-box {
    width: 100%;
    padding: 80px 0;
    background: linear-gradient(90deg, #E8AA00 0%, #fff 50%, #E8AA00 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.guarantee-contact-box{
	background: #fff;
	max-width: 950px;
	padding: 20px 107px 43px;
	margin-top: 50px;
}
.guarantee-contact-balloon {
	max-width: 220px;
	display: block;
    margin: -45px auto 30px;
}
.guarantee-contact-flex {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    width: 100%;
}
.guarantee-contact-note {
	margin-top: 20px;
}
.guarantee-box h3 {
    font-size: 26px;
    color: #dc000d;
    margin-bottom: 20px;
}
.guarantee-box p {
    font-size: 18px;
    color: #333;
    line-height: 1.6;
}
.sec-bnr-download {
    width: 100%;
	max-width: 950px;
    background: #fff;
    padding: 60px 0;
	margin: 0 auto;
    display: block;
}
.bnr-download-button:hover {
    background: #f5f5f5;
}



.sec-faq {
    width: 100%;
    background: #F3EFEB;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.faq-cont {
    max-width: 1200px;
    margin: 0 auto;
}
.faq-ttl {
    max-width: 288px;
    display: block;
    margin: 30px auto 48px;
}
.faq-ttl img {
    display: block;
	margin: 0 auto;
}
.faq-desc {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    max-width: 700px;
    margin-bottom: 40px;
}
.faq-list {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.faq-list-item {
    background: #fff;
    padding: 15px 20px;
    margin-bottom: 10px;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.faq-list-item:last-child {
    margin-bottom: 0;
}
.faq-question {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.faq-question::after {
    content: "＋";
    font-size: 24px;
    font-weight: bold;
    color: #dc000d;
    transition: transform 0.3s ease-in-out;
}
.faq-list-item.active .faq-question::after {
    content: "−";
    transform: rotate(180deg);
}
.faq-answer {
    font-size: 18px;
    color: #fff;
    background: #000;
    padding: 15px;
    margin-top: 10px;
    border-radius: 8px;
    display: none;
}
.faq-list-item.active .faq-answer {
    display: block;
}
.faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
}
.faq-icon img {
    width: 100%;
    height: auto;
}
.faq-icon img.faq-icon-a {
    width: 44px;
    height: 44px;
}
.acc-btn {
	display: flex;
	background: #DC000D;
	padding: 20px 40px;
	position: relative;
}
.acc-btn p {
	color: #fff;
	font-size: 20px;
	line-height: 3rem;
	margin-left: 16px;
}
.acc-btn .faq-icon:last-child {
	position: absolute;
	right: 40px;
	margin-right: 0;
}
.acc-panel-inner {
	padding: 32px 40px 28px 36px;
	border: 3px solid #dc000d ;
	background: #fff;
	position: relative;
	display: flex;
}
.answer-box {
	text-align: left;
	max-width: 1064px;
}
.answer-box p {
	font-size: 18px;
	margin-left: 16px;
}
.acc-box {
	margin-bottom: 40px;
}
/* クリック時にプラスアイコンをマイナスアイコンに変更 */
.acc-box .faq-icon img.faq-icon-plus {
    display: block;
}

.acc-box .faq-icon img.faq-icon-minus {
    display: none;
}

/* アコーディオンが開いている場合のスタイル */
.acc-box.is-open .faq-icon img.faq-icon-plus {
    display: none;
}

.acc-box.is-open .faq-icon img.faq-icon-minus {
    display: block;
}

/* 初期状態 */
.acc-box .faq-icon img.faq-icon-plus {
    opacity: 1;
    transition: opacity 0.3s ease-in-out; /* ゆっくりフェードアウト */
}

.acc-box .faq-icon img.faq-icon-minus {
    opacity: 0;
    transition: opacity 0.3s ease-in-out; /* ゆっくりフェードイン */
}

/* アコーディオンが開いたとき */
.acc-box.is-open .faq-icon img.faq-icon-plus {
    opacity: 0;
}

.acc-box.is-open .faq-icon img.faq-icon-minus {
    opacity: 1;
}

.enjoy-ttl {
	position: relative;
}
.enjoy-ttl:last-child() {
	position: absolute;
}

.sec-enjoy {
	background-image:  url(../images/enjoy-txt.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	aspect-ratio: 1700 / 515;
	position: relative;
	overflow: hidden;
}
.enjoy-ttl {
	max-width: 840px;
	margin: 3rem 0 37px;
}
.enjoy-cont {
	max-width: 1200px;
	margin: 0 auto;
}

/* PC小画面 */
@media screen and (max-width: 1440px) and (min-width: 1025px) {
  .point-grid-item {
    padding-right: 5%;
  }
  .point-grid-item:nth-of-type(even) {
    padding-left: 5%;
  }
  .point-grid-item>figure {
    position: absolute;
    top: -106px;
    left: 2%;
    width: 33%;
    max-width: 620px;
    z-index: 20;
  }

  .point-grid-item:nth-of-type(even)>figure {
    right: 2%;
    left: auto;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) and (min-width: 751px) {
  .point-grid-item {
    padding-right: 2%;
  }

  .point-grid-item:nth-of-type(even) {
    padding-left: 2%;
  }

  .point-grid-item>figure {
    position: absolute;
    top: -170px;
    left: 2%;
    width: 35%;
    max-width: 620px;
    z-index: 20;
  }

  .point-grid-item:nth-of-type(even)>figure {
    right: 2%;
    left: auto;
  }
}


/* スマホ */
@media screen and (max-width: 750px) {
	.sp {
		display: block;
	}
	header {
		height: 55px;
    padding: 0 5%;
	}
	.header-logo {
		width: 45px;
	}
  .header-txt {
    font-size: 10px;
  }
	.btn {
		width: 150px;
		font-size: 12px;
		padding: 10px 5px;
	}
	.btn > svg {
		right: 8px;
		width: 13px;
		height: 13px;
	}
	main {
		padding-top: 55px;
	}
	.sec-top-mv {
		aspect-ratio: 620 / 750;
	}
	.mv-cont {
		width: 95%;
		top: 25px;
	}
	.mv-txt-img {
		top: 99%;
		right: 25%;
		width: 50%;
	}
	.mv-txt-bg {
		width: 100%;
		top: 100px;
	}
	.mv-features {
		width: 80%;
	}
	.problem-cont {
		padding-top: 120px;
	}
	.problem-buy-box {
		width: 70%;
	}
	.problem-buy-box::before {
		width: 45px;
	}
	.problem-buy-box::after {
		width: 45px;
	}
	.problem-buy-box .btn {
		width: 250px;
		font-size: 20px;
		padding: 18px;
	}
	.problem-buy-box .btn > svg {
		right: 16px;
		width: 26px;
		height: 26px;
	}
	p.problem-txt {
		width: 75%;
	}
	.problem-img-list {
		display: block;
		margin-bottom: 15px;
		padding: 0 20px 0;
	}
	.problem-img-list > figure{
		margin-bottom: 20px;
	}

	.sec-problem::after {
		height: 70px;
	}
	.solution-cont {
		padding-top: 89px;
		gap: 35px;
	}
	.solution-ttl {
		width: 90%;
	}
	.solution-movie-grid {
		display: block;
	}
	.solution-movie-grid > div {
		padding: 15px;
		margin-bottom: 80px;
	}
	.solution-movie-grid > div:last-child {
		margin-bottom: 0;
	}
	.solution-balloon {
		width: 80%;
	}
	.solution-movie-grid > div > iframe {
		width: 350px;
		margin: 0 auto;
	}
	.solution-arrow-right {
			-webkit-transform: rotate(90deg); /* Safari, Chrome用 */
			-moz-transform: rotate(90deg);    /* Firefox用 */
			-ms-transform: rotate(90deg);     /* IE9用 */
			-o-transform: rotate(90deg);      /* Opera用 */
			transform: rotate(90deg);
			transform-origin: center center;  /* 回転の中心を画像の中央に設定 */
			top: 0;
			width: 80px;
			top: 45%;
	}
	p.solution-txt {
		width: 90%;
	}
	.case-cont {
		padding-top: 10px;
		gap: 30px;
		padding-bottom: 142px;
	}
	.case-ttl {
		width: 125%;
	}
	.case-grid {
		display: block;
		margin-bottom: 0px;
	}
	.case-grid-item {
		padding: 15px 20px;
	}
	.case-grid-item > div > p {
		font-size: 18px;
	}
	.case-num {
		width: 60px;
		left: 2px;
	}
  .sec-insta-ttl {
    font-size: 1.5rem;
  }
	.more-enjoy-txt-2 {
		width: 80%;
		margin-left: 15px;
	}
	.more-enjoy-img-box > figure {
		bottom: -150px;
		width: 55%;
		right: 0;
	}
	.eval-cont {
		padding-top: 50px;
		padding: 30px;
		gap: 20px;
	}
	.eval-ttl {
		width: 70%;
	}
	.eval-grid {
		gap: 20px;
	}
	.eval-grid-item {
		gap: 5px;
		padding-bottom: 25px;
	}
	.eval-grid-item > h3 {
		font-size: 18px;
	}
	.eval-grid-item > p {
		font-size: 14px;
	}
	.sec-bnr-buy .sec-inner {
		padding: 20px 0;
	}
	.point-ttl {
		width: 80%;
	}
	.btn-more-eval-box {
		height: 30px;
	}
	.point-cont {
		gap: 130px;
	}
	.point-grid {
		gap: 120px;
	}
	.point-grid-item {
		display: block;
		padding: 120px 15px 20px;
	}
	.point-grid-item:nth-of-type(even) .point-grid-item-body {
		display: block;
		padding: 80px 15px 20px;
	}
	.point-grid-item:nth-of-type(even) {
		display: block;
		padding: 80px 15px 20px;
	}
	.point-grid-item > figure{
		width: 80%;
		left: 10%;
	}
	.point-grid-item::after {
		top: 0;
		max-width: 120px;
		left: 80%;
	}
	.point-grid-item-body {
		padding: 15px;
	}
	.point-grid-item-body > img {
		display: none;
	}

	.point-grid-item-body > p {
		font-size: 16px;
	}
	.point-sub-ttl-box > h3 {
		font-size: 28px;
	}

	.delivery-item-box {
		padding: 20px;
	}
	.delivery-img-grid {
		display: block;
	}

	.sec-specs {
		padding: 50px 0;
	}
	.specs-item-box {
		padding: 20px;
	}
	.specs-list-tbl th {
		width: 120px;
	}
	.specs-list-tbl td {
		font-size: 14px;
		padding-left: 8px;
	}

	.sec-option {
		padding: 65px 0;
	}
	.option-plus-circle {
		width: 75px;
		height: 75px;
		top: -41px;
		right: 40%;
	}
	.option-grid {
		display: block;
		margin: 0 auto;
		padding: 30px 20px;
	}
	.option-grid-item {
		padding: 35px 25px;
		margin-bottom: 25px;
	}
	.option-balloon {
		max-width: 250px;
	}
	.option-grid-item p {
		font-size: 16px;
	}
	.guarantee-box {
		padding: 20px 0;
	}
	.guarantee-box h3 {
		width: 95%;
	}
	.guarantee-box p {
		font-size: 16px;
	}
	.guarantee-contact-box {
		margin-top: 35px;
		padding: 15px;
		max-width: 320px;
	}
	.guarantee-contact-balloon {
		max-width: 180px;
		margin-bottom: 15px;
	}
	.guarantee-contact-flex {
		display: block;
		
	}

	.sec-bnr-download {
		padding: 15px 0;
	}

	.sec-faq {
		padding: 50px 0;
	}
	.faq-list .acc-btn {
		padding: 5px;
	}
	.acc-box {
		margin-bottom: 20px;
	}
	.acc-btn p {
		font-size: 14px;
		margin-left: 5px;
	}
	.acc-btn .faq-icon:last-child {
		right: 15px;
	}
	.faq-icon {
		width: 33px;
	}
	.acc-panel-inner {
		padding: 24px 15px 24px 2px;
	}
	.answer-box {
		max-width: 320px;
	}


	.footer-contents > div {
		display: block;
	}
	.footer-contents {
		display: block;
		padding: 20px 0;
	}
	.footer-copy {
		font-size: 12px;
	}
  }