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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
	border: 0;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

ol,
ul {
	list-style: none;
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	margin: 0;
	padding: 0;
}

input,
select,
textarea {
	color: inherit;
	font: inherit;
	vertical-align: top;
}

@font-face {
	font-family: "NotoSansJP";
	font-weight: 100 900;
	src: url("../fonts/SourceHanSansJP-VF.otf.woff2") format("woff2"), url("../fonts/SourceHanSansJP-VF.otf") format("opentype");
}

body {
	color: #333333;
	font-family: "NotoSansJP";
	font-size: 3.5vw;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.02em;
}

img {
	margin: auto;
	max-width: 100%;
}

/* タブレット以上サイズで電話ボタンリンクを非活性状態にする */

.l-inner {
	margin-inline: auto;
	padding-inline: 5vw;
}

.l-footer {
	background: transparent linear-gradient(90deg, #4F729F 0%, #3D5A80 100%) 0% 0% no-repeat padding-box;
	padding-block: 60px 50px;
	position: relative;
	z-index: 20;
}

.l-footer__container {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.l-footer__logo {
	aspect-ratio: 460/181;
	margin-inline: auto;
	max-width: 200px;
}

.l-footer__textArea {
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
	margin-top: 66px;
}

.l-footer__company {
	font-size: clamp(0.6875rem, 0.6rem + 0.4375vw, 1.125rem);
	font-weight: 400;
	transition: 0.2s;
}

.l-footer__privacy {
	display: flex;
	flex-direction: column;
	font-size: clamp(0.6875rem, 0.6rem + 0.4375vw, 1.125rem);
	font-weight: 400;
	gap: 18px;
	margin-top: 18px;
}

.l-footer__privacy li a {
	transition: 0.2s;
}

.l-footer__pagetop {
	bottom: 20px;
	line-height: 1;
	position: fixed;
	right: 20px;
	z-index: 999;
}

.l-footer__pagetop a {
	aspect-ratio: 283/283;
	background: transparent linear-gradient(270deg, #FC9761 0%, #F76819 100%) 0% 0% no-repeat padding-box;
	border-radius: 100%;
	box-shadow: 0px 3px 6px #3D5A80;
	color: #FFFFFF;
	display: grid;
	font-size: 14px;
	height: 80px;
	line-height: 1.3;
	place-items: center;
	text-align: center;
	text-decoration: none;
	transition: 0.2s;
	width: 80px;
}

.c-button__consul {
	background: transparent linear-gradient(180deg, #FC9761 0%, #F76819 100%) 0% 0% no-repeat padding-box;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	color: #FFFFFF;
	display: inline-block;
	font-size: 22px;
	font-weight: 700;
	max-width: 700px;
	padding-block: 21px;
	text-align: center;
	transition: 0.2s;
	width: 100%;
}

.c-button__consul span {
	background: transparent linear-gradient(180deg, #4F729F 0%, #3D5A80 100%) 0% 0% no-repeat padding-box;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 700;
	margin-right: 15px;
	padding: 3px 7px;
}

.c-button__submit {
	background: #3D5A80;
	border-radius: 100px;
	color: #FFFFFF;
	display: grid;
	font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
	margin-inline: auto;
	max-width: 483px;
	padding-block: 16px;
	place-items: center;
	transition: 0.2s;
	width: 100%;
}

.c-button__contact {
	background: #3D5A80;
	border-radius: 100px;
	color: #FFFFFF;
	display: inline-block;
	font-size: clamp(0.8125rem, 0.625rem + 0.9375vw, 1.75rem);
	max-width: 490px;
	min-width: 250px;
	mix-blend-mode: darken;
	padding-block: clamp(0.625rem, 0.55rem + 0.375vw, 1rem);
	position: relative;
	text-align: center;
	transition: 0.2s;
	width: 25.5208333333vw;
}

.c-button__contact::before {
	border-right: solid 2px #FFFFFF;
	border-top: solid 2px #FFFFFF;
	content: "";
	height: 10px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: rotate(135deg) translateY(70%);
	width: 10px;
}

.c-title {
	color: #FA7833;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.c-title .img {
	margin-inline: auto;
	min-width: 78px;
	width: 4.0625vw;
}

.c-title .main {
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 1.6px;
}

.c-title .problem {
	color: #333333;
	font-size: clamp(1.375rem, 1.2rem + 0.875vw, 2.25rem);
	font-weight: 700;
}

.c-title .contact {
	color: #333333;
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
	font-weight: 700;
}

.c-title.worry {
	border-bottom: 1px solid #FFFFFF;
	margin-inline: auto;
	padding-bottom: 6px;
	width: -moz-fit-content;
	width: fit-content;
}

.c-title.worry .main {
	color: #FFFFFF;
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 1.6px;
}

.c-title.worry .img {
	margin-inline: auto;
	min-width: 174px;
	width: 9.0625vw;
}

.c-title.solution--banner {
	color: #333333;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.c-title.solution--banner .main {
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 1.6px;
	line-height: 1.5;
	margin-top: 100px;
}

.c-title.solution--banner .sub {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.28px;
	line-height: 2;
}

.c-title.solution--portalSite {
	font-size: clamp(1.125rem, 0.9rem + 1.125vw, 2.25rem);
	font-weight: 700;
	margin-inline: auto;
	margin-top: 60px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.c-title.solution--portalSite::before,
.c-title.solution--portalSite::after {
	aspect-ratio: 52/78;
	content: "";
	height: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(2.1875rem, 1.975rem + 1.0625vw, 3.25rem);
}

.c-title.solution--portalSite::before {
	background: url(../img/solution-left.webp) no-repeat center center/cover;
	left: -45px;
}

.c-title.solution--portalSite::after {
	background: url(../img/solution-right.webp) no-repeat center center/cover;
	right: -45px;
}

.layout-vertical .sf-form-cover {
	display: none !important;
}

.sf-form-title-group h2 {
	display: none;
}

iframe #sample p {
	color: red;
}

.p-service {
	background: url(../img/bg-service.webp) no-repeat center center/cover;
	padding-block: 60px;
}

.p-service__intro {
	color: #000000;
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
	font-weight: 700;
	margin-top: 19px;
	text-align: center;
}

.p-service__container {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, 1fr);
	margin-inline: auto;
	margin-top: 38px;
}

.p-service__card {
	border-radius: 20px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	position: relative;
}

.p-service__card::after {
	color: #FA7833;
	content: "〉";
	font-size: 15px;
	font-weight: 700;
	height: 21px;
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}

.p-service__card:nth-child(2n)::after {
	display: none;
}

.p-service__card--goalPC {
	background: #FA7833;
	color: #FFFFFF;
	display: none;
	font-size: 16px;
	font-weight: 700;
	padding: 12px 12px 12px 8px;
}

.p-service__card--goalSP {
	background: #FA7833;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 3px;
	margin-top: 21px;
	padding: 12px 12px 12px 8px;
	text-align: center;
	width: 100%;
}

.p-faq {
	background: #FAF5EC url(../img/bg-faq.webp) no-repeat center center/cover;
	padding-block: 60px;
}

.p-faq__container {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin: 40px auto 0;
}

.p-faq__menu {
	margin-inline: auto;
	width: 100%;
}

.p-faq__question {
	align-items: center;
	background: #FFFFFF;
	border-radius: 10px 10px 0 0;
	display: flex;
	gap: 20px;
	padding: 21px 18px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-faq__logo {
	align-self: flex-start;
	background: #FA7833;
	border-radius: 50%;
	color: #FFFFFF;
	display: grid;
	flex-shrink: 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 20px;
	font-weight: 600;
	height: 36px;
	line-height: normal;
	place-items: center;
	width: 36px;
}

.p-faq__question-text {
	color: #FA7833;
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.6;
	width: 100%;
}

.p-faq__answer {
	align-items: center;
	background: #FFDDCB;
	border-radius: 0 0 10px 10px;
	gap: 12px;
	padding: 25px 18px;
}

.p-faq__answer-box {
	align-items: center;
	display: flex;
	gap: 20px;
}

.p-faq__answer-text {
	color: #333333;
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
	font-weight: 400;
	letter-spacing: 1.68px;
	line-height: 1.6;
}

.p-message {
	background: #FAF9F6;
	padding-top: clamp(0rem, -0.625rem + 3.125vw, 3.125rem) 63px;
}

.p-message__main--wrapper {
	position: relative;
	z-index: 1;
}

.p-message__main--wrapper::before {
	background: url(../img/bg-message.webp) no-repeat top center/contain;
	content: "";
	height: 745px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-banner__container {
	background: url(../img/bg-banner-sp.webp) no-repeat center center/contain;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	gap: 1.5625vw;
	height: 300px;
	justify-content: center;
	margin-inline: auto;
	max-width: 360px;
	padding-block: 42x 53px;
	padding-inline: 4.6875vw;
	position: relative;
	width: 100%;
	z-index: 2;
}

.p-banner__container .head {
	border-bottom: 1px solid #FFFFFF;
	font-size: clamp(1.25rem, 1.2206rem + 0.1471vw, 1.3125rem);
	font-weight: 700;
	margin-inline: auto;
	padding-bottom: 2px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-banner__container .body {
	font-size: clamp(0.8125rem, 0.775rem + 0.1875vw, 1rem);
	font-weight: 500;
	letter-spacing: 0.32px;
	line-height: 1.5;
	text-align: left;
}

.p-message__main {
	margin-inline: auto;
	margin-top: 40px;
	width: 80%;
}

.p-message__main picture {
	display: inline-block;
	margin-inline: auto;
}

.p-message__sub {
	display: flex;
	flex-direction: column;
}

.p-message__sub-img {
	margin-left: 0;
	margin-right: auto;
	max-width: 960px;
}

.p-message__sub-text {
	background: url(../img/bg-message-sub.webp) no-repeat center center/cover;
	font-size: 20px;
	font-weight: 700;
	margin-left: auto;
	margin-right: 0;
	max-width: 1000px;
}

.p-message__minister--2 {
	padding-block: 60px;
	position: relative;
}

.p-message__minister--2 .img--2 {
	margin-left: -40px;
	margin-top: -150px;
	position: relative;
	width: 50%;
	z-index: 100;
}

.p-message__minister--2 .img--2::before {
	background: #FA7833;
	bottom: 0;
	clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
	content: "";
	display: block;
	height: 37.5vw;
	inset: 0;
	left: 0;
	position: absolute;
	top: auto;
	width: 100vw;
	z-index: -1;
}

.p-message__minister--2 .text--2 {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	line-height: 2;
	margin-top: -3vw;
	padding-block: 8vw;
	padding-inline: 25vw 10vw;
	position: relative;
	text-align: justify;
	z-index: 1;
}

.p-message__minister--2 .text--2::before {
	background: #FFFFFF;
	clip-path: polygon(13% 0, 100% 0, 100% 100%, 0% 100%);
	content: "";
	display: block;
	inset: 0;
	left: auto;
	position: absolute;
	top: 0;
	width: 100vw;
	z-index: -1;
}

.p-fvTOP {
	height: 143.0434782609vw;
	position: relative;
	width: 100%;
	z-index: 100;
}

.p-fvTOP .bg-gray {
	height: 100%;
	-o-object-position: 0 100%;
	object-position: 0 100%;
}

.p-fvTOP .bg-gray img,
.p-fvTOP .bg-gray source {
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: 0 100%;
	height: 100%;
	object-position: 0 100%;
	width: 100%;
}

.p-fv__message-wrapper {
	aspect-ratio: 627/597;
	left: 50%;
	max-width: 400px;
	position: absolute;
	top: 70px;
	transform: translateX(-50%);
	width: calc(100% - 10vw);
}

.p-fv__message-wrapper picture img,
.p-fv__message-wrapper picture source {
	-o-object-fit: cover;
	object-fit: cover;
}

.p-fv__message-wrapper--pc {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-around;
}

.p-fv__main-message {
	position: relative;
}

.p-fv__main-message::before {
	aspect-ratio: 1136/176;
	background: url(../img/fv-logo.webp) no-repeat center center/cover;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	top: -50px;
	width: 65.2173913043vw;
}

.p-fv__main-message::after {
	aspect-ratio: 591/333;
	background: url(../img/fv-family-sp.webp) no-repeat center center/cover;
	bottom: -56.25vw;
	content: "";
	height: auto;
	left: 50%;
	max-width: 450px;
	position: absolute;
	transform: translateX(-50%);
	width: 90vw;
	z-index: 120;
}

.p-button__fv-contact {
	bottom: 5vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.p-fv__sub-message {
	display: flex;
	flex-direction: column;
}

.p-fv__sub-message .logo {
	aspect-ratio: 741/117;
	max-width: 741px;
	width: 38.8541666667vw;
}

.p-fv__sub-message .family {
	aspect-ratio: 488/491;
	max-width: 491px;
	transform: translateX(100px);
	width: 25.5729166667vw;
}

.p-fv__merit {
	background: url(../img/bg-merit.webp) no-repeat center center/cover;
	padding-block: 60px;
	padding-inline: 5vw;
}

.p-fv__wrapper {
	background: url(../img/bg-problem.webp) no-repeat center right/cover;
	margin-top: -80px;
	position: relative;
	width: 100%;
	z-index: -1;
}

.p-fv {
	background: url(../img/bg-fv.webp) no-repeat center bottom/cover;
	clip-path: polygon(0 0, 100% 0, 100% 95%, 66% 95%, 50% 100%, 33% 95%, 0 95%);
	position: relative;
	position: relative;
	width: 100%;
}

.p-fv__merit-title {
	margin-inline: auto;
}

.p-fv__merit__container {
	display: flex;
	gap: 20px;
	margin-inline: auto;
	padding-inline: 5vw;
}

.p-problem {
	padding-block: 60px;
	position: relative;
	width: 100%;
}

.p-problem__container {
	display: flex;
	flex-direction: column;
	margin-top: 31px;
}

.p-problem__card {
	display: grid;
	flex: 1;
	margin-bottom: 30px;
	place-items: center;
	position: relative;
}

.p-problem__card .text {
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	color: #333333;
	display: grid;
	min-height: 157px;
	padding-inline: min(34px, 1.7708333333vw);
	place-items: center;
	width: 290px;
}

.p-problem__card .text p {
	font-size: min(18px, 5vw);
	font-style: normal;
	font-weight: 700;
}

.p-problem__card .text p .orange {
	color: #FA7833;
	font-weight: 700;
}

.p-problem__card .img {
	margin-top: -14px;
	position: relative;
}

.p-problem__card .img img,
.p-problem__card .img source {
	height: 159px;
	width: auto;
}

.p-problem__card .img::before {
	background: url(../img/fukidashi-awa.webp) no-repeat center center/cover;
	content: "";
	height: 60px;
	position: absolute;
	right: -70px;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
}

.p-voice {
	background: url(../img/bg-voice.webp) no-repeat center center/cover;
	padding-block: 60px;
}

.p-voice__container {
	display: flex;
	flex-direction: column;
}

.p-voice__card {
	background: #FFFFFF;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	display: flex;
	flex-direction: column;
	margin-top: 120px;
	opacity: 1;
	padding-block: 78px 31px;
	padding-inline: 8.2262210797%;
	position: relative;
}

.p-voice__card--img {
	height: 168px;
	left: 50%;
	position: absolute;
	top: -100px;
	transform: translateX(-50%);
	width: 168px;
}

.p-voice__card--text .main {
	color: #FA7833;
	font-size: min(17px, 5.15625vw);
	font-weight: 700;
	letter-spacing: 1.2px;
	line-height: 1.7;
	text-align: center;
	white-space: nowrap;
}

.p-voice__card--text .sub {
	color: #262626;
	font-size: clamp(0.8125rem, 0.7875rem + 0.125vw, 0.9375rem);
	font-weight: 700;
	margin-top: 20px;
	-moz-text-align-last: left;
	background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px); /* 点線2の色と太さ */
	background-size: 8px 100%, 100% 2.8em; /* 点線2のサイズ */
	letter-spacing: 1px;
	line-height: 2.8em; /* 文字の高さ */
	padding-bottom: 1px; /* 最終行の下にも罫線を引く */
	text-align-last: left;
}

.p-solution__bannerArea {
	background: #FFFFFF;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	display: grid;
	margin-inline: auto;
	margin-top: 38px;
	padding-block: 31px;
	padding-inline: 3.6830357143%;
	place-items: center;
	width: 100%;
}

.p-solution__banner--textarea {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 31px;
}

.p-solution__banner--textarea .left,
.p-solution__banner--textarea .right {
	font-size: clamp(0.8125rem, 0.7875rem + 0.125vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.8;
	text-align: justify;
}

.p-solution__logoArea {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, 1fr);
	justify-content: center;
	margin-inline: auto;
	margin-top: 43px;
	width: calc(100% - 10vw);
}

.p-solution__logoArea picture {
	margin-inline: auto;
	max-width: 271px;
	width: 100%;
}

.p-solution--card {
	margin-top: 26px;
}

.p-solution--card__swiper-slide {
	align-items: center;
	aspect-ratio: 321/227;
	background: gray;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 321px;
}

.p-solution--card__swiper-slide img {
	height: 100%;
}

.card__swiper-wrapper {
	transition-timing-function: linear;
}

.p-comparison {
	padding-bottom: clamp(6.5625rem, 5.3125rem + 6.25vw, 12.8125rem);
	padding-top: clamp(3.125rem, 2.475rem + 3.25vw, 6.375rem);
	position: relative;
}

.p-comparison::before {
	background: url(../img/bg-graph.webp) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: -1;
}

.p-worry {
	background: #3D5A80;
	border-radius: 10px;
	overflow: hidden;
	padding-top: 32px;
}

.p-worry__container {
	display: flex;
	flex-direction: column;
	padding-inline: 5vw;
}

.p-worry__container .text {
	background: #FFFFFF;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	font-size: clamp(0.8125rem, 0.7875rem + 0.125vw, 0.9375rem);
	font-weight: 700;
	height: -moz-fit-content;
	height: fit-content;
	letter-spacing: 0.9px;
	line-height: 200%;
	margin-top: 50px;
	padding-block: 20px;
	padding-inline: 20px 11px;
}

.p-worry__container .img {
	aspect-ratio: 473/394;
	flex-shrink: 0;
	margin-inline: auto;
	margin-top: 20px;
	max-width: 473px;
	width: 90%;
}

.p-goodDeal {
	display: flex;
	flex-direction: column;
	margin-top: 64px;
	text-align: center;
}

.p-title__goodDeal {
	color: #FA7833;
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
}

.p-goodDeal__container {
	margin-inline: auto;
	margin-top: 15px;
	max-width: 100%;
	padding-inline: 5vw;
	position: relative;
	width: 896px;
}

.p-goodDeal__container .title {
	font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
	font-weight: 700;
	margin-bottom: 9px;
}

.p-goodDeal__container .img {
	display: block; /* ブロック要素にする */
	max-width: none;
	padding-bottom: 1px; /* スクロールバーの重なりを防ぐ微調整 (必要に応じて) */
	white-space: nowrap; /* 子要素が折り返されないようにする */
}

.p-goodDeal__container .img img {
	display: inline-block; /* 横スクロール内で扱えるように */
	height: auto; /* アスペクト比を維持 */
	margin-right: 0; /* 右側の余白を消す */
	width: 140vw;
}

.p-goodDeal__container .img::-webkit-scrollbar-thumb {
	background-color: #FA7833;
	border-radius: 8px;
}

.p-goodDeal__container .text {
	color: gray;
	font-size: clamp(0.6875rem, 0.65rem + 0.1875vw, 0.875rem);
	font-weight: 500;
	line-height: 160%;
	margin-top: 28px;
	text-align: left;
}

.p-consultation {
	display: flex;
	flex-direction: column;
	margin-top: 60px;
	text-align: center;
}

.p-consul__title .head {
	display: inline-block;
	margin-inline: auto;
	width: 232px;
}

.p-consul__title .body {
	color: #333333;
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
	margin-bottom: 20px;
}

.p-consul__img {
	aspect-ratio: 450/231;
	display: inline-block;
	margin-inline: auto;
	margin-top: 22px;
	max-width: 350px;
	padding-inline: 5vw;
}

.p-consul__button {
	padding-inline: 5vw;
}

.p-support {
	background: url(../img/bg-support.webp) no-repeat center center/cover;
	padding-block: 72px;
}

.p-support__container {
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border-radius: 20px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
	margin-inline: auto;
	max-width: 896px;
	padding-block: 44px;
	position: relative;
	width: 100%;
}

.p-support__container::before,
.p-support__container::after {
	content: "";
	height: clamp(3.75rem, 3rem + 3.75vw, 7.5rem);
	position: absolute;
	top: 10px;
	width: clamp(3.75rem, 3rem + 3.75vw, 7.5rem);
}

.p-support__container::before {
	background: url(../img/support--left.webp) no-repeat center center/cover;
	left: 0;
}

.p-support__container::after {
	background: url(../img/support--right.webp) no-repeat center center/cover;
	right: 0;
}

.p-support__title {
	display: flex;
	flex-direction: column;
	gap: 8px;
	position: relative;
	text-align: center;
}

.p-support__title::before {
	aspect-ratio: 85/64;
	background: url(../img/logo-no_problem.webp) no-repeat center center/cover;
	content: "";
	height: auto;
	position: absolute;
	right: calc(50% + 80px);
	top: 10px;
	width: clamp(3.4375rem, 3.0625rem + 1.875vw, 5.3125rem);
	z-index: 1;
}

.p-support__title .head {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	font-weight: 400;
}

.p-support__title .body {
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
	margin-inline: auto;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.p-support__content {
	margin-inline: auto;
	margin-top: 57px;
	padding-inline: 5vw;
	position: relative;
}

.p-support__content ul {
	align-self: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.p-support__content ul li {
	color: #333333;
	font-size: 3.5vw;
	font-weight: 400;
	padding-left: clamp(1.625rem, 1.5rem + 0.625vw, 2.25rem);
	position: relative;
}

.p-support__content ul li::before {
	aspect-ratio: 30/26;
	background: url(../img/icon-check.webp) no-repeat center center/cover;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.p-support__content .img {
	bottom: -44px;
	height: auto;
	position: absolute;
	right: 0;
	width: clamp(4.0625rem, 2.025rem + 10.1875vw, 14.25rem);
}

.p-contact__wrapper {
	background: #FAF9F6;
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.p-campaign {
	margin-inline: auto;
	max-width: 1920px;
	padding-inline: 5vw;
	padding-top: 80px;
	width: 100%;
}

.p-campaign__title {
	margin-inline: auto;
	max-width: 782px;
	width: 100%;
}

.p-campaign__banner {
	margin-inline: auto;
	margin-top: clamp(1.25rem, 0.875rem + 1.875vw, 3.125rem);
	width: 100%;
}

.p-contact {
	width: 100%;
	padding-inline: 5vw;
}

.p-contact__box {
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border: 8px solid #FA7833;
	border-radius: 20px;
	padding-block: 45px 91px;
}

.contact-form__bottom {
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	max-width: calc(590px + 10vw);
	padding-inline: 5vw;
}

.contact-form__bottom label {
	margin-top: 16px;
}

.contact-form__bottom input,
.contact-form__bottom select {
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border: 1px solid #FA7833;
	border-radius: 4px;
	box-sizing: border-box;
	color: #333333;
	margin-top: 8px;
	padding-block: 7px 11px;
	padding-inline: 20px;
	width: 100%;
}

.contact-form__bottom input::-moz-placeholder,
.contact-form__bottom select::-moz-placeholder {
	color: #D5D5D5;
}

.contact-form__bottom input::placeholder,
.contact-form__bottom select::placeholder {
	color: #D5D5D5;
}

.contact-form__bottom input:focus,
.contact-form__bottom select:focus {
	border: 2px solid #FA7833;
	outline: none;
}

.contact-form__bottom input[type=checkbox] {
	accent-color: #FA7833; /* チェックマークの色（サポートしているブラウザのみ） */
	border: 1px solid #333333;
	border-radius: 2px; /* 角丸 */
	cursor: pointer;
	height: 20px;
	width: 20px; /* サイズ */
}

.contact-form__bottom option {
	overflow: hidden; /* 内容が長い場合に隠れるようにする */
	text-overflow: ellipsis; /* 内容が長い場合に省略記号を付ける */
	white-space: nowrap; /* テキストが折り返されないようにする */
}

.contact-form__bottom .custom-select { /* カスタム矢印 */
}

.contact-form__bottom .custom-select::after {
	background: url("your-arrow-icon.svg") no-repeat center;
	background-size: contain;
	content: "";
	height: 10px;
	pointer-events: none; /* 矢印がクリック対象にならないようにする */
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

.contact-form__bottom .p-privacy__label {
	margin-top: 0;
}

.privacy-policy {
	align-items: center;
	display: flex;
	gap: 11px;
	margin-block: 56px;
}

.p-privacy_policy {
	color: #FA7833;
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	text-decoration: underline;
}

.p-contact__bottom {
	padding-block: 7.5vw;
	position: relative;
}

.p-contact__bottom::before {
	aspect-ratio: 288/268;
	background: url(../img/contact-family.webp) no-repeat center center/cover;
	bottom: -5px;
	content: "";
	left: 0;
	max-width: 288px;
	position: absolute;
	width: 33%;
	z-index: 10;
}

.p-contact__img--bottom {
	align-items: center; /* 垂直中央揃え */
	background: url(../img/contact-bottom.webp) no-repeat center center/cover;
	background-position: center; /* 中央を基準に配置 */
	background-size: cover; /* 縦横比を保持し、親要素いっぱいに表示 */
	display: flex; /* 子要素の整列に使用 */
	height: 51.5217391304vw;
	justify-content: center; /* 水平中央揃え */
	overflow: hidden; /* 親要素外の画像部分を隠す */
}

.u-margin__container {
	margin-top: clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem);
}

.u-margin__container--cta {
	margin-top: clamp(2.5rem, 2.0599rem + 1.8779vw, 3.75rem);
}

.u-visible-md {
	display: none;
}

.u-visible-lg {
	display: none;
}

.u-span__onayami {
	color: #333333;
	font-size: clamp(1.625rem, 1.4rem + 1.125vw, 2.75rem);
	font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
	font-weight: 700;
}

.u-span__underLine {
	text-decoration: underline;
	text-decoration-color: rgba(255, 228, 0, 0.4);
	text-decoration-thickness: 0.5em;
	text-underline-offset: -0.2em;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

.u-span__red {
	color: #F93232;
}

.u-span__company {
	color: #FA7833;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	letter-spacing: 1.6px;
}

.u-span__black {
	color: #333333;
	font-size: clamp(1.125rem, 0.95rem + 0.875vw, 2rem);
	font-weight: 700;
}

@media (hover: hover) {

	.l-footer__company:hover {
		opacity: 0.7;
	}

	.l-footer__privacy li a:hover {
		opacity: 0.7;
	}

	.l-footer__pagetop a:hover {
		background: transparent linear-gradient(270deg, #E68655 0%, #D95717 100%) 0% 0% no-repeat padding-box;
	}

	.c-button__consul:hover {
		background: transparent linear-gradient(180deg, #FFB088 0%, #D35514 100%) 0% 0% no-repeat padding-box;
	}

	.c-button__submit:hover {
		background: #253A5A;
	}

	.c-button__contact:hover {
		background: #2F4A6A;
	}

}

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

	body {
		font-size: min(1.45vw, 18px);
	}

	.l-inner {
		max-width: 100%;
		width: 896px;
	}

	.l-inner.--service {
		margin-inline: auto;
		width: 650px;
	}

	.l-footer__privacy li a {
		font-size: 15px;
	}

	.l-footer__pagetop {
		right: 5.78125vw;
	}

	.l-footer__pagetop a {
		font-size: min(21px, 2.7083333333vw);
		height: 100%;
		max-width: 215px;
		width: 16.6666666667vw;
	}

	.c-title.worry .main {
		margin-top: -10px;
	}

	.c-title.solution--banner .main {
		margin-top: 140px;
	}

	.c-title.solution--portalSite::before {
		left: -70px;
	}

	.c-title.solution--portalSite::after {
		right: -70px;
	}

	.p-faq__container {
		gap: 42px;
		margin-top: 64px;
	}

	.p-faq__menu {
		border-radius: 16px;
		margin-top: 0;
		max-width: 1024px;
	}

	.p-banner__container {
		gap: clamp(0.625rem, -0.8036rem + 7.1429vw, 1.25rem);
		padding-block: 30px 53px;
		padding-inline: min(11.5vw, 40px);
	}

	.p-message__minister--2 {
		height: 166.6666666667vw;
		height: -moz-fit-content;
		height: fit-content;
		margin-inline: auto;
		max-width: 1920px;
	}

	.p-message__minister--2 .img--2::before {
		width: 80vw;
	}

	.p-message__minister--2 .text--2 {
		margin-left: auto;
		margin-right: 0;
		padding-block: 6vw;
		width: 90vw;
	}

	.p-message__minister--2 .text--2::before {
		width: 80vw;
	}

	.p-fvTOP {
		height: 637px;
	}

	.p-fvTOP .bg-gray img,
	.p-fvTOP .bg-gray source {
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position: 0 100%;
		object-position: 0 100%;
	}

	.p-fv__main-message::before {
		max-width: 350px;
	}

	.p-fv__main-message::after {
		bottom: -250px;
	}

	.p-button__fv-contact {
		bottom: 25px;
	}

	.p-fv__merit-title {
		max-width: 542px;
	}

	.p-fv__merit__container {
		max-width: 542px;
		padding-inline: 2vw;
	}

	.p-voice__card--text .main {
		font-size: clamp(1.0625rem, 1.025rem + 0.1875vw, 1.25rem);
	}

	.p-solution__bannerArea {
		max-width: 542px;
	}

	.p-solution__logoArea {
		display: grid;
		gap: 14px;
		grid-template-columns: repeat(2, 1fr);
		margin-inline: auto;
		max-width: 542px;
		padding-inline: 5vw;
		width: auto;
	}

	.p-goodDeal__container .img img {
		width: 100%;
	}

	.p-consul__img {
		padding-inline: 0;
	}

	.p-support__container {
		margin-inline: auto;
		max-width: 637px;
	}

	.p-support__title::before {
		right: calc(50% + 100px);
	}

	.p-support__content ul li {
		font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
	}

	.p-contact {
		width: 896px;
		margin: auto;
		padding-inline: 0;
	}
	.layout-vertical .sf-form-content {
		max-width: 100%;
	}

	.p-contact__wrapper {
		gap: 91px;
		padding-inline: 3.6458333333%;
	}

	.p-campaign__title {
		width: 70%;
	}

	.p-contact__bottom {
		padding-block: 60px;
	}

	.p-contact__bottom::before {
		left: auto;
		max-width: 200px;
		right: calc(50% + clamp(3.125rem, -7.9451rem + 36.9004vw, 15.625rem));
		width: 31.25vw;
	}

	.p-contact__img--bottom {
		height: min(30.859375vw, 200px);
	}

	.u-hidden-md {
		display: none;
	}

	.u-visible-md {
		display: block;
	}

}

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

	a[href^="tel:"] {
		pointer-events: none;
	}

}

@media (min-width: 800px) {

	.p-message__minister--2 .img--2::before {
		display: none;
	}

	.p-message__minister--2 .img--2 {
		width: 50%;
	}

	.p-message__minister--2 .text--2 {
		margin-top: -17.5vw;
		padding-block: 4vw;
		padding-inline: 15vw 10vw;
		width: 67vw;
	}

}

@media (min-width: 950px) {

	.p-message__minister--2 .text--2::before {
		clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
		width: 75vw;
	}

}

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

	.l-inner {
		padding-inline: 5vw;
		width: calc(896px + 10vw);
	}

	.l-inner.--worry {
		width: calc(1200px + 10vw);
	}

	.l-inner.--service {
		padding-inline: 5vw;
		width: calc(1200px + 10vw);
	}

	.l-footer__logo {
		max-width: 460px;
	}

	.l-footer__textArea {
		flex-direction: row;
		justify-content: space-between;
	}

	.l-footer__privacy {
		flex-direction: row;
		margin-top: 0;
	}

	.l-footer__pagetop {
		bottom: 120px;
	}

	.l-footer__pagetop a {
		width: 15vw;
	}

	.c-button__contact {
		font-size: clamp(0.875rem, -0.1208rem + 1.559vw, 1.75rem);
	}

	.c-button__contact::before {
		height: 18px;
		transform: rotate(135deg) translateY(80%);
		width: 18px;
	}

	.c-title.worry {
		padding-bottom: 14px;
		padding-inline: 23.5px;
	}

	.c-title.solution--portalSite {
		margin-top: 100px;
	}

	.c-title.solution--portalSite::before {
		left: -110px;
	}

	.c-title.solution--portalSite::after {
		right: -110px;
	}

	.p-service__container {
		display: flex;
		flex-direction: row;
	}

	.p-service__card:nth-child(2n)::after {
		display: block;
	}

	.p-service__card--goalPC {
		display: block;
		letter-spacing: 3px;
		line-height: 1.5; /* 行間を調整 */
		margin-left: 10px;
		text-align: justify; /* 均等配置 */
		writing-mode: vertical-rl; /* IE用 */
		writing-mode: vertical-rl; /* 縦書きモード */
	}

	.p-service__card--goalSP {
		display: none;
	}

	.p-faq {
		padding-block: 80px 113px;
	}

	.p-faq__question {
		gap: 24px;
		padding: 20px 85px 16px 36px;
	}

	.p-faq__question-text {
		line-height: 2.2;
	}

	.p-faq__answer {
		gap: 16px;
		padding: 16px 85px 20px 36px;
	}

	.p-faq__answer-text {
		line-height: 2.2;
	}

	.p-banner__container .head {
		font-size: clamp(1.25rem, 1.05rem + 1vw, 2.25rem);
	}

	.p-banner__container {
		background: url(../img/bg-banner.webp) no-repeat center center/contain;
		height: 239px;
		max-width: 896px;
		padding-inline: 57px 41px;
	}

	.p-message__main {
		margin-inline: auto;
		margin-top: 80px;
		max-width: 530px;
		transform: translateX(-40px);
		width: 100%;
	}

	.p-message__main {
		margin-top: clamp(6.25rem, -0.8152rem + 11.3043vw, 12.75rem);
		max-width: clamp(43.75rem, 22.8261rem + 33.4783vw, 63rem);
	}

	.p-message__minister--2 .text--2 {
		width: 64vw;
	}

	.p-fvTOP {
		height: clamp(25rem, 8.3542rem + 26.1111vw, 39.6875rem);
	}

	.p-fvTOP .bg-gray img,
	.p-fvTOP .bg-gray source {
		height: clamp(25rem, 8.3542rem + 26.1111vw, 39.6875rem);
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position: center center;
		object-position: center center;
	}

	.p-fv__message-wrapper {
		aspect-ratio: 1920/635;
		max-width: 1630px;
		top: 40px;
	}

	.p-fv__main-message {
		aspect-ratio: 659/524;
		flex-shrink: 0;
		height: -moz-fit-content;
		height: fit-content;
		max-width: 659px;
		width: 34.3229166667vw;
	}

	.p-fv__main-message::before {
		display: none;
	}

	.p-fv__main-message::after {
		display: none;
	}

	.p-button__fv-contact {
		bottom: min(47px, 2.4479166667vw);
	}

	.p-fv {
		clip-path: polygon(0 0, 100% 0, 100% 90%, 55% 90%, 50% 100%, 45% 90%, 0 90%);
		height: 650px;
	}

	.p-fv__merit-title {
		max-width: 809px;
	}

	.p-fv__merit__container {
		max-width: 809px;
	}

	.p-problem {
		padding-block: 88px 50px;
	}

	.p-problem__container {
		flex-direction: row;
	}

	.p-problem__card .text p {
		width: auto;
	}

	.p-problem__card {
		margin-bottom: 0;
	}

	.p-voice {
		padding-bottom: clamp(3.125rem, 1.8875rem + 6.1875vw, 9.3125rem);
		padding-top: 102px;
	}

	.p-voice__container {
		display: grid;
		gap: 45px 8%;
		grid-template-columns: repeat(2, 1fr);
	}

	.p-voice__container {
		gap: 45px 13.1696428571%;
	}

	.p-solution__bannerArea {
		max-width: 896px;
	}

	.p-solution__banner--textarea {
		flex-direction: row;
		padding-inline: 13px;
	}

	.p-solution__logoArea {
		display: flex;
		flex-direction: row;
		max-width: 1133px;
		padding-inline: 0;
	}

	.p-worry__container {
		align-items: center;
		flex-direction: row;
		gap: 93px;
		justify-content: flex-end;
		margin-top: 30px;
		padding-inline: 72px;
	}

	.p-worry__container .text {
		margin-top: -50px;
		max-height: 284px;
		max-width: 378px;
		padding-block: clamp(1.25rem, -0.033rem + 2.0067vw, 2.375rem) 37px;
	}

	.p-worry__container .img {
		margin-inline: 0;
		margin-top: 0;
		width: 49.4166666667%;
	}

	.p-goodDeal__container {
		max-width: calc(748px + 10vw);
		width: calc(100% + 10vw);
	}

	.p-goodDeal__container .img {
		overflow: hidden;
	}

	.p-support__container {
		max-width: 100%;
	}

	.p-support__container::before {
		left: 30px;
	}

	.p-support__container::after {
		right: 30px;
	}

	.p-support__title::before {
		right: calc(50% + 150px);
	}

	.p-support__content .img {
		width: 228px;
	}

	.p-support__content {
		padding-inline: 72px;
	}

	.p-support__content ul li {
		color: #333333;
		font-weight: 400;
		padding-left: 36px;
		position: relative;
	}

	.p-support__content ul li::before {
		background: url(../img/icon-check.webp) no-repeat center center/cover;
		content: "";
		height: 26px;
		left: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 30px;
	}

	.p-campaign {
		background: url(../img/bg-campaign.webp) no-repeat center center/contain;
		padding-inline: 0;
	}

	.p-campaign__title {
		width: 100%;
	}

	.p-campaign__banner {
		max-width: 100%;
		width: 46.6666666667vw;
	}

	.p-contact__bottom::before {
		max-width: 288px;
		right: calc(50% + clamp(18.75rem, 3.0686rem + 24.5262vw, 32.5rem));
		width: 15vw;
	}

	.p-contact__img--bottom {
		height: 12.34375vw;
	}

	.u-hidden-lg {
		display: none;
	}

	.u-visible-lg {
		display: block;
	}

}

@media (min-width: 1200px) {

	.p-message__minister--2 .img--2 {
		margin-top: -13.0208333333vw;
	}

}

@media (min-width: 1400px) {

	.p-message__minister--2 .text--2::before {
		clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
		width: 65vw;
	}

}

@media (min-width: 1700px) {

	.p-message__minister--2 .text--2 {
		margin-top: -336px;
		max-width: 1200px;
		padding-inline: 200px calc(100% - 1500px);
		width: 61vw;
	}

}

