body {
	font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: none;
}

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

html {
	font-size: 16px;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

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

/* Set core root defaults */

/* jquery不使用でもこの1行だけでスムーススクロール */

/* 同一ページ、異なるページリンクへの対応はjqueryで対応したが、「totop」ボタンに効かないのでこれを入れている */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

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

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

ul,
ol {
	list-style: none;
}

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

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

/* Make images easier to work with */

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

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

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

/* Inherit fonts for inputs and buttons */

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

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

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

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

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

textarea {
	resize: vertical;
}

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

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

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

/* ホバー */

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

.c-breadcrumb {
	padding-bottom: 4.25rem;
	padding-top: 1.5rem;
}

.c-breadcrumb a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.c-breadcrumb-low {
	margin-left: 0.6875rem;
	padding-left: 1.25rem;
	position: relative;
}

.c-breadcrumb-low::before {
	content: ">";
	display: block;
	left: 0%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/* ------------
詳細ボタン（小）事業案内で使用
-------------*/

.p-small__btn-detail {
	margin-top: 30px;
}

.c-button-detail {
	-webkit-text-decoration: none;
	background-color: #333;
	border-radius: 0.3125rem;
	color: #fff;
	display: inline-block;
	letter-spacing: 0.05em;
	line-height: 2; /* 幅は、widthではなく、inline-blockとpaddingで決める */
	padding: 0 2.9375rem 0 2.1875rem;
	position: relative;
	text-decoration: none;
}

.c-button-detail::after {
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	content: "";
	display: block;
	height: 0.375rem;
	margin-top: -2px;
	position: absolute;
	right: 1.5625rem;
	top: 50%;
	transform: rotate(45deg);
	width: 0.375rem;
}

.c-button-detail:hover { /* 透過 */
	opacity: 0.5;
	transition: all 0.3s ease;
}

/* ------------
テキストで幅が変動するボタン（paddingで調整）
-------------*/

.p-main__btn {
	margin-top: 30px;
	text-align: left;
}

.c-button {
	-webkit-text-decoration: none;
	background: transparent linear-gradient(90deg, #00241c 0%, #1E9244 100%) 0% 0% no-repeat padding-box;
	border-radius: 50px;
	color: #fff; /* やっぱりこれ入ってる！ */
	display: inline-block;
	font-size: 0.875rem;
	font-weight: normal; /* 50÷3？？ */
	letter-spacing: 0.05em;
	line-height: 1; /* 幅は、widthではなく、inline-blockとpaddingで決める */
	padding: 1.3125rem 4.375rem;
	position: relative;
	text-decoration: none;
}

/* 擬似要素で「→」。参照：https://mukolog.com/post-1594/ */

.c-button::after {
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	content: "";
	display: block;
	height: 6px;
	margin-top: -2px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: rotate(45deg);
	width: 6px;
}

.c-button:hover { /* 透過 */
	opacity: 0.5;
	transition: all 0.3s ease;
}

.c-hamburger {
	cursor: pointer;
	height: 1.875rem;
	position: relative;
	width: 1.875rem; /* ドロワーメニューの上に乗っかる。
  .p-headerはz-index:1000に。 */
	z-index: 100;
}

.c-hamburger span {
	height: 0.125rem;
	position: absolute;
	transition: 0.3s;
	width: inherit;
}

/* 通常 */

.c-hamburger span:nth-child(1) {
	background-color: #333;
	top: 15%;
}

.c-hamburger span:nth-child(2) {
	background-color: #333;
	opacity: 1;
	top: 51%;
}

.c-hamburger span:nth-child(3) {
	background-color: #333;
	top: 85%;
}

/* クリック時 */

.c-hamburger.is-active span:nth-child(1) {
	background-color: #fff;
	top: 60%;
	transform: rotate(45deg);
}

.c-hamburger.is-active span:nth-child(2) {
	opacity: 0;
	top: 51%;
}

.c-hamburger.is-active span:nth-child(3) {
	background-color: #fff;
	top: 60%;
	transform: rotate(-45deg);
}

/* ページャー */

.c-page-link {
	color: #333;
	margin-top: 2.5rem;
}

.c-page-link__flex {
	align-items: center;
	border-bottom: 1px solid #1E9244;
	border-top: 1px solid #1E9244;
	display: flex;
	padding: 0.9375rem 0;
}

.c-page-link__prev,
.c-page-link__next {
	font-size: 0.75rem;
	line-height: 1.5714285714;
	padding: 0 1.25rem;
	position: relative;
	width: 50%;
}

.c-page-link__prev {
	margin-right: auto;
}

.c-page-link__prev::after {
	background-color: #1E9244;
	bottom: 0;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
}

.c-page-link__next {
	margin-left: auto;
}

.c-page-link a:hover {
	opacity: 0.3;
}

.c-page-link__archive {
	font-size: 0.875rem;
	margin-top: 3.75rem;
	text-align: center;
}

.c-text {
	letter-spacing: 0.1em; /* １行目のみ字下げ */
	text-indent: 1em;
}

.c-text p:not(:first-of-type) {
	margin-top: 1.5rem;
}

/* 箇条書きなどで２行目以降は下げる */

.c-text-indent {
	padding-left: 1em;
	text-indent: -1em;
}

/* ====================
to-top
<a class="c-to-top" id="to-top4" href="#">
    <div class="c-to-top__arrow"></div>
</a>
==================== */

.c-to-top {
	align-items: center;
	background: #fff;
	border: solid 2px #333;
	border-radius: 50%;
	bottom: 2.5rem;
	display: flex;
	height: 3.125rem;
	justify-content: center;
	position: fixed;
	right: 1.875rem;
	width: 3.125rem;
}

.c-to-top:hover {
	opacity: 0.5;
	transition: all 0.3s ease;
}

/* -----------
中の矢印
----------- */

.c-to-top__arrow {
	border-right: 3px solid #333;
	border-top: 3px solid #333;
	height: 0.625rem;
	transform: translateY(20%) rotate(-45deg);
	width: 0.625rem;
}

/* 出典：ヒロキさんの「formコーディングのパッケージ」 */

/* https: //upsdelight.notion.site/Form-a628397c5cba46e8b0a9f99ad1e3962a */

/* remへの計算式
（16pxを基準としている。10pxを基準とする場合は16を10に変更する）
 */

/* ------------
デフォルト色の指定
-------------*/

/* ------------
サイズ等の指定
------------- */

/* ------------
ボタン系の指定
-------------*/

/* ------------
ラジオボタンの指定
------------- */

/* ------------
チェックボックスの指定
-------------*/

/* ------------
テキストエリアの指定
------------- */

/* ------------
各種要素
------------- */

[type=text],
[type=search],
[type=tel],
[type=url],
[type=email],
[type=password],
[type=date],
textarea {
	background: #fff;
	background-image: none; /*↓リセットCSS */
	border: none;
	border: 1px solid #AAAAAA;
	border-radius: 0;
	border-radius: 0.375rem;
	font-family: inherit;
	font-size: 1rem; /*↓カスタム */
	margin-top: 0.625rem;
	max-width: 37.5rem;
	padding: 0.625rem 0.625rem;
	width: 100%; /*↓↓↓↓不要ならコメントアウト or 削除 */ /*↓↓選択されているときの色*/
}

[type=text]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=url]:focus,
[type=email]:focus,
[type=password]:focus,
[type=date]:focus,
textarea:focus {
	border: 1px solid #391E88;
}

/*  ------------
tel
------------- */

[type=tel] {
	max-width: 12.5rem;
	width: 100%;
}

/* ------------
ボタン
------------- */

button,
[type=button],
[type=submit] {
	-webkit-text-decoration: none;
	background: transparent no-repeat;
	background-image: none;
	background-image: linear-gradient(90deg, #00241c 0%, #1E9244 100%);
	background-origin: padding-box;
	background-position: 0% 0%;
	border: none;
	border-radius: 0;
	border-radius: 3.125rem;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 1; /*↓リセットCSS */
	margin: 0; /*↓カスタム */
	padding: 1.25rem 4.5rem;
	text-decoration: none;
	transition: 0.3s ease;
	width: auto;
}

[type=button]:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* ------------
ラジオボタン
------------- */

[type=radio] {
	display: none;
}

[type=radio] + span {
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
	margin: 0 2.1875rem 0 0;
	padding: 0 0 0 1.625rem;
	position: relative;
}

[type=radio] + span::before {
	background: #fff;
	border: 1px solid #707070;
	border-radius: 50%;
	content: "";
	display: block;
	height: 1rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

[type=radio] + span::after {
	opacity: 0;
	transition: 0.3s ease;
}

[type=radio]:checked + span::after {
	background: #707070;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.75rem;
	left: 0.125rem;
	opacity: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.75rem;
}

/* ------------
チェックボックス
------------- */

[type=checkbox] {
	display: none;
}

[type=checkbox] + span {
	cursor: pointer;
	display: inline-block;
	font-size: 0.875rem;
	line-height: 1;
	margin: 0 1.25rem 0 0;
	padding: 0 0 0 1.875rem;
	position: relative;
	transition: 0.3s ease;
}

[type=checkbox] + span::before {
	background: #fff;
	border: 1px solid #707070;
	content: "";
	display: block;
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

[type=checkbox] + span::after {
	opacity: 0;
	transition: 0.3s ease;
}

[type=checkbox]:checked + span::after {
	border-bottom: 4px solid #707070;
	border-left: 4px solid #707070;
	content: "";
	display: block;
	height: 0.625rem;
	left: 0;
	margin-left: 0.1em;
	margin-top: -0.1em;
	opacity: 1;
	position: absolute;
	top: 50%; /*チェックマークじゃない場合は以下を変更する*/
	transform: translateY(-50%) rotate(-45deg);
	width: 1.125rem;
}

/* ------------
セレクト
------------- */

select { /*↓デフォルトのアイコンを消す場合はコメントアウト（noneにする）*/
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	background-color: #fff;
	border: none;
	border: 1px solid #AAAAAA; /*↓リセットCSS */
	border-radius: 0;
	border-radius: 0.375rem;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: 1rem; /*↓カスタム */
	margin-top: 0.625rem;
	padding: 0.625rem 0.625rem;
	width: 100%; /*↓デフォルトではないアイコンを使う場合は入力する*/
}

select:focus {
	border: 1px solid #391E88;
}

/* ------------
日付
------------- */

[type=date] { /*↓デフォルトのアイコンを消す場合はコメントアウト（noneにする）*/
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	position: relative; /*↓デフォルトではないアイコンを使う場合は入力する*/
}

[type=date]:focus {
	border: 1px solid #391E88;
}

input[type=date]::-webkit-calendar-picker-indicator {
	height: 100%;
	opacity: 0;
	position: absolute;
	width: 100%;
}

/* ------------
テキストエリア
------------- */

textarea {
	height: 15.9375rem;
	max-width: 37.5rem;
	width: 100%;
}

.l-footer {
	margin-top: 5.625rem;
}

.l-home-about {
	margin-top: 6.25rem;
}

.l-home-business {
	margin-top: 6.25rem;
}

.l-home-hello { /* marginの基準値が不明なため、適当に設定 */
	margin-top: 8.75rem;
}

.l-home-news {
	margin-top: 6.25rem;
}

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

/* トップページ、business-maの最小インナー */

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

/* トップページ、business-maの最小インナー */

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

.l-page-business-ma-flow {
	margin-top: 6.25rem;
}

/* イメージ図 */

.p-page-business-ma-flow__content-image {
	margin: 3.75rem auto 0; /* 768/1100=69.81818%  */ /* スマホでは100％、
  PC時は90%、最大800px→maxつけなくても、親幅にmaxついてる */
}

.l-page-business-management-head__text {
	margin-top: 1.875rem;
}

.l-page-business-management-service {
	margin-top: 6.875rem;
}

.l-page-business-management-price {
	margin-top: 6.875rem;
}

/* 経営支援サービスの余白はちょっと違うので・・・ */

.l-page-business-succession-close {
	margin-top: 6.25rem;
}

.l-page-business-succession-friend {
	margin-top: 6.25rem;
}

.l-page-business-succession-ipo {
	margin-top: 6.25rem;
}

.l-page-business-succession-ma {
	margin-top: 6.25rem;
}

/* トグルをまとめるulの親であるli */

.nav-toggle {
	position: relative;
}

/* トグルをまとめるul */

/* アニメーションを加えるドロップダウン */

.nav-toggle__items {
	left: 0;
	position: absolute;
	top: 60px; /* デフォルトでは非表示に */
	transform: scaleY(0); /* 変形を適応する基準をtopとする */
	transform-origin: center top; /* 表示の変化を0.3秒に */
	transition: all 0.3s;
	width: 200%;
}

/* アニメーションつける */

.nav-toggle:hover .nav-toggle__items { /* ナビメニューにホバーで表示 */
	transform: scaleY(1);
}

/* li */

.nav-toggle__item {
	background-color: #1E9244;
	height: 60px;
	position: relative;
	transition: all 0.3s;
}

/* li（トグルメニュー中の横線） */

.nav-toggle__item:not(:first-child)::before {
	background-color: #fff;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

/* li */

.nav-toggle__item:hover {
	background-color: #fff;
}

/* liの中のa */

.nav-toggle__items a {
	-webkit-text-decoration: none;
	align-items: center;
	display: flex;
	justify-content: center;
	position: relative;
	text-decoration: none;
}

/* .nav-toggle__item-aだけでは効かないので、
「pc-nav__item」の中に記入 */

/* liの中のa、右矢印 */

.nav-toggle__item a::before {
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: rotate(135deg) translateY(60%);
	width: 6px;
}

.nav-toggle__item-a.active {
	background-color: #fff;
}

/* 事務所について、概要一覧 */

.p-about-data {
	font-size: 0.875rem;
}

.p-about-data__right {
	border-bottom: solid 1px #1E9244;
}

.p-about-data__row { /* align-itemsはにつける */
	align-items: center;
	border-top: solid 1px #1E9244;
	display: flex;
	justify-content: space-between;
	padding-bottom: 0.875rem;
	padding-top: 0.875rem;
}

.p-about-data__row dd { /* 61/335=18.20895% */
	width: 18.20895%;
}

.p-about-data__row dt { /* 261/335=77.910447% */
	width: 77.910447%;
}

.l-archive-home-news__contents { /* 全部で70-margin-bottomの30 */
	margin-top: 2.5rem;
}

/* 隣接した次の.p-news-itemは40マージン */

.p-archive-home-news__item + .p-archive-home-news__item {
	margin-top: 2.5rem;
}

/* 画像をbackgroundに置いてマスクをかける */

.p-back-img-card { /* 各画像は、別で */
	background-size: cover;
	padding-top: 59.7014925%; /* 背景画像の高さの確保 */
	position: relative;
}

/* 背景画像にフィルターをかける */

.p-back-img-card::before { /* 半透明のフィルター（「1」で不可視 */
	background-color: rgba(255, 255, 255, 0.8);
	border: solid 1px #cccccc;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/* 成約実績 */

.p-business-achievements {
	background-color: #D9D9D9;
	line-height: 2;
	margin-top: 3.125rem;
	padding: 0.625rem 1.875rem;
}

/* 事業案内（事業承継ページ） */

/* h2全体（セクション）を囲む */

.p-business-contents__text a {
	border-bottom: solid 1px blue;
	color: blue;
}

.p-business-contents__text a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* h3含んで覆う */

.p-business-contents__items {
	margin-top: 5rem;
}

/* margin-topが広すぎる箇所の調整用 */

.p-business-contents__items.direct {
	margin-top: 0;
}

/* h3より下のかたまり */

/* h4を含むいくつかのアイテムを囲むwrapperの上の説明文 */

.p-business-contents__items-introduction {
	margin-top: 0.625rem;
}

/* h4を含むいくつかのアイテムを囲むwrapper */

.p-business-contents__items-wrapper {
	margin-top: 1.875rem;
}

/* h4を含む１つのアイテム */

.p-business-contents__item {
	margin-top: 3.75rem;
}

/* margin-topが広すぎる箇所の調整用 */

/* 打ち消しになっている・・・ */

.p-business-contents__item.direct {
	margin-top: 0;
}

/* 各h4タイトルと本文の間の余白 */

.p-business-contents__item-text {
	margin-top: 0.625rem;
}

.p-business-contents__item-text a {
	border-bottom: solid 1px blue;
	color: blue;
}

.p-business-contents__item-text a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.p-business-lead {
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.p-business-list {
	letter-spacing: 0.1em;
	margin-left: 1.25rem;
	margin-top: 1.875rem;
}

.p-business-list__item {
	line-height: 2;
	padding-left: 1.125rem;
	position: relative;
}

.p-business-list__item::before {
	content: "−";
	display: block;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-business-list__item:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.p-business-table-ma-sample-wrapper {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}

.p-business-table-ma-sample { /* 二重線を一本線に */
	border-collapse: collapse;
	font-size: 0.75rem;
}

/* 奇数行への指定 */

.p-business-table-ma-sample tr:nth-child(odd) {
	background-color: #eee;
}

/* １行目（タイトル行） */

.p-business-table-ma-sample tr:first-of-type {
	background-color: #1E9244;
	color: #fff;
}

.p-business-table-ma-sample th,
td { /* 境界線 */
	border: 1px solid #1E9244;
	letter-spacing: 0.05em; /* セル内余白 */
	padding: 0.5rem;
}

.p-business-table-ma-sample th {
	font-weight: 400;
}

/* 幅 */

/* 譲渡側 */

.p-business-table-ma-sample .td.row1 {
	width: 14%;
}

/* 地域 */

.p-business-table-ma-sample .td.row2 {
	text-align: center;
	width: 14%;
}

/* 年商 */

.p-business-table-ma-sample .td.row3 {
	text-align: right;
	width: 12%;
}

/* 譲受側 */

.p-business-table-ma-sample .td.row4 {
	text-align: center;
	width: 14%;
}

/* 譲渡金額 */

.p-business-table-ma-sample .td.row5 {
	text-align: right;
	width: 12%;
}

/* コメント */

.p-business-table-ma-sample .td.row6 {
	width: 34%;
}

.p-business-table-ma { /* 二重線を一本線に */
	border-collapse: collapse;
	font-size: 0.75rem;
	width: 100%;
}

/* 奇数行への指定 */

.p-business-table-ma tr:nth-child(odd) {
	background-color: #eee;
}

/* １行目（タイトル行） */

.p-business-table-ma tr:first-of-type {
	background-color: #1E9244;
	color: #fff;
}

.p-business-table-ma th,
td { /* 境界線 */
	border: 1px solid #1E9244;
	letter-spacing: 0.05em; /* セル内余白 */
	padding: 0.5rem;
}

.p-business-table-ma th {
	font-weight: 400;
}

/* 幅 */

.p-business-table-ma .row1 { /* 200/335=59.70149 */
	width: 59.70149%;
}

.p-business-table-ma .row2 {
	text-align: center; /* 135/335=40.2985% */
	width: 40.2985%;
}

.p-business-table {
	background-color: #fff; /* 二重線を一本線に */
	border-collapse: collapse;
	font-size: 0.875rem;
}

/* 奇数行への指定 */

.p-business-table tr:nth-child(odd) {
	background-color: #eee;
}

/* １行目（タイトル行） */

.p-business-table tr:first-of-type {
	background-color: #1E9244;
	color: #fff;
}

.p-business-table th,
td { /* 境界線 */
	border: 1px solid #1E9244;
	letter-spacing: 0.05em; /* セル内余白 */
	padding: 0.5rem;
}

.p-business-table td { /* セル内の縦方向配置 */
	vertical-align: top;
}

/* 幅 */

/* 55=16.4%、140=41.7%、140＝335 */

/* 35=10.44776%、150=44.7761%、150＝335 */

.p-business-table .row1 {
	width: 10.44776%;
}

.p-business-table .row2,
.p-business-table .row3 {
	width: 44.7761%;
}

.p-business-table td li:not(:first-of-type) {
	margin-top: 0.625rem;
}

.p-business-table li {
	margin-left: 1em;
	text-indent: -1em;
}

.p-business-title {
	line-height: 2;
}

.p-business-title h3 {
	font-size: 1rem;
	font-weight: normal;
}

/* 地図 */

.p-card__map { /* 横335、高240 */
	aspect-ratio: 335/240; /* 上の余白 */
	margin-top: 2.5rem;
}

.p-card__map iframe {
	height: 100%;
	width: 100%;
}

.p-company-info__map-link {
	margin-top: 0.625rem;
}

.p-company-info__map-link a {
	color: #240c6a;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
}

/* 画像の比率管理① まずはrelative */

.p-card-about-leader__img {
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card-about-leader__img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* スマホ）幅335、高さ200、200÷335 */
	padding-top: 59.7014925%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card-about-leader__img img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* ===========
縦（ダルマ）
=========== */

/* 画像の比率管理① まずはrelative */

.p-card-about-leader__img-vertical {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	position: relative;
	width: 50%;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card-about-leader__img-vertical::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* スマホ）幅400、高さ722、722÷400 */
	padding-top: 180.5%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card-about-leader__img-vertical img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* maのイメージ図に使用 */

/* 画像の比率管理① まずはrelative */

.p-card-business-direction__img {
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card-business-direction__img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* 元画像のサイズ。幅640、高さ415、415÷640
  イラストなので、全画面表示させたいから、元サイズを優先。
  →PCも共通 */
	padding-top: 64.84375%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card-business-direction__img img { /* 画像全体を表示 */
	-o-object-fit: contain;
	height: 100%;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* maのイメージ図に使用 */

/* 画像の比率管理① まずはrelative */

.p-card-ma__img {
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card-ma__img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* 幅800、高さ670、670/800=83.75% */
	padding-top: 83.75%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card-ma__img img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* ==============
類似品（object-fit:cover）イラストだと中途半馬になる
============== */

/* 画像の比率管理① まずはrelative */

.p-card__img {
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card__img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* スマホ）幅335、高さ200、200÷335 */
	padding-top: 59.7014925%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card__img img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* ==============
類似品（contain）
============== */

/* 画像の比率管理① まずはrelative */

.p-card__contain-img {
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-card__contain-img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* スマホ）幅335、高さ200、200÷335 */
	padding-top: 59.7014925%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない */

.p-card__contain-img img {
	-o-object-fit: contain;
	height: 100%;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.p-footer-about {
	border-bottom: solid 0.0625rem #333;
	padding-bottom: 3.125rem;
}

.p-footer__name {
	text-align: center;
}

.p-footer__name-logo { /* ロゴセンタリングするために入れたが、いいの？ */
	display: inline-block;
	width: 3.75rem;
}

.p-footer__name-company {
	font-size: 1.125rem;
	margin-top: 0.625rem;
}

.p-footer__name-director {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.p-footer__name-director span {
	margin-right: 1rem;
}

.p-footer__address {
	font-size: 0.875rem;
	margin-top: 3.5rem;
}

.p-footer__sale {
	align-items: center;
	display: flex;
	font-size: 0.875rem;
	justify-content: space-between;
	margin-top: 0.625rem;
}

.p-footer__sale-contact {
	text-align: center;
	width: 7.5rem;
}

.p-footer__sale-contact a {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 2.5rem;
}

.p-footer__sale-contact:hover {
	cursor: pointer;
	opacity: 0.3;
}

.p-footer__sale-contact-text {
	font-size: 0.625rem;
	margin-top: 0.625rem;
	width: inherit;
}

.p-footer-nav {
	padding-top: 3.125rem;
	width: 100%;
}

.p-footer-nav__items {
	display: flex;
	flex-flow: column;
	gap: 1.25rem;
}

.p-footer-nav__item a {
	letter-spacing: 0.06em;
	line-height: 1.25;
}

.p-footer-nav__item a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* 大分類の四角マーク用の左余白 */

.footer-nav-icon-square {
	padding-left: 1rem;
	position: relative;
}

/* 大分類の四角マーク */

.footer-nav-icon-square::before {
	background-color: #333;
	content: "";
	display: block;
	height: 0.625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

/* 小分類の横棒マーク（M&A） */

.footer-nav-icon-line {
	padding-left: 2rem;
	position: relative;
}

.footer-nav-icon-line:before {
	background-color: #333;
	content: "";
	display: block;
	height: 0.0625rem;
	left: 0;
	margin-left: 1rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

/* 最小分類の点マーク */

.footer-nav-icon-point {
	padding-left: 3rem;
	position: relative;
}

.footer-nav-icon-point::before {
	background-color: #333;
	content: "";
	display: block;
	height: 0.25rem;
	left: 0.375rem;
	margin-left: 2rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.25rem;
}

.p-form {
	margin-top: 8.125rem;
}

.p-form__item:not(:first-of-type) {
	margin-top: 4.375rem;
}

.p-form__item dt {
	font-weight: 700;
}

/* 必須 */

.p-form__required {
	background-color: #1E9244;
	border-radius: 0.3125rem;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1;
	margin-left: 0.625rem;
	padding: 0.1875rem 0.6875rem;
}

.p-form__radio,
.p-form__check {
	display: flex;
	flex-direction: column;
	gap: 0.3125rem;
	margin-top: 0.625rem;
}

.p-form__check a {
	-webkit-text-decoration: underline;
	color: blue;
	text-decoration: underline;
}

.p-form__btn {
	margin-top: 3.75rem;
	text-align: center;
}

.p-form__btn:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.p-form__btn input[submit] {
	cursor: default;
}

/* 送信完了後のメッセージ */

.p-end-message {
	display: none;
}

.p-false-message {
	display: none;
}

.p-footer {
	background-color: rgba(30, 146, 68, 0.09);
	color: #333;
	padding-top: 3.75rem;
}

.p-footer__inner {
	margin: auto;
	padding: 0 1.875rem;
}

.p-footer__name-a:hover {
	opacity: 0.5;
	transition: all 0.3s ease;
}

.p-footer__copyright {
	background: transparent linear-gradient(90deg, #00241c 0%, #1E9244 100%) 0% 0% no-repeat padding-box;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-top: 2.5rem;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
	text-align: center;
}

/* メインビューは含まないが、
ロゴ付きのヘッダー、スマホのドロワーメニューまでを含む。
z-index:1000 */

.p-header {
	background-color: #fff;
	height: 3.75rem; /* ヘッダーの固定 */
	position: fixed; /* jsでヘッダー分下げた時、指定してないと一緒に下がってしまう */
	top: 0;
	width: 100%;
	z-index: 1000;
}

.p-header__inner {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding: 0 0.9375rem;
}

/* PC時はハンバーガーボタン非表示 */

/* PC用ナビ */

.p-header__pc-nav {
	display: none;
	height: inherit;
}

/* ロゴ */

.p-header__logo { /* 縦方向の中央 */
	display: block;
	width: 17.5rem;
}

.p-header__logo:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* 「.p-home-business」と同じ内容 */

.p-home-about__contents {
	margin-top: 1.875rem;
}

/* 背景画像 */

/* １つ目（代表） */

.p-home-about__content:first-of-type .p-back-img-card {
	background-image: url(../images/common/top-hello.jpg);
}

/* ２つ目（地図） */

.p-home-about__content:last-of-type .p-back-img-card {
	background-image: url(../images/common/top-office2.jpg);
}

.p-home-about__content:last-of-type {
	margin-top: 3.125rem;
}

.p-home-about__btn {
	margin-top: 2.5rem;
	text-align: center;
}

.p-home-business__contents {
	margin-top: 1.875rem;
}

/* 背景画像 */

/* １つ目（事業承継） */

.p-home-business__content:first-of-type .p-back-img-card {
	background-image: url(../images/common/top-business1.jpg);
}

/* 2つ目（ma） */

.p-home-business__content:nth-of-type(2) .p-back-img-card {
	background-image: url(../images/common/top-business3-ma.png);
}

/* 3つ目（経営支援） */

.p-home-business__content:last-of-type .p-back-img-card {
	background-image: url(../images/common/top-business2.jpg);
}

.p-home-business__content:not(:first-of-type) {
	margin-top: 3.125rem;
}

.p-home-business__btn {
	margin-top: 2.5rem;
	text-align: center;
}

.p-home-hello__title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.4;
}

.p-home-hello__text {
	font-size: 1rem;
	letter-spacing: 0.01em;
	line-height: 2;
	margin-top: 2.5rem;
}

.p-home-hello__image {
	margin-top: 2.5rem; /* ①まずはrelative */
	position: relative;
}

/* ②擬似要素で枠を作る */

.p-home-hello__image::before {
	content: ""; /* 高さを取るため */
	display: block; /* 高さ比率、450:300 */
	padding-top: 66.6666667%;
}

/* ③枠の中に画像を入れる＝画像の比率異なる場合もはみ出さない */

.p-home-hello__image img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.p-home-news__items {
	margin-top: 1.875rem;
}

.p-home-news__item { /* 本体333×3＋padding24×4＝1095 */ /* 左右：(333+24)/1100=32.454% padding＝左か右に24/1100＝2.1818%*/ /* 中：（333+24+24)/1100=34.636 左右に24/1100＝2.1818% */
}

/* 隣接した、１つ目以外のクラスに */

.p-home-news__item + .p-home-news__item {
	border-top: 1px solid #333;
	margin-top: 1.25rem;
	padding-top: 2.5rem;
}

.p-home-news__btn {
	margin-top: 3.75rem;
	text-align: center;
}

.p-lower-header-title {
	color: #333;
	text-align: center;
	width: 100%;
}

.p-lower-header-title__ja-title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.p-lower-header-title__ja-sub {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.p-lower-header-title__en-title {
	font-family: "Montserrat", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.p-more-card2 {
	position: relative;
}

/* 「.p-more-card」hover時に「p-back-img-card（背景画像）」を操作 */

.p-more-card2:hover .p-back-img-card {
	transform: scale(1.1);
	transition: all 0.5s ease; /* overflow:hidden、かけたいがうまくいかず */
}

/* 「.p-more-card」hover時に「p-back-img-card」の擬似要素を操作 */

.p-more-card2:hover .p-back-img-card::before {
	background-color: rgba(255, 255, 255, 0.9);
	transition: all 0.5s ease;
}

.p-more-card2__text { /* moreを最下に。
  参照：https: //www.tipdip.jp/tips_posts/production/2213/ */ /* .p-more-card-moreのmargin-top: auto;とセット */
	display: flex;
	flex-direction: column;
	height: 100%;
	left: 0;
	min-height: 100%;
	padding: 5%;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-more-card2__title {
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
}

.p-more-card2__sub {
	line-height: 2;
	margin-top: 1.875rem;
}

.p-more-card2__more {
	color: #1E9244;
	font-size: 1.25rem;
	font-weight: 700; /* テキストを底辺につける違うやり方したい！ */ /* ネットで見つけたやり方 */
	margin-top: auto;
	padding-right: 1.25rem;
	position: relative;
	text-align: right;
}

/* 「more」あとの矢印 */

.p-more-card2__more::after {
	border-right: solid 2px #1E9244;
	border-top: solid 2px #1E9244;
	content: "";
	display: block;
	height: 6px;
	position: absolute; /* 右端から */
	right: 0;
	top: 50%;
	transform: rotate(45deg);
	width: 6px;
}

/* PC時に3枚のカード */

.p-more-card3 {
	position: relative;
}

/* 「.p-more-card3」hover時に「p-back-img-card（背景画像）」を操作 */

.p-more-card3:hover .p-back-img-card {
	transform: scale(1.1);
	transition: all 0.5s ease; /* overflow:hidden、かけたいがうまくいかず */
}

/* 「.p-more-card3」hover時に「p-back-img-card」の「擬似要素」を操作 */

.p-more-card3:hover .p-back-img-card::before {
	background-color: rgba(255, 255, 255, 0);
	transition: all 0.5s ease;
}

.p-more-card3__text { /* moreを最下に。
  参照：https: //www.tipdip.jp/tips_posts/production/2213/ */ /* .p-more-card-moreのmargin-top: auto;とセット */
	display: flex;
	flex-direction: column;
	height: 100%;
	left: 0;
	min-height: 100%;
	padding: 5%;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-more-card3__title {
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
}

.p-more-card3__sub {
	margin-top: 1.875rem;
}

.p-more-card3__more {
	color: #1E9244;
	font-size: 1.25rem;
	font-weight: 700; /* テキストを底辺につける違うやり方したい！ */ /* ネットで見つけたやり方 */
	margin-top: auto;
	padding-right: 1.25rem;
	position: relative;
	text-align: right;
}

/* 「more」あとの矢印 */

.p-more-card3__more::after {
	border-right: solid 2px #1E9244;
	border-top: solid 2px #1E9244;
	content: "";
	display: block;
	height: 6px;
	position: absolute; /* 右端から */
	right: 0;
	top: 50%;
	transform: rotate(45deg);
	width: 6px;
}

.l-mv {
	top: 3.75rem;
}

.p-mv {
	height: calc(100vh - 3.75rem);
	position: relative;
}

.p-mv__inner {
	height: inherit;
}

/* 画像の比率管理① まずはrelative */

.p-mv__img { /* 画像を暗くする（imgのopacityとセットで使用） */
	background-color: #000000;
	position: relative;
}

/* 画像の比率管理② 擬似要素を作る */

.p-mv__img::before {
	content: ""; /* 擬似要素のinline要素のままだと高さ取れない */
	display: block; /* ヒーロービューは縦横比可変で高さが100vh */
	height: calc(100vh - 3.75rem);
	width: 100%;
}

/* 画像の比率管理③ ②で作った箱に画像を入れる
画像の比率が違う時にもはみ出さない？ */

.p-mv__img img {
	-o-object-fit: cover;
	height: 100%;
	left: 50%;
	object-fit: cover; /* 画像を暗くする（p-mv__imgのbackground:000000とセットで使用） */
	opacity: 0.8;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

/* キャッチコピー */

.p-mv__copy {
	bottom: 5rem;
	color: #eee;
	left: 1.25rem;
	position: absolute;
	text-shadow: 0 0 5px #000; /* 仮 */
	z-index: 100;
}

/* テキストは、なくなった？ */

/* 「M&Aのご相談ならお任せください」 */

.p-mv__copy-sub {
	font-family: "Sawarabi Mincho";
	font-size: 1.375rem;
}

.p-mv__copy-sub span {
	display: block;
	text-indent: 3em;
}

/* 縦書き「スクロール」 */

.p-mv__scroll {
	bottom: 96px;
	color: #fff;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	position: absolute;
	right: 0;
	transform: rotate(90deg); /* 仮 */
	z-index: 100;
}

/* 縦書き「スクロール」のところの縦線 */

.p-mv__scroll span {
	position: relative;
}

.p-mv__scroll span::after {
	background-color: #fff;
	bottom: -17px;
	content: "";
	height: 50px;
	position: absolute;
	right: -35px;
	transform: rotate(90deg);
	width: 1px;
}

.p-news-content {
	border-bottom: solid 1px #333;
	padding-bottom: 1.875rem;
}

.p-news-content__meta {
	align-items: center;
	display: flex;
}

.p-news-content__date {
	color: #333;
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
}

.p-news-content__category {
	background-color: #333;
	border-radius: 5px;
	color: #fff; /* 親要素からはみ出す分の縮め方の指定 */
	flex-shrink: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-left: 0.9375rem;
	padding: 0.25rem 1.125rem;
}

.p-news-content__link {
	margin-top: 1.875rem;
}

.p-news-content__text {
	font-size: 1rem;
}

.p-news-content__text:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* 以下、index.htmlからのコピペ */

/* --------------------------------------------- */

/* 隣接した、１つ目以外のクラスに */

.p-news-digest__link:hover {
	opacity: 0.5;
	transition: all 0.3s ease;
}

.p-news-digest__flex {
	display: flex;
}

.p-news-digest__time {
	font-size: 0.875rem;
}

.p-news-digest__genre {
	background-color: #333;
	border-radius: 0.125rem;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	margin-left: 1.25rem;
	padding: 0 0.375rem;
}

.p-news-digest__text {
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-top: 0.375rem;
}

.l-page-about-access {
	margin-top: 8.125rem;
}

.p-page-about-access__routes {
	margin-top: 3.125rem;
}

.p-page-about-access__route:last-of-type {
	margin-top: 1rem;
}

/* セクション（挨拶） */

.p-page-about-hello__text-motto {
	margin-top: 2.25rem;
}

/* 署名 */

.p-page-about-hello__text-signature {
	margin-top: 2.5rem;
}

/* ===========
右側
============ */

.p-page-about-hello__right {
	margin-top: 6.25rem;
}

.p-page-about-hello__profile {
	margin-top: 3.125rem;
}

/* 座右の名の写真部分 */

.p-page-about-hello__motto {
	text-align: center;
}

.p-page-about-hello__motto-text {
	margin-top: 0.625rem;
}

.l-page-about-outline {
	margin-top: 8.125rem;
}

.p-about-outline__data { /* 72から、の何か30で、差引42 */
	margin-top: 2.625rem;
}

.p-page-business-ma__comment {
	background-color: #eee;
	border-radius: 0.1875rem;
	font-size: 0.75rem;
	margin-top: 2.5rem;
	padding: 0.625rem;
}

.p-page-business-ma__comment-a {
	margin-left: 1.25rem;
}

.p-page-business-ma__comment-a-wrapper {
	background-color: #fff;
	margin-top: 0.625rem;
	padding: 0.625rem;
}

.p-page-business-ma__comment-a-wrapper dl {
	padding-left: 0.625rem;
}

.p-page-business-ma__comment-a dd {
	margin-left: 1.25rem;
}

/* 事業承継（MA）ページのいくつかのh4を囲むかたまり */

.p-page-business-ma__h4-inner {
	margin-left: 1.25rem;
}

/* MA支援ページ */

/* 最後のまとめの余白 */

.p-business-contents__item-summary {
	padding-top: 3.125rem;
}

/* セクション２（料金） */

.p-page-business-ma-price {
	margin-top: 6.25rem;
}

.l-page-business-succession-four {
	margin-top: 6.25rem;
}

.p-page-business-succession-four__chart {
	margin-top: 1.875rem;
}

.p-page-business-succession-head__text {
	margin-top: 1.875rem;
}

/* 下層１事業案内ートップーセクション１サービス方針 */

.p-page-business-top-direction__content {
	margin-top: 2.5rem;
}

.p-page-business-top-direction__lead {
	font-size: 1.375rem;
}

.p-page-business-top-direction__text {
	line-height: 1.75;
	margin-top: 1.375rem;
}

.p-page-business-top-direction__img {
	margin-top: 2.5rem;
}

/* ====
下層１事業案内ートップーセクション４料金
==== */

.l-page-business-top-flow {
	margin-top: 6.25rem;
}

.p-page-business-top-flow__content:not(:first-of-type) {
	margin-top: 4.375rem;
}

.p-page-business-top-flow__content-title {
	line-height: 2;
	margin-top: 0.625rem;
}

.p-page-business-top-flow__content-text {
	font-size: 0.875rem; /* 24/14 */
	line-height: 1.714285;
	margin-top: 0.3125rem;
}

/* ====
下層１事業案内ートップーセクション２サービス内容
==== */

.l-page-business-top-index {
	margin-top: 6.25rem;
}

/* １つのリスト（タイトル含む塊） */

.p-page-business-top-index__content:first-of-type {
	border-bottom: solid 0.0625rem #333;
	padding-bottom: 3.75rem;
}

.p-page-business-top-index__content:last-of-type {
	padding-top: 3.75rem;
}

/* タイトル */

/* タイトル含まないリスト部分だけ */

.p-page-business-top-index__content-list {
	margin-left: 2.0625rem;
	margin-top: 0.625rem;
}

/* ボタン */

.p-page-business-top-index__button {
	margin-top: 1.875rem;
	text-align: center;
}

/* ====
下層１事業案内ートップーセクション５提携先等
==== */

.l-page-business-top-network {
	margin-top: 6.25rem;
}

.p-page-business-top-network__wrap {
	margin-left: 1.25rem;
}

.p-page-business-top-network__table-row:not(:first-of-type) {
	margin-top: 3.125rem;
}

.p-page-business-top-network__table-row a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.p-page-business-top-network__table-dt {
	margin-bottom: 0.75rem;
}

.l-page-business-top-price {
	margin-top: 6.25rem;
}

.p-page-business-top-price__content:last-of-type {
	margin-top: 3.75rem;
}

.p-page-business-top-price__content-title {
	border-bottom: solid 1px #333;
	padding-bottom: 0.625rem;
}

.p-page-business-top-price__attention {
	margin-top: 1.25rem;
}

.p-page-business-top-price__button {
	text-align: right;
}

.p-page-contact__text {
	line-height: 2;
	text-align: center;
}

.p-privacy__item + .p-privacy__item {
	margin-top: 5rem;
}

.p-privacy__item-inner {
	margin-top: 1.875rem;
}

.p-privacy__wrapper {
	margin-top: 1.25rem;
}

.p-privacy__item-inner ol {
	margin-top: 1.875rem;
}

.p-privacy__item-text {
	font-size: 0.875rem; /* 30/14 */
	line-height: 2;
}

.p-privacy__item-text li { /* 箇条書きの字下げ */
	margin-left: 2em;
	text-indent: -1em;
}

.p-privacy__item-text li:not(:first-of-type) {
	margin-top: 0.625rem;
}

/* 「4.個人情報の取り扱い」の中身の箇条書き */

.p-privacy__item-inner4 + .p-privacy__item-inner4 {
	margin-top: 1.875rem;
}

/* 「4.個人情報の取り扱い」の中身のテキスト部分 */

.p-privacy__item-inner4 .p-privacy__item-text {
	margin-top: 0.625rem;
}

/* 個人情報のフッター */

.p-privacy__footer {
	background-color: #D9D9D9;
	border-radius: 0.3125rem;
	margin-top: 3.125rem;
	padding: 1.25rem 0.3125rem;
}

/* 相談窓口 */

.p-privacy__contact dl:nth-of-type(2) {
	margin-top: 1.25rem;
}

.p-privacy__contact dd {
	margin-left: 0.9375rem;
}

.p-privacy__contact a {
	border-bottom: solid 1px blue;
	color: blue;
}

.p-privacy__contact a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* 署名 */

.p-privacy__sign {
	margin-top: 3.75rem;
}

.p-privacy__sign-date dl {
	display: flex;
}

.p-privacy__sign-date dd {
	margin-left: 0.9375rem;
}

.p-privacy__sign-self {
	margin-top: 1.25rem;
}

.p-privacy__sign-name {
	text-align: right;
}

.p-privacy__sign-name span {
	margin-right: 1.25rem;
}

.p-profile__title {
	font-family: "Montserrat", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
}

.p-profile__name {
	font-size: 1.5rem;
	margin-top: 1.25rem;
}

.p-profile__text {
	margin-top: 1.25rem;
}

.p-profile__row {
	display: flex;
}

.p-profile__row dt {
	padding-left: 0.9375rem;
	position: relative;
	width: 25%;
}

.p-profile__row dt::before,
.p-profile__text-history-title::before {
	background-color: #333;
	content: "";
	height: 0.625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

/* 経歴 */

.p-profile__text-history-title {
	margin-top: 1.25rem;
	padding-left: 0.9375rem;
	position: relative;
}

.p-profile__text-history-content dt:not(:first-of-type) {
	margin-top: 0.625rem;
}

.p-profile__text-history-content dd {
	margin-left: 2em;
}

.p-route {
	align-items: center;
	display: flex;
	justify-content: space-between; /* 26px+228px+100px=354px 354/900=39.333333% */
	width: 100%;
}

/* 交通機関を囲む正方形 */

.p-route__transport {
	align-items: center;
	background-color: #D9D9D9; /* 縦横センタリングのために、flex指定 */
	display: flex;
	flex-direction: column;
	height: 6.25rem;
	justify-content: center;
	width: 6.25rem;
}

.p-route__transport span {
	display: block;
}

.p-route__time {
	font-size: 0.875rem; /* 正方形を100pxでしているのでマズい気がする */ /* 225/335=67.164179% */ /* 正方形rem100と、余白に20 */
	width: calc(100% - 7.5rem);
}

.p-route__time li {
	padding-left: 1em;
	text-indent: -1em;
}

/* 下層・h3ヘッダー */

.p-section-header-h3 {
	color: #333;
}

.p-section-header-h3__title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	padding-left: 0.75rem;
	position: relative;
}

.p-section-header-h3__title::before {
	background-color: green;
	border-radius: 0.0625rem; /* つまり、縦棒と文字間は、10pxってこと */
	content: "";
	height: 100%; /* 縦棒の左端は、インナーのラインにくっつく */
	left: 0;
	position: absolute; /* 太さ6pxの縦棒*/
	width: 0.125rem;
}

.p-section-header-h4 {
	border-bottom: solid 1px #1E9244;
}

/* 下層・セクションヘッダー */

.p-section-header-lower {
	color: #333;
	padding-bottom: 1.875rem;
}

.p-section-header-lower__title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1; /* テキスト左に16pxの余白
  left:0なので、縦棒左端までが16 */
	padding-left: 1rem;
	position: relative;
}

.p-section-header-lower__title::before {
	background-color: green;
	border-radius: 0.3125rem; /* つまり、縦棒と文字間は、10pxってこと */
	content: "";
	height: 100%; /* 縦棒の左端は、インナーのラインにくっつく */
	left: 0;
	position: absolute; /* 太さ6pxの縦棒*/
	width: 0.375rem;
}

.p-section-header-top {
	color: #333;
	text-align: center;
}

.p-section-header-top__ja-title {
	display: inline-block;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1; /* テキスト下端から下線下端（太さ2）が14。つまり隙間は12 */
	padding-bottom: 0.875rem;
	position: relative;
}

.p-section-header-top__ja-title::after {
	background-color: #1E9244;
	bottom: 0rem;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.5rem;
}

.p-section-header-top__en-title {
	font-family: "Montserrat", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-top: 0.625rem;
}

.signature-self {
	font-size: 1.125rem;
}

.signature-name {
	margin-top: 0.3125rem;
	text-align: right;
}

.signature-name span {
	margin-right: 2em;
}

/* お知らせコンテンツ内の横並び画像 */

.l-single-news-2peace {
	margin-top: 1.25rem;
}

/* お知らせコンテンツの下画像横並び */

/* 各画像 */

.p-single-news-2peace__img:not(:first-of-type) {
	margin-top: 1.25rem;
}

.p-single-news-body__title .p-section-header-lower__title {
	line-height: 1.5;
}

.l-single-news-body__image {
	margin-bottom: 3.125rem;
	margin-top: 3.125rem;
}

/* 記事中の大見出し（h2） */

.p-single-news-body__content-lead {
	margin-top: 3.125rem;
}

/* 記事中の小見出し（h3） */

.p-single-news-body__content-lead-small {
	margin-top: 1.875rem;
}

/* 記事の段落 */

.p-single-news-body__content p {
	margin-top: 0.9375rem;
}

.p-single-news-body__pager {
	margin-top: 1.875rem;
}

.p-sub-mv {
	background-image: url(../images/common/sub-mv-pc.jpg);
	background-repeat: no-repeat;
	background-size: cover; /* メインビュ（410）ー＋ヘッダー高さ（60の場合） */
	height: 29.375rem;
	position: relative;
}

.p-sub-mv::before { /* 半透明のフィルター */
	background-color: rgba(0, 0, 0, 0.7);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.sub-mv__title {
	color: #fff;
	left: 50%;
	padding-top: 14.5rem;
	position: absolute;
	transform: translateX(-50%);
}

/* ズームアニメーションは動いていない！！ */

/* スライダー（swiper）にズームアニメーション */

.pc-nav__items {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: center;
}

.pc-nav__item,
.pc-nav__item a {
	height: inherit;
}

/* ナビ下線用（該当spanに「active」をつけること） */

.pc-nav__item span {
	position: relative;
}

.pc-nav__item .active::after {
	background-color: #1E9244;
	border-radius: 0.3125rem;
	bottom: -0.625rem;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.pc-nav__item a {
	align-items: center;
	color: #333;
	display: flex;
	font-family: serif;
	font-family: "Montserrat", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.06em;
	line-height: 1; /* ナビ間の余白は25 */
	padding-left: 0.8125rem;
	padding-right: 0.75rem;
}

.pc-nav__item:last-child a {
	padding-right: 0;
}

.pc-nav__item:first-child a {
	padding-left: 0;
}

.pc-nav__item a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

/* 「事業案内」のトグルボタン */

/* 「.pc-nav__item」を付けないと「.nav-toggle」では効かない */

.pc-nav__item .nav-toggle__item-a {
	color: #fff; /* トグルボタンの中のテキストがセンタリングするのを解除 */
	justify-content: start;
}

.pc-nav__item .nav-toggle__item-a:hover {
	color: #1E9244;
	opacity: 1;
}

.pc-nav__item .nav-toggle__item-a.active {
	color: #1E9244;
	opacity: 1;
}

/* liの中のa、右矢印 */

/* hover時に緑にしたいが、効いてない */

.sp-nav {
	background-color: #00241c;
	display: none;
	height: 100vh; /* left:0、right:0で要素が浮く */
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%; /* １でも表示はされそう！？ */
	z-index: 1;
}

.sp-nav.is-active {
	display: block;
}

.sp-nav__items {
	align-items: center; /* 縦方向のセンタリング */
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: 6.25rem 0;
}

.sp-nav__item {
	width: 100%;
}

.sp-nav__item a {
	color: #fff; /* text-align:centerでは、インライン要素なのでセンターにならない。
  ブロック要素にすることで、幅いっぱいになってセンターに。 */
	display: block;
	font-size: 0.9375rem;
	letter-spacing: 0.05em;
	line-height: 1; /* クリック領域を広げる */
	padding: 0.9375rem 0;
	text-align: center;
}

.sp-nav__item a:hover {
	opacity: 0.3;
	transition: all 0.3s ease;
}

.testb {
	font-family: "Montserrat", sans-serif;
}

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

.p-business-contents__item {
	margin-top: 5.625rem;
}

.p-lower-header-title__ja-sub {
	font-size: 1.875rem;
}

.l-page-business-top-flow {
	margin-top: 8.75rem;
}

.l-page-business-top-price {
	margin-top: 8.75rem;
}

.p-page-business-top-price__wrapper {
	margin: 0 auto;
	max-width: 56.25rem;
}

.p-page-business-top-price__button {
	text-align: center;
}

.p-single-news-body__pager {
	margin-top: 3.125rem;
}

}

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

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

html {
	font-size: 1.4545454545vw;
}

.c-page-link__prev,
.c-page-link__next {
	font-size: 0.875rem;
}

.l-home-about {
	margin-top: 8.75rem;
}

.l-home-business {
	margin-top: 8.75rem;
}

.l-home-hello {
	margin-top: 12.8125rem;
}

.l-home-news {
	margin-top: 8.75rem;
}

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

.l-minimum-inner {
	margin-left: auto;
	margin-right: auto; /* 900にしたいので、左右パディング計50を考慮して950にする */
	max-width: 59.375rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-minimum700-inner {
	margin-left: auto;
	margin-right: auto; /* 700にしたいので、左右パディング計50を考慮して750にする */
	max-width: 46.875rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-page-about-access { /* 120のうち、パンくずで68 */
	margin-top: 3.25rem;
}

.l-page-about-hello { /* 120のうち、パンくずで68 */
	margin-top: 3.25rem;
}

.l-page-business-ma-flow {
	margin-top: 8.75rem;
}

.p-page-business-ma-flow__content-image {
	width: 90%;
}

.l-page-business-management-head__text {
	margin-top: 1.25rem;
}

.l-page-business-management-service {
	margin-top: 7.5rem;
}

.l-page-business-management-price {
	margin-top: 7.5rem;
}

.l-page-business-succession-close {
	margin-top: 8.75rem;
}

.l-page-business-succession-friend {
	margin-top: 8.75rem;
}

.l-page-business-succession-ipo {
	margin-top: 8.75rem;
}

.l-page-business-succession-ma {
	margin-top: 8.75rem;
}

.p-about-data {
	display: flex;
	font-size: 1rem;
	justify-content: space-between;
}

.p-about-data__left {
	border-bottom: solid 1px #1E9244; /* 525/1100=47.72727% */
	width: 47.72727%;
}

.p-about-data__right { /* 525/1100=47.72727% */
	width: 47.72727%;
}

.p-archive-home-news__item + .p-archive-home-news__item {
	margin-top: 0.9375rem;
}

.p-back-img-card {
	padding-top: 60%;
}

.p-business-contents__items {
	margin-top: 7.5rem;
}

.p-business-lead-under {
	display: flex;
	justify-content: space-between;
}

.p-business-lead-under__img {
	width: 25rem;
}

.p-business-lead {
	font-size: 2rem;
}

.p-business-list {
	margin-left: 3.125rem;
	margin-top: 1.25rem;
}

.p-business-table {
	font-size: 1rem;
}

.p-card__map { /* 横1110、高394 */
	aspect-ratio: 1110/394;
	margin-top: 3.75rem;
}

.p-company-info__map-link a {
	font-size: 1rem;
}

.p-card-about-leader__img::before { /* PC）幅640、高さ490＝490/640 */
	padding-top: 76.5625%;
}

.p-card-about-leader__img-vertical::before { /* PC）幅640、高さ490＝490/640 */
}

.p-card-ma__img::before { /* 幅720、高さ720、720÷720 */
	padding-top: 50%;
}

.p-card__img::before { /* PC）幅400、高さ200＝200/400 */
	padding-top: 50%;
}

.p-card__contain-img::before { /* PC）幅400、高さ200＝200/400 */
	padding-top: 50%;
}

.p-footer-about {
	border-bottom: none;
	width: 29%;
}

.p-footer-nav {
	padding-top: 0;
	position: relative;
	width: 44.125rem;
}

.p-footer-nav__items {
	flex-flow: row nowrap;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-footer-nav__item {
	width: 13.875rem;
}

.p-form {
	margin-top: 7.5rem;
}

.p-form__radio,
.p-form__check {
	display: block;
	gap: 0.0625rem;
}

.p-footer__inner {
	display: flex;
	justify-content: space-between;
}

.p-header {
	height: 5rem;
}

.p-header__drawer {
	display: none;
}

.p-header__pc-nav {
	display: block;
}

.p-header__logo {
	max-width: 28.125rem;
	width: 100%;
}

.p-home-about__contents {
	display: flex;
	justify-content: space-between;
	margin-top: 3.75rem;
}

.p-home-about__content:last-of-type {
	margin-top: 0rem;
}

.p-home-about__btn {
	margin-top: 3.75rem;
}

.p-home-business__contents {
	display: flex;
	justify-content: space-between;
	margin-top: 3.75rem;
}

.p-home-business__content:not(:first-of-type) {
	margin-top: 0rem;
}

.p-home-business__btn {
	margin-top: 3.75rem;
}

.p-home-hello__inner {
	display: flex;
	justify-content: space-between;
}

.p-home-hello__contents { /* 560 / 1100 */
	width: 50.90909%;
}

.p-home-hello__title {
	font-size: 2rem; /* xd--font/a */
	line-height: 1.5;
}

.p-home-hello__image {
	margin-top: 0; /* 450 / 1100*/
	width: 40.90909%;
}

.p-home-news__items {
	display: flex;
}

.p-home-news__item + .p-home-news__item {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

.p-home-news__item:first-of-type {
	padding-right: 2.1818%;
	width: 32.454%;
}

.p-home-news__item:nth-of-type(2) {
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	padding: 0 2.1818%;
	width: 34.636%;
}

.p-home-news__item:last-of-type {
	padding-left: 2.1818%;
	width: 32.454%;
}

.p-lower-header-title__ja-title {
	font-size: 3rem;
}

.p-lower-header-title__en-title {
	font-size: 1.125rem;
}

.p-more-card2 { /* 横幅400/1100=36.363636 */ /* 横幅400/900=44.444444% */
	width: 44.444444%;
}

.p-more-card3 { /* 横幅400/1100=36.363636 */
	width: 30%;
}

.l-mv {
	top: 5rem;
}

.p-mv {
	height: calc(100vh - 5rem);
}

.p-mv__img::before {
	height: calc(100vh - 5rem);
}

.p-mv__copy {
	bottom: 3.75rem;
	left: 3.75rem;
}

.p-mv__copy-sub {
	font-size: 3rem;
}

.p-mv__copy-sub span {
	display: inline;
	text-indent: 0;
}

.p-news-digest__time {
	font-size: 1rem;
}

.p-page-about-access__routes {
	display: flex;
	justify-content: space-between;
}

.p-page-about-access__route { /* 228+100+26=354 354/1100=32.181818% */ /* 
    228+100+26=354、予備に+40=394
    ここは、インナー幅900にしてるので、
    354/900=39.333333%
    394/900=43.777777 */
	width: 43.777777%;
}

.p-page-about-access__route:last-of-type {
	margin-top: 0;
}

.p-page-about-hello__inner {
	display: flex;
	justify-content: space-between;
}

.p-page-about-hello__left { /* 480/1100=43.63636% */
	width: 43.63636%;
}

.p-page-about-hello__text { /* 128のうちタイトルのbottomで30 */
	margin-top: 6.125rem;
}

.p-page-about-hello__text-body {
	line-height: 2;
}

.p-page-about-hello__text-signature {
	margin-top: 2.1875rem;
}

.p-page-about-hello__right {
	margin-top: 0; /* 460/110=41.818181% */
	width: 41.818181%;
}

.p-page-business-ma-price {
	margin-top: 8.75rem;
}

.l-page-business-succession-four {
	margin-top: 8.75rem;
}

.p-page-business-succession-four__chart {
	margin-left: auto;
	margin-right: auto;
	width: 80%;
}

.p-page-business-top-direction__inner {
	display: flex;
	justify-content: space-between;
}

.p-page-business-top-direction__contents { /* 480/1100 */
	width: 43.636363%;
}

.p-page-business-top-direction__img {
	margin-top: 0; /* 550/1100 */
	width: 50%;
}

.p-page-business-top-flow__contents {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.p-page-business-top-flow__content { /* 190/1100 */
	width: 17.272727%;
}

.p-page-business-top-flow__content:not(:first-of-type) {
	margin-top: 0;
}

.l-page-business-top-index {
	margin-top: 8.75rem;
}

.p-page-business-top-index__wrapper {
	margin: 0 auto;
	max-width: 56.25rem;
}

.p-page-business-top-index__contents {
	display: flex;
	justify-content: space-between;
}

.p-page-business-top-index__content { /* 390/900 */
	width: 43.33333%;
}

.p-page-business-top-index__content:first-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

.p-page-business-top-index__content:last-of-type {
	padding-top: 0;
}

.p-page-business-top-index__content-title {
	border-bottom: solid 0.0625rem #333;
	padding-bottom: 0.875rem;
}

.l-page-business-top-network {
	margin-top: 8.75rem;
}

.p-page-business-top-price__contents {
	display: flex;
	justify-content: space-between;
}

.p-page-business-top-price__content { /* 390/900 */
	width: 43.33333%;
}

.p-page-business-top-price__content:last-of-type {
	margin-top: 0;
}

.p-privacy__item-inner {
	margin-top: 2.1875rem;
}

.p-privacy__footer {
	padding: 1.875rem;
}

.p-privacy__contact dl:nth-of-type(2) {
	display: flex;
}

.p-privacy__sign-self {
	margin-left: auto;
	max-width: 18.75rem;
	width: 100%;
}

.p-profile {
	border-left: solid 1px #EB6100;
	line-height: 2;
	padding-left: 1.875rem;
}

.p-section-header-h3__title {
	font-size: 1.375rem;
	padding-left: 0.875rem;
}

.p-section-header-lower__title {
	font-size: 2rem;
	padding-left: 1.75rem;
}

.p-section-header-top__ja-title {
	font-size: 2rem; /* テキスト下端から下線下端（太さ2）が24。つまり隙間は22 */
	padding-bottom: 1.5rem;
}

.p-section-header-top__en-title {
	margin-top: 1.25rem;
}

.p-single-news-2peace {
	display: flex;
	justify-content: space-between;
}

.p-single-news-2peace__img {
	width: 45%;
}

.p-single-news-2peace__img:not(:first-of-type) {
	margin-top: 0;
}

.p-single-news-body__content-lead {
	margin-top: 4.375rem;
}

.p-single-news-body__content-lead-small {
	margin-top: 3.125rem;
}

.p-sub-mv { /* メインビュー（410）＋ヘッダー高さ（80の場合） */
}

.sub-mv__title {
	padding-top: 14.0625rem;
}

}

@media (min-width: 1100px) {

html {
	font-size: 16px;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}


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