@charset "UTF-8";

/*==================
共通部分の設定
====================*/
html {
	font-size: 62.5%;
	box-sizing: border-box;
	background-color: #fff;
}

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

body {
	font-size: 14px;
}



/*SPサイズ*/
@media (max-width: 599px) {
	.sp_none {
		display: none;
	}
}

/*tbサイズ*/
@media (min-width: 600px) {
	body {
		font-size: 15px;
	}

	.tb_none {
		display: none;
	}

	.inner_pc01 {
		max-width: 1200px;
		margin: 0 auto;
	}

	.inner_pc02 {
		max-width: 1160px;
		margin: 0 auto;
	}
}

/*PCサイズ*/
@media (min-width: 1025px) {



	a[href^="tel:"] {
		pointer-events: none;
	}
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	color: #164767;
	background-color: #fff;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	/*文字のアンチエイリアス設定*/
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "palt";
	/*文字詰*/
	letter-spacing: 0.05em;
	line-height: 1.8;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: #164767;
	text-decoration: none;
}

@media (hover: hover) {

	/* ホバーに対応している場合 */
	a:hover {
		opacity: 0.8;
		transition: .4s;
	}
}

ul {
	list-style: none;
}

.flex_a {
	display: flex;
	height: auto;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.flex_b {
	display: flex;
	height: auto;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

h2 {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.ttl_area01 {
	text-align: center;
}

.ttl_area01 span {
	display: block;
	font-size: 1rem;
	margin-bottom: 1rem;
}

@media (max-width: 599px) {
	.wrap {
		overflow: hidden;
	}

	.ttl_area01 p {
		font-size: 1.4rem;
	}
}

@media (min-width: 600px) {
	h2 {
		font-size: 3.2rem;
		font-weight: 500;
	}

	.ttl_area01 span {
		font-size: 1.1rem;
	}

	.flex_b_pc {
		display: flex;
		height: auto;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
}

/*==================
header sp
====================*/
header .logo01 {
	display: block;
	margin: 1rem;
}

header .logo01 img {
	width: 170px;
}

header {
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	height: 55px;
	z-index: 10;
	position: relative;
}

header .contact_btn01 {
	background-color: #000028;
	border-radius: 5px;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	width: 130px;
	height: 40px;
	text-align: center;
	line-height: 38px;
	margin: .8rem;
}

/*==================
header pc
====================*/
@media (min-width: 600px) {
	header .logo01 img {
		width: 230px;
	}

	header {
		padding: 1rem 2.5rem;
		height: 80px;
		box-shadow: 0px 7px 16px -6px rgba(175, 193, 198, 0.5);
	}

	#business header {
		background: none;
		box-shadow: none;
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 1000;
	}

	header .logo01 {
		margin: .7rem 1rem;
	}

	header ul {
		display: flex;
		font-size: 1.4rem;
		justify-content: space-around;
		position: absolute;
		top: 2.5rem;
		right: 22rem;
		letter-spacing: 0.05em;
	}

	header li {
		margin: 0 2rem;
	}

	header .contact_btn01 {
		font-size: 1.5rem;
		width: 160px;
		margin: 0.8rem 0;
	}
}

@media screen and (min-width: 600px) and (max-width: 899px) {
	header {
		padding: 1rem;
	}

	header .logo01 {
		margin: 1rem 0;
	}

	header .logo01 img {
		width: 160px;
	}

	header .contact_btn01 {
		width: 110px;
		font-size: 1.3rem;
	}

	header ul {
		right: 12rem;
		font-size: 1.3rem;
		letter-spacing: 0;
	}

	header li {
		margin: 0 .8rem;
	}
}

/*==================
footer sp
====================*/
footer {
	background: #FF0050;
	background: linear-gradient(45deg, rgba(255, 0, 80, 1) 0%, rgba(255, 128, 167, 1) 100%);
	padding: 2.5rem 1.5rem 3rem;
}

.copyright01,
.copyright02 {
	color: #ffe6ee;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 300;
	display: block;
}

.copyright02 {
	font-size: 1.2rem;
}

/*==================
footer pc
====================*/
@media (min-width: 600px) {
	footer {
		padding: 2.5rem 1.5rem 6rem;
	}

	.copyright01,
	.copyright02 {
		font-size: 1.5rem;
	}

	.copyright02 {
		font-size: 1.3rem;
	}

}

/*==================
footer お問い合わせフォーム sp
====================*/
#business-thanks .pp_thanks_none,
#business-pp .pp_thanks_none {
	display: none;
}

.contact_area {
	border-radius: 10px;
	background-color: #fff;
	max-width: 960px;
	margin: 0 auto 2.5rem;
}

.contact_area .inner_pc01 {
	padding: 0 0 5rem;
}

.contact_area .ttl_area01 {
	background-color: #ffe5ed;
	border-radius: 10px 10px 0 0;
	color: #ff0050;
	text-align: center;
	padding: 2.5rem 0;
	position: relative;
	margin-bottom: 3rem;
}

.contact_area .ttl_area01::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 16px solid transparent;
	border-left: 16px solid transparent;
	border-top: 15px solid #ffe5ed;
	border-bottom: 0;
	position: absolute;
	bottom: -1.5rem;
	left: 0;
	right: 0;
	margin: auto;
}

.contact_area .ttl_area01 span {
	font-size: 1.4rem;
	margin-bottom: 0;
}

.contact_area h3 {
	font-size: 1.8rem;
}

.contact_area .ttl_area01 img {
	position: absolute;
	bottom: -3rem;
	left: 1.5rem;
}

/*お問い合わせフォーム*/
.required,
.arbitrary {
	font-size: 1.2rem;
	font-weight: 500;
	color: #fff;
	background: #2d5976;
	padding: 0 0.6rem 2px;
	border-radius: 5px;
	height: 22px;
	line-height: 22px;
	box-sizing: border-box;
	margin-right: 1rem;
}

.arbitrary {
	background: #a2b5c2;
}

.contact_block01 {
	background-color: #fff;
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	margin: 0 auto 4rem;
}

.contact_block01 tr {
	padding: 1.7rem 0;
	border-bottom: solid 1px #e8edf0;
}

.contact_block01 th {
	padding: 1rem 0;
	margin-bottom: 1.6rem;
	margin-top: 1.6rem;
	text-align: left;
	font-weight: bold;
	width: 185px;
	position: relative;
	vertical-align: middle;
	line-height: 2;
	letter-spacing: 0.03em;
}

.contact_block01 td {
	padding: 1.5rem 0 1.5rem 3.5rem;
}

.contact_block01 td .textbox,
.contact_block01 td .textarea {
	background-color: #f8f9fa;
	border: solid 1px #a2b5c2;
	padding: 1rem 1.5rem;
	border-radius: 5px;
	box-sizing: border-box;
	/* width: 450px; */
	width: 100%;
	height: 42px;
	font-size: 1.6rem;
}

.contact_block01 td .textarea {
	height: auto;
}

/* 「check_block01」は個人情報承諾確認*/
/*チェックボックス縦並び*/
.check_block01 {
	font-weight: bold;
	text-align: center;
	margin: 5.5rem 0 6.5rem;
}

.contact_area .check_block01 span.wpcf7-list-item {
	display: block;
}

.contact_area .check_block01 .wpcf7-form-control-wrap {
	display: block;
}

.contact_area .check_block01 span.wpcf7-list-item {
	margin: 0;
	/*項目右側の余白設定と、デフォルトの左側の余白を打ち消す*/
	position: relative;
	/* width: 100%; */
	/* width: 100px; */
	width: auto;
}

.contact_area .check_block01 .wpcf7-list-item-label {
	cursor: pointer;
	/*labelにhoverした時にカーソルを表示させる*/
}

.contact_area .check_block01 input[type="checkbox"] {
	opacity: 0;
	/*デフォルトのチェックボックスを見えなくする*/
	position: absolute;
}

.contact_area .check_block01 .wpcf7-list-item-label::before {
	/*チェックボックスのデザイン*/
	background-color: #f8f9fa;
	border: solid 1px #a2b5c2;
	content: "";
	display: inline-block;
	height: 30px;
	width: 30px;
	/* margin: 10px 10px 10px 0; */
	margin: 0 10px 0 0;
	position: relative;
	/* top: -1.2rem; */
	top: 0;
	left: -1rem;
	vertical-align: middle;
	border-radius: 5px;
}

.contact_area .check_block01 input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
	/*チェックアイコン*/
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
	content: '';
	display: block;
	width: 10px;
	height: 16px;
	position: absolute;
	top: .5rem;
	left: 11.5rem;
	margin: auto;
}

.contact_area .check_block01 input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    background: #164767;
    background: linear-gradient(45deg, rgba(22, 71, 103, 1) 0%, rgba(92, 126, 149, 1) 100%);
}

.contact_area .check_block01 {
	width: 320px;
	margin: 0 auto 4rem;
}

/* .contact_area .check_block01 a {
	text-decoration: underline;
} */

.contact_area .check_block01 {
	/*同意する*/
	margin: 0 auto 4rem;
	text-align: center;
	font-weight: bold;
}



/*ラジオボタン*/
.wpcf7-list-item {
	margin: 0 0 0 .5rem !important;
	/* display: block !important; */
	width: 40%;
}

.radio_btn .wpcf7-list-item {
	margin: 1rem 0 !important;
	display: block;
}

.wpcf7-list-item-label {
	cursor: pointer;
	display: flex;
	font-weight: 400;
	line-height: 2;
	margin: 1rem auto;
}

/*ラジオ デフォルトのボタン */
input[type="radio"] {
	opacity: 0;
	/* デフォルトのボタンを非表示 */
	position: absolute;
}

/*ラジオ チェック前のボタン */
.wpcf7-list-item-label::before {
	background: #f8f9fa;
	border: 1px solid #a2b5c2;
	border-radius: 100%;
	/* ラジオボタンっぽく丸くする */
	content: "";
	height: 30px;
	margin-bottom: auto;
	margin-right: .5em;
	margin-top: auto;
	transition: background-color .5s;
	/* 色をじんわり変化させる */
	width: 30px;
}

/*ラジオ チェック後のボタン */
input[type="radio"]:checked+.wpcf7-list-item-label::before {
	background: #164767;
	background: linear-gradient(45deg, rgba(22, 71, 103, 1) 0%, rgba(92, 126, 149, 1) 100%);
	/* 中心の色のスタイル */
	box-shadow: inset 0 0 0 5px #f8f9fa;
}

input.send_btn01 {
	background-color: #ff216a;
	border-radius: 5px;
	border: none;
	box-sizing: border-box;
	display: block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	width: 196px;
	height: 40px;
	text-align: center;
	line-height: 38px;
	margin: 7rem auto 0;
}
.contact_area .c_text01,
.contact_area .c_text02,
.contact_area .c_text03{
	font-weight: 300;
	font-size: 1.4rem;
}

.contact_area .c_text02{
	padding-bottom: 5px;
}

.contact_area .c_text03 span{
	text-decoration: underline;
}
.contact_area .c_text01{
	padding-top: 1rem;
}
.contact_area .c_text03 {
	position: absolute;
    top: 0;
    bottom: 0;
    left: 11rem;
    margin: auto;
    white-space: nowrap;
    line-height: 2.2;
}

@media (max-width: 599px) {
	.contact_area .check_block01 {
		width: 280px;
	}

	.contact_area .check_block01 .wpcf7-list-item-label::before {
		/*チェックボックスのデザイン*/
		border-radius: 5px;
		left: 0;
	}

	.contact_area .check_block01 input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
		width: 10px;
		height: 16px;
		left: 0;
        right: 64px;
	}

	.contact_block01 tr:first-child {
		border-top: solid 1px #e8edf0;
	}

	.contact_block01 th {
		font-weight: 400;
		margin: 1rem 0;
	}

	/* .contact_block01 tr:first-child {
		border-top: none;
	} */

	.contact_block01 td .textbox,
	.contact_block01 td .textarea {
		width: 100%;
		font-size: 1.4rem;
	}

	/* .contact_area {
		padding: 5rem 1.5rem 13rem;
	} */

	.contact_block01 th,
	.contact_block01 td {
		display: block;
		width: auto;
		padding: 0;
	}

	.contact_block01 td {
		padding: 0 1.5rem 2rem;
	}

	.contact_block01 th {
		padding: 0.5rem 1rem 0;
		background: none;
	}

	.contact_block01 td .textarea {
		height: auto;
	}

	.contact_area .c_text01,
	.contact_area .c_text02,
	.contact_area .c_text03{
		font-size: 1.3rem;
	}

	.contact_area .c_text03{
		display: block;
		position: absolute;
		top: auto;
		bottom: -2.5rem;
		left: 0;
		right: 0;
		margin: auto;
		white-space: nowrap;
		line-height: 1;
	}
	.wpcf7-list-item-label{
		margin: 1rem auto 0;
	}
	.contact_area .check_block01 .wpcf7-list-item-label{
		display: block;
	}
	.contact_area .check_block01 .wpcf7-not-valid-tip{
		padding-top: 4rem;
		text-align: left;
	}
}

/*==================
footer お問い合わせフォーム pc
====================*/
@media (min-width: 600px) {
	.contact_area {
		margin: 0 auto 7.5rem;
	}

	.contact_area .inner_pc01 {
		padding: 0 1.5rem 5rem;
	}

	.contact_area .ttl_area01{
		margin-bottom: 6rem;
	}

	.contact_area .ttl_area01 span {
		font-size: 1.5rem;
	}

	.contact_area h3 {
		font-size: 2.5rem;
	}

	.contact_area01 {
		max-width: 960px;
		margin: 0 auto;
	}

	.contact_area .ttl_area01 img {
		left: 2%;
		bottom: 0;
	}

	.contact_block01 tr:first-child{
		border-top: solid 1px #e8edf0;
	}

	.contact_block01 td {
		padding: 1.5rem 1rem 1.5rem 3.5rem;
	}

	.contact_block01 th {
		padding: 1rem 0 1rem 1rem;
	}

	.contact_area .check_block01 input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
		left: 0.1rem;
	}

	input.send_btn01 {
		font-size: 1.5rem;
		margin: 3rem auto 0;
	}
	.wpcf7-list-item{
		width: 26%;
	}

	/* ▼名前だけ幅狭 */
	.contact_block01 tr:nth-child(2) td .textbox{
		width: 320px;
	}

}

@media screen and (min-width: 600px) and (max-width: 700px) {
	.wpcf7-list-item {
        width: 33%;
    }
}

@media (min-width: 1025px) {
	.contact_area .ttl_area01 img {
		left: 10%;
	}
}


/*==================
メールフォーム エラーメッセージ 【PC】
====================*/
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
	background:#ffe5ed;
	color: #dc3232;
    border: 1px solid #dc3232 !important;
	line-height: 2;
	padding: 3rem 0 3rem 9rem;
	width: 550px;
	position: relative;
	bottom: 0;
	border-radius: 3px;
	margin: 0 auto;
}
.wpcf7 form.invalid .wpcf7-response-output::before, .wpcf7 form.unaccepted .wpcf7-response-output::before {
	background: url("../images/common/error.png") no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 30px;
	width: 30px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3.5rem;
	margin: auto;
}
/*入力エラーフォームのスタイルを変更*/
.contact_area td .wpcf7-not-valid.textbox,
.contact_area td .wpcf7-not-valid.textarea,
.contact_area td .wpcf7-not-valid .wpcf7-list-item-label::before,
.contact_area .wpcf7 .check_block01 .wpcf7-not-valid .wpcf7-list-item-label::before {
	background: #ffe5ed;
	border: solid 1px #e9e9ea;
}

.wpcf7-not-valid-tip {
	padding: 1rem 0 0;
	font-size: 1.4rem !important;
}
/*入力エラーフォームのスタイルを変更*/
/* .wpcf7 .contactus_block01 td .wpcf7-not-valid.text, .wpcf7 .contactus_block01 td .wpcf7-not-valid.text2, .wpcf7 .contactus_block01 td .wpcf7-not-valid.text3{
	background: #fae6e6;
	border: solid 1px #cc0909;
}
.wpcf7 .check_block01 .wpcf7-not-valid .wpcf7-list-item-label::before{
	background: #fae6e6;
	border: solid 1px #cc0909;
} */

/*==================
メールフォーム エラーメッセージ 【SP】
====================*/
@media (max-width: 599px) {
/*エラーメッセージ*/
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		padding: 6rem 1.5rem 2rem;
		width: 300px;
		left: auto;
	}
	.wpcf7 form.invalid .wpcf7-response-output::before, .wpcf7 form.unaccepted .wpcf7-response-output::before {
		top: 1.5rem;
		bottom: auto;
		left: 0;
		right: 0;
	}

}



/* ==================================
  animation
================================== */
/*アニメーション*/
.fade_bottom01 {
	opacity: 0;
}

.pageOn .fade_bottom01.active {
	animation: fade_bottom01 1s ease-out;
	animation-fill-mode: forwards
}

/* 下層ページ */
.fade_bottom02 {
	opacity: 0;
}

.fade_bottom02.active {
	animation: fade_bottom01 1s ease-out;
	animation-fill-mode: forwards
}

.fade_right01 {
	opacity: 0;
	transform: translateX(20px);
	transition: all 0.6s;
}

.fade_right01.active {
	opacity: 1;
	transform: translateX(0);
}

.fade_left01,
.fade_left02,
.fade_left03 {
	opacity: 0;
}

.fade_left01.active,
.fade_left02.active,
.fade_left03.active {
	animation: fade_left01 1s ease-out;
	animation-fill-mode: forwards
}


@keyframes fade_left01 {
	0% {
		transform: translateX(-20px);
		opacity: 0;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes fade_bottom01 {
	0% {
		transform: translateY(20px);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

.fade_left01.active {
	animation-delay: 0s;
}

.fade_left02.active {
	animation-delay: .3s;
}

.fade_left03.active {
	animation-delay: .8s;
}

@media (max-width: 599px) {

	.fade_left01.active,
	.fade_left02.active,
	.fade_left03.active {
		animation-delay: 0s;
	}

	.quality_block01 .fade_left01.active,
	.quality_block01 .fade_left02.active,
	.quality_block01 .fade_left03.active {
		animation: fade_bottom01 0.6s ease-out;
		animation-fill-mode: forwards;
		/* animation-delay: 0s; */
	}

	.quality_block01 .fade_left01.active {
		animation-delay: 0s;
	}

	.quality_block01 .fade_left02.active {
		/* animation-delay: .6s; */
		animation-delay: 0s;
	}

	.quality_block01 .fade_left03.active {
		/* animation-delay: 1.2s; */
		animation-delay: 0s;
	}

}

.reason_area .fade_frame01,
.reason_area .fade_frame02,
.reason_area .fade_frame03,
.reason_area .fade_left_man01,
.reason_area .fade_left_man02,
.reason_area .fade_left_man03,
.reason_area .sequence_bounce01,
.reason_area .sequence_bounce02,
.reason_area .sequence_bounce03,
.reason_area .fade_picture01,
.reason_area .fade_picture02,
.reason_area .fade_picture03 {
	opacity: 0;
}

/* 枠 */
.pageOn .reason_area .fade_frame01.active,
.pageOn .reason_area .fade_frame02.active,
.pageOn .reason_area .fade_frame03.active {
	animation: fade_left01 1s ease-out;
	animation-fill-mode: forwards;
}

/* 男性 */
.pageOn .reason_area .fade_left_man01.active,
.pageOn .reason_area .fade_left_man02.active,
.pageOn .reason_area .fade_left_man03.active {
	animation: fade_left01 1s ease-out;
	animation-fill-mode: forwards;
	animation-delay: 0.3s;
}

/* 吹き出し */
.pageOn .reason_area .sequence_bounce01.active,
.pageOn .reason_area .sequence_bounce02.active,
.pageOn .reason_area .sequence_bounce03.active {
	animation: sequence_bounce01 1.2s forwards;
	animation-timing-function: ease;
	animation-delay: 0.6s;
}

/* イラスト */
.pageOn .reason_area .fade_picture01.active,
.pageOn .reason_area .fade_picture02.active,
.pageOn .reason_area .fade_picture03.active {
	animation: fade_left01 1s ease-out;
	animation-fill-mode: forwards;
	animation-delay: 0.9s;
}

@keyframes sequence_bounce01 {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}

	25% {
		opacity: 1;
		transform: scale(0.75);
		/* 最初は大きく弾く */
	}

	50% {
		opacity: 1;
		transform: scale(1.0);
	}

	70% {
		opacity: 1;
		transform: scale(0.93);
		/* 後半は控えめ */
	}

	100% {
		opacity: 1;
		transform: scale(1.0);
	}
}

@media (max-width: 599px) {
	.fade_bottom01_sp {
		opacity: 0;
	}

	.pageOn .fade_bottom01_sp.active {
		animation: fade_bottom01 0.6s ease-out;
		animation-fill-mode: forwards
	}
}


@media (min-width: 600px) {
	/* 枠 */
	.pageOn .reason_area .fade_frame02.active {
		animation-delay: 0.9s;
	}

	.pageOn .reason_area .fade_frame03.active {
		animation-delay: 1.8s;
	}

	.pageOn .reason_area .fade_left_man02.active {
		animation-delay: 1.2s;
	}

	.pageOn .reason_area .fade_left_man03.active {
		animation-delay: 2.1s;
	}

	.pageOn .reason_area .sequence_bounce02.active {
		animation-delay: 1.5s;
	}

	.pageOn .reason_area .sequence_bounce03.active {
		animation-delay: 2.4s;
	}

	.pageOn .reason_area .fade_picture02.active {
		animation-delay: 1.8s;
	}

	.pageOn .reason_area .fade_picture03.active {
		animation-delay: 2.7s;
	}

}


/*--------------- front（トップページ） ---------------*/
/* ==================================
  シャッター
================================== */
.shutter09::after {
	position: fixed;
	content: "";
	width: 100%;
	height: 100vh;
	height: 100svh;
	background: #fff;
	top: 0;
	left: 0;
	z-index: 9997;
	animation: LogoBackFadeOut09 3s forwards;
}

.shutter09 .loading_logo::before {
	content: "";
	width: 300px;
	height: 60px;
	position: fixed;
	top: 0;
	bottom: -100px;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	padding: 2rem 1.5rem;
	z-index: 999999;
	animation: LogoBackFadeOut09 1.5s forwards;
}

.shutter09 .loading_logo img {
	width: 250px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	animation: LogoFadeIn09 2.6s forwards;
	transition-timing-function: ease-in-out;
	z-index: 99999;
	opacity: 1;
}

@keyframes LogoBackFadeOut09 {
	0% {
		opacity: 1;
	}

	80% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		visibility: hidden
	}
}

@keyframes LogoFadeIn09 {
	0% {
		transform: translateY(50px);
		opacity: 1;
		fill: #cee8f4;
	}

	50% {
		transform: translateY(0);
		opacity: 1;
		fill: #cee8f4;

	}

	90% {
		transform: translateY(0);
		opacity: 1;
		fill: #fff;

	}

	100% {
		transform: translateY(-50px);
		opacity: 0;
		fill: #fff;
		visibility: hidden
	}
}


/*---------- カーテン ----------*/
.diagonalCurtainbg09 {
	position: fixed;
	z-index: 9998;
	width: 250vw;
	height: 250vh;
	background-color: #ff0050;
	transform: rotate(-25deg) translateY(100%) translateX(-20%);
	transform-origin: bottom left;
	animation: curtainAnime_diagonal09 1.5s ease-in-out forwards;
	animation-delay: 1.8s;
}

@media (max-width: 1024px) {
	.diagonalCurtainbg09 {
		width: 230vw;
		height: 230vh;
		top: -50%;
		animation-name: curtainAnime_diagonal09_sp;
	}
}

@media (min-height: 1024px) {
	.diagonalCurtainbg09 {
		top: -50%;
	}
}

@keyframes curtainAnime_diagonal09_sp {
	0% {
		transform: rotate(-25deg) translateY(100%) translateX(15%);
		opacity: 1;
	}

	100% {
		transform: rotate(-25deg) translateY(-130%) translateX(15%);
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes curtainAnime_diagonal09 {
	0% {
		transform: rotate(-25deg) translateY(100%) translateX(-20%);
		opacity: 1;
	}

	100% {
		transform: rotate(-25deg) translateY(-120%) translateX(-20%);
		opacity: 0;
		visibility: hidden;
	}
}

.fadeout09 {
	animation: diagonalCurtainbg_fadeOut09 1s;
	animation-fill-mode: both;
}

@keyframes diagonalCurtainbg_fadeOut09 {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

#container09 {
	opacity: 0;
	/*はじめは透過0に*/
}

/*bodyにpageOnクラスがついたら出現*/
body.shutter-09.pageOn #container {
	animation-name: diagonalCurtainbg_PageAnimeOn08;
	animation-duration: 1s;
	animation-delay: 0.8s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes diagonalCurtainbg_PageAnimeOn08 {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/*==================
front mv sp
====================*/

.mv01 {
	background-image: url("../images/business/mv_business01_sp.png");
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 460px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.mv_area .inner_pc01 span {
	border-top: 1px solid #000028;
	border-bottom: 1px solid #000028;
	display: block;
	font-size: 2rem;
	text-align: center;
	max-width: 296px;
	margin: 0 auto 2rem;
	line-height: 2.2;
	letter-spacing: 0.07em;
}

.mv_area p {
	font-size: 1.3rem;
	padding: 0 .5rem;
	max-width: 300px;
	margin: 0 auto;
}

.common_btn01 {
	background-color: #ff0050;
	border-radius: 10px;
	color: #fff;
	display: block;
	font-weight: 500;
	width: 300px;
	height: 70px;
	line-height: 68px;
	text-align: center;
	letter-spacing: 0.07em;
	margin: 2rem auto;
	position: relative;
}

.common_btn01::before {
	border-radius: 100%;
	border: solid 1px #fff;
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5rem;
	margin: auto;
}

.common_btn01::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 0.1rem #fff;
	border-right: solid 0.1rem #fff;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: -3px;
	bottom: 0;
	right: 2.2rem;
	margin: auto;
}

.mv_area .common_btn01 img {
	width: 80px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.mv_area .common_btn01 {
	padding-left: 2rem;
}

.mv_area h1 img {
	position: absolute;
	top: 27.5rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

@media (max-width: 599px) {
	.mv_area {
		position: relative;
		z-index: 0;
		padding: 46rem 0 0;
	}

	.mv_area .inner_pc01 {
		background-color: #e9f2fb;
		padding: 2rem 0 5.5rem;
	}

	.mv01 {
		background-color: #e9f2fb;
	}

	.mv01::after {
		content: "";
		background: #E9F2FB;
		background: linear-gradient(0deg, rgba(233, 242, 251, 1) 0%, rgba(233, 242, 251, 0) 100%);
		width: 100%;
		height: 5rem;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
	}

	.pick_up01 {
		background-color: #fff;
		text-align: center;
		padding: 4rem 1.5rem 5rem;
	}

	.pick_up01 span {
		display: block;
		margin-bottom: 1rem;
	}

	.pick_up01 a {
		display: block;
		margin: 0 auto;
		width: fit-content;
	}

	.pick_up01 a img {
		width: 300px;
		filter: drop-shadow(0px 20px 20px rgba(0, 0, 0, 0.3));
	}

	.sp_mv_triangle01 {
		width: 60px;
		position: absolute;
		top: 10rem;
		right: 2rem;
		animation: rotateY 1.7s infinite linear;
		z-index: 3;
	}

	.sp_mv_triangle02 {
		width: 35px;
		position: absolute;
		top: 21rem;
		right: 6rem;
		animation: rotateY 2s infinite linear;
		z-index: 3;
	}
}

/* ▼▼ 舞う三角アニメーション ▼▼ */
#triangles {

	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	/* ★ 背景の上だけど邪魔しない */
	overflow: hidden;

	height: 430px;
	/* width: 200px; */
	margin: 0 0 0 auto;
	top: 0;
}

/* 三角形（CSSのclip-pathで作る） */
.triangle {
	position: absolute;
	bottom: -120px;
	/* 下から飛ばす */
	width: var(--size, 40px);
	height: var(--size, 40px);

	/* 透明度 */
	opacity: var(--opacity, 0.6);

	/* ★ ここで単色 or グラデーションを受け取る */
	background: var(--bg, rgba(255, 255, 255, 0.8));

	/* 三角形の形状 */
	clip-path: polygon(30% 0%, 25% 100%, 100% 100%);

	animation: floatUp var(--duration, 14s) linear infinite;
	animation-delay: var(--delay, 0s);

	will-change: transform;

	/* 背面が見えたときに非表示にしない（キラキラさせるなら表示のままでOK） */
	transform-style: preserve-3d;
}

/* ▼ 3D回転を取り入れた下 → 上へ流れていくアニメーション */
@keyframes floatUp {
	0% {
		transform:
			translateY(0) translateX(0) rotate3d(0, 0, 1, 0deg);
		opacity: 0;
	}

	10% {
		opacity: var(--opacity);
	}

	90% {
		opacity: var(--opacity);
	}

	100% {
		transform:
			translateY(-800px)
			/* 上昇距離 */
			translateX(var(--drift))
			/* 横揺れ */
			/* ▼ ここで変数が(0,0,1)なら平面、ランダムなら立体回転になります */
			rotate3d(var(--axisX), var(--axisY), var(--axisZ), var(--rotateEnd));
		opacity: 0;
	}

}

/* MVアニメーション */
.fade_scale01 {
	/* opacity: 0; */
	transform: scale(1.18);
	animation-name: fadeInScale;
	animation-duration: 8s;
	animation-timing-function: ease;
	animation-delay: 2.3s;
	animation-fill-mode: forwards;
}

@keyframes fadeInScale {
	from {
		transform: scale(1.18);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/*==================
front mv pc
====================*/
@media (min-width: 600px) {
	.mv_area {
		height: 630px;
		position: relative;
	}

	.mv01 {
		background-image: url("../images/business/mv_business01_pc.jpg");
		height: 100%;
		/* z-index: -1; */
	}

	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx) {
		.mv01 {
			background-image: url("../images/business/mv_business01_pc@2x.jpg");
		}
	}

	.mv_area {
		width: 100%;
		height: 630px;
		min-height: 550px;
		max-height: 750px;
		object-fit: cover;
		overflow: hidden;
	}

	.mv_area .inner_pc01 {
		/* max-width: 1330px; */
		max-width: 1000px;
		padding: 31rem 1.5rem 0;
		position: relative;
		z-index: 2;
	}

	.mv_area .inner_pc01 span {
		margin: 0 0 2rem;
	}

	.mv_area p {
		margin: 0;
	}

	.mv_area .common_btn01 {
		margin: 2rem 0 0;
	}

	.mv_area h1 img {
		top: 11.5rem;
		left: 0;
		margin: 0;
	}

	#triangles {
		height: 650px;
		/* width: 800px; */
		margin: 0 auto;
		left: 18rem;
	}

	.pick_up01 a {
		display: block;
		position: absolute;
		bottom: 2.5rem;
		right: 2.5rem;
		z-index: 100;
	}

	.pick_up01 a img {
		filter: drop-shadow(0px 20px 20px rgba(0, 0, 0, 0.3));
	}
}

@media (min-width: 1500px) {
	.mv_area .inner_pc01 {
		max-width: 1330px;
	}
}

/*==================
front reason_area sp
====================*/
.reason_area {
	background: #FF0050;
	background: linear-gradient(180deg, rgba(255, 0, 80, 1) 0%, rgba(255, 0, 80, 0) 100%);
	padding: 4.5rem 1.5rem;
}

.reason_area .ttl_area01 {
	color: #fff;
	position: relative;
}

.reason_area .ttl_area01::before {
	content: "";
	background-color: #fff;
	width: 100px;
	height: 1px;
	position: absolute;
	top: -1rem;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 0;
}

.pageOn .reason_area .ttl_area01::before {
	animation: fade_bottom01 0.5s ease-out;
	animation-fill-mode: forwards
}

.reason_area li {
	background-color: #ffe2e6;
	border: solid 1px #fff;
	border-radius: 10px;
	filter: drop-shadow(0px 20px 20px rgba(163, 0, 39, 0.2));
	position: relative;
	max-width: 600px;
	margin: 4rem auto 0;
}

.reason_area h3 {
	font-size: 1.4rem;
}

.reason_area li img {
	position: absolute;
}

.reason_area .img_num01 {
	top: -3rem;
	left: 2rem;
	z-index: 3;
}

.reason_area .img_man01 {
	bottom: 3rem;
	left: 1rem;
	z-index: 2;
}

.reason_area li:nth-child(2) .img_man01 {
	bottom: 2rem;
	z-index: 5;
}

.reason_area li:nth-child(3) .img_man01 {
	bottom: 4rem;
}

.reason_area .img_reason01 {
	bottom: 6rem;
	right: 1rem;
	z-index: 2;
}

.reason_area li:nth-child(3) .img_reason01 {
	bottom: 8rem;
	right: 2rem;
}

.reason_area .img_line01 {
	bottom: 5.8rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
	width: 194px;
}

.reason_area li:nth-child(3) .img_line01 {
	bottom: 6.8rem;
}

.speech_bubble01 {
	position: relative;
	display: block;
	width: 93%;
	border-radius: 5px;
	background-color: #fff;
	color: #140028;
	filter: drop-shadow(0px 20px 20px rgba(163, 0, 39, 0.2));
	text-align: center;
	margin: 1rem auto 9rem;
	padding: 2.5rem 0;
	letter-spacing: 0.07em;
}


.speech_bubble01::after {
	background: url(../images/business/speech_bubble_triangle01.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: auto;
	width: 30px;
	height: 30px;
	position: absolute;
	bottom: -18px;
	left: 0;
	right: 0;
	margin: auto;
}

.speech_bubble01 span {
	color: #2480ef;
}

.reason_area li .common_btn01 {
	border-radius: 0 0 10px 10px;
	border: none;
	font-weight: 600;
	width: 100%;
	height: 50px;
	margin: 0;
	line-height: 48px;
	z-index: 3;
}

.reason_area .common_btn01::before {
	right: 2.5rem;
}

.reason_area .common_btn01::after {
	right: 3.2rem;
}

@media (max-width: 599px) {

	.reason_area .img_num01 {
		width: 72px;
	}

	.reason_area li:nth-child(2) .img_num01 {
		width: 84px;
	}

	.reason_area li:nth-child(3) .img_num01 {
		width: 83px;
	}
}

/* ーーータイトル横ーーー */
.reason_area .inner_pc01 {
	position: relative;
}

.triangle01 {
	width: 38px;
	height: 45px;
	position: absolute;
	top: 28%;
	right: 28%;
	margin: auto;
	z-index: 5;
}

.triangle02 {
	top: 40%;
	right: 66%;
}

.triangle03 {
	width: 68px;
	height: 100px;
	right: 5%;
}

.triangle04 {
	width: 68px;
	height: 100px;
	right: 86%;
}

.active.fade_bottom_In {
	animation: fade_bottom_In_rotate01 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	opacity: 0;
}

.triangle03 .active.fade_bottom_In,
.triangle04 .active.fade_bottom_In {
	animation: fade_bottom_In_rotate02 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: .4s;
}

@keyframes fade_bottom_In_rotate01 {
	0% {
		transform: translateY(150px) rotate(30deg) scale(0.98);
		opacity: 0;
	}

	100% {
		transform: translateY(0) rotate(0deg) scale(1);
		opacity: 1;
	}
}

@keyframes fade_bottom_In_rotate02 {
	0% {
		transform: translateY(150px) rotate(-30deg) scale(0.98);
		opacity: 0;
	}

	100% {
		transform: translateY(0) rotate(0deg) scale(1);
		opacity: 1;
	}
}

@media (max-width: 599px) {
	.triangle01 {
		top: 1rem;
		right: 6rem;
	}

	.triangle02 {
		top: -1rem;
		right: auto;
		left: 5rem;
	}

	.triangle03 {
		top: -3rem;
		right: -1rem;
	}

	.triangle04 {
		top: -2rem;
		right: auto;
	}
}

/*==================
front reason_area pc
====================*/
@media (min-width: 800px) {
	.reason_area {
		padding: 6.5rem 1.5rem;
	}

	.reason_area .inner_pc01 {
		max-width: 1300px;
	}

	.reason_area ul {
		display: flex;
		justify-content: space-around;
		flex-wrap: nowrap;
		margin-top: 2rem;
	}

	.reason_area li {
		width: 31.5%;
	}

	.reason_area li .common_btn01 {
		font-size: 2rem;
	}

	.reason_area li .common_btn01 {
		height: 60px;
		line-height: 58px;
	}

	.reason_area h3 {
		font-size: 1.6rem;
	}

	.speech_bubble01 {
		padding: 3rem 0;
		margin: 1.3rem auto 11rem;
	}

	.reason_area .img_line01 {
		width: 235px;
		bottom: 7rem;
	}

	.reason_area li:nth-child(3) .img_man01 {
		bottom: 5rem;
	}

	.reason_area .active.fade_bottom_In,
	.reason_area .triangle03 .active.fade_bottom_In,
	.reason_area .triangle04 .active.fade_bottom_In {
		animation-name: none;
		opacity: 0;
	}

	.pageOn .reason_area .active.fade_bottom_In {
		animation: fade_bottom_In_rotate02 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
		animation-delay: 1.1s;
	}

	.pageOn .reason_area .triangle03 .active.fade_bottom_In,
	.pageOn .reason_area .triangle04 .active.fade_bottom_In {
		animation: fade_bottom_In_rotate02 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
		animation-delay: 1.4s;
	}
}

/*==================
front available_area sp
====================*/
.available_area {
	padding: 8rem 0 0;
}

.available_area .inner_pc01 {
	position: relative;
}

.available_area .ttl_area01 span {
	color: #ff0050;
}

.available_area .text_available01 {
	padding: 0 1.5rem;
	display: block;
	margin: 2rem auto 3.5rem;
}

/* SVG曲線アニメーション */
.curve01 {
	width: 80%;
	max-width: 500px;
	display: block;
	margin: 0 auto;
	opacity: 0.4;
	position: absolute;
	top: -4rem;
	left: 0;
	right: 0;
	margin: auto;
}

/* 1つ目 */
.curve01.active #mask path {
	fill: none;
	stroke: #ffffff;
	stroke-width: 50;
	stroke-dasharray: 1800px;
	stroke-dashoffset: 1800px;
	animation: line 6s ease-out 0.4s forwards;
}

/* 2つ目 */
.curve01.active #mask02 path {
	fill: none;
	stroke: #ffffff;
	stroke-width: 50;
	stroke-dasharray: 1800px;
	stroke-dashoffset: 1800px;
	animation: line 6s ease-out 0.4s forwards;
}

/* 3つ目 */
.curve01.active #mask03 path {
	fill: none;
	stroke: #ffffff;
	stroke-width: 50;
	stroke-dasharray: 1800px;
	stroke-dashoffset: 1800px;
	animation: line 6s ease-out 0.4s forwards;
}

/* 4つ目 */
.curve01.active #mask04 path {
	fill: none;
	stroke: #ffffff;
	stroke-width: 50;
	stroke-dasharray: 1800px;
	stroke-dashoffset: 1800px;
	animation: line 6s ease-out 0.4s forwards;
}


@keyframes line {
	0% {
		stroke-dashoffset: 1800px;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

/* 1つ目 */
#text {
	mask: url(#mask-wrapper);
	fill: #000;
}

/* 2つ目 */
#text02 {
	mask: url(#mask-wrapper02);
	fill: #000;
}

/* 3つ目 */
#text03 {
	mask: url(#mask-wrapper03);
	fill: #000;
}

/* 4つ目 */
#text04 {
	mask: url(#mask-wrapper04);
	fill: #000;
}


.slider_content01 .img_num01 {
	position: absolute;
	top: 4rem;
	right: 1.5rem;
	z-index: 2;
}

.slider_content01 .img_triangle01 {
	position: absolute;
	top: 4rem;
	right: 1.5rem;
	animation: rotateY 2s infinite linear;
}

/* Y軸回転アニメーション */
@keyframes rotateY {
	0% {
		transform: rotateY(0deg);
	}

	50% {
		transform: rotateY(180deg);
	}

	100% {
		transform: rotateY(360deg);
	}
}


.scroll_text span {
	color: #ff0050;
	font-size: 1rem;
}

.scroll_text h3 {
	font-size: 1.8rem;
	font-weight: 600;
	padding-bottom: 1.5rem;
}

.scroll_text p {
	font-size: 1.4rem;
}

.scroll_text ul {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5rem auto;
}

.scroll_text li {
	width: 46%;
	padding-left: 3rem;
	position: relative;
}

.scroll_text li::before {
	background-color: #dce3e8;
	border-radius: 1px;
	content: "";
	width: 18px;
	height: 18px;
	position: absolute;
	top: 5px;
	left: 0;
	margin: auto;
}

.scroll_text li::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 10px;
	top: 7px;
	left: 6px;
	-webkit-transform: rotate(50deg);
	-ms-transform: rotate(50deg);
	transform: rotate(50deg);
	border-right: 1px solid #164767;
	border-bottom: 1px solid #164767;
	z-index: 2;
}

.scroll_text .flex_b a {
	border-radius: 5px;
	background-color: #2d5976;
	color: #fff;
	display: block;
	font-weight: 500;
	font-size: 1.4rem;
	width: 48%;
	height: 40px;
	text-align: center;
	line-height: 38px;
}

.scroll_text .flex_b a:last-child {
	background-color: #ff3373;
}

@media (max-width: 599px) {
	/* scroll_text */
	.scroll_text {
		border-bottom: solid 1px #e8edf0;
		position: relative;
		padding: 4rem 1.5rem;
	}

	.scroll_area3 .scroll_text {
		border-bottom: none;
	}

	.img_available01_sp {
		width: 100%;
		margin-bottom: 1rem;
	}

	.available_area .triangle01 {
		top: -7rem;
		width: 30px;
	}

	.available_area .triangle03 {
		top: -10rem;
		width: 43px;
		right: 1rem;
	}

	.available_area .triangle04 {
		top: -10rem;
		left: 1.5rem;
		width: 50px;
	}

	.available_area .triangle02 {
		top: -7rem;
		left: 7rem;
		width: 28px;
	}

}

/*==================
front available_area pc
====================*/
@media (min-width: 600px) {
	.available_area {
		padding: 15rem 0 0;
	}

	.available_area h2 {
		padding-bottom: 1.5rem;
	}

	.curve01 {
		width: 620px;
		top: -5rem;
	}

	/* 線を細く */
	.curve01 .st1,
	.curve01 .st2,
	.curve01 .st3,
	.curve01 .st4 {
		stroke-width: 20px !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
	}

	/* ドットを小さく */
	.curve01 pattern {
		transform: scale(0.2) !important;
		transform-origin: center;
	}


	.available_area .text_available01 {
		margin-bottom: 0;
		position: absolute;
		top: 15rem;
		left: 0;
		right: 0;
		margin: auto;
	}

	.slider_content01 {
		max-width: 1110px;
		width: 100%;
		margin: 0 auto;
		padding: 0 1.5rem;
		position: relative;
		display: flex;
		justify-content: space-between;
		position: relative;
	}

	/*コンテンツ*/
	.text_container {
		width: 50%;
	}

	.text_container .scroll_area1,
	.text_container .scroll_area2,
	.text_container .scroll_area3 {
		padding-top: 20rem;
		max-width: 400px;
		margin: 0 0 0 auto;
	}

	.text_container .scroll_area1 {
		padding-top: 28rem;
	}

	.text_container .scroll_area3 {
		padding-bottom: 30rem;
	}

	/*イメージ*/
	.images_container01 {
		width: 46%;
		max-width: 450px;
		height: 100vh;
		display: flex;
		align-items: center;
		position: sticky;
		position: -webkit-sticky;
		top: 0;
	}

	.images_container01 img {
		max-width: 100%;
		height: auto;
	}

	.images_container01 div {
		width: 100%;
		height: 530px;
		margin: auto;
		display: block;
		visibility: hidden;
		position: absolute;
		top: 0;
		bottom: 0;
		transition: .8s !important;
		opacity: 0;
	}

	.images_container01 div:first-child,
	.images_container01 div.active {
		visibility: visible;
		opacity: 1;
	}

	/* 数字 */

	/* 数字はすべて非表示 */
	.images_container01 [class^="img_num"] {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 4;
	}

	.images_container01 [class^="img_triangle"] {
		position: absolute;
		top: 0;
		right: 0;
		display: none;
		z-index: 3;
	}

	.images_container01 .img_triangle01 {
		top: -5rem;
		right: 7rem;
	}

	.images_container01 .img_triangle02 {
		top: 5rem;
		right: -3rem;
	}

	.images_container01 .img_triangle03 {
		top: -1rem;
		right: 4rem;
	}

	.img_triangle02,
	.img_triangle03 {
		animation: rotateY 2s infinite linear;
	}

	/* layout */
	.scroll_text span {
		font-size: 1.1rem;
	}

	.scroll_text h3 {
		font-size: 2.4rem;
		border-bottom: solid 1px #164767;
		margin-bottom: 2rem;
	}

	.scroll_text ul {
		display: flex;
		flex-wrap: wrap;
		margin: 3rem auto 5.5rem;
	}


	.available_area .active.fade_bottom_In {
		animation-delay: 1s;
	}

}

@media (min-width: 1025px) {
	.text_container {
		width: 40%;
	}

	.images_container01 {
		width: 42%;
	}
}

@media (min-height: 1000px) {
	.text_container .scroll_area1 {
		padding-top: 42rem;
	}

	.text_container .scroll_area3 {
		padding-bottom: 42rem;
	}

	.available_area {
		margin-bottom: -20rem;
	}

	.available_area .ttl_area01 {
		margin-bottom: -10rem;
	}
}

/*==================
front inquiry_content01 sp
====================*/
.inquiry_content01 {
	background: #FF0050;
	background: linear-gradient(45deg, rgba(255, 0, 80, 1) 0%, rgba(255, 128, 167, 1) 100%);
	padding: 2rem 1.5rem;
	margin-top: 15rem;
}

/* inquiry_common01 */
.inquiry_common01 {
	border-radius: 10px;
	background-color: #fff;
	color: #ff0050;
	padding: 3rem 0 3.5rem;
	text-align: center;
	position: relative;
	z-index: 0;
}

.inquiry_common01 h2 {
	font-weight: 500;
}

.inquiry_btn01 {
	background-color: #ff0050;
	border-radius: 10px;
	color: #fff;
	display: block;
	text-align: center;
	width: 260px;
	height: 50px;
	line-height: 48px;
	position: relative;
	padding-left: 1rem;
	margin: 2.5rem auto 1.5rem;
}

.inquiry_common01 .icon_speech01 {
	width: 22px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3rem;
	margin: auto;
}

.inquiry_common01 .tel_btn01 {
	color: #ff0050;
	font-size: 2.7rem;
	font-weight: 500;
	text-align: center;
	position: relative;
	padding-left: 2.5rem;
	line-height: 1;
}

.inquiry_common01 .icon_tel01 {
	width: 16px;
	position: absolute;
	top: 3px;
	bottom: 0;
	left: 0;
	margin: auto;
}

.inquiry_common01 span {
	display: block;
	font-size: 1.3rem;
}

.inquiry_common01 .img_woman02 {
	position: absolute;
	top: -15rem;
	left: 3rem;
	z-index: -1;
}

@media (max-width: 599px) {
	.inquiry_content01 .curve01 {
		width: 240px;
		top: -11rem;
		left: 0;
		right: auto;
		z-index: -1;
	}

	.inquiry_common01::before {
		content: "";
		background-color: #fff;
		width: 92%;
		height: 10px;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
}

/*==================
front inquiry_content01 pc
====================*/
@media (min-width: 600px) {
	.inquiry_content01 {
		padding: 6rem 1.5rem;
		margin-top: 0;
		overflow: hidden;
	}

	.inquiry_common01 {
		max-width: 1470px;
		margin: 0 auto;
		padding: 6rem 0;
	}

	.inquiry_common01 .img_woman02 {
		top: auto;
		bottom: 0;
	}

	.inquiry_btn01 {
		font-size: 1.6rem;
		width: 260px;
		height: 60px;
		line-height: 58px;
		margin: 4rem auto 2rem;
	}

	.inquiry_common01 .icon_speech01 {
		width: 28px;
	}

	.inquiry_content01 .curve01 {
		width: 33%;
		max-width: 580px;
		top: 10rem;
		left: 2rem;
		right: auto;
		z-index: -1;
	}
}

/*==================
front quality_area sp
====================*/
.quality_area {
	color: #fff;
	padding: 6rem 0;
}

.quality_area .ttl_area01 {
	text-align: left;
}

.quality_area .ttl_area01 span {
	font-size: 1.4rem;
	margin-bottom: .5rem;
}

.quality_area .img_quality02 {
	width: 40px;
}

.quality_block01 img {
	display: block;
	margin: 0 auto;
}

.quality_area .flex_b_pc {
	margin: 3.5rem auto;
}

.quality_area .common_btn01 {
	background-color: #ff0050;
	border-radius: 5px;
	border: solid 1px #fff;
	width: 280px;
	height: 40px;
	line-height: 37px;
}

@media (max-width: 599px) {
	.quality_area h2 {
		font-size: 2.2rem;
		margin-bottom: 3rem;
	}

	.quality_area .img_quality02 {
		transform: rotate(90deg);
		margin: .5rem auto 2rem;
	}

	.quality_area .common_btn01::before {
		right: 3.5rem;
	}

	.quality_area .common_btn01::after {
		right: 4.2rem;
	}
}

/*==================
front quality_area pc
====================*/
@media (min-width: 600px) {
	.quality_area {
		max-width: 1090px;
		margin: 10rem auto 6rem;
		align-items: flex-start;
		position: relative;
	}

	.quality_area .ttl_area01 span {
		font-size: 1.5rem;
	}

	.quality_area h2 {
		line-height: 1.7;
		margin-bottom: 3.8rem;
	}

	.quality_area p {
		font-size: 1.4rem;
	}

	.quality_block01 {
		width: 55%;
		max-width: 510px;
	}

	.quality_area .flex_b_pc {
		flex-wrap: nowrap;
		margin: 5.5rem auto;
	}

	.quality_area .img_quality02 {
		margin-left: -1rem;
	}

	.quality_area .common_btn01 {
		width: 196px;
		margin: 0 auto 0 0;
	}

	.img_quality04 {
		max-width: 450px;
		width: 40%;
	}

	.quality_triangle01 {
		position: absolute;
		top: 5rem;
		right: -3rem;
		width: 104px;

	}

	.quality_triangle02 {
		position: absolute;
		top: 25rem;
		right: -4rem;
		width: 60px;
	}

	.quality_triangle01 .active.fade_bottom_In,
	.quality_triangle02 .active.fade_bottom_In {
		animation-delay: 1s;
	}
}

/*==================
front swiper_slider01
====================*/
.swiper_slider01 {
	overflow: hidden;
}

.swiper_slider01 .swiper-wrapper {
	transition-timing-function: linear;
}

.swiper_slider01 .swiper-slide img {
	height: auto;
	width: 100%;
}

/*==================
front price_area sp
====================*/
.price_area {
	position: relative;
}

.price_area::before {
	border-radius: 10px;
	background-color: #fff;
	content: "";
	width: 88%;
	height: 80px;
	max-width: 1090px;
	position: absolute;
	top: -3rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

.price_area .ttl_area01 {
	position: relative;
	z-index: 3;
}

.price_area h2 {
	padding-bottom: .5rem;
}

.price_area p {
	font-weight: 300;
}

.price_unit01 h3 {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	margin-bottom: 1.5rem;
	position: relative;
	padding-left: 2rem;
	margin-left: 1.5rem;
}

.price_unit01 h3::before {
	content: "";
	background-color: #164767;
	width: 4px;
	height: 28px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.price_unit01 {
	margin: 3rem 0 7rem;
}

/* table */
.price_area table {
	border-radius: 10px;
	border-collapse: separate;
	/*collapseから変更*/
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid #164767;
	width: 760px;
	table-layout: fixed;
	width: 740px;
	/* 合計幅を指定 */
}

.price_area td,
.price_area th {
	padding: 3px;
	height: 40px;
	line-height: 38px;

	box-sizing: border-box;
}

.price_area th {
	background-color: #d0dae1;
	text-align: center;
	padding: 0;
}

.price_area th:first-child {
	width: 150px;
}

.price_area th:nth-child(2) {
	width: 190px;
}

.price_area th:last-child {
	width: 400px;
}

.price_area th:first-child {
	border-radius: 8px 0 0 0;
}

.price_area th:last-child {
	border-radius: 0 8px 0 0;
}

.price_area .even {
	background: #fff;
}

.price_area .odd {
	background: #f8f9fa;
}

.price_area th:nth-child(2),
.price_area td:nth-child(2) {
	border-left: solid 1px #164767;
	border-right: solid 1px #164767;
}

.price_area td {
	border-bottom: solid 1px #808093;
	padding: 0 2rem;
}

.price_area tr:last-child td {
	border-bottom: none;
}

.price_area td:first-child {
	text-align: center;
}

.price_area td:last-child {
	font-size: 1.3rem;
	letter-spacing: 0;
}

.price_unit01 a {
	background-color: #2d5976;
	border-radius: 5px;
	color: #fff;
	display: block;
	width: 196px;
	height: 40px;
	line-height: 38px;
	text-align: center;
	margin: 3rem auto 0;
}

@media (max-width: 599px) {
	.sp_scroll img {
		max-width: none;
	}

	.graph_area01 {
		width: 570px;
	}

	.price_area table {
		font-size: 1.4rem;
		margin: 0 1.5rem;
	}

	.price_area .triangle01 {
		top: 1rem;
		width: 30px;
	}

	.price_area .triangle03 {
		top: -2rem;
		width: 43px;
		right: 1rem;
	}

	.price_area .triangle04 {
		top: -2rem;
		left: 1.5rem;
		width: 50px;
	}

	.price_area .triangle02 {
		top: 0;
		left: 7rem;
		width: 28px;
	}

}

/*==================
front price_area pc
====================*/
@media (min-width: 600px) {
	.price_area {
		padding: 2rem 1.5rem;
	}

	.price_area::before {
		height: 270px;
		top: -6rem;
	}

	.price_area .inner_pc01 {
		max-width: 960px;
	}

	.price_area table {
		width: 100%;
	}

	.price_unit01 h3 {
		font-size: 2rem;
		margin: 0 0 2.5rem;
	}

	.price_unit01 h3::before {
		height: 34px;
	}

	.price_unit01 {
		margin: 7rem 0;
	}

	.price_area .triangle01 {
		top: 20rem;
	}

	.price_area .triangle02 {
		top: 22rem;
		right: 70%;
	}

	.price_area .triangle03 {
		top: 16rem;
	}

	.price_area .triangle04 {
		top: 16rem;
	}
}

/*==================
front request_area sp
====================*/
.quality_area.request_area .common_btn01 {
	background-color: #fff;
	border: solid 1px #fff;
	color: #ff0050;
}

.request_area .common_btn01::before {
	border: solid 1px #ff0050;
}

.request_area .common_btn01::after {
	border-top: solid 0.1rem #ff0050;
	border-right: solid 0.1rem #ff0050;
}

@media (max-width: 599px) {
	.quality_block01 img.img_request02 {
		margin: 1rem auto;
	}
}
/*==================
front request_area pc
====================*/
@media (min-width: 600px) {
	.request_area .quality_triangle01 {
		top: 28rem;
	}

	.request_area .quality_triangle02 {
		top: 48rem;
	}
}

/*==================
front faq_area sp
====================*/
.faq_area {
	padding: 2rem 1.5rem;
	position: relative;
	z-index: 0;
}

.faq_area::before {
	border-radius: 10px;
	background-color: #fff;
	content: "";
	width: 88%;
	height: 80px;
	max-width: 1090px;
	position: absolute;
	top: -3rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

.faq_area .inner_pc01 {
	position: relative;
	z-index: 3;
}

.faq_area .ttl_area01 {
	margin: 0 auto 4rem;
}

.faq_unit01 {
	margin-bottom: 2rem;
	color: #FF2C63;
	position: relative;
}

.summary {
	background-color: #d0dae1;
	box-shadow: 0px 7px 20px -15px rgba(22, 71, 103, 0.6);
	border-radius: 10px 10px 0 0;
	color: #164767;
	display: grid;
	font-size: 1.4rem;
	grid-template-columns: 1fr auto;
	gap: 1em;
	align-items: center;
	line-height: 1.5;
	padding: 1.5rem 2rem 1.5rem 4.5rem;
	cursor: pointer;
	position: relative;

	&::-webkit-details-marker {
		display: none;
	}
}

summary.summary {
	border-radius: 10px;
}

.accordion[open] {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 7px 20px -15px rgba(22, 71, 103, 0.6);
}

.accordion[open] .summary {
	border-radius: 10px 10px 0 0;
}

.icon {
	position: relative;
	display: inline-block;
	inline-size: 1em;
	aspect-ratio: 1;

	&::before,
	&::after {
		position: absolute;
		inset: 0;
		inline-size: 100%;
		block-size: 1px;
		margin: auto;
		content: "";
		background-color: currentcolor;
		transition: transform 0.2s ease;
	}

	&::after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	&:where(.accordion[open] *)::after {
		transform: rotate(0deg);
	}
}

.container_accordion {
	transition: block-size 0.5s;
	contain: content;
	background: #fff;
	border-radius: 0 0 10px 10px;
	color: #164767;
	transform: none;
	line-height: 1.8;
	position: relative;
}

.container_accordion p {
	padding: 1.5rem 1.5rem 1.5rem 4.5rem;
}

.container_accordion p::before {
	color: #164767;
	line-height: 1.2;
	top: 3%;
	content: "A";
	font-weight: 600;
	font-size: 1.2rem;
	font-size: 1em;
	position: absolute;
	top: 1.8rem;
	left: 1.7rem;

}

.container_accordion p::after {
	content: "";
	border: solid 1px #164767;
	border-radius: 50%;
	position: absolute;
	top: 1.4rem;
	left: 0.8rem;
	width: 24px;
	height: 24px;

}

.container_accordion a {
	text-decoration: underline;
	display: block;
	margin: 0 1.5rem 0 4.5rem;
}

.container_accordion .tel01 a {
	text-decoration: none;
	margin: 0 0.5rem 1.5rem 4.5rem;
}

.container_accordion .tel01 span {
	margin-bottom: 1.5rem;
}

.summary::before {
	color: #fff;
	content: "Q";
	font-weight: 600;
	top: -3px;
	bottom: 0;
	margin: auto;
	font-size: 1.3rem;
	left: 1.3em;
	position: absolute;
	z-index: 2;
	height: fit-content;
}

.summary::after {
	background-color: #164767;
	border-radius: 50%;
	content: "";
	width: 25px;
	height: 25px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1rem;
	margin: auto;
}



/* デフォルトの矢印非表示 */
summary {
	display: block;
	list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
	display: none;
}

.common_btn02 {
	background-color: #2d5976;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-weight: 500;
	width: 196px;
	height: 40px;
	text-align: center;
	line-height: 38px;
	margin: 4.5rem auto;
}

/*==================
front faq_area pc
====================*/
@media (min-width: 600px) {
	.faq_area::before {
		height: 270px;
		top: -6rem;
	}

	.faq_area .inner_pc01 {
		max-width: 960px;
	}

	.summary {
		font-size: 1.7rem;
		padding: 1.8rem 2rem 1.8rem 7.5rem;
	}

	.container_accordion p {
		padding: 3rem 2rem 3rem 7.5rem;
	}

	.summary::before {
		font-size: 2rem;
		top: -5px;
		left: 3.2rem;
	}

	.summary::after,
	.container_accordion p::after {
		width: 40px;
		height: 40px;
		left: 2rem;
	}

	.container_accordion p::after {
		top: 2.4rem;
	}

	.container_accordion p::before {
		font-size: 2rem;
		top: 3.1rem;
		left: 3.4rem;
	}

	.container_accordion a {
		margin: 0 1.5rem 0 7.5rem;
	}

	.container_accordion .tel01 a {
		margin: 0 0.5rem 3rem 7.5rem;
	}

	.container_accordion .tel01 span {
		margin-bottom: 3rem;
	}
}

/*==================
front about_area sp
====================*/
.about_area {
	background-color: #e7f1f7;
	padding: 6.5rem 0 33rem;
	position: relative;
	z-index: 0;
}

.about_area .ttl_area01 {
	text-align: left;
	margin-bottom: 2.5rem;
}

.about_area .inner_pc01 {
	padding: 0 1.5rem;
}

.about_area p {
	line-height: 2;
}

.about_area p.top_blank01 {
	margin-top: 2rem;
}

.img_about01 {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}

.about_triangle01 {
	width: 72px;
	position: absolute;
	bottom: 28rem;
	right: 9rem;
	animation: rotateY 1.7s infinite linear;
}

.about_triangle02 {
	width: 41px;
	position: absolute;
	bottom: 15rem;
	right: 25rem;
	animation: rotateY 2s infinite linear;
}

/* nationwide_block01 */
.nationwide_block01::after{
	background-color: #fff;
	border-radius: 10px;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0.8;
}
.nationwide_block01{
	position: relative;
	padding-bottom: 2.5rem;
	margin-top: 3.5rem;
	z-index: 0;
}
.nationwide_block01 h3{
	background-color: #456c85;
	border-radius: 10px 10px 0 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
	position: relative;
	padding: .5rem 0 .7rem 2.5rem;
	margin-bottom: 2.5rem;
}
.nationwide_block01 h3::before{
	content: "";
	background-color: #fff;
	width: 1px;
	height: 15px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.5rem;
	margin: auto;
}
.nationwide_block01 h4{
	background-color: #456c85;
	border-radius: 10px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	width: 130px;
	height: 20px;
	line-height: 18px;
	margin: 1.5rem 1.5rem .3rem;
}
.nationwide_block01 p{
	font-size: 1.4rem;
    font-weight: 300;
	margin: 0 1.5rem;
    line-height: 1.7;
}

@media (max-width: 599px) {
	.about_area h2 {
		font-size: 2.2rem;
		letter-spacing: 0.15em;
	}

	.about_area .ttl_area01 span {
		font-size: 1.4rem;
		font-weight: 300;
		letter-spacing: 0.1em;
	}

	.about_area .curve01 {
		max-width: 260px;
		top: 8rem;
		left: auto;
		right: 2rem;
	}

}

/*==================
front about_area pc
====================*/
@media (min-width: 600px) {
	.about_area {
		padding: 10rem 1.5rem 18rem;
	}

	.about_area .inner_pc01 {
		padding: 0;
		max-width: 960px;
	}

	.img_about01 {
		height: 100%;
		width: 70%;
		object-fit: cover;
		object-position: 10% center;
	}

	.about_area .ttl_area01 span {
		font-size: 1.5rem;
		margin-bottom: .5rem;
	}

	.about_area p.top_blank01 {
		margin-top: 2.5rem;
	}

	.about_area .curve01 {
		top: 6rem;
		left: -10%;
	}

	.about_area .text_block01 {
		max-width: 630px;
		width: 80%;
	}

	.about_triangle01 {
		bottom: auto;
		top: 5rem;
		right: 10%;
	}

	.about_triangle02 {
		bottom: auto;
		top: 30rem;
		right: 28%;
	}
	/* nationwide_block01 */
	.nationwide_block01 h3{
		padding: .5rem 0 .7rem 4rem;
	}
	.nationwide_block01 h3::before{
		left: 3rem;
	}
	.nationwide_block01 h4 {
		margin: 1.5rem 3rem .3rem;
	}
	.nationwide_block01 p {
		margin: 0 3.5rem;
	}
}

@media (min-width: 1025px) {
	.img_about01 {
		width: auto;
	}

	.about_area .text_block01 {
		width: 65%;
	}
}

/*==================
front flow_area01 sp
====================*/
.flow_area01 {
	position: relative;
	padding: 6.5rem 1.5rem;
}

.flow_area01 .inner_pc01 {
	position: relative;
	z-index: 2;
}

.flow_area01 li .img_flow01 {
	border-radius: 10px;
	width: 100%;
}

.flow_area01 h3 {
	font-size: 1.5rem;
	text-align: center;
	margin: 1.5rem auto;
}

.flow_area01 .mail01 {
	display: block;
	text-decoration: underline;
	margin: 1rem 1.5rem 0;
}

.flow_area01 .tel01 {
	margin: 0 1.5rem;
}

.flow_area01 li {
	margin: 5rem auto 6rem;
	position: relative;
}

.flow_area01 p,
.flow_area01 p {
	margin: 0 1.5rem;
}

.flow_area01 li::before {
	background-color: #fff;
	border-radius: 50%;
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	top: -2.5rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

.flow_area01 li::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 14px solid #5887da;
	border-bottom: 0;
	position: absolute;
	top: -1rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 3;
}

.flow_area01 li:first-child::before,
.flow_area01 li:first-child::after {
	content: none;
}

.text_flow01 {
	width: 40px;
	position: absolute;
	top: -3rem;
	left: 2rem;
}
/*==================
front flow_area01 pc
====================*/
@media (min-width: 600px) {
	.flow_area01 {
		padding: 6.5rem 1.5rem 9rem;
	}

	.flow_area01::before {
		border-radius: 10px;
		background-color: #fff;
		content: "";
		width: 88%;
		height: 80px;
		max-width: 1090px;
		position: absolute;
		top: -3rem;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2;
	}

	.flow_area01::before {
		height: 270px;
		top: -6rem;
	}

	.flow_area01 .inner_pc01 {
		max-width: 960px;
	}

	.flow_area01 li {
		width: 32%;
		margin: 0;
	}

	.flow_area01 .flex_b_pc {
		align-items: flex-start;
	}

	.flow_area01 li::before {
		top: 5.5rem;
		margin: auto;
		left: -3rem;
		right: auto;
	}

	.flow_area01 li::after {
		transform: rotate(-90deg);
		top: 6.8rem;
		left: -1.3rem;
		right: auto;
	}

	.flow_area01 .ttl_area01 {
		margin-bottom: 6rem;
	}

	.flow_area01 li .img_flow01 {
		height: 140px;
		object-fit: cover;
	}

}


/*--------------- 下層ページ ---------------*/
/*==================
パンくず
====================*/
.List {
	width: 100%;
	height: 3rem;
	font-size: 1.2rem;
	color: #5c7e95;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	background-color: #e8edf0;
	padding: 0 1.5rem;
}

.List-Item {
	display: inline;
	position: relative;
}

.List-Item::after {
	content: '＞';
	display: inline-block;
	padding: 0.2em .2em;
	line-height: 2.5rem;
}

.List-Item:last-child::after {
	content: '';
}

.List-Item-Link {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}
@media (min-width: 600px) {
	.List {
		height: 3.4rem;
		line-height: 32px;
	}
}

/*==================
共通
====================*/
.business_page .outside01 {
	background: #FFFFFF;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 249, 250, 1) 10%);
	padding: 2rem 0;
}

.business_page .inner01 {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 7px 20px -6px rgba(22, 71, 103, 0.2);
	color: #164767;
	width: 92%;
	max-width: 960px;
	margin: 0 auto;
	padding: 3rem 1.5rem 12rem;
}

.outside_ttl01 {
	max-width: 960px;
	margin: 0 auto;
}

.outside_ttl01 h1 {
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	position: relative;
	padding: 1rem 0 3rem;
	margin-top: 3rem;
}

.outside_ttl01 h1::before {
	content: "";
	background-color: #164767;
	width: 80px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}

@media (min-width: 600px) {
	.business_page .outside01 {
		padding: 4rem 1.5rem 8rem;
	}

	.business_page .inner01 {
		padding: 7rem 1.5rem 14rem;
		width: 100%;
	}

	.outside_ttl01 h1 {
		font-size: 3.5rem;
		text-align: left;
		padding: 1.5rem 0 3.5rem;
	}

	.outside_ttl01 h1::before {
		width: 100px;
		height: 2px;
		right: auto;
	}
}


/*--------------- お問い合わせ完了 ---------------*/
/*==================
#business-thanks SP
====================*/
#business-thanks h1 {
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 2rem;
}

.add_area01 {
	background-color: #ff80a7;
	border-radius: 10px;
	width: 100%;
	max-width: 780px;
	margin: 2.5rem auto 5rem;
	padding: 1.5rem 1.5rem 2rem;
}

.add_inner01 {
	background-color: #fff;
	border: solid 1px #ff0050;
	border-radius: 5px;
	color: #ff0050;
	font-weight: 300;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.add_inner01 b {
	font-weight: 600;
}

.add_area01 img {
	width: 152px;
	opacity: 0.9;
	margin: 0 auto;
	display: block;
}

.back_button01 {
	background-color: #164767;
	border: solid 1px #164767;
	border-radius: 10px;
	color: #fff;
	display: block;
	font-weight: 600;
	text-align: center;
	position: relative;
	width: 260px;
	height: 50px;
	line-height: 48px;
	margin: 0 auto;
	padding-right: 3rem;
}

.back_button01 .arrow01 {
	background-color: #fff;
	border-left: solid 1px #164767;
	border-radius: 0 9px 9px 0;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
}

.back_button01 .arrow01::before {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #164767;
	border-right: 1px solid #164767;
	transform: rotate(45deg);
}

.back_button01 .arrow01::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	width: 12px;
	height: 1px;
	background: #164767;
}

/*==================
#business-thanks PC
====================*/
@media (min-width: 600px) {
	#business-thanks h1 {
		font-size: 2.3rem;
		text-align: center;
		margin-bottom: 4rem;
	}

	#business-thanks .outside01 {
		background: #f8f9fa;
	}

	#business-thanks .inner01 {
		font-size: 1.4rem;
	}

	.add_area01 img {
		width: 202px;
	}

	#business-thanks .inner01 .inner_pc01 {
		max-width: 680px;
	}

	.add_area01 {
		padding: 4rem;
		margin: 2.5rem auto 7rem;
	}

	.add_inner01 {
		padding: 2rem;
		margin-bottom: 3rem;
	}
}


/*--------------- プライバシーポリシー ---------------*/
/*==================
#business-pp SP
====================*/
#business-pp .business_page .inner01 {
	padding-bottom: 5rem;
}

#business-pp h2 {
	font-size: 1.8rem;
	font-weight: 500;
	padding-bottom: 1rem;
}

.pp_in_block01 {
	border-radius: 10px;
	background-color: #e8edf0;
	padding: 2rem 1.5rem;
}

.pp_block01 {
	padding: 2rem 0 0;
}

.pp_block01 .top_blank01 {
	margin-top: 4rem;
	padding-bottom: 1rem;
}

.pp_block01 .top_blank02 {
	margin-top: 3rem;
}

.pp_block01 h3 {
	font-size: 1.5rem;
}

.pp_block01 a {
	color: #164767;
	text-decoration: underline;
	word-wrap: break-word;
}

.pp_block01 h4 {
	font-size: 1.5rem;
}

/*==================
#business-pp PC
====================*/
@media (min-width: 600px) {
	#business-pp .outside01 {
		background: #f8f9fa;
	}

	#business-pp .business_page .inner01 {
		padding-bottom: 10rem;
	}

	#business-pp .inner01 .inner_pc01 {
		max-width: 760px;
	}

	.pp_in_block01 {
		padding: 2rem 3rem;
	}

	.pp_block01 h3 {
		font-size: 1.6rem;
	}

	.pp_block01 h4 {
		font-size: 1.6rem;
	}
}

/*--------------- 実績一覧 ---------------*/
/*==================
achievement_list_page SP
====================*/
.achievement_list_page .outside01 {
	padding: 0 1.5rem 10rem;
}

.achievement_list_page .category_list01 {
	border-bottom: solid 1px #dce3e8;
	display: flex;
	flex-wrap: wrap;
	padding: 0 1.5rem 3rem;
	margin-bottom: 3rem;
}

.achievement_list_page .category_list01 a {
	border: solid 1px #2d5976;
	background-color: #fff;
	border-radius: 5px;
	display: inline-block;
	font-weight: 500;
	height: 38px;
	padding: 0 1.5rem;
	line-height: 35px;
	margin: 10px 5px;
}

.category_list01 a.current,
.category_list01 li.current a {
	position: relative;
	background: none;
	z-index: 2;
	color: #fff;
}

.category_list01 a.current::before,
.category_list01 li.current a::before {
	animation: current_bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	background: #164767;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
	z-index: -1;
}

@keyframes current_bg {
	0% {
		opacity: 0;
		transform: scaleX(0) translateX(-5%);
	}

	30% {
		transform: scaleX(1) translateX(0);
	}

	100% {
		transform: scaleX(1) translateX(0);
	}

	30%,
	100% {
		opacity: 1;
	}
}


/* list_area01 */
.achievement_unit01 {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 7px 16px -6px rgba(22, 71, 103, 0.1);
	padding: 2rem;
	margin-bottom: 2rem;
}

.achievement_unit01 .img_thumbnail01 img {
	border-radius: 5px;
	width: 100%;
	min-height: 180px;
    height: 100%;
	object-fit: cover;
	margin-bottom: 1.2rem;
}

.achievement_unit01 .img_thumbnail01 figure {
	width: 100%;
	height: 100%;
}

.category_area01 li {
	background-color: #8aa3b3;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	height: 25px;
	line-height: 23px;
	padding: 0 1.2rem;
	margin: 0 5px 5px 0;
}

.category_area01 li a {
	color: #fff;
}

.date_time01 {
	color: #456c85;
	display: block;
	font-size: 1.2rem;
	margin: 0 0 8px;
}

@media (max-width: 599px) {
	.achievement_list_page a.all_btn01 {
		display: block;
		margin: 0 auto;
	}

	.category_list01 .flex_a {
		margin: 0 auto;
		width: 100%;
		justify-content: center;
	}
}

/*==================
achievement_list_page PC
====================*/
@media (min-width: 600px) {
	.achievement_list_page .category_list01 {
		flex-wrap: nowrap;
		max-width: 960px;
		margin: 0 auto 5rem;
		padding: 0 0 3.5rem;
	}

	.achievement_list_page .category_list01 a {
		min-width: 160px;
		height: 40px;
		line-height: 37px;
		text-align: center;
	}

	.achievement_list_page .outside_ttl01 {
		position: relative;
	}

	.achievement_list_page .outside01 .triangle01 {
		top: -3rem;
		right: 7%;
	}

	.achievement_list_page .outside01 .triangle04 {
		top: -6rem;
		right: 19%;
	}

	.achievement_list_page .outside_ttl01 h1 {
		margin-top: 6.5rem;
	}

	/* list_area01 */
	.list_area01 {
		max-width: 960px;
		margin: 0 auto;
	}

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

	.achievement_unit01 .textarea01 {
		width: 67%;
		padding: 1.5rem 3rem;
	}

	.category_area01 li {
		font-size: 1.4rem;
		height: 30px;
		line-height: 28px;
	}

	.date_time01 {
		font-size: 1.5rem;
	}

	.achievement_unit01 .img_thumbnail01 {
		width: 290px;
	}

	.achievement_unit01 .img_thumbnail01 img {
		margin-bottom: 0;
	}

	.achievement_unit01 .achievement_ttl01 {
		font-weight: 600;
		padding-top: 2rem;
	}
}


/*==================
ページネーション
====================*/
.pagination_area {
	margin: 6rem auto 4rem;
}

.pagination_area ul {
	display: flex;
	justify-content: center;
	gap: 16px;
	list-style: none;
	padding: 0;
}

.pagination_area a {
	text-decoration: none;
	padding: 12px 15px;
	border: 1px solid #164767;
	border-radius: 10px;
	color: #164767;
}

.pagination_area .next a {
	background-color: #164767;
	color: #fff;
	font-weight: 600;
	padding: 12px 20px;
}

/* ページネーション */
.pagination_area_single .next a {
	background-color: #fff;
	padding: 12px 15px;
	border: 1px solid #164767;
	border-radius: 10px;
	color: #164767;
	font-weight: 400;
}

.pagination_area_single .list a {
	background-color: #164767;
	color: #fff;
	font-weight: 600;
	padding: 12px 20px;
}


@media (min-width: 600px) {
	.pagination_area {
		margin: 9rem auto 7rem;
	}
}


/*==================
work_area sp
====================*/
.work_area {
	padding: 8rem 1.5rem;
	position: relative;
	z-index: 0;
}

.work_area::before {
	background: url(../images/business/bg_shadow01.png) repeat top;
	content: "";
	width: 100%;
	height: 35px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.work_area::after {
	background-color: #b9c8d1;
	content: "";
	width: 100%;
	height: 86%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}

.work_area .curve01 {
	top: 6rem;
	opacity: 1;
}

.work_area .ttl_text01 {
	color: #fff;
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	padding-bottom: 4rem;

}

.work_area li a {
	border-radius: 10px;
	box-shadow: 0px 7px 16px -6px rgba(22, 71, 103, 0.1);
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
	position: relative;
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.work_area li a::before {
	border-radius: 100%;
	border: solid 1px #fff;
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: 2rem;
	right: 1.5rem;
	margin: auto;
	z-index: 4;
}

.work_area li a::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 0.1rem #fff;
	border-right: solid 0.1rem #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	bottom: 3.8rem;
	right: 3.2rem;
	margin: auto;
	z-index: 4;
}

.work_area li a .img_num01 {
	position: absolute;
	bottom: 5.2rem;
	left: 1.5rem;
}

.work_area li a span {
	color: #fff;
	font-size: 1.5rem;
	position: absolute;
	bottom: 2rem;
	left: 1.5rem;
}

/*==================
work_area pc
====================*/
@media (min-width: 600px) {
	.work_area {
		padding: 6rem 1.5rem;
	}

	.work_area .ttl_text01 {
		font-size: 3rem;
		padding-bottom: 2rem;
	}

	.work_area::after {
		height: 56%;
	}

	.work_area ul {
		display: flex;
		justify-content: space-between;
	}

	.work_area li {
		width: 32.5%;
	}

	.work_area li a {
		height: auto;
	}
}

@media (hover: hover) {
	.work_area picture {
		display: block;
		cursor: pointer;
		overflow: hidden;
		width: 100%;
		height: 100%;
	}

	.work_area picture .img_bg01 {
		display: block;
		width: 100%;
		height: auto;
		transition: transform .5s ease;
		/* ゆっくり変化させる */
	}

	.work_area li a:hover .img_bg01 {
		transform: scale(1.1);
	}

	.work_area li a:hover {
		opacity: 1;
	}
}

/*==================
flow_area02 sp
====================*/
.flow_area02 {
	padding: 2.5rem 1.5rem;
}

.flow_area01.flow_area02::before {
	content: none;
}

.flow_area02 .ttl_flow01 {
	display: block;
	margin: 0 auto 5rem;
}

.flow_area02 li {
	margin: 3rem auto;
}

@media (max-width: 599px) {
	.flow_area02 .triangle01 {
		width: 30px;
		top: 6rem;
	}

	.flow_area02 .triangle02 {
		left: 6rem;
	}

	.flow_area02 .triangle03 {
		width: 50px;
		top: 1rem;
		right: 1rem;
	}

	.flow_area02 .triangle04 {
		top: 2rem;
		left: .5rem;
		width: 50px;
	}
}
/*==================
flow_area02 pc
====================*/
@media (min-width: 600px) {
	.flow_area02 .triangle01 {
		top: 17%;
	}

	.flow_area02 ul {
		max-width: 960px;
		margin: 0 auto;
	}
}


/*--------------- 実績詳細 ---------------*/
/*==================
outside02 sp
====================*/
.outside02 {
	background-color: #eff2f4;
	padding: 6rem 1.5rem;
	position: relative;
	z-index: 0;
}

.outside02 .bg_shadow02 {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1;
}

.outside02 h2 {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	position: relative;
	padding: 1rem 0 3rem;
	margin-top: 3rem;
}

.outside_ttl01 h2::before {
	content: "";
	background-color: #164767;
	width: 80px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/* single_inner01 */
.single_inner01 h1 {
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

.single_inner01 h2{
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	margin-top: 6.5rem;
}

.single_inner01 .img_thumbnail01 img {
	border-radius: 10px;
	width: 100%;
	height: auto;
	margin: 0 auto 2rem;
}

.single_inner01 img {
	border-radius: 10px;
	margin: 2rem auto;
}

.single_inner01 .inquiry_common01 {
	padding: 4rem 0 0;
}

.achievement_singe_page .inner01 {
	padding: 3rem 1.5rem 8rem;
}

.achievement_singe_page .outside01 {
	padding: 2rem 0 6rem;
}
/*==================
outside02 pc
====================*/
@media (min-width: 600px) {
	.outside02 {
		padding: 6rem 1.5rem 12rem;
	}

	.outside02 h2 {
		font-size: 3rem;
		text-align: left;
		padding: 1.5rem 0 3.5rem;
	}

	.outside02 h2::before {
		width: 100px;
		height: 2px;
		right: auto;
	}

	/* single_inner01 */
	.single_inner01 {
		max-width: 780px;
		margin: 0 auto;
	}

	.single_inner01 h1 {
		font-size: 2.3rem;
		margin-bottom: 3rem;
	}

	.single_inner01 h2{
		font-size: 1.8rem;
	}

	.single_inner01 .img_thumbnail01 img {
		margin: 0 auto 3rem;
	}

	.single_inner01 img {
		margin: 3rem auto;
	}

	.achievement_singe_page .inner01 {
		padding: 7rem 1.5rem 10rem;
	}

	.achievement_singe_page .outside01 {
		padding: 4rem 0 8rem;
	}
}

/*==================
フローティングバナー pc
====================*/
@media (min-width: 600px) {
	.bnr_block01 {
		position: fixed;
		z-index: 100;
		bottom: 7rem;
		right: 1.5rem;
		/* 右に隠れている状態 */
		transform: translateX(300px);
		opacity: 0;
		visibility: hidden;
		/* 戻る時（消える時）の動きを指定 */
		transition: opacity 0.5s ease-out, transform 0.5s ease-out, visibility 0.5s;
		width: 160px;
		height: auto;
	}

	.floating_banner01 a {
		display: block;
		position: relative;
		overflow: hidden;
		/* 文字が枠外に突き抜けるのを隠す場合 */
	}

	/* 表示される時の状態（JSでクラスが付与された時） */
	.bnr_fadein01 {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		/* 定位置に戻る */
		transition: opacity 0.5s ease-out, transform 0.5s ease-out;
	}

	.floating_banner01 {
		position: relative;
	}

	.bnr_block01 .bnr_bg01 {
		filter: drop-shadow(0px 7px 7px rgba(22, 71, 103, 0.2));
	}

	.bnr_block01.hide {
		/*★★★★★*/
		display: none;
	}

	/* テキストアニメーションの設定 */
	.banner_text {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.text_bg01 {
		position: absolute;
		bottom: 1.8rem;
		left: 0;
		right: 0;
		margin: auto;
		opacity: 0;
		animation: slideText 10s infinite;
	}

	.text02 {
		animation-delay: 5s;
		bottom: 2.3rem;
	}

	@keyframes slideText {
		0% {
			opacity: 0;
			transform: translateY(20px);
			/* 下から入る */
		}

		5% {
			opacity: 1;
			transform: translateY(0);
			/* 中央で止まる */
		}

		45% {
			opacity: 1;
			transform: translateY(0);
			/* 静止状態を維持 */
		}

		50% {
			opacity: 0;
			transform: translateY(-20px);
			/* 上へ抜ける */
		}

		100% {
			opacity: 0;
			transform: translateY(-20px);
		}
	}
}