@charset "UTF-8";
/* 仙台オフィスページ。PC は 1920px カンプ基準の rem（html 16px）、SP は 414px カンプ基準の vw */

/* お悩み下の三角を上下に動かす（/reason の三角と同じ動き） */
@keyframes shake-up {
	0%, 100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(12px);
	}
}

@keyframes shake-up-sp {
	0%, 100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(2.8986vw);
	}
}

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

/* ---------- 共通 ---------- */
.p-mv,
.p-intro,
.p-onayami,
.p-message,
.p-reason,
.p-service,
.p-office,
.p-info,
.p-cta,
.p-scontact {
	margin-inline: auto;
	max-width: 1920px;
	position: relative;
	width: 100%;
}

/* ---------- FV ---------- */
.p-mv {
	height: min(39.9375rem, 33.2812vw);
	overflow: hidden;
}

.p-mv .p-mv__bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-mv .p-mv__bg img {
	height: 100%;
	object-fit: cover;
	object-position: center 50.5%;
	width: 100%;
}

.p-mv .seo_bread_list {
	color: #1A1311;
	font-size: 0.75rem;
	left: min(3.75rem, 3.125vw);
	letter-spacing: 0.05em;
	line-height: 2;
	margin: 0;
	padding: 0;
	position: absolute;
	top: min(3rem, 2.5vw);
	width: auto;
	z-index: 3;
}

.p-mv .seo_bread_list a {
	color: inherit;
}

.p-mv .l-mv {
	box-sizing: border-box;
	height: 100%;
	padding-top: min(9.75rem, 8.125vw);
	position: relative;
	width: 100%;
}

.p-mv .p-mv__contents {
	margin-left: min(10rem, 8.3333vw);
	position: relative;
	z-index: 2;
}

.p-mv .p-mv__tag {
	background: #00388D;
	color: #ffffff;
	font-size: max(1rem, min(1.375rem, 1.1458vw));
	font-weight: 600;
	height: min(3.1875rem, 2.6562vw);
	letter-spacing: 0;
	line-height: 2.3181818182;
	padding-inline: min(1.25rem, 1.0417vw) min(2.3125rem, 1.9271vw);
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv .p-mv__ttl {
	margin-top: min(1.3125rem, 1.0938vw);
}

.p-mv .p-mv__ttl .line {
	background: #ffffff;
	color: #00388D;
	display: block;
	font-size: max(1.725rem, min(2.875rem, 2.3958vw));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.8695652174;
	padding-inline: min(1.625rem, 1.3542vw) 0;
	white-space: nowrap;
	width: min(38.875rem, 32.3958vw);
}

.p-mv .p-mv__ttl .line:not(:first-child) {
	margin-top: min(0.75rem, 0.625vw);
}

.p-mv .p-mv__human img {
	display: block;
	height: auto;
	width: 100%;
}

.p-mv .p-mv__human {
	position: absolute;
	right: min(6.8125rem, 5.6771vw);
	top: min(13.5625rem, 11.3021vw);
	width: min(56.3125rem, 46.9271vw);
	z-index: 3;
}

/* ---------- イントロ ---------- */
.p-intro {
	background: #ffffff;
	height: min(30.125rem, 25.1042vw);
	overflow: hidden;
}

.p-intro .l-intro {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-top: min(10.2125rem, 8.5104vw);
	position: relative;
	width: 100%;
}

.p-intro .p-intro__en {
	color: #EEF2F8;
	font-size: max(3.75rem, min(6.25rem, 5.2083vw));
	font-weight: 700;
	left: 0;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	text-align: center;
	top: min(6.4625rem, 5.3854vw);
	white-space: nowrap;
	width: 100%;
}

.p-intro .p-intro__ttl {
	color: #00388D;
	font-size: max(1.425rem, min(2.375rem, 1.9792vw));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2105263158;
	position: relative;
	text-align: center;
	white-space: nowrap;
}

.p-intro .p-intro__txt {
	color: #1A1311;
	font-size: max(0.8rem, min(1.0625rem, 0.8854vw));
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.8823529412;
	margin-top: min(1.2rem, 1vw);
	position: relative;
	text-align: center;
	white-space: nowrap;
}

.p-intro .p-intro__band {
	background: #00388D;
	color: #ffffff;
	font-size: max(0.9rem, min(1.125rem, 0.9375vw));
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2.3333333333;
	margin-top: min(2.2219rem, 1.8516vw);
	padding-inline: max(0.75rem, min(1.5rem, 1.25vw));
	position: relative;
	white-space: nowrap;
}

.p-intro .p-intro__lead {
	color: #00388D;
	font-size: max(1.4rem, min(1.75rem, 1.4583vw));
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: min(0.6656rem, 0.5547vw);
	position: relative;
	text-align: center;
	white-space: nowrap;
}

.p-intro .p-intro__img {
	left: calc(50% + min(8.43rem, 7.0250vw));
	position: absolute;
	top: min(8.3125rem, 6.9271vw);
	width: min(22.8125rem, 19.0104vw);
}

.p-intro .p-intro__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* 本文の文字に下限があるので、人物を本文の右端から 14px 以上あける（本文2行目＝約15.5字分の幅） */
@media screen and (max-width: 1599px) {
	.p-intro .p-intro__img {
		left: calc(50% + max(min(8.43rem, 7.025vw), max(12.4rem, min(16.469rem, 13.724vw)) + 14px - min(8.19rem, 6.825vw)));
	}
}

/* ---------- お悩み ---------- */
.p-onayami {
	height: 43rem;
	isolation: isolate;
	z-index: 2;
}

.p-onayami::before {
	background: url("../images/sendai/onayami_bg_v2.jpg?v=202611100900") center top / cover no-repeat;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.p-onayami .l-onayami {
	padding-top: 4.8125rem;
	position: relative;
}

.p-onayami .p-onayami__ttl {
	text-align: center;
}

.p-onayami .p-onayami__ttl span {
	display: block;
	font-weight: 700;
}

.p-onayami .p-onayami__ttl .sub {
	color: #1A1311;
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.5;
}

.p-onayami .p-onayami__ttl .main {
	color: #1A1311;
	font-size: 2.5rem;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: 0.375rem;
}

.p-onayami .p-onayami__items {
	display: grid;
	gap: 1.875rem 1.5625rem;
	grid-auto-rows: 10.625rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	margin-top: 3.0625rem;
	width: min(95%, 68.75rem);
}

.p-onayami .p-onayami__item {
	background: #ffffff;
	color: #1A1311;
	padding-top: 1.3125rem;
	text-align: center;
}

.p-onayami .p-onayami__item .icon {
	align-items: center;
	display: flex;
	height: 4.375rem;
	justify-content: center;
}

.p-onayami .p-onayami__item .icon img {
	display: block;
	height: auto;
}

.p-onayami .p-onayami__item:nth-child(1) .icon img {
	margin-left: 0.6875rem;
	width: 5.6875rem;
}

.p-onayami .p-onayami__item:nth-child(2) .icon img {
	width: 4.4375rem;
}

.p-onayami .p-onayami__item:nth-child(3) .icon img {
	width: 4.9375rem;
}

.p-onayami .p-onayami__item:nth-child(4) .icon img {
	width: 4.875rem;
}

.p-onayami .p-onayami__item:nth-child(5) .icon img {
	width: 3.75rem;
}

.p-onayami .p-onayami__item:nth-child(6) .icon img {
	width: 3.375rem;
}

.p-onayami .p-onayami__item p {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.008em;
	line-height: 1.4444444444;
	margin-top: 0.4375rem;
}

.p-onayami::after {
	content: "";
	background: #00A1C2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	height: 2.5rem;
	left: calc(50% - 2.5rem);
	position: absolute;
	top: 40.875rem;
	width: 5rem;
	animation: shake-up 3s infinite ease-in-out;
}

/* ---------- メッセージ ---------- */
.p-message {
	background: #ffffff;
	height: min(27.4375rem, 22.8646vw);
	overflow: hidden;
}

.p-message .l-message {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto 1fr;
	height: 100%;
	padding-top: min(5.9063rem, 4.9219vw);
	position: relative;
	width: 100%;
}

.p-message .p-message__txt {
	color: #262322;
	font-size: max(1rem, min(1.25rem, 1.0417vw));
	font-weight: 500;
	grid-column: 1;
	grid-row: 1;
	letter-spacing: 0;
	line-height: 1.9;
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-message .p-message__lead {
	color: #00388D;
	font-weight: 700;
	grid-column: 1;
	grid-row: 2;
	letter-spacing: 0;
	margin-top: min(3.875rem, 3.2292vw);
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-message .p-message__lead span {
	display: block;
}

/* 1行目と2行目で文字サイズが違う（カンプ指定） */
.p-message .p-message__lead .line1 {
	font-size: min(2.1875rem, 1.8229vw);
	line-height: 1.2;
}

.p-message .p-message__lead .line2 {
	font-size: min(2.3125rem, 1.9271vw);
	line-height: 1.1891891892;
	margin-top: min(1.125rem, 0.9375vw);
}

.p-message .p-message__img {
	align-self: start;
	grid-column: 1;
	grid-row: 1 / 4;
	justify-self: start;
	margin-left: calc(50% - min(36.875rem, 33.5vw));
	margin-top: min(3.2188rem, 2.6823vw);
	position: relative;
	width: min(13.25rem, 11.0417vw);
}

.p-message .p-message__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- 選ばれる理由 ---------- */
.p-reason {
	background: #00388D;
	overflow: hidden;
	padding-block: 13.125rem 7.5rem;
}

.p-reason .p-reason__logo {
	left: 18.4375rem;
	position: absolute;
	top: 7.5rem;
	width: 91.875rem;
}

.p-reason .p-reason__logo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-reason .l-reason {
	margin-inline: auto;
	position: relative;
	width: min(95%, 80rem);
}

.p-reason .p-reason__head {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
}

.p-reason .p-reason__ttl {
	color: #ffffff;
	font-size: 5.3125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2235294118;
}

/* 欧文部分の字間（カンプの欧文の幅に合わせる） */
.p-reason .p-reason__ttl .latin {
	letter-spacing: 0.04em;
}

.p-reason .p-reason__lead {
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.5833333333;
	margin-right: -0.125rem;
	position: relative;
	top: 0.125rem;
}

.p-reason .p-reason__items {
	display: flex;
	flex-wrap: wrap;
	gap: 4.25rem 2.5rem;
	justify-content: center;
	margin-top: 5.6875rem;
}

.p-reason .p-reason__item {
	display: flex;
	flex-direction: column;
	width: calc((100% - 5rem) / 3);
}

.p-reason .p-reason__item .num {
	color: #4272BC;
	font-size: 1.75rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	margin-top: -0.25rem;
}

.p-reason .p-reason__item .num span {
	font-size: 3.375rem;
}

.p-reason .p-reason__item .box {
	background: #ffffff;
	flex: 1;
	margin-top: 0.6875rem;
	min-height: 28.75rem;
}

.p-reason .p-reason__item .img img {
	display: block;
	height: 13.125rem;
	object-fit: cover;
	width: 100%;
}

.p-reason .p-reason__item:nth-child(5) .img img {
	object-position: center top;
}

.p-reason .p-reason__item .txt {
	padding: 2rem 2.25rem 1.25rem 2.5rem;
}

.p-reason .p-reason__item .txt h3 {
	color: #00388D;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.4583333333;
}

.p-reason .p-reason__item .txt p {
	color: #1A1311;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: 1.625rem;
}

/* ---------- サービス紹介 ---------- */
.p-service {
	background: #F2F2F2;
	padding-block: 10.125rem 5.0375rem;
}

.p-service .l-service {
	margin-inline: auto;
	position: relative;
	width: min(95%, 65.4375rem);
}

.p-service .p-service__head {
	position: relative;
	text-align: center;
}

.p-service .p-service__en {
	color: #ffffff;
	font-size: 12.25rem;
	font-weight: 700;
	left: -0.125rem;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	top: -7.875rem;
	width: 100%;
}

.p-service .p-service__ttl {
	color: #00388D;
	font-size: 2.25rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: -0.125rem;
	position: relative;
}

.p-service .p-service__items {
	display: grid;
	gap: 3.5rem 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 4.375rem;
}

.p-service .p-service__item {
	text-align: center;
}

.p-service .p-service__item .p-service__link {
	display: block;
}

.p-service .p-service__item .img {
	border: 2px solid #00388D;
	border-radius: 50%;
	height: 15.5rem;
	margin-inline: auto;
	overflow: hidden;
	padding: 0.25rem;
	position: relative;
	width: 15.5rem;
}

/* 拡大した写真が外側の余白にはみ出ないよう、余白と同じ色の輪で隠す */
.p-service .p-service__item .img::after {
	border-radius: 50%;
	box-shadow: inset 0 0 0 0.25rem #F2F2F2;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.p-service .p-service__item .img img {
	border-radius: 50%;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	width: 100%;
}

.p-service .p-service__item .p-service__link:focus-visible .img img {
	transform: scale(1.08);
}

.p-service .p-service__item h3 {
	background: #00388D;
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 2.3333333333;
	margin: -1.9375rem auto 0;
	padding-inline: 1.5rem;
	padding-top: 0.1875rem;
	position: relative;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-service .p-service__item .txt {
	color: #262322;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.75;
	margin-top: 0.75rem;
	padding-bottom: 1.3125rem;
	white-space: nowrap;
}

.p-service .p-service__item .more {
	color: #00A1C2;
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
}

/* ---------- 決算申告サポート ---------- */
.p-support {
	background: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	overflow: hidden;
	padding-bottom: 0.0625rem;
	padding-top: 6.25rem;
}

.p-support .l-support {
	margin-inline: auto;
	position: relative;
	width: min(95%, 62.5rem);
}

.p-support .p-support__head {
	text-align: center;
}

.p-support .p-support__ttl {
	background: linear-gradient(90deg, #16A2BF 0%, #265EB4 100%);
	color: #ffffff;
	font-size: 3.8125rem;
	font-weight: 700;
	height: 6.6875rem;
	letter-spacing: 0.1em;
	line-height: 1.7540983607;
	margin-inline: auto;
	width: min(100%, 48.125rem);
}

.p-support .p-support__catch {
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-top: 3.125rem;
}

.p-support .p-support__catch .line1 {
	display: block;
	font-size: 3.125rem;
	letter-spacing: 0.04em;
}

.p-support .p-support__catch .line1 em {
	color: #FFE600;
	font-size: 4.5rem;
	font-style: normal;
	letter-spacing: 0.04em;
	position: relative;
	top: -0.125rem;
}

.p-support .p-support__catch .line2 {
	display: block;
	margin-top: -0.25rem;
	font-size: 4.0625rem;
	letter-spacing: 0.04em;
}

.p-support .p-support__lead {
	background: #2E5BA8;
	color: #ffffff;
	font-size: 1.8125rem;
	font-weight: 500;
	height: 3.5rem;
	letter-spacing: 0.05em;
	line-height: 1.9310344828;
	margin-inline: auto;
	margin-top: 1.0625rem;
	width: min(100%, 41.1875rem);
}

.p-support .p-support__flow {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-top: 2.875rem;
}

.p-support .p-support__before {
	flex: none;
	width: 19.1875rem;
}

.p-support .p-support__before .label,
.p-support .p-support__after .label {
	color: #ffffff;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-align: center;
}

.p-support .p-support__before .label {
	background: #5A6577;
	font-size: 1.875rem;
	height: 3.5rem;
	line-height: 1.6666666667;
}

.p-support .p-support__before .body {
	background: #ffffff;
	box-sizing: border-box;
	height: 20.0625rem;
	padding: 1.1875rem 0 0 4rem;
}

.p-support .p-support__before li {
	align-items: center;
	display: flex;
	height: 3.035rem;
}

.p-support .p-support__before li:not(:first-child) {
	margin-top: 0.6213rem;
}

.p-support .p-support__before li img {
	display: block;
	flex: none;
	height: 3.035rem;
	width: 3.035rem;
}

.p-support .p-support__before li span {
	color: #1A1311;
	font-size: 1.5625rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-left: 1.0875rem;
}

.p-support .p-support__arrow {
	align-self: center;
	flex: none;
	padding-bottom: 0.625rem;
}

.p-support .p-support__arrow img {
	display: block;
	height: 2.875rem;
	width: 1.75rem;
}

.p-support .p-support__after {
	flex: none;
	width: 39.3125rem;
}

.p-support .p-support__after .label {
	background: #00A1C2;
	font-size: 1.9375rem;
	height: 3.5625rem;
	line-height: 1.8387096774;
}

.p-support .p-support__after .body {
	align-items: flex-end;
	background: #ffffff;
	box-sizing: border-box;
	display: flex;
	height: 20.25rem;
	justify-content: space-between;
}

.p-support .p-support__after ul {
	align-self: flex-start;
	padding: 3.6875rem 0 0 2.5625rem;
}

.p-support .p-support__after li {
	align-items: center;
	display: flex;
	height: 3.875rem;
}

.p-support .p-support__after li:not(:first-child) {
	margin-top: 0.6875rem;
}

.p-support .p-support__after li img {
	display: block;
	flex: none;
	height: 3.875rem;
	width: 3.875rem;
}

.p-support .p-support__after li span {
	color: #1A1311;
	font-size: 1.9375rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-left: 1.375rem;
}

.p-support .p-support__after li:nth-child(1) span {
	position: relative;
	top: -0.125rem;
}

.p-support .p-support__after li:nth-child(2) span {
	position: relative;
	top: -0.0625rem;
}

.p-support .p-support__after .human {
	flex: none;
	height: 17.875rem;
	margin-right: -1.25rem;
	overflow: hidden;
	position: relative;
	width: 11rem;
}

.p-support .p-support__after .human picture {
	display: block;
}

.p-support .p-support__after .human img {
	display: block;
	margin: -5.6875rem 0 0 -22.4375rem;
	max-width: none;
	width: 56.9375rem;
}

.p-support .p-support__result {
	color: #ffffff;
	margin-top: 4.4375rem;
	text-align: center;
}

.p-support .p-support__time {
	font-size: 2.6875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

.p-support .p-support__time .num {
	color: #FFE600;
	font-size: 4.4375rem;
	letter-spacing: 0;
	margin-inline: 0.3125rem 0.5rem;
	position: relative;
	top: 0.1875rem;
}

.p-support .p-support__time .num:last-of-type {
	margin-inline: -0.3125rem 0.4375rem;
}

.p-support .p-support__note {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-top: 0.3125rem;
}

.p-support .p-support__price {
	background: #ffffff;
	box-sizing: border-box;
	height: 14.8125rem;
	margin-top: 1.5625rem;
	padding-top: 1.875rem;
	position: relative;
	text-align: center;
}

.p-support .p-support__price-ttl {
	background: #00388D;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 600;
	height: 3.125rem;
	letter-spacing: 0.05em;
	line-height: 2.1666666667;
	margin-inline: auto;
	padding-left: 0.25rem;
	width: 28.1875rem;
}

.p-support .p-support__price-txt {
	align-items: flex-end;
	color: #00388D;
	display: flex;
	font-weight: 700;
	justify-content: center;
	margin-top: -0.6875rem;
}

.p-support .p-support__price-txt .unit {
	font-size: 1.875rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	padding-bottom: 1.0625rem;
}

.p-support .p-support__price-txt .amount {
	background: linear-gradient(#FFE600, #FFE600) no-repeat left bottom 1.5rem / 100% 1.8125rem;
	box-sizing: border-box;
	font-size: 6.25rem;
	letter-spacing: -0.02em;
	line-height: 1.45;
	margin-left: 0.5rem;
	padding-left: 0.0625rem;
	text-align: left;
	width: 20.125rem;
}

.p-support .p-support__price-txt .yen {
	display: grid;
	font-size: 1.875rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-left: 0.4rem;
	padding-bottom: 1.0625rem;
}

.p-support .p-support__price-txt .yen small {
	font-size: 0.9375rem;
	left: -0.75rem;
	letter-spacing: 0;
	line-height: 0.5333333333;
	position: relative;
	top: -0.375rem;
}

.p-support .p-support__price-txt .consult {
	font-size: 2.1875rem;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-left: 1.25rem;
	padding-bottom: 1.0875rem;
}

.p-support .p-support__cta {
	display: grid;
	margin-top: -5.6875rem;
}

.p-support .p-support__cta .human {
	grid-area: 1 / 1;
	height: 22.125rem;
	justify-self: start;
	margin-left: -3.125rem;
	overflow: hidden;
	position: relative;
	width: 13.6875rem;
}

.p-support .p-support__cta .human picture {
	display: block;
}

.p-support .p-support__cta .human img {
	display: block;
	height: auto;
	width: 100%;
}

.p-support .p-support__cta .btn {
	align-items: center;
	background: #FFE600;
	border-radius: 3.46875rem;
	box-sizing: border-box;
	color: #1A1311;
	display: flex;
	font-size: 1.625rem;
	font-weight: 600;
	grid-area: 1 / 1;
	height: 6.9375rem;
	justify-self: center;
	letter-spacing: 0.04em;
	line-height: 1.3076923077;
	margin-top: 8.8125rem;
	padding-left: 5.0625rem;
	position: relative;
	width: 36.6875rem;
}

/* 丸い矢印（カンプと同じ影つき） */
.p-support .p-support__cta .btn::after {
	background: url(../images/sendai/support_btn_arrow.svg?v=202611111115) no-repeat center/contain;
	content: "";
	filter: drop-shadow(0 0.1875rem 0.1875rem rgba(0, 0, 0, 0.35));
	height: 3.875rem;
	margin-left: auto;
	margin-right: 5rem;
	transition: transform 0.3s ease;
	width: 3.875rem;
}

/* ---------- オフィス紹介 ---------- */
.p-office {
	background: #ffffff;
	padding-block: 12.375rem 3.9375rem;
}

.p-office .l-office {
	position: relative;
	width: 100%;
}

.p-office .p-office__head {
	position: relative;
	text-align: center;
}

.p-office .p-office__en {
	color: #EEF2F8;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12.25rem;
	font-weight: 700;
	left: 0;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	top: -5.4375rem;
	width: 100%;
}

.p-office .p-office__ttl {
	color: #00388D;
	font-size: 2.625rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
	margin-top: -0.125rem;
	position: relative;
}

.p-office .p-office__lead {
	color: #262322;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.75;
	margin-top: 0.8125rem;
	position: relative;
}

.p-office .p-office__contents {
	display: flex;
	justify-content: space-between;
	margin-left: max(2.5%, calc(50% - 34.25rem));
	margin-top: 4.25rem;
	width: min(95%, 74.375rem);
}

.p-office .p-office__txt {
	margin-top: -0.2188rem;
	width: 31.25rem;
}

.p-office .p-office__txt h3 {
	color: #00388D;
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.75;
}

.p-office .p-office__txt p {
	color: #262322;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.75;
	margin-top: 1.75rem;
}

.p-office .p-office__txt p:first-of-type {
	margin-right: -1rem;
	margin-top: 1.7188rem;
}

.p-office .p-office__img {
	height: 27.625rem;
	overflow: hidden;
	width: min(38.75rem, calc(95vw - 34.375rem));
}

/* カンプの写真は枠より大きく拡大して切り抜かれている */
.p-office .p-office__img img {
	display: block;
	height: auto;
	margin-left: -8.93rem;
	margin-top: -1.49rem;
	max-width: none;
	width: 60.4rem;
}

.p-office .p-office__band {
	background: #F2F2F2;
	align-items: center;
	display: flex;
	height: 9.375rem;
	margin-inline: auto;
	margin-top: 4.9875rem;
	padding-left: 11.9375rem;
	position: relative;
	width: 45.25rem;
}

.p-office .p-office__band .medal {
	height: 7.375rem;
	left: 3.0625rem;
	position: absolute;
	top: -1.2375rem;
	width: 7.375rem;
}

.p-office .p-office__band .medal img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-office .p-office__band .medal__txt {
	color: #FFFDFA;
	left: 0;
	position: absolute;
	text-align: center;
	top: 2.6438rem;
	width: 100%;
}

.p-office .p-office__band .medal__txt .sub {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4166666667;
}

.p-office .p-office__band .medal__txt .main {
	display: block;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 1.1111111111;
	margin-top: 0.0531rem;
	word-spacing: 0.1em;
}

.p-office .p-office__band .p-office__band-txt {
	color: #1A1311;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.7222222222;
	padding-bottom: 0.0625rem;
}

.p-office .p-office__band .human {
	height: 10.1875rem;
	left: 33.6875rem;
	overflow: hidden;
	position: absolute;
	top: -0.8125rem;
	width: 8.375rem;
}

.p-office .p-office__band .human img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- 事業所情報 ---------- */
.p-info {
	background: #ffffff;
	padding-bottom: 7rem;
}

.p-info .l-info {
	display: flex;
	justify-content: space-between;
	margin-left: max(2.5%, calc(50% - 34.25rem));
	width: min(95%, 68.75rem);
}

.p-info .p-info__map {
	height: 30.625rem;
	width: 32.5rem;
}

.p-info .p-info__map iframe {
	display: block;
	height: 100%;
	width: 100%;
}

.p-info .p-info__table {
	width: 33.75rem;
}

.p-info .p-info__table .row {
	display: flex;
	min-height: 4rem;
}

.p-info .p-info__table .row:nth-child(3) {
	min-height: 5.125rem;
}

.p-info .p-info__table .row:last-child {
	min-height: 9.4375rem;
}

.p-info .p-info__table dt {
	align-items: center;
	background: #00388D;
	color: #ffffff;
	display: flex;
	flex-shrink: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1.5;
	padding-bottom: 0.125rem;
	width: 8.0625rem;
}

.p-info .p-info__table dd {
	align-items: center;
	background: #F8F8F8;
	color: #262322;
	display: flex;
	border-bottom: 1px solid #EBEBEB;
	flex-grow: 1;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.8;
	padding-bottom: 0.125rem;
	padding-inline: 1.5625rem 0.5rem;
}

.p-info .p-info__table .row:nth-child(5) dd {
	padding-top: 0.375rem;
}

.p-info .p-info__table .row:last-child dt {
	align-items: flex-start;
	padding-top: 1.1375rem;
}

.p-info .p-info__station li {
	display: flex;
	line-height: 1.9333333333;
}

.p-info .p-info__station .name {
	display: block;
	width: 8.0625rem;
}

.p-info .p-info__table .row:last-child dd {
	align-items: flex-start;
	padding-top: 1.0625rem;
}

/* ---------- CTA 帯 ---------- */
.p-cta {
	background: #00388D;
	height: 20.125rem;
}

.p-cta .l-cta {
	box-sizing: border-box;
	height: 100%;
	padding-top: 4.3125rem;
	position: relative;
	width: 100%;
}

.p-cta .p-cta__medal {
	height: 12.0625rem;
	display: grid;
	left: calc(50% - 34.375rem);
	position: absolute;
	top: -2rem;
	width: 12.0625rem;
}

.p-cta .p-cta__medal > picture {
	display: block;
	grid-area: 1 / 1;
}

.p-cta .p-cta__medal img {
	display: block;
	height: auto;
	width: 100%;
}

.p-cta .p-cta__medal .laurel {
	height: auto;
	left: 0.0625rem;
	position: absolute;
	top: 1.9375rem;
	width: 11.8125rem;
}

.p-cta .p-cta__medal p {
	align-self: start;
	color: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.1875rem;
	font-weight: 600;
	grid-area: 1 / 1;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-top: 4.3125rem;
	position: relative;
	text-align: center;
}

.p-cta .p-cta__medal p span {
	color: #352F2D;
	display: block;
	font-size: 1.1875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding-bottom: 0.3125rem;
}

.p-cta .p-cta__contents {
	margin-left: calc(50% - 20rem);
	position: relative;
	width: 40rem;
}

.p-cta .p-cta__ttl {
	background: linear-gradient(90deg, #00A1C2 0%, #00388D 100%);
	color: #ffffff;
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.25rem;
	font-weight: 700;
	height: 5rem;
	letter-spacing: 0.04em;
	line-height: 2.1388888889;
	margin-left: 1.0625rem;
	padding-left: 1.75rem;
	padding-top: 0.3rem;
	width: 37.875rem;
}

.p-cta .p-cta__ttl span:nth-child(2) {
	display: inline;
}

.p-cta .p-cta__txt {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2.2352941176;
	margin-top: 2.1rem;
	text-align: center;
}

.p-cta .p-cta__img {
	bottom: 0.25rem;
	left: calc(50% + 21rem);
	position: absolute;
	width: 15.5rem;
}

.p-cta .p-cta__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- フォーム ---------- */
.p-scontact {
	background: #F2F2F2 url(../images/sendai/form_bg_v2.jpg?v=202611111520) repeat top center/1920px auto;
	padding-bottom: 3.25rem;
	padding-top: 4.9375rem;
}

.p-scontact #form .form-Box {
	margin-bottom: 0;
	padding-block: 3.0625rem 3.75rem;
	width: min(95%, 80rem);
}

.p-scontact #form .form-Box::before {
	content: none;
}

.p-scontact #form .form-Box-inner {
	width: 100%;
}

.p-scontact #form .formttl {
	line-height: 1;
	margin-bottom: 0;
	text-align: center;
}

.p-scontact #form .formttl > span {
	background: #012678;
	color: #ffffff;
	display: inline-block;
	font-size: 2.25rem;
	font-weight: 700;
	height: 5rem;
	letter-spacing: 0;
	line-height: 2.4444444444;
	padding-inline: 1.875rem;
}

.p-scontact #form .formttl > span em {
	color: #EEFE00;
	font-size: 2.625rem;
	font-style: normal;
	line-height: 0;
	margin-inline: 0.4375rem;
}

.p-scontact #form .formttl .kara {
	font-style: normal;
	line-height: 0;
	vertical-align: 0.125rem;
}

.p-sbnr {
	border: 1px solid #BEBEBE;
	margin-inline: auto;
	margin-top: 1.625rem;
	padding-block: 1.9038rem 2.0625rem;
	text-align: center;
	width: 34rem;
}

.p-sbnr .p-sbnr__lead {
	color: #262322;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
}

.p-sbnr .p-sbnr__tel {
	color: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1666666667;
	margin-top: 0.975rem;
}

.p-sbnr .p-sbnr__tel span {
	align-items: flex-start;
	display: inline-flex;
	gap: 0.7938rem;
	padding-right: 0.3125rem;
	vertical-align: top;
}

.p-sbnr .p-sbnr__tel img {
	display: block;
	height: auto;
	margin-top: 0.85rem;
	width: 2.475rem;
}

.p-sbnr .p-sbnr__txt {
	color: #1A1311;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.25;
	margin-top: 0.4938rem;
}

.p-scontact .form-Box .wpcf7 {
	margin-top: 3.4038rem;
}

.p-scontact .form-Box table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 0;
	margin-inline: auto;
	padding-bottom: 2.0625rem;
	width: 50rem;
}

.p-scontact .form-Box tr {
	border: 0;
}

.p-scontact .form-Box th {
	color: #262322;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	padding: 0 0 1rem;
	vertical-align: middle;
	width: 16.25rem;
}

.p-scontact .form-Box th p {
	align-items: center;
	display: flex;
}

.p-scontact .form-Box th.required::after {
	content: none;
}

.p-scontact .form-Box tr:first-child th {
	padding-top: 0.3125rem;
	vertical-align: top;
}

.p-scontact .form-Box tr:first-child th,
.p-scontact .form-Box tr:first-child td {
	padding-bottom: 2.1875rem;
}

.p-scontact .form-Box th.required p::after,
.p-scontact .form-Box th.optional p::after {
	background: #FFE600;
	color: #262322;
	content: "必須";
	display: block;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
	margin-left: 1.0625rem;
	margin-top: 0.25rem;
	padding: 0 0.5rem 0.125rem 0.34375rem;
}

.p-scontact .form-Box tr:first-child th.required p::after {
	margin-top: 0;
}

.p-scontact .form-Box tr:nth-child(7) th {
	padding-bottom: 1.375rem;
}

.p-scontact .form-Box th.optional p::after {
	background: #999999;
	color: #ffffff;
	content: "任意";
}

.p-scontact .form-Box td {
	padding: 0 0 0.9375rem;
	width: auto;
}

.p-scontact .form-Box td p {
	margin: 0;
}

.p-scontact .form-Box .wpcf7-form-control-wrap {
	display: block;
}

.p-scontact .form-Box input[type="text"],
.p-scontact .form-Box input[type="email"],
.p-scontact .form-Box input[type="tel"],
.p-scontact .form-Box textarea {
	background: #EDEDED;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: #262322;
	font-size: 0.875rem;
	font-weight: 500;
	height: 3.1875rem;
	letter-spacing: 0;
	padding: 0 1rem 0.1875rem;
	width: 100%;
}

.p-scontact .form-Box textarea {
	height: 8.6875rem;
	min-height: 0;
	padding: 0.875rem;
	resize: none;
}

/* タッチ端末は 16px 未満だと入力時に画面が拡大されるため、下限を付ける */
@media (pointer: coarse) {
	.p-scontact .form-Box input[type="text"],
	.p-scontact .form-Box input[type="email"],
	.p-scontact .form-Box input[type="tel"],
	.p-scontact .form-Box textarea {
		font-size: max(16px, 0.875rem);
	}
}

.p-scontact .form-Box input::placeholder,
.p-scontact .form-Box textarea::placeholder {
	color: #999999;
}

.p-scontact .form-Box .wpcf7-radio .wpcf7-list-item {
	display: block;
	margin: 0;
}

.p-scontact .form-Box .wpcf7-radio label {
	align-items: center;
	cursor: pointer;
	display: flex;
	color: #262322;
	font-size: 0.9375rem;
	font-weight: 500;
	gap: 0.6875rem;
	height: 2.125rem;
	letter-spacing: 0;
}

.p-scontact .form-Box input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	background: #ffffff;
	border: 1px solid #999999;
	border-radius: 50%;
	flex-shrink: 0;
	height: 0.9375rem;
	margin: -0.125rem 0 0;
	position: relative;
	width: 0.9375rem;
}

.p-scontact .form-Box input[type="radio"]:checked::after {
	background: #00388D;
	border-radius: 50%;
	content: "";
	height: 0.625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0.625rem;
}

.p-scontact .form-Box td .confirm_area p {
	color: #262322;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin: 0;
	min-height: 3.25rem;
	padding-top: 0.875rem;
}

.p-scontact .form-Box .error-message {
	color: #DC3232;
	display: none;
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

.p-scontact #form #confirm_area p::after,
.p-scontact #form #send_area p::after {
	content: none;
}

.p-scontact #form #confirm_area p,
.p-scontact #form #send_area p,
.p-scontact #form #back_area p {
	display: block;
	margin: 0;
}

.p-scontact #form #send_area {
	padding-bottom: 1.25rem;
}

.p-scontact #form #send_area p {
	position: relative;
}

.p-scontact #form #send_area .wpcf7-spinner {
	left: 50%;
	margin: 0 0 0 -0.75rem;
	position: absolute;
	top: 100%;
}

.p-scontact #form .confirm_button,
.p-scontact #form #back_button,
.p-scontact #form input[type="submit"] {
	border: 1px solid #1A1311;
	border-radius: 999px;
	color: #1A1311;
	font-size: 1.0625rem;
	font-weight: 500;
	height: 3.875rem;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0 auto;
	padding: 0 0.3125rem 0 0;
	width: 23.75rem;
}

.p-scontact #form .confirm_button {
	background: #FFE600 url(../images/sendai/form_arrow_circle_v2.svg?v=202611111700) no-repeat right 1.4375rem center/2rem 2rem;
	border-color: #FFE600;
}

.p-scontact #form .confirm_button:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

/* プライバシーポリシーの同意欄（本文の枠は form.css・ほかのページと同じ見た目。幅をフォームの表の幅にそろえる） */
.p-scontact #priv,
.p-scontact .privtext {
	margin-inline: auto;
	width: 50rem;
}

.p-scontact .privtext {
	color: #262322;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-scontact .privtext .wpcf7-list-item {
	margin: 0;
}

.p-scontact .privtext label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	gap: 0.5rem;
	text-align: left;
}

.p-scontact .privtext input[type="checkbox"] {
	accent-color: #00388D;
	cursor: pointer;
	flex-shrink: 0;
	height: max(1.25rem, 18px);
	margin: 0;
	width: max(1.25rem, 18px);
}

.p-scontact #form input[type="submit"] {
	background: #ffffff url(../images/sendai/form_arrow_v2.svg?v=202611111700) no-repeat right 1.4375rem center/2rem 2rem;
}

.p-scontact #form #back_button {
	background: #1A1311 url(../images/sendai/form_arrow_circle_v2.svg?v=202611111700) no-repeat right 1.4375rem center/2rem 2rem;
	border-color: #1A1311;
	color: #ffffff;
}

/* ---------- サンクス ---------- */
.p-sthank__ttl {
	background: #00388D;
	color: #ffffff;
	margin-inline: auto;
	max-width: 1920px;
	padding-block: 3.5rem;
	text-align: center;
	width: 100%;
}

.p-sthank__ttl h1 {
	font-size: 2.25rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.4166666667;
}

.p-sthank__ttl p {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	margin-top: 0.5rem;
}

@media (any-hover: hover) {
	.p-service .p-service__item .p-service__link:hover {
		text-decoration: none;
	}

	.p-service .p-service__item .p-service__link:hover .img img {
		opacity: 1;
		transform: scale(1.08);
	}

	.p-service .p-service__item .p-service__link:hover .more {
		color: #00388D;
	}

	.p-support .p-support__cta .btn:hover {
		text-decoration: none;
	}

	.p-support .p-support__cta .btn:hover::after {
		transform: translateX(0.3125rem);
	}
}

@media screen and (min-width: 768px) and (max-width: 900px) {
	.p-message {
		height: 24vw;
	}
}

}

/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {

/* ---------- 共通 ---------- */
.p-mv,
.p-intro,
.p-onayami,
.p-message,
.p-reason,
.p-service,
.p-office,
.p-info,
.p-cta,
.p-scontact {
	position: relative;
	width: 100%;
}

/* ---------- FV ---------- */
.p-mv {
	height: 130.4348vw;
	overflow: hidden;
}

.p-mv .p-mv__bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-mv .p-mv__bg img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.p-mv .seo_bread_list {
	color: #1A1311;
	font-size: 2.8986vw;
	left: 2.8986vw;
	letter-spacing: 0.05em;
	line-height: 2;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 9.4203vw;
	width: auto;
	z-index: 3;
}

.p-mv .seo_bread_list a {
	color: inherit;
}

.p-mv .l-mv {
	box-sizing: border-box;
	height: 100%;
	padding-top: 23.43vw;
	position: relative;
	width: 100%;
}

.p-mv .p-mv__contents {
	margin-left: 2.8986vw;
	position: relative;
	z-index: 2;
}

.p-mv .p-mv__tag {
	background: #00388D;
	color: #ffffff;
	font-size: 3.3816vw;
	font-weight: 700;
	height: 8.2126vw;
	letter-spacing: 0.04em;
	line-height: 2.4285714286;
	padding-inline: 2.8986vw 0;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv .p-mv__ttl {
	margin-top: 2.4155vw;
}

.p-mv .p-mv__ttl .line {
	background: #ffffff;
	color: #00388D;
	display: block;
	font-size: 6.2802vw;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.8461538462;
	padding-inline: 2.4155vw 0;
	white-space: nowrap;
	width: 85.7488vw;
}

.p-mv .p-mv__ttl .line:not(:first-child) {
	margin-top: 1.9324vw;
}

.p-mv .p-mv__human img {
	display: block;
	height: auto;
	width: 100%;
}

.p-mv .p-mv__human {
	left: 8.2126vw;
	position: absolute;
	top: 91.5459vw;
	width: 83.8164vw;
	z-index: 3;
}

/* ---------- イントロ ---------- */
.p-intro {
	background: #ffffff;
	height: 142.7536vw;
	overflow: hidden;
}

.p-intro .l-intro {
	box-sizing: border-box;
	display: block;
	height: 100%;
	padding-top: 19.25vw;
	position: relative;
	width: 100%;
}

.p-intro .p-intro__en {
	color: #EEF2F8;
	font-size: 9.6618vw;
	font-weight: 700;
	left: 0;
	letter-spacing: 0;
	line-height: 1.1;
	position: absolute;
	text-align: center;
	top: 12.22vw;
	width: 100%;
}

.p-intro .p-intro__ttl {
	color: #00388D;
	font-size: 6.2802vw;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4615384615;
	padding-left: 0.7246vw;
	position: relative;
	text-align: center;
}

.p-intro .p-intro__txt {
	color: #1A1311;
	font-size: 3.6232vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.1;
	margin-inline: auto;
	margin-top: 5.8698vw;
	position: relative;
	width: 82.1256vw;
}

.p-intro .p-intro__band {
	margin-inline: auto;
	margin-top: 5.4712vw;
	position: relative;
	width: 82.1256vw;
}

.p-intro .p-intro__band span {
	background: #00388D;
	color: #ffffff;
	display: block;
	font-size: 4.3478vw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2.3333333333;
	padding-inline: 3.3816vw 0;
	white-space: nowrap;
}

.p-intro .p-intro__band span:first-child {
	width: 59.9034vw;
}

.p-intro .p-intro__band span:not(:first-child) {
	margin-top: 1.9324vw;
	width: 76.8116vw;
}

.p-intro .p-intro__lead {
	color: #00388D;
	font-size: 5.7971vw;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.75;
	margin-inline: auto;
	margin-top: 3.466vw;
	position: relative;
	width: 82.1256vw;
}

.p-intro .p-intro__img {
	left: 13.1431vw;
	position: absolute;
	top: 78.4246vw;
	width: 67.75vw;
}

.p-intro .p-intro__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- お悩み ---------- */
.p-onayami {
	height: 162.3188vw;
	isolation: isolate;
	z-index: 2;
}

.p-onayami::before {
	background: url("../images/sendai/onayami_bg_v2_sp.jpg?v=202611100900") center top / cover no-repeat;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.p-onayami .l-onayami {
	padding-top: 12.0773vw;
	position: relative;
}

.p-onayami .p-onayami__ttl {
	text-align: center;
}

.p-onayami .p-onayami__ttl span {
	color: #1A1311;
	display: block;
	font-weight: 700;
}

.p-onayami .p-onayami__ttl .sub {
	font-size: 4.3478vw;
	letter-spacing: 0.04em;
	line-height: 1.5555555556;
}

.p-onayami .p-onayami__ttl .main {
	font-size: 5.314vw;
	letter-spacing: 0.04em;
	line-height: 1.5454545455;
	margin-top: 1.2077vw;
}

.p-onayami .p-onayami__items {
	display: grid;
	gap: 2.8986vw 2.4155vw;
	grid-auto-rows: 33.3333vw;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-inline: auto;
	margin-top: 5.7971vw;
	width: 92.2705vw;
}

.p-onayami .p-onayami__item {
	background: #ffffff;
	color: #1A1311;
	padding-top: 4.8309vw;
	text-align: center;
}

.p-onayami .p-onayami__item .icon {
	align-items: center;
	display: flex;
	height: 11.1111vw;
	justify-content: center;
}

.p-onayami .p-onayami__item .icon img {
	display: block;
	height: auto;
}

.p-onayami .p-onayami__item:nth-child(1) .icon img {
	margin-left: 1.4493vw;
	width: 14.7343vw;
}

.p-onayami .p-onayami__item:nth-child(2) .icon img {
	margin-right: 4.8309vw;
	width: 11.3526vw;
}

.p-onayami .p-onayami__item:nth-child(3) .icon img {
	width: 12.8019vw;
}

.p-onayami .p-onayami__item:nth-child(4) .icon img {
	margin-right: 4.8309vw;
	width: 12.5604vw;
}

.p-onayami .p-onayami__item:nth-child(5) .icon img {
	width: 9.4203vw;
}

.p-onayami .p-onayami__item:nth-child(6) .icon img {
	width: 8.4541vw;
}

.p-onayami .p-onayami__item p {
	font-size: 3.1401vw;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.7;
	margin-top: 2.4155vw;
}

.p-onayami::after {
	content: "";
	background: #00A1C2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	height: 6.2802vw;
	left: calc(50% - 5.5556vw);
	position: absolute;
	top: 155.5556vw;
	width: 11.1111vw;
	animation: shake-up-sp 3s infinite ease-in-out;
}

/* ---------- メッセージ ---------- */
.p-message {
	background: #ffffff;
	height: 79.9517vw;
	overflow: hidden;
}

.p-message .l-message {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto 1fr;
	height: 100%;
	padding-top: 8.6957vw;
	position: relative;
	width: 100%;
}

.p-message .p-message__txt {
	color: #262322;
	font-size: 3.6232vw;
	font-weight: 500;
	grid-column: 1;
	grid-row: 1;
	letter-spacing: 0.04em;
	line-height: 1.7333333333;
	padding-left: 0.7246vw;
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-message .p-message__lead {
	color: #00388D;
	font-size: 5.314vw;
	font-weight: 700;
	grid-column: 1;
	grid-row: 2;
	letter-spacing: 0.04em;
	line-height: 1.6363636364;
	margin-top: 6.7633vw;
	position: relative;
	text-align: center;
	z-index: 1;
}

.p-message .p-message__lead span {
	display: block;
}

.p-message .p-message__img {
	align-self: start;
	grid-column: 1;
	grid-row: 1 / 4;
	justify-self: start;
	margin-left: 6.0386vw;
	margin-top: 44.2029vw;
	position: relative;
	width: 19.5652vw;
}

.p-message .p-message__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- 選ばれる理由 ---------- */
.p-reason {
	background: #00388D;
	overflow: hidden;
	padding-block: 24.6377vw 19.3237vw;
}

.p-reason .p-reason__logo {
	left: 0;
	position: absolute;
	top: 14.4928vw;
	width: 83.3333vw;
}

.p-reason .p-reason__logo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-reason .l-reason {
	margin-inline: auto;
	position: relative;
	width: 89.372vw;
}

.p-reason .p-reason__ttl {
	color: #ffffff;
	font-size: 7.7295vw;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

/* 欧文部分の字間（カンプの欧文の幅に合わせる） */
.p-reason .p-reason__ttl .latin {
	letter-spacing: 0.04em;
}

.p-reason .p-reason__lead {
	color: #ffffff;
	font-size: 3.8647vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.875;
	margin-top: 2.1739vw;
}

.p-reason .p-reason__items {
	display: grid;
	gap: 10.8696vw 0;
	margin-top: 5.314vw;
}

.p-reason .p-reason__item .num {
	color: #4272BC;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 8.2126vw;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	margin-top: 0.9662vw;
	text-align: right;
}

.p-reason .p-reason__item .num span {
	font-size: 8.2126vw;
}

.p-reason .p-reason__item .box {
	background: #ffffff;
	margin-top: 1.6908vw;
}

.p-reason .p-reason__item .img img {
	display: block;
	height: 45.8937vw;
	object-fit: cover;
	width: 100%;
}

.p-reason .p-reason__item:nth-child(5) .img img {
	object-position: center top;
}

.p-reason .p-reason__item .txt {
	padding: 6.5217vw 5.7971vw 9.1787vw;
}

.p-reason .p-reason__item .txt h3 {
	color: #00388D;
	font-size: 4.8309vw;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-reason .p-reason__item .txt p {
	color: #1A1311;
	font-size: 3.6232vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.7333333333;
	margin-top: 4.1063vw;
}

/* ---------- サービス紹介 ---------- */
.p-service {
	background: #F2F2F2;
	padding-block: 21.9807vw 14.4928vw;
}

.p-service .l-service {
	margin-inline: auto;
	position: relative;
	width: 92.2705vw;
}

.p-service .p-service__head {
	position: relative;
	text-align: center;
}

.p-service .p-service__en {
	color: #ffffff;
	font-size: 20.2899vw;
	font-weight: 700;
	left: 1.9324vw;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	top: -9.6618vw;
	width: 100%;
}

.p-service .p-service__ttl {
	color: #00388D;
	font-size: 6.7633vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
	position: relative;
}

.p-service .p-service__items {
	display: grid;
	gap: 9.1787vw 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 12.0773vw;
}

.p-service .p-service__item {
	text-align: center;
}

.p-service .p-service__item .p-service__link {
	display: block;
}

.p-service .p-service__item .img {
	border: 2px solid #00388D;
	border-radius: 50%;
	height: 37.1981vw;
	margin-inline: auto;
	overflow: hidden;
	padding: 0.7246vw;
	position: relative;
	width: 37.1981vw;
}

.p-service .p-service__item .img::after {
	border-radius: 50%;
	box-shadow: inset 0 0 0 0.7246vw #F2F2F2;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.p-service .p-service__item .img img {
	border-radius: 50%;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	width: 100%;
}

.p-service .p-service__item .p-service__link:focus-visible .img img {
	transform: scale(1.08);
}

.p-service .p-service__item h3 {
	background: #00388D;
	color: #ffffff;
	font-size: 3.3816vw;
	font-weight: 600;
	letter-spacing: 0.035em;
	line-height: 2.2857142857;
	margin: -2.8986vw auto 0;
	padding-inline: 2.4155vw;
	position: relative;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-service .p-service__item .txt {
	color: #262322;
	font-size: 3.1401vw;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8461538462;
	margin-inline: auto;
	margin-top: 3.0193vw;
	padding-bottom: 2.4155vw;
	text-align: left;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-service .p-service__item .more {
	color: #00A1C2;
	display: inline-block;
	font-size: 3.1401vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.5384615385;
}

@media (any-hover: hover) {
	.p-service .p-service__item .p-service__link:hover {
		text-decoration: none;
	}

	.p-service .p-service__item .p-service__link:hover .img img {
		opacity: 1;
		transform: scale(1.08);
	}

	.p-service .p-service__item .p-service__link:hover .more {
		color: #00388D;
	}
}

/* ---------- 決算申告サポート ---------- */
.p-support {
	background: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	overflow: hidden;
	padding-top: 12.0773vw;
}

.p-support .l-support {
	position: relative;
	width: 100%;
}

.p-support .p-support__head {
	text-align: center;
}

.p-support .p-support__ttl {
	background: linear-gradient(90deg, #16A2BF 0%, #265EB4 100%);
	color: #ffffff;
	font-size: 7.7295vw;
	font-weight: 700;
	height: 13.5266vw;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin-inline: auto;
	width: 90.3382vw;
}

.p-support .p-support__catch {
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-top: 6.7633vw;
}

.p-support .p-support__catch .line1 {
	display: block;
	font-size: 5.7971vw;
	letter-spacing: 0.04em;
}

.p-support .p-support__catch .line1 em {
	color: #FFE600;
	font-size: 8.6957vw;
	font-style: normal;
	letter-spacing: 0.04em;
	margin-right: 0.08em;
}

.p-support .p-support__catch .line2 {
	display: block;
	font-size: 7.7295vw;
	letter-spacing: 0.04em;
	margin-top: -1.2077vw;
}

.p-support .p-support__lead {
	background: #2E5BA8;
	color: #ffffff;
	font-size: 3.6232vw;
	font-weight: 500;
	height: 7.7295vw;
	letter-spacing: 0.05em;
	line-height: 2.1333333333;
	margin-inline: auto;
	margin-top: 2.8986vw;
	width: 82.1256vw;
}

.p-support .p-support__flow {
	margin-top: 8.4541vw;
}

.p-support .p-support__before {
	margin-inline: auto;
	width: 82.1256vw;
}

.p-support .p-support__before .label,
.p-support .p-support__after .label {
	color: #ffffff;
	font-size: 4.1063vw;
	font-weight: 400;
	height: 7.6739vw;
	letter-spacing: 0.05em;
	line-height: 1.8688356915;
	text-align: center;
}

.p-support .p-support__before .label {
	background: #5A6577;
}

.p-support .p-support__before .body {
	background: #ffffff;
	box-sizing: border-box;
	height: 37.9227vw;
	padding: 4.1063vw 0 0 13.0435vw;
}

.p-support .p-support__before ul {
	display: grid;
	gap: 3.3816vw 0;
	grid-template-columns: 29.7101vw 1fr;
}

.p-support .p-support__before li {
	align-items: center;
	display: flex;
}

.p-support .p-support__before li img {
	display: block;
	flex: none;
	height: 7.7295vw;
	width: 7.7295vw;
}

.p-support .p-support__before li span {
	color: #1A1311;
	font-size: 3.8647vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-left: 2.8986vw;
}

.p-support .p-support__arrow {
	margin-top: 2.4155vw;
}

.p-support .p-support__arrow img {
	display: block;
	height: 8.2126vw;
	margin: -1.6908vw auto 0;
	rotate: 90deg;
	width: 4.8309vw;
}

.p-support .p-support__after {
	margin-inline: auto;
	margin-top: 0.9662vw;
	width: 89.372vw;
}

.p-support .p-support__after .label {
	background: #00A1C2;
}

.p-support .p-support__after .body {
	align-items: flex-end;
	background: #ffffff;
	box-sizing: border-box;
	display: flex;
	height: 43.7681vw;
	justify-content: space-between;
}

.p-support .p-support__after ul {
	align-self: flex-start;
	padding: 6.5217vw 0 0 7.2464vw;
}

.p-support .p-support__after li {
	align-items: center;
	display: flex;
	height: 9.1787vw;
}

.p-support .p-support__after li:not(:first-child) {
	margin-top: 1.57vw;
}

.p-support .p-support__after li img {
	display: block;
	flex: none;
	height: 9.1787vw;
	width: 9.1787vw;
}

.p-support .p-support__after li span {
	color: #1A1311;
	font-size: 4.3478vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-left: 3.6232vw;
}

.p-support .p-support__after .human {
	flex: none;
	height: 29.7101vw;
	margin-right: 2.1739vw;
	overflow: hidden;
	width: 18.3575vw;
}

.p-support .p-support__after .human picture {
	display: block;
}

.p-support .p-support__after .human img {
	display: block;
	margin: -9.4203vw 0 0 -37.4396vw;
	max-width: none;
	width: 95.1691vw;
}

.p-support .p-support__result {
	color: #ffffff;
	margin-top: 9.9033vw;
	text-align: center;
}

.p-support .p-support__time {
	font-size: 6.1594vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
	padding-right: 1.4493vw;
	white-space: nowrap;
}

.p-support .p-support__time .num {
	color: #FFE600;
	font-size: 10.1449vw;
	letter-spacing: 0;
	margin-inline: 0.7246vw 0.9662vw;
	position: relative;
	top: 0.7246vw;
}

.p-support .p-support__time .num:last-of-type {
	margin-inline: -2.1739vw 0.9662vw;
}

.p-support .p-support__note {
	font-size: 3.6232vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-top: 2.1739vw;
	padding-right: 1.6908vw;
}

.p-support .p-support__price {
	background: #ffffff;
	box-sizing: border-box;
	height: 49.2271vw;
	margin-left: 3.8647vw;
	margin-top: 5.5556vw;
	padding-top: 5.314vw;
	position: relative;
	text-align: center;
	width: 90.3382vw;
}

.p-support .p-support__price-ttl {
	background: #00388D;
	color: #ffffff;
	font-size: 3.6232vw;
	font-weight: 600;
	height: 8.2126vw;
	letter-spacing: 0.05em;
	line-height: 2.2666703577;
	margin-inline: auto;
	width: 67.9227vw;
}

.p-support .p-support__price-txt {
	align-items: flex-end;
	color: #00388D;
	display: flex;
	flex-wrap: wrap;
	font-weight: 700;
	justify-content: center;
	margin-top: -3.6232vw;
	padding-left: 1.4493vw;
}

.p-support .p-support__price-txt .unit {
	font-size: 5.314vw;
	letter-spacing: 0.02em;
	line-height: 1.5;	padding-bottom: 0.9662vw;
}

.p-support .p-support__price-txt .amount {
	background: linear-gradient(#FFE600, #FFE600) no-repeat left bottom 4.372vw / 100% 5.0725vw;
	box-sizing: border-box;
	font-size: 17.3913vw;
	letter-spacing: -0.02em;
	line-height: 1.4583333333;
	margin-left: 1.2vw;
	padding-left: 0.07vw;
	position: relative;
	top: 2.4155vw;
	text-align: left;
	width: 55.9903vw;
}

.p-support .p-support__price-txt .yen {
	display: grid;
	font-size: 5.314vw;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-left: 0.2vw;
}

.p-support .p-support__price-txt .yen small {
	font-size: 3.3816vw;
	letter-spacing: 0;
	line-height: 1.2;
}

.p-support .p-support__price-txt .consult {
	flex: none;
	font-size: 6.0386vw;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-top: 0.4831vw;
	padding-right: 1.4493vw;
	width: 100%;
}

.p-support .p-support__cta {
	display: grid;
	margin-top: -11.1111vw;
}

.p-support .p-support__cta .human {
	grid-area: 1 / 1;
	height: 42.0894vw;
	justify-self: end;
	margin-right: 3.8647vw;
	overflow: hidden;
	position: relative;
	width: 26.0338vw;
}

.p-support .p-support__cta .human picture {
	display: block;
}

.p-support .p-support__cta .human img {
	display: block;
	height: auto;
	width: 100%;
}

.p-support .p-support__cta .btn {
	align-items: center;
	background: #FFE600;
	border-radius: 8.4541vw;
	box-sizing: border-box;
	color: #1A1311;
	display: grid;
	font-size: 3.6232vw;
	font-weight: 500;
	grid-area: 1 / 1;
	grid-template-columns: 1fr 9.6618vw;
	height: 16.9082vw;
	justify-self: start;
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin-left: 18.3575vw;
	margin-top: 16.9082vw;
	padding-inline: 1.9323vw 3.3816vw;
	position: relative;
	text-align: center;
	width: 61.3527vw;
}

.p-support .p-support__cta .btn::after {
	background: url(../images/sendai/support_btn_arrow.svg?v=202611111115) no-repeat center/contain;
	content: "";
	height: 9.6618vw;
	transition: transform 0.3s ease;
	width: 9.6618vw;
}

@media (any-hover: hover) {
	.p-support .p-support__cta .btn:hover {
		text-decoration: none;
	}
}

/* ---------- オフィス紹介 ---------- */
.p-office {
	background: #ffffff;
	padding-block: 18.3575vw 12.5604vw;
}

.p-office .l-office {
	margin-inline: auto;
	position: relative;
	width: 89.372vw;
}

.p-office .p-office__head {
	position: relative;
	text-align: center;
}

.p-office .p-office__en {
	color: #EEF2F8;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 21.7391vw;
	font-weight: 700;
	left: 0;
	line-height: 1;
	position: absolute;
	top: -6.7633vw;
	width: 100%;
}

.p-office .p-office__ttl {
	color: #00388D;
	font-size: 6.2802vw;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.5;
	position: relative;
}

.p-office .p-office__lead {
	color: #262322;
	font-size: 4.1063vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6470588235;
	margin-top: 4.3478vw;
	position: relative;
}

.p-office .p-office__contents {
	display: flex;
	flex-direction: column-reverse;
	margin-top: 7.971vw;
}

.p-office .p-office__img {
	height: 48.5507vw;
	overflow: hidden;
	width: 100%;
}

/* カンプの写真は枠より大きく拡大して切り抜かれている */
.p-office .p-office__img img {
	display: block;
	height: auto;
	margin-left: -4.8309vw;
	margin-top: -2.1739vw;
	max-width: none;
	width: 106.0386vw;
}

.p-office .p-office__txt {
	margin-top: 4.3478vw;
	padding-inline: 3.6232vw 4.8309vw;
	width: 100%;
}

.p-office .p-office__txt h3 {
	color: #00388D;
	font-size: 5.314vw;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.7272727273;
}

.p-office .p-office__txt p {
	color: #1A1311;
	font-size: 3.3816vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.0714285714;
	margin-top: 7.0048vw;
}

.p-office .p-office__txt p:first-of-type {
	margin-top: 4.1063vw;
}

.p-office .p-office__band {
	align-items: center;
	background: #F2F2F2;
	display: flex;
	height: 22.2222vw;
	margin-left: -2.2947vw;
	margin-top: 15.7005vw;
	padding-left: 11.1111vw;
	position: relative;
	width: 93.9614vw;
}

.p-office .p-office__band .medal {
	height: 20.7729vw;
	position: absolute;
	right: 0;
	top: -12.0773vw;
	width: 20.7729vw;
}

.p-office .p-office__band .medal img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-office .p-office__band .medal__txt {
	color: #FFFDFA;
	left: 0;
	position: absolute;
	text-align: center;
	top: 7.5121vw;
	width: 100%;
}

.p-office .p-office__band .medal__txt .sub {
	display: block;
	font-size: 2.4155vw;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.1;
}

.p-office .p-office__band .medal__txt .main {
	display: block;
	font-size: 3.1401vw;
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 1.0769230769;
	margin-top: 1.0145vw;
	word-spacing: 0.1em;
}

.p-office .p-office__band .p-office__band-txt {
	color: #1A1311;
	font-size: 3.3816vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.7142857143;
}

.p-office .p-office__band .human {
	height: 17.3913vw;
	left: -2.657vw;
	overflow: hidden;
	position: absolute;
	top: 4.8309vw;
	width: 14.3836vw;
}

.p-office .p-office__band .human img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- 事業所情報 ---------- */
.p-info {
	background: #ffffff;
	padding-bottom: 14.742vw;
}

.p-info .l-info {
	display: flex;
	flex-direction: column-reverse;
	margin-inline: auto;
	width: 89.372vw;
}

.p-info .p-info__map {
	height: 53.1401vw;
	margin-top: 7.2464vw;
	overflow: hidden;
	width: 100%;
}

/* PC と同じ縮尺で見せるため、PC の大きさで表示して縮める */
.p-info .p-info__map iframe {
	display: block;
	height: 140.54%;
	transform: scale(0.7115);
	transform-origin: 0 0;
	width: 140.54%;
}

.p-info .p-info__table {
	margin-left: 0.2415vw;
	width: 89.1304vw;
}

.p-info .p-info__table .row {
	border-bottom: 1px solid #EBEBEB;
	display: flex;
}

.p-info .p-info__table dt {
	align-items: flex-start;
	background: #00388D;
	color: #ffffff;
	display: flex;
	flex-shrink: 0;
	font-size: 3.1401vw;
	font-weight: 500;
	justify-content: flex-start;
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-left: 4.1063vw;
	padding-top: 4.2512vw;
	width: 21.7391vw;
}

.p-info .p-info__table dd {
	align-items: flex-start;
	background: #F8F8F8;
	color: #262322;
	display: flex;
	flex-grow: 1;
	font-size: 3.3816vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.8;
	padding: 3.6957vw 1.9324vw 3.5vw 3.6232vw;
}

.p-info .p-info__table .row:last-child dd {
	padding-top: 3.2367vw;
}

.p-info .p-info__station li {
	display: flex;
	letter-spacing: 0;
	line-height: 2.0714285714;
}

.p-info .p-info__station .name {
	display: block;
	width: 31.1594vw;
}

/* ---------- CTA 帯 ---------- */
.p-cta {
	background: #00388D;
	height: 100.2415vw;
}

.p-cta .l-cta {
	box-sizing: border-box;
	height: 100%;
	padding-top: 13.5266vw;
	position: relative;
	width: 100%;
}

.p-cta .p-cta__medal {
	display: grid;
	height: 28.9855vw;
	position: absolute;
	right: 5.314vw;
	top: -6.0386vw;
	width: 28.9855vw;
}

.p-cta .p-cta__medal > picture {
	display: block;
	grid-area: 1 / 1;
}

.p-cta .p-cta__medal img {
	display: block;
	height: auto;
	width: 100%;
}

.p-cta .p-cta__medal .laurel {
	height: auto;
	left: 0.04vw;
	position: absolute;
	top: 4.5894vw;
	width: 28.5024vw;
}

.p-cta .p-cta__medal p {
	align-self: start;
	color: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 5.0725vw;
	font-weight: 600;
	grid-area: 1 / 1;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-top: 10.314vw;
	position: relative;
	text-align: center;
}

.p-cta .p-cta__medal p span {
	color: #352F2D;
	display: block;
	font-size: 2.657vw;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding-bottom: 0.8696vw;
}

.p-cta .p-cta__contents {
	margin-left: 8.9372vw;
	position: relative;
	width: 82.1256vw;
}

.p-cta .p-cta__ttl span {
	background: linear-gradient(90deg, #00A1C2 0%, #00388D 100%);
	color: #ffffff;
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 6.5217vw;
	font-weight: 700;
	height: 14.7343vw;
	letter-spacing: 0.04em;
	line-height: 2.1481481481;
	padding-left: 4.1063vw;
	padding-top: 0.785vw;
	white-space: nowrap;
	width: 44.4444vw;
}

.p-cta .p-cta__ttl span:first-child {
	padding-left: 4.3478vw;
}

.p-cta .p-cta__ttl span:last-child {
	margin-top: 1.2077vw;
	padding-left: 3.3816vw;
	width: 64.0097vw;
}

.p-cta .p-cta__txt {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.8647vw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2;
	margin-top: 7.7295vw;
}

.p-cta .p-cta__img {
	bottom: 0;
	left: 33.8164vw;
	position: absolute;
	width: 32.3671vw;
}

.p-cta .p-cta__img img {
	display: block;
	height: auto;
	width: 100%;
}

/* ---------- フォーム ---------- */
.p-scontact {
	background: #F2F2F2 url(../images/sendai/form_bg_v2_sp.jpg?v=202611111520) repeat top center/100vw auto;
	padding-block: 9.6618vw 19.3237vw;
}

.p-scontact #form .form-Box {
	margin-bottom: 0;
	padding: 9.9034vw 0 16.9082vw;
	width: 94.2029vw;
}

.p-scontact #form .form-Box::before {
	content: none;
}

.p-scontact #form .form-Box-inner {
	width: 82.6087vw;
}

.p-scontact #form .formttl {
	line-height: 1;
	margin-bottom: 0;
	text-align: center;
}

.p-scontact #form .formttl > span {
	background: #012678;
	color: #ffffff;
	display: inline-block;
	font-size: 5.314vw;
	font-weight: 700;
	height: 12.0773vw;
	letter-spacing: 0.04em;
	line-height: 2.0364;
	margin-right: 2.8986vw;
	padding-inline: 4.3478vw 6.2786vw;
}

.p-scontact #form .formttl > span em {
	color: #EEFE00;
	font-size: 6.2802vw;
	font-style: normal;
	letter-spacing: 0.04em;
	line-height: 0;
	margin-inline: -0.46vw 0.1vw;
}

.p-sbnr {
	border: 1px solid #BEBEBE;
	margin-inline: auto;
	margin-top: 4.3478vw;
	padding-block: 6.256vw 6.1836vw;
	text-align: center;
	width: 82.1256vw;
}

.p-sbnr .p-sbnr__lead {
	color: #262322;
	font-size: 3.1401vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-sbnr .p-sbnr__tel {
	color: #00388D;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 8.4541vw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1714285714;
	margin-top: 2.0629vw;
}

/* SP は JS で電話リンクが付くため、文字色を引き継ぐ */
.p-sbnr .p-sbnr__tel a {
	color: inherit;
}

.p-sbnr .p-sbnr__tel span {
	align-items: flex-start;
	display: inline-flex;
	gap: 2.4638vw;
	padding-right: 0.9662vw;
	vertical-align: top;
}

.p-sbnr .p-sbnr__tel img {
	display: block;
	height: auto;
	margin-top: 2.4058vw;
	width: 7.1498vw;
}

.p-sbnr .p-sbnr__txt {
	color: #1A1311;
	font-size: 2.8986vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-top: 1.9155vw;
}

.p-scontact .form-Box .wpcf7 {
	margin-top: 11.8357vw;
}

.p-scontact .form-Box table {
	border-spacing: 0;
	margin-bottom: 0;
	margin-left: 0.2415vw;
	padding-bottom: 2.4155vw;
	width: 100%;
}

.p-scontact .form-Box th {
	color: #262322;
	font-size: 3.6232vw;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
	padding: 0 0 1.57vw;
}

.p-scontact .form-Box th p {
	align-items: center;
	display: flex;
}

.p-scontact .form-Box th p::after {
	position: static;
	transform: none;
	right: auto;
	top: auto;
}

.p-scontact .form-Box th.required::after {
	content: none;
}

.p-scontact .form-Box th.required p::after,
.p-scontact .form-Box th.optional p::after {
	background: #FFE600;
	border-radius: 0;
	color: #262322;
	content: "必須";
	display: block;
	font-size: 2.4155vw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.8;
	margin-left: 1.9324vw;
	margin-top: 0.4831vw;
	padding: 0 1.6908vw;
}

.p-scontact .form-Box th.optional p::after {
	background: #999999;
	color: #ffffff;
	content: "任意";
}

.p-scontact .form-Box td {
	border: 0;
	font-size: 3.6232vw;
	padding: 0 0 5.6667vw;
}

.p-scontact .form-Box td p {
	margin: 0;
}

.p-scontact .form-Box .wpcf7-form-control-wrap {
	display: block;
}

.p-scontact .form-Box input[type="text"],
.p-scontact .form-Box input[type="email"],
.p-scontact .form-Box input[type="tel"],
.p-scontact .form-Box textarea {
	background: #EDEDED;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: #262322;
	font-size: max(16px, 3.3816vw);
	font-weight: 500;
	height: 12.0773vw;
	letter-spacing: 0.04em;
	margin-bottom: 0;
	padding: 0 3.3816vw 0.9662vw;
	width: 100%;
}

.p-scontact .form-Box textarea {
	height: 38.6473vw;
	min-height: 0;
	padding: 3.3816vw;
	resize: none;
}

.p-scontact .form-Box input::placeholder,
.p-scontact .form-Box textarea::placeholder {
	color: #999999;
}

.p-scontact .form-Box tr:first-child td {
	padding-bottom: 6.0386vw;
}

.p-scontact .form-Box tr:first-child th {
	padding-bottom: 0.2415vw;
}

.p-scontact .form-Box .wpcf7-radio .wpcf7-list-item {
	display: block;
	margin: 0;
}

.p-scontact .form-Box .wpcf7-radio label {
	align-items: center;
	display: flex;
	color: #262322;
	font-size: 3.6232vw;
	font-weight: 500;
	gap: 2.1739vw;
	height: 8.2126vw;
	letter-spacing: 0.04em;
}

.p-scontact .form-Box input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	background: #ffffff;
	border: 1px solid #999999;
	border-radius: 50%;
	flex-shrink: 0;
	height: 3.6232vw;
	margin: 0;
	position: relative;
	width: 3.6232vw;
}

.p-scontact .form-Box input[type="radio"]:checked::after {
	background: #00388D;
	border-radius: 50%;
	content: "";
	height: 1.9324vw;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1.9324vw;
}

.p-scontact .form-Box td .confirm_area p {
	color: #262322;
	font-size: 3.6232vw;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin: 0;
	padding-top: 1.4493vw;
}

.p-scontact .form-Box .error-message {
	color: #DC3232;
	display: none;
	font-size: 2.8986vw;
	margin-top: 0.9662vw;
}

.p-scontact #form #confirm_area p::after,
.p-scontact #form #send_area p::after {
	content: none;
}

.p-scontact #form #confirm_area p,
.p-scontact #form #send_area p,
.p-scontact #form #back_area p {
	display: block;
	margin: 0;
}

.p-scontact #form #send_area {
	padding-bottom: 1.9324vw;
}

.p-scontact #form #send_area p {
	position: relative;
}

.p-scontact #form #send_area .wpcf7-spinner {
	left: 50%;
	margin: 0 0 0 -2.8986vw;
	position: absolute;
	top: 100%;
}

.p-scontact #form .confirm_button,
.p-scontact #form #back_button,
.p-scontact #form input[type="submit"] {
	border: 1px solid #1A1311;
	border-radius: 999px;
	color: #1A1311;
	font-size: 3.8647vw;
	font-weight: 500;
	height: 14.4928vw;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin: 0 auto;
	padding: 0 1.2077vw 0 0;
	width: 77.2947vw;
}

.p-scontact #form .confirm_button {
	background: #FFE600 url(../images/sendai/form_arrow_circle_v2.svg?v=202611111700) no-repeat right 4.3478vw center/7.2464vw 7.2464vw;
	border-color: #FFE600;
}

.p-scontact #form .confirm_button:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

/* プライバシーポリシーの同意欄 */
.p-scontact .privtext {
	color: #262322;
	font-size: 3.3816vw;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.p-scontact .privtext .wpcf7-list-item {
	margin: 0;
}

.p-scontact .privtext label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: 2.4155vw;
	text-align: left;
}

.p-scontact .privtext input[type="checkbox"] {
	accent-color: #00388D;
	cursor: pointer;
	flex-shrink: 0;
	height: max(5.7971vw, 20px);
	margin: 0;
	width: max(5.7971vw, 20px);
}

.p-scontact #form input[type="submit"] {
	background: #ffffff url(../images/sendai/form_arrow_v2.svg?v=202611111700) no-repeat right 4.3478vw center/7.2464vw 7.2464vw;
}

.p-scontact #form #back_button {
	background: #1A1311 url(../images/sendai/form_arrow_circle_v2.svg?v=202611111700) no-repeat right 4.3478vw center/7.2464vw 7.2464vw;
	border-color: #1A1311;
	color: #ffffff;
}

/* ---------- サンクス ---------- */
.p-sthank__ttl {
	background: #00388D;
	color: #ffffff;
	padding-block: 7.7295vw;
	text-align: center;
	width: 100%;
}

.p-sthank__ttl h1 {
	font-size: 5.314vw;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.5;
}

.p-sthank__ttl p {
	font-size: 3.3816vw;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	margin-top: 0.9662vw;
}

}

@media (prefers-reduced-motion: reduce) {
	.p-onayami::after {
		animation: none;
	}

	.p-service .p-service__item .img img,
	.p-support .p-support__cta .btn::after {
		transition: none;
	}
}
