@charset "utf-8";
/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
* {
	list-style-type: none;
}
html {
	color: #000;
	font-size: 14px;
	line-height: 1.4;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
audio, canvas, iframe, img, svg, video {
	vertical-align: middle;
}
dl, menu, ol, ul, p, pre {
	margin: 0;
	padding: 0;
}
.sp {
	display: none !important;
}

/* ==========================================================================
   custom styles
   ========================================================================== */
header .inner {
	background-color: #fff;
	padding: 10px;
	text-align: center;
}
header .inner a {
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.l-article {
	width: 100%;
	max-width: 960px;
  margin: auto;
	padding: 0;
	box-sizing: content-box;
}

.l-main__inner {
	padding-top: 40px;
}

.p-article-head {
	display: flex;
  align-items: center;
	gap: 48px;
}

.p-article-head__kv img {
    border-radius: 20px;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.p-article-head__content {
	width: 48%;
}
.p-article-head__date {
  justify-self: start;
}
.p-article-head__date {
	margin-top: 16px;
}
.p-article-head__kv {
	width: calc(52% - 48px);
}

.l-article__body {
	margin-top: 110px;
}

.p-box-outline {
	margin: 64px 0;
}

.l-cv {
	margin: 40px auto 80px;
}

.l-cv-btn {
	margin: auto;
	padding: 16px 45px;
	box-shadow: 0 4px 0 #c76e1e;
	position: relative;
}

.l-cv-btn::after {
	content: "";
	width: 84px;
	height: 84px;
	position: absolute;
	background-image: url(https://d18f657670wm8u.cloudfront.net/otona/ldp/top/general/oshiete-ad/asset/img/cv-btn-img.png?20250416);
	background-size: contain;
	right: auto;
	left: -16px;
	top: -30px;
	bottom: auto;
}
.l-cv-btn-lg {
	font-size: 24px;
}
.l-float {
	position: absolute;
	top: -66px;
	right: 15px;
}
.l-float.is-fixed {
	position: fixed;
	z-index: 99;
	bottom: 0;
	top: auto;
	right: 15px;
}

.l-float-btn {
	border-radius: 10px 10px 0 0;
	padding: 14px 82px;
	margin: 0;
}

.l-float-btn-lg {
	font-size: 24px;
}
.l-footer {
	position: relative;
	/* padding-bottom: 67px; */
}
/* ==========================================================================
   Responsive styles (SP only)
   ========================================================================== */
@media screen and (max-width: 767px) {
	.l-article {
		padding: 0;
	}
	.l-main__inner {
		padding-top: 0;
	}
  .p-article-head {
    display: flex;
    gap: 24px;
  }
	.p-article-head__content,
	.p-article-head__kv {
		width: 100%;
	}
	.p-article-head__title {
		margin-top: 60px;
	}
	.l-article__body {
		margin-top: 40px;
	}
	.p-box-outline {
		margin: 40px 0;
	}
	.l-cv {
		padding-left: 2.67vw;
	}
	.l-cv-btn {
		padding-left: 12vw;
		padding-right: 12vw;
		box-shadow: 0 4px 0 #c76e1e;
		margin: 0 auto;
		font-size: clamp(14px, 4.26vw, 16px);
		position: relative;
	}
	.l-cv-btn::after {
		width: 64px;
		height: 64px;
		right: auto;
		left: -13px;
		top: -24px;
		bottom: auto;
	}
	.l-cv-btn-lg {
		font-size: clamp(16px, 6.4vw, 24px);
	}
	.l-float {
		width: 100%;
		right: 0;
		top: -60px;
	}
	.l-float.is-fixed {
		right: 0;
	}
	.l-float-btn {
		padding-left: 5.33vw;
		padding-right: 5.33vw;
		font-size: clamp(14px, 4.26vw, 16px);
	}
	.l-float-btn-lg {
		font-size: clamp(16px, 6.4vw, 24px);
	}
	/* .l-footer {
		padding-bottom: 67px;
	} */
}
