@charset "UTF-8";
/*
 * 税理士紹介ドットコム リニューアル案 style.css
 *
 * 1. Draft bar
 * 2. Header
 * 3. Main visual
 * 4. Purpose
 * 5. Area
 * 6. Service
 * 7. Industry
 * 8. Cost
 * 9. Lists
 * 10. News
 * 11. Step
 * 12. About
 * 13. Page head
 * 14. Area page
 * 15. Industry page
 * 16. Purpose page
 * 17. Cost page
 * 18. Blog page
 * 19. Article
 * 20. A8
 * 21. Go（事務所サイトへの中間ページ）
 * 22. Footer
 */

/* Draft bar
----------------------------------------------------------- */
.draft_bar {
	padding: 6px 16px;
	background: var(--c-navy);
	font-size: 12px;
	text-align: center;
	color: var(--c-white);
}

/* Header
----------------------------------------------------------- */
.header_area {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--c-line);
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(12px);
}

.header_area .in {
	display: flex;
	align-items: center;
	gap: 32px;
	height: 84px;
}

.header_area .logo {
	flex-shrink: 0;
	width: 252px;
}

.gnav {
	align-self: stretch;
	margin-left: auto;
}

.gnav > ul {
	display: flex;
	gap: 28px;
	height: 100%;
}

/* li を header の高さいっぱいにして、項目からパネルへマウスを下ろしても閉じないようにする */
.gnav > ul > li {
	display: flex;
	align-items: center;
}

.gnav > ul > li > a {
	position: relative;
	padding: 6px 0;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 500;
	color: var(--c-navy);
	transition: color .2s;
}

.gnav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--c-main);
	transform: scaleX(0);
	transition: transform .25s;
}

.gnav > ul > li > a:hover,
.gnav > ul > li > a.current,
.gnav .has_mega:hover > a {
	color: var(--c-main-dk);
}

.gnav > ul > li > a:hover::after,
.gnav > ul > li > a.current::after,
.gnav .has_mega:hover > a::after {
	transform: scaleX(1);
}

/* カバーメニュー（header 全幅のパネル） */
.mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	visibility: hidden;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	background: var(--c-white);
	box-shadow: 0 24px 40px rgba(29, 51, 70, .06);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .2s .1s, transform .2s .1s, visibility 0s .3s;
}

.gnav .has_mega:hover > .mega,
.gnav .has_mega:focus-within > .mega {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity .2s .08s, transform .2s .08s, visibility 0s .08s;
}

.mega_in {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 60px;
	max-width: calc(var(--w-in) + 48px);
	margin: 0 auto;
	padding: 44px 24px 48px;
}

.mega_lead .ph {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
}

.mega_lead .ph img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mega_lead .en {
	margin-top: 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 3px;
	color: var(--c-main-dk);
}

.mega_lead .h {
	margin-top: 6px;
	font-size: 20px;
	font-weight: 900;
	color: var(--c-navy);
}

.mega_lead .t {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--c-sub);
}

.mega_lead .go {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--c-navy);
}

.mega_lead .go .arw {
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--c-main);
	color: var(--c-white);
	transition: transform .2s;
}

.mega_lead .go .arw::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 45%;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}

.mega_lead .go:hover .arw {
	transform: translateX(4px);
}

.mega_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-content: start;
	column-gap: 36px;
}

.mega_list li {
	border-bottom: 1px solid var(--c-line);
}

.mega_list li:nth-child(-n+2) {
	border-top: 1px solid var(--c-line);
}

.mega_list a {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 4px;
	transition: background .2s;
}

.mega_list a::after {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-top: 2px solid var(--c-main);
	border-right: 2px solid var(--c-main);
	transform: rotate(45deg);
	transition: transform .2s;
}

.mega_list a:hover {
	background: #f7fbfc;
}

.mega_list a:hover::after {
	transform: translateX(3px) rotate(45deg);
}

.mega_list .ic {
	width: 44px;
	height: 44px;
	border-radius: 10px;
}

.mega_list .t b {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.mega_list .t small {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1px;
	color: var(--c-sub);
}

.head_cta {
	flex-shrink: 0;
	padding: 12px 20px;
	font-size: 14px;
}

.menu_btn {
	display: none;
}

/* スマホ・タブレットのメニュー（右から出るパネル） */
.drawer {
	position: fixed;
	inset: 0;
	z-index: 120;
	visibility: hidden;
	transition: visibility 0s .35s;
}

.drawer_open .drawer {
	visibility: visible;
	transition: none;
}

.drawer_bg {
	position: absolute;
	inset: 0;
	background: rgba(29, 51, 70, .4);
	opacity: 0;
	transition: opacity .3s;
}

.drawer_open .drawer_bg {
	opacity: 1;
}

.drawer_panel {
	position: absolute;
	top: 0;
	right: 0;
	overflow-y: auto;
	width: min(420px, 100%);
	height: 100%;
	box-shadow: -10px 0 30px rgba(29, 51, 70, .1);
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.drawer_open .drawer_panel {
	transform: none;
}

.drawer_panel .in {
	padding: 0 20px 32px;
}

.drawer_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
}

.drawer_head .logo {
	width: 170px;
}

.drawer_close {
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--c-white);
	cursor: pointer;
}

.drawer_close::before,
.drawer_close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: var(--c-navy);
}

.drawer_close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.drawer_close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.drawer_nav {
	display: grid;
	gap: 8px;
	margin-top: 8px;
}

.drawer_nav a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--c-white);
}

.drawer_nav a::after {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-top: 2px solid var(--c-main);
	border-right: 2px solid var(--c-main);
	transform: rotate(45deg);
}

.drawer_nav a.current {
	box-shadow: inset 0 0 0 1.5px var(--c-main);
}

.drawer_nav .ic {
	width: 42px;
	height: 42px;
	border-radius: 12px;
}

.drawer_nav .t b {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.drawer_nav .t small {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--c-main-dk);
}

.drawer_ttl {
	margin-top: 22px;
	font-size: 13px;
	font-weight: 700;
	color: var(--c-navy);
}

.drawer_chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.drawer_chips a {
	display: block;
	padding: 6px 14px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--c-white);
	font-size: 13px;
	font-weight: 500;
}

.drawer_cta {
	margin-top: 26px;
}

.drawer_cta .btn {
	width: 100%;
	margin-top: 8px;
}

@media screen and ( max-width:1200px ) {
	.gnav {
		display: none;
	}

	.head_cta {
		margin-left: auto;
	}

	.menu_btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		flex-shrink: 0;
		width: 48px;
		height: 48px;
		padding: 0;
		border: 0;
		border-radius: 14px;
		background: var(--c-main-lt);
		cursor: pointer;
	}

	.menu_btn .bars {
		display: grid;
		justify-items: end;
		gap: 5px;
	}

	.menu_btn .bars i {
		display: block;
		width: 20px;
		height: 2px;
		border-radius: 2px;
		background: var(--c-navy);
	}

	.menu_btn .bars i + i {
		width: 13px;
	}

	.menu_btn .t {
		font-family: "Outfit", var(--font);
		font-size: 9px;
		font-weight: 800;
		letter-spacing: 1px;
		color: var(--c-main-dk);
	}
}

@media screen and ( max-width:760px ) {
	.header_area .in {
		gap: 10px;
		height: 64px;
	}

	.header_area .logo {
		width: min(170px, 42vw);
	}

	.head_cta {
		padding: 9px 12px;
		font-size: 12px;
	}

	.menu_btn {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}
}

/* Main visual
----------------------------------------------------------- */
.mv_area {
	position: relative;
	overflow: hidden;
	padding: 96px 0 140px;
}

.mv_blob.b1 {
	left: -260px;
	bottom: 60px;
	width: 600px;
	height: 500px;
	background: rgba(255, 255, 255, .75);
}

.mv_blob.b2 {
	top: 40px;
	left: 34%;
	width: 420px;
	height: 360px;
	background: rgba(26, 154, 171, .07);
}

.mv_wm {
	bottom: 70px;
	z-index: 1;
	padding-left: 40px;
}

.mv_photo {
	position: absolute;
	z-index: 1;
	top: 48px;
	right: 0;
	bottom: 120px;
	width: 56%;
}

.mv_photo img {
	width: 100%;
	height: 100%;
	border-radius: 56px 0 0 56px;
	box-shadow: var(--sh-card);
	object-fit: cover;
	object-position: 65% 50%;
}

.mv_area .in {
	position: relative;
	z-index: 3;
}

.mv_txt {
	max-width: 580px;
}

.mv_sub {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	padding: 7px 16px;
	border-radius: 999px;
	background: var(--c-white);
	box-shadow: 0 4px 12px rgba(17, 123, 138, .08);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--c-main-dk);
}

.mv_sub::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c-cta);
	box-shadow: 0 0 0 4px rgba(244, 122, 51, .2);
}

.mv_txt h1 {
	font-size: 46px;
	font-weight: 900;
	line-height: 1.42;
	letter-spacing: 1px;
	color: var(--c-navy);
}

.mv_txt h1 .mk {
	font-style: normal;
	color: var(--c-main-dk);
}

.mv_lead {
	margin-top: 22px;
	font-size: 16px;
	line-height: 1.9;
	color: var(--c-text);
}

.search_box {
	max-width: 780px;
	margin-top: 36px;
	padding: 24px 26px 20px;
	border: 1px solid rgba(255, 255, 255, .95);
	border-radius: 22px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 16px 40px rgba(29, 51, 70, .08);
	backdrop-filter: blur(16px);
}

.search_ttl {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.search_ttl .ic {
	width: 30px;
	height: 30px;
	border-radius: 50%;
}

.search_row {
	display: flex;
	align-items: flex-end;
	gap: 14px;
}

.search_item {
	flex: 1;
}

.search_item .lbl {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--c-sub);
}

.search_item .sel {
	position: relative;
	display: block;
}

.search_item .sel .ic {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	transform: translateY(-50%);
	pointer-events: none;
}

.search_item .sel::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--c-main-dk);
	border-bottom: 2px solid var(--c-main-dk);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

.search_item select {
	width: 100%;
	height: 56px;
	padding: 0 40px 0 54px;
	border: 1.5px solid var(--c-line);
	border-radius: 14px;
	background: var(--c-white);
	font-size: 15px;
	color: var(--c-text);
	appearance: none;
	cursor: pointer;
	transition: border-color .2s, box-shadow .2s;
}

.search_item select:hover,
.search_item select:focus {
	border-color: var(--c-main);
	box-shadow: 0 0 0 4px rgba(26, 154, 171, .12);
	outline: none;
}

.search_btn {
	height: 56px;
	padding: 0 18px 0 26px;
	border-radius: 14px;
	cursor: pointer;
}

.search_tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}

.search_tags .t {
	margin-right: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--c-sub);
}

.search_tags a {
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--c-main-lt);
	font-size: 12px;
	font-weight: 500;
	color: var(--c-main-dk);
	transition: background .2s, color .2s;
}

.search_tags a:hover {
	background: var(--c-main);
	color: var(--c-white);
}

.mv_num {
	display: grid;
	grid-template-columns: repeat(3, max-content);
	gap: 14px;
	margin-top: 30px;
}

.mv_num li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 22px 14px 14px;
	border-radius: 18px;
	background: var(--c-white);
	box-shadow: var(--sh-card);
}

.mv_num li:nth-child(2) {
	transition-delay: .12s;
}

.mv_num li:nth-child(3) {
	transition-delay: .24s;
}

.mv_num .ic {
	width: 46px;
	height: 46px;
	border-radius: 14px;
}

.mv_num b {
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	color: var(--c-main-dk);
}

.mv_num small {
	margin-left: 3px;
	font-size: 13px;
	font-weight: 700;
	color: var(--c-navy);
}

.mv_num span {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--c-sub);
}

.mv_wave {
	position: absolute;
	left: 0;
	bottom: -1px;
	z-index: 2;
	width: 100%;
	height: 80px;
	fill: var(--c-white);
}

@media screen and ( max-width:960px ) {
	.mv_num {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.mv_area {
		padding: 0 0 80px;
	}

	.mv_photo {
		position: relative;
		top: auto;
		bottom: auto;
		width: 100%;
		height: 250px;
	}

	.mv_photo img {
		border-radius: 0 0 32px 32px;
	}

	/* 写真の下端に少し重ねる */
	.mv_txt {
		position: relative;
		margin-top: -26px;
	}

	.mv_sub {
		margin-bottom: 14px;
		font-size: 12px;
	}

	.mv_txt h1 {
		font-size: 28px;
	}

	.mv_lead {
		margin-top: 14px;
		font-size: 14px;
	}

	.search_box {
		margin-top: 26px;
		padding: 18px 16px 16px;
		border-radius: 18px;
	}

	.search_row {
		flex-direction: column;
		align-items: stretch;
	}

	.mv_num {
		gap: 8px;
		margin-top: 22px;
	}

	.mv_num li {
		flex-direction: column;
		gap: 2px;
		padding: 12px 6px;
		border-radius: 14px;
		text-align: center;
	}

	.mv_num .ic {
		display: none;
	}

	.mv_num b {
		font-size: 24px;
	}

	.mv_num span {
		font-size: 10px;
	}

	.mv_wave {
		height: 40px;
	}
}

/* Purpose
----------------------------------------------------------- */
.purpose_area {
	position: relative;
	overflow: hidden;
}

.purpose_area > .in {
	position: relative;
	z-index: 1;
}

.purpose_blob {
	top: 40px;
	right: -220px;
	width: 540px;
	height: 460px;
	opacity: .7;
}

.purpose_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.purpose_list li:nth-child(3n+2) {
	transition-delay: .1s;
}

.purpose_list li:nth-child(3n) {
	transition-delay: .2s;
}

.purpose_list a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	height: 100%;
	padding: 24px 20px 24px 22px;
	border: 1px solid var(--c-line);
	border-radius: 20px;
	background: linear-gradient(180deg, #fff 0%, #fafdfd 100%);
	transition: border-color .25s, box-shadow .25s, transform .25s;
}

.purpose_list a::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 24px;
	right: 24px;
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: var(--g-cta);
	transform: scaleX(0);
	transition: transform .3s;
}

.purpose_list a:hover {
	border-color: transparent;
	box-shadow: var(--sh-card);
	transform: translateY(-4px);
}

.purpose_list a:hover::before {
	transform: scaleX(1);
}

.purpose_list .ic {
	width: 64px;
	height: 64px;
	border-radius: 20px;
	background: var(--g-main);
	box-shadow: 0 6px 14px rgba(17, 123, 138, .14);
	color: var(--c-white);
	transition: transform .3s;
}

.purpose_list a:hover .ic {
	transform: rotate(-6deg) scale(1.05);
}

.purpose_list h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-navy);
}

.purpose_list p {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--c-sub);
}

.purpose_list .go {
	position: relative;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	margin-left: auto;
	border-radius: 50%;
	background: var(--c-main-lt);
	color: var(--c-main-dk);
	transition: background .25s, color .25s;
}

.purpose_list .go::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 44%;
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}

.purpose_list a:hover .go {
	background: var(--c-cta);
	color: var(--c-white);
}

@media screen and ( max-width:960px ) {
	.purpose_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.purpose_list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.purpose_list li:nth-child(n) {
		transition-delay: 0s;
	}

	.purpose_list a {
		gap: 14px;
		padding: 16px 14px 16px 16px;
		border-radius: 16px;
	}

	.purpose_list .ic {
		width: 52px;
		height: 52px;
		border-radius: 16px;
	}

	.purpose_list h3 {
		font-size: 16px;
	}
}

/* Area
----------------------------------------------------------- */
.area_blob {
	left: -240px;
	bottom: 40px;
	width: 520px;
	height: 440px;
	background: rgba(255, 255, 255, .7);
}

.area_tiles {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.area_tiles li:nth-child(5n+2) {
	transition-delay: .06s;
}

.area_tiles li:nth-child(5n+3) {
	transition-delay: .12s;
}

.area_tiles li:nth-child(5n+4) {
	transition-delay: .18s;
}

.area_tiles li:nth-child(5n) {
	transition-delay: .24s;
}

.area_tiles a {
	position: relative;
	overflow: hidden;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 20px;
	box-shadow: var(--sh-card);
	color: var(--c-white);
	transition: transform .3s, box-shadow .3s;
}

.area_tiles a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 40, 55, 0) 35%, rgba(15, 40, 55, .78) 100%);
}

.area_tiles img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s;
}

.area_tiles a:hover {
	box-shadow: var(--sh-hover);
	transform: translateY(-4px);
}

.area_tiles a:hover img {
	transform: scale(1.08);
}

.area_tiles .rg {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	font-size: 11px;
	font-weight: 700;
	color: var(--c-main-dk);
}

.area_tiles b {
	position: absolute;
	left: 16px;
	bottom: 38px;
	z-index: 1;
	font-size: 26px;
	font-weight: 900;
	letter-spacing: 2px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

.area_tiles .n {
	position: absolute;
	left: 16px;
	bottom: 14px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 500;
}

.area_tiles .n::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}

.area_note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 10px;
	margin-top: 28px;
	font-size: 14px;
	color: var(--c-sub);
}

.area_note .ic {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--c-white);
}

.area_note a {
	text-decoration: underline;
	color: var(--c-main-dk);
}

@media screen and ( max-width:960px ) {
	.area_tiles {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.area_tiles {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.area_tiles li:nth-child(n) {
		transition-delay: 0s;
	}

	.area_tiles a {
		aspect-ratio: 1 / 1;
		border-radius: 16px;
	}

	.area_tiles b {
		bottom: 32px;
		font-size: 21px;
	}

	.area_tiles .n {
		bottom: 12px;
		font-size: 11px;
	}

	.area_note {
		justify-content: flex-start;
		font-size: 13px;
	}
}

/* Service
----------------------------------------------------------- */
.service_area {
	padding: 0 0 var(--sec-pad);
	background: linear-gradient(180deg, var(--c-bg) 50%, var(--c-white) 50%);
}

.service_area.plain {
	padding-top: 0;
	background: none;
}

/* 写真を右半分に敷き、左に向けてティールに溶かす */
.service_box {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	background: #10707e;
	color: var(--c-white);
}

.service_box::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, #10707e 0%, #10707e 44%, rgba(16, 112, 126, .7) 58%, rgba(16, 112, 126, 0) 80%);
}

.service_bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 55%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 30%;
}

.service_txt {
	position: relative;
	z-index: 2;
	max-width: 600px;
	padding: 36px 48px;
}

.service_txt .pr_tag {
	border-color: rgba(255, 255, 255, .7);
	color: rgba(255, 255, 255, .9);
}

.service_txt h2 {
	margin: 12px 0 16px;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.5;
	word-break: auto-phrase;
}

.service_point {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.service_point li {
	position: relative;
	padding-left: 24px;
	font-size: 13px;
	font-weight: 700;
}

.service_point li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--c-white);
	transform: translateY(-50%);
}

.service_point li::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 6px;
	height: 3px;
	border-bottom: 2px solid var(--c-main-dk);
	border-left: 2px solid var(--c-main-dk);
	transform: translateY(-70%) rotate(-45deg);
}

.service_act {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 22px;
}

.service_link {
	font-size: 12px;
}

.service_link a {
	text-decoration: underline;
	color: rgba(255, 255, 255, .85);
}

@media screen and ( max-width:760px ) {
	.service_area {
		padding: 0 0 var(--sec-pad-sp);
	}

	.service_box {
		border-radius: 20px;
	}

	.service_box::before {
		background: linear-gradient(180deg, rgba(16, 112, 126, 0) 0, rgba(16, 112, 126, 0) 90px, #10707e 170px);
	}

	.service_bg {
		width: 100%;
		height: 170px;
	}

	.service_txt {
		padding: 150px 20px 26px;
	}

	.service_txt h2 {
		font-size: 19px;
	}

	.service_btn {
		width: 100%;
	}
}

/* Industry
----------------------------------------------------------- */
.industry_blob {
	top: 30%;
	left: -200px;
	width: 460px;
	height: 400px;
	opacity: .6;
}

.industry_area > .in {
	position: relative;
	z-index: 1;
}

.industry_area {
	position: relative;
	overflow: hidden;
}

.industry_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.industry_list .industry_box:nth-child(4n+2) {
	transition-delay: .08s;
}

.industry_list .industry_box:nth-child(4n+3) {
	transition-delay: .16s;
}

.industry_list .industry_box:nth-child(4n) {
	transition-delay: .24s;
}

.industry_box {
	overflow: hidden;
	border: 1px solid var(--c-line);
	border-radius: 20px;
	background: var(--c-white);
	transition: border-color .25s, box-shadow .25s, transform .25s;
}

.industry_box:hover {
	border-color: transparent;
	box-shadow: var(--sh-card);
	transform: translateY(-4px);
}

.industry_head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--c-line);
	background: linear-gradient(135deg, #e6f4f6 0%, #f7fbfc 100%);
}

.industry_head .ic {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--g-main);
	box-shadow: 0 6px 14px rgba(17, 123, 138, .14);
	color: var(--c-white);
}

.industry_head h3 {
	font-size: 16px;
	font-weight: 700;
	color: var(--c-navy);
}

.industry_box ul {
	padding: 6px 20px 12px;
}

.industry_box li + li {
	border-top: 1px dashed var(--c-line);
}

.industry_box li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 2px;
	font-size: 14px;
	transition: color .2s, padding .2s;
}

.industry_box li a::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1.5px solid var(--c-main);
	border-right: 1.5px solid var(--c-main);
	transform: rotate(45deg);
}

.industry_box li a:hover {
	padding-left: 6px;
	color: var(--c-main-dk);
}

@media screen and ( max-width:960px ) {
	.industry_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.industry_list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.industry_list .industry_box:nth-child(n) {
		transition-delay: 0s;
	}

	.industry_head {
		padding: 14px 16px;
	}

	.industry_box ul {
		padding: 4px 16px 10px;
	}
}

/* Cost
----------------------------------------------------------- */
.cost_wm {
	top: 36px;
	padding-left: 24px;
}

.cost_blob {
	right: -220px;
	bottom: 40px;
	width: 480px;
	height: 420px;
	background: rgba(255, 255, 255, .08);
}

.cost_cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.cost_cards li:nth-child(3n+2) {
	transition-delay: .1s;
}

.cost_cards li:nth-child(3n) {
	transition-delay: .2s;
}

.cost_cards a {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px 24px 20px;
	border-radius: 20px;
	background: var(--c-white);
	color: var(--c-text);
	transition: box-shadow .25s, transform .25s;
}

.cost_cards a::after {
	content: "";
	position: absolute;
	top: -40px;
	right: -40px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: var(--c-main-lt);
	transition: transform .4s;
}

.cost_cards a:hover {
	box-shadow: 0 14px 34px rgba(0, 0, 0, .14);
	transform: translateY(-4px);
}

.cost_cards a:hover::after {
	transform: scale(1.3);
}

.cost_cards .ic {
	position: relative;
	z-index: 1;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--g-main);
	box-shadow: 0 6px 14px rgba(17, 123, 138, .14);
	color: var(--c-white);
}

.cost_cards .k {
	margin-top: 16px;
	font-size: 14px;
	font-weight: 700;
	color: var(--c-sub);
}

.cost_cards .v {
	margin-top: 4px;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.cost_cards .v b {
	margin: 0 2px;
	font-size: 28px;
	font-weight: 900;
	color: var(--c-main-dk);
}

.cost_cards .sub {
	font-size: 12px;
	color: var(--c-sub);
}

.cost_cards .go {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 16px;
	font-size: 13px;
	font-weight: 700;
	color: var(--c-main-dk);
}

.cost_cards .v + .go,
.cost_cards .sub + .go {
	margin-top: 18px;
	border-top: 1px dashed var(--c-line);
}

.cost_cards .go::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

@media screen and ( max-width:960px ) {
	.cost_cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.cost_cards {
		gap: 10px;
	}

	.cost_cards li:nth-child(n) {
		transition-delay: 0s;
	}

	.cost_cards a {
		padding: 16px 14px 12px;
		border-radius: 16px;
	}

	.cost_cards .ic {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.cost_cards .k {
		margin-top: 10px;
		font-size: 12px;
	}

	.cost_cards .v {
		font-size: 12px;
	}

	.cost_cards .v b {
		display: block;
		margin: 0;
		font-size: 19px;
	}

	.cost_cards .go {
		font-size: 11px;
	}
}

/* Lists
----------------------------------------------------------- */
.card_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 24px;
}

.card_list .thumb {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1200 / 630;
	border: 1px solid var(--c-line);
	border-radius: 12px;
}

.card_list .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.card_list a:hover .thumb img {
	transform: scale(1.04);
}

.card_list .rank {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 2px solid var(--c-white);
	border-radius: 50%;
	background: var(--c-navy);
	box-shadow: 0 3px 8px rgba(0, 0, 0, .1);
	font-size: 16px;
	font-weight: 900;
	color: var(--c-white);
}

.card_list .rank.r1 {
	background: linear-gradient(135deg, #f9de7e 0%, #d9a521 100%);
}

.card_list .rank.r2 {
	background: linear-gradient(135deg, #e6ebef 0%, #9fabb4 100%);
}

.card_list .rank.r3 {
	background: linear-gradient(135deg, #f2c194 0%, #c27a45 100%);
}

.card_list .cat {
	margin-top: 14px;
	font-size: 12px;
	font-weight: 700;
	color: var(--c-main-dk);
}

.card_list h3 {
	margin-top: 4px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
	color: var(--c-navy);
	transition: color .2s;
}

.card_list a:hover h3 {
	color: var(--c-main-dk);
}

.row_list li + li {
	border-top: 1px solid var(--c-line);
}

.row_list a {
	display: grid;
	grid-template-columns: 200px 1fr;
	align-items: center;
	gap: 28px;
	padding: 24px 0;
}

.row_list .thumb {
	overflow: hidden;
	aspect-ratio: 1200 / 630;
	border: 1px solid var(--c-line);
	border-radius: 10px;
}

.row_list .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.row_list a:hover .thumb img {
	transform: scale(1.04);
}

.row_list .meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 12px;
	color: var(--c-sub);
}

.row_list .meta .cat {
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--c-main-lt);
	font-weight: 500;
	color: var(--c-main-dk);
}

.row_list h3 {
	margin-top: 8px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
	transition: color .2s;
}

.row_list a:hover h3 {
	color: var(--c-main-dk);
}

.row_list .ex {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.8;
	color: var(--c-sub);
}

.line_list li + li {
	border-top: 1px dashed var(--c-line);
}

.line_list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 4px;
	font-size: 15px;
	transition: color .2s;
}

.line_list a::after {
	content: "";
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	border-top: 1.5px solid var(--c-main);
	border-right: 1.5px solid var(--c-main);
	transform: rotate(45deg);
}

.line_list a:hover {
	color: var(--c-main-dk);
}

.sub_list {
	margin-top: 64px;
	padding: 32px 36px;
	border: 1px solid var(--c-line);
	border-radius: 16px;
}

.sub_ttl {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--c-navy);
}

@media screen and ( max-width:960px ) {
	.card_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.card_list {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.card_list a {
		display: grid;
		grid-template-columns: 120px 1fr;
		gap: 0 14px;
		align-items: start;
	}

	.card_list .thumb {
		grid-row: 1 / 3;
		border-radius: 8px;
	}

	.card_list .rank {
		top: 6px;
		left: 6px;
		width: 26px;
		height: 26px;
		font-size: 12px;
	}

	.card_list .cat {
		margin-top: 0;
	}

	.card_list h3 {
		font-size: 14px;
	}

	.row_list a {
		grid-template-columns: 110px 1fr;
		gap: 14px;
		padding: 16px 0;
	}

	.row_list .thumb {
		border-radius: 8px;
	}

	.row_list h3 {
		margin-top: 4px;
		font-size: 14px;
	}

	.row_list .ex {
		display: none;
	}

	.line_list a {
		font-size: 14px;
	}

	.sub_list {
		margin-top: 40px;
		padding: 20px 18px;
	}
}

/* News
----------------------------------------------------------- */
.news_wrap {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 48px;
}

.news_wrap .sec_head {
	margin-bottom: 0;
	text-align: left;
}

.news_wrap .more_link {
	margin-top: 28px;
	text-align: left;
}

.news_list {
	overflow: hidden;
	border-radius: 20px;
	background: var(--c-white);
	box-shadow: 0 2px 0 rgba(29, 51, 70, .04);
}

.news_list li + li {
	border-top: 1px solid var(--c-line);
}

.news_list a {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 24px;
	transition: background .2s, color .2s;
}

.news_list a::after {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-top: 2px solid var(--c-main);
	border-right: 2px solid var(--c-main);
	transform: rotate(45deg);
}

.news_list a:hover {
	background: #f7fbfc;
	color: var(--c-main-dk);
}

.news_list time {
	flex-shrink: 0;
	font-size: 13px;
	color: var(--c-sub);
}

.news_list .cat {
	flex-shrink: 0;
	min-width: 84px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--c-main-lt);
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	color: var(--c-main-dk);
}

.news_list p {
	font-size: 15px;
}

@media screen and ( max-width:760px ) {
	.news_wrap {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.news_wrap .more_link {
		display: none;
	}

	.news_list a {
		flex-wrap: wrap;
		gap: 6px 12px;
		padding: 16px;
	}

	.news_list a::after {
		display: none;
	}

	.news_list p {
		width: 100%;
		font-size: 14px;
	}
}

/* Step
----------------------------------------------------------- */
.step_area {
	position: relative;
	overflow: hidden;
}

.step_area > .in {
	position: relative;
	z-index: 1;
}

.step_blob {
	right: -260px;
	bottom: 40px;
	width: 560px;
	height: 480px;
	opacity: .7;
}

.step_list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.step_list::before {
	content: "";
	position: absolute;
	top: 112px;
	left: 17%;
	right: 17%;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--c-main) 0 8px, transparent 8px 16px);
}

.step_list li {
	position: relative;
	padding: 34px 28px 30px;
	border: 1px solid var(--c-line);
	border-radius: 24px;
	background: var(--c-white);
	text-align: center;
}

.step_list li:nth-child(2) {
	transition-delay: .12s;
}

.step_list li:nth-child(3) {
	transition-delay: .24s;
}

.step_list .num {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--c-main-dk);
}

.step_list .num b {
	display: block;
	background: var(--g-cta);
	background-clip: text;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0;
	color: transparent;
}

.step_list .ic {
	position: relative;
	z-index: 1;
	width: 68px;
	height: 68px;
	margin-top: 12px;
	border: 6px solid var(--c-white);
	border-radius: 50%;
	background: var(--g-main);
	box-shadow: 0 6px 14px rgba(17, 123, 138, .14);
	color: var(--c-white);
}

.step_list h3 {
	margin-top: 14px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-navy);
}

.step_list p {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.9;
	text-align: left;
}

.step_list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding: 8px 18px;
	border-radius: 999px;
	background: var(--c-main-lt);
	font-size: 13px;
	font-weight: 700;
	color: var(--c-main-dk);
	transition: background .2s, color .2s;
}

.step_list a::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.step_list a:hover {
	background: var(--c-main);
	color: var(--c-white);
}

@media screen and ( max-width:760px ) {
	.step_list {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.step_list::before {
		display: none;
	}

	.step_list li:nth-child(n) {
		transition-delay: 0s;
	}

	.step_list li {
		padding: 24px 20px;
		border-radius: 20px;
	}

	.step_list .num b {
		font-size: 32px;
	}
}

/* About
----------------------------------------------------------- */
.about_area {
	padding: var(--sec-pad) 0;
}

.about_box {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 30px 34px;
	border: 1px solid var(--c-line);
	border-radius: 20px;
	background: var(--c-white);
}

.about_box .ic {
	width: 52px;
	height: 52px;
	border-radius: 16px;
}

.about_box h2 {
	font-size: 16px;
	font-weight: 700;
	color: var(--c-navy);
}

.about_box p {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--c-sub);
}

@media screen and ( max-width:760px ) {
	.about_area {
		padding: 0 0 var(--sec-pad-sp);
	}

	.about_box {
		flex-direction: column;
		gap: 12px;
		padding: 22px 18px;
	}
}

/* Page head
----------------------------------------------------------- */
.page_head {
	position: relative;
	overflow: hidden;
	padding: 36px 0 56px;
	border-bottom: 1px solid var(--c-line);
	background: #f3fafb;
}

.page_head::after {
	content: "";
	position: absolute;
	top: -120px;
	right: -80px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(26, 154, 171, .18);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(26, 154, 171, .04), 0 0 0 120px rgba(26, 154, 171, .03);
}

.page_head .in {
	position: relative;
	z-index: 1;
}

.page_head .label {
	margin-top: 36px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--c-main-dk);
}

.page_head h1 {
	margin-top: 8px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--c-navy);
}

.page_head .lead {
	max-width: 720px;
	margin-top: 14px;
	font-size: 15px;
	color: var(--c-text);
}

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	font-size: 12px;
	color: var(--c-sub);
}

.breadcrumb li + li::before {
	content: "/";
	margin: 0 10px;
	opacity: .5;
}

.breadcrumb a {
	text-decoration: underline;
}

@media screen and ( max-width:760px ) {
	.page_head {
		padding: 20px 0 36px;
	}

	.page_head::after {
		width: 240px;
		height: 240px;
	}

	.page_head .label {
		margin-top: 24px;
	}

	.page_head h1 {
		font-size: 25px;
	}

	.page_head .lead {
		font-size: 14px;
	}
}

/* Area page
----------------------------------------------------------- */
.region_jump,
.ind_jump,
.pur_jump {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 56px;
}

.region_jump a {
	padding: 8px 22px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	transition: border-color .2s, color .2s;
}

.region_jump a:hover {
	border-color: var(--c-main);
	color: var(--c-main-dk);
}

.region_block {
	scroll-margin-top: 100px;
}

.region_block + .region_block {
	margin-top: 56px;
}

.region_ttl {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
	font-size: 22px;
	font-weight: 700;
	color: var(--c-navy);
}

.region_ttl::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--c-line);
}

.city_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.city_list a {
	display: grid;
	grid-template-columns: 220px 1fr;
	overflow: hidden;
	height: 100%;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	background: var(--c-white);
	transition: border-color .2s, box-shadow .2s;
}

.city_list a:hover {
	border-color: var(--c-main);
	box-shadow: var(--sh-hover);
}

.city_list .thumb {
	position: relative;
	min-height: 150px;
}

.city_list .thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.city_list .thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(29, 51, 70, 0) 40%, rgba(29, 51, 70, .55) 100%);
}

.city_list .city {
	position: absolute;
	left: 16px;
	bottom: 12px;
	z-index: 1;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--c-white);
}

.city_list .txt {
	display: flex;
	flex-direction: column;
	padding: 20px 22px;
}

.city_list .num {
	font-size: 13px;
	font-weight: 700;
	color: var(--c-main-dk);
}

.city_list h3 {
	margin-top: 6px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
	color: var(--c-navy);
}

.city_list .date {
	margin-top: auto;
	padding-top: 10px;
	font-size: 12px;
	color: var(--c-sub);
}

.online_box {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 64px;
	padding: 28px 32px;
	border-radius: 16px;
	background: var(--c-main-lt);
}

.online_box .ic {
	width: 64px;
	height: 64px;
	background: var(--c-white);
}

.online_box .txt {
	flex: 1;
}

.online_box h2 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
}

.online_box p {
	margin-top: 4px;
	font-size: 14px;
	color: var(--c-sub);
}

@media screen and ( max-width:960px ) {
	.city_list {
		grid-template-columns: 1fr;
	}
}

@media screen and ( max-width:760px ) {
	.region_jump,
	.ind_jump,
	.pur_jump {
		gap: 8px;
		margin-bottom: 36px;
	}

	.region_jump a {
		padding: 6px 16px;
		font-size: 13px;
	}

	.region_block + .region_block {
		margin-top: 40px;
	}

	.region_ttl {
		font-size: 19px;
	}

	.city_list {
		gap: 12px;
	}

	.city_list a {
		grid-template-columns: 120px 1fr;
	}

	.city_list .thumb {
		min-height: 120px;
	}

	.city_list .city {
		left: 10px;
		bottom: 8px;
		font-size: 18px;
	}

	.city_list .txt {
		padding: 14px;
	}

	.city_list h3 {
		font-size: 13px;
	}

	.online_box {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 40px;
		padding: 22px 20px;
	}

	.online_box .btn {
		width: 100%;
	}
}

/* Industry page
----------------------------------------------------------- */
.ind_jump a,
.pur_jump a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 18px 8px 8px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	transition: border-color .2s, color .2s;
}

.ind_jump .ic,
.pur_jump .ic {
	width: 32px;
	height: 32px;
	border-radius: 50%;
}

.ind_jump a:hover,
.pur_jump a:hover {
	border-color: var(--c-main);
	color: var(--c-main-dk);
}

.ind_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.ind_block {
	padding: 28px 30px;
	border: 1px solid var(--c-line);
	border-radius: 16px;
	scroll-margin-top: 100px;
}

.ind_head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--c-line);
}

.ind_head .ic {
	width: 52px;
	height: 52px;
}

.ind_head h2 {
	font-size: 19px;
	font-weight: 700;
	color: var(--c-navy);
}

.ind_head .count {
	margin-left: auto;
	font-size: 13px;
	color: var(--c-sub);
}

.ind_list li + li {
	border-top: 1px dashed var(--c-line);
}

.ind_list a {
	display: block;
	padding: 14px 4px;
}

.ind_list b {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--c-navy);
	transition: color .2s;
}

.ind_list span {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.7;
	color: var(--c-sub);
}

.ind_list a:hover b {
	color: var(--c-main-dk);
}

@media screen and ( max-width:960px ) {
	.ind_wrap {
		grid-template-columns: 1fr;
	}
}

@media screen and ( max-width:760px ) {
	.ind_jump a,
	.pur_jump a {
		padding: 6px 14px 6px 6px;
		font-size: 12px;
	}

	.ind_jump .ic,
	.pur_jump .ic {
		width: 26px;
		height: 26px;
	}

	.ind_wrap {
		gap: 14px;
	}

	.ind_block {
		padding: 20px 18px;
	}

	.ind_list b {
		font-size: 15px;
	}
}

/* Purpose page
----------------------------------------------------------- */
.pur_block {
	padding: 40px 0;
	border-top: 1px solid var(--c-line);
	scroll-margin-top: 80px;
}

.pur_block:last-child {
	border-bottom: 1px solid var(--c-line);
}

.pur_head {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.pur_head .ic {
	width: 64px;
	height: 64px;
}

.pur_head h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-navy);
}

.pur_head p {
	max-width: 760px;
	margin-top: 6px;
	font-size: 15px;
	color: var(--c-sub);
}

.pur_body {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 36px;
	margin-top: 28px;
}

.pur_key .thumb {
	overflow: hidden;
	aspect-ratio: 1200 / 630;
	border: 1px solid var(--c-line);
	border-radius: 12px;
}

.pur_key .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.pur_key:hover .thumb img {
	transform: scale(1.04);
}

.pur_key .tag {
	display: inline-block;
	margin-top: 14px;
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--c-cta);
	font-size: 12px;
	font-weight: 700;
	color: var(--c-white);
}

.pur_key h3 {
	margin-top: 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
}

.pur_more {
	margin-top: 16px;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
}

.pur_more a {
	text-decoration: underline;
	color: var(--c-main-dk);
}

@media screen and ( max-width:760px ) {
	.pur_block {
		padding: 28px 0;
	}

	.pur_head {
		gap: 14px;
	}

	.pur_head .ic {
		width: 48px;
		height: 48px;
	}

	.pur_head h2 {
		font-size: 19px;
	}

	.pur_head p {
		font-size: 14px;
	}

	.pur_body {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 20px;
	}
}

/* Cost page
----------------------------------------------------------- */
.cost_sum {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.sum_item {
	display: flex;
	flex-direction: column;
	padding: 26px 26px 22px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	transition: border-color .2s, box-shadow .2s;
}

.sum_item:hover {
	border-color: var(--c-main);
	box-shadow: var(--sh-hover);
}

.sum_item .k {
	font-size: 14px;
	font-weight: 700;
	color: var(--c-sub);
}

.sum_item .v {
	margin-top: 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-main-dk);
}

.sum_item .more {
	margin-top: auto;
	padding-top: 14px;
	font-size: 13px;
	text-decoration: underline;
	color: var(--c-main-dk);
}

.cost_sec {
	margin-top: 80px;
}

.cost_h {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-navy);
}

.cost_sec > p {
	max-width: 820px;
	margin-top: 14px;
	font-size: 15px;
}

.cost_sec .tbl_wrap {
	margin-top: 24px;
}

.cost_sec .card_list {
	margin-top: 28px;
}

.cost_sec .src {
	margin-top: 10px;
	font-size: 12px;
	color: var(--c-sub);
}

.cost_sec .src a {
	text-decoration: underline;
}

.tbl_wrap {
	overflow-x: auto;
}

.data_tbl,
.tl_base {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: 14px;
}

.data_tbl th,
.data_tbl td,
.tl_base th,
.tl_base td {
	padding: 14px 18px;
	border: 1px solid var(--c-line);
	line-height: 1.6;
	text-align: left;
}

.data_tbl thead th,
.tl_base thead th,
.tl_base tr:first-child > th {
	background: var(--c-navy);
	font-weight: 700;
	color: var(--c-white);
}

.data_tbl tbody tr:nth-child(even),
.tl_base tbody tr:nth-child(even) {
	background: #f8fafb;
}

.data_tbl td:first-child,
.tl_base td:first-child {
	font-weight: 700;
	color: var(--c-navy);
}

@media screen and ( max-width:960px ) {
	.cost_sum {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and ( max-width:760px ) {
	.cost_sum {
		gap: 10px;
	}

	.sum_item {
		padding: 16px;
	}

	.sum_item .k {
		font-size: 12px;
	}

	.sum_item .v {
		font-size: 16px;
	}

	.cost_sec {
		margin-top: 52px;
	}

	.cost_h {
		font-size: 19px;
	}

	.cost_sec > p {
		font-size: 14px;
	}

	.data_tbl th,
	.data_tbl td,
	.tl_base th,
	.tl_base td {
		padding: 10px 12px;
		font-size: 13px;
	}
}

/* Blog page
----------------------------------------------------------- */
.cat_tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.cat_tabs .tab {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--c-white);
	font-size: 14px;
	font-weight: 500;
	color: var(--c-text);
	cursor: pointer;
	transition: background .2s, border-color .2s, color .2s;
}

.cat_tabs .tab span {
	font-size: 12px;
	color: var(--c-sub);
}

.cat_tabs .tab:hover {
	border-color: var(--c-main);
}

.cat_tabs .tab.on {
	border-color: var(--c-navy);
	background: var(--c-navy);
	color: var(--c-white);
}

.cat_tabs .tab.on span {
	color: rgba(255, 255, 255, .7);
}

.blog_page .row_list,
.cat_page .row_list {
	border-top: 1px solid var(--c-line);
}

.pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}

.pager a,
.pager span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	transition: border-color .2s, color .2s;
}

.pager a:hover {
	border-color: var(--c-main);
	color: var(--c-main-dk);
}

.pager .cur {
	border-color: var(--c-navy);
	background: var(--c-navy);
	color: var(--c-white);
}

.pager .dots {
	border: 0;
	color: var(--c-sub);
}

@media screen and ( max-width:760px ) {
	.cat_tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 -18px 16px;
		padding: 0 18px 4px;
	}

	.cat_tabs .tab {
		flex-shrink: 0;
		padding: 7px 14px;
		font-size: 13px;
	}
}

/* Article
----------------------------------------------------------- */
.article_head {
	padding: 20px 0;
	border-bottom: 1px solid var(--c-line);
	background: #f3fafb;
}

.article_wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 56px;
	padding-top: 48px;
	padding-bottom: 96px;
}

.pr_note {
	margin-bottom: 18px;
	font-size: 12px;
	color: var(--c-sub);
}

.entry_cat a {
	display: inline-block;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--c-main-lt);
	font-size: 12px;
	font-weight: 700;
	color: var(--c-main-dk);
}

.entry_head h1 {
	margin-top: 14px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-navy);
}

.entry_date {
	display: flex;
	gap: 18px;
	margin-top: 14px;
	font-size: 13px;
	color: var(--c-sub);
}

.entry_eye {
	overflow: hidden;
	aspect-ratio: 1200 / 630;
	margin-top: 28px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
}

.entry_eye img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.entry_body {
	margin-top: 36px;
	font-size: 16px;
	line-height: 2;
}

.entry_body > * + * {
	margin-top: 24px;
}

.entry_body h2 {
	margin-top: 72px;
	padding: 18px 22px;
	border-left: 4px solid var(--c-main);
	border-radius: 0 10px 10px 0;
	background: #f3fafb;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--c-navy);
	scroll-margin-top: 100px;
}

.entry_body h3 {
	margin-top: 56px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--c-line);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--c-navy);
}

.entry_body h3::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 10px 2px 0;
	border-radius: 50%;
	background: var(--c-main);
}

.entry_body h4 {
	margin-top: 36px;
	padding-left: 12px;
	border-left: 3px solid var(--c-main);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
}

.entry_body a {
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--c-main-dk);
}

.entry_body ol {
	padding-left: 1.6em;
	list-style: decimal;
}

.entry_body ol li + li {
	margin-top: 6px;
}

.entry_body ol li::marker {
	font-weight: 700;
	color: var(--c-main-dk);
}

.entry_body strong {
	background: linear-gradient(transparent 62%, #fde9c4 62%);
	font-weight: 700;
}

.entry_body img {
	border: 1px solid var(--c-line);
	border-radius: 10px;
}

.entry_body .rel {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.6;
}

.entry_body .rel a {
	color: var(--c-sub);
}

.check_list {
	padding: 20px 24px;
	border-radius: 12px;
	background: var(--c-main-lt);
}

.check_list li {
	position: relative;
	padding-left: 28px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}

.check_list li + li {
	margin-top: 6px;
}

.check_list li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 2px;
	width: 12px;
	height: 7px;
	border-bottom: 2.5px solid var(--c-main);
	border-left: 2.5px solid var(--c-main);
	transform: rotate(-45deg);
}

.entry_body .caution {
	padding: 18px 22px;
	border: 1px solid #f3d9b1;
	border-radius: 10px;
	background: #fff8ee;
	font-size: 15px;
	line-height: 1.9;
}

.entry_body .caution p + p {
	margin-top: 10px;
}

.entry_body blockquote {
	margin-right: 0;
	margin-left: 0;
	padding: 18px 22px;
	border-left: 4px solid var(--c-line);
	border-radius: 0 10px 10px 0;
	background: var(--c-bg);
	font-size: 15px;
	color: var(--c-sub);
}

.link_btn {
	text-align: center;
}

.entry_body .link_btn .btn {
	min-width: min(300px, 100%);
	text-decoration: none;
	color: var(--c-white);
}

.company_info {
	overflow: hidden;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	font-size: 14px;
}

.company_info dl {
	display: grid;
	grid-template-columns: 110px 1fr;
}

.company_info dl + dl {
	border-top: 1px solid var(--c-line);
}

.company_info dt {
	padding: 12px 16px;
	background: #f8fafb;
	font-weight: 700;
	color: var(--c-navy);
}

.company_info dd {
	padding: 12px 16px;
	word-break: break-all;
}

.blog-card a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .2s;
}

.blog-card a::before {
	content: "関連記事";
	flex-shrink: 0;
	padding: 2px 10px;
	border-radius: 4px;
	background: var(--c-navy);
	font-size: 11px;
	font-weight: 700;
	color: var(--c-white);
}

.blog-card a:hover {
	border-color: var(--c-main);
}

.blog-card-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
}

.blog-card .clear {
	display: none;
}

.a8_wide {
	text-align: center;
}

.a8_wide img {
	display: inline-block;
	border: 0;
	border-radius: 0;
}

.cta_box {
	margin-top: 48px;
	padding: 28px 30px;
	border: 2px solid var(--c-main);
	border-radius: 16px;
	background: var(--c-white);
}

.cta_box.wide {
	margin-top: 56px;
	background: #f3fafb;
}

.cta_h {
	margin-top: 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--c-navy);
}

.cta_t {
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.9;
}

.cta_row {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 20px;
}

.cta_bnr {
	flex-shrink: 0;
	width: 300px;
}

.cta_bnr img {
	border: 0;
	border-radius: 0;
}

.cta_act {
	flex: 1;
}

.cta_act .btn,
.entry_body .cta_act .btn {
	width: 100%;
	padding: 18px 20px;
	font-size: 16px;
	text-decoration: none;
	color: var(--c-white);
	box-shadow: 0 6px 14px rgba(232, 116, 59, .18);
}

.cta_note {
	margin-top: 10px;
	font-size: 12px;
	text-align: center;
	color: var(--c-sub);
}

.toc_box {
	padding: 24px 28px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
}

.toc_ttl {
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.toc_box ol {
	margin-top: 10px;
}

.toc_box a {
	display: block;
	padding: 6px 0;
	font-size: 15px;
	line-height: 1.6;
	text-decoration: none;
	color: var(--c-text);
}

.toc_box a:hover {
	color: var(--c-main-dk);
}

.writer_box {
	margin-top: 64px;
	padding: 24px 28px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
}

.writer_box .ttl {
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.writer_box p + p {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.9;
	color: var(--c-sub);
}

.side_sticky {
	position: sticky;
	top: 108px;
}

.side_toc {
	padding: 22px 22px 18px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
}

.side_ttl {
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--c-sub);
}

.side_toc li + li {
	border-top: 1px dashed var(--c-line);
}

.side_toc a {
	display: block;
	padding: 7px 0;
	font-size: 13px;
	line-height: 1.6;
	transition: color .2s;
}

.side_toc a:hover {
	color: var(--c-main-dk);
}

.side_cta {
	margin-top: 18px;
	padding: 24px 22px;
	border-radius: 14px;
	background: linear-gradient(135deg, #0f6f7d 0%, #1a9aab 100%);
	color: var(--c-white);
}

.side_cta .pr_tag {
	border-color: rgba(255, 255, 255, .7);
	color: rgba(255, 255, 255, .9);
}

.side_cta .a8_bnr {
	display: block;
	margin-top: 10px;
}

.side_cta .a8_bnr img {
	width: 100%;
}

.side_cta .btn {
	width: 100%;
	margin-top: 14px;
}

.article_pop .row_list {
	max-width: 880px;
	margin: 0 auto;
	border-top: 1px solid var(--c-line);
}

@media screen and ( max-width:960px ) {
	.article_wrap {
		grid-template-columns: minmax(0, 1fr);
	}

	.article_side {
		display: none;
	}
}

@media screen and ( max-width:760px ) {
	.article_head {
		padding: 14px 0;
	}

	.article_wrap {
		padding-top: 28px;
		padding-bottom: 56px;
	}

	.entry_head h1 {
		font-size: 22px;
	}

	.entry_eye {
		margin-top: 20px;
		border-radius: 10px;
	}

	.entry_body {
		margin-top: 28px;
		font-size: 15px;
		line-height: 1.95;
	}

	.entry_body > * + * {
		margin-top: 20px;
	}

	.entry_body h2 {
		margin-top: 52px;
		padding: 14px 16px;
		font-size: 19px;
		scroll-margin-top: 80px;
	}

	.entry_body h3 {
		margin-top: 40px;
		font-size: 17px;
	}

	.check_list {
		padding: 16px 18px;
	}

	.check_list li {
		font-size: 14px;
	}

	.company_info dl {
		grid-template-columns: 84px 1fr;
	}

	.company_info dt,
	.company_info dd {
		padding: 10px 12px;
		font-size: 13px;
	}

	.toc_box {
		padding: 18px 20px;
	}

	.toc_box a {
		font-size: 14px;
	}

	.writer_box {
		margin-top: 44px;
		padding: 20px;
	}

	.cta_box {
		padding: 22px 18px;
	}

	.cta_h {
		font-size: 17px;
	}

	.cta_t {
		font-size: 14px;
	}

	.cta_row {
		flex-direction: column;
		gap: 16px;
	}

	.cta_bnr {
		width: 100%;
		max-width: 300px;
	}
}

/* A8
----------------------------------------------------------- */
.a8_pxs {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
}

.a8_modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(29, 51, 70, .55);
}

.a8_modal_in {
	position: relative;
	width: 100%;
	max-width: 360px;
	padding: 22px 20px 20px;
	border-radius: 16px;
	background: var(--c-white);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .15);
	text-align: center;
}

.a8_modal_in .a8_bnr {
	display: block;
	margin-top: 10px;
}

.a8_modal_in .a8_bnr img {
	margin: 0 auto;
}

.a8_modal_t {
	margin-top: 14px;
	word-break: auto-phrase;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-navy);
}

.a8_modal_in .btn {
	width: 100%;
	margin-top: 14px;
}

.a8_close,
.sp_bar_close {
	position: absolute;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--c-navy);
	cursor: pointer;
}

.a8_close {
	top: -12px;
	right: -12px;
}

.a8_close::before,
.a8_close::after,
.sp_bar_close::before,
.sp_bar_close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: var(--c-white);
}

.a8_close::before,
.sp_bar_close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.a8_close::after,
.sp_bar_close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.sp_bar {
	display: none;
}

@media screen and ( max-width:760px ) {
		.sp_bar {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 90;
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 10px 46px 10px 14px;
		border-top: 1px solid var(--c-line);
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -6px 20px rgba(29, 51, 70, .1);
	}

	.sp_bar[hidden] {
		display: none !important;
	}

	.sp_bar p {
		flex: 1;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.4;
		color: var(--c-navy);
	}

	.sp_bar .pr_tag {
		margin-right: 6px;
		padding: 0 4px;
		font-size: 9px;
	}

	.sp_bar .btn {
		flex-shrink: 0;
		padding: 10px 16px;
		font-size: 13px;
	}

	.sp_bar_close {
		top: 50%;
		right: 8px;
		width: 28px;
		height: 28px;
		background: #9aa6af;
		transform: translateY(-50%);
	}

	body.has_bar {
		padding-bottom: 64px;
	}
}

/* Go
----------------------------------------------------------- */
/* ヘッダー・フッターなしで、画面の中央に出す */
.go_area {
	display: flex;
	align-items: center;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 24px 0;
}

.go_area > .in {
	position: relative;
	z-index: 1;
}

.go_blob {
	top: 40px;
	right: -240px;
	width: 520px;
	height: 440px;
	background: rgba(255, 255, 255, .7);
}

/* バナー・ボタン・移動の案内を1つにまとめ、スマホでも1画面に収める */
.go_box {
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
}

.go_ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.go_ad .pr_tag {
	align-self: flex-start;
}

.go_ad .a8_bnr {
	display: block;
	overflow: hidden;
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--sh-card);
}

.go_ad .a8_bnr img {
	width: 100%;
}

.go_ad .btn {
	width: 100%;
	padding: 16px 20px 16px 26px;
	font-size: 16px;
}

.go_info {
	margin-top: 14px;
	padding: 14px 18px 12px;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	background: rgba(255, 255, 255, .9);
	text-align: center;
}

.go_msg {
	font-size: 14px;
	line-height: 1.6;
	color: var(--c-text);
}

/* 事務所名を1行目、「のサイトへ○秒後に移動します」を2行目にする */
.go_msg > b {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.go_sec {
	margin: 0 2px 0 6px;
	font-weight: 700;
	white-space: nowrap;
	color: var(--c-main-dk);
}

.go_sec b {
	margin-right: 1px;
	font-family: "Outfit", var(--font);
	font-size: 20px;
	font-weight: 800;
}

.go_bar {
	overflow: hidden;
	height: 4px;
	margin-top: 8px;
	border-radius: 999px;
	background: var(--c-main-lt);
}

.go_bar span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: 999px;
	background: var(--g-main);
}

.go_links {
	display: flex;
	justify-content: center;
	gap: 22px;
	margin-top: 8px;
	font-size: 13px;
}

.go_links a {
	text-decoration: underline;
	color: var(--c-main-dk);
}

.go_links a + a {
	color: var(--c-sub);
}

@media screen and ( max-width:760px ) {
	.go_area {
		padding: 16px 0;
	}

	.go_box {
		max-width: 340px;
	}

	.go_info {
		margin-top: 10px;
		padding: 10px 14px;
	}

	.go_msg {
		font-size: 13px;
	}
}

/* Privacy page
----------------------------------------------------------- */
.policy_area {
	padding-bottom: 96px;
}

.policy_body {
	max-width: 820px;
	margin: 0 auto;
}

.policy_body > h2:first-child {
	margin-top: 0;
}

.policy_date {
	margin-top: 40px;
	font-size: 14px;
	text-align: right;
	color: var(--c-sub);
}

/* Contact page
----------------------------------------------------------- */
.contact_area {
	padding-bottom: 96px;
}

.contact_body {
	max-width: 820px;
	margin: 0 auto;
}

.contact_note {
	margin-bottom: 40px;
	padding: 24px 28px;
	border-radius: var(--radius);
	background: var(--c-main-lt);
	font-size: 15px;
	line-height: 1.9;
}

.contact_note p + p {
	margin-top: 10px;
}

.fm_row {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid var(--c-line);
}

.fm_label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	gap: 8px;
	padding-top: 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-navy);
}

.req,
.opt {
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
}

.req {
	background: var(--c-cta);
	color: var(--c-white);
}

.opt {
	background: var(--c-bg);
	color: var(--c-sub);
}

.fm_field input,
.fm_field select,
.fm_field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: var(--c-white);
	font-size: 16px;
	color: var(--c-text);
	transition: border-color .2s, box-shadow .2s;
}

.fm_field input:focus,
.fm_field select:focus,
.fm_field textarea:focus {
	border-color: var(--c-main);
	outline: none;
	box-shadow: 0 0 0 3px rgba(26, 154, 171, .15);
}

.fm_field .is_err {
	border-color: #d14343;
}

.fm_field textarea {
	resize: vertical;
	line-height: 1.8;
}

.fm_hint {
	margin-top: 6px;
	font-size: 13px;
	color: var(--c-sub);
}

.fm_err {
	margin-top: 6px;
	font-size: 13px;
	color: #d14343;
}

.fm_err:empty {
	display: none;
}

.fm_hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.fm_agree {
	margin-top: 32px;
	text-align: center;
	font-size: 15px;
}

.fm_agree label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.fm_agree input {
	width: 18px;
	height: 18px;
	accent-color: var(--c-main);
}

.fm_agree a {
	color: var(--c-main-dk);
	text-decoration: underline;
}

.fm_msg {
	margin-top: 16px;
	text-align: center;
	font-size: 14px;
	color: #d14343;
}

.fm_msg:empty {
	display: none;
}

.fm_submit {
	margin-top: 28px;
	text-align: center;
}

.fm_submit .btn {
	min-width: 280px;
	border: 0;
	cursor: pointer;
}

.fm_submit .btn:disabled {
	opacity: .6;
	cursor: default;
}

.contact_done {
	padding: 48px 28px;
	border-radius: var(--radius);
	background: var(--c-main-lt);
	text-align: center;
	line-height: 1.9;
}

.contact_done_h {
	margin-bottom: 12px;
	font-size: 22px;
	font-weight: 700;
	color: var(--c-navy);
}

.contact_done .btn {
	margin-top: 20px;
}

@media screen and ( max-width:760px ) {
	.contact_note {
		margin-bottom: 24px;
		padding: 18px 20px;
		font-size: 14px;
	}

	.fm_row {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 18px 0;
	}

	.fm_label {
		padding-top: 0;
	}

	.fm_submit .btn {
		width: 100%;
		min-width: 0;
	}
}

/* Footer
----------------------------------------------------------- */
.footer_area {
	padding: 72px 0 28px;
	border-top: 1px solid var(--c-line);
	color: var(--c-text);
}

.footer_blob1 {
	left: -220px;
	bottom: 30px;
	width: 440px;
	height: 380px;
	background: rgba(255, 255, 255, .6);
}

.footer_blob2 {
	top: 30px;
	right: -200px;
	width: 380px;
	height: 330px;
	background: rgba(26, 154, 171, .07);
}

.footer_top {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
}

.footer_logo img {
	width: 220px;
}

.footer_logo p {
	margin-top: 16px;
	font-size: 13px;
	line-height: 1.8;
	color: var(--c-sub);
}

.footer_nav dt {
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--c-main-dk);
}

.footer_nav dd {
	font-size: 13px;
	line-height: 2.2;
}

.footer_nav a {
	color: var(--c-navy);
	transition: color .2s;
}

.footer_nav a:hover {
	color: var(--c-main-dk);
}

.footer_pr {
	margin-top: 40px;
	font-size: 12px;
	color: var(--c-sub);
}

.footer_pr a {
	margin-left: 1em;
	color: var(--c-sub);
	text-decoration: underline;
}

.copy {
	margin-top: 16px;
	padding-top: 22px;
	border-top: 1px solid rgba(29, 51, 70, .1);
	font-size: 12px;
	text-align: center;
	color: var(--c-sub);
}

@media screen and ( max-width:760px ) {
	.footer_area {
		padding: 48px 0 24px;
	}

	.footer_top {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 16px;
	}

	.footer_logo {
		grid-column: 1 / -1;
	}
}
