/* +++検索用ワード+++ */
/* ヘッダー */
/* ハンバーガーメニュー */
/* スクロール時のヘッダー */
/* トップメインビジュアル */
/* トップお知らせ */
/* トップ事務所紹介 */
/* トップ取り扱い業務 */
/* トップ弁護士紹介 */
/* トップ料金案内 */
/* トップアクセス */
/* トップお問い合わせ */
/* ページヘッダー */
/* パンくずリスト */
/* CTA */
/* アーカイブ */
/* サイドバー */
/* 投稿記事 */
/* 事務所紹介 */
/* 取り扱い業務 */
/* 弁護士紹介 */
/* 料金案内 */
/* アクセス */
/* お問い合わせ */
/* トップへ戻るボタン */
/* フッター */
/* 画面幅 1024px以下 */
/* 画面幅 767px以下 */
/* 画面幅 480px以下 */

/* ▼---------------------コードここから---------------------▼ */

/* ヘッダー */
.header {
	width: 100%;
}

.header__inner {
	display: flex;
	width: calc(100% - 40px);
	height: 70px;
	align-items: center;
	justify-content: space-between;
	margin-inline: auto;
}

.header__logo-img {
	width: 100%;
	max-height: 40px;
}

.header__nav-list {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.header__nav-list-item:last-of-type > .header__nav-link {
	background-color: var(--maincolor);
	padding: 8px 20px;
	border-radius: 8px;
	color: #fff;
}

.header__nav-list-item:last-of-type > .header__nav-link:hover {
	background-color: #50d5eb;
	opacity: 1;
}

/* トップページのヘッダー */
.home .header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.home .header__nav-link {
	color: #fff;
}
/* ヘッダーここまで */

/* スクロール時のヘッダー */
.scroll-nav {
	width: 100%;
	background-color: #ffffffcc;
	backdrop-filter: blur(2px);
	transition: all 0.3s;
	position: fixed;
	top: -200px;
	left: 0px;
	z-index: 11;
}

.scroll-nav__inner {
	width: calc(100% - 40px);
	margin-inline: auto;
}

.scroll-nav__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	padding-block: 1rem;
}

.scrolled .scroll-nav {
	top: 0;
}
/* スクロール時のヘッダーここまで */

/* ハンバーガーメニュー */
.hamburger-button {
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	padding: 12px 8px;
	position: fixed;
	top: 15px;
	right: 20px;
	z-index: 100;
	background-color: #1983d4c2;
	cursor: pointer;
}

.hamburger-button.active {
	border: 2px solid #fff;
}

.hamburger-button-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.hamburger-button-line {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #fff;
	position: absolute;
	transition: all 0.3s;
}

.hamburger-button-line-01 {
	top: 0;
	left: 0;
}

.hamburger-button-line-02 {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.hamburger-button-line-03 {
	top: auto;
	bottom: 0;
}

.active .hamburger-button-line-01 {
	transform: rotate(45deg);
	transform-origin: top left;
	left: 4px;
	top: -1px;
}

.active .hamburger-button-line-02 {
	opacity: 0;
}

.active .hamburger-button-line-03 {
	transform: rotate(-45deg);
	transform-origin: bottom left;
	left: 4px;
	bottom: -2px;
}

.hamburger-nav {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 480px;
	height: 100vh;
	padding-top: 100px;
	background-color: #17b2cbe6;
	transition: all 0.7s;
	position: fixed;
	top: 0;
	right: -100vw;
	z-index: 99;
}

.hamburger-nav.active {
	right: 0;
}

.hamburger-nav__inner {
	width: 100%;
	padding-inline: 20px;
}

.hamburger-nav__list-item {
	padding-block: 20px;
	border-bottom: 1px solid #fff;
}

.hamburger-nav__list-item:first-of-type {
	border-top: 1px solid #fff;
}

.hamburger-nav__link {
	color: #fff;
}

/* ハンバーガーメニューここまで */

/* トップメインビジュアル */
.mainvisual {
	width: 100%;
}

.swiper-slide.mainvisual__slider-item {
	width: 100%;
	height: 100vh;
	max-height: 900px;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.swiper-slide.mainvisual__slider-item::after {
	content: "";
	background-color: #000;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.swiper-slide.mainvisual__slider-item-01 {
	background-image: url("../images/main-visual_01.webp");
}

.swiper-slide.mainvisual__slider-item-02 {
	background-image: url("../images/main-visual_02.webp");
}

.swiper-slide.mainvisual__slider-item-03 {
	background-image: url("../images/main-visual_03.webp");
}

.mainvisual__slider-item-inner {
	width: calc(100% - 40px);
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 2rem;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

.mainvisual__slider-text {
	font-size: 2rem;
	color: #fff;
}

.mainvisual__slider-link {
	color: #fff;
	background-color: var(--maincolor);
	padding: 10px 40px;
	border-radius: 8px;
}

.mainvisual__slider-link:hover {
	background-color: #50d5eb;
	opacity: 1;
}

/* トップメインビジュアルここまで */

/* トップお知らせ */
.news {
	width: 50%;
	height: 80px;
	background-color: var(--maincolor);
	border-radius: 100px 0 0 100px;
	margin-left: auto;
	position: relative;
	top: -40px;
	z-index: 3;
}

.news__inner {
	padding-inline: 24px;
}

.news__slider {
	height: 3rem;
}

.news__heading {
	color: #fff;
	font-size: 1.5rem;
	border-bottom: 1px dashed #fff;
	margin-bottom: 4px;
}

.news__slider-link {
	color: #fff;
}

.news__slider-text {
	padding-left: 1rem;
}

.news__empty {
	color: #fff;
	padding-left: 1rem;
}
/* トップお知らせここまで */

/* トップ事務所紹介 */
.top-about {
	width: 100%;
	height: 813px;
	background-color: #220202;
	background-image: url("../images/top-about_bg.webp");
	background-repeat: no-repeat;
	background-size: 1920px auto;
	background-position: center top;
	position: relative;
	margin-top: -80px;
	padding-block: 120px;
}

.top-about::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.top-about__inner {
	width: calc(100% - 40px);
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

.top-about__heading {
	color: #fff;
}

.top-about__group {
	max-width: 1200px;
	margin-inline: auto;
	margin-top: 60px;
}

.top-about__group-title {
	color: #fff;
	display: flex;
	align-items: baseline;
}

.top-about__group-text {
	color: #fff;
	padding-left: 1rem;
	margin-top: 20px;
}

/* トップ事務所紹介ここまで */

/* トップ取り扱い業務 */
.top-service {
	padding-block: 60px;
	width: 100%;
}

.top-service__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
}

.top-service__list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: flex-start;
	align-items: center;
	margin-top: 60px;
}

.top-service__list-item {
	width: 373px;
	box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	overflow: hidden;
}

.top-service__link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.top-service__title {
	padding-left: 2rem;
}
/* トップ取り扱い業務ここまで */

/* トップ弁護士紹介 */
.top-lawyer {
	width: 100%;
	padding-block: 60px;
	background-color: var(--bggreen);
	border-radius: 100px 100px 0 0;
}

.top-lawyer__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
}

.top-lawyer__concept {
	text-align: center;
	margin-top: 60px;
	color: var(--maincolor);
	font-size: 1.5rem;
	font-weight: 800;
}

.top-lawyer__img-wrapper {
	margin-top: 20px;
}

.top-lawyer__img {
	margin-inline: auto;
	border-radius: 50px 50px 8px 8px;
}

.top-lawyer__profile {
	width: fit-content;
	margin-inline: auto;
	margin-top: 20px;
}

.top-lawyer__name {
	font-size: 1.5rem;
	font-weight: 800;
	padding-left: 1rem;
}
/* トップ弁護士紹介ここまで */

/* トップ料金案内 */
.top-fee {
	padding-block: 60px;
	width: 100%;
}

.top-fee__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
}

.top-fee__group {
	border: 2px solid var(--maincolor);
	border-radius: 20px;
	padding: 20px;
	width: fit-content;
	margin-inline: auto;
	margin-top: 60px;
}

.top-fee__free {
	width: fit-content;
	margin-inline: auto;
	color: var(--maincolor);
}

.top-fee__text {
	margin-top: 20px;
}

.top-fee__text-red {
	color: var(--fontredcolor);
}
/* トップ料金案内ここまで */

/* トップアクセス */
.top-access {
	padding-block: 60px;
	background-image: url("../images/top-access.webp");
	background-repeat: no-repeat;
	background-size: 100%;
	background-attachment: fixed;
	position: relative;
}

.top-access::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.top-access__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

.top-access__heading {
	color: #fff;
}

.top-access__group {
	width: fit-content;
	margin-inline: auto;
	padding: 20px;
	background-color: #ffffff05;
	backdrop-filter: blur(4px);
	border-radius: 20px;
	margin-top: 60px;
}

.top-access__logo-img {
	margin-inline: auto;
	height: 1.5rem;
}

.top-access__table-wrapper {
	margin-top: 20px;
}

.top-access__table {
	margin-inline: auto;
	color: #fff;
	border-spacing: 0 1rem;
}

.top-access__table-title {
	font-weight: 800;
}

.top-access__table-colon {
	padding-inline: 4px;
}

.top-access__table-link {
	color: #fff;
}

.top-access__map {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	border-radius: 20px;
	overflow: hidden;
	border: 2px solid #fff;
	margin-top: 20px;
}

.top-access__map > iframe {
	width: 100%;
	height: 500px;
	display: block;
}

/* トップアクセスここまで */

/* トップお問い合わせ */
.top-contact {
	padding-top: 60px;
	width: 100%;
}

.top-contact__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
}

.top-contact__heading {
	margin-bottom: 60px;
}
/* トップお問い合わせここまで */

/* ページヘッダー */
.page-header {
	width: 100%;
	position: relative;
	height: 250px;
}

.page-header__inner {
	width: 100%;
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
	z-index: 1;
}

.page-header__title {
	padding-left: 100px;
	position: relative;
	z-index: 1;
	color: #fff;
}

.page-header__cover {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: left;
}

.page-header__cover::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: var(--maincolor);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.page-header__about {
	background-image: url("../images/page-header_about.webp");
}

.page-header__service {
	background-image: url("../images/page-header_service.webp");
}

.page-header__lawyer {
	background-image: url("../images/page-header_lawyer.webp");
}

.page-header__fee {
	background-image: url("../images/page-header_fee.webp");
}

.page-header__access {
	background-image: url("../images/page-header_access.webp");
}

.page-header__contact {
	background-image: url("../images/page-header_contact.webp");
}

.page-header__archive {
	background-image: url("../images/page-header_archive.webp");
}

.page-header__blog {
	background-image: url("../images/page-header_blog.webp");
}

.page-header__news {
	background-image: url("../images/page-header_news.webp");
}
/* ページヘッダーここまで */

/* パンくずリスト */
.breadcrumb {
	width: 100%;
	padding-block: 4px;
	border-bottom: 1px solid #e8e8e8;
}

.breadcrumb__inner {
	width: calc(100% - 40px);
	margin-inline: auto;
}

.breadcrumb__list {
	display: flex;
	gap: 1rem;
}

.breadcrumb__link {
	display: flex;
	align-items: center;
}

.breadcrumb__link::after {
	content: "≫";
	font-size: 0.7rem;
	padding-left: 0.5rem;
}
/* パンくずリストここまで */

/* CTA */
.cta {
	width: 100%;
	margin-bottom: 120px;
}

.cta__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
	border: 2px solid var(--maincolor);
	border-radius: 20px;
	padding: 20px;
	display: flex;
	gap: 40px;
	align-items: center;
	justify-content: flex-start;
}

.cta__img {
	border-radius: 12px;
}

.cta__img-wrapper {
	flex-basis: 320px;
}

.cta__right {
	flex: 1;
}

.cta__tel-text {
	text-align: center;
	font-size: 1.5rem;
	font-weight: 800;
}

.cta__tel {
	display: block;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--maincolor);
}

.top-cta__button-link {
	margin-top: 20px;
}
/* CTAここまで */

/* アーカイブ */
.archive__container {
	width: 100%;
	padding-block: 60px 120px;
}

.archive__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
}

.archive__list-wrapper {
	flex-basis: 100%;
}

.archive__list-item {
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid var(--maincolor);
	padding: 12px;
	gap: 20px;
}

.archive__list-item + .archive__list-item {
	margin-top: 60px;
}

.archive__img-wrapper {
	flex-basis: 250px;
}

.archive__img {
	object-fit: cover;
	border-radius: 8px;
}

.archive__list-right {
	flex: 1;
}

.archive__link {
	display: inline-block;
}

.archive__title {
	width: fit-content;
}

.archive__meta {
	border-top: 1px solid var(--maincolor);
}

.archive__excerpt {
	margin-top: 12px;
	min-height: 2rem;
}

.archive__button-link {
	margin-top: 12px;
	margin-inline: auto 0;
}

.nav-links {
	display: flex;
	width: fit-content;
	margin-inline: auto;
	margin-top: 20px;
	gap: 1rem;
}

.page-numbers.current {
	display: flex;
	justify-content: center;
	color: #fff;
	background-color: var(--maincolor);
	width: 25px;
	height: 25px;
	border-radius: 50%;
}
/* アーカイブここまで */

/* サイドバー */
.aside {
	flex-basis: 420px;
}

.aside-search input {
	border: 1px solid #aeaeae;
	border-radius: 8px;
	padding: 4px 8px;
}

.aside__new-arrival-list-item {
	margin-top: 20px;
}

.aside__new-arrival-link {
	display: flex;
	gap: 12px;
}

.aside__new-arrival-img {
	width: 120px;
	border-radius: 4px;
}

.aside__new-arrival-right {
	flex: 1;
}

.aside__new-arrival-category {
	font-weight: bold;
	background-color: var(--accentcolor);
	color: #fff;
	width: fit-content;
	padding: 0 8px;
	font-size: 0.8rem;
	border-radius: 4px;
}

.aside__new-arrival-meta {
	font-size: 0.75rem;
	border-bottom: 1px solid #a0c7cd;
}

.aside__new-arrival-title {
	font-weight: 800;
	font-size: 0.8rem;
}

.aside__group + .aside__group {
	margin-top: 60px;
}

.aside__category-list {
	margin-top: 20px;
}

.aside__date-list {
	margin-top: 20px;
}
/* サイドバーここまで */

/* 投稿記事 */
.single__container {
	width: 100%;
	padding-block: 60px 120px;
}

.single__inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
}

.single__wrapper {
	flex-basis: 100%;
}

.single__meta {
	border-top: 1px solid var(--maincolor);
}

.single__content {
	margin-top: 20px;
}

.single__pagination {
	display: flex;
	gap: 80px;
	margin-top: 120px;
}

.single__pagination-link {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 12px;
	margin-top: 0.5rem;
}

.single__pagination-link:hover {
	opacity: 1;
}

.single__pagination-link:hover .single__cover-img {
	transform: scale(1.05);
}

.single__prev-text {
	display: block;
	width: fit-content;
	margin-left: auto;
}

.single__cover {
	position: relative;
}

.single__cover-img {
	object-fit: cover;
	transition: all 0.3s;
}

.single__cover::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
}

.single__category {
	background-color: #ffffffd1;
	padding: 0 12px;
	border-radius: 8px;
	position: absolute;
	top: 8px;
	left: 8px;
}

.single__link-title {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	background-color: #ffffffd1;
	padding: 4px 8px;
}

/* 投稿記事ここまで */

/* 事務所紹介 */
.about__group:last-of-type {
	padding-bottom: 120px;
}

.about__flex {
	display: flex;
	gap: 40px;
	align-items: center;
	justify-content: center;
	margin-top: 60px;
}

.about__img-wrapper {
	flex-basis: 50%;
}

.about__img {
	border-radius: 20px;
}

.about__table-wrapper {
	margin-top: 60px;
	border-radius: 20px;
	overflow: hidden;
}

.about__table-row {
	background-color: var(--bgblue);
}

.about__table-row:nth-of-type(even) {
	background-color: var(--bggreen);
}

.about__table {
	width: 100%;
	border-spacing: 0;
}

.about__table-title {
	padding-left: 2rem;
	font-weight: 800;
}

.about__table-info {
	padding-block: 12px;
}
/* 事務所紹介ここまで */

/* 取り扱い業務 */
.service__inner {
	width: 100%;
	max-width: none;
}

.service__infomation {
	width: calc(100% - 40px);
}

.service__case {
	width: calc(100% - 40px);
	max-width: 1200px;
	padding-block: 60px;
	margin-inline: auto;
}

.service__case-heading {
	text-align: center;
}

.service__case-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 40px;
	justify-content: flex-start;
	align-items: center;
	margin-top: 60px;
}

.service__case-list-item {
	width: 373px;
	box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	overflow: hidden;
}

.service__case-link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.service__case-title {
	padding-left: 2rem;
}

.service__group:nth-of-type(even) {
	background-color: var(--bgblue);
}

.service__group-inner {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-inline: auto;
}

.service__group:last-of-type {
	padding-bottom: 120px;
}

.service__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.service__title::before {
	content: "";
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-size: 50px;
	display: block;
}

#case-01 .service__title::before {
	background-image: url("../images/case-icon_01.webp");
}
#case-02 .service__title::before {
	background-image: url("../images/case-icon_02.webp");
}
#case-03 .service__title::before {
	background-image: url("../images/case-icon_03.webp");
}
#case-04 .service__title::before {
	background-image: url("../images/case-icon_04.webp");
}
#case-05 .service__title::before {
	background-image: url("../images/case-icon_05.webp");
}
#case-06 .service__title::before {
	background-image: url("../images/case-icon_06.webp");
}
#case-07 .service__title::before {
	background-image: url("../images/case-icon_07.webp");
}
#case-08 .service__title::before {
	background-image: url("../images/case-icon_08.webp");
}
#case-09 .service__title::before {
	background-image: url("../images/case-icon_09.webp");
}
#case-10 .service__title::before {
	background-image: url("../images/case-icon_10.webp");
}
#case-11 .service__title::before {
	background-image: url("../images/case-icon_11.webp");
}
#case-12 .service__title::before {
	background-image: url("../images/case-icon_12.webp");
}
#case-13 .service__title::before {
	background-image: url("../images/case-icon_13.webp");
}
#case-14 .service__title::before {
	background-image: url("../images/case-icon_14.webp");
}

.service__consultation {
	margin-top: 60px;
}

.service__consultation-line {
	width: 100%;
	border-bottom: 2px dotted var(--maincolor);
	border-width: 4px;
	padding-top: 4px;
}

.service__consultation-category {
	margin-top: 40px;
	width: fit-content;
	padding-inline: 4px;
	display: flex;
	align-items: center;
}

.service__consultation-category::before {
	content: "-";
	margin-right: 4px;
}

.service__consultation-category::after {
	content: "-";
	margin-left: 4px;
}

.service__consultation-list {
	margin-top: 20px;
	display: flex;
	gap: 1rem 2rem;
	flex-wrap: wrap;
}

.service__consultation-list-item {
	padding: 4px 12px;
	color: #fff;
	border-radius: 4px;
}

#case-01 .service__consultation-list-item {
	background-color: #cec51b;
}
#case-02 .service__consultation-list-item {
	background-color: #e28d81;
}
#case-03 .service__consultation-list-item {
	background-color: #9fbe61;
}
#case-04 .service__consultation-list-item {
	background-color: #69b2a3;
}
#case-05 .service__consultation-list-item {
	background-color: #469caf;
}
#case-06 .service__consultation-list-item {
	background-color: #d1b956;
}
#case-07 .service__consultation-list-item {
	background-color: #d29960;
}
#case-08 .service__consultation-list-item {
	background-color: #aaa6cd;
}
#case-09 .service__consultation-list-item {
	background-color: #7eb3df;
}
#case-10 .service__consultation-list-item {
	background-color: #b890c0;
}
#case-11 .service__consultation-list-item {
	background-color: #d195b2;
}
#case-12 .service__consultation-list-item {
	background-color: #9da9af;
}
#case-13 .service__consultation-list-item {
	background-color: #658cbd;
}
#case-14 .service__consultation-list-item {
	background-color: #6faa76;
}
/* 取り扱い業務ここまで */

/* 弁護士紹介 */
.lawyer__img-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}

.lawyer__img {
	border-radius: 50%;
}

.lawyer__profile-top {
	width: fit-content;
	margin-inline: auto;
	margin-top: 20px;
}

.lawyer__profile-name {
	width: fit-content;
	margin-inline: auto;
	margin-top: 0.5rem;
}

.lawyer__profile-name > span:first-of-type {
	font-weight: 800;
}

.lawyer__profile-name > span:last-of-type {
	font-weight: 800;
	font-size: 1.5rem;
	margin-left: 0.5rem;
}

.lawyer__lastly {
	margin-bottom: 120px;
	margin-top: 60px;
	width: fit-content;
	margin-inline: auto;
}
/* 弁護士紹介ここまで */

/* 料金案内 */
.fee__subtitle {
	margin-top: 40px;
}

.fee__subtitle-line {
	width: 100%;
	border-bottom: 2px dotted var(--maincolor);
	border-width: 4px;
	padding-top: 4px;
}

.fee__case {
	margin-top: 20px;
}

.fee__text-red {
	color: var(--fontredcolor);
	margin-top: 0;
}

.fee__border {
	margin-top: 40px;
	border: 2px solid var(--maincolor);
	border-radius: 4px;
	padding: 10px 20px;
}

.page-id-16 .top-service {
	padding-bottom: 120px;
}
/* 料金案内ここまで */

/* アクセス */
.access__group:last-of-type {
	padding-bottom: 120px;
}

.access__map {
	margin-top: 20px;
	border-radius: 20px;
	overflow: hidden;
}

.access__map > iframe {
	width: 100%;
}
/* アクセスここまで */

/* お問い合わせ */
.contact__group:last-of-type {
	padding-bottom: 120px;
}

.contact__tel {
	color: var(--maincolor);
	font-size: 2rem;
	font-weight: 800;
	margin-top: 20px;
	display: inline-block;
}

.contact__tel-icon {
	padding-right: 1rem;
}

.contact__form {
	margin-top: 20px;
}

.contact__form-inner {
	border-radius: 20px;
	overflow: hidden;
}

.contact__form-list-item {
	background-color: var(--bgblue);
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 2rem;
}

.contact__form-list-item:nth-of-type(even) {
	background-color: var(--bggreen);
}

.contact__form-title {
	align-self: flex-start;
	flex-basis: 230px;
}

.contact__form-list-item > p {
	flex: 1;
}

.contact__form-title > p {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
}

.contact__required {
	background-color: var(--fontredcolor);
	color: #fff;
	padding: 0 8px;
	border-radius: 4px;
}

.contact__form-title label {
	font-weight: 800;
}

.contact__form-list-item-check > p > span {
	display: block;
	margin-inline: auto;
	width: fit-content;
}

.contact__form-list-item-check label {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
}

.contact__check {
	width: 20px;
	height: 20px;
	padding: 0;
}

.contact__form-list-item-check label > span {
	flex: 1;
}

.contact__submit {
	width: fit-content;
	display: block;
	margin-inline: auto;
	background-color: var(--maincolor);
	color: #fff;
	border: none;
	padding: 10px 20px;
	transition: all 0.3s;
}

.contact__submit[disabled] {
	background-color: #fff;
	color: #aaa;
	border: 1px solid #aaa;
}

.wpcf7-spinner {
	display: block;
	margin-inline: auto;
	margin-top: 12px;
}
/* お問い合わせここまで */

/* トップへ戻るボタン */
.top-btn {
	position: fixed;
	bottom: 30px;
	right: 40px;
	background-color: var(--accentcolor);
	padding: 10px 16px;
	border: 1px solid #fff;
	border-radius: 50%;
	z-index: 100;
}

.top-btn__icon {
	color: #fff;
}
/* トップへ戻るボタンここまで */

/* フッター */
.footer {
	width: 100%;
	background-color: var(--maincolor);
}

.footer-widget {
	width: calc(100% - 40px);
	margin-inline: auto;
}

.footer-widget__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-evenly;
	padding-block: 40px;
	max-width: 1200px;
	margin-inline: auto;
	gap: 200px;
}

.footer-widget__menu-list-item + .footer-widget__menu-list-item {
	padding-top: 1rem;
}

.footer-widget__menu-link {
	color: #fff;
}

.footer-widget__blog {
	flex: 1;
}

.footer-widget__blog-heading {
	line-height: 1;
	padding-bottom: 2rem;
	color: #fff;
}

.footer-widget__blog-list-item + .footer-widget__blog-list-item {
	padding-top: 1rem;
}

.footer-widget__blog-link {
	color: #fff;
}

.footer-widget__blog-meta {
	padding-left: 1rem;
}

.footer-widget__blog-title {
	padding-left: 1rem;
}

.footer-widget__blog-heading {
	line-height: 1;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	color: #fff;
	border-bottom: 1px dashed #fff;
}

.footer__copyright {
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #fff;
}

.footer__copyright-text {
	color: #fff;
}

.footer-widget__blog-empty {
	color: #fff;
	padding-left: 1rem;
}
/* フッターここまで */

/* ======================================================================== */

/* 画面幅 1440px以下 */
@media screen and (max-width: 1440px) {
	/* ヘッダー */
	.header__nav {
		display: none;
	}
	/* ヘッダーここまで */

	/* スクロール時のヘッダー */
	.scroll-nav {
		display: none;
	}
	/* スクロール時のヘッダーここまで */

	/* ハンバーガーメニュー */
	.hamburger-button {
		display: block;
	}
	/* ハンバーガーメニューここまで */

	/* トップメインビジュアル */
	/* トップメインビジュアルここまで */

	/* トップお知らせ */
	/* トップお知らせここまで */

	/* トップ事務所紹介 */
	/* トップ事務所紹介ここまで */

	/* トップ取り扱い業務 */
	.top-service__list {
		max-width: 1000px;
		justify-content: center;
		margin-top: 60px;
		margin-inline: auto;
	}
	/* トップ取り扱い業務ここまで */

	/* トップ弁護士紹介 */
	/* トップ弁護士紹介ここまで */

	/* トップ料金案内 */
	/* トップ料金案内ここまで */

	/* トップアクセス */
	.top-access {
		background-size: 100% 100%;
	}
	/* トップアクセスここまで */

	/* トップお問い合わせ */
	/* トップお問い合わせここまで */

	/* ページヘッダー */
	/* ページヘッダーここまで */

	/* パンくずリスト */
	/* パンくずリストここまで */

	/* CTA */
	.top-cta__button-link {
		width: 75%;
	}
	/* CTAここまで */

	/* アーカイブ */
	/* アーカイブここまで */

	/* サイドバー */
	/* サイドバーここまで */

	/* 投稿記事 */
	/* 投稿記事ここまで */

	/* 事務所紹介 */
	/* 事務所紹介ここまで */

	/* 取り扱い業務 */
	.service__case-list {
		max-width: 1000px;
		justify-content: center;
		margin-inline: auto;
	}
	/* 取り扱い業務ここまで */

	/* 弁護士紹介 */
	/* 弁護士紹介ここまで */

	/* 料金案内 */
	/* 料金案内ここまで */

	/* アクセス */
	/* アクセスここまで */

	/* お問い合わせ */
	/* お問い合わせここまで */

	/* トップへ戻るボタン */
	/* トップへ戻るボタンここまで */

	/* フッター */
	/* フッターここまで */
}
/* 画面幅 1440px以下ここまで */

/* ======================================================================== */

/* 画面幅 1024px以下 */
@media screen and (max-width: 1024px) {
	/* ヘッダー */
	/* ヘッダーここまで */

	/* スクロール時のヘッダー */
	/* スクロール時のヘッダーここまで */

	/* ハンバーガーメニュー */
	/* ハンバーガーメニューここまで */

	/* トップメインビジュアル */
	.mainvisual__slider-text {
		font-size: 1.5rem;
	}
	/* トップメインビジュアルここまで */

	/* トップお知らせ */
	.news {
		width: 75%;
	}
	/* トップお知らせここまで */

	/* トップ事務所紹介 */
	.top-about {
		height: 753px;
		margin-top: -80px;
		padding-block: 90px;
	}
	/* トップ事務所紹介ここまで */

	/* トップ取り扱い業務 */
	.top-service__list-item {
		width: 280px;
	}
	/* トップ取り扱い業務ここまで */

	/* トップ弁護士紹介 */
	/* トップ弁護士紹介ここまで */

	/* トップ料金案内 */
	/* トップ料金案内ここまで */

	/* トップアクセス */
	/* トップアクセスここまで */

	/* トップお問い合わせ */
	/* トップお問い合わせここまで */

	/* ページヘッダー */
	/* ページヘッダーここまで */

	/* パンくずリスト */
	/* パンくずリストここまで */

	/* CTA */
	.cta__img-wrapper {
		flex-basis: auto;
	}

	.cta__tel-text {
		font-size: 1.1rem;
	}

	.cta__tel {
		font-size: 2rem;
	}

	.top-cta__button-link {
		width: 100%;
		font-size: 1rem;
	}
	/* CTAここまで */

	/* アーカイブ */
	.archive__inner {
		flex-direction: column;
		gap: 120px;
	}
	/* アーカイブここまで */

	/* サイドバー */
	.aside {
		width: 100%;
	}
	/* サイドバーここまで */

	/* 投稿記事 */
	.single__inner {
		flex-direction: column;
		gap: 120px;
	}
	/* 投稿記事ここまで */

	/* 事務所紹介 */
	/* 事務所紹介ここまで */

	/* 取り扱い業務 */
	.service__case-list-item {
		width: 280px;
	}
	/* 取り扱い業務ここまで */

	/* 弁護士紹介 */
	/* 弁護士紹介ここまで */

	/* 料金案内 */
	/* 料金案内ここまで */

	/* アクセス */
	/* アクセスここまで */

	/* お問い合わせ */
	/* お問い合わせここまで */

	/* トップへ戻るボタン */
	/* トップへ戻るボタンここまで */

	/* フッター */
	/* フッターここまで */
}
/* 画面幅 1024px以下ここまで */

/* ======================================================================== */

/* 画面幅 767px以下 */
@media screen and (max-width: 767px) {
	/* ヘッダー */
	.header__logo-img {
		max-height: 35px;
	}
	/* ヘッダーここまで */

	/* スクロール時のヘッダー */
	/* スクロール時のヘッダーここまで */

	/* ハンバーガーメニュー */
	/* ハンバーガーメニューここまで */

	/* トップメインビジュアル */
	.swiper-slide.mainvisual__slider-item {
		max-height: 600px;
	}

	.mainvisual__slider-text {
		font-size: 2rem;
	}
	/* トップメインビジュアルここまで */

	/* トップお知らせ */
	.news {
		width: 90%;
	}

	.news__inner {
		padding-inline: 24px 10px;
	}
	/* トップお知らせここまで */

	/* トップ事務所紹介 */
	.top-about {
		height: 700px;
	}

	.top-about__inner {
		width: calc(100% - 20px);
	}

	.top-about__group {
		margin-top: 45px;
	}

	.top-about__group-text {
		margin-top: 15px;
	}
	/* トップ事務所紹介ここまで */

	/* トップ取り扱い業務 */
	.top-service {
		padding-block: 45px;
	}

	.top-service__inner {
		width: calc(100% - 20px);
	}

	.top-service__list {
		margin-top: 45px;
		gap: 20px;
	}

	.top-service__list-item {
		width: 212px;
	}

	.top-service__img {
		width: 40px;
		height: 40px;
	}

	.top-service__title {
		font-size: 0.95rem;
		padding-left: 0.5rem;
	}
	/* トップ取り扱い業務ここまで */

	/* トップ弁護士紹介 */
	.top-lawyer {
		padding-block: 45px;
	}

	.top-lawyer__inner {
		width: calc(100% - 20px);
	}

	.top-lawyer__concept {
		margin-top: 45px;
		font-size: 1.25rem;
	}

	.top-lawyer__img-wrapper {
		margin-top: 15px;
	}

	.top-lawyer__profile {
		margin-top: 15px;
	}
	/* トップ弁護士紹介ここまで */

	/* トップ料金案内 */
	.top-fee {
		padding-block: 45px;
	}

	.top-fee__inner {
		width: calc(100% - 20px);
	}

	.top-fee__group {
		margin-top: 45px;
	}

	.top-fee__group {
		padding: 20px 10px;
	}

	.top-fee__text {
		margin-top: 15px;
	}
	/* トップ料金案内ここまで */

	/* トップアクセス */
	.top-access {
		padding-block: 45px;
	}

	.top-access__inner {
		width: calc(100% - 20px);
	}

	.top-access__group {
		padding: 20px 10px;
		margin-top: 45px;
	}

	.top-access__table-wrapper {
		margin-top: 15px;
	}

	.top-access__table-title {
		width: 68px;
	}

	.top-access__map {
		margin-top: 15px;
	}
	/* トップアクセスここまで */

	/* トップお問い合わせ */
	.top-contact {
		padding-top: 45px;
	}

	.top-contact__inner {
		width: calc(100% - 20px);
	}

	.top-contact__heading {
		margin-bottom: 45px;
	}
	/* トップお問い合わせここまで */

	/* ページヘッダー */
	.page-header {
		height: 180px;
	}

	.page-header__title {
		padding-left: 40px;
	}

	.page-header__cover {
		background-position: 28%;
	}
	/* ページヘッダーここまで */

	/* パンくずリスト */
	/* パンくずリストここまで */

	/* CTA */
	.cta {
		margin-bottom: 90px;
	}

	.cta__inner {
		width: calc(100% - 20px);
		flex-direction: column;
		padding: 10px;
		gap: 30px;
	}

	.cta__right {
		width: 100%;
	}

	.top-cta__button-link {
		margin-top: 15px;
	}
	/* CTAここまで */

	/* アーカイブ */
	.archive__container {
		padding-block: 45px 90px;
	}

	.archive__inner {
		width: calc(100% - 20px);
		gap: 90px;
	}

	.archive__list-item {
		flex-direction: column;
		gap: 15px;
	}

	.archive__list-item + .archive__list-item {
		margin-top: 45px;
	}

	.archive__img-wrapper {
		max-width: 300px;
		flex-basis: auto;
	}

	.archive__meta {
		border-top: 1px solid #c6eff5;
	}

	.archive__list-right {
		width: 100%;
	}

	.archive__button-link {
		margin-inline: auto;
	}
	/* アーカイブここまで */

	/* サイドバー */
	.aside__group + .aside__group {
		margin-top: 45px;
	}

	.aside__category-list {
		margin-top: 15px;
	}

	.aside__date-list {
		margin-top: 15px;
	}
	/* サイドバーここまで */

	/* 投稿記事 */
	.single__container {
		padding-block: 45px 90px;
	}

	.single__inner {
		width: calc(100% - 20px);
		gap: 90px;
	}

	.single__pagination {
		gap: 20px;
	}
	/* 投稿記事ここまで */

	/* 事務所紹介 */
	.about__flex {
		flex-direction: column;
		gap: 30px;
		margin-top: 45px;
	}

	.about__table-wrapper {
		margin-top: 45px;
		border-radius: 20px;
		overflow: hidden;
	}

	.about__table-title {
		width: 100px;
		padding-left: 1rem;
	}

	.about__group:last-of-type {
		padding-bottom: 90px;
	}
	/* 事務所紹介ここまで */

	/* 取り扱い業務 */
	.service__case {
		width: calc(100% - 20px);
		padding-block: 45px;
	}

	.service__infomation {
		width: calc(100% - 20px);
	}

	.service__case-list {
		margin-top: 45px;
		gap: 20px;
	}

	.service__case-list-item {
		width: 212px;
	}

	.service__case-img {
		width: 40px;
		height: 40px;
	}

	.service__case-title {
		font-size: 0.95rem;
		padding-left: 0.5rem;
	}

	.service__group-inner {
		width: calc(100% - 20px);
	}

	.service__consultation {
		margin-top: 45px;
	}

	.service__consultation-list {
		margin-top: 15px;
		gap: 0.5rem 1rem;
	}

	.service__consultation-category {
		margin-top: 30px;
	}

	.service__group:last-of-type {
		padding-bottom: 90px;
	}
	/* 取り扱い業務ここまで */

	/* 弁護士紹介 */
	.lawyer__img-wrapper {
		margin-top: 45px;
	}

	.lawyer__profile-top {
		margin-top: 15px;
	}

	.lawyer__lastly {
		margin-bottom: 90px;
		margin-top: 45px;
	}
	/* 弁護士紹介ここまで */

	/* 料金案内 */
	.fee__subtitle {
		margin-top: 30px;
	}

	.fee__case {
		margin-top: 15px;
	}

	.fee__border {
		margin-top: 30px;
	}

	.page-id-16 .top-service {
		padding-bottom: 90px;
	}
	/* 料金案内ここまで */

	/* アクセス */
	.access__map {
		margin-top: 15px;
	}

	.access__group:last-of-type {
		padding-bottom: 90px;
	}
	/* アクセスここまで */

	/* お問い合わせ */
	.contact__group:last-of-type {
		padding-bottom: 90px;
	}

	.contact__tel {
		margin-top: 15px;
	}

	.contact__form {
		margin-top: 15px;
	}

	.contact__form-list-item {
		flex-direction: column;
		gap: 1rem;
	}

	.contact__form-title {
		flex-basis: auto;
	}

	.contact__form-list-item > p {
		width: 100%;
	}
	/* お問い合わせここまで */

	/* トップへ戻るボタン */
	/* トップへ戻るボタンここまで */

	/* フッター */
	.footer-widget {
		width: calc(100% - 20px);
	}

	.footer-widget__inner {
		flex-direction: column-reverse;
		gap: 40px;
	}

	.footer-widget__menu {
		width: 100%;
		border-top: 1px solid #fff;
		padding-top: 40px;
	}

	.footer-widget__blog {
		width: 100%;
	}
	/* フッターここまで */
}
/* 画面幅 767px以下ここまで */

/* ======================================================================== */

/* 画面幅 480px以下 */
@media screen and (max-width: 480px) {
	/* ヘッダー */
	.header__inner {
		height: 60px;
	}

	.header__logo-img {
		max-height: 24px;
	}
	/* ヘッダーここまで */

	/* スクロール時のヘッダー */
	/* スクロール時のヘッダーここまで */

	/* ハンバーガーメニュー */
	.hamburger-button {
		padding: 8px 6px;
		width: 30px;
		height: 30px;
	}

	.active .hamburger-button-line-01 {
		left: 2px;
		top: -1px;
	}

	.active .hamburger-button-line-03 {
		left: 2px;
		bottom: -1px;
	}
	/* ハンバーガーメニューここまで */

	/* トップメインビジュアル */
	.mainvisual__slider-text {
		font-size: 1.15rem;
	}
	/* トップメインビジュアルここまで */

	/* トップお知らせ */
	.news {
		width: 100%;
	}
	/* トップお知らせここまで */

	/* トップ事務所紹介 */
	.top-about {
		height: 590px;
		background-size: auto 590px;
	}

	.top-about__group {
		margin-top: 30px;
	}

	.top-about__group-text {
		margin-top: 10px;
	}
	/* トップ事務所紹介ここまで */

	/* トップ取り扱い業務 */
	.top-service {
		padding-block: 30px;
	}

	.top-service__list {
		margin-top: 30px;
		gap: 10px;
	}
	/* トップ取り扱い業務ここまで */

	/* トップ弁護士紹介 */
	.top-lawyer {
		padding-block: 30px;
		border-radius: 60px 60px 0 0;
	}

	.top-lawyer__concept {
		margin-top: 30px;
		font-size: 1rem;
	}

	.top-lawyer__img-wrapper {
		margin-top: 10px;
	}

	.top-lawyer__profile {
		margin-top: 10px;
	}
	/* トップ弁護士紹介ここまで */

	/* トップ料金案内 */
	.top-fee {
		padding-block: 30px;
	}

	.top-fee__group {
		margin-top: 30px;
	}

	.top-fee__text {
		margin-top: 10px;
	}
	/* トップ料金案内ここまで */

	/* トップアクセス */
	.top-access {
		padding-block: 30px;
	}

	.top-access__group {
		margin-top: 30px;
	}

	.top-access__table-info {
		font-size: 0.9rem;
	}

	.top-access__map > iframe {
		height: 300px;
	}
	/* トップアクセスここまで */

	/* トップお問い合わせ */
	.top-contact {
		padding-top: 30px;
	}

	.top-contact__heading {
		margin-bottom: 30px;
	}
	/* トップお問い合わせここまで */

	/* ページヘッダー */
	.page-header__cover {
		background-position: 20%;
	}
	/* ページヘッダーここまで */

	/* パンくずリスト */
	.breadcrumb__list {
		font-size: 0.8rem;
	}
	/* パンくずリストここまで */

	/* CTA */
	.cta {
		margin-bottom: 60px;
	}

	.cta__inner {
		gap: 20px;
	}

	.top-cta__button-link {
		margin-top: 10px;
	}

	.top-cta__button-link {
		margin-top: 10px;
		font-size: 0.75rem;
	}
	/* CTAここまで */

	/* アーカイブ */
	/* アーカイブここまで */

	/* サイドバー */
	.aside__group + .aside__group {
		margin-top: 30px;
	}
	/* サイドバーここまで */

	/* 投稿記事 */
	.archive__container {
		padding-block: 30px 60px;
	}

	.archive__list-item {
		flex-direction: column;
		gap: 10px;
	}

	.archive__list-item + .archive__list-item {
		margin-top: 30px;
	}
	/* 投稿記事ここまで */

	/* 事務所紹介 */
	.about__flex {
		gap: 20px;
		margin-top: 30px;
	}

	.about__table-wrapper {
		margin-top: 30px;
	}

	.about__table-info {
		font-size: 0.9rem;
	}

	.about__group:last-of-type {
		padding-bottom: 60px;
	}
	/* 事務所紹介ここまで */

	/* 取り扱い業務 */
	.service__case {
		padding-block: 30px;
	}

	.service__case-list {
		margin-top: 30px;
		gap: 10px;
	}

	.service__consultation {
		margin-top: 30px;
	}

	.service__consultation-list {
		margin-top: 10px;
		gap: 0.5rem 1rem;
	}

	.service__consultation-category {
		margin-top: 20px;
	}

	.service__group:last-of-type {
		padding-bottom: 60px;
	}
	/* 取り扱い業務ここまで */

	/* 弁護士紹介 */
	.lawyer__img-wrapper {
		margin-top: 30px;
	}

	.lawyer__profile-top {
		margin-top: 10px;
	}

	.lawyer__lastly {
		margin-bottom: 60px;
		margin-top: 30px;
	}
	/* 弁護士紹介ここまで */

	/* 料金案内 */
	.fee__subtitle {
		margin-top: 20px;
	}

	.fee__case {
		margin-top: 10px;
	}

	.fee__border {
		margin-top: 20px;
	}

	.page-id-16 .top-service {
		padding-bottom: 60px;
	}
	/* 料金案内ここまで */

	/* アクセス */
	.access__map {
		margin-top: 10px;
	}

	.access__group:last-of-type {
		padding-bottom: 60px;
	}

	.access__map > iframe {
		height: 300px;
	}
	/* アクセスここまで */

	/* お問い合わせ */
	/* お問い合わせここまで */

	/* トップへ戻るボタン */
	.top-btn {
		bottom: 20px;
		right: 20px;
	}
	/* トップへ戻るボタンここまで */

	/* フッター */
	.footer-widget__inner {
		padding-block: 30px;
		gap: 30px;
	}

	.footer-widget__blog-list-item + .footer-widget__blog-list-item {
		padding-top: 0.75rem;
	}

	.footer-widget__menu-list-item + .footer-widget__menu-list-item {
		padding-top: 0.75rem;
	}

	.footer-widget__blog-meta {
		padding-left: 0.5rem;
		font-size: 0.8rem;
	}
	/* フッターここまで */
}
/* 画面幅 480px以下ここまで */
