@charset "utf-8";
@use "sass:color";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/

// breakpointの設定
$xs: 320px;
$smltab: 481px;

@mixin xs {
	@media screen and (max-width: ($xs)) {
		@content;
	}
}

@mixin smltab {
	@media screen and (min-width: ($smltab)) {
		@content;
	}
}

// pxvw
/*@function vw($size, $viewport:1920) {
  $rate: 100 / $viewport;
  @return $rate * $size * 1vw;
}*/
// pxrem
@function vw($size, $viewport: 1920) {
	@return $size * 0.05rem;
}

// 基本カラー、フォントの設定	
$mainColor: #002d4d;
$textColor: #222222;
$pointColor: #e07e00;
$en01: "Philosopher", sans-serif;
$min01: "Yu Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;

html {
	scroll-behavior: smooth;
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 62.5%;
	color: $textColor;
	line-height: 1.6;
}

body,
input,
button,
textarea,
select {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-size: 14px;
}

img {
	max-width: 100%;
	height: auto;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

.common_pcnolink {
	pointer-events: visible;
}

.common_w_inner {
	width: 92%;
}

.common_inner {
	/*width: 86%;*/
	width: 92%;
}

.common_s_inner {
	/*width: 86%;*/
	width: 92%;
}

.common_txt01 {
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.common_tx_c {
	text-align: center;
}

.common_tx_l {
	text-align: left;
}

.common_tx_r {
	text-align: right;
}

.common_en01 {
	font-family: $en01;
}

.common_min01 {
	font-family: $min01;
}


.common_btn01 {
	width: 100%;
	max-width: 250px;
	height: 52px;

	&.wide_center {
		margin-left: auto;
		margin-right: auto;
	}

	a {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		background-color: $mainColor;

		&::before {
			content: '';
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 2px;
			transform: scaleX(0);
			transform-origin: left;
			transition: transform 0.3s ease;
			background-color: $pointColor;
		}

		&:hover {
			&::before {
				transform: scaleX(1);
			}

			.btn_arrow {
				svg {
					opacity: 1;
				}

				&::before {
					width: 22px;
					height: 22px;
				}
			}
		}

		.btn_txt {
			color: #fff;
			font-weight: 500;
			letter-spacing: 0.1em;
		}

		.btn_arrow {
			position: absolute;
			right: 30px;
			top: 50%;
			transform: translateY(-50%);

			svg {
				fill: none;
				width: 0.8rem;
				height: 0.8rem;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) rotate(.00001deg);
				opacity: 0;
			}

			path {
				stroke: #fff;
			}

			&::before {
				background-color: $pointColor;
				border-radius: 50%;
				content: "";
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) rotate(.00001deg);
				position: absolute;
				transition: all 0.3s ease-out;
				width: 4px;
				height: 4px;
			}
		}
	}
}

.common_link01 {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	&:hover {
		.btn_arrow {
			svg {
				opacity: 1;
			}

			&::before {
				width: 22px;
				height: 22px;
			}
		}
	}

	.btn_arrow {
		position: absolute;
		right: 12px;
		top: 50%;
		transform: translateY(-50%);

		svg {
			fill: none;
			width: 0.8rem;
			height: 0.8rem;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			opacity: 0;
		}

		path {
			stroke: #fff;
		}

		&::before {
			background-color: $pointColor;
			border-radius: 50%;
			content: "";
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			position: absolute;
			transition: all 0.3s ease-out;
			width: 4px;
			height: 4px;
		}
	}
}

.common_cl_txt {
	color: $pointColor;
	font-weight: 500;
}

.common_top_h2_ttl {
	text-align: center;

	.common_en01 {
		font-size: 60px;
		font-family: $en01;
		font-weight: 500;
		letter-spacing: 0.05em;
		color: #f5f6f9;
		display: block;
		line-height: 1.0;
	}

	.h2_ttl {
		margin-top: vw(20);
		display: inline-block;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
}

/* ========== header ========== */

.header_logo {
	position: absolute;
	left: 4%;
	top: 15px;
	z-index: 10000;

	a {
		width: 75px;
		height: 75px;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: width 0.3s ease;
		background-color: #fff;

		&:hover {
			opacity: 0.7;
		}
	}

	img {
		width: 60px;
		height: auto;
	}
}

.header_hamburger {
	width: 71px;
	height: 91px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10000;
}

.header_hamburger_in {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 9px;
}

.js-header.is-scrolled .header_hamburger {
	position: fixed;
	background-color: $mainColor;
	/*transition: background-color 0.3s ease;*/
}

.header_hamburger_line {
	display: block;
	width: 35px;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: transform 0.3s, opacity 0.3s;
}

.menu_black .js-header:not(.is-scrolled) .header_hamburger_line:not(.open) {
	background: $textColor;
}

.js-btn span:nth-child(3) {
	width: 28px;
	margin-right: 7px;
}

.js-btn span:nth-child(4) {
	.ttl_menu {
		display: block;
	}

	.ttl_close {
		display: none;
	}
}

.js-btn span.open:nth-child(1) {
	transform: translateY(11px) rotate(45deg);
}

.js-btn span.open:nth-child(2) {
	opacity: 0;
}

.js-btn span.open:nth-child(3) {
	transform: translateY(-11px) rotate(-45deg);
	margin-right: 0;
	width: 35px;
}

.js-btn span.open:nth-child(4) {
	.ttl_menu {
		display: none;
	}

	.ttl_close {
		display: block;
		opacity: 1;
	}
}

.header_hamburger_ttl {
	span {
		color: #fff;
		font-family: $en01;
		font-weight: 700;
		letter-spacing: 0.1em;
		font-size: 1.2rem;
	}
}

.menu_black .js-header:not(.is-scrolled) .header_hamburger_ttl:not(.open) {
	span {
		color: $textColor;
	}
}

.header_cta_sub {
	font-size: 11px;
	color: #e07e00;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 4px;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	position: relative;
	top: 11px;
	z-index: 1;
	width: 120px;
	height: 22px;
}

.header_cta_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 48px;
	box-sizing: border-box;
	position: relative;
	padding: 5.5px 0 0 0;
	padding-right: 10px;
	width: 100%;
	max-width: 320px;

	&::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.3s ease;
	}

	&:hover {
		&::before {
			transform: scaleX(1);
		}

		.btn_arrow {
			svg {
				opacity: 1;
			}

			&::before {
				width: 20px;
				height: 20px;
			}
		}
	}

	.btn_txt {
		font-size: 1.4rem;
		font-weight: 700;
		white-space: nowrap;
		color: #fff;
		position: relative;
		padding-left: 17px;

		&::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translate(-50%, -50%);
		}
	}

	.btn_arrow {
		position: absolute;
		right: 12px;
		top: 50%;
		transform: translateY(-50%);
		margin-top: 3px;

		svg {
			fill: none;
			width: 1rem;
			height: 1rem;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			opacity: 0;
		}

		&::before {
			border-radius: 50%;
			content: "";
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			position: absolute;
			transition: all 0.3s ease-out;
			width: 4px;
			height: 4px;
		}
	}
}

.header_cta_btn--contact {
	background-color: $pointColor;

	.btn_txt {
		&::before {
			background: url(../images/common/common_mail_wht.svg) no-repeat left top;
			background-size: cover;
			width: 17px;
			height: 13px;
		}
	}

	.btn_arrow {
		path {
			stroke: $pointColor;
		}

		&::before {
			background-color: #fff;
		}
	}
}

.header_cta_btn--mypage {
	background: #fff;

	.btn_txt {

		color: $mainColor;
		padding-left: 10px;

		&::before {
			background: url(../images/common/common_mypage.svg) no-repeat left top;
			width: 14px;
			height: 16px;
		}
	}

	.btn_arrow {
		path {
			stroke: #fff;
		}

		&::before {
			background-color: $pointColor;
		}
	}
}

.header_drawer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	max-height: 100dvh;
	background: $mainColor;
	transform: translateY(-100%);
	transition: transform 0.35s ease;
	z-index: 1100;
	overflow-y: auto;
	padding-top: 110px;
	box-sizing: border-box;
}

.global_menu.open {
	transform: translateY(0);
}

.header_drawer_inner {
	padding: 20px 4% 0 4%;
}

.header_drawer_cta {
	display: flex;
	flex-direction: row;
	gap: 12px;
	margin-bottom: 24px;
}

.header_drawer_cta_item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: -11px;
}

.header_drawer_cta_item--mypage {
	.header_cta_sub {
		color: #fff;
		background: $mainColor;
		border: 1px solid #fff;
	}
}

.header_drawer_list {
	display: none;
}

.common_accordion_icon {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	position: relative;

	&::before,
	&::after {
		content: '';
		position: absolute;
		background: $pointColor;
		border-radius: 2px;
		transition: transform 0.3s ease;
	}

	&::before {
		width: 13px;
		height: 2px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	&::after {
		width: 2px;
		height: 13px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}

.footer_nav_col--has_sub.is-open .common_accordion_icon {
	&::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}
}


.header_overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1050;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s;
}

.nav_toggle_pc.open {
	opacity: 1;
	pointer-events: auto;
}

.header_drawer_close {
	position: absolute;
	top: 0;
	right: 0;
	width: 71px;
	height: 91px;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	flex-direction: column;
	gap: 9px;

	span {
		position: absolute;
		width: 35px;
		height: 2px;
		background: #fff;
		border-radius: 2px;

		&:nth-child(1) {
			transform: rotate(45deg);
		}

		&:nth-child(2) {
			transform: rotate(-45deg);
		}
	}
}

/* ========== footer ========== */
footer {
	padding-top: 40px;
	margin-bottom: 60px;
	background: url(../images/common/footer_bk_sp.png) no-repeat center top;
	background-size: cover;
}

.footer {
	display: flex;
	justify-content: center;

	.common_inner {
		position: relative;
		padding: 105px 0 0 0;
	}
}

.ft_gray footer {
	background-color: #f5f6f9;
}

.footer_design01 {
	background: url(../images/common/footer_design01.svg) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: -3.5rem;
	left: 0;
	width: vw(226);
	height: vw(174);
	z-index: 3;
	/*animation: floatUpDown 3s ease-in-out infinite;*/
}

.footer_design02 {
	background: url(../images/common/footer_design02.svg) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: 4rem;
	left: 12%;
	width: vw(215);
	height: vw(137);
	z-index: 3;
	animation: walkSwing 3s ease-in-out infinite;
	animation-delay: 1s;
}

.footer_design03 {
	background: url(../images/common/footer_design03.svg) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: 2rem;
	right: 6%;
	width: vw(242);
	height: vw(119);
	z-index: 3;
	animation: walkSwing 2.5s ease-in-out infinite;
}

.footer_design04 {
	background: url(../images/common/footer_design04.svg) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: -5.5rem;
	right: 0;
	width: vw(189);
	height: vw(160);
	z-index: 3;
	/*animation: floatUpDown 3s ease-in-out infinite;*/
}

.footer_top {
	padding: 30px 0;
}

.footer_top_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	margin: 0 auto;
}

.footer_logo {
	display: flex;
	justify-content: center;
	margin-bottom: vw(40);

	a {
		width: 75px;
		height: 75px;
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: width 0.3s ease;
	}

	img {
		width: 60px;
		height: auto;
	}
}

.footer_cta {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
}

.footer_cta_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.footer_cta_sub {
	font-size: 12px;
	color: $pointColor;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 4px;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	position: relative;
	top: 11px;
	z-index: 1;
	width: 140px;
	height: 22px;
}

.footer_cta_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 46px;
	box-sizing: border-box;
	position: relative;
	padding: 5.5px 0 0 0;
	padding-right: 10px;
	width: 100%;
	max-width: 280px;

	&::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.3s ease;
	}

	&:hover {
		&::before {
			transform: scaleX(1);
		}

		.btn_arrow {
			svg {
				opacity: 1;
			}

			&::before {
				width: 20px;
				height: 20px;
			}
		}
	}

	.btn_txt {
		font-size: 1.4rem;
		font-weight: 700;
		white-space: nowrap;
		color: #fff;
		position: relative;
		padding-left: 17px;

		&::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translate(-50%, -50%);
		}
	}

	.btn_arrow {
		position: absolute;
		right: 12px;
		top: 50%;
		transform: translateY(-50%);
		margin-top: 3px;

		svg {
			fill: none;
			width: 1rem;
			height: 1rem;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			opacity: 0;
		}

		&::before {
			border-radius: 50%;
			content: "";
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%) rotate(.00001deg);
			position: absolute;
			transition: all 0.3s ease-out;
			width: 4px;
			height: 4px;
		}
	}
}

.footer_cta_item--contact {
	.footer_cta_sub {
		color: $pointColor;
	}

	.footer_cta_btn {
		background-color: $pointColor;

		.btn_txt {
			&::before {
				background: url(../images/common/common_mail_wht.svg) no-repeat left top;
				width: 17px;
				height: 13px;
			}
		}

		.btn_arrow {
			path {
				stroke: $pointColor;
			}

			&::before {
				background-color: #fff;
			}
		}
	}
}

.footer_cta_item--mypage {
	.footer_cta_sub {
		color: #fff;
		background-color: $mainColor;
	}

	.footer_cta_btn {
		background-color: #fff;

		.btn_txt {
			color: $mainColor;
			padding-left: 10px;

			&::before {
				background: url(../images/common/common_mypage.svg) no-repeat left top;
				width: 14px;
				height: 16px;
			}
		}

		.btn_arrow {
			path {
				stroke: #fff;
			}

			&::before {
				background-color: $pointColor;
			}
		}
	}
}

.footer_nav {

	.common_inner {
		margin: 0 auto;
	}
}

.footer_nav_col {
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
}

.footer_nav_list {
	display: flex;
	flex-direction: column;
}

.footer_nav_link {
	color: #fff;

	&--parent {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.1em;
		padding: 10px;
		display: block;
	}

	&--parent+&--parent {
		border-top: 1px solid rgba(255, 255, 255, 0.7);
	}
}

.footer_nav_sub {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: #215d87;
	padding: 20px;
}

/* フッターアコーディオン (SP) */
.footer_nav_col--has_sub {
	.footer_nav_link--parent {
		display: flex;
		align-items: center;
		justify-content: space-between;
		cursor: pointer;
		padding: 10px 2px 10px 10px;
	}

	/* リンク付きの親はテキスト＝リンク、右のアイコン部分だけ開閉トリガー
	   （アイコンの見た目位置は変えずにタップ領域だけ拡張） */
	a.footer_nav_link--parent .common_accordion_icon {
		width: 44px;
		height: 40px;
		margin: -10px -12px -10px 0;
	}

	.footer_nav_sub {
		display: none;
	}
}

.footer_nav_sub_link {
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.1em;
	position: relative;
	padding-left: 22px;

	&::before {
		background: #85b5d7;
		content: "";
		position: absolute;
		left: 0;
		width: 12px;
		height: 1px;
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
	}
}

.footer_bottom {

	.common_inner {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
}

.footer_copy {
	font-size: 12px;
	letter-spacing: 0.05em;
	order: 1;
	padding: 10px 0;
	background-color: #fff;
	text-align: center;
}

.footer_link {
	order: 0;
	padding: 20px 0 30px 0;

	li {
		a {
			color: #fff;
			text-align: center;
			font-size: 12px;
			letter-spacing: 0.1em;
			font-weight: 500;
			display: block;
			width: 100%;
		}
	}
}

/* ========== header: PCメガメニューをSPドロワー内で非表示 ========== */
.header_drawer_item .header_mega_menu {
	display: none;
}

/* ========== header: SP用ナビ ========== */
.header_drawer_list {
	display: none;
}

.header_sp_nav {
	width: 100%;
}

/* ========== fix_btn ========== */
.fix_btn {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	transform: translateY(100%);
	transition: transform 0.4s ease;

	&.is-active {
		transform: translateY(0);
	}

	ul {
		display: flex;
		gap: 5px;
	}

	li {
		flex: 1;

		a {
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			text-align: center;
			height: 40px;
			box-shadow: 0 -1px 10px rgba(40, 45, 52, 0.2);
		}

		&.fix_btn_mailmag a .btn_txt::before {
			background: url(../images/common/fix_mail.svg) no-repeat left center;
			background-size: contain;
			width: 20px;
			height: 28px;
		}

		&.fix_btn_regist a .btn_txt::before {
			background: url(../images/common/fix_regist.svg) no-repeat left center;
			background-size: contain;
			width: 20px;
			height: 20px;
		}
	}

	.btn_txt {
		color: $mainColor;
		line-height: 1.2;
		letter-spacing: 0.1em;
		font-size: 13px;
		font-weight: 700;
		position: relative;
		padding-left: 27px;

		&::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}
	}
}

/* ========================================================= top ============================================================ */

/* ========== top_mv ========== */
.top_mv {
	position: relative;
	width: 100%;
	min-height: 667px;
	background-image: url('../images/top/top_main_sp.png');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	position: relative;
	z-index: 1;
}

.top_mv_inner {
	position: relative;
	z-index: 1;
	width: 92%;
	margin: 0 auto;
	min-height: 667px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}


.top_mv_design01 {
	background: url(../images/top/top_mv_design01.svg);
	background-size: contain;
	content: "";
	position: absolute;
	bottom: vw(-50);
	left: 5px;
	width: vw(269);
	height: vw(188);
	animation: walkSwing 3s ease-in-out infinite;
}

.top_mv_design02 {
	background: url(../images/top/top_mv_design02.svg);
	background-size: contain;
	content: "";
	position: absolute;
	bottom: vw(-50);
	right: 5px;
	width: vw(267);
	height: vw(207);
	z-index: 3;
	animation: walkSwing 2.5s ease-in-out infinite;
	transform-origin: center bottom;
}

.top_mv_box {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.95);
	padding: 30px 15px;
	text-align: center;
	box-sizing: border-box;
	position: relative;

	&::before {
		background-color: $mainColor;
		content: "";
		position: absolute;
		top: 5px;
		left: 50%;
		transform: translate(-50%, 0);
		width: calc(100% - 20px);
		height: 1px;
	}

	&::after {
		background-color: $mainColor;
		content: "";
		position: absolute;
		bottom: 5px;
		left: 50%;
		transform: translate(-50%, 0);
		width: calc(100% - 20px);
		height: 1px;
	}
}

.top_mv_logo {
	font-family: $min01;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	color: $mainColor;
}

.top_mv_catch {
	img {
		max-width: 267px;
		height: auto;
	}
}

.top_mv_sub {
	font-size: 13px;
	font-weight: 500;
	margin: 15px 0 0 0;
}

.top_mv_btns {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.top_mv_btn--contact {
	max-width: 225px;
}

.top_mv_btn--service {
	max-width: 225px;

	.btn_sub {
		font-size: 12px;
		background-color: #fffdf3;
		width: 165px;
		height: 25px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: $pointColor;
		letter-spacing: 0.1em;
		font-weight: 500;
		margin: 0 auto;
		position: absolute;
		top: -12px;
	}

	a {
		background: $pointColor;
		padding-top: 4px;
		flex-direction: column;

		&::before {
			background: $mainColor;
		}

		.btn_arrow {
			margin-top: 2px;

			&::before {
				background-color: #fff;
			}

			path {
				stroke: $pointColor;
			}
		}
	}
}

/* ========== top_news ========== */
.top_news {
	display: flex;
	justify-content: center;
	padding: 20px 0 0 0;
}

.top_news_inner {
	display: flex;
}

.top_news_head {
	width: 90px;
	background-color: $pointColor;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	line-height: 1.4;
}

.top_news_label {
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	white-space: nowrap;
	position: relative;
	padding-left: 22px;

	&::before {
		background: url(../images/common/common_icon_caution.svg) no-repeat left top;
		background-size: contain;
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 17px;
		height: 17px;
	}
}

.top_news_list {
	width: calc(100% - 90px);
	background-color: #fff;
	display: flex;
	flex-direction: column;
	padding: 10px;
}

.top_news_item {
	display: block;
}

.top_news_date {
	font-size: 13px;
	color: #a5a5a5;
	letter-spacing: 0.1em;
	font-family: $en01;
	display: block;
}

.top_news_link {
	font-size: 13px;
	font-weight: 500;
}

/* ========== top_company ========== */
.top_company {
	padding: 50px 0 75px 0;
	background: #fff;

	.common_inner {
		margin: 0 auto;
		position: relative;
	}
}

.top_company_ttl {
	margin-bottom: 15px;

	.common_en01 {
		margin-bottom: -10px;
		color: #fff;
	}
}

.top_company_design01 {
	background: url(../images/top/top_company_design01.svg);
	background-size: contain;
	content: "";
	position: absolute;
	top: 11rem;
	left: 5px;
	width: vw(126);
	height: vw(101);
	animation: floatUpDown 3s ease-in-out infinite;
}

.top_company_design02 {
	background: url(../images/top/top_company_design02.svg);
	background-size: contain;
	content: "";
	position: absolute;
	bottom: -9rem;
	right: 0;
	width: vw(192);
	height: vw(209);
	z-index: 3;
	animation: walkSwing 2.5s ease-in-out infinite;
	transform-origin: center bottom;
}

.top_company_circles {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 20px;
	background: url(../images/top/top_company_ct_bk_sp.png) no-repeat center center;
	background-size: contain;
	max-width: 289px;
	margin: 0 auto;
}

.top_company_circle {
	width: 289px;
	height: 289px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	box-sizing: border-box;

	&.leftbox {
		margin-bottom: -12.5px;
	}

	&.rightbox {
		margin-top: -12.5px;
	}
}

.top_company_circle_in {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.top_company_circle_en {
	font-family: $en01;
	font-size: 36px;
	color: $mainColor;
	letter-spacing: 0.1em;
	font-weight: 400;
	margin-bottom: 4px;
	line-height: 1;
}

.top_company_circle_ttl {
	font-family: $min01;
	font-weight: 500;
	color: $mainColor;
	font-size: 13px;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

.top_company_circle_txt {
	font-family: $min01;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.top_company_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 25px;

	a {
		font-weight: 500;
		color: $mainColor;
		font-size: 13px;
		letter-spacing: 0.05em;
		padding: 14px 8px;
		position: relative;
		display: block;

		&::before {
			content: '';
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 1px;
			background: $mainColor;
		}
	}
}

/* ========== top_news_company_wrap ========== */
.top_news_company_wrap {
	position: relative;
	background: url(../images/top/top_company_bk_sp.png) no-repeat center top;
	background-size: cover;
	/*background: linear-gradient(135deg, #edf4f8 0%, #ffefdb 80.7%, #ffefdb 100%);*/
	padding-top: 13rem;
	padding-bottom: 50px;
	margin-top: -7.5rem;
}

.top_news_company_wrap .top_news {
	background: transparent;
}

.top_news_company_wrap .top_company {
	background: transparent;
}

/* ========== top_reason ========== */
.top_reason {
	background: url(../images/top/top_reason_bk_sp.png) no-repeat center top;
	background-size: cover;
	padding: 75px 0;
	height: 767px;
	margin-top: -7.5rem;
	position: relative;
	z-index: 1;
}

.top_reason_sticky {
	.common_inner {
		margin: 0 auto;
	}
}

.top_reason_inner {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.top_reason_ttl {
	margin-bottom: 20px;

	.common_en01 {
		&.after {
			display: none;
		}
	}

	.h2_ttl {
		margin-top: 0;
	}
}

.top_reason_txt {
	letter-spacing: 0.1em;
	font-weight: 500;
	margin-bottom: 20px;
}

.top_reason_nums {
	display: flex;
	justify-content: center;
	gap: 25px;
}

.top_reason_num {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: $en01;
	font-size: 2.0rem;
	color: #cfd6d6;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.3s, color 0.3s, border-color 0.3s;

	&.is-active {
		color: $pointColor;
		border-bottom: 1px solid $pointColor;
	}
}

.top_reason_btn {
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;

	a {
		background: $mainColor;
	}
}

.top_reason_cards {
	position: relative;
	margin-right: 10px;
	height: 334px;

	&:nth-child(1) {
		img {
			max-height: 152px;
			width: auto;
		}
	}

	&:nth-child(2) {
		img {
			height: 137px;
			width: auto;
		}
	}

	&:nth-child(3) {
		img {
			height: 150px;
			width: auto;
		}
	}
}

.top_reason_card {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: #f7f6f3;
	overflow: hidden;
	opacity: 0;
	transform: translateY(354px) scale(0.97);
	transition: opacity 0.5s ease, transform 0.5s ease;
	pointer-events: none;
	padding: 20px;
	height: 334px;

	&.is-active {
		opacity: 1;
		transform: translateY(0) scale(1);
		z-index: 3;
		pointer-events: auto;
	}

	&.is-prev {
		opacity: 1;
		transform: translateX(5px) translateY(-5px) scale(1);
		z-index: 2;
		background: #e5e4e0;
	}

	&.is-prev2 {
		opacity: 1;
		transform: translateX(10px) translateY(-10px) scale(1);
		z-index: 1;
		background: #d5d4d0;
	}
}

.top_reason_card_num {
	display: block;
	font-family: $en01;
	font-size: 20px;
	font-weight: 500;
	color: $pointColor;
	letter-spacing: 0.1em;
	margin-right: 15px;
}

.top_reason_card_ttl_block {
	display: flex;
	align-items: center;
	margin-bottom: vw(20);
}

.top_reason_card_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.top_reason_card_img {
	text-align: center;
	margin-bottom: vw(30);
}

.top_reason_card_desc {
	letter-spacing: 0.1em;
	font-weight: 500;
	font-size: 13px;
}

/* ========== top_service ========== */
.top_service {
	background: url(../images/top/top_service_bk_sp.png) no-repeat center top;
	background-size: cover;
	padding: 125px 0 40px 0;
	display: flex;
	justify-content: center;

	position: relative;

	&::before {
		background: #f5f7fa;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 70%;
	}
}


.top_service_ttl {
	margin-bottom: vw(20);

	.common_en01 {
		color: #fff;
	}

	.h2_ttl {
		margin-top: 0;
	}
}

.top_service_desc {
	line-height: 2.0;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: $textColor;
	margin-bottom: vw(65);
	margin-top: vw(40);
}

.top_service_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	// タイトル行・画像行・テキスト行 × 4カード行、間にgap行
	grid-template-rows: auto auto auto vw(50) auto auto auto vw(50) auto auto auto vw(50) auto auto auto;
	gap: 0 10px;
	margin-bottom: 40px;
}

.top_service_list>li {
	display: contents;
}

.top_service_list>li:nth-child(n+3) .top_service_card {
	grid-row: 5 / span 3;
}

.top_service_list>li:nth-child(n+5) .top_service_card {
	grid-row: 9 / span 3;
}

.top_service_list>li:nth-child(n+7) .top_service_card {
	grid-row: 13 / span 3;
}

.top_service_card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	background: #fff;
	border-top: 2px solid $mainColor;
	padding: 20px 15px;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		transform: scaleX(1);
		transform-origin: left;
		transition: transform 0.3s ease;
		background-color: $mainColor;
	}

	&::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.3s ease;
		background-color: $pointColor;
	}

	&:hover {
		&::before {
			transform: scaleX(0);
		}

		&::after {
			transform: scaleX(1);
		}

		.btn_arrow {
			&::before {
				background-color: $pointColor;
			}
		}
	}

	.btn_arrow {
		position: absolute;
		bottom: 25px;
		right: 20px;

		svg {
			fill: none;
			width: 0.8rem;
			height: 0.8rem;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}

		path {
			stroke: #fff;
		}

		&::before {
			background-color: $mainColor;
			border-radius: 50%;
			content: "";
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			position: absolute;
			transition: all 0.3s ease-out;
			width: 18px;
			height: 18px;
		}
	}
}

.top_service_card_ttl {
	font-size: 15px;
	font-weight: 500;
	color: $mainColor;
	text-align: center;
	align-self: center;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}

.top_service_card_img {
	width: 100%;
	text-align: center;
	margin: 0 0 10px 0;

	img {
		width: 56px;
	}
}

.top_service_card_desc {
	letter-spacing: 0.05em;
	font-weight: 500;
	text-align: justify;
}

.top_service_btn_wrap {
	display: flex;
	justify-content: center;
}

.top_service_btn {
	a {
		background: $mainColor;
	}
}

/* ========== top_library ========== */
.top_library {
	background: url(../images/top/top_library_bk_sp.png) no-repeat center top;
	background-size: cover;
	padding: 75px 0;
	overflow: hidden;

	.common_inner {
		margin: 0 auto;
	}
}

.top_library_ttl {
	margin-bottom: vw(20);

	.h2_ttl {
		margin-top: 0;
	}
}

.top_library_catch {
	display: table;
	font-family: $min01;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: vw(70);
	border-bottom: 1px solid #282828;
	margin-bottom: vw(30);
	margin-left: auto;
	margin-right: auto;
}

.top_library_txt {
	letter-spacing: 0.1em;
	font-weight: 500;
	margin-bottom: 30px;
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}

/*
.top_library_slider {
	margin-bottom: 25px;
	margin-top: 25px;

	img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 6px;
	}
}
*/
.top_library_list {
	margin: 40px 0 30px 0;

	ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.item1 {
		grid-column: 1 / 3;
		justify-self: center;
		width: 50%;
	}
}

.top_library_btn_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}

.top_library_btn_sub {
	letter-spacing: 0.1em;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 165px;
	height: 26px;
	background-color: #eff4f5;
	position: relative;
	top: vw(17);
	z-index: 1;
}

.top_library_btn {

	a {
		padding: 10px 0 0 0;
		background: $mainColor;

		.btn_arrow {
			margin-top: 5px;
		}
	}
}

/* ========== top_content ========== */
.top_content {
	background: url(../images/top/top_content_bk_sp.png) no-repeat center top;
	background-size: cover;
	display: flex;
	justify-content: center;
	padding: 75px 0 50px 0;
	/*background: #f5f6f9;*/

	.common_w_inner {
		position: relative;
	}
}

.top_content_design01 {
	background: url(../images/top/top_content_design01.svg);
	background-size: contain;
	content: "";
	position: absolute;
	top: -110px;
	left: 10px;
	width: vw(170);
	height: vw(230);
	z-index: 3;
	animation: floatUpDown 3s ease-in-out infinite;
}

.top_content_design02 {
	background: url(../images/top/top_content_design02.svg);
	background-size: contain;
	content: "";
	position: absolute;
	top: -75px;
	right: 10px;
	width: vw(124);
	height: vw(99);
	z-index: 3;
	animation: walkSwing 2s ease-in-out infinite;
}

.top_content_ttl {
	margin-bottom: 30px;

	.common_en01 {
		color: #fff;
	}

	.h2_ttl {
		margin-top: 0;
	}
}

.top_content_lead {
	letter-spacing: 0.1em;
	font-weight: 500;
	margin-bottom: 30px;
}

.top_content_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 16px;
}

.top_content_item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.top_content_img {
	width: 100%;
	aspect-ratio: 390 / 280;
	overflow: hidden;
	margin-bottom: 10px;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.top_content_item_ttl {
	font-size: 16px;
	font-weight: 500;
	color: $mainColor;
	margin-bottom: 15px;
	flex: 1;
}

.top_content_btn {
	a {
		justify-content: flex-start;
		padding: 0 30px 0 15px;

		.btn_txt {
			letter-spacing: 0;
			font-size: 13px;
		}

		.btn_arrow {
			right: 17px;
		}
	}
}

/* ========== top_column ========== */
.top_column {
	padding: 75px 0;
	background: #fff url(../images/top/top_column_bk_sp.png) no-repeat center top;
	background-size: cover;
	overflow: hidden;

	.common_inner {
		margin: 0 auto;
	}
}

.top_column_ttl {
	margin-bottom: 16px;

	.h2_ttl {
		color: #fff;
		margin-top: 0;
	}

	.common_en01 {
		color: #0d436a;
		margin-bottom: -8px;
	}
}

.top_column_catch {
	color: #fff;
	text-align: center;
	font-weight: 500;
	font-size: 16px;
	margin-bottom: 10px;
}

.top_column_lead {
	color: #fff;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	font-weight: 500;	
    text-align: center;
}

.top_column_slider_wrap {
	overflow: hidden;
	margin-bottom: 28px;
}

.top_column_slider {
	.splide__arrow {
		background: transparent;
		border: none;
		box-shadow: none;
		opacity: 1;
		width: 38px;
		height: 38px;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		top: 28.7vw;

		svg {
			display: none;
		}

		&:hover {
			opacity: 0.7;
		}

		&--prev {
			background-image: url('../images/top/top_column_prev.png');
		}

		&--next {
			background-image: url('../images/top/top_column_next.png');
		}
	}

	.splide__slide {
		opacity: 0.3;
		transition: opacity 0.4s ease;

		&.is-visible {
			opacity: 1;
		}
	}
}

.top_column_card {
	display: block;
}

.top_column_card_img {
	width: 100%;
	aspect-ratio: 570 / 390;
	overflow: hidden;
	margin-bottom: 20px;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.top_column_card_date {
	font-size: 12px;
	color: #82a1b8;
	letter-spacing: 0.1em;
	font-family: $en01;
	margin-bottom: 5px;
	font-weight: 400;
}

.top_column_card_ttl {
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.top_column_btn_wrap {
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

.top_column_btn {
	a {
		background: #fff;

		.btn_txt {
			color: $mainColor;
			font-weight: 700;
		}
	}
}

/* ========== top_news_block ========== */
.top_news_block {
	background: url(../images/top/top_news_block_bk_sp.png) no-repeat center top;
	background-size: cover;
	padding: 65px 0;
	display: flex;
	justify-content: center;

	.common_inner {
		position: relative;
	}
}

.top_news_block_ttl {
	margin-bottom: 20px;

	.h2_ttl {
		margin-top: 0;
	}
}


.top_news_block_design01 {
	background: url(../images/top/top_news_design01.svg);
	background-size: contain;
	content: "";
	position: absolute;
	top: -110px;
	right: 0;
	width: vw(180);
	height: vw(236);
	z-index: 3;
	animation: floatUpDown 3s ease-in-out infinite;
}

.top_news_block_lead {
	letter-spacing: 0.1em;
	font-weight: 500;
	margin-bottom: 20px;
}

.top_news_block_btn {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}

.top_news_block_item {
	border-bottom: 1px solid #e4e6ea;

	a {
		padding: 15px 20px 15px 10px;
		display: block;

		&:hover {
			.top_news_block_link {
				color: $pointColor;
			}
		}
	}
}

.top_news_block_meta {
	display: flex;
	align-items: center;
	gap: vw(20);
	margin-bottom: 10px;
}

.top_news_block_date {
	font-family: $en01;
	color: #a5a5a5;
	letter-spacing: 0.1em;
	font-weight: 400;
	font-size: 13px;
}

.top_news_block_cat {
	font-size: 12px;
	color: $mainColor;
	background: #eff4f5;
	padding: 2px 10px;
	letter-spacing: 0.1em;
	min-width: 100px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
}

.top_news_block_link {
	font-weight: 500;
	letter-spacing: 0.1em;
	transition: color 0.2s;
	width: 100%;
}

/* ========== top_recruit ========== */
.top_recruit {
	padding: 25px 0 50px 0;
	background: #fff;
}

.top_recruit_inner {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.top_recruit_body {
	order: 0;
}

.top_recruit_img {
	width: 100%;
	height: 280px;
	background: url(../images/top/top_recruit_img01.jpg) no-repeat center;
	background-size: cover;
	order: 1;
	position: relative;

	.common_en01 {
		position: absolute;
		content: "";
		left: 4%;
		bottom: 15px;
		color: #d5e0f1;
		/*font-size: 4.6rem;*/
		font-size: 22px;
		line-height: 1.1;
	}
}

.top_recruit_design01 {
	animation: rotateCircle 20s linear infinite;
	transform-origin: center center;
	position: absolute;
	content: "";
	background: url(../images/top/top_recruit_design.png) no-repeat left top;
	background-size: contain;
	right: 3%;
	top: -20px;
	width: 90px;
	height: 91px;
}

.top_recruit_ttl {
	margin-bottom: 20px;

	.h2_ttl {
		margin-top: 0;
	}
}

.top_recruit_catch {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	text-align: center;
}

.top_recruit_btn {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}

/* ========== top_banner ========== */
.top_banner {
	display: flex;
	justify-content: center;
	padding-bottom: 75px;
}

.top_banner_link {
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../images/top/top_bnr_bk_sp.jpg) no-repeat left center;
	background-size: cover;
	min-height: 200px;
	padding: 20px 30px 20px 80px;
	box-sizing: border-box;
}

.top_banner_in {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.top_banner_disc {
	flex: 1;
}

.top_banner_ttl {
	color: #fff;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}

.top_banner_txt {
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	margin-bottom: 10px;
}

.top_banner_btn {
	a {
		background: #fff;

		.btn_txt {
			color: $mainColor;
			font-weight: 700;
		}
	}
}

/* ========================================================= sub ============================================================ */
.main_imgnone {
	margin-top: 90px;
}

.common_sub_main {
	background: url(../images/common/sub_mainimg.jpg) no-repeat center top;
	background-size: cover;
	display: flex;
	justify-content: center;
	height: vw(520);
	width: 100%;
	position: relative;

	&::after {
		background: url(../images/common/bk_circle_top_sp.png) no-repeat center bottom;
		background-size: cover;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50px;
		content: "";
	}

	.common_inner {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 50px;
	}

	&_box {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		text-align: center;
	}

	.h1_ttl {
		font-size: 16px;
		color: #fff;
		letter-spacing: 0.1em;
		font-weight: 500;
		position: relative;
	}

	.common_en01 {
		font-size: 48px;
		letter-spacing: 0.1em;
		color: #fff;
		line-height: 1.0;
		display: block;
		margin-bottom: 10px;
	}
}

.breadcrumb {
	padding: 25px 0 20px 0;
	display: flex;
	justify-content: center;
}

.breadcrumb_list {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb_list span {
	position: relative;
	letter-spacing: 0.1em;
	line-height: 1.8;
	font-weight: 500;
}

.breadcrumb_list a {
	margin-right: 13px;
	letter-spacing: 0.1em;
	line-height: 1.8;
	font-weight: 500;
	color: $mainColor;
	position: relative;
	padding-right: 25px;
	display: block;
	font-weight: 500;
	text-decoration: underline;
}

.breadcrumb_list a::after {
	background: url(../images/common/icon_arrow_blue.svg) no-repeat left bottom;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	content: "";
	width: 12px;
	height: 8px;
}

.breadcrumb_list a:hover {
	text-decoration: none;
}

.wp-pagenavi {
	clear: both;
	text-align: center;
	margin-top: 40px;
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
	width: 36px;
	height: 36px;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: $en01;
	color: $mainColor;
	font-weight: 500;
	font-size: 1.6rem;
	border: none !important;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	border: 1px solid $mainColor !important;
	color: $mainColor !important;
	background-color: #f5f6f9 !important;
}

.wp-pagenavi span.pages {
	border-radius: 0;
	border: none !important;
	background-color: inherit !important;
	color: $textColor !important;
}

.wp-pagenavi .nextpostslink {
	background-color: $mainColor;
	position: relative;
	margin-left: vw(10);
	background: url(../images/common/icon_next.png) no-repeat center center;

	&:hover {
		opacity: 0.7;
	}
}

.wp-pagenavi .previouspostslink {
	position: relative;
	background-color: $mainColor;
	margin-right: vw(10);
	background: url(../images/common/icon_prev.png) no-repeat center center;

	&:hover {
		opacity: 0.7;
	}
}

.wp-pagenavi .page.larger {
	display: none;
}

.entry_title {
	font-weight: 700;
	font-size: 18px;
	padding-bottom: vw(30);
	margin-bottom: vw(20);
	border-bottom: 1px solid #e4e6ea;
}

.entry_body {
	margin-bottom: vw(100);

	figure {
		margin: vw(40) 0;

		figcaption {
			font-size: 1.4rem;
			margin-top: vw(15);
			font-weight: 500;
		}
	}

	p {
		line-height: 2;
		font-weight: 500;
		margin: vw(40) 0;
	}

	h2 {
		line-height: 1.4;
		font-size: 17px;
		font-weight: 700;
		border-top: 2px solid $mainColor;
		border-bottom: 2px solid $mainColor;
		margin: vw(60) 0 vw(60) 0;
		padding: vw(13) vw(20);
	}

	h3 {
		line-height: 1.4;
		font-size: 16px;
		font-weight: 700;
		border-left: 2px solid $mainColor;
		margin: vw(40) 0 vw(40) 0;
		padding-left: 0.5em;
	}

	h4 {
		line-height: 1.4;
		font-size: 15px;
		font-weight: 700;
		margin: vw(20) 0 vw(20) 0;
	}

	ul {
		margin: 2rem 0;

		li {
			margin-bottom: 5px;
			font-weight: 500;
			position: relative;
			padding-left: 1.7em;

			&::before {
				content: "●";
				position: absolute;
				top: 0.25em;
				left: 0;
				color: $mainColor;
				font-size: 10px;
			}
		}
	}

	ol {
		margin: 2rem 0;
		counter-reset: item;
		list-style: none;
		padding-left: 0;

		li {
			display: block;
			counter-increment: item;

			&::before {
				content: counters(item, "-") ". ";
				font-weight: bold;
			}

			ol {
				margin: 0.5rem 0 1rem 0;
				counter-reset: item;
				list-style: none;
				padding-left: 1em;
				margin-top: .5em;
			}
		}
	}

	pre {
		margin: 6rem 0;
		background-color: #f7f6f3;
		border: 2px solid $mainColor;
		padding: 4rem 3.5rem;
		font-weight: 500;
		line-height: 2.0;
	}

	a:not(.wp-block-button__link):not(.wp-blogcard-item) {
		color: $mainColor;
		font-weight: 500;
		position: relative;
		display: inline-block;
		padding-right: 21px;
		border-bottom: 1px solid $mainColor;
		margin: vw(30) 0 vw(30) 0;

		&::before {
			background: url(../images/common/icon_arrow_blue.svg) no-repeat left top;
			position: absolute;
			top: 50%;
			right: 0;
			transform: translate(0, -50%);
			content: "";
			width: 16px;
			height: 11px;
		}

		&:hover {
			opacity: 0.7;
		}
	}

	.wp-block-button {
		max-width: 250px;
		height: 52px;
		margin: vw(30) 0 vw(30) 0;
	}

	a.wp-block-button__link {
		width: 200px;
		height: 52px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		background-color: $mainColor;
		color: #fff;
		font-weight: 500;
		letter-spacing: 0.1em;
		border-radius: 0;

		&::before {
			content: '';
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 2px;
			transform: scaleX(0);
			transform-origin: left;
			transition: transform 0.3s ease;
			background-color: $pointColor;
		}

		&:hover {
			&::before {
				transform: scaleX(1);
			}

			.btn_arrow {
				svg {
					opacity: 1;
				}

				&::before {
					width: 26px;
					height: 26px;
				}
			}
		}

		.btn_txt {}

		.btn_arrow {
			position: absolute;
			right: 30px;
			top: 50%;
			transform: translateY(-50%);

			svg {
				fill: none;
				width: 1rem;
				height: 1rem;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) rotate(.00001deg);
				opacity: 0;
			}

			path {
				stroke: #fff;
			}

			&::before {
				background-color: $pointColor;
				border-radius: 50%;
				content: "";
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%) rotate(.00001deg);
				position: absolute;
				transition: all 0.3s ease-out;
				width: 6px;
				height: 6px;
			}
		}
	}
}

.sub_single_entry_box {
	display: flex;
	flex-direction: column;
	gap: 50px;

	.side_area {

		.side_title {
			color: #fff;
			background-color: $mainColor;
			height: 48px;
			font-size: 20px;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 400;
		}

		.side_item {
			&:not(:last-child) {
				border-bottom: 1px solid #dddddd;
			}

			a {
				background-color: #f5f6f9;
				padding: 12px 40px 12px 20px;
				font-weight: 500;

				.btn_arrow {
					right: 20px;
				}
			}
		}
	}
}

.common_sub_container_bg {
	display: flex;
	justify-content: center;
	padding: vw(65) 0 80px 0;
}

.common_sub_container02_bg {
	display: flex;
	justify-content: center;
	position: relative;
	background-color: #f5f6f9;
	margin-top: vw(100);
	padding: vw(65) 0 80px 0;

	&::before {
		background: url(../images/common/bk_circle_top_gray_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.common_sub_lead {
	margin-bottom: vw(85);
	p + p{
		margin-top: 20px;
	}
}

.common_sub_h2_ttl {
	text-align: center;
	margin-bottom: vw(40);

	.common_en01 {
		font-size: 48px;
		font-family: $en01;
		font-weight: 500;
		letter-spacing: 0.05em;
		color: #fff;
		display: block;
		line-height: 1.0;
	}

	.h2_ttl {
		margin-top: 10px;
		display: inline-block;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
}

.common_form {
	&_ttl {
		text-align: center;
		font-size: 2.0rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.5;
		margin-bottom: vw(40);
	}

	.common_sub_lead {
		margin-bottom: vw(60);
	}
}

.common_form_thanks_box {
	padding: 30px 20px;
	background-color: #f5f6f9;
	margin-bottom: 30px;
	position: relative;

	&_ttl {
		font-size: 2rem;
		font-weight: 700;
		text-align: center;
		margin-bottom: vw(15);
	}

	&_add {
		letter-spacing: 0.1em;
		font-weight: 500;
		text-align: center;
		line-height: 2.25;
		margin-bottom: vw(35);
	}

	&_card {
		background-color: #fff;
		border: 1px solid #16376f;
		padding: vw(30);
		width: vw(600);
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
		display: grid;
		grid-template-columns: max-content;
		justify-content: center;

		dl {
			line-height: 2;

			&+dl {
				margin-top: vw(15);
				padding-top: vw(15);
			}

			dt {
				display: inline;
				font-weight: 500;
				letter-spacing: 0.1em;
				font-weight: 700;

				&::after {
					content: "：";
					margin: 0 0.25em;
				}
			}

			dd {
				display: inline;
				font-weight: 500;
				letter-spacing: 0.1em;
				margin-left: 0;

				&::after {
					content: "\A";
					white-space: pre;
				}
			}
		}
	}
}

/* ========== service ========== */
.service .common_sub_main {
	background: url(../images/service/service_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

/* ========== sub_service_list ========== */
.sub_service_list_inner {
	display: grid;
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.sub_service_item {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: vw(40) vw(40) vw(60) vw(40);
	background-color: #f5f6f9;
	border-top: 2px solid $mainColor;
	border-bottom: 2px solid $mainColor;
	box-sizing: border-box;
}

.sub_service_card_icon {
	margin-right: vw(30);
	width: vw(136);
	height: vw(136);
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;

	img {
		width: vw(79);
	}
}

.sub_service_card_ttl {
	display: flex;
	align-items: center;
	margin-bottom: vw(40);

	h2 {
		font-size: 22px;
		font-weight: 500;
		color: $mainColor;
		line-height: 1.4;
		width: calc(100% - 8.3rem);
	}
}

.sub_service_card_desc {
	line-height: 2.25;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: justify;
	flex: 1;
	margin-bottom: vw(40);
}

.sub_service_card_btn {
	margin: 0 auto;
}

/* ========== library ========== */
.library .common_sub_main {
	background: url(../images/library/library_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_libraly_intro {
	background: #f5f6f9;
	padding: vw(60) vw(40) vw(70);
	margin-bottom: vw(80);
	position: relative;

	&::after {
		content: '';
		position: absolute;
		bottom: vw(-50);
		left: 50%;
		transform: translateX(-50%);
		border-left: vw(60) solid transparent;
		border-right: vw(60) solid transparent;
		border-top: vw(50) solid #f5f6f9;
	}
}

.sub_libraly_design01 {
	background: url(../images/library/libraly_design01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	bottom: 0;
	right: -10px;
	width: vw(139);
	height: vw(205);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_libraly_intro_ttl {
	text-align: center;
	margin-bottom: vw(50);

	.h2_ttl {
		font-size: 24px;
		font-weight: 500;
		color: $mainColor;
		letter-spacing: 0.1em;
	}
}

.sub_libraly_intro_box {
	display: flex;
	flex-direction: column;
	gap: vw(40);
	padding: 25px 0 30px 0;
	border-top: 1px dotted $mainColor;
	border-bottom: 1px dotted $mainColor;
	margin-bottom: 30px;
}

.sub_libraly_intro_img {
	img {
		width: 100%;
		display: block;
	}
}

.sub_libraly_intro_desc {
	p {
		line-height: 2.0;
		letter-spacing: 0.06em;
		font-size: 1.4rem;
		font-weight: 500;

		&+p {
			margin-top: vw(30);
		}
	}
}

.sub_libraly_point_list {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}


.sub_libraly_point_item {
	background: #fff;
	border-radius: 50%;
	padding: vw(20);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 240px;
	min-height: 240px;
	margin-left: auto;
	margin-right: auto;
}

.sub_libraly_point_label {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: vw(5);
	margin-bottom: vw(15);
	color: $mainColor;
}

.sub_libraly_point_en {
	font-family: $en01;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 5px;
}

.sub_libraly_point_num {
	font-family: $en01;
	font-size: 26px;
	letter-spacing: 0.1em;
	line-height: 1;
}

.sub_libraly_point_txt {
	font-family: $min01;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	font-weight: 500;
	min-height: calc(2.2rem * 4 * 1.5);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	.common_cl_txt {
		text-decoration: underline;
	}
}

.sub_libraly_intro_fix {
	text-align: center;
	margin-top: vw(60);

	&_ttl {
		font-family: $min01;
		font-size: 2.0rem;
		letter-spacing: 0.1em;
		font-weight: 500;
		line-height: 1.4;
		margin-bottom: vw(30);

		.common_cl_txt {
			border-bottom: 1px solid $pointColor;
		}
	}

	&_txt {
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		font-weight: 500;
	}
}

/* ========== news ========== */
.news .common_sub_main {
	background: url(../images/news/news_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_news_important {
	margin-bottom: 50px;

	&_head {
		background-color: $pointColor;
		padding: 10px;
		display: flex;
		align-items: center;
		justify-content: center;

		.h2_ttl {
			color: #fff;
			font-weight: 500;
			letter-spacing: 0.1em;
			white-space: nowrap;
			position: relative;
			padding-left: 22px;
			font-size: 16px;
			display: inline-block;

			&::before {
				background: url(../images/common/common_icon_caution.svg) no-repeat left top;
				background-size: contain;
				content: '';
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				width: 17px;
				height: 17px;
			}
		}
	}

	&_list {
		background-color: #f7f6f3;
		padding: 10px 15px 10px 20px;
	}
}

/* ========== sub_news_tab ========== */
.sub_news_tab {
	margin-bottom: 25px;
}

.sub_news_tab_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.sub_news_tab_item {
	cursor: pointer;
	border: 1px solid var(--tab-color, #{$mainColor});
	background: #fff;
	color: var(--tab-color, #{$mainColor});
	letter-spacing: 0.1em;
	font-size: 13px;
	font-weight: 500;
	transition: all 0.2s;
	display: flex;
	align-items: center;
	padding: 10px;

	a {
		color: var(--tab-color, #{$mainColor});
		display: flex;
		align-items: center;
		width: 100%;
	}

	.btn_arrow {
		right: 20px;

		&::before {
			background-color: var(--tab-color, #{$mainColor});
		}
	}

	&.is-active {

		background: var(--tab-color, #{$mainColor});
		color: #fff;
		cursor: default;
		pointer-events: none;
		padding: 10px 15px;

		.btn_arrow {
			display: none;
		}
	}

	&.cat_all {
		border-color: $mainColor;
		color: $mainColor;

		.btn_arrow {
			&::before {
				background-color: $mainColor;
			}
		}

		&.is-active {
			background: $mainColor;
			color: #fff;
		}
	}

	&.cat_info {
		border-color: #d85965;
		color: #d85965;

		.btn_arrow {
			&::before {
				background-color: #d85965;
			}
		}

		&.is-active {
			background: #d85965;
			color: #fff;
		}
	}

	&.cat_column {
		border-color: #569ea3;
		color: #569ea3;

		.btn_arrow {
			&::before {
				background-color: #569ea3;
			}
		}

		&.is-active {
			background: #569ea3;
			color: #fff;
		}
	}

	&.cat_useful {
		border-color: #6853c5;
		color: #6853c5;

		.btn_arrow {
			&::before {
				background-color: #6853c5;
			}
		}

		&.is-active {
			background: #6853c5;
			color: #fff;
		}
	}

	&.cat_news {
		border-color: $pointColor;
		color: $pointColor;

		&.is-active {
			background: $pointColor;
			color: #fff;

			.sub_news_tab_icon {
				background: #fff;
			}
		}
	}

	&.cat_event {
		border-color: #3b87c2;
		color: #3b87c2;

		.btn_arrow {
			&::before {
				background-color: #3b87c2;
			}
		}

		&.is-active {
			background: #3b87c2;
			color: #fff;
		}
	}
}

.sub_faq_tab .sub_news_tab_item,.sub_column_tab .sub_news_tab_item {
	.btn_arrow {
		&::before {
			background-color: var(--tab-color, #{$pointColor});
		}
	}
}

.sub_news_tab_icon {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
	transition: background 0.2s;
}

/* ========== sub_news_panel ========== */
.sub_news_panel {
	display: none;

	&.is-show {
		display: block;
	}
}

/* ========== カテゴリバッジ (リスト版) ========== */
.sub_news_cat_icon {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}

.top_news_block_cat {
	&.cat_info {
		color: #d85965;
		background: #fff2f3;
	}

	&.cat_column {
		color: #569ea3;
		background: #edf8f9;
	}

	&.cat_useful {
		color: #6853c5;
		background: #f1eeff;
	}

	&.cat_news {
		color: $pointColor;
		background: #fef7ed;
	}

	&.cat_event {
		color: #3b87c2;
		background: #f1f8fd;
	}

	&.term_faq {
		color: #fff;
		background: $mainColor;
	}
}

/* ========== faq ========== */
.faq .common_sub_main {
	background: url(../images/faq/faq_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_faq_tab {
	margin-bottom: 50px;

	.sub_news_tab_item {

		.btn_arrow {
			right: 15px;
		}

		&:first-child {
			grid-column: 1 / -1;
		}
	}
}

.sub_column_tab{
	margin-bottom: 50px;

	.sub_news_tab_item {

		.btn_arrow {
			right: 15px;
		}
	}
}

/* ========== sub_faq_panel ========== */
.sub_faq_panel {
	display: none;

	&.is-show {
		display: block;
	}
}

.sub_faq_block_list {
	gap: 20px;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 2;
}

.sub_faq_block_item {
	background-color: #f5f6f9;
	padding: 20px 15px;

	a {
		position: relative;
		padding-left: vw(95);

		&::before {
			background: url(../images/faq/icon_q.png) no-repeat left top;
			background-size: contain;
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translate(0, -50%);
			left: 0;
			width: vw(70);
			height: vw(70);
		}

		.btn_arrow {
			right: 0;
		}

		.top_news_block_link {
			margin-right: vw(20);
		}

		&:hover {
			.top_news_block_link {
				color: $pointColor;
			}
		}
	}
}

/* ========== faq_detail ========== */
.sub_faq_detail_list_sec+.sub_faq_detail_list_sec {
	margin-top: vw(120);
}

.sub_faq_detail_list {

	position: relative;

	.sub_faq_block_item {
		background-color: #fff;
	}
}


.sub_faq_detail_list_sec .faq_design01 {
	background: url(../images/faq/faq_design01.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: vw(-113);
	right: vw(30);
	width: vw(109);
	height: vw(148);
	animation: walkSwing 3s ease-in-out infinite;
}

.sub_faq_detail_list_sec .faq_design02 {
	background: url(../images/faq/faq_design02.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: vw(-119);
	left: vw(50);
	width: vw(70);
	height: vw(154);
	animation: walkSwing 3s ease-in-out infinite;
}

.entry_title_faq {
	font-weight: 500;
	font-size: 17px;
	position: relative;
	padding-left: vw(95);
	margin-top: vw(30);
	border-bottom: 1px solid #e4e6ea;
	padding-bottom: vw(30);
	margin-bottom: vw(40);
	min-height: 50px;

	&::before {
		background: url(../images/faq/icon_q.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: vw(70);
		height: vw(70);
	}
}

.entry_body.faq_entry {
	position: relative;
	padding-left: vw(95);

	&::before {
		background: url(../images/faq/icon_a.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: vw(70);
		height: vw(70);
	}
}

.single_entry_contact_box {
	background: url(../images/faq/faq_contact_bk.jpg) no-repeat center center;
	background-size: cover;
	padding: 30px;
	margin-bottom: vw(80);
}

.single_entry_contact_ttl {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: vw(90);
	margin-bottom: vw(5);

	.div_ttl {
		position: relative;
		z-index: 1;
		font-size: 18px;
		font-weight: 500;
		color: #fff;
	}

	.common_en01 {
		line-height: 1;
		font-size: 48px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 0;
		white-space: nowrap;
		color: #235478;
		font-weight: 400;
	}
}

.single_entry_contact_txt {
	text-align: center;
	color: #fff;
	font-weight: 500;
	margin-bottom: vw(10);
}

.single_entry_contact_btn_wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.single_entry_contact_sub {
	background-color: $pointColor;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 3px;
	white-space: nowrap;
	width: 165px;
	height: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	position: relative;
	top: 15px;
	z-index: 1;
	border: 1px solid #fff;
}

.single_entry_contact_btn {
	background-color: #fff;
	justify-content: center;
	align-items: center;
	width: 225px;
	height: 52px;
	transition: opacity 0.3s;
	padding: 5px 0 0 0;
	box-sizing: border-box;
	position: relative;

	&::before {
		background-color: $pointColor;
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.3s ease;
	}

	&:hover {
		&::before {
			transform: scaleX(1);
		}
	}

	.btn_txt {
		color: $mainColor;
		font-weight: 700;
	}

	.btn_arrow {
		right: 20px;
	}
}

/* ========== mailmagazine ========== */
.mailmagazine .common_sub_main {
	background: url(../images/mailmagazine/mailmagazine_mainimg.jpg) no-repeat center top;
	background-size: cover;

	.common_en01 {
		font-size: 38px;
	}
}

.sub_mailmagazine_intro {
	margin-bottom: vw(120);
	background-color: #f5f6f9;
	padding: vw(60);
	position: relative;

	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 40px 38px;
		border-color: transparent transparent #e3e6f0 transparent;
	}

	&::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 40px 38px 0 0;
		border-color: #fff transparent transparent transparent;
	}

	&_ttl {
		text-align: center;
		margin-bottom: vw(30);

		.ttl_img {
			img {
				max-width: 210px;
			}
		}

		.div_ttl {
			font-size: 22px;
			font-weight: 500;
		}
	}

	&_disc {
		display: table;
		margin-left: auto;
		margin-right: auto;

		.common_txt01+.common_txt01 {
			margin-top: vw(40);
		}

		.common_cl_txt {
			font-weight: 700;
		}

		.cau_txt {
			margin-top: vw(20);
			line-height: 2;
			letter-spacing: 0.1em;
			font-weight: 500;

			a {
				text-decoration: underline;

				&:hover {
					text-decoration: none;
				}
			}
		}
	}

	&_design01 {
		background: url(../images/mailmagazine/mailmagazine_design01.svg) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: vw(-15);
		right: 10px;
		width: vw(126);
		height: vw(101);
		animation: floatUpDown 3s ease-in-out infinite;
	}
}

/* ========== recruit ========== */
.recruit .common_sub_main {
	background: url(../images/recruit/recruit_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_recruit_container01_bg {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	padding: vw(65) 0 60px 0;
	text-align: center;
}

.sub_recruit_container01_design01 {
	background: url(../images/recruit/sub_recruit_container01_design01.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: -90px;
	left: 0;
	width: 80px;
	height: 81px;
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_recruit_container01_design02 {
	background: url(../images/recruit/sub_recruit_container01_design02.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: -95px;
	right: 0;
	width: 110px;
	height: 78px;
	animation: walkSwing 2.5s ease-in-out infinite;
}

.sub_recruit_catch {
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin: 0 0 vw(35) 0;

	&+.common_sub_lead {
		text-align: left;
	}
}

.sub_recruit_container01_btns {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-top: 30px;

	.top_recruit_btn {
		margin-top: 0;
	}

}

.sub_recruit_btn--point {
	a {
		background-color: $pointColor;

		&::before {
			background-color: #fff;
		}

		.btn_arrow {
			path {
				stroke: $pointColor;
			}

			&::before {
				background-color: #fff;
			}
		}
	}
}

.sub_recruit_container02_bg {
	display: flex;
	justify-content: center;
	background-color: #f5f6f9;
	padding: 0 0 120px 0;
	position: relative;
	margin-top: vw(100);

	&::before {
		background: url(../images/common/bk_circle_top_gray_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}

	.common_inner {
		position: relative;
	}
}

.sub_recruit_message {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.sub_recruit_message_body {
	order: 0;
}

.sub_recruit_message_ttl {
	text-align: center;
	margin-bottom: 15px;
}

.sub_recruit_message_catch {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
}

.sub_recruit_message_img {
	order: 1;
	margin-top: 20px;

	img {
		display: block;
		width: 100%;
	}
}

.sub_recruit_memo {
	margin-top: 40px;
	background-color: #fff;
	padding: 35px 20px 30px 30px;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 40px 38px;
		border-color: transparent transparent #e3e6f0 transparent;
	}

	&::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 40px 38px 0 0;
		border-color: #f5f6f9 transparent transparent transparent;
	}

	.common_txt01 {
		letter-spacing: 0.025em;
	}

	.common_txt01+.common_txt01 {
		margin-top: 15px;
	}
}

.sub_recruit_container03_bg {
	position: relative;
	display: flex;
	justify-content: center;
	padding: vw(65) 0 80px 0;

	&::before {
		background: url(../images/common/bk_circle_top_white_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}

	.common_sub_h2_ttl {
		position: relative;

		.common_en01 {
			color: #f5f6f9;
		}
	}
}

.sub_recruit_container03_design01 {
	background: url(../images/recruit/sub_recruit_container03_design01.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: vw(75);
	left: vw(25);
	width: vw(117);
	height: vw(103);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_recruit_container03_design02 {
	background: url(../images/recruit/sub_recruit_container03_design02.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: vw(60);
	right: vw(75);
	width: vw(67);
	height: vw(93);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_recruit_persona_list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 50px;
}

.sub_recruit_persona_box {
	position: relative;
	border-left: 1px solid $mainColor;
	border-right: 1px solid $mainColor;
	border-bottom: 1px solid $mainColor;
	padding: 35px 20px 25px 20px;
	margin-top: 25px;
	background: linear-gradient(149deg, #edf4f8 0%, #edf4f8 19%, #ffefdb 100%);

	&::before {
		border-top: 1px solid $mainColor;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: calc(50% - 3em);
		height: 1px;
	}

	&::after {
		border-top: 1px solid $mainColor;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: calc(50% - 3em);
		height: 1px;
	}
}

.sub_recruit_persona_num {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 0 15px;
	font-size: 28px;
	line-height: 1;
	color: $mainColor;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.sub_recruit_persona_ttl {
	font-size: 18px;
	font-weight: 700;
	color: $pointColor;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	text-align: center;
}

.sub_recruit_persona_txt {
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.sub_recruit_container04_bg {
	position: relative;
	background-color: #f5f6f9;
	margin-top: vw(100);
	padding: vw(65) 0 80px 0;

	&::before {
		background: url(../images/common/bk_circle_top_gray_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_recruit_why {
	margin-top: 30px;
	margin-left: 4.6875%;
	display: flex;
	flex-direction: column;
}

.sub_recruit_why_img {
	img {
		display: block;
		width: 100%;
	}
}

.sub_recruit_why_points {
	background-color: #fff;
	padding: 30px 20px;
	margin-right: 4.6875%;
}

.sub_recruit_why_point {
	display: flex;
	flex-direction: column;

	&+.sub_recruit_why_point {
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px solid #e3e6f0;
	}
}

.sub_recruit_why_point_visual {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
	order: 0;
}

.sub_recruit_why_point_num {
	display: flex;
	align-items: baseline;
	gap: 5px;
	line-height: 1;

	.point_label {
		font-size: 13px;
		font-weight: 500;
		color: $mainColor;
		letter-spacing: 0.1em;
	}

	.point_no {
		font-size: 36px;
		font-weight: 700;
		color: $mainColor;
		letter-spacing: 0.05em;
	}
}

.sub_recruit_why_point_icon {
	width: 50px;

	img {
		width: 100%;
	}
}

.sub_recruit_why_point_body {
	order: 1;
}

.sub_recruit_why_point_ttl {
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	color: $mainColor;
}

.sub_recruit_why_point_txt {
	line-height: 2.25;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.sub_recruit_container05_bg {
	position: relative;
	display: flex;
	justify-content: center;
	margin-top: vw(100);
	padding: vw(65) 0 80px 0;

	&::before {
		background: url(../images/common/bk_circle_top_white_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}

	.common_sub_h2_ttl .common_en01 {
		color: #f5f6f9;
	}
}

.sub_recruit_job_list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 40px;
}

.sub_recruit_job_box {
	background-color: #f5f6f9;
	border-top: 2px solid $mainColor;
	border-bottom: 2px solid $mainColor;
	padding: 30px 20px 35px 20px;
	text-align: center;
}

.sub_recruit_job_label {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: $pointColor;
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.sub_recruit_job_img {
	display: block;
	margin: 15px auto 20px auto;
}

.sub_recruit_job_ttl {
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
}

.sub_recruit_job_txt {
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: left;
	margin-bottom: 20px;
}

.sub_recruit_job_ul {
	text-align: left;

	li {
		position: relative;
		padding-left: 1.2em;
		line-height: 1.8;
		letter-spacing: 0.1em;
		font-weight: 500;

		&::before {
			content: "";
			position: absolute;
			top: 0.7em;
			left: 0;
			width: 0.5em;
			height: 0.5em;
			border-radius: 50%;
			background-color: $mainColor;
		}

		&+li {
			margin-top: 6px;
		}
	}
}

.sub_recruit_container06_bg {
	background: url(../images/recruit/sub_recruit_container06_bk.png) no-repeat center bottom;
	background-size: cover;
	margin-top: 60px;
	padding: 50px 0;
	display: flex;
	justify-content: center;
	text-align: center;
}

.sub_recruit_cta_catch {
	font-size: 22px;
	font-weight: 500;
	color: #fff;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.sub_recruit_cta_txt {
	color: #fff;
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: left;
	margin-bottom: 30px;
}

.sub_recruit_container06_bg .sub_recruit_container01_btns {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.sub_recruit_container07_bg {
	display: flex;
	justify-content: center;
	margin-top: 60px;
	padding: 0 0 60px 0;

	.common_sub_h2_ttl .common_en01 {
		color: #f5f6f9;
	}
}

.sub_recruit_num_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-flow: dense;
	gap: 12px;
	margin-top: 40px;
}

.sub_recruit_num_item {
	background-color: #f5f6f9;
	padding: 25px 15px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sub_recruit_num_item--wide,
.sub_recruit_num_item--row {
	grid-column: span 2;
}

.sub_recruit_num_item--row {
	.sub_recruit_num_inline {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
	}
}

.sub_recruit_num_ttl {
	font-size: 15px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}

.sub_recruit_num_icon {
	display: block;
}

/* SP: 1〜6個目のアイコン枠の高さを揃える（最も高い小アイコン114pxに固定し中央寄せ。6個目の横長イラストは枠内に収める） */
.sub_recruit_num_item:nth-child(-n + 5) .sub_recruit_num_icon,
.sub_recruit_num_item:nth-child(8) .sub_recruit_num_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 114px;

	img {
		max-height: 100%;
		width: auto;
	}
}

.sub_recruit_num_val {
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.05em;
	line-height: 1;

	span {
		font-family: $en01;
		font-size: 46px;
		font-weight: 700;
		color: $pointColor;
		letter-spacing: 0.02em;
		margin: 0 0.05em;
	}
}

.sub_recruit_num_note {
	text-align: right;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 10px;
}

.sub_recruit_num_cautxt {
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 5px;
	font-size: 12px;
}

.sub_recruit_container08_bg {
	position: relative;
	display: flex;
	justify-content: center;
	background-color: #f5f6f9;
	margin-top: vw(100);
	padding: vw(65) 0 80px 0;

	.common_sub_h2_ttl .common_en01 {
		font-size: 40px;
	}

	&::before {
		background: url(../images/common/bk_circle_top_gray_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_recruit_env_sub {
	display: table;
	margin: 0 auto 35px auto;
	background-color: $mainColor;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.1em;
	padding: 6px 20px;
}

.sub_recruit_env_list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sub_recruit_env_box {
	background-color: #fff;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px;
}

.sub_recruit_env_img {
	flex-shrink: 0;
	width: 70px;

	img {
		width: 100%;
	}
}

.sub_recruit_env_body {
	flex: 1;
}

.sub_recruit_env_ttl {
	font-size: 16px;
	font-weight: 500;
	color: $mainColor;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

.sub_recruit_env_txt {
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.sub_recruit_env_note {
	font-size: 12px;
}

.sub_recruit_container09_bg {
	display: flex;
	justify-content: center;
	margin-top: 60px;
	padding: 50px 0 120px 0;
	background: linear-gradient(160deg, $mainColor 0%, #013a5e 100%);

	.common_sub_h2_ttl .h2_ttl {
		color: #fff;
	}
}

.sub_recruit_interview_tabs {
	display: flex;
	gap: 10px;
	margin-top: 40px;
}

.sub_recruit_interview_tab {
	background-color: #fff;
	padding: 10px;
	text-align: center;
	cursor: pointer;
	transition: opacity 0.3s;
	width: 50%;

	&.is-active {
		opacity: 1;
	}
}

.sub_recruit_interview_tab:not(.is-active) {
	background-color: $pointColor;

	.sub_recruit_interview_tab_meta,
	.sub_recruit_interview_tab_catch {
		color: #fff;
	}
}

.sub_recruit_interview_tab_meta {
	display: block;
	font-size: 10px;
	font-weight: 500;
	color: $mainColor;
	margin-bottom: 6px;
	letter-spacing: -0.05em;
}

.sub_recruit_interview_tab_catch {
	display: block;
	font-weight: 700;
	color: $mainColor;
}

.sub_recruit_interview_panels {
	background-color: #fff;
	padding: 30px 20px;
	margin-top: 12px;
}

.sub_recruit_interview_panel {
	display: none;

	&.is-show {
		display: block;
	}
}

.sub_recruit_interview_qa+.sub_recruit_interview_qa,
.sub_recruit_interview_schedule {
	margin-top: 40px;
}

.sub_recruit_interview_q {
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.1em;
	padding-bottom: 12px;
	margin-bottom: 20px;
	border-bottom: 2px solid $mainColor;
	display: flex;
	align-items: center;
	gap: 10px;

	.common_en01 {
		background: #002d4d;
		color: #fff;
		border-radius: 50%;
		width: 36px;
		height: 36px;
		font-size: 22px;
		letter-spacing: 0.1em;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.sub_recruit_interview_box {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.sub_recruit_interview_img {
	img {
		display: block;
		width: 100%;
	}
}

.sub_recruit_interview_h4 {
	font-size: 16px;
	font-weight: 500;
	color: $mainColor;
	line-height: 1.6;
	margin-bottom: 15px;
}

.sub_recruit_interview_txt {
	line-height: 2.0;
	letter-spacing: -0.025em;
	font-weight: 500;

	&+.sub_recruit_interview_txt {
		margin-top: 15px;
	}
}

.sub_recruit_schedule_ttl {
	margin-bottom: vw(40);
	text-align: center;

	.common_en01 {
		color: #f5f6f9;
		font-size: 40px;
		letter-spacing: 0.05em;
		line-height: 1;
	}

	.h3_ttl {
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.4;
	}
}

.sub_recruit_schedule_list {
	position: relative;
	margin-top: 20px;
}

.sub_recruit_schedule_list::before {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 4px;
	width: 2px;
	background: linear-gradient(to bottom, $mainColor, $pointColor);
}

.sub_recruit_schedule_item {
	position: relative;
	padding: 10px 0 10px 20px;
}

.sub_recruit_schedule_dot {
	position: absolute;
	top: 18px;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: $pointColor;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(1) .sub_recruit_schedule_dot {
	background: #002d4d;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(2) .sub_recruit_schedule_dot {
	background: #253a40;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(3) .sub_recruit_schedule_dot {
	background: #4b4833;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(4) .sub_recruit_schedule_dot {
	background: #705627;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(5) .sub_recruit_schedule_dot {
	background: #95631a;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(6) .sub_recruit_schedule_dot {
	background: #bb700d;
}

.sub_recruit_schedule_list.in07 .sub_recruit_schedule_item:nth-child(7) .sub_recruit_schedule_dot {
	background: #e07e00;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(1) .sub_recruit_schedule_dot {
	background: #002d4d;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(2) .sub_recruit_schedule_dot {
	background: #203942;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(3) .sub_recruit_schedule_dot {
	background: #404437;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(4) .sub_recruit_schedule_dot {
	background: #705627;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(5) .sub_recruit_schedule_dot {
	background: #805b21;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(6) .sub_recruit_schedule_dot {
	background: #a06716;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(7) .sub_recruit_schedule_dot {
	background: #c0720b;
}

.sub_recruit_schedule_list.in08 .sub_recruit_schedule_item:nth-child(8) .sub_recruit_schedule_dot {
	background: #e07e00;
}

.sub_recruit_schedule_body {
	display: flex;
	gap: 15px;
	align-items: baseline;
}

.sub_recruit_schedule_time {
	flex-shrink: 0;
	font-weight: 500;
	min-width: 50px;
}

.sub_recruit_schedule_txt {
	font-weight: 700;
	color: $mainColor;
}

.sub_recruit_container10_bg {
	position: relative;
	display: flex;
	justify-content: center;
	padding: vw(65) 0 120px 0;

	.common_sub_h2_ttl .common_en01 {
		color: #f5f6f9;
		font-size: 40px;
	}

	.sub_profile_tbl {
		margin-bottom: 0;
	}

	&::before {
		background: url(../images/common/bk_circle_top_white_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_recruit_req_table {
	margin-top: 40px;

	td {

		p+p {
			margin-top: vw(20);
		}

		.tbl_inbox {
			margin-top: vw(20);
			background-color: #f5f6f9;
			padding: vw(25) vw(50);

			&_ttl {
				display: flex;
				align-items: center;
				font-weight: 700;
				letter-spacing: 0.1em;
				color: $mainColor;

				&::before {
					content: '';
					margin-right: 8px;
					border-top: 7px solid transparent;
					border-bottom: 7px solid transparent;
					border-left: 11px solid $mainColor;
				}
			}
		}

		.tbl_ullist {
			margin-top: vw(20);

			li {
				position: relative;
				padding-left: 1.2em;
				font-weight: 500;
				letter-spacing: 0.1em;
				line-height: 1.6;

				&::before {
					content: "●";
					position: absolute;
					left: 0;
					font-size: 1rem;
					top: 0.4em;
					color: $mainColor;
				}
			}
		}
	}
}

.sub_recruit_container11_bg {
	position: relative;
	display: flex;
	justify-content: center;
	background-color: #f5f6f9;
	padding: vw(65) 0 120px 0;

	&::before {
		background: url(../images/common/bk_circle_top_gray_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_recruit_process_list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 40px;
}

.sub_recruit_process_box {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;

	&:nth-child(1) .sub_recruit_process_num {
		background-color: $mainColor;
	}

	&:nth-child(2) .sub_recruit_process_num {
		background-color: color.mix($pointColor, $mainColor, 33%);
	}

	&:nth-child(3) .sub_recruit_process_num {
		background-color: color.mix($pointColor, $mainColor, 66%);
	}

	&:nth-child(4) .sub_recruit_process_num {
		background-color: $pointColor;
	}

	&:not(:last-child)::before {
		content: "";
		position: absolute;
		top: 100px;
		left: 30px;
		width: 2px;
		height: calc(100% + 30px);
		background-color: #d5dae3;
		z-index: 0;
	}
}

.sub_recruit_process_num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

.sub_recruit_process_card {
	flex: 1;
	background-color: #fff;
	padding: 25px 20px;
	text-align: center;
}

.sub_recruit_process_ttl {
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}

.sub_recruit_process_img {
	display: block;
	margin: 0 auto 12px auto;
}

.sub_recruit_process_txt {
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: left;
}

.sub_recruit_container12_bg {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 0;

	.common_sub_h2_ttl .common_en01 {
		color: #f5f6f9;
	}

	&::before {
		background: url(../images/common/bk_circle_top_white_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: vw(-100);
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_recruit_faq_list {
	margin-top: 40px;
}

.sub_recruit_faq_item {

	&+.sub_recruit_faq_item {
		margin-top: 15px;
	}
}

.sub_recruit_faq_q {
	padding: vw(20) vw(80) vw(20) vw(95);
	cursor: pointer;
	position: relative;
	border-bottom: 1px solid #e4e6ea;
	min-height: vw(110);
	display: flex;
	align-items: center;

	&::before {
		background: url(../images/faq/icon_q.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
		left: 0;
		width: vw(70);
		height: vw(70);
	}
}

.sub_recruit_faq_q_txt {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.025em;
}

.sub_recruit_faq_toggle {
	position: absolute;
	right: vw(30);
	top: 50%;
	transform: translateY(-50%);
	width: vw(20);
	height: vw(20);

	&::before,
	&::after {
		content: "";
		position: absolute;
		background-color: $mainColor;
	}

	&::before {
		top: 50%;
		left: 0;
		width: 100%;
		height: 2px;
		transform: translateY(-50%);
	}

	&::after {
		left: 50%;
		top: 0;
		width: 2px;
		height: 100%;
		transform: translateX(-50%);
		transition: transform 0.3s;
	}
}

.acctit.open .sub_recruit_faq_toggle::after {
	transform: translateX(-50%) scaleY(0);
}

.sub_recruit_faq_a {
	display: none;
	position: relative;
	padding: vw(30) 0 vw(30) vw(95);

	&::before {
		background: url(../images/faq/icon_a.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: 40px;
		left: 0;
		transform: translate(0, -50%);
		left: 0;
		width: vw(70);
		height: vw(70);
	}
}

.sub_recruit_faq_a_txt {
	line-height: 2.0;
	letter-spacing: -0.025em;
	font-weight: 500;
}

.sub_recruit_container12_bg+.sub_recruit_container06_bg {
	margin-bottom: 70px;
}

/* ========== message ========== */
.message .common_sub_main {
	background: url(../images/message/message_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_message_container01_bg {
	display: flex;
	justify-content: center;
	padding: 40px 0 50px 0;
}

.sub_message_profile {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.sub_message_profile_img {
	img {
		display: block;
		width: 100%;
	}
}

.sub_message_profile_body {
	margin-top: 20px;
	text-align: center;
}

.sub_message_profile_en {
	display: block;
	font-family: $en01;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.05em;
	color: #f5f6f9;
	margin-bottom: 12px;
}

.sub_message_profile_role {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-family: $min01;
}

.sub_message_profile_name {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-family: $min01;
}

.sub_message_container02_bg {
	display: flex;
	justify-content: center;
	position: relative;
	background: linear-gradient(100deg, #eef3f8 0%, #edf4f8 35%, #ffefdb 100%);
	padding: 70px 0;

	&::before {
		background: url(../images/common/bk_circle_top.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		transform: rotate(180deg);
	}

	&::after {
		background: url(../images/common/bk_circle_top.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50px;
	}

	.common_inner {
		position: relative;
	}
}

.sub_message_design {
	background: url(../images/message/message_design01.png) no-repeat left top;
	background-size: contain;
	content: "";
	position: absolute;
	top: -120px;
	right: 0;
	width: vw(143);
	height: vw(215);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_message_catch {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.15em;
	color: $mainColor;
	margin-bottom: 25px;
	text-align: center;
	font-family: $min01;
}

.sub_message_txt {
	p {
		margin-bottom: 20px;
		letter-spacing: 0.1em;
		font-weight: 500;
		line-height: 2.0;

		&:last-child {
			margin-bottom: 0;
		}
	}
}

.sub_message_container03_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;
}



/* ========== history ========== */
.history .common_sub_main {
	background: url(../images/history/history_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_history_container_bg {
	display: flex;
	justify-content: center;
	padding: 0 0 60px 0;
}

.sub_history_list {
	width: 100%;
	margin-bottom: 50px;
	position: relative;
}

.sub_history_design01 {
	background: url(../images/history/history_design01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	top: -35px;
	right: 0;
	width: vw(102);
	height: vw(151);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_history_item {
	display: flex;
	align-items: flex-start;
	padding: vw(40) 0;
	border-bottom: 1px solid #e4e6ea;

	&:last-child .sub_history_marker {
		&::before {
			content: none;
		}
	}
}

.sub_history_year {
	flex-shrink: 0;
	width: 80px;
	font-family: $en01;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.075em;
	font-feature-settings: "tnum";
	font-variant-numeric: tabular-nums;
	color: $mainColor;
	padding-top: 3px;

	&.haba {
		letter-spacing: 0em;
	}
}

.sub_history_marker {
	position: relative;
	flex-shrink: 0;
	align-self: stretch;
	width: vw(10);

	.sub_history_marker_bf {
		background: url(../images/history/history_line.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: -45px;
		left: 50%;
		transform: translateX(-50%);
		width: 6px;
		height: 45px;
	}

	.sub_history_marker_af {
		background: url(../images/history/history_line.png) no-repeat left top;
		background-size: contain;
		content: "";
		position: absolute;
		top: 30px;
		left: 50%;
		transform: translateX(-50%);
		width: 6px;
		height: 45px;
	}

	&::before {
		content: '';
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		width: 2px;
		background: #96acbd;
		height: calc(100% + 4rem);
	}

	&::after {
		content: '';
		position: absolute;
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: $mainColor;
	}
}

.sub_history_body {
	flex: 1;
	margin-left: 20px;
}

.sub_history_head {
	margin-bottom: 8px;
}

.sub_history_month {
	display: block;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: $mainColor;
}

.sub_history_txt {
	letter-spacing: 0.1em;
	font-weight: 500;
}

/* ========== profile ========== */
.profile .common_sub_main {
	background: url(../images/profile/profile_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_profile_origin {
	margin-bottom: 50px;
	background-color: #f5f6f9;
	border-top: 2px solid $mainColor;
	border-bottom: 2px solid $mainColor;
	padding: 30px 25px;
	position: relative;
}

.sub_profile_origin_ttl {
	font-weight: 500;
	font-family: $min01;
	font-size: 24px;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	text-align: center;
}

.sub_profile_origin_body {
	display: block;

	&::after {
		content: "";
		display: block;
		clear: both;
	}
}

.sub_profile_origin_txt {
	line-height: 2;
	letter-spacing: 0;
	font-weight: 500;
	padding-right: 25px;
}

.sub_profile_origin_logo {
	float: left;
	margin-left: 0;
	margin-right: 20px;
	margin-bottom: 5px;
	flex-shrink: 0;
	width: vw(180);
	height: vw(180);
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;

	img {
		width: vw(116);
		height: auto;
	}
}

.sub_profile_design01 {
	width: vw(139);
	height: vw(237);
	position: absolute;
	right: -15px;
	bottom: 0;
}

.sub_profile_tbl {
	margin-bottom: 60px;

	table,
	thead,
	tbody,
	tr,
	th,
	td {
		width: 100%;
		display: block;
	}

	table {

		th {
			padding: 5px 20px;
			background-color: #e4e6ea;
			font-weight: 700;
			letter-spacing: 0.1em;
			line-height: 2;
			box-sizing: border-box;
			vertical-align: top;

			&.sp_flex {
				display: flex;
				align-items: center;
				justify-content: space-between;
			}

			.th_link {

				a {
					position: relative;
					padding-right: 18px;
					border-bottom: 1px solid $mainColor;
					letter-spacing: 0;
					line-height: 1.4;
					color: $mainColor;
					transition: 0.3s;

					.btn_arrow {
						position: absolute;
						top: 50%;
						transform: translate(0, -50%);
						right: 0;

						svg {
							fill: none;
							width: 1.2rem;
							height: 1.2rem;
							position: relative;
						}

						path {
							stroke: $mainColor;
						}

					}

					&:hover {
						border-bottom: none;
					}
				}
			}
		}

		td {
			padding: 10px 20px 30px 20px;
			border-bottom: 1px solid #e4e6ea;
			font-weight: 500;
			letter-spacing: 0.05rem;
			line-height: 2;
			box-sizing: border-box;

			.office_box {
				&+.office_box {
					margin-top: 20px;
				}
			}

			.office_head {
				display: flex;
				gap: vw(15);
				align-items: center;
			}

			.office_ttl {
				font-weight: 500;
			}

			.office_map {
				a {
					color: $mainColor;
					position: relative;
					padding-left: 19px;
					border-bottom: 1px solid $mainColor;
					line-height: 1.4;
					transition: 0.3s;

					&::before {
						background: url(../images/common/icon_maplink.svg) no-repeat left top;
						content: "";
						position: absolute;
						top: 50%;
						transform: translate(0, -50%);
						left: 0;
						width: 14px;
						height: 20px;
					}

					&:hover {
						border-bottom: none;
					}
				}
			}

			.group_ttl {
				margin: vw(30) 0 vw(15) 0;
				font-weight: 700;
			}

			.group_btn {
				width: 240px;
				height: 50px;
				margin-top: vw(30);
				margin-bottom: vw(10);

				a {
					background-color: $mainColor;
					width: 100%;
					height: 100%;
					display: flex;
					align-items: center;
					justify-content: center;
					position: relative;

					&::before {
						background-color: $pointColor;
						content: "";
						position: absolute;
						left: 0;
						bottom: 0;
						width: 100%;
						height: 2px;
						transform: scaleX(0);
						transform-origin: left;
						transition: transform 0.3s ease;
					}

					&:hover {
						&::before {
							transform: scaleX(1);
						}
					}

					.btn_txt {
						color: #fff;
						position: relative;
						padding-right: 28px;

						&::after {
							background: url(../images/common/icon_outlink.svg);
							background-size: contain;
							content: "";
							position: absolute;
							top: 50%;
							transform: translate(0, -50%);
							right: 0;
							width: 18px;
							height: 18px;
						}
					}
				}
			}
		}
	}
}

/* ============================ OFFICE ============================ */
.office .common_sub_main {
	background: url(../images/office/office_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_office_anchor {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
	margin-bottom: 40px;
}

.sub_office_anchor_item {

	a {
		position: relative;
		display: flex;
		align-items: center;
		padding: vw(10) vw(35) vw(10) vw(10);
		border-bottom: 1px solid $mainColor;
		color: $mainColor;
		font-weight: 500;
		letter-spacing: 0.1em;
		transition: all 0.3s ease;
		width: 100%;

		&:hover {
			.sub_office_anchor_arrow {
				margin-top: 0;
			}
		}
	}
}

.sub_office_anchor_arrow {
	background: url(../images/common/icon_arrow_blue.svg);
	position: absolute;
	top: 50%;
	right: vw(10);
	transform: translate(0, -50%);
	content: "";
	width: 16px;
	height: 11px;
	margin-top: -4px;
	transform: rotate(90deg);
}

.sub_office_block {
	&+.sub_office_block {
		margin-top: 70px;
	}
}

.sub_office_block {
	padding: 40px 0;
}

.sub_office_ttl {
	text-align: center;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.sub_office_intro {
	display: flex;
	flex-direction: column;
	margin-bottom: 40px;
}

.sub_office_intro_txt {
	p+p {
		margin-top: 20px;
	}
}

.sub_office_intro_slider {
	width: 100%;
	margin-top: 25px;

	// 矢印・ドットを画像の下に配置するためのスペース
	.splide {
		padding-bottom: 42px;
	}

	.splide__arrow {
		top: auto;
		bottom: 19.5px;
		width: 16px;
		height: 12px;
		background: url(../images/common/icon_arrow_blue.svg) no-repeat center / contain;
		border: none;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		transform: none;

		svg {
			display: none;
		}

		&:hover {
			opacity: 0.6;
		}

		&--prev {
			left: 50%;
			transform: scaleX(-1);
			margin-left: -61px;
		}

		&--next {
			left: 50%;
			margin-left: 45px;
		}
	}

	.splide__pagination {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 16px;
		height: 20px;
		padding: 0;
		justify-content: center;
		align-items: center;

		.splide__pagination__page {
			width: 6px;
			height: 6px;
			margin: 6px;
			background: #ccd3d9;
			opacity: 1;

			&.is-active {
				background: $mainColor;
				transform: scale(1);
			}
		}
	}
}

.sub_office_slide {
	img {
		width: 100%;
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
}

.sub_office_access {
	display: flex;
	gap: vw(60);
	flex-wrap: wrap;
	background-color: #f5f6f9;
	padding: 30px 25px;
	position: relative;
}

.sub_office_access_deco {
	position: absolute;
	right: 20px;
	bottom: 100%;
	margin-bottom: -25px;
	z-index: 0;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sub_office_access_deco--01 {
	width: 70px;
	height: 78px;
	background-image: url(../images/office/office_design01.png);
}

.sub_office_access_deco--02 {
	width: 95px;
	height: 48px;
	background-image: url(../images/office/office_design02.png);
}

.sub_office_access_deco--03 {
	width: 75px;
	height: 80px;
	background-image: url(../images/office/office_design03.png);
}

.sub_office_access_deco--04 {
	width: 62px;
	height: 98px;
	background-image: url(../images/office/office_design04.png);
}

.sub_office_access_deco--05 {
	width: 64px;
	height: 76px;
	background-image: url(../images/office/office_design05.png);
}

.sub_office_access_map,
.sub_office_access_info {
	position: relative;
	z-index: 1;
}

.sub_office_access_map {

	iframe {
		display: block;
		width: 100%;
		height: 100%;
		min-height: 200px;
		border: 0;
	}
}

.sub_office_access_map {
	width: 100%;
}

.sub_office_access_info {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.sub_office_access_add {
	font-weight: 500;
	letter-spacing: 0.1em;
}

.sub_office_access_tel {
	margin-top: vw(20);
	font-weight: 500;
	letter-spacing: 0.1em;
}

.sub_office_access_list {
	margin-top: vw(20);

	li {
		position: relative;
		padding-left: 1.2em;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 2.25;

		&::before {
			content: "●";
			position: absolute;
			left: 0;
			font-size: 1rem;
			top: 0.5em;
			color: $mainColor;
		}
	}
}

.sub_office_access_cta {
	margin-top: vw(10);
	display: flex;
	justify-content: flex-start;

	.header_drawer_cta_item {
		margin-top: 0;
	}

	.header_cta_sub {
		margin-bottom: 3px;
		top: 14px;
		font-weight: 500;
		width: 165px;
		height: 25px;
		font-size: 12px;
	}

	.header_cta_btn {
		width: 250px;
		height: 52px;
		padding: 10px 0 0 0;

		.btn_txt {
			font-weight: 500;
		}

		.btn_arrow {
			right: 25px;
			margin-top: 5.5px;
		}
	}
}

.office .top_company_list {
	margin-top: 60px;
}

/* ========== company ========== */
.company .common_sub_main {
	background: url(../images/company/company_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_company_intro {
	text-align: center;
	margin-bottom: 120px;
	position: relative;
}

.sub_company_intro_deco {
	position: absolute;
	bottom: -65px;
	z-index: 0;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sub_company_intro_deco--left {
	left: 0;
	width: 45px;
	height: 138px;
	background-image: url(../images/company/compapy_design01.png);
}

.sub_company_intro_deco--right {
	right: 0;
	width: 60px;
	height: 140px;
	background-image: url(../images/company/compapy_design02.png);
}

.sub_company_intro>*:not(.sub_company_intro_deco) {
	position: relative;
	z-index: 1;
}

.sub_company_intro_ttl {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-bottom: 25px;
	font-family: $min01;
}

.sub_company_intro_txt {
	text-align: left;
	margin-bottom: 30px;
}

.sub_company_intro_btn {
	margin-left: auto;
	margin-right: auto;
}

.sub_company_nav {
	display: grid;
	grid-template-columns: 1fr;
	gap: 25px;
}

.sub_company_nav_item {
	display: flex;
}

.sub_company_nav_link {
	flex-grow: 1;
	display: block;
	position: relative;
}

.sub_company_nav_img {
	position: relative;
	overflow: hidden;

	&::after {
		content: "";
		position: absolute;
		inset: 0;
		background-color: rgba(0, 0, 0, 0.4);
		opacity: 0;
		transition: opacity 0.4s ease;
		z-index: 1;
	}

	img {
		width: 100%;
		aspect-ratio: 580 / 360;
		object-fit: cover;
		display: block;
		transition: transform 0.6s ease;
	}
}

.sub_company_nav_body {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 70px;
	container-type: inline-size;
}

.sub_company_nav_ttlbox {
	position: relative;
	display: inline-block;
}

.sub_company_nav_en {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: min(50px, 14cqw);
	line-height: 1;
	color: #f5f6f9;
	white-space: nowrap;
	pointer-events: none;
	z-index: 0;
}

.sub_company_nav_ttl {
	position: relative;
	font-size: 18px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.1em;
	z-index: 1;
}

.sub_company_nav_arrow {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: $mainColor;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;

	svg {
		fill: none;
		width: 8px;
		height: 8px;
	}

	path {
		stroke: #fff;
	}
}

.sub_company_nav_link:hover {
	.sub_company_nav_img {
		&::after {
			opacity: 1;
		}

		img {
			transform: scale(1.08);
		}
	}

	.sub_company_nav_arrow {
		background-color: $pointColor;

		svg {
			transform: translateX(3px);
		}
	}
}

.sub_company_partners {
	margin-top: 50px;
}

.sub_company_partners_link {
	text-align: center;
	display: block;
	position: relative;
	overflow: hidden;
	padding: 30px 25px 60px 25px;
	background: url(../images/company/company_img07.jpg) no-repeat center center;
	background-size: cover;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-color: rgba(0, 0, 0, 0.4);
		opacity: 0;
		z-index: 0;
		transition: opacity 0.4s ease;
	}
}

.sub_company_partners_body {
	position: relative;
	color: #fff;
	margin-bottom: 25px;
	z-index: 1;
}

.sub_company_partners_en {
	display: block;
	font-size: 44px;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #96acbd;
	margin-bottom: 15px;
}

.sub_company_partners_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-bottom: 10px;
	font-family: $min01;
}

.sub_company_partners_txt {
	line-height: 1.8;
	text-align: left;
}

.sub_company_partners_arrow {
	position: absolute;
	right: 25px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;

	svg {
		fill: none;
		width: 15px;
		height: 15px;
		transition: transform 0.3s ease;
	}

	path {
		stroke: $mainColor;
	}
}

.sub_company_partners_link:hover {

	&::before {
		opacity: 1;
	}

	.sub_company_partners_arrow {

		svg {
			transform: translateX(5px);
		}
	}
}

/* ========== reason ========== */
.reason .common_sub_main {
	background: url(../images/reason/reason_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_reason_container01_bg {
	padding: 40px 0 50px 0;
	overflow: hidden;
}

.sub_reason_lead {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.sub_reason_lead_txt {
	line-height: 2.0;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.sub_reason_box {
	display: flex;
	flex-direction: column;

	&+.sub_reason_box {
		margin-top: 45px;
	}
}

.sub_reason_box_img {
	width: 100%;
	margin-top: 30px;

	img {
		display: block;
		width: 100%;
	}
}

.sub_reason_box_body {
	width: 90.625%;
	margin: 25px auto 0;
}

.sub_reason_box_head {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sub_reason_box_num {
	font-family: $en01;
	font-size: 44px;
	line-height: 1.0;
	letter-spacing: 0.06em;
	color: #f5f6f9;
}

.sub_reason_box_design {
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.sub_reason_box_design01 {
	width: 80px;
	height: 95px;
	background-image: url(../images/reason/reason_design01.png);
}

.sub_reason_box_design02 {
	width: 95px;
	height: 63px;
	background-image: url(../images/reason/reason_design02.png);
}

.sub_reason_box_design03 {
	width: 70px;
	height: 97px;
	background-image: url(../images/reason/reason_design03.png);
}

.sub_reason_box_ttl {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	font-family: $min01;
}

.sub_reason_box_txt {
	&+.sub_reason_box_txt {
		margin-top: 18px;
	}
}

.sub_reason_container02_bg {
	display: flex;
	justify-content: center;
	position: relative;
	background-color: #f5f6f9;
	padding: 70px 0;

	&::before {
		background: url(../images/common/bk_circle_top.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		transform: rotate(180deg);
	}

	&::after {
		background: url(../images/common/bk_circle_top.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50px;
	}

	.common_w_inner {
		position: relative;
	}
}

.sub_reason_container03_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;
}

/* ========== philosophy ========== */
.philosophy .common_sub_main {
	background: url(../images/philosophy/philosophy_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_philosophy_container01_bg {
	display: flex;
	justify-content: center;
	padding: vw(65) 0 0 0;
}

.sub_philosophy_catch {
	text-align: center;
	margin-bottom: 10px;
}

.sub_philosophy_catch_img {
	max-width: 240px;
	animation: catch_slide_in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
	animation-delay: 0.4s;
}

.sub_philosophy_catch_txt {
	font-family: $min01;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-top: 20px;
}

.sub_philosophy_frame {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 40px 0 90px 0;
}

.sub_philosophy_design01 {
	background: url(../images/philosophy/philosophy_design01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	top: -10px;
	left: -5px;
	width: 55px;
	height: 54px;
	z-index: 4;
	/*animation: floatUpDown 3s ease-in-out infinite;*/
}

.sub_philosophy_design02 {
	background: url(../images/philosophy/philosophy_design02.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	bottom: -5px;
	right: -5px;
	width: 110px;
	height: 87px;
	z-index: 4;
	animation: walkSwing 2.5s ease-in-out infinite;
}

.sub_philosophy_circles {
	text-align: center;
}

.sub_philosophy_bk {
	background: url(../images/philosophy/philosophy_bk.png) no-repeat center top;
	background-size: cover;
	position: relative;
	height: 200px;

	&::before {
		background: url(../images/common/bk_circle_top_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: vw(100);
		transform: rotate(180deg);
	}

	&::after {
		background: url(../images/common/bk_circle_top_sp.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: vw(100);
	}
}

.sub_philosophy_container02_bg {
	display: flex;
	justify-content: center;
	padding: 80px 0 60px 0;
}

.sub_philosophy_box_list {
	display: flex;
	flex-direction: column;
	gap: 70px;
}

.sub_philosophy_box {
	position: relative;
	background-color: #f5f6f9;
	padding: 50px 20px 35px 20px;
	text-align: center;
}

.sub_philosophy_box_design {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_philosophy_box--01 .sub_philosophy_box_design {
	background-image: url(../images/philosophy/philosophy_design03.png);
	width: 70px;
	height: 97px;
	top: -35px;
	left: 10px;
}

.sub_philosophy_box--02 .sub_philosophy_box_design {
	background-image: url(../images/philosophy/philosophy_design04.png);
	width: 80px;
	height: 92px;
	top: -40px;
	right: -6px;
}

.sub_philosophy_box--03 .sub_philosophy_box_design {
	background-image: url(../images/philosophy/philosophy_design05.png);
	width: 58px;
	height: 98px;
	top: -40px;
	left: 5px;
}

.sub_philosophy_box_en {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: $en01;
	font-weight: 500;
	font-size: 42px;
	line-height: 1.0;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background: linear-gradient(to bottom, #f5f6f9 0 50%, #fff 50% 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.sub_philosophy_box_ja {
	display: block;
	font-weight: 500;
	letter-spacing: 0.15em;
	font-family: $min01;
	position: relative;
	margin-top: -25px;
	margin-bottom: 25px;
}

.sub_philosophy_box_catch {
	font-family: $min01;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.15em;
	margin-bottom: 20px;
}

.sub_philosophy_box_txt {
	text-align: left;
	line-height: 2.0;
	font-weight: 500;

	&+.sub_philosophy_box_txt {
		margin-top: 18px;
	}
}

.sub_philosophy_container03_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;
}

.sub_column_list ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;

	.top_column_card_ttl {
		color: $textColor;
	}
}

.sub_column_date {
	font-family: $en01;
	color: #a5a5a5;
	letter-spacing: 0.1em;
	text-align: right;
	display: block;
	margin-bottom: 20px;
}

.sub_column_mainimg {
	margin-bottom: 30px;

	img {
		width: 100%;
	}
}

/* ========== notfound ========== */
.notfound {
	.sub_notfoud_txt {
		margin-bottom: 20px;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-weight: 500;
	}

	.common_btn01 {
		margin-left: auto;
		margin-right: auto;
	}
}

/* ========== mailmagazine_thanks ========== */
.mailmagazine_thanks_design01 {
	background: url(../images/mailmagazine/mailmagazine_thanks_design01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	bottom: vw(-55);
	right: -10px;
	width: vw(196);
	height: vw(183);
	animation: floatUpDown 3s ease-in-out infinite;
}

/* ========== csv ========== */
.csv .common_sub_main {
	background: url(../images/csv/csv_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_csv_ttl01 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: $min01;

	@include smltab {
		br.sp {
			display: none;
		}
	}
}

/* --- container01: 協心のスタンス / 協心1.0〜5.0 --- */
.sub_csv_container01_bg {
	display: flex;
	justify-content: center;
	padding: vw(65) 0 50px 0;
	overflow: hidden;

	.common_inner {
		position: relative;
	}
}

.sub_csv_design01 {
	background: url(../images/csv/csv_design01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	top: 50px;
	left: 0;
	width: 40px;
	height: 123px;
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_csv_design02 {
	background: url(../images/csv/csv_design02.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	top: 55px;
	right: 0;
	width: 40px;
	height: 119px;
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_csv_intro_txt {
	margin-top: 20px;

	@include smltab {
		max-width: 570px;
		margin-left: auto;
		margin-right: auto;
	}
}

.sub_csv_spread {
	margin-top: 40px;
}

.sub_csv_ttl02 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
}

.sub_csv_ttl02_sub {
	display: block;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 5px;
}

.sub_csv_spread_lead {
	margin: 20px 0 30px;
}

.sub_csv_scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;

	&::-webkit-scrollbar {
		height: 8px;
	}

	&::-webkit-scrollbar-track {
		background: #e6e6e6;
		border-radius: 5px;
	}

	&::-webkit-scrollbar-thumb {
		background: #BCBCBC;
		border-radius: 10px;
	}
}

.sub_csv_scroll_inner {
	min-width: 700px;
	margin-bottom: 10px;

	img {
		display: block;
		width: 100%;
	}
}

.sub_csv_spread_note {
	margin-top: 25px;
}

/* --- container02: CSV経営の一般定義 --- */
.sub_csv_container02_bg {
	display: flex;
	justify-content: center;
	background: url(../images/csv/csv_container02_bg.png) no-repeat center center;
	background-size: cover;
	padding: 50px 0;
	position: relative;

	.common_inner {
		position: relative;
	}
}

.sub_csv_design03 {
	background: url(../images/csv/csv_design03.png) no-repeat center bottom;
	background-size: contain;
	content: "";
	position: absolute;
	bottom: -78px;
	left: 0;
	width: vw(143);
	height: vw(235);
	animation: walkSwing 3s ease-in-out infinite;
}

.sub_csv_design04 {
	background: url(../images/csv/csv_design04.png) no-repeat center bottom;
	background-size: contain;
	content: "";
	position: absolute;
	bottom: -75px;
	right: 0;
	width: vw(83);
	height: vw(224);
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_csv_def_lead {
	margin-top: 10px;
}

.sub_csv_def_img {
	margin-top: 15px;
	text-align: center;

	img {
		display: inline-block;
		width: 100%;
		max-width: 408px;
	}
}

/* --- container03: なぜCSV経営を実践するのか --- */
.sub_csv_container03_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;

	.sub_csv_ttl01 {
		@include smltab {
			br.sp {
				display: none;
			}
		}
	}
}

.sub_csv_value_list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
}

.sub_csv_value_item {
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: linear-gradient(149deg, #edf4f8 0%, #edf4f8 19%, #ffefdb 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;

	&:first-child {
		.sub_csv_value_txt {
			font-size: 20px;
		}
	}
}

.sub_csv_value_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: $min01;
	color: $mainColor;
	padding-bottom: 8px;
	margin-bottom: 20px;
	position: relative;

	&::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 45px;
		height: 1px;
		background-color: $mainColor;
	}
}

.sub_csv_value_txt {
	font-family: $min01;
	font-size: 16px;
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: 0.1em;
	min-height: 86.4px;
	display: flex;
	align-items: center;
}

.sub_csv_reason_txt {
	margin-top: 30px;
}

/* --- 私たちが目指す役割（container03内） --- */
.sub_csv_role {
	margin-top: 50px;
}

.sub_csv_role_ttl {
	margin-bottom: 10px;
}

.sub_csv_role_body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}

.sub_csv_role_img {
	width: 260px;
	max-width: 100%;

	img {
		display: block;
		width: 100%;
	}
}

/* --- container04: 社会課題 --- */
.sub_csv_container04_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;
}

.sub_csv_issue_txt {
	margin-top: 20px;

	p {
		margin-bottom: 20px;

		&:last-child {
			margin-bottom: 0;
		}
	}
}

.sub_csv_issue_compare {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 60px;
}

.sub_csv_issue_box {
	position: relative;
	width: 100%;
}

.sub_csv_issue_box--problem {
	background: #eef1f5;
	padding: 35px 20px 25px;
}

.sub_csv_issue_box--future {
	background: #fdf6ea;
	padding: 45px 20px 30px;

	.sub_csv_issue_box_list {
		li {
			font-size: 16px;

			&::before {
				width: 9px;
				height: 9px;
				background: $pointColor;
			}
		}
	}
}

.sub_csv_issue_box_ttl {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 180px;
	padding: 5px 15px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	color: #fff;
	white-space: nowrap;
	font-family: $min01;

	.sub_csv_issue_box--problem & {
		background: $mainColor;
	}

	.sub_csv_issue_box--future & {
		background: $pointColor;
		font-size: 19px;
	}
}

.sub_csv_issue_box_list {
	li {
		position: relative;
		padding-left: 22px;
		font-size: 14px;
		font-weight: 500;
		margin-bottom: 8px;

		&:last-child {
			margin-bottom: 0;
		}

		&::before {
			content: "";
			position: absolute;
			left: 0;
			top: 8px;
			width: 7px;
			height: 7px;
			border-radius: 50%;
			background: $mainColor;
		}
	}
}

.sub_csv_issue_arrow {
	height: 50px;
	margin: 30px 0 20px 0;

	img {
		display: block;
		width: 50px;
		height: 23px;
		transform: rotate(90deg);
		transform-origin: center center;
	}
}

.sub_csv_issue_box_img {
	display: block;
	width: 120px;
	margin: 20px auto 0;

	img {
		display: block;
		width: 100%;
	}
}

/* --- container05: 協心が提供する3つの価値 --- */
.sub_csv_container05_bg {
	display: flex;
	justify-content: center;
	padding: 50px 0;
}

.sub_csv_provide_lead {
	margin-top: 20px;
	font-weight: 500;
	font-size: 16px;
	text-align: center;

	@include smltab {
		br.sp {
			display: none;
		}
	}
}

.sub_csv_provide_list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
	margin-top: 40px;
	position: relative;
	padding-bottom: 60px;

	&::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 57px;
		height: 31px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='57' height='31' viewBox='0 0 57 31'%3E%3Cpath d='M4 4H53L28.5 27Z' fill='%23002d4d' stroke='%23002d4d' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	}
}

.sub_csv_provide_item {
	width: 100%;
	max-width: 340px;
	background: #f5f6f9;
	padding: 30px 25px;
	text-align: center;
}

.sub_csv_provide_icon {
	width: 110px;
	margin: 0 auto 20px;

	img {
		display: block;
		width: 100%;
	}
}

.sub_csv_provide_ttl {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	color: $mainColor;
}

.sub_csv_provide_cap {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	margin-top: 5px;
	margin-bottom: 15px;
	position: relative;
	color: $mainColor;
}

.sub_csv_provide_txt {
	font-weight: 500;
	line-height: 1.8;
}

.sub_csv_provide_note {
	margin-top: 25px;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
	font-size: 16px;

	@include smltab {
		br.sp {
			display: none;
		}
	}
}

/* --- container06: 会社情報リンク --- */
.sub_csv_container06_bg {
	display: flex;
	justify-content: center;
	padding: 0 0 50px;
}

/*-------------------------------------------------------------------------------------------------------
****** partners（連携をお考えの方へ）
-------------------------------------------------------------------------------------------------------*/
.partners .common_sub_main {
	background: url(../images/partners/partners_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_partners_ttl01 {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: $min01;

	@include smltab {
		br.sp {
			display: none;
		}
	}
}

.sub_partners_ttl02 {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
	padding-bottom: vw(20);
	margin-bottom: vw(25);
	position: relative;

	&::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background-color: $mainColor;
	}
}

/* --- container01: イントロ --- */
.sub_partners_container01_bg {
	display: flex;
	justify-content: center;
	padding: vw(65) 0 25px;
}

.sub_partners_intro_txt {
	margin-top: 25px;
}

/* --- container02: 一社ではつくれない未来がある --- */
.sub_partners_container02_bg {
	display: flex;
	justify-content: center;
	padding: 25px 0 35px;
}

.sub_partners_block {
	margin-top: 50px;

	&:first-of-type {
		margin-top: 25px;
	}
}

.sub_partners_block_txt {
	margin-top: 15px;
}

.sub_partners_block_img {
	margin-top: 25px;
	text-align: center;

	img {
		display: inline-block;
		width: 100%;
		max-width: 400px;
	}
}

.sub_partners_value_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 25px;
}

.sub_partners_value_item {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: linear-gradient(149deg, #edf4f8 0%, #edf4f8 19%, #ffefdb 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.sub_partners_value_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: $min01;
	color: $mainColor;
	padding-bottom: 5px;
	margin-bottom: 15px;
	position: relative;

	&::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 45px;
		height: 1px;
		background-color: $mainColor;
	}
}

.sub_partners_value_txt {
	font-size: 16px;
	font-weight: 500;
	font-family: $min01;
	letter-spacing: 0.1em;
}

/* --- container03: 協心が目指す「連携」のかたち --- */
.sub_partners_container03_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_partners_align {
	display: flex;
	flex-direction: column;
	gap: 25px;
	margin-top: 30px;
}

.sub_partners_align_box {
	width: 100%;
	background-color: #f7f6f3;

	&--kyoshin {

		.sub_partners_align_list {
			li {
				font-size: 16px;
				font-weight: 700;
			}
		}
	}
}

.sub_partners_align_ttl {
	padding: 8px 20px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	color: #fff;
	white-space: nowrap;

	.sub_partners_align_box--general & {
		background: $mainColor;
	}

	.sub_partners_align_box--kyoshin & {
		background: $pointColor;
		font-size: 18px;
	}
}

.sub_partners_align_list {
	margin: 20px auto;
	display: table;

	li {
		display: flex;
		align-items: center;
		gap: 15px;
		font-weight: 500;
		letter-spacing: 0.1em;

		&:not(:last-child) {
			margin-bottom: 5px;
		}
	}
}

.sub_partners_align_icon {
	flex-shrink: 0;
	width: 45px;

	img {
		display: block;
		width: 100%;
	}
}

/* --- container04: 協心が大切にしている姿勢 --- */
.sub_partners_container04_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;

	.sub_partners_catch {
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 0.15em;
		text-align: center;
		font-family: $min01;
		margin-top: 10px;

		@include smltab {
			br.sp {
				display: none;
			}
		}
	}
}

.sub_partners_stance {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 30px auto 0;
	padding: 10px 20px 20px 20px;
	background: linear-gradient(90deg, #edf4f8 0%, #edf4f8 19%, #ffefdb 100%);
}

.sub_partners_stance_icon {
	position: absolute;
	top: vw(-20);
	left: vw(45);
	content: "";
	width: vw(126);
	height: vw(110);
	background: url(../images/partners/partners_design04.png) no-repeat center center;
	background-size: contain;
	animation: floatUpDown 3s ease-in-out infinite;
}

.sub_partners_stance_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}

.sub_partners_stance_item {
	width: 50%;
	text-align: center;
	padding: 20px 10px;

	&:nth-child(odd) {
		position: relative;

		&::after {
			content: "";
			position: absolute;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
			width: 2px;
			height: 64px;
			background: url(../images/partners/partners_line.png) no-repeat left top;
			background-size: contain;
		}
	}

	&:nth-child(1),
	&:nth-child(2) {
		position: relative;

		&::before {
			content: "";
			position: absolute;
			left: 50%;
			bottom: -32px;
			width: 2px;
			height: 64px;
			background: url(../images/partners/partners_line.png) no-repeat left top;
			background-size: contain;
			transform: rotate(90deg);
			margin-left: 0;
		}
	}
}

.sub_partners_stance_word {
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	font-family: $min01;
	letter-spacing: 0.15em;
	color: $mainColor;
	padding-bottom: 5px;
	margin-bottom: 15px;
	position: relative;

	&::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 35px;
		height: 1px;
		background-color: $mainColor;
	}
}

.sub_partners_stance_desc {
	font-size: 15px;
	font-weight: 500;
	font-family: $min01;
	letter-spacing: 0.08em;
	color: $textColor;
}

.sub_partners_lead {
	margin-top: 25px;
}

/* --- container05: 現在進行中の共創活動 --- */
.sub_partners_container05_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_partners_activity_list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 25px;
}

.sub_partners_activity_item {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
	background: #f5f6f9;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.sub_partners_activity_icon {
	flex-shrink: 0;
	width: 46px;

	img {
		display: block;
		width: 100%;
	}
}

/* --- container06: こんな方とご一緒したい --- */
.sub_partners_container06_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0 50px 0;

	.sub_partners_catch {
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-align: center;
		color: $mainColor;
		margin-top: 20px;

		@include smltab {
			br.sp {
				display: none;
			}
		}
	}
}

.sub_partners_target {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-top: 40px;
	background: #f5f7f9;
	padding: 30px 20px 20px 20px;
}

.sub_partners_target_body {
	width: 100%;
}

.sub_partners_target_list {
	display: flex;
	flex-direction: column;
	gap: 15px;

	li {
		position: relative;
		padding-left: 28px;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 0.04em;

		&::before {
			content: "";
			position: absolute;
			left: 0;
			top: 5px;
			width: 18px;
			height: 18px;
			background: url(../images/common/icon_check_blue.svg) no-repeat center center;
			background-size: contain;
		}
	}
}

.sub_partners_target_img {
	width: 160px;
	max-width: 100%;

	img {
		display: block;
		width: 100%;
	}
}

/* --- container07: しめ --- */
.sub_partners_container07_bg {
	display: flex;
	justify-content: center;
	background: url(../images/partners/partners_fix_bg.png) no-repeat center center;
	background-size: cover;
	padding: 50px 0;
	margin-bottom: 50px;
}

.sub_partners_fix_ttl {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.12em;
	font-family: $min01;
	text-align: center;
	color: $mainColor;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: 2px dotted $mainColor;
	display: table;
	margin-left: auto;
	margin-right: auto;
}

.sub_partners_fix_txt {
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
}

.sub_partners_fix_note {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	color: $pointColor;
	margin-top: 30px;
}

.sub_partners_fix_btn {
	margin-top: 25px;
	display: flex;
	justify-content: center;

	.header_drawer_cta_item {
		margin-top: 0;
	}

	.header_cta_sub {
		margin-bottom: 3px;
		top: 14px;
		font-weight: 500;
		width: auto;
		height: 25px;
		font-size: 12px;
		padding: 0 5px 0 10px;
	}

	.header_cta_btn {
		width: 250px;
		height: 52px;
		padding: 10px 0 0 0;

		.btn_txt {
			font-weight: 500;
		}

		.btn_arrow {
			right: 25px;
			margin-top: 5.5px;
		}
	}
}

/* ========== サービス詳細 共通メイン（8ページ共通） ========== */
.common_sub_service_main {
	display: flex;
	justify-content: center;
	padding: 10px 0 35px;
	position: relative;
	overflow: hidden;

	&::before {
		background: url(../images/common/sub_service_mainimg_bk.png) no-repeat center top;
		background-size: cover;
		content: "";
		position: absolute;
		top: 90px;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 100%;
		height: vw(442);
	}

	.common_inner {
		display: flex;
		flex-direction: column;
		position: relative;
		z-index: 1;
	}

	&_txt {
		.common_sub_service_main_btn {
			display: none;
		}
	}

	&_box {
		margin-bottom: 40px;
	}

	.common_en01 {
		display: block;
		font-size: 22px;
		letter-spacing: 0.1em;
		color: #edf3f8;
		line-height: 1.2;
		margin-bottom: 5px;
	}

	.h1_ttl {
		font-size: 22px;
		font-weight: 500;
		line-height: 1.4;
	}

	&_lead {
		margin-bottom: 20px;
	}

	&_btn {
		display: flex;
		justify-content: center;
		margin-top: 30px;

		.header_cta_btn {
			padding-top: 0;

			.btn_arrow {
				margin-top: 0;
				right: 25px;
			}
		}
	}

	&_img {
		text-align: center;
		margin-top: 20px;

		img {
			width: 75%;
			max-width: 350px;
		}
	}
}

/* サービス詳細メイン画像：縦長 */
.calculation .common_sub_service_main_img,
.laborinsurance .common_sub_service_main_img,
.regulations .common_sub_service_main_img,
.design .common_sub_service_main_img {
	img {
		width: 50%;
		max-width: 250px;
	}
}

/* ========== お悩み（サービス詳細8ページ共通） ========== */
.sub_service_worry_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_worry_ttl {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	color: $textColor;
	line-height: 1.5;
	padding-bottom: 12px;
	margin-bottom: 35px;
	border-bottom: 3px dotted $mainColor;
	display: table;
	margin-left: auto;
	margin-right: auto;
}

.sub_service_worry_ttl_em {
	color: $mainColor;
}

.sub_service_worry_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
}

.sub_service_worry_item {
	position: relative;
	padding-top: 25px;
}

.sub_service_worry_num {
	position: absolute;
	top: 25px;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	box-sizing: border-box;

	&::before,
	&::after {
		content: "";
		flex: 1;
		height: 2px;
		background-color: $mainColor;
	}
}

.sub_service_worry_num_label {
	display: inline-flex;
	align-items: baseline;
	color: $mainColor;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: $min01;
	white-space: nowrap;
}

.sub_service_worry_num_en {
	font-size: 26px;
	line-height: 1.0;
	letter-spacing: 0.1em;
	margin-left: 6px;
	font-family: $en01;
}

.sub_service_worry_box {
	height: 100%;
	padding: 35px 25px 25px;
	background-color: #f5f6f9;
	box-sizing: border-box;
}

.sub_service_worry_img {
	text-align: center;
	margin-bottom: 20px;
}

.sub_service_worry_txt {
	line-height: 1.8;
	font-weight: 500;

	.sub_service_worry_em {
		color: $mainColor;
		font-weight: 700;
	}
}

/* ========== 協心ができること（サービス詳細8ページ共通） ========== */
.sub_service_can_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_can_box {
	position: relative;
	background-color: #f5f6f9;
	box-sizing: border-box;
	overflow: hidden;
	padding-bottom: 70px;
}

.sub_service_can_box_ttl {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 25px;
	color: #fff;
	background-color: $mainColor;
	line-height: 1.4;
	padding: 10px;
}

.sub_service_can_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
	position: relative;
	z-index: 1;
	margin: 25px 20px;
}

.sub_service_can_item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px 15px;
	background-color: #fff;
	box-sizing: border-box;
}

.sub_service_can_item_img {
	flex-shrink: 0;
	width: 46px;
	text-align: center;
}

.sub_service_can_item_body {
	flex: 1;
}

.sub_service_can_item_ttl {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}

.sub_service_can_item_txt {
	letter-spacing: 0.1em;
	font-weight: 500;
}

.sub_service_can_design {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.insurance .sub_service_can_design {
	right: 60px;
	bottom: 0;
	width: vw(250);
}

.calculation .sub_service_can_design {
	right: 130px;
	bottom: 0;
	width: vw(164);
}

.subsidy .sub_service_can_design {
	right: 50px;
	bottom: 0;
	width: vw(300);
}

.regulations .sub_service_can_design {
	right: 100px;
	bottom: 0;
	width: vw(240);
}

.advisor .sub_service_can_design {
	right: 100px;
	bottom: 0;
	width: vw(250);
}

.design .sub_service_can_design {
	right: 40%;
	bottom: 0;
	width: vw(160);
}

.seminar .sub_service_can_design {
	right: 100px;
	bottom: 0;
	width: vw(220);
}

.laborinsurance .sub_service_can_box {
	padding-bottom: 0;
}


.laborinsurance .sub_service_can_link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0 10px 0;

	a {
		&:hover {
			opacity: 0.7;
		}
	}
}

/* ========== サービス詳細 共通セクション見出し（8ページ共通） ========== */
.sub_service_sec_ttl {
	text-align: center;
	font-size: 21px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-bottom: 30px;
}

/* ========== 協心が選ばれる理由（サービス詳細8ページ共通） ========== */
.sub_service_reason_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_reason_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 35px;
}

.sub_service_reason_circle {
	aspect-ratio: 1 / 1;
	max-width: 265px;
	margin: 0 auto 15px;
	border-radius: 50%;
	background-color: #f5f6f9;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 25px 0;
	box-sizing: border-box;
}

.sub_service_reason_num {
	display: flex;
	align-items: baseline;
	justify-content: center;
	color: $mainColor;
	line-height: 1.0;
	margin-bottom: 25px;
}

.sub_service_reason_num_label {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.sub_service_reason_num_en {
	font-size: 26px;
	letter-spacing: 0.05em;
	margin-left: 8px;
}

.sub_service_reason_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.45;
	font-family: $min01;

	.sub_service_reason_em {
		color: $pointColor;

		&.lssml {
			letter-spacing: 0;
		}
	}
}

.sub_service_reason_txt {
	line-height: 2.0;
	letter-spacing: 0.1em;
	font-weight: 500;
}

/* ========== ご相談から支援開始までの流れ（サービス詳細8ページ共通） ========== */
.sub_service_flow_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_flow_list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sub_service_flow_box {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;

	&:nth-child(1) .sub_service_flow_num {
		background-color: $mainColor;
	}

	&:nth-child(2) .sub_service_flow_num {
		background-color: color.mix($pointColor, $mainColor, 25%);
	}

	&:nth-child(3) .sub_service_flow_num {
		background-color: color.mix($pointColor, $mainColor, 50%);
	}

	&:nth-child(4) .sub_service_flow_num {
		background-color: color.mix($pointColor, $mainColor, 75%);
	}

	&:nth-child(5) .sub_service_flow_num {
		background-color: $pointColor;
	}

	&:not(:last-child)::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 30px;
		width: 2px;
		height: calc(100% + 30px);
		background-color: #d5dae3;
		z-index: 0;
	}
}

.sub_service_flow_num {
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

.sub_service_flow_card {
	flex: 1;
	background-color: #f7f6f3;
	text-align: center;
	padding: 25px 20px;
	box-sizing: border-box;
}

.sub_service_flow_ttl {
	color: $mainColor;
	font-size: 18px;
	font-weight: 500;
	color: #002d4d;
	margin-bottom: 12px;

	span {
		font-size: 16px;
	}
}

.sub_service_flow_img {
	display: block;
	margin: 0 auto 10px;
}

.sub_service_flow_txt {
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: left;
}

/* ========== 導入事例（サービス詳細8ページ共通） ========== */
.sub_service_case_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_case_box {
	padding: 30px 20px 40px;
	background-color: #f5f6f9;
	box-sizing: border-box;
}

.sub_service_case_head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 15px;
	margin-bottom: 50px;
}

.sub_service_case_head_body {
	width: 100%;
}

.sub_service_case_head_img {
	width: 90px;
}

.sub_service_case_head_ttl {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.4;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid $mainColor;
	text-align: left;
}

.sub_service_case_head_sub {
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 6px;
}

.sub_service_case_compare {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.sub_service_case_col {
	position: relative;
	padding: 30px 20px 20px;
	background-color: #fff;
	box-sizing: border-box;

	&--before {
		border: 1px solid $mainColor;

		&::after {
			content: "";
			position: absolute;
			top: auto;
			bottom: -27px;
			left: 50%;
			right: auto;
			transform: translateX(-50%);
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 15px 12px 0 12px;
			border-radius: 3px;
			border-color: $pointColor transparent transparent transparent;
		}
	}

	&--after {
		border: 1px solid $pointColor;
	}
}

.sub_service_case_label {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 120px;
	padding: 7px;
	color: #fff;
	font-size: 16px;
	font-family: $en01;
	letter-spacing: 0.1em;
	line-height: 1.0;

	.sub_service_case_col--before & {
		background-color: $mainColor;
	}

	.sub_service_case_col--after & {
		background-color: $pointColor;
	}
}

.sub_service_case_txt {
	line-height: 1.9;
	letter-spacing: 0.04em;
	font-weight: 500;
}

/* ========== よくある質問（recruitと同デザイン／8ページ共通） ========== */
.sub_service_faq_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

/* ========== 締（CV／サービス詳細8ページ共通） ========== */
.sub_service_cv_bg {
	display: flex;
	justify-content: center;
	padding: 35px 0;
}

.sub_service_cv_box {
	gap: 15px;
	padding: 30px 25px;
	background: linear-gradient(149deg, #edf4f8 0%, #edf4f8 19%, #ffefdb 100%);
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.sub_service_cv_body {
	width: 100%;

	.sub_service_cv_btn.pc {
		display: none;
	}
}

.sub_service_cv_ttl {
	font-size: 20px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.12em;
	line-height: 1.5;
	margin-bottom: 15px;
	border-bottom: 2px dotted $mainColor;
	padding-bottom: 5px;
	font-family: $min01;
	display: table;
	margin-left: auto;
	margin-right: auto;
	white-space: nowrap;
}

.sub_service_cv_txt {
	line-height: 2.0;
	font-weight: 500;
}

.sub_service_cv_btn {
	margin: 0 auto;
}

.sub_service_cv_img {
	width: 100%;
	text-align: center;

	img {
		max-width: 180px;
	}
}

/* ========== 他のサービス内容（サービス詳細8ページ共通） ========== */
.sub_service_other_bg {
	display: flex;
	justify-content: center;
	padding: 40px 0 50px;
}

.sub_service_other_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-top: 25px;
}

.sub_service_other_card {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 80px;
	padding: 0 28px 0 8px;
	background: #f5f6f9;
	border-top: 2px solid $mainColor;
	border-bottom: 2px solid $mainColor;
	position: relative;
	box-sizing: border-box;
}

.sub_service_other_card_icon {
	flex-shrink: 0;
	width: 35px;
	text-align: center;
}

.sub_service_other_card_ttl {
	flex: 1;
	font-size: 13px;
	font-weight: 500;
	color: $mainColor;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

.sub_service_other_card .btn_arrow {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;

	svg {
		fill: none;
		width: 8px;
		height: 8px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	path {
		stroke: #fff;
	}

	&::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background-color: $mainColor;
	}
}

/*-------------------------------------------------------------------------------------------------------
****** contact（お問い合わせ）
-------------------------------------------------------------------------------------------------------*/
.contact .common_sub_main {
	background: url(../images/contact/contact_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

/*-------------------------------------------------------------------------------------------------------
****** unsubscribe（配信停止）
-------------------------------------------------------------------------------------------------------*/
.unsubscribe .common_sub_main {
	background: url(../images/unsubscribe/unsubscribe_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

/*-------------------------------------------------------------------------------------------------------
****** SU Blocks Blogcard
-------------------------------------------------------------------------------------------------------*/
/* タイトル */
/* ブログカードのタイトル */
.wp-block-su-blogcard .wp-blogcard-title {
    font-size: 16px;
}

/* ブログカードの説明文 */
.wp-block-su-blogcard .wp-blogcard-description {
    font-size: 13px;
}

/* サイト名（ドメイン）部分 */
.wp-block-su-blogcard .wp-blogcard-domain {
    font-size: 11px;
}

/*-------------------------------------------------------------------------------------------------------
****** MyKomon
-------------------------------------------------------------------------------------------------------*/
#mkcontents,
#mkcontents table {
	font-size: 14px !important;
	line-height: 2 !important;
}


#mkcontents {
	.hp2_format_file_links {
		justify-content: flex-start;

		>a {
			display: flex;
			align-items: center;

			>img {
				margin: 4px 7px 0 0;
			}
		}
	}

	.hp2_format_lower {
		margin-top: vw(50);
	}

	.hp2_format_image + div > [style*="font-weight: bold"] {
		margin-bottom: 10px;
	}
}

.mykomon_contents03 {

	.content_item_list {
		margin-bottom: vw(100);

		dt {
			padding: vw(30) vw(40) vw(30) vw(40);
			border-bottom: 1px solid #e4e6ea;


			.item_date_left {
				color: #a5a5a5;
				letter-spacing: 0.1em;
				font-family: "Philosopher", sans-serif;
			}

			.item_title {
				margin-top: 1.5rem;

				a {
					color: $textColor;
					display: block;
					letter-spacing: 0.1em;
					transition: color 0.2s;
					font-weight: 500;
					width: 100%;

					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
	}

	.content_item_list_link {
		max-width: 250px;
        height: 52px;
		margin-left: auto;
		margin-right: auto;

		a {
			width: 100%;
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			background-color: $mainColor;
			color: #fff;
			font-weight: 500;
			letter-spacing: 0.1em;

			&::before {
				content: '';
				position: absolute;
				left: 0;
				bottom: 0;
				width: 100%;
				height: 2px;
				transform: scaleX(0);
				transform-origin: left;
				transition: transform 0.3s ease;
				background-color: $pointColor;
			}

			&:hover {
				&::before {
					transform: scaleX(1);
				}
			}
		}
	}
}

.mykomon .single_entry_contact_box {
	margin: vw(100) 0 0 0;
}

/*-------------------------------------------------------------------------------------------------------
****** privacypolicy（個人情報保護方針）
-------------------------------------------------------------------------------------------------------*/
.privacypolicy .common_sub_main {
	background: url(../images/privacypolicy/privacypolicy_mainimg.jpg) no-repeat center top;
	background-size: cover;
}

.sub_privacypolicy {
	width: 100%;

	p {
		line-height: 2.0;
		font-weight: 500;
	}

	li,
	a {
		font-weight: 500;
	}
}

.sub_privacypolicy_block {
	&+.sub_privacypolicy_block {
		margin-top: 60px;
	}
	&+.ank .sub_privacypolicy_block {
		padding-top: 60px;
	}
}

.sub_privacypolicy_ttl {
	text-align: center;
	font-family: $min01;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.5;
	color: $textColor;
	margin-bottom: 25px;
}

.sub_privacypolicy .sub_privacypolicy_block>p {
	margin-bottom: 30px;
}

.sub_privacypolicy_list {
	>li {
		&+li {
			margin-top: 35px;
		}
	}
}

.sub_privacypolicy_list_ttl {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.4;
	color: $textColor;
	border-bottom: 1px solid $mainColor;
	padding-bottom: 14px;
	margin-bottom: 18px;
}

.sub_privacypolicy_list_num {
	font-family: $en01;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: $pointColor;
	margin-right: 8px;
}

.sub_privacypolicy_subttl {
	display: block;
	background-color: #f5f6f9;
	padding: 10px 20px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: $textColor;
	margin-top: 25px;
	margin-bottom: 12px;

	&::before {
		content: "■";
		color: $mainColor;
		margin-right: 0.4em;
	}
}

.sub_privacypolicy_group {
	margin-top: 25px;

	>.sub_privacypolicy_subttl {
		margin-top: 0;
	}

	p+p {
		margin-top: 12px;
	}
}

.sub_privacypolicy_box {
	margin-top: 20px;

	span {
		display: block;
		font-weight: 700;
		letter-spacing: 0.03em;
		color: $mainColor;
		margin-bottom: 10px;
		font-size: 16px;
	}

	p+p {
		margin-top: 12px;
	}
}

.sub_privacypolicy_ol {
	counter-reset: ppnum;
	list-style: none;

	>li {
		counter-increment: ppnum;
		position: relative;
		padding-left: 2.6em;
		line-height: 1.9;
		letter-spacing: 0.03em;

		&::before {
			content: "（"counter(ppnum) "）";
			position: absolute;
			left: 0;
			top: 0;
		}
	}
}

p+.sub_privacypolicy_ol {
	margin-top: 12px;

	>li+li {
		margin-top: 10px;
	}
}

.sub_privacypolicy_ul {
	list-style: none;

	>li {
		position: relative;
		padding-left: 1.4em;
		line-height: 1.9;
		letter-spacing: 0.03em;

		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 0;
		}
	}
}

p+.sub_privacypolicy_ul {
	margin-top: 12px;
}

.sub_privacypolicy_ol_block {
	>li+li {
		margin-top: 20px;
	}

	p+p {
		margin-top: 12px;
	}
}

.sub_privacypolicy_ol_ttl {
	font-weight: 700;
	letter-spacing: 0.03em;
	color: $mainColor;
}

.sub_privacypolicy_link {
	display: inline-block;
	position: relative;
	margin-top: 10px;
	padding-right: 10px;
	letter-spacing: -0.03em;
	color: $mainColor;
	border-bottom: 1px solid $mainColor;

	&::after {
		content: "";
		background: url(../images/common/icon_arrow_blue.svg) no-repeat left bottom;
		background-size: contain;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0, -50%);
		width: 12px;
		height: 8px;
	}

	&:hover {
		text-decoration: none;
	}
}

.sub_privacypolicy_sign {
	text-align: right;
	margin-top: 35px;

	p+p {
		margin-top: 15px;
	}
}

