@charset "utf-8";

/* reset & common  */
@import url("reset.css?20260316");

/* header & footer */
@import url("hd_ft.css");

/* index */
@import url("index.css");

a:hover {
}

main {
	font-size: 1rem;
}
/* SP */
@media (max-width: 768px) {
	main {
		/* margin-top: 4.5rem; */
	}
}
p {
	/* letter-spacing: 0.09rem; */
	line-height: 1.6;
}

a {
}

/* ページ内リンク */
#price,
#coupon {
	scroll-margin-top: 160px;
}

/* SP */
@media (max-width: 768px) {
	#price,
	#coupon {
		scroll-margin-top: 4rem;
	}
}

main.sub {
	padding-top: 6rem;
	padding-bottom: 6rem;
}

/* SP */
@media (max-width: 768px) {
	main.sub {
		padding-top: 2rem;
		padding-bottom: 3rem;
	}
}

/* レポート */
main.report {
}

.rp_select {
	justify-content: flex-end;
	gap: 1rem;
}

.rp_select select {
	width: 80%;
	max-width: 300px;
}

/* Q&A */
main.faq {
	background: #fffbedff;
	padding: 3rem 0 6rem;
}

/* REASON */
main.reason {
}

.reason_title {
	font-size: 2rem;
	font-weight: 600;
	width: fit-content;
	display: block;
	padding: 3rem 2rem;
	border: solid 1px #000000;
	border-radius: 15px;
	margin-top: 3rem;
	margin-bottom: 2rem;
	text-align: center;
	max-width: 90%;
}

.reason_txt {
	text-align: center;
	margin-bottom: 3rem;
	max-width: 90%;
}
main.reason .mv_slide {
	margin-bottom: 6rem;
}
main.reason .scroll-infinity__list {
	gap: 1.3rem;
}
main.reason .scroll-infinity__list--left {
	animation: infinity-scroll-left 150s infinite linear 0.5s both;
}

main.reason .scroll-infinity__item {
	width: calc(100vw / 7.5);
}

main.reason .scroll-infinity__item > img {
	height: auto;
	aspect-ratio: 230 / 270;
	border-radius: 20px;
}

main.reason .scroll-infinity__item::after {
	content: none;
}

/* @media (max-width: 1500px) {
    main.reason .scroll-infinity__item {
    width: calc(100vw / 3);
}

} */

.reason_exp {
	margin-bottom: 6rem;
	gap: 3rem;
}

/* SP */
@media (max-width: 768px) {
	.reason_exp {
		margin-bottom: 4rem;
		gap: 3rem;
	}
}

.reason_art {
	gap: 2.5rem;
	align-items: center;
}

.reason_art img {
	width: 50%;
	height: auto;
	border-radius: 20px;
	aspect-ratio: 620 / 420;
	object-fit: cover;
}

.reason_art img.ct {
	object-position: top;
}

.reason_art div {
	width: 50%;
	gap: 1rem;
}

.reason_art div span {
	color: #ffffff;
	background: var(--m-green);
	border-radius: 9999px;
	align-items: center;
	justify-content: center;
	width: 70px;
	padding: 3px 2px 2px 2px;
	font-weight: 600;
	font-size: 0.9rem;
	text-align: center;
}

/* ★H */
.reason_art div h2 {
	font-size: 1.8rem;
	font-weight: 700;
}

/* SP */
@media (max-width: 768px) {
	/* ★H */
	.reason_art div h2 {
		font-size: 1.5rem;
	}
}

.reason_art div p {
	font-size: 0.96rem;
}

.to_contact {
	gap: 1rem;
	justify-content: center;
	align-items: center;
	margin-bottom: 3rem;
}

.to_contact strong {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	display: block;
}

.to_contact p {
	font-size: 0.95rem;
	text-align: center;
}

.to_contact img {
	width: 150px;
	height: 150px;
	object-fit: cover;
	object-position: top;
}

/* SP */
@media (max-width: 768px) {
	main.reason .scroll-infinity__list {
		gap: 0.7rem;
	}
	main.reason .scroll-infinity__item {
		width: calc(100vw / 3.5);
	}
	main.reason .scroll-infinity__item > img {
		/* height: 150px; */
		border-radius: 7px;
	}
	.reason_art {
		gap: 1rem;
	}

	.reason_art img {
		width: 100%;
	}
	.reason_art div {
		width: 100%;
	}

	.to_contact {
		align-items: center;
	}
	.to_contact strong {
		font-size: 2rem;
		text-align: center;
		display: block;
	}

	.to_contact p {
		font-size: 0.95rem;
		text-align: center;
	}
}

/* ABOUT */
.about_title {
	font-size: 2rem;
	font-weight: 600;
	width: fit-content;
	display: block;
	border-radius: 15px;
	margin-top: 3rem;
	margin-bottom: 1rem;
	text-align: center;
	max-width: 90%;
	/* padding-left: 0.5em; */
}

/* SP */
@media (max-width: 768px) {
	.about_title {
		margin-top: 1rem;
	}
}

.about_exp {
	justify-content: center;
	gap: 6rem;
	margin-bottom: 4rem;
	padding-top: 3rem;
}
/* SP */
@media (max-width: 768px) {
	.about_exp {
		gap: 2rem;
		width: 90%;
		margin: 0 auto 2rem;
		padding: 0;
	}
}

.about_exp div {
	align-items: center;
	width: fit-content;
	position: relative;
}

.about_exp div.client::before {
	content: "";
	display: block;
	position: absolute;
	width: 80px;
	height: 180px;
	top: 0;
	left: -85px;
	background-image: url(../img/cl_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.3;
}

/* ★H */
.about_exp div h2 {
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 2rem;
}

/* SP */
@media (max-width: 768px) {
	.about_exp div.client::before {
		left: 10px;
		width: 40px;
		height: 90px;
	}

	/* ★H */
	.about_exp div h2 {
		padding: 0;
		font-size: 1.1rem;
	}
}

.about_exp div hr {
	background: var(--m-green);
	width: 100%;
	border: 0;
	margin-bottom: 1rem;
}

p.ab_exp_txt {
	margin-bottom: 4rem;
}

/* SP */
@media (max-width: 768px) {
	.about_exp div p {
		font-size: 0.9rem;
	}
	p.ab_exp_txt {
		margin-bottom: 2rem;
	}
}

.about_txt {
	/* font-size: 0.9rem; */
	text-align: center;
	margin-bottom: 3rem;
	max-width: 90%;
}

img.about_mainimage {
	width: 90%;
	max-width: 950px;
	margin-bottom: 4rem;
}

.about_bc {
	gap: 4rem;
}

/* ★H */
.about_bc h2 {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 3rem;
}

.bc_list {
	gap: 2rem;
	margin-bottom: 5rem;
}

.bc_list li {
	overflow: hidden;
	position: relative;
	aspect-ratio: 400 / 240;
	flex: 0 0 calc((100% - 4rem) / 3);
}

.bc_list li span {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	color: #ffffff;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
	text-align: center;
	font-size: 1.5rem;
	z-index: 3;
}

.bc_list li img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.6) grayscale(0.1);
}

.bc_art {
	gap: 3rem;
	width: 100%;
	margin-bottom: 3rem;
}

.bc_art > * {
	flex: 0 0 calc((100% - 3rem) / 2);
	position: relative;
}

/* ★H */
.bc_art h4 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.bc_art small {
	font-weight: bold;
	font-size: 1rem;
	display: block;
	margin-bottom: 1.5rem;
}

.bc_art p {
	font-size: 1rem;
}

.bc_art img {
	aspect-ratio: 640 / 500;
	object-fit: cover;
}

.bc_art.bc_art_two {
	flex-direction: row-reverse;
}

.bc_art.bc_art_two img.tm01 {
	width: 80%;
	height: auto;
	aspect-ratio: 465 / 310;

	object-fit: cover;
	border-radius: 15px;
}

.bc_art.bc_art_two img.tm02 {
	width: 50%;
	height: auto;
	aspect-ratio: 465 / 318;
	margin-top: -2rem;
	margin-left: auto;

	object-fit: cover;
	border-radius: 15px;
}

.bc_situ {
	margin-bottom: 3rem;
}

/* ★H */
.bc_situ h2 {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
}

.bc_situ ul {
	gap: 1rem;
	margin-bottom: 4rem;
}

/* SP */
@media (max-width: 768px) {
	.bc_situ ul {
		gap: 1rem;
		margin-bottom: 2rem;
	}
}

.bc_situ ul li {
	flex: 1;
}

.bc_situ ul li img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top;
	margin-bottom: 1rem;
}

.bc_situ ul li span {
	display: block;
	text-align: center;
	font-size: 0.9rem;
	font-weight: bold;
}

/* SP */
@media (max-width: 768px) {
	.bc_situ ul {
		flex-wrap: wrap;
	}
	.bc_situ ul li {
		flex: 0 0 calc((100% - 1rem) / 2);
	}
	.bc_situ ul li img {
		margin-bottom: 0.5rem;
	}
}

.bc_situ ul.service {
	gap: 2rem;
}

.bc_situ ul.service li {
	width: calc((100% - 4rem) / 3);
}

.bc_situ ul.service li a {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.bc_situ ul.service li a img {
	width: 100%;
	height: auto;
	aspect-ratio: 400 / 285;
	object-fit: cover;
	object-position: center;
	transition:
		filter 0.3s ease,
		opacity 0.3s ease;
}

.bc_situ ul.service li a:hover img {
	filter: brightness(0.85);
	transition:
		filter 0.3s ease,
		opacity 0.3s ease;
}
.bc_situ ul.service li a span {
	font-size: 1.3rem;
}

/* SP */
@media (max-width: 768px) {
	.bc_situ ul.service li {
		width: 100%;
		flex: auto;
	}
	.bc_situ ul.service li a {
		gap: 0;
	}
}

/* SP */
@media (max-width: 768px) {
	.about_title {
		font-size: 1.3rem;
	}
	.about_bc {
		gap: 2rem;
		margin-bottom: 3rem;
	}

	/* ★H */
	.about_bc h2 {
		font-size: 2rem;
	}

	.bc_list {
		gap: 1rem;
		margin-bottom: 0;
	}

	.bc_list li span {
		font-size: 1.3rem;
	}

	.bc_art {
		gap: 1rem;
		margin-bottom: 0rem;
	}
	.bc_art.bc_art_two {
		flex-direction: column;
	}
	/* ★H */
	.bc_art h4 {
		text-align: center;
		font-size: 2rem;
		margin-bottom: 0.5rem;
	}
	.bc_art small {
		margin-bottom: 1rem;
	}

	.bc_situ {
		margin-bottom: 0rem;
	}
	/* ★H */
	.bc_situ h2 {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
}

.company {
	/* ページの背景とかお好みで */
	padding: 4rem 0;
	background: #f3f9ff;
	margin-bottom: 5rem;
}

.company_inner {
	align-items: flex-start;
	justify-content: space-between;
	gap: 4rem;
	/* width: 100%; */
	margin: 0 auto;
	max-width: 1550px;
}

/* 左カラム */
.company_side {
	width: 400px; /* いい感じの横幅 */
	position: sticky; /* ここがポイント */
	top: 100px; /* 上から●pxで止める */
	align-self: flex-start; /* 高さを右に引っ張られないように */
}

/* ★H */
.company_side h2 {
	font-size: 2.5rem;
	font-weight: 700;
}

.company_side span {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 3rem;
	display: block;
}

ul.company_menu {
	background: #ffffff;
}

ul.company_menu li {
	border-top: solid 1px #e1e1e1;
}

ul.company_menu li:last-child {
	border-bottom: solid 1px #e1e1e1;
}

ul.company_menu li a {
	justify-content: space-between;
	height: 4em;
	align-items: center;
	padding: 0 1rem;
}

ul.company_menu li a i {
	font-size: 1rem;
}

/* 右カラム */
.company_main {
	flex: 1;
	min-width: 0;
}

.company_detail {
	background: #ffffff;
	padding: 3rem 2.5rem;
	margin-bottom: 3rem;
}

.company_detail span {
	color: #ffffff;
	background: #000;
	border-radius: 9999px;
	width: fit-content;
	padding: 3px 1.5em;
	font-size: 1rem;
	margin-bottom: 1rem;
	display: block;
}
/* ★H */
.company_detail h3 {
	font-size: 2rem;
	margin-bottom: 1rem;
	font-weight: bold;
}

/* SP */
@media (max-width: 768px) {
	/* ★H */
	.company_detail h3 {
		font-size: 1.5rem;
	}
}

.company_detail .img_area {
	width: 100%;
	flex-wrap: nowrap;
	height: 270px;
	margin-bottom: 1rem;
}

.company_detail .img_area img {
	width: 50%;
	aspect-ratio: 450 / 270;
	object-fit: cover;
}

.company_detail .img_area iframe {
	width: 50%;
	height: 270px;
}

/* SP */
@media (max-width: 768px) {
	.company_detail .img_area {
		gap: 1rem;
		height: fit-content;
	}
	.company_detail .img_area img {
		width: 100%;
	}

	.company_detail .img_area iframe {
		width: 100%;
		height: 11rem;
	}
}

.company_detail .exp_area {
	width: 100%;
	gap: 1rem;
}

.company_detail .exp_area dl {
	gap: 1rem 0.2rem;
	flex-wrap: wrap;
	width: calc(100% - 300px - 1rem);
}

/* SP */
@media (max-width: 768px) {
	.company_detail .exp_area dl {
		width: 100%;
		gap: 1rem 0.5rem;
		font-size: 0.95rem;
	}
}

.company_detail dl dt {
	width: 5em;
}

.company_detail dl dd {
	width: calc(100% - 5em - 0.2rem);
}

/* SP */
@media (max-width: 768px) {
	.company_detail dl dd {
		width: calc(100% - 5em - 0.5rem);
	}
}

.company_detail .exp_area .qr_area {
	width: 300px;
	gap: 20px;
}

.company_detail .exp_area .qr_area div {
	text-align: center;
	width: 140px;
}

/* SP */
@media (max-width: 768px) {
	.company_detail .exp_area .qr_area {
		width: 100%;
		gap: 1rem;
	}
	.company_detail .exp_area .qr_area div {
		width: calc((100% - 1rem) / 2);
	}
}

/* SP */
@media (max-width: 768px) {
	.company {
		padding: 2rem 0 1rem;
		margin-bottom: 2rem;
	}

	.company_inner {
		gap: 1rem;
	}

	.company_side {
		position: static; /* SPでは解除 */
		width: 100%;
	}

	.company_side span {
		margin: 0;
	}

	ul.company_menu {
		width: 100%;
		position: sticky; /* 代わりにSPで固定 */
		top: 5rem; /* SP用の位置に調整 */
		z-index: 201;
		gap: 0.5rem;
		justify-content: center;
		background: none;
	}

	body.no-scroll ul.company_menu {
		z-index: 1;
	}

	ul.company_menu li,
	ul.company_menu li:last-child {
		width: 50%;
		border: solid 1px #c8c8c8;
		border-top: solid 1px #c8c8c8;
		border-bottom: solid 1px #c8c8c8;
		border-radius: 9999px;
		background: #ffffff;
	}
	ul.company_menu li a {
		height: fit-content;
		padding: 0.5rem 1rem;
		justify-content: center;
	}

	.company_detail {
		padding: 1rem;
	}
	.map_area iframe {
		position: static;
		width: 100%;
	}
	.map_area {
		display: flex;
		flex-direction: column-reverse;
		gap: 1rem;
	}
}

/* FLOW */
main.flow {
	background: linear-gradient(90deg, #f5ebffff, #ebebebff);
	/* padding-top: 3rem; */
}

.flow_step {
	margin-bottom: 3rem;
}

.flow_step_art {
	background: #ffffff;
	padding: 1.5rem;
	margin-bottom: 2rem;
	gap: 2rem;
}

.flow_step_art img {
	aspect-ratio: 360 / 260;
	object-fit: cover;
	width: 360px;
}

.flow_step_art span {
	color: #ffffff;
	background: var(--l-blue);
	border-radius: 9999px;
	align-items: center;
	justify-content: center;
	width: 70px;
	padding: 3px 2px 2px 2px;
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 1rem;
}

/* ★H */
.flow_step_art h3 {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.flow_step_art p {
	font-size: 0.9rem;
	margin-bottom: 1rem;
}

.flow_link {
	width: 100%;
	gap: 0.8rem;
	align-items: stretch;
}

.flow_link .tel {
	color: var(--m-green);
	align-items: center;
	gap: 0.3rem;
}

.flow_link .tel i {
	font-size: 1.5rem;
}
.flow_link .tel p {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 0;
	line-height: 1;
}
.flow_link .tel small {
	line-height: 1;
	font-size: 0.8rem;
}

.flow_link .border {
	width: 1px;
	height: auto;
	background: #c6c6c6;
}

.flow_link button {
	color: #ffffff;
	border: 0;
	border-radius: 8px;

	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.flow_link button a {
	padding: 10px;

	color: #ffffff;
	gap: 0.3rem;
	font-weight: 600;
	align-items: center;
}

.flow_link .web {
	background: var(--m-green);
	color: #ffffff;
}

.flow_link .line {
	background: #04cd63ff;
}

.flow_link .mail {
	background: #ec381dff;
}

/* SP */
@media (max-width: 768px) {
	.flow_step_art {
		gap: 1rem;
	}
	.flow_step_art span {
		margin-bottom: 0.5rem;
	}
	/* ★H */
	.flow_step_art h3 {
		margin-bottom: 0.5rem;
	}

	.flow_step_art img {
		width: 100%;
	}

	.flow_link {
		width: 80%;
		margin: 0 auto;
		padding-top: 1rem;
	}

	.flow_link .tel {
		justify-content: center;
		gap: 0.5rem;
	}
	.flow_link .tel i {
		font-size: 2.1rem;
	}
	.flow_link .tel p {
		font-size: 1.6rem;
	}
	.flow_link .tel small {
		font-size: 1rem;
	}
	.flow_link button a {
		justify-content: center;
	}

	main.flow .to_contact strong {
		font-size: 1.5rem;
	}
}

div.area_contact {
	justify-content: center;
	align-items: center;
	gap: 0;
}


/* PLAN */
section.plan {}

.plan h2 {
	background: none;
	color: #000;
}

.plan dl {
	width: 90%;
	max-width: 700px;
	flex-wrap: wrap;
	border-bottom: solid 1px #B2ADAD;
	margin-bottom: 2rem;
}

.plan dl dt {
	border-top: solid 1px #B2ADAD;
	width: 50%;
	font-size: 20px;
	font-weight: bold;
	padding:0.5rem 2em;
}

.plan dl dd {
	border-top: solid 1px #B2ADAD;
	text-align: right;
	width: 50%;
	font-size: 20px;
	font-weight: bold;
	padding:0.5rem 2em;
}

/* SP */
@media (max-width: 768px) {
	.plan dl dt {
		padding:0.5rem 1em;
	}
	.plan dl dd {
		padding:0.5rem 1em;
	}
}

.plan dl.assistant {
	justify-content: center;
}

.plan dl.assistant dt {
	width: 100%;
	text-align: center;
}


.plan p {
	margin-bottom: 1rem;
	width: 90%;
	max-width: 820px;
}


/* SP */
@media (max-width: 768px) {
	div.area_contact {
		gap: 1rem;
	}
}

.area_contact a.gotel {
	color: var(--m-green);
	font-weight: bold;
	font-size: 1.2rem;
	padding-right: 1rem;
	margin-right: 1rem;
	position: relative;
}

.area_contact a.gotel:after {
	content: "";
	height: 60%;
	width: 1px;
	background: #cacacaff;
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/* SP */
@media (max-width: 768px) {
	.area_contact a.gotel {
		text-align: center;
		padding: 0;
		margin: 0;
	}
	.area_contact a.gotel:after {
		content: none;
	}
}

.area_contact a.gotel small {
	display: block;
	font-size: 0.75rem;
	font-weight: normal;
}

.area_contact .gobtn {
	gap: 10px;
}

/* SP */
@media (max-width: 768px) {
	.area_contact .gobtn {
		width: 70%;
		margin: 0 auto;
		gap: 0.5rem;
	}
}

.area_contact .gobtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: #ffffff;
	background: var(--m-green);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	width: fit-content;
	height: 54px;
	font-size: 1.1rem;
	font-weight: bold;
	padding: 10px 1rem;
}

.area_contact .gobtn a i {
	font-size: 1.5rem;
}

/* SP */
@media (max-width: 768px) {
	.area_contact .gobtn a {
		width: 100%;
		/* font-size: 0.9rem; */
	}
	.area_contact .gobtn a i {
		/* font-size: 1rem; */
	}
}

.area_contact .gobtn a:nth-child(2) {
	background: #04cd63ff;
}

.area_contact .gobtn a:nth-child(3) {
	background: #ec381dff;
}

hr.area_contact {
	height: 1px;
	background: var(--m-green);
	width: 660px;
	margin: 1.5rem auto;
}

/* SP */
@media (max-width: 768px) {
	hr.area_contact {
		width: 80%;
	}
}

p.area_contact_exp {
	font-size: 1.2rem;
	padding-top: 4rem;
	padding-bottom: 3rem;
}

/* SP */
@media (max-width: 768px) {
	p.area_contact_exp {
		width: 90%;
		margin: 0 auto;
		padding: 2rem 0;
		font-size: 1rem;
	}
}

/* GENRE */
main.sub.genre {
	padding-bottom: 0;
}

/* アピールエリア */
.appeal_area {
	padding: 4rem 0;
}

.appeal_area div {
	width: 910px;
}

.appeal_area div a:hover {
	filter: brightness(0.8);
}

/* メインエリア */
.genre_main_area {
	padding: 4rem 0;
}

.gr_title {
	gap: 3rem;
	margin-bottom: 2rem;
}

.gr_title img {
	width: 270px;
	height: auto;
	aspect-ratio: 270 / 270;
	object-fit: cover;
	object-position: top;
}

.gr_title div {
	gap: 1rem;
}

/* ★H */
.gr_title h2 {
	font-weight: 700;
	font-size: 2.2rem;
}

.gr_title span {
	font-weight: 700;
	font-size: 1.2rem;
	margin-top: -0.5rem;
}

/* SP */
@media (max-width: 768px) {
	/* ★H */
	.gr_title h2 {
		font-weight: 700;
		font-size: 1.3rem;
		margin-bottom: 0.5rem;
		text-align: center;
	}
	.genre .tit_bottom {
		margin-bottom: 0;
	}
	.gr_title span {
		font-size: 1.1rem;
		margin: 0;
	}
}

.gr_exp {
	gap: 3rem;
}

.gr_exp .left_area {
	width: 270px;
	gap: 1.3rem;
}

.gr_exp .left_area strong {
	color: var(--m-green);
	font-size: 1.2rem;
	font-weight: 600;
}

/* ★H */
.gr_exp .left_area h3 {
	background: var(--m-green);
	color: #ffffff;
	font-size: 1.3rem;
	font-weight: 600;
	border-radius: 8px;
	padding: 0.5rem;
}

.gr_exp .left_area div {
	gap: 1rem;
	border-radius: 11px;
}

.gr_exp .left_area p {
	font-size: 0.95rem;
}

.gr_exp .left_area a.gomail {
	margin-top: 2rem;
	background: #ec391eff;
	color: #ffffff;
	border-radius: 8px;
	padding: 1.3rem;
	justify-content: center;
	align-items: center;
	gap: 0.3rem;
}

.gr_exp .left_area a.gomail i {
	font-size: 1.3rem;
}
.gr_exp .left_area div i {
	display: block;
	background: var(--l-blue);
	padding: 4px;
	color: #ffffff;
	font-size: 25px;
	border-radius: 6px;
	width: 32px;
	height: 32px;
}

.gr_exp .right_area {
	width: calc(100% - 270px - 3rem);
	gap: 2rem;
}

/* SP */
@media (max-width: 768px) {
	.gr_exp .right_area {
		width: 100%;
	}
}

.gr_exp .right_area .cnt {
	border: solid 1px #000000;
	padding: 20px;
	gap: 0.8rem;
	border-radius: 11px;
}

.gr_exp .right_area .genre_img_slide {
	width: 100%;
	min-width: 0;
	gap: 1rem;
}

.gr_exp .right_area .genre_img_top img {
	display: block;
	border-radius: 10px;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 220 / 270;
	margin: 0 10px;
}

.gr_exp .right_area .genre_img_bottom img {
	display: block;
	border-radius: 10px;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 300 / 190;
	margin: 0 10px;
}

/* .genre_img_slide のドットカスタム */
.genre_img_slide .slick-dots {
	padding-top: 0.5rem;
	display: flex !important;
	justify-content: center;
	gap: 8px;
}

.genre_img_slide .slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
}

.genre_img_slide .slick-dots li button {
	width: 1rem;
	height: 1rem;
	padding: 0;
	border: none;
	font-size: 0;
	background: none;
}

.genre_img_slide .slick-dots li button:before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ccc; /* 通常色 */
	opacity: 1;
	display: block;
}

.genre_img_slide .slick-dots li.slick-active button:before {
	background: var(--m-green); /* アクティブ色 */
	/* transform: scale(1.2); */
}

.gr_exp .right_area .cnt i {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--m-green);
	padding: 4px;
	color: #ffffff;
	font-size: 35px;
	border-radius: 6px;
	width: 48px;
	height: 48px;
}

/* ★H */
.gr_exp .right_area .cnt h3 {
	font-weight: 700;
	font-size: 1.2rem;
}

.gr_exp .right_area .cnt_btm {
	gap: 2rem;
}
.gr_exp .right_area .pcflex div {
	flex: 0 0 calc((100% - 2rem) / 2);
}

.genre_categorylist {
	padding: 4rem 0;
}

.genre_categorylist ul {
	padding-top: 1rem;
	width: 850px;
	gap: 2.5rem 0.7rem;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
}

.genre_categorylist ul li {
	width: fit-content;
	height: fit-content;
}

.genre_categorylist ul li a {
	font-weight: 600;
	font-size: 0.9rem;
	padding: 0.7rem 0.4rem;
	border: solid 1px #000000;
	background: #ffffff;
}

.genre_categorylist ul li.now a {
	background: #dfdfdfaa;
}

/* SP */
@media (max-width: 768px) {
	.genre_main_area {
		padding: 2rem 0;
	}

	.gr_title {
		gap: 1rem;
	}

	.gr_title img {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.gr_exp {
		gap: 1rem;
	}
	.gr_exp .left_area {
		width: 100%;
		gap: 1rem;
	}
}

/* SP */
@media (max-width: 768px) {
}

/* ============================= */
/* REQUEST PAGE */
/* ============================= */
main.sub.request {
	padding-bottom: 0;
}
.request_form_area {
	background: #5db7b046;
	padding: 3rem 0 6rem;
	/* margin: 2rem 0; */
}

.form_wrapper {
	background: #ffffff;
	border-radius: 1rem;
	width: 930px;
	padding: 3rem 0;
}

.form_header {
	text-align: center;
	margin-bottom: 2rem;
}

/* ★H */
.form_header h2 {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 3rem;
	letter-spacing: 0.15rem;
}

.form_steps {
	width: 600px;
	justify-content: center;
	align-items: center;
	gap: 2px;

	margin-bottom: 3rem;
	/* flex-wrap: wrap; */
}

.step {
	background: #c3d4d3ff;
	color: #ffffff;
	padding: 0.7rem 0;
	border-radius: 0.5rem;
	font-size: 0.95rem;
	font-weight: 500;
	width: 165px;
	white-space: nowrap;
}

.step_active {
	background: var(--m-green);
	color: #ffffff;
}

.step_arrow {
	color: #c3d4d3ff;
	font-weight: bold;
	gap: 0;
}
.step_arrow.now {
	color: var(--m-green);
}
.step_arrow i {
	font-size: 1.1rem;
}
.request_form {
	width: 660px;
	gap: 3rem;
}

.form_group {
	align-items: center;
	gap: 2rem;
}

.form_label {
	width: 270px;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	color: #333333;
}

.confirm .form_label {
	background: rgb(226, 226, 226);
	min-height: 45px;
	justify-content: center;
	border-radius: 0.3rem;
	width: 200px;
}

.confirm .form_group p {
	width: calc(660px - 270px - 2rem);
	font-size: 0.9rem;
}

.label_text {
	width: 11em;
	white-space: nowrap;
	font-size: 0.95rem;
	text-align: center;
}

.required {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 22px;
	background: #ff6b6b;
	color: #ffffff;
	padding-top: 2px;
	font-size: 0.8rem;
}

.required.any {
	background: var(--m-green);
}

.form_group input[type="text"],
.form_group input[type="email"],
.form_group input[type="tel"],
.form_group input[type="date"],
.form_group input[type="number"],
.form_group select {
	width: calc(660px - 2rem - 270px);
	padding: 0.6rem 0.75rem;
	min-height: 45px;
	border: 1px solid #000000;
	border-radius: 0.4rem;
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 0.3s;
}

.form_group input[type="text"]:focus,
.form_group input[type="email"]:focus,
.form_group input[type="tel"]:focus,
.form_group select:focus {
	outline: none;
	border-color: #5eb8d4;
	box-shadow: 0 0 4px rgba(94, 184, 212, 0.2);
}

.date_inputs {
	width: calc(660px - 2rem - 270px);
	justify-content: space-between;
	gap: 0.5rem;
}

.form_group input[type="date"] {
	width: fit-content;
}

.select_wrap {
	position: relative;
}

.select_wrap select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 2rem; /* 矢印分の余白 */
	height: 100%;
}

/* ▼ 矢印はラッパー側に */
.select_wrap.ar::after {
	content: "keyboard_arrow_down";
	font-family: "Material Icons";
	font-size: 24px;
	position: absolute;
	right: 0.3rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #666;
}

.select_wrap.txt {
	display: flex;
	align-items: center;
}

.checkbox_group {
	gap: 0.75rem;
}

.checkbox_label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	font-weight: 400;
	color: #333333;
}

.checkbox_label input[type="checkbox"] {
	cursor: pointer;
	width: 1.1rem;
	height: 1.1rem;
	min-width: 1.1rem;
	min-height: 1.1rem;
	accent-color: #5eb8d4;
	flex-shrink: 0;
}

.services_other_textarea {
	width: 100%;
	min-height: 100px;
	padding: 0.75rem;
	border: 1px solid #cccccc;
	border-radius: 0.4rem;
	font-size: 1rem;
	font-family: inherit;
	resize: vertical;
	margin-top: 0.5rem;
	margin-left: 1.6rem;
	transition: border-color 0.3s;
}

.services_other_textarea:focus {
	outline: none;
	border-color: #5eb8d4;
	box-shadow: 0 0 4px rgba(94, 184, 212, 0.2);
}

.form_notice {
	background: #c1c1c146;
	padding: 0.5rem 1rem 1rem;
	border-radius: 0.4rem;
	font-size: 0.9rem;
	/* color: #666666; */
	line-height: 1.6;
}

.form_notice p {
	margin: 0.5rem 0;
}

.form_notice a {
	color: #5eb8d4;
	text-decoration: underline;
}

.privacy_check {
	margin-top: 1rem;
}

.form_check {
	justify-content: center;
	gap: 2rem;
}

.submit_btn {
	background: var(--m-green);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	color: #ffffff;
	padding: 1rem 3rem;
	border: none;
	border-radius: 0.4rem;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.3s;
	margin-top: 1rem;
	width: fit-content;
	max-width: 370px;
}

.submit_btn.corr {
	background: #d70000ff;
	padding: 1rem 2rem;
}

.request_form.complete {
	text-align: center;
	width: 80%;
}
.complete strong {
	font-size: 3rem;
	font-weight: bold;
}

/* SP */
@media (max-width: 768px) {
	.request_form_area {
		padding: 2rem 0;
	}

	.form_wrapper {
		width: 94%;
		padding: 1.5rem 0;
	}

	/* ★H */
	.form_header h2 {
		margin-bottom: 1.5rem;
	}

	.form_steps {
		width: 100%;
		flex-wrap: wrap;
		gap: 0.5rem 0.3rem;
		margin-bottom: 1.5rem;
	}

	.step {
		font-size: 0.9rem;
		width: fit-content;
		padding: 0.6rem;
	}

	.step_arrow i.pc {
		display: none;
	}

	.request_form {
		width: 90%;
		gap: 1rem;
	}

	.form_group {
		width: 100%;
		flex-direction: column;
		gap: 0.5rem;
		padding-bottom: 0.5rem;
	}
	.form_label {
		width: 100%;
		justify-content: flex-start;
	}

	.label_text {
		width: fit-content;
	}

	.form_group input[type="text"],
	.form_group input[type="email"],
	.form_group input[type="tel"],
	.form_group input[type="date"],
	.form_group select {
		width: 100%;
	}

	.date_inputs {
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.select_wrap.date {
		width: 100%;
	}

	.checkbox_group {
		flex-wrap: wrap;
	}
	.checkbox_label {
		/* flex: 0 0 calc((100% - 0.75rem) / 2); */
		padding-right: 1em;
	}
	.checkbox_label:nth-child(odd) {
		width: 35%;
	}
	.checkbox_group span {
		white-space: nowrap;
	}

	.checkbox_label.lastcheck {
		width: 100%;
	}

	.confirm .form_label {
		min-height: fit-content;
		justify-content: flex-start;
		width: 100%;
		background: none;
		border-bottom: solid 1px #c6c6c6;
		text-align: left;
		font-weight: bold;
		font-size: 1rem;
		padding-bottom: 0;
		border-radius: 0;
	}

	.confirm .form_group p {
		width: 100%;
	}

	.complete strong {
		font-size: 2.3rem;
	}

	.submit_btn {
		color: #ffffff;
		padding: 1rem 1.5rem;
		border: none;
	}

	.submit_btn.corr {
		background: #d70000ff;

		padding: 1rem 1.5rem;
	}
}

main.teams,
main.privacy {
	padding: 0;
}

main.teams .subwhite div,
main.privacy .subwhite div {
	width: 90%;
}

main.teams .subwhite div h2,
/* ★H */
main.privacy .subwhite div h2 {
	font-size: 1.7rem;
	font-weight: bold;

	margin-bottom: 0.3rem;
}

main.teams .subwhite div p,
main.privacy .subwhite div p {
	margin-bottom: 2rem;
}

/* SP */
@media (max-width: 768px) {
	main.teams .subwhite div h2,
/* ★H */
    main.privacy .subwhite div h2 {
		font-size: 1.3rem;
	}
}

/* rectuit */
strong.rec_title {
	font-size: 1.9rem;
	line-height: 1.9;
	text-align: center;
	display: block;
	font-weight: bold;
	color: transparent;
	background: linear-gradient(90deg, #0b212b 3%, rgb(82, 108, 129) 44%, rgb(95, 149, 184) 84%, #5ca3c4 75%, #62a2c0 94%);

	background-clip: text;
	-webkit-background-clip: text;
	margin-bottom: 4rem;
}

/* SP */
@media (max-width: 768px) {
	strong.rec_title {
		font-size: 1.3rem;
		padding: 0 1rem;
		line-height: 1.5;
		margin-bottom: 1rem;
	}
}

section.rec_exp {
	margin-bottom: 3rem;
}

section.rec_exp div.rec_exp_main {
	gap: 2rem;
}

section.rec_exp div.rec_exp_main div.txt_area {
	width: 70%;
	padding-top: 2rem;
}

/* ★H */
section.rec_exp div.rec_exp_main h2 {
	font-size: 2.3rem;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

section.rec_exp div.rec_exp_main span {
	font-size: 1.1rem;
	font-weight: bold;
	display: block;
	margin-bottom: 2rem;
}

section.rec_exp div.rec_exp_main strong {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 2rem;
	display: block;
}

section.rec_exp div.rec_exp_main .img_area img {
	/* position: relative; */
	border-radius: 15px;
}

section.rec_exp div.rec_exp_main .img_area img.tm01 {
	width: 70%;
	height: auto;
	aspect-ratio: 465 / 340;

	object-fit: cover;
	border-radius: 15px;
}

section.rec_exp div.rec_exp_main .img_area img.tm02 {
	width: 70%;
	height: auto;
	aspect-ratio: 465 / 350;
	margin-top: -3rem;
	margin-left: auto;

	object-fit: cover;
	border-radius: 15px;
}

/* SP */
@media (max-width: 768px) {
	section.rec_exp div.rec_exp_main div.txt_area {
		width: 100%;
		text-align: center;
		padding: 0;
	}

	section.rec_exp div.rec_exp_main .img_area {
		width: 100%;
	}

	section.rec_exp div.rec_exp_main span {
		margin-bottom: 0.5rem;
	}

	section.rec_exp div.rec_exp_main strong {
		margin-bottom: 1rem;
	}

	section.rec_exp div.rec_exp_main p {
		text-align: left;
		padding: 0;
		font-size: 0.93rem;
	}
}

/* ★H */
.about_bc.rec h2 {
	width: 100%;
	display: block;
	text-align: left;
	font-size: 2.6rem;
	margin-bottom: 1rem;
}

main.recruit .bc_situ {
	margin-bottom: 10rem;
}

main.recruit .bc_situ ul {
	margin-bottom: 2rem;
}

/* SP */
@media (max-width: 768px) {
	main.recruit .bc_situ {
		margin-bottom: 3rem;
	}
	/* ★H */
	.about_bc.rec h2 {
		font-size: 2rem;
		text-align: center;
	}
	main.recruit .bc_situ span.right {
		text-align: center;
	}
}

.rec_merit {
	margin-bottom: 6rem;
}

/* ★H */
.rec_merit h2 {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

/* ★H */
.rec_merit h2 small {
	font-size: 1.7rem;
}

/* SP */
@media (max-width: 768px) {
	.rec_merit {
		margin-bottom: 3rem;
	}

	/* ★H */
	.rec_merit h2 {
		font-size: 2rem;
		font-weight: 600;
		margin-bottom: 1rem;
	}

	/* ★H */
	.rec_merit h2 small {
		font-size: 1rem;
	}
}

.rec_merit ul {
	justify-content: center;
	gap: 1rem;
	margin-bottom: 4rem;
}

.rec_merit ul li {
	display: flex;
	background: var(--m-green);
	color: #ffffff;
	font-size: 0.95rem;
	padding: 2px 1rem 3px;
	border-radius: 9999px;
	white-space: nowrap;
}

/* SP */
@media (max-width: 768px) {
	.rec_merit ul {
		gap: 0.5rem;
		width: 90%;
		flex-wrap: wrap;
		margin-bottom: 2rem;
	}
	.rec_merit ul li {
	}
}

.merit_list {
	gap: 2.5rem;
	margin-bottom: 4rem;
}

.merit_list img {
	width: 50%;
	border-radius: 20px;
	height: 420px;
	object-fit: cover;
	object-position: center;
}

.merit_list div {
	width: calc(50% - 2.5rem);
}

.merit_list.rb {
	flex-direction: row-reverse;
}

/* SP */
@media (max-width: 768px) {
	.merit_list {
		gap: 1rem;
		margin-bottom: 2rem;
	}

	.merit_list img {
		width: 100%;
		height: auto;
		aspect-ratio: 620 / 420;
	}

	.merit_list div {
		width: 100%;
	}

	.merit_list.rb {
		flex-direction: column;
	}
}

.merit_list div span {
	display: flex;
	width: fit-content;
	background: var(--m-green);
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: bold;
	padding: 2px 1.5rem 1px;
	border-radius: 9999px;
	white-space: nowrap;
	margin-bottom: 1rem;
}

/* ★H */
.merit_list h3 {
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

/* SP */
@media (max-width: 768px) {
	.merit_list div span {
		margin-bottom: 0.5rem;
	}

	/* ★H */
	.merit_list h3 {
		font-size: 1.3rem;
	}
}

.rec_lastexp {
	margin-bottom: 3rem;
}

/* ★H */
.rec_lastexp h2 {
	font-size: 2.5rem;
	font-weight: bold;
}

.rec_lastexp p {
	font-size: 1.8rem;
}

/* SP */
@media (max-width: 768px) {
	.rec_lastexp {
		margin-bottom: 3rem;
	}

	/* ★H */
	.rec_lastexp h2 {
		font-size: 1.6rem;
		font-weight: bold;
	}

	.rec_lastexp p {
		font-size: 1rem;
	}
}

.rec_form_area {
	background: #f4f4f4ff;
	padding: 3rem 0 5rem;
}

/* ★H */
.rec_form_area h2 {
	font-weight: 600;
	font-size: 1.6rem;
	margin-bottom: 2rem;
}

.rec_form_area .form_main {
	background: #ffffff;
	max-width: 930px;
	width: 90%;
	padding: 1.5rem;
	border-radius: 20px;
}

/* SP */
@media (max-width: 768px) {
	.rec_form_area {
		padding: 2rem 0 3rem;
	}
	.rec_form_area .form_main {
		padding: 1rem;
	}
}

.rec_form_area .form_group {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	align-items: flex-start;
	margin-bottom: 1.6rem;
}

/* SP */
@media (max-width: 768px) {
	.rec_form_area .form_group {
		gap: 0.5rem;
		margin-bottom: 1rem;
	}
}

.rec_form_area .form_group label {
	display: inline-flex;
	gap: 0.1rem;
	font-size: 1.2rem;
	font-weight: bold;
}

.rec_form_area .form_group label span.required {
	background: none;
	color: #ff0000;
	font-size: 1rem;
	width: fit-content;
	font-weight: normal;
}

.rec_form_area .form_group input {
	width: 100%;
	border-color: #eeeeee;
}

.rec_form_area .form_group input::placeholder {
	color: #a8a8a8;
}

.rec_form_area .form_group input[type="number"] {
	width: 20em;
}

.rec_form_area .form_group select {
	border-color: #eeeeee;
}

.rec_form_area .select_wrap.ar::after {
	color: #c2c2c2;
}

.rec_form_area .radio_group label {
	font-size: 1rem;
	align-items: center;
	font-weight: normal;
	gap: 0.7rem;
	margin-bottom: 0.5rem;
}
.rec_form_area .form_group input[type="radio"] {
	width: 1rem;
	height: 1rem;
}

.rec_form_area .radio_group label input[type="number"] {
	width: 12em;
	padding: 10px;
	height: 25px;
	min-height: 35px;
	margin-left: 1rem;
}

.rec_form_area .radio_group label input[type="number"]::placeholder {
	font-size: 0.7rem;
}

.rec_form_area textarea {
	width: 100%;
	border-color: #eeeeee;
	padding: 10px;
}

.rec_form_area textarea::placeholder {
	color: #a8a8a8;
}

.checkbox_group {
}

.checkbox_group label {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}

.checkbox_group label span {
	font-size: 1rem;
	font-weight: normal;
}
.checkbox_group label span a {
	color: #62a2c0;
	text-decoration: underline;
}

.rec_form_area .form_group.checkbox_group input {
	width: 1rem;
	height: 1rem;
}

.form_footer {
	width: 100%;
	padding: 2rem 0 0;
}

/* SP */
@media (max-width: 768px) {
}

.recruit_form.confirm .form_label {
	background: none;
	width: 30%;
}

.recruit_form.confirm .form_group p {
	width: 70%;
}

.rec_form_area .recruit_form.confirm .form_group {
	flex-direction: row;
	align-items: center;
}

/* SP */
@media (max-width: 768px) {
	.rec_form_area .recruit_form.confirm .form_group {
		flex-direction: column;
		align-items: flex-start;
	}

	.recruit_form.confirm .form_label {
		background: none;
		width: 100%;
	}

	.recruit_form.confirm .form_group p {
		width: 100%;
	}
}

/* REPORT */
main.report.detail {
	padding-top: 2rem;
}

/* SP */
@media (max-width: 768px) {
	main.report.detail {
		padding-top: 1rem;
		padding-bottom: 0;
	}

	main.report.detail .top_report {
		padding-bottom: 0;
	}
}
.repo_header {
	width: 95%;
	max-width: 790px;
	margin-bottom: 2rem;
	justify-content: space-between;
	align-items: center;
}

/* 左 */
.repo_header span.repo_cate {
	display: flex;
	background: var(--m-green);
	color: #ffffff;
	font-size: 0.7rem;
	padding: 2px 10px;
	border-radius: 9999px;
	font-family: "Lato", sans-serif;
	font-weight: bold;
	margin-bottom: 1rem;
}
.repo_header small.repo_day {
	font-size: 0.9rem;
	font-family: "Lato", sans-serif;
}

/* 右 */
.repo_header ul.right_area {
	gap: 2rem;
	align-items: center;
}

.repo_header ul.right_area li a i {
	font-size: 32px;
}
.repo_header ul.right_area li a i.fa-square-x-twitter {
	font-size: 36px;
}
.repo_header ul.right_area li a i.fa-facebook-f {
	font-size: 28px;
}

/* SP */
@media (max-width: 768px) {
	.repo_header {
		margin-bottom: 1rem;
	}
	.repo_header span.repo_cate {
		margin-bottom: 0.5rem;
	}
	.repo_header ul.right_area {
		gap: 0.7rem;
		padding-right: 0.7rem;
	}
}

.repo_main {
	width: 95%;
	max-width: 790px;
	padding-bottom: 3rem;
}

/* レポートテキスト */
.repo_main h1 {
	font-size: 40px;
	font-family: "Lato", sans-serif;
	font-weight: 600;
	padding-bottom: 1rem;
	border-bottom: solid 1px #eeeeee;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

/* SP */
@media (max-width: 768px) {
	.repo_main h1 {
		font-size: 20px;
		font-family: "Lato", sans-serif;
		padding-bottom: 0.5rem;
		margin-bottom: 1rem;
	}
}

.repo_main img.img1 {
	aspect-ratio: 400 / 240;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* SP */
@media (max-width: 768px) {
	.repo_main img.img1 {
		width: 100%;
	}
}

.repo_main h2 {
	font-size: 20px;
	font-family: "Lato", sans-serif;
	font-weight: 600;
}

/* SP */
@media (max-width: 768px) {
	.repo_main h2 {
		font-size: 18px;
	}
}

.repo_main img.img2 {
	aspect-ratio: 150 / 200;
	width: 20%;
	height: auto;
	object-fit: cover;
}

/* SP */
@media (max-width: 768px) {
	.repo_main img.img2 {
		width: 50%;
	}
}

/* レポート下部 */
.repo_bottom {
	width: 95%;
	max-width: 790px;
	margin-bottom: 3rem;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
}

.repo_bottom img {
	width: 163px;
	height: 99px;
	aspect-ratio: 163 / 99;
	object-fit: cover;
	object-position: center;
	border: solid 1px #000000;
	border-radius: 13px;
}

.repo_bottom a.flex {
	width: calc(100% - 326px - 3rem);
	border: solid 1px #000000;
	border-radius: 13px;
	justify-content: center;
	align-items: center;
	font-size: 1.1rem;
	height: 71px;
}

/* SP */
@media (max-width: 768px) {
	.repo_bottom {
		gap: 0.5rem;
	}
	.repo_bottom img {
		width: 100px;
		height: auto;
		border-radius: 8px;
	}
	.repo_bottom a.flex {
		width: 100%;
		font-size: 0.9rem;
		height: 50px;
		border-radius: 8px;
	}
}

.repo_check {
	padding-bottom: 3rem;
}

.repo_check h2 {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.repo_check a {
	width: fit-content;
}
.repo_check a img {
	max-width: 400px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* SP */
@media (max-width: 768px) {
	.repo_check {
		padding-bottom: 2rem;
		width: 95%;
	}

	.repo_check p {
		font-size: 0.85rem;
	}
}

.repo_last {
	width: 95%;
	max-width: 820px;
	padding-bottom: 3rem;
}

.repo_last h2 {
	font-weight: 600;
	font-size: 1.2rem;
}

a.rec_btn {
	color: #ffffff;
	background: var(--s-blue);
	height: 100%;
	padding: 1rem 1rem;
	border-radius: 7px;
	gap: 0.5rem;
	font-size: 1.1rem;
	width: 40%;
	max-width: 328px;
	justify-content: center;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* SP */
@media (max-width: 768px) {
	a.rec_btn {
		width: 90%;
	}
}

.repo_last div {
	gap: 1rem;
}

.repo_last div a img {
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

a.repo_back_btn {
	margin-top: 5rem;
	margin-bottom: 5rem;

	color: #ffffff;
	background: var(--m-green);
	height: 100%;
	padding: 1rem 1rem;
	border-radius: 7px;
	gap: 0.5rem;
	font-size: 1.1rem;
	width: 40%;
	max-width: 328px;
	justify-content: center;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
/* SP */
@media (max-width: 768px) {
	a.repo_back_btn {
		width: 90%;
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}
}
.report_list_art h3.lato {
	width: 100%;
	max-width: 380px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
