body {
	color: #4e4e4e;
	font-family: "Noto Sans JP", sans-serif;
}

.pc {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.layout-app-ltv {
	margin-top: 5rem;
}

.layout-app {
	margin-top: 2.8125rem;
}

.layout-common {
	margin-top: 3.5rem;
}

.layout-contact {
	margin-top: 0.5rem;
}

.layout-other {
	margin-top: 4.375rem;
}

.layout-pasta {
	margin-top: 4.6875rem;
}

/*
***************************************************************/

.about__inner.inner {
	max-width: 600px;
}

.about__block {
	margin-top: 1.5625rem;
	padding-bottom: 3.125rem;
	position: relative;
}

.about__block .about__text {
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-top: 1.125rem;
}

.about__block .about__text p:not(:first-child) {
	margin-top: 1rem;
}

.about__block .about__text .dark {
	font-weight: 500;
}

.about__block .about__name-block {
	align-items: end;
	display: flex;
	flex-direction: column;
	margin-top: 1.5625rem;
}

.about__block .about__name {
	font-size: 0.9375rem;
	line-height: 1.6;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.about__name::after {
	background: url(/pasta-app/assets/images/common/pasta.svg) no-repeat;
	background-size: contain;
	bottom: -2.4375rem;
	bottom: -2.4375rem;
	content: "";
	content: "";
	height: 9.375rem;
	height: 9.375rem;
	left: -12.6875rem;
	left: -12.6875rem;
	position: absolute;
	width: 18.125rem;
}

.about__name dl {
	display: flex;
	gap: 1em;
}

/*
***************************************************************/

.app-ltv__why {
	margin: 0 auto;
	max-width: 23.75rem;
	text-align: center;
}

.app-ltv__why-title {
	background-image: linear-gradient(to right, #d0cda2, #d0cda2 5px, transparent 5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 8px 3px;
	padding-bottom: 0.5rem;
}

.app-ltv__why-title span {
	display: inline-block;
	font-size: 1.6875rem;
	padding-left: 3.125rem;
	position: relative;
}

.app-ltv__why-title span::before {
	background: #ff9c34;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 2.1875rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 2.1875rem;
}

.app-ltv__why-title span::after {
	color: #fff;
	content: "？";
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	left: 0.125rem;
	position: absolute;
	top: -0.4375rem;
}

.app-ltv__why-text {
	font-size: 1.125rem;
	font-weight: 700;
	margin-top: 0.3125rem;
}

.app-ltv__stat-block {
	margin: 1.25rem auto 0;
	max-width: 24.375rem;
}

.app-ltv__stat {
	align-items: center;
	background: linear-gradient(to bottom, #fff 0%, #efeee4 100%);
	border-radius: 1.5rem;
	display: flex;
	gap: 7.53%;
	height: 100%;
	max-height: 5.9375rem;
	padding: 0.9375rem;
}

.app-ltv__stat:not(:first-child) {
	margin-top: 0.8125rem;
}

.app-ltv__img {
	width: 26.39%;
}

.app-ltv__img img {
	-o-object-fit: cover;
	aspect-ratio: 82/64;
	object-fit: cover;
	width: 100%;
}

.app-ltv__stat:nth-child(3) img {
	-o-object-fit: cover;
	aspect-ratio: 121/127;
	margin: 0 auto;
	object-fit: cover;
	width: 85%;
}

.app-ltv__stat-text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.2;
	width: 63.08%;
}

.app-ltv__stat-text .roboto {
	font-size: 1.5rem;
}

.app-ltv__stat-text strong {
	color: #f55f5f;
	font-weight: 900;
}

.app-ltv__source {
	font-size: 0.875rem;
	font-weight: 700;
	margin-top: 1.25rem;
	text-align: center;
}

/*
***************************************************************/

.app-message__img {
	margin: 2.3125rem auto 0;
	max-width: 8.3125rem;
	position: relative;
	z-index: 1;
}

.app-message__img::before {
	background: #ff9c34;
	border-radius: 50%;
	bottom: 1.0625rem;
	content: "";
	height: 8.9375rem;
	left: -0.6875rem;
	opacity: 0.15;
	position: absolute;
	width: 8.9375rem;
	z-index: -1;
}

.app-message__text {
	margin-top: -1.875rem;
	position: relative;
	text-align: center;
	z-index: 2;
}

.app-message__header {
	background: #f55f5f;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	padding: 0.5rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.app-message__items {
	margin: 0.9375rem auto 0;
	padding-left: 0.9375rem;
	text-align: left;
	width: -moz-fit-content;
	width: fit-content;
}

.app-message__item {
	font-size: 1.25rem;
	font-weight: 500;
	margin-top: 0.3125rem;
	position: relative;
}

.app-message__item::before {
	background: url(/pasta-app/assets/images/common/point.png) no-repeat;
	background-size: contain;
	content: "";
	height: 1.0625rem;
	left: -1.9375rem;
	max-width: 1.0625rem;
	position: absolute;
	top: 0.375rem;
	width: 100%;
}

/*
***************************************************************/

.app {
	overflow: hidden;
	padding-bottom: 7.5rem;
}

.app__block {
	margin-top: 0.3125rem;
	padding-left: 1.25rem;
}

.app__title.title {
	font-size: 1.25rem;
	text-align: center;
}

.app__title.title span {
	background: linear-gradient(transparent 71%, #fffb28 29%);
	font-size: 1.25rem;
	line-height: 1.2;
	padding: 0;
	text-align: left;
}

.app__block01 {
	margin-top: 1.5625rem;
}

.app__lead {
	margin: 0 auto;
	max-width: 23.4375rem;
}

/*
***************************************************************/

.box {
	background: #fff;
	border: 0.125rem solid #d0cda2;
	border-radius: 1.875rem;
	padding: 1.25rem 0.9375rem 1.4375rem;
	position: relative;
}

.box__img {
	background-size: contain;
	bottom: -4.25rem;
	content: "";
	height: 7.0625rem;
	max-width: 6.25rem;
	position: absolute;
	right: 0.9375rem;
	width: 100%;
}

.box__text {
	font-weight: 700;
	line-height: 1.75;
}

.box__text span {
	background: #fff;
	color: #f55f5f;
}

.box--orange {
	background: #ff9c34;
	border: none;
	padding: 1.6875rem 1.125rem 1.8125rem;
}

.box--orange::before {
	background: #ff9c34;
	bottom: -2rem;
	content: "";
	height: 4.1875rem;
	opacity: 0.11;
	position: absolute;
	right: -1.4375rem;
	transform: rotate(36deg);
	width: 3.75rem;
	z-index: -1;
}

.box--orange::after {
	background: #ff9c34;
	content: "";
	height: 4.75rem;
	left: -2.375rem;
	opacity: 0.11;
	position: absolute;
	top: -3.75rem;
	transform: rotate(33deg);
	width: 4.25rem;
	z-index: -1;
}

.box--orange .box__text {
	color: #fff;
}

/*
***************************************************************/

.btn-block li {
	width: 100%;
}

.btn-block li:not(:first-child) {
	margin-top: 0.9375rem;
}

/*
***************************************************************/

.btn {
	background: #111;
	border: 1px #fff solid;
	color: #fff;
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 0.5625rem 0.3125rem;
	text-align: center;
	width: 100%;
}

.btn:hover {
	opacity: 0.7;
}

/*
***************************************************************/

.button {
	-webkit-text-decoration: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

/*
***************************************************************/

.caution {
	color: #f55f5f;
}

/*
***************************************************************/

.comparison {
	border-collapse: collapse;
	color: #686868;
	margin: 1.875rem auto 0;
	width: 100%;
}

.comparison__table {
	border-collapse: collapse;
	table-layout: fixed;
	text-align: center;
	width: 100%;
	width: 100%;
}

.comparison__body th {
	padding-left: 0.125rem;
}

.comparison__head {
	background: #fff;
}

.comparison__row {
	background-image: linear-gradient(to right, #d0cda2, #d0cda2 5px, transparent 5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 9px 2px;
	position: relative;
}

.comparison__row-solid {
	border-bottom: 0.125rem solid #d0cda2;
}

.comparison__table .comparison__cell--label {
	width: 38%;
}

.comparison__row-solid th {
	font-size: 1.25rem;
	padding: 0 0.3125rem 0.3125rem;
}

.comparison__cell {
	font-size: 0.9375rem;
	line-height: 1;
	padding: 0.5625rem 0.3125rem;
}

.comparison__cell--highlight {
	color: #f55f5f;
	font-weight: bold;
}

.comparison__cell--label {
	border-right: 0.125rem solid #d0cda2;
	font-weight: bold;
	text-align: left;
}

/* ○ */

.icon {
	display: inline-block;
	height: 1.625rem;
	width: 1.625rem;
}

/* ◎ */

.icon--double-circle {
	display: inline-block;
	height: 1.625rem;
	width: 1.625rem;
}

/* △ */

.icon--triangle {
	display: inline-block;
	height: 1.375rem;
	width: 1.5625rem;
}

/* × */

.icon--cross {
	height: 1.5rem;
	width: 1.5rem;
}

/*
***************************************************************/

.contact-block__text {
	font-size: 0.875rem;
	padding-left: 0.3125rem;
}

.contact-block__form {
	margin-top: 2rem;
}

/*
***************************************************************/

.contact {
	background: #f6f6f6;
	padding-top: 3.5rem;
}

.contact__inner {
	max-width: 600px;
}

.contact__top-block {
	margin-top: 2.5rem;
}

.contact__top-text p {
	line-height: 1.3;
	margin: 0 auto;
	width: -moz-fit-content;
	width: fit-content;
}

.contact__top-text span {
	font-size: 1.375rem;
	font-weight: 500;
}

.contact__top-img {
	margin-top: 1.25rem;
}

.contact__top-img img {
	-o-object-fit: cover;
	aspect-ratio: 341/289;
	object-fit: cover;
	width: 100%;
}

.contact__block {
	margin-top: 1.875rem;
}

/* コンタクトフォーム
***************************************************************/

.contactform dt {
	font-weight: 700;
	margin-top: 0.9375rem;
	text-align: left;
	width: 100%;
}

.contactform dd {
	margin-top: 0.5rem;
	width: 100%;
}

.last_name,
.first_name {
	align-items: center;
	display: flex;
	gap: 8%;
	justify-content: center;
}

.names {
	display: flex;
	gap: 8%;
}

.names span {
	font-weight: 700;
}

.last_name span,
.first_name span {
	width: 13%;
}

input[type=text],
input[type=tel],
input[type=email],
select {
	background: #fff;
	border: 1px solid #c6c6c6;
	border-radius: 0.375rem;
	padding: 0.9375rem 0.625rem;
	width: 100%;
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
textarea::-moz-placeholder {
	color: #c1b6b6;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
textarea::placeholder {
	color: #c1b6b6;
}

textarea {
	background: #fff;
	border: 1px solid #c6c6c6;
	border-radius: 0.375rem;
	height: 100%;
	min-height: 15.3125rem;
	padding: 0.9375rem;
	width: 100%;
}

.contactform .caution {
	margin-left: 0.3125rem;
}

.caution--privacy {
	position: relative;
	top: -0.3125rem;
}

.contactform__btn {
	background: linear-gradient(to left, #f55f5f 0%, #ff9c34 100%);
	border-radius: 3.5625rem;
	margin: 1.5625rem auto 0;
	max-width: 21.25rem;
	position: relative;
	transition: 0.3s all;
}

.contactform__btn:hover {
	opacity: 0.7;
}

.contactform__btn::after {
	background: linear-gradient(to left, #f55f5f 0%, #ff9c34 100%);
	border-radius: 3.5625rem;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.2;
	position: absolute;
	top: 0.3125rem;
	width: 100%;
	z-index: 1;
}

.submit-btn {
	border-radius: 3.5625rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	height: 100%;
	padding: 1.5625rem 6.875rem;
	position: relative;
	width: 100%;
	z-index: 2;
}

.privacy-check {
	display: flex;
	font-weight: 700;
	justify-content: center;
	margin-top: 0.3125rem;
}

input[type=checkbox] {
	background-color: #fff;
	border: 0.125rem solid #000;
	cursor: pointer;
	display: inline-block;
	height: 1.375rem;
	margin-right: 0.25rem;
	width: 1.375rem;
}

/* アイコン */

.checkbox {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 1.5rem;
	position: relative;
	width: 1.5rem; /* アイコン：選択済みの見た目 */ /* チェックマーク */ /* チェックマーク：選択済みの見た目 */
}

.checkbox:checked {
	background: #fff;
}

.checkbox::before {
	border-bottom: 0.1875rem solid #ff9c34;
	border-left: 0.1875rem solid #ff9c34;
	content: "";
	height: 0.5rem;
	left: 0.125rem;
	opacity: 0;
	position: absolute;
	top: 0.25rem;
	transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 1rem;
}

.checkbox:checked::before {
	opacity: 1;
}

.privacy-text {
	display: inline-block;
	font-size: 0.9375rem;
	line-height: 1.8;
}

.privacy-text a {
	border-bottom: 1px solid #f55f5f;
	color: #f55f5f;
	font-size: 0.9375rem;
	font-weight: 700;
}

/*
***************************************************************/

.cta {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
	padding: 2.1875rem 0 1.875rem;
	position: relative;
}

.cta__inner.inner {
	max-width: 21.25rem;
	position: relative;
}

.cta::before {
	background: url(/pasta-app/assets/images/common/pasta.svg) no-repeat;
	background-size: contain;
	content: "";
	height: 6.375rem;
	position: absolute;
	right: 0.75rem;
	top: 1.875rem;
	transform: rotate(8deg);
	width: 12rem;
	z-index: 0;
}

.cta__text {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
}

.cta__btn {
	margin: 1.25rem auto 0;
	max-width: 19.375rem;
}

/*
***************************************************************/

.dark {
	color: #111;
}

/*
***************************************************************/

.fade-in-left {
	opacity: 0;
	transform: translateY(50px);
	transition: all 1s ease;
}

.fade-in-left.is-show {
	opacity: 1;
	transform: translateY(0);
}

/*
***************************************************************/

.footer {
	background: #f6f6f6;
	padding: 2.5rem 0 1.25rem;
}

.footer__text {
	text-align: center;
}

.footer__text small {
	font-size: 1.25rem;
	font-weight: 500;
}

/*
***************************************************************/

.frog__items {
	margin: 0 auto;
	max-width: 21.5625rem;
	padding-left: 1.4375rem;
}

.frog__item:not(:first-child) {
	margin-top: 3.25rem;
}

.frog__text {
	line-height: 1.6;
	margin-left: 1.125rem;
	margin-top: 0.75rem;
}

.frog__video {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 1.5625rem;
}

/*
***************************************************************/

.hamburger {
	height: 3rem;
	outline: none;
	position: fixed;
	right: 0.5rem;
	top: 0.3125rem;
	transition: all 0.3s ease-in-out;
	width: 3rem;
	z-index: 11;
}

.hamburger__line {
	background-color: #fff;
	border-radius: 0.125rem;
	bottom: 0;
	height: 2px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	transition: inherit;
	width: 2rem;
}

.hamburger__line::before,
.hamburger__line::after {
	background-color: inherit;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	transition: inherit;
	width: 100%;
}

.hamburger__line::before {
	top: -0.75rem;
}

.hamburger__line::after {
	top: 0.75rem;
}

.is-active .hamburger__line {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
}

.is-active .hamburger__line::before,
.is-active .hamburger__line::after {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
}

.hamburger[aria-expanded=true] .hamburger__line {
	background: transparent;
}

.hamburger[aria-expanded=true] .hamburger__line::before,
.hamburger[aria-expanded=true] .hamburger__line::after {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
	top: 0;
}

.hamburger[aria-expanded=true] .hamburger__line::before {
	transform: rotate(45deg);
}

.hamburger[aria-expanded=true] .hamburger__line::after {
	transform: rotate(-45deg);
}

/*
***************************************************************/

.header__pc {
	display: none;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}

/*
***************************************************************/

.lead {
	text-align: center;
}

.lead__item {
	position: relative;
}

.lead__item::before,
.lead__item::after {
	background: #d0cda2;
	content: "";
	height: 3.4375rem;
	position: absolute;
	width: 0.125rem;
	z-index: 1;
}

.lead__item::before {
	bottom: 1.25rem;
	left: 0;
}

.lead__item::after {
	bottom: 1.25rem;
	right: 0;
}

.lead__item:not(:first-child) {
	margin-top: 0.9375rem;
}

.lead__item-text {
	background: #fff;
	border-bottom: 2px solid #d0cda2;
	border-top: none;
	display: inline-block;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 1.25rem;
	padding-bottom: 0.9375rem;
	position: relative;
	width: 100%;
}

/* 吹き出しの三角 */

.lead__item-text::before,
.lead__item-text::after {
	content: "";
	left: 50%;
	position: absolute;
	top: 100%;
	transform: translateX(-50%);
}

.lead__item-text::before {
	border: solid 0.6875rem transparent;
	border-top: solid 0.9375rem #d0cda2;
}

.lead__item-text::after {
	border: solid 0.75rem transparent;
	border-top: solid 1.0625rem #fff;
	margin-top: -0.3125rem;
}

.lead__highlight {
	background: #ff9c34;
	color: #fff;
	padding: 0 0.1875rem;
}

.lead__em {
	color: #f55f5f;
	font-size: 1.125rem;
}

/*
***************************************************************/

.mv {
	overflow: hidden;
}

.mv__background {
	background: linear-gradient(to right, #f55f5f 0, #ff9c34 50%);
	position: relative;
}

.mv__triangle {
	-webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	background: #fff;
	bottom: -2px;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	height: 20.3125rem;
	position: absolute;
	right: 0;
	transform: translateY(500px);
	transition: transform 0.4s;
	width: 10.875rem;
	will-change: transform;
}

.mv__triangle.mv-show {
	transform: translateY(0);
}

.mv__pc-flex {
	height: 42.3125rem;
	padding-top: 4.6875rem;
}

.mv__top-block {
	color: #fff;
	display: flex;
	flex-direction: column-reverse;
}

.mv__sp-flex {
	display: flex;
	gap: 6%;
	justify-content: center;
	margin: 1.25rem auto 0;
	width: 100%;
}

.mv__title {
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.6;
	position: relative;
}

.mv__main-title {
	margin-top: 0.3125rem;
	position: relative;
}

.mv__title span {
	display: block;
	font-size: 2.375rem;
	font-weight: 500;
	line-height: 1;
}

.mv__title span::after {
	background: url(/pasta-app/assets/images/common/pasta.svg) no-repeat;
	background-size: contain;
	bottom: -6.5rem;
	content: "";
	height: 6.75rem;
	left: 0;
	position: absolute;
	width: 11.875rem;
	z-index: 0;
}

.mv__main-text {
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 900;
	line-height: 1;
	margin-top: 6.4375rem;
	position: relative;
	text-align: center;
}

.mv__main-text::before {
	background: url(/pasta-app/assets/images/common/grass.svg) no-repeat;
	background-size: contain;
	bottom: -0.1875rem;
	content: "";
	height: 4.5625rem;
	left: 0.1875rem;
	position: absolute;
	width: 2.3125rem;
	z-index: 0;
}

.mv__main-text::after {
	background: url(/pasta-app/assets/images/common/grass.svg) no-repeat;
	background-size: contain;
	bottom: -0.3125rem;
	content: "";
	height: 4.5625rem;
	position: absolute;
	right: 0.25rem;
	transform: scaleX(-1);
	width: 2.3125rem;
	z-index: 0;
}

.mv__main-text em {
	font-family: "Roboto", sans-serif;
	font-size: 1.4375rem;
	font-style: normal;
}

.mv__main-under {
	color: #fff;
	font-size: 0.625rem;
	line-height: 1.2;
	margin-top: 0.125rem;
	padding-left: 0.75rem;
	position: relative;
	text-indent: -1em;
}

.mv__sp-img {
	max-width: 9.5625rem;
	position: relative;
	z-index: 1;
}

.mv__sp-img img {
	-o-object-fit: cover;
	aspect-ratio: 107/207;
	object-fit: cover;
	width: 100%;
}

.mv__text-block {
	margin: 0 auto;
	max-width: 21.5625rem;
	padding: 0 1.875rem;
	width: 100%;
}

.mv__text {
	font-size: 1.75rem;
	line-height: 1.2;
	position: relative;
}

.mv__text span {
	font-size: 2.125rem;
	font-weight: 700;
}

.mv__text::before,
.mv__text::after {
	background: url(/pasta-app/assets/images/common/mv-text-deco.svg) no-repeat;
	background-size: contain;
	content: "";
	height: 2.625rem;
	position: absolute;
	width: 2.625rem;
}

.mv__text::before {
	left: -1.75rem;
	top: -1.25rem;
}

.mv__text::after {
	bottom: -1rem;
	right: -1.9375rem;
	transform: rotate(180deg);
}

.mv__btn {
	margin: 2.5rem auto 0;
	max-width: 19.375rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.mv__pc-img {
	max-width: 17.5625rem;
	position: relative;
	z-index: 1;
}

.mv__pc-img img {
	-o-object-fit: cover;
	aspect-ratio: 281/542;
	object-fit: cover;
	width: 100%;
}

.mv__bottom {
	margin-top: 2.5rem;
	position: relative;
}

.mv__bottom::after {
	background: url(/pasta-app/assets/images/common/arrow_sp.png) no-repeat;
	background-size: contain;
	bottom: -4.1875rem;
	content: "";
	height: 3.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.75rem;
}

.mv__bottom-text {
	color: #fa7d4a;
	font-size: 1.375rem;
	font-weight: 700;
	margin: 0 auto;
	max-width: 21.5625rem;
	padding-left: 1.75rem;
	position: relative;
	text-align: center;
}

.mv__bottom-text::before {
	background: url(/pasta-app/assets/images/common/ltv-left.svg) no-repeat;
	background-size: contain;
	content: "";
	height: 1.75rem;
	left: 0.5625rem;
	position: absolute;
	top: 0;
	width: 1.75rem;
}

/*
***************************************************************/

.other {
	overflow: hidden;
}

.other__inner.inner {
	max-width: 500px;
}

.other__box {
	margin-top: 1.875rem;
	position: relative;
}

.other__box::before {
	background: url(/pasta-app/assets/images/common/arrow_sp.png) no-repeat;
	background-size: contain;
	bottom: -5.875rem;
	content: "";
	height: 4.5625rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.875rem;
}

.other__box01 {
	position: relative;
	top: -0.75rem;
}

.other__box-img {
	bottom: -4.6875rem;
	height: 6.25rem;
	max-width: 9.375rem;
	position: absolute;
	right: 0;
	width: 100%;
	z-index: 1;
}

.other__text {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 6.5625rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.other__img-left {
	height: 3.125rem;
	left: calc(50% - 11.25rem);
	max-width: 5.0625rem;
	position: absolute;
	top: -0.625rem;
}

.other__img-right {
	bottom: 1.25rem;
	height: 4.6875rem;
	max-width: 4.625rem;
	position: absolute;
	right: calc(50% - 11.125rem);
}

.other__background {
	background: #fff;
	display: inline-block;
	line-height: 1.4;
	padding: 0.4375rem 0.5625rem 0.8125rem;
}

.other__text-en {
	font-size: 1.75rem;
}

.other__text strong {
	color: #f55f5f;
	display: inline-block;
	font-size: 1.875rem;
	font-weight: 700;
}

.other__comparison-title {
	margin: 6.5625rem auto 0;
	max-width: 21.5625rem;
	padding: 0.375rem 0;
	position: relative;
	text-align: center;
}

.other__comparison-title::before,
.other__comparison-title::after {
	content: "";
	height: 100%;
	position: absolute;
	width: 1.25rem;
}

.other__comparison-title::before {
	border-bottom: solid 0.1875rem #f55f5f;
	border-left: solid 0.1875rem #f55f5f;
	border-top: solid 0.1875rem #f55f5f;
	left: 0;
	top: 0;
}

.other__comparison-title::after {
	border-bottom: solid 0.1875rem #f55f5f;
	border-right: solid 0.1875rem #f55f5f;
	border-top: solid 0.1875rem #f55f5f;
	right: 0;
	top: 0;
}

.other__comparison-title span {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
}

.other__comparison-title span::after {
	background-image: linear-gradient(to right, #f55f5f, #f55f5f 5px, transparent 5px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 9px 4px;
	bottom: -0.5rem;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 220%;
}

.other__comparison-text {
	font-weight: 500;
	line-height: 1.7;
	margin-top: 1.25rem;
}

/*
***************************************************************/

.pasta__title-text {
	color: #f55f5f;
	font-size: 1.625rem;
	font-weight: 700;
	margin: 0 auto;
	max-width: 15.125rem;
	padding: 0.9375rem 0;
	position: relative;
	text-align: center;
}

.pasta__title-text span {
	font-size: 2.25rem;
	font-weight: 500;
}

.pasta__title-text::before,
.pasta__title-text::after {
	content: "";
	height: 1.875rem;
	position: absolute;
	width: 2.9375rem;
}

.pasta__title-text::before {
	border-left: solid 0.3125rem #f55f5f;
	border-top: solid 0.3125rem #f55f5f;
	left: 0;
	top: 0;
}

.pasta__title-text::after {
	border-bottom: solid 0.3125rem #f55f5f;
	border-right: solid 0.3125rem #f55f5f;
	bottom: 0;
	right: 0;
}

.pasta__frog {
	margin-top: 2.8125rem;
}

/*
***************************************************************/

.is-active .header__pc,
.is-active .header__sp {
	background: #fff;
}

.is-active .pc-menu__link {
	color: #4e4e4e;
}

.pc-menu__title {
	max-width: 6.5625rem;
}

.pc-menu__list {
	display: flex;
	gap: 1.75rem;
	height: inherit;
}

.pc-menu__items {
	display: flex;
	height: inherit;
}

.pc-menu__item {
	height: inherit;
}

.pc-menu__link {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	height: inherit;
	padding: 0 0.75rem;
	white-space: nowrap;
}

.pc-menu__list a:hover {
	opacity: 0.7;
}

.pc-menu__btn {
	align-items: center;
	flex-shrink: 0;
	gap: 0.625rem;
}

.pc-menu__btn li {
	max-width: 12.5rem;
}

.pc-menu__btn a {
	font-size: 1.25rem;
	padding: 0.375rem 0.3125rem;
}

/*
***************************************************************/

.qa-list__q {
	align-items: center;
	background-image: linear-gradient(to right, #d0cda2, #d0cda2 6px, transparent 6px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 0.625rem 0.125rem;
	display: flex;
	font-weight: 700;
	min-height: 3.4375rem;
	padding-bottom: 1.0625rem;
	padding-left: 4.0625rem;
	position: relative;
}

.qa-list__q span {
	display: inline-block;
	line-height: 1.45;
}

.qa-list__q::before {
	background: linear-gradient(to bottom, #f55f5f 0%, #ff9c34 100%);
	content: "";
	height: 2.5625rem;
	left: 0.1875rem;
	position: absolute;
	top: 0;
	width: 2.6875rem;
}

.qa-list__q::after {
	color: #fff;
	content: "Q";
	font-size: 2rem;
	font-weight: 700;
	left: 0.6875rem;
	position: absolute;
	top: -0.4375rem;
}

.qa-list__a {
	line-height: 1.65;
	margin-top: 0.375rem;
}

/*
***************************************************************/

.qa__item:not(:first-child) {
	margin-top: 1.875rem;
}

.qa__items {
	margin-top: 1.5625rem;
}

.qa__inner.inner {
	max-width: 600px;
}

/*
***************************************************************/

.repeater {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 1.5625rem;
	position: relative;
}

.repeater__img {
	bottom: -3.375rem;
	height: 7.25rem;
	position: absolute;
	right: 0.5rem;
	width: 9.625rem;
	z-index: 2;
	z-index: 1;
}

.repeater__title {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0 auto;
	max-width: 21.5625rem;
	width: 100%;
}

.repeater__block {
	background: linear-gradient(45deg, #ff9c34 0%, #f55f5f 100%);
	padding: 2.5rem 0;
	position: relative;
}

.repeater__block::before {
	background: #ff9c34;
	content: "";
	height: 4.0625rem;
	opacity: 0.11;
	position: absolute;
	right: 0;
	top: -2.0625rem;
	transform: rotate(56deg);
	width: 3.8125rem;
	z-index: -1;
}

.repeater__block::after {
	background: #ff9c34;
	bottom: -3.25rem;
	content: "";
	height: 5.3125rem;
	left: -0.5rem;
	opacity: 0.11;
	position: absolute;
	transform: rotate(24deg);
	width: 5rem;
	z-index: -1;
}

.repeater__strong {
	font-size: 1.5rem;
	font-weight: 900;
}

/*
***************************************************************/

/*あなたもこんな経験あるはず
***************************************************************/

.scroll-up {
	opacity: 0;
	transform: translateY(50px);
	transition: all 1s;
	visibility: hidden;
}

.scroll-up.show {
	opacity: 1;
	transform: translateY(0px);
	visibility: visible;
}

/*
***************************************************************/

.sp-global-menu {
	background-color: #fff;
	bottom: 0;
	color: #4e4e4e;
	font-size: 1.125rem;
	font-weight: 700;
	height: 100svh;
	overflow: hidden;
	overflow: scroll;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 100vw;
	z-index: 10;
}

.sp-global-menu__block {
	margin: 0 auto;
	max-width: 19.375rem;
	padding-top: 2.625rem;
}

.sp-global-menu__item {
	position: relative;
}

.sp-global-menu__item a {
	display: inline-block;
	line-height: 1.4;
	padding: 1.5rem 0 0.5rem;
}

.sp-global-menu__item::after {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.sp-global-menu__btn {
	margin-top: 2rem;
}

/*
***************************************************************/

.sp-menu {
	height: 3.5rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 3;
}

.sp-menu__title {
	left: 1.25rem;
	position: fixed;
	top: 1.25rem;
}

.sp-menu__header {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: flex-end;
	padding: 0 4.125rem;
	width: inherit;
}

.sp-menu__title {
	max-width: 3.3125rem;
}

.sp-menu__btn {
	flex-shrink: 0;
	width: 7.75rem;
}

.sp-menu__btn .btn {
	border: #fff solid 0.5px;
	font-size: 0.75rem;
	padding: 0.3125rem;
}

/*
***************************************************************/

.title {
	text-align: center;
}

.title span {
	background: linear-gradient(transparent 58%, #fffb28 35%);
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 700;
	padding: 0 0.875rem;
}

/*
***************************************************************/

.title01 {
	color: #6f91c8;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}

/*
***************************************************************/

.title02 {
	background: #ff9c34;
	color: #fff;
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 700;
	max-width: 19.375rem;
	padding: 0.25rem 1.6875rem;
	position: relative;
	width: 100%;
}

.title02::before {
	background: #d0cda2;
	content: "";
	height: 8.3125rem;
	left: 0;
	position: absolute;
	top: -0.75rem;
	width: 0.4375rem;
	z-index: -1;
}

.title02::after {
	border-color: transparent #fff transparent transparent;
	border-style: solid;
	border-width: 1.25rem 0.9375rem 1.25rem 0px;
	content: "";
	height: 0;
	position: absolute;
	right: -0.0625rem;
	top: 0;
	width: 0;
	z-index: 1;
}

/*
***************************************************************/

.title03 {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
	color: #fff;
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	padding: 0.3125rem;
	position: relative;
	text-align: center;
}

/*
***************************************************************/

.title04 {
	background: linear-gradient(to left, #f55f5f 0%, #ff9c34 100%);
	border-radius: 2.8125rem;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	max-width: 56.125rem;
	padding: 1.0625rem 0;
	position: relative;
	text-align: center;
}

.title04::after {
	background: url(/pasta-app/assets/images/common/pasta.svg) no-repeat;
	background-size: contain;
	content: "";
	height: 12.25rem;
	left: 48%;
	max-width: 23.5rem;
	position: absolute;
	top: -6.875rem;
	transform: translateX(-50%);
	width: 100%;
}

.title04__large {
	font-size: 1.625rem;
}

/*
***************************************************************/

.voice__inner {
	max-width: 600px;
}

.voice__block {
	background: #fff;
	border-radius: 0.75rem;
	margin-top: 1.5625rem;
	padding: 1.25rem 1.125rem 0.75rem;
	position: relative;
	text-align: center;
	z-index: 0;
}

.voice__block::before {
	-webkit-mask: linear-gradient(#fff 0%, #fff 100%) content-box, linear-gradient(#fff 0%, #fff 100%);
	-webkit-mask-composite: xor;
	background: linear-gradient(to right, #f55f5f 0%, #f55f5f 19%, #ff9c34 50%, #ff9c34 100%);
	border-radius: 0.75rem;
	bottom: 0;
	content: "";
	left: 0;
	mask-composite: exclude;
	padding: 0.125rem;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.voice__sub-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.voice__sub-title span {
	color: #f55f5f;
}

.voice__sub-title em {
	font-size: 1.5rem;
	font-style: normal;
}

.voice__text {
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.voice__video {
	margin-top: 1rem;
}

.voice__video video {
	-o-object-fit: cover;
	aspect-ratio: 311/174;
	object-fit: cover;
	width: 100%;
}

/*
***************************************************************/

.worries__background {
	background: linear-gradient(to bottom, #efeee4 0%, #fbfbfb 100%);
}

.worries__title {
	margin: 0 auto;
	position: relative;
	top: -1.5625rem;
}

.worries__top-text {
	margin: 0 auto;
	width: -moz-fit-content;
	width: fit-content;
}

.worries__top-text p {
	font-size: 1.125rem;
	font-weight: 700;
}

.worries__block {
	margin: 0 auto;
	max-width: 21.875rem;
}

.worries__item {
	position: relative;
}

.worries__item:not(:first-child) {
	margin-top: 3.4375rem;
}

.worries__item-img {
	background-size: contain;
	content: "";
	height: 10.5rem;
	left: 0.1875rem;
	position: absolute;
	top: -1.25rem;
	width: 9.9375rem;
	z-index: 1;
}

.worries__item:nth-child(2) .worries__item-img {
	background-size: contain;
	height: 7.1875rem;
	left: -0.3125rem;
	top: 2.375rem;
	width: 11.8125rem;
}

.worries__item:nth-child(3) .worries__item-img {
	background-size: contain;
	height: 6.8125rem;
	left: 0.1875rem;
	top: 1.75rem;
	width: 9.5625rem;
}

.worries__item::after {
	background-size: contain;
	border: 0.375rem solid #fff;
	border-radius: 50%;
	content: "";
	height: 8.4375rem;
	left: 2rem;
	position: absolute;
	position: absolute;
	top: 0;
	width: 8.4375rem;
	z-index: 0;
}

.worries__text-block {
	margin: 0 0 0 auto;
	max-width: 10rem;
	position: relative;
	z-index: 1;
}

.worries__text-title {
	background: #6f91c8;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 1.5625rem;
	padding: 0.0625rem 0.3125rem 0.0625rem 0.6875rem;
}

.worries__text {
	font-weight: 500;
	line-height: 1.2;
	margin-top: 0.9375rem;
	padding-left: 0.625rem;
}

.worries__bottom {
	background: #fff;
	border: #6f91c8 solid 0.25rem;
	margin: 1.25rem auto 0;
	max-width: 21.875rem;
	position: relative;
	position: relative;
	top: 2.1875rem;
}

.worries__bottom::after {
	background: url(/pasta-app/assets/images/common/arrow-blue_sp.svg) no-repeat;
	background-size: contain;
	bottom: -7.25rem;
	content: "";
	height: 7.25rem;
	left: 53%;
	position: absolute;
	transform: translateX(-50%);
	width: 1.5rem;
}

.worries__bottom p {
	font-weight: 500;
	margin: 0 auto;
	padding: 0.9375rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.worries__bottom-lead {
	margin: 9.8125rem auto 0;
	max-width: 21.5625rem;
}

@media screen and (min-width: 768px) {

.pc {
	display: block;
}

.sp {
	display: none;
}

html {
	font-size: 1.1428571429vw;
}

.layout-app-ltv {
	margin-top: 9.375rem;
}

.layout-app {
	margin-top: 7.8125rem;
}

.layout-common {
	margin-top: 5.5rem;
}

.layout-contact {
	margin-top: 8.75rem;
}

.layout-other {
	margin-top: 10.9375rem;
}

.layout-pasta {
	margin-top: 11.875rem;
}

.about__inner.inner {
	max-width: 1250px;
}

.about__block {
	border: 1px #d0cda2 solid;
	margin-top: 2.1875rem;
	padding: 3.25rem 0 3.125rem;
}

.about__block .about__text {
	font-size: 1.25rem;
	margin: 5.625rem auto 0;
	width: 81%;
}

.about__block .about__text p:not(:first-child) {
	margin-top: 2.1875rem;
}

.about__block .about__name-block {
	margin-right: 5rem;
	margin-top: 4.0625rem;
}

.about__block .about__name {
	font-size: 1.5rem;
	padding-right: 1.5rem;
}

.about__name::after {
	bottom: 0;
	height: 15.75rem;
	left: auto;
	left: initial;
	right: -0.9375rem;
	width: 30.3125rem;
}

.app-ltv__why {
	max-width: 34.0625rem;
}

.app-ltv__why-title {
	padding-bottom: 0.75rem;
}

.app-ltv__why-title span {
	font-size: 3rem;
	font-weight: 700;
	padding-left: 5.125rem;
}

.app-ltv__why-title span::before {
	height: 4.375rem;
	width: 4.375rem;
}

.app-ltv__why-title span::after {
	font-size: 3.75rem;
}

.app-ltv__why-text {
	font-size: 2rem;
	margin-top: 0.625rem;
}

.app-ltv__stat-block {
	margin-top: 2.1875rem;
	max-width: none;
}

.app-ltv__stat-list {
	grid-gap: 5%;
	display: grid;
	gap: 5%;
	grid-template-columns: repeat(3, 1fr);
}

.app-ltv__stat {
	flex-direction: column;
	gap: 0.75rem;
	max-height: none;
	max-height: initial;
	padding: 1.5rem 1.5rem 0.9375rem;
}

.app-ltv__stat:not(:first-child) {
	margin-right: 0;
	margin-top: 0;
}

.app-ltv__stat:last-child .app-ltv__img {
	width: 34%;
}

.app-ltv__img {
	width: 45%;
}

.app-ltv__stat:nth-child(3) img {
	width: 100%;
}

.app-ltv__stat-text {
	font-size: 1.875rem;
	line-height: 1.5;
	width: -moz-fit-content;
	width: fit-content;
}

.app-ltv__stat-text .roboto {
	font-size: 2.5rem;
}

.app-ltv__source {
	font-size: 1.125rem;
	margin-top: 1.875rem;
}

.app-message {
	display: flex;
	margin: 0 auto;
	padding-left: 0.625rem;
	width: 54%;
}

.app-message__img {
	max-width: 15rem;
}

.app-message__img::before {
	bottom: 1.875rem;
	height: 15rem;
	left: -0.3125rem;
	width: 15rem;
}

.app-message__text {
	margin-left: auto;
	margin-right: 0;
}

.app-message__header {
	font-size: 1.25rem;
	left: -7.8125rem;
	margin-top: 7.8125rem;
	max-width: 20.4375rem;
}

.app-message__items {
	padding-left: 1.875rem;
}

.app-message__item {
	font-size: 1.75rem;
	font-weight: 400;
	margin-top: 0.625rem;
}

.app-message__item::before {
	left: -1.6875rem;
	top: 0.875rem;
}

.app {
	padding-bottom: 10.625rem;
}

.app__block {
	margin-top: 0.9375rem;
	padding-left: 0;
}

.app__title.title span {
	background: linear-gradient(transparent 66%, #fffb28 34%);
	font-size: 2.5rem;
	font-weight: 700;
}

.app__block01 {
	margin-top: 2.1875rem;
}

.app__lead {
	max-width: 56.25rem;
}

.app__repeater {
	margin: 1.875rem auto 0;
	max-width: 75rem;
}

.box {
	border: 0.25rem solid #d0cda2;
	border-radius: 8.125rem;
	display: flex;
	justify-content: end;
	max-width: 56.25rem;
	padding: 1.875rem;
}

.box__img {
	bottom: -0.25rem;
	height: 12.375rem;
	left: 1.6875rem;
	max-width: 10.5625rem;
	right: auto;
	right: initial;
}

.box__text {
	font-size: 1.375rem;
	line-height: 1.6;
	width: 75%;
}

.box--orange {
	border: none;
	border-radius: 3rem;
	justify-content: initial;
	margin: 0 auto;
	padding: 4.0625rem 0.625rem 2.3125rem 2.9375rem;
}

.box--orange::before {
	bottom: auto;
	bottom: initial;
	height: 8.6875rem;
	right: -6.25rem;
	top: -3rem;
	width: 7.6875rem;
}

.box--orange::after {
	bottom: -5.375rem;
	height: 14rem;
	left: -8.9375rem;
	max-width: none;
	top: auto;
	top: initial;
	width: 12.5rem;
}

.box--orange .box__text {
	font-size: 1.75rem;
	line-height: 1.4;
	width: 100%;
}

.btn-block {
	display: flex;
	gap: 1.875rem;
}

.btn-block li:not(:first-child) {
	margin-top: 0;
}

.btn {
	font-size: 1.5rem;
	max-width: 36.25rem;
	padding: 1.25rem 0.3125rem;
}

.comparison {
	margin-top: 3.125rem;
}

.comparison__body th {
	font-size: 1.25rem;
	padding: 2.4375rem 0.3125rem 2.4375rem 1.875rem;
}

.comparison__row-solid th {
	font-size: 1.8125rem;
	padding-bottom: 1.4375rem;
}

.comparison__table .comparison__cell--label {
	width: 29%;
}

.icon {
	height: 3.3125rem;
	width: 3.3125rem;
}

.icon--double-circle {
	height: 3.625rem;
	width: 3.625rem;
}

.icon--triangle {
	height: 3.125rem;
	width: 3.625rem;
}

.icon--cross {
	height: 3.125rem;
	width: 3.125rem;
}

.contact-block__text {
	line-height: 1.75;
}

.contact-block__form {
	margin-top: 1.875rem;
}

.contact {
	padding-top: 5.5rem;
}

.contact__wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 4.6875rem;
}

.contact__top-block {
	background: #fff;
	border-radius: 1.0625rem;
	margin-top: 0;
	padding: 3.25rem 1.5rem;
	width: 37.5%;
}

.contact__top-text {
	font-size: 1.75rem;
	font-weight: 700;
}

.contact__top-text p {
	padding-left: 1.125rem;
	width: 100%;
}

.contact__top-text span {
	font-size: 2.125rem;
	font-weight: 700;
}

.contact__top-img {
	margin-top: 1.25rem;
}

.contact__top-img img {
	aspect-ratio: 470/765;
}

.contact__block {
	margin-top: 0;
	width: 58%;
}

.contactform dt {
	font-size: 1.5rem;
	margin-top: 0.625rem;
	width: 35%;
}

.contactform dd {
	margin-top: 0;
}

.last_name,
.first_name {
	font-size: 1.5rem;
	gap: 3%;
	width: 49%;
}

.contactform__name {
	display: flex;
}

.names {
	gap: 2%;
}

.contactform dl {
	display: flex;
}

.contactform dl:not(:first-child) {
	margin-top: 1.875rem;
}

input[type=text],
input[type=tel],
input[type=email],
select {
	font-size: 1.375rem;
	padding: 0.75rem 0.6875rem;
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
textarea::-moz-placeholder {
	font-size: 1.375rem;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
textarea::placeholder {
	font-size: 1.375rem;
}

textarea {
	font-size: 1.375rem;
	min-height: 10.9375rem;
	padding: 0.75rem 0.6875rem;
}

.contactform .caution {
	font-size: 1.125rem;
	left: -0.25rem;
	position: relative;
	top: -0.3125rem;
}

.contactform__btn {
	max-width: 29.75rem;
}

.submit-btn {
	font-size: 2rem;
	padding: 1.0625rem 6.875rem;
}

.privacy-check {
	align-items: center;
	margin-top: 0.9375rem;
}

input[type=checkbox] {
	height: 1.5rem;
	margin-right: 0.625rem;
	width: 1.5rem;
}

.privacy-text {
	font-size: 1.375rem;
}

.privacy-text a {
	font-size: 1.375rem;
}

.cta {
	padding: 5.4375rem 0 5rem;
}

.cta__inner.inner {
	display: flex;
	justify-content: space-between;
	max-width: 78.125rem;
}

.cta::before {
	height: 12.5rem;
	left: 1.875rem;
	right: auto;
	right: initial;
	top: 1.875rem;
	transform: none;
	transform: initial;
	width: 24.75rem;
}

.cta__text {
	font-size: 2rem;
	line-height: 1.3;
}

.cta__btn {
	flex-shrink: 0;
	margin: 0;
	max-width: none;
	width: 24.0625rem;
}

.cta__btn .btn {
	font-size: 1.5rem;
	padding: 1.25rem 0.3125rem;
}

.footer {
	padding: 5.25rem 0 3rem;
}

.footer__text small {
	font-size: 1.75rem;
}

.frog__items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: none;
	padding-left: 0;
}

.frog__item:not(:first-child) {
	margin-top: 0;
}

.frog__text {
	font-size: 1.25rem;
	line-height: 1.6;
	margin-left: 2.25rem;
	margin-top: 0.9375rem;
}

.frog__video {
	margin: 0;
}

.header__pc {
	display: block;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 3;
}

.inner {
	max-width: 1450px;
	padding-left: 25px;
	padding-right: 25px;
}

.lead__item::before,
.lead__item::after {
	content: none;
}

.lead__item:not(:first-child) {
	margin-top: 1.5625rem;
}

.lead__item-text {
	border-bottom: 0.25rem solid #d0cda2;
	border-left: 0.25rem solid #d0cda2;
	border-right: 0.25rem solid #d0cda2;
	border-top: none;
	font-size: 1.375rem;
	line-height: 2;
	margin-bottom: 2.1875rem;
	padding-bottom: 2.5rem;
}

.lead__item-text--height {
	line-height: 1.7;
	padding-bottom: 1.5rem;
}

.lead__item-text::before {
	border: solid 1.6875rem transparent;
	border-top: solid 1.75rem #d0cda2;
}

.lead__item-text::after {
	border: solid 2rem transparent;
	border-top: solid 2.125rem #fff;
	margin-top: -0.6875rem;
}

.lead__highlight {
	font-weight: 500;
	padding: 0.25rem;
}

.lead__em {
	font-size: 1.9375rem;
}

.mv {
	padding-bottom: 1.875rem;
}

.mv__background {
	background: linear-gradient(to right, #f55f5f 19%, #ff9c34 50%);
	height: initial;
	height: 48.4375rem;
	padding-top: 7.8125rem;
}

.mv__triangle {
	height: min(42rem, 35vw);
	transform: translateY(1000px);
	transition: transform 0.4s;
	width: min(51.875rem, 43vw);
}

.mv__inner.inner {
	max-width: 1555px;
}

.mv__pc-flex {
	display: flex;
	height: auto;
	height: initial;
	padding-top: 0;
}

.mv__sp-flex {
	justify-content: flex-start;
	margin: 4.6875rem 0 0 0;
}

.mv__pc-item-wrap {
	margin-top: 0;
	padding-left: 3.6%;
	width: 67%;
}

.mv__title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.mv__main-title {
	margin-top: 0;
}

.mv__title span {
	display: inline;
	font-size: 3rem;
	font-weight: 900;
	line-height: normal;
	line-height: initial;
}

.mv__title span::after {
	content: none;
}

.mv__main-text {
	font-size: 1.4375rem;
	font-weight: 700;
	margin-top: 0;
	width: -moz-fit-content;
	width: fit-content;
}

.mv__main-text::before {
	bottom: -0.875rem;
	height: 5.625rem;
	left: -2.3125rem;
	width: 2.9375rem;
}

.mv__main-text::after {
	bottom: -0.6875rem;
	height: 5.625rem;
	right: -2.375rem;
	width: 2.9375rem;
}

.mv__main-text em {
	font-size: 2.375rem;
}

.mv__main-under {
	font-size: 0.75rem;
	margin-top: 0.75rem;
}

.mv__text-block {
	margin: 2.8125rem auto 0;
	max-width: none;
	padding: 0;
}

.mv__text {
	font-size: min(3.2vw, 3.75rem);
	letter-spacing: -0.08em;
	line-height: 1.25;
}

.mv__text-up {
	letter-spacing: 0.03em;
}

.mv__text span {
	font-size: 4.4375rem;
	font-weight: 500;
}

.mv__text::before,
.mv__text::after {
	height: 4.5625rem;
	width: 4.5625rem;
}

.mv__text::before {
	left: -2.9375rem;
	top: -2.375rem;
}

.mv__text::after {
	bottom: -3.4375rem;
	right: -0.625rem;
}

.mv__btn {
	margin: 3.75rem 0 0;
	max-width: 41.875rem;
	z-index: 2;
}

.mv__pc-block {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 33%;
}

.mv__phone-img {
	margin-top: 2rem;
	position: relative;
	width: 58%;
	z-index: 1;
}

.mv__phone-img::after {
	background: url(/pasta-app/assets/images/common/pasta.svg) no-repeat;
	background-size: contain;
	bottom: 4.375rem;
	content: "";
	height: min(22.25rem, 18vw);
	position: absolute;
	right: 19.6875rem;
	width: min(42.625rem, 36vw);
	z-index: 0;
}

.mv__bottom {
	margin-top: 3.125rem;
}

.mv__bottom::after {
	background: url(/pasta-app/assets/images/common/arrow.svg) no-repeat;
	background-size: contain;
	bottom: -8.3125rem;
	height: 6.4375rem;
	width: 1rem;
	width: 1.1875rem;
}

.mv__bottom-text {
	font-size: 3rem;
	margin: 0 auto;
	max-width: none;
	width: -moz-fit-content;
	width: fit-content;
}

.mv__bottom-text::before {
	height: 3.5rem;
	left: -3.375rem;
	top: 0.4375rem;
	width: 3.3125rem;
}

.other__inner.inner {
	max-width: 970px;
}

.other__box {
	margin: 2.8125rem auto 0;
}

.other__box::before {
	background: url(/pasta-app/assets/images/common/arrow.svg) no-repeat;
	background-size: contain;
	bottom: -10.75rem;
	height: 7.0625rem;
	width: 1.375rem;
}

.other__box01 {
	top: -2.8125rem;
}

.other__box-img {
	bottom: -6.375rem;
	height: 12.1875rem;
	left: auto;
	left: initial;
	max-width: 14.75rem;
	right: 0.625rem;
}

.other__text {
	font-size: 2.5rem;
	margin-top: 12.8125rem;
}

.other__img-left {
	bottom: 1.625rem;
	height: 9.75rem;
	left: calc(50% - 29.125rem);
	max-width: 15.6875rem;
	top: auto;
	top: initial;
}

.other__img-right {
	bottom: 3.375rem;
	height: 11.75rem;
	max-width: 14.625rem;
	right: calc(50% - 27.375rem);
}

.other__background {
	padding: 0.375rem 0;
}

.other__text-en {
	font-size: 2.75rem;
}

.other__text strong {
	font-size: 3.5rem;
}

.other__comparison-title {
	margin: 4.6875rem auto 0;
	max-width: 55.3125rem;
	padding: 1rem 0;
}

.other__comparison-title::before,
.other__comparison-title::after {
	width: 3.125rem;
}

.other__comparison-title::before {
	border-bottom: solid 0.3125rem #f55f5f;
	border-left: solid 0.3125rem #f55f5f;
	border-top: solid 0.3125rem #f55f5f;
}

.other__comparison-title::after {
	border-bottom: solid 0.3125rem #f55f5f;
	border-right: solid 0.3125rem #f55f5f;
	border-top: solid 0.3125rem #f55f5f;
}

.other__comparison-title span {
	font-size: 2.5rem;
}

.other__comparison-title span::after {
	background-image: linear-gradient(to right, #f55f5f, #f55f5f 6px, transparent 2px);
	background-size: 10px 5px;
	bottom: -1.125rem;
	height: 0.3125rem;
	width: 340%;
}

.other__comparison-text {
	font-size: 1.625rem;
	line-height: 1.3;
	margin-top: 1.875rem;
	text-align: center;
}

.pasta__inner.inner {
	max-width: 1310px;
}

.pasta__title-text {
	font-size: 3.125rem;
	max-width: 30.1875rem;
}

.pasta__title-text span {
	font-size: 5rem;
}

.pasta__title-text::before,
.pasta__title-text::after {
	height: 3.25rem;
	width: 5.4375rem;
}

.pasta__frog {
	margin-top: 4.6875rem;
}

.pc-menu {
	align-items: center;
	display: flex;
	height: 5rem;
	justify-content: end;
	padding: 0 2.5rem;
	width: inherit;
}

.pc-menu__btn a {
	border: 1px #fff solid;
	font-size: 1rem;
	padding: 0.625rem 0.3125rem;
	width: 10.25rem;
}

.qa-list__q {
	font-size: 1.375rem;
}

.qa-list__q span {
	line-height: 1.5;
}

.qa-list__a {
	font-size: 1.125rem;
	margin-top: 1.4375rem;
}

.qa__item:not(:first-child) {
	margin-top: 2.5rem;
}

.qa__items {
	margin-top: 1.875rem;
}

.qa__inner.inner {
	max-width: 945px;
}

.repeater {
	margin: 0 auto;
	max-width: 75rem;
}

.repeater__img {
	bottom: -2rem;
	height: 14.3125rem;
	right: 4.3125rem;
	width: 18.5625rem;
}

.repeater__title {
	font-size: 2.5rem;
	line-height: 1.2;
	margin-left: 5rem;
	max-width: 37.5rem;
}

.repeater__block {
	padding: 2.96875rem 0;
}

.repeater__block::before {
	height: 15.875rem;
	right: -12.375rem;
	top: 0;
	transform: rotate(34deg);
	width: 14.125rem;
}

.repeater__block::after {
	bottom: auto;
	bottom: initial;
	height: 12.125rem;
	left: -5.5625rem;
	top: -5.3125rem;
	transform: rotate(15deg);
	width: 10.75rem;
}

.repeater__strong {
	font-size: 2.5rem;
}

.roboto {
	font-family: "Roboto", sans-serif;
}

.sp-menu {
	display: none;
}

.sp-menu__title {
	display: none;
}

.sp-menu__btn .btn {
	font-size: 1rem;
}

.title span {
	font-size: 3.4375rem;
	letter-spacing: 0.01em;
}

.title01 {
	font-size: 3.5rem;
}

.title02 {
	font-size: 1.75rem;
	max-width: 21.5625rem;
}

.title02::before {
	height: 11.375rem;
	left: 0.625rem;
}

.title02::after {
	border-width: 1.6875rem 1rem 1.375rem 0;
}

.title03 {
	display: inline-block;
	font-size: 1.875rem;
	left: -1.25rem;
	padding: 0.75rem 1.25rem 0.75rem 8.125rem;
	text-align: left;
	width: 92.5%;
}

.title03::before {
	border: none;
	border-bottom: solid 0.9375rem transparent;
	border-right: solid 1.25rem #912020;
	content: "";
	left: 0;
	position: absolute;
	top: 100%;
}

.title04 {
	border-radius: 3.4375rem;
	font-size: 2.125rem;
	font-weight: 500;
	margin: 0 auto;
	padding: 2.1875rem 0;
}

.title04::after {
	height: 13.5rem;
	left: auto;
	left: initial;
	max-width: 26.0625rem;
	right: -0.9375rem;
	top: -9.6875rem;
	transform: none;
	transform: initial;
}

.title04__large {
	font-size: 2.125rem;
}

.voice__block {
	margin: 2.1875rem auto 0;
	max-width: 56.25rem;
	padding: 3.125rem 3.125rem 3.4375rem;
}

.voice__block::before {
	padding: 0.375rem;
}

.voice__sub-title {
	font-size: 2rem;
}

.voice__sub-title em {
	font-size: 2.5rem;
}

.voice__text {
	font-size: 1.5rem;
	line-height: 1.75;
	margin-top: 1.5625rem;
}

.voice__video {
	margin-top: 1.5625rem;
}

.worries__title {
	top: -2.8125rem;
}

.worries__top-text {
	margin-top: -0.625rem;
}

.worries__top-text p {
	font-size: 1.75rem;
}

.worries__block {
	margin-top: 3.4375rem;
	max-width: 81.5625rem;
}

.worries__items {
	display: flex;
	gap: 3.38%;
}

.worries__item {
	width: 27.0625rem;
}

.worries__item:not(:first-child) {
	margin-top: 0;
}

.worries__item-img {
	bottom: -6.5rem;
	height: 15.4375rem;
	left: -1.5625rem;
	top: auto;
	top: initial;
	width: 14.6875rem;
}

.worries__item:nth-child(2) .worries__item-img {
	bottom: -5.875rem;
	height: 11.3125rem;
	left: 0.625rem;
	top: auto;
	top: initial;
	width: 17.9375rem;
}

.worries__item:nth-child(3) .worries__item-img {
	bottom: -5.25rem;
	height: 9.4375rem;
	left: 1.75rem;
	top: auto;
	top: initial;
	width: 12.6875rem;
}

.worries__item::after {
	border: 0.9375rem solid #fff;
	height: 18.75rem;
	left: 6.875rem;
	top: -1.25rem;
	width: 18.75rem;
}

.worries__text-block {
	max-width: 12.1875rem;
}

.worries__text-title {
	font-size: 2.25rem;
	padding: 0.3125rem;
	text-align: center;
}

.worries__text {
	font-size: 1.375rem;
	margin-top: 0.75rem;
}

.worries__bottom {
	margin-top: 5.9375rem;
	max-width: 75rem;
}

.worries__bottom::after {
	background: url(/pasta-app/assets/images/common/arrow-blue.svg) no-repeat;
	background-size: contain;
	bottom: -10.125rem;
	height: 9.9375rem;
	left: 51%;
	width: 1.5625rem;
}

.worries__bottom p {
	font-size: 1.75rem;
	padding: 1.5625rem;
}

.worries__bottom-lead {
	margin-top: 15rem;
	max-width: none;
}

}

@media (min-width: 1400px) {

html {
	font-size: 16px;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}


/*# sourceMappingURL=style.css.map */
