@charset "UTF-8";
/*----------このエリアは削除すると正しく動作しない可能性があります----------

Theme Name:   LION MEDIA Child
Theme URI:    http://fit-jp.com/theme/
Description:  FIT(フィット) が制作するメディア用WordPressTHEME「LION MEDIA」の子テーマ
Author:       Kota Naito　@FIT(フィット)
Author URI:   http://fit-jp.com/about/
Template:     lionmedia
Version:      77.0.0
License:      GNU GENERAL PUBLIC LICENSE
License URI:  http://www.gnu.org/licenses/gpl.html

----------このエリアは削除すると正しく動作しない可能性があります----------*/


/*/////////////////////////////////////////////////
//下記ユーザーカスタマイズエリア
/////////////////////////////////////////////////*/


body {
	font-family: "Noto Sans JP", serif;
	background-color: #fff;
	font-size: 16px;
	color: #252628;
	letter-spacing: 0.04em;
}

.container {
	width: 100%;
	max-width: 1066px;
}

/* Header */
.l-header {
	background-color: #fff;
}

.siteTitle {
	height: 44px;
	width: 100%;
	display: flex;
	justify-content: space-between;
  	align-items: center;
	margin-top: 26px;
	margin-bottom: 26px;
}

.siteTitle__logo {
    max-height: 44px;
    line-height: 44px;
}

.siteTitle__link {
	height: 44px;
}

.siteTitle__img {
	height: 100%;
	max-height: 44px;
}

.header-btn-section {
	display: flex;
	gap: 16px;
}

#mobile_nav_toggle {
	border: 0;
	padding: 7px 9px;
	border-radius: 4px;
	cursor: pointer;
	transition: 0.4s all ease;
	background-color: transparent;
}

#mobile_nav_toggle:hover {
	background-color: #f6f2ef;
}

#mobile_nav_toggle span {
	display: block;
	width: 25px;
	height: 3px;
	background-color: #a28264;
	border-radius: 2px;
	margin: 6px 0;
}

#mobile_nav_panel {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: #faf9f7;
	z-index: 10000;
	display: none;
}

#mobile_nav_panel.active {
	display: block;
}

#mobile_nav_panel .close-nav-btn {
	padding: 30px 120px;
	position: relative;
	text-align: right;
}

#mobile_nav_panel .close-nav-btn button {
	position: relative;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 4px;
	transition: 0.4s all ease;
	border: 0;
	text-align: center;
	background-color: transparent;
}

#mobile_nav_panel .close-nav-btn button:hover {
	background-color: #f6f2ef;
	cursor: pointer;
}

#mobile_nav_panel ul {
	max-width: 390px;
	width: 100%;
	margin: 0 auto;
}

#mobile_nav_panel ul li {
	position: relative;
	list-style: none;
}

#mobile_nav_panel ul li::before {
	position: absolute;
	content: '';
	right: 14px;
	top: 50%;
	margin-top: -5px;
	display: inline-block;
	width: 10px;
	height: 10px;
	background-image: url('./assets/img/row.svg');
	transform: rotate(-90deg);
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1000;
}

#mobile_nav_panel ul li a {
	display: block;
	color: #634c36;
	font-weight: normal;
	line-height: 32px;
	padding: 17px 16px;
	letter-spacing: 0;
}

#mobile_nav_panel ul li:hover {
	background-color: #f6f2ef;
}

/* Sticky header */
#spacing {
	height: 92px;
}

header.l-header {
    height: 92px;
    transition: all 0.2s ease-in-out;
    will-change: transform, height;
}

header.l-header {
    width: 100%;
    background-color: #fff;
    z-index: 1000;
}

#spacing {
    height: 0;
}

#spacing.sticky {
    height: 92px;
}

header.l-header.sticky {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateY(-100%);
	z-index: 10000;
}

header.l-header.sticky.active {
    transform: translateY(0);
}

/* Button */
a.btn {
	padding: 12px;
	min-width: 144px;
	text-align: center;
	font-weight: bold;
	border-radius: 40px;
}

a.btn-gradient {
	position: relative;
	display: inline-block;
	color: #fff;
	line-height: 19px;
	overflow: hidden;
}

a.btn-gradient::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(65.31deg, #705a46, #ae9a87 100%, #bda792 0);
	transition: opacity 0.6s ease;
	z-index: 0;
	opacity: 1;
}

a.btn-gradient::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(65.31deg, #705a46, #705a46 100%, #705a46 0);
	transition: opacity 0.6s ease;
	z-index: 1;
	opacity: 0;
}

a.btn-gradient:hover::after {
	opacity: 1;
}

a.btn-gradient:hover::before {
	opacity: 0;
}

a.btn-gradient span {
	position: relative;
	z-index: 2;
}

a.btn-white {
	background-color: #fff;
}

a.btn-orange {
	background-color: #f17c27;
	transition: 0.5s all ease;
}

a.btn-orange:hover {
	background-color: #b55d1d;
}

a.btn-orange span {
	color: #fff;
}

/* Breadcrumb */
.breadcrumb {
	position: relative;
	padding: 14px 0;
	background-color: #f9f9f9;
	z-index: 100;
}

.breadcrumb .breadcrumb__list {
	display: flex;
	align-items: center;
	width: calc(100% - 32px);
	max-width: 1066px;
	margin: 0 auto;
	overflow-y: auto;
}

.breadcrumb .breadcrumb__list a {
	color: #252628;
	font-size: 13px;
	font-weight: 400;
}

.breadcrumb .breadcrumb__list a:hover {
	text-decoration: underline;
}

.breadcrumb .breadcrumb__item {
	padding-right: 20px;
    margin-right: 20px;
	white-space: nowrap;
}

.breadcrumb .breadcrumb__item::after {
	border-top: 1px solid #7f7f7f;
    border-right: 1px solid #7f7f7f;
}

.breadcrumb .breadcrumb__item::before {
	content: "";
    position: absolute;
    right: -9px;
	top: 50%;
	height: 20.5px;
	width: 20.5px;
	background-color: #e9e9e9;
	transform: translateY(-50%);
	border-radius: 20px;
}

.breadcrumb .breadcrumb__item:last-child {
	padding-right: 0;
	margin-right: 0;
}

.breadcrumb .breadcrumb__item:last-child a {
    text-decoration: none;
    pointer-events: none;
}

.breadcrumb .breadcrumb__item:last-child::before,
.breadcrumb .breadcrumb__item:last-child::after {
	display: none;
}

/* Post list */
.post-list .post-item {
	background-color: #faf9f7;
	padding: 8px;
	border-radius: 10px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	transition: 0.3s all ease;
}

.post-list .post-item:hover {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.post-list .post-item .thumbnail img {
	border-radius: 4px;
	transition: 0.3s all ease;
}

.post-list .post-item:hover .thumbnail img {
	transform: scale(1.05);
}

.post-list .post-item .report-info {
	margin: 8px 0;
	font-size: 14px;
}

.post-list .post-item a {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7em;
	color: #76624e;
	letter-spacing: 0.12rem;
}

/* Home page */
.l-wrapper {
	width: 100%;
	max-width: 100%;
}

.l-wrapper .l-main {
	width: 100%;
	padding: 0;
	margin-top: 40px;
}

.l-wrapper .l-main .post-list {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 50px;
}

.l-wrapper .l-main .post-list .post-item {
	position: relative;
	flex: 1 1 calc(25% - 52px);
    box-sizing: border-box;
	padding: 16px;
}

.l-wrapper .l-main .post-list .post-item span.label-new {
	display: block;
	position: absolute;
	left: 22px;
	top: 22px;
	background-color: #F17C27;
	line-height: 1em;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	border-radius: 2px;
	padding: 4px;
	z-index: 100;
}

.l-wrapper .l-main .post-list .post-item a {
	font-size: 15px;
	font-weight: 600;
}

.l-wrapper .l-main .post-list .post-item .report-info {
	margin-bottom: 0;
	font-size: 16px;
}

.l-wrapper .l-main .post-list .post-item .report-info .gender {
	margin-top: 10px;
	display: flex;
	gap: 6px;
	align-items: center;
	font-weight: 600;
}

.l-wrapper .l-main .heading {
	position: relative;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	color: #634c36;
	margin-bottom: 24px;
}
.l-wrapper .l-main .heading::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 2px;
	background-color: #634c36;
	left: 50%;
	transform: translateX(-50%);
	bottom: -14px;
}
.l-wrapper .l-main .sub-heading {
	text-align: center;
	font-weight: 400;
	color: #634c36;
	font-size: 14px;;
}

/* Special report */
.special-report {
	margin-top: 40px;
	margin-bottom: 80px;
}

.special-report .heading {
	position: relative;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    color: #634c36;
    margin-bottom: 24px;
}

.special-report .heading::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: #634c36;
    left: 50%;
    transform: translateX(-50%);
    bottom: -14px;
}

.special-report .sub-heading {
    text-align: center;
    font-weight: 400;
    color: #634c36;
    font-size: 14px;
}

.special-report .description {
	text-align: center;
	color: #634c36;
	margin-top: 36px;
	font-weight: 400;
	line-height: 1.6em;
	font-size: 14px;
}

.special-report .special-report-details {
	display: flex;
	gap: 24px;
	margin-top: 30px;
	padding: 30px 45px;
	background-color: #faf9f7;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	border-radius: 8px;
}

.special-report .special-report-details .thumbnail {
	width: 426px;
}

.special-report .special-report-details .thumbnail img {
	border-radius: 6px;
	transition: 0.3s all ease;
}

.special-report .special-report-details .thumbnail:hover img {
	transform: scale(1.05);
}

.special-report .special-report-details .details {
	width: calc(100% - 450px);
}

.special-report .special-report-details .report-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-bottom: 26px;
}

.special-report .special-report-details .report-info .info {
	display: flex;
	gap: 16px;
}

.special-report .special-report-details .gender {
	display: flex;
	gap: 6px;
	align-items: center;
	font-weight: 600;
}

.special-report .special-report-details .special_interview {
	display: inline-block;
    font-size: 22px;
    padding: 3px 18px 6px 18px;
    border-radius: 5px;
    color: #fff;
    background: #EC740C;
    background: linear-gradient(90deg, rgba(236, 116, 12, 1) 0%, rgba(233, 148, 16, 1) 100%);
    line-height: 1;
    font-weight: 600;
}

.special-report .special-report-details .details a {
	display: block;
	font-size: 24px;
	color: #634c36;
	letter-spacing: 0.2rem;
	line-height: 1.5em;
	font-weight: 700;
	margin-bottom: 30px;
}

.special-report .special-report-details .details p {
	color: #634c36;
	line-height: 1.8em;
}

/* Pagination */
.pagination {
    margin-top: 70px;
    margin-bottom: 70px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination span.page-numbers,
.pagination a.page-numbers {
	position: relative;
	height: 40px;
	width: 40px;
	border: 0;
	background-color: transparent;
	color: #634c36;
}

.pagination a.page-numbers {
	text-decoration: underline;
}

.pagination span.current {
	background-color: transparent;
	color: #a28264;
	font-weight: 700;
}

.pagination a.page-numbers.next,
.pagination a.page-numbers.prev {
	font-size: 0;
	padding: 0;
	width: 40px;
	height: 40px;
	border: 2px solid #a28264;
	border-radius: 40px;
	text-align: center;
}

.pagination a.page-numbers.prev {
	margin-right: 20px;
}

.pagination a.page-numbers.next {
	margin-left: 20px;
}

.pagination a.page-numbers.prev:hover,
.pagination a.page-numbers.next:hover {
	background-color: #a28264;
}

.pagination a.page-numbers.prev::before,
.pagination a.page-numbers.next::before {
	width: 8px;
	height: 8px;
	color: #a28264;
}

.pagination a.page-numbers.prev:hover::before,
.pagination a.page-numbers.next:hover::before {
	color: #fff;
}

.pagination a.page-numbers.next::before {
	right: 16px;
	margin-top: -4px;
	border-width: 2px;
}

.pagination a.page-numbers.prev::before {
	left: 16px;
	margin-top: -4px;
	border-width: 2px;
}


/* Register section */
#register_section {
	position: relative;
	padding-top: 104px;
	padding-right: 264px;
	background-image: linear-gradient(60.07deg, #7a624b -14.1%, #ae9a87 101.95%, #c2ad9a 0);
}

#register_section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 130px;
	background-color: #ffffff;
}

#register_section .register-section {
	display: flex;
	align-items: center;
	justify-content: center;
}

#register_section .register-section .img img {
	width: 100%;
}

#register_section .register-section .img {
	position: relative;
	width: 100%;
	max-width: 881px;
	margin-top: -160px;
	margin-right: -170px;
	margin-bottom: -70px;
	z-index: 100;
}

#register_section .register-section .cta {
	position: relative;
	width: 100%;
	max-width: 313px;
	color: #fff;
	text-align: center;
	z-index: 1000;
}

#register_section .register-section .cta p {
	font-size: 16px;
	margin-bottom: 8px;
	letter-spacing: .08em;
	line-height: 1.2;
}

#register_section .register-section .cta p.big-size {
	font-size: 36px;
	margin-bottom: 38px;
	line-height: 1.21;
	font-weight: 700;
}

#register_section .register-section .cta a.btn {
	position: relative;
	padding: 16px;
	min-width: 144px;
	display: block;
	margin-bottom: 24px;
	line-height: 19px;
}

#register_section .register-section .cta a.btn::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transition-property: transform;
	transition-timing-function: ease-in-out;
	transition-duration: .15s;
	border-radius: 40px;
	background-color: #fff;
}

#register_section .register-section .cta a.btn:hover::before {
	transform: scale(1.1);
}

#register_section .register-section .cta a.btn span {
	-webkit-background-clip: text;
    background-clip: text;
	background-image: linear-gradient(65.31234811724215deg, #705a46, #ae9a87 100%, #bda792 0);
	position: relative;
	display: inline-block;
	-webkit-text-fill-color: transparent;
	letter-spacing: normal;
}

#register_section .register-section .cta a.link {
	position: relative;
	font-weight: 700;
}

#register_section .register-section .cta a.link::before {
	content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    opacity: 0;
    transition-property: opacity;
    transition-duration: .215s;
    transition-timing-function: ease-in-out;
}

#register_section .register-section .cta a.link:hover::before {
	opacity: 1;
	background-color: #fff;
}

/* Register banner */
.register-banner {
	position: relative;
	text-align: center;
	padding: 20px 0;
	z-index: 1000;
}

.register-banner a {
	transition: 0.3s all ease;
}

.register-banner a:hover {
	opacity: 0.7;
}

/* Fixed btn */
.sp-fixed-btn {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	background-color: #fff;
	padding: 36px 0;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0px 8px 16px 0px #00000014, 0px 1px 4px 0px #00000014;
	z-index: 1000;
	transition: 0.23s all ease;
}

.sp-fixed-btn.hide {
	bottom: -122px;
}

.sp-fixed-btn .btn {
	display: block;
	padding: 17px;
	max-width: 284px;
	margin: auto;
}

/* Footer */
footer {
	font-family: "Inter", "Noto Sans JP", serif;
	color: #252628;
	text-align: center;
	background-color: #f6f2ef;
	padding: 48px 0;
	letter-spacing: 0;
}

footer .footer-logo {
	margin-bottom: 24px;
	line-height: 0;
}

footer .footer-logo img {
	width: 147px;
	height: auto;
}

footer .footer-nav .footer__wrap {
	margin-bottom: 16px;
	font-size: 12px;
}

footer .footer-nav .footer__wrap p {
	font-weight: 700;
	color: #25262899;
	font-size: 12px;
	margin-bottom: 4px;
	line-height: 1.2;
}

footer .footer-nav .footer__wrap ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	line-height: 2;
}

footer .footer-nav .footer__wrap ul li {
	position: relative;
	list-style-type: none;
	padding-left: 6px;
	padding-right: 6px;
}

footer .footer-nav .footer__wrap ul li:hover a {
	text-decoration: underline;
}

footer .footer-nav .footer__wrap ul li a {
	padding-left: 1px;
	padding-right: 1px;
	font-weight: 400;
	color: #25262899;
}

footer .footer-nav .footer__wrap ul li:last-child::before {
	display: none;
}

footer .footer-nav .footer__wrap ul li::before {
	content: "｜";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(50%, -50%);
	color: #25262899;
	opacity: 0.9;
}

footer .footer-nav .footer__wrap ul li svg {
	width: 12px;
	height: 12px;
	margin-bottom: -2px;
	margin-left: -1px;
}

footer .footer-nav .footer__wrap ul li:last-child {
	border-right: 0;
}

footer .footer-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 32px;
}

footer .footer-icon img {
	width: 52px;
	height: 80px;
}

footer .footer-icon p {
	text-align: left;
	font-size: 1.2rem;
	color: #25262899;
	line-height: 2em;
	font-weight: 400;
}

footer .copyright {
	margin-top: 24px;
	color: rgba(37, 38, 40, 0.6);
	font-size: 1.2rem;
	font-weight: 400;
}

footer .copyright p {
	line-height: 2em;
}


#scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 40px;
    z-index: 999;
    padding: 10px 14px;
    background-color: #A28264;
    color: #fff;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease, visibility 0.3s ease;
	display: none!important;
}

#scroll-to-top.show {
    display: block;
}

/* Responsive */
@media(max-width: 1200px) {
	#register_section {
		padding-right: 160px;
	}

	#register_section .register-section .img {
		margin-top: -100px;
		margin-bottom: -40px;
	}

	#register_section .register-section .img img {
		width: 80%;
	}
}

@media(max-width: 1098px) {
	.container {
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	#mobile_nav_panel .close-nav-btn {
		padding: 30px;
	}
}

@media(max-width: 940px) {
	#register_section {
		padding-right: 0;
		padding-bottom: 60px;
	}

	#register_section .register-section {
		display: block;
		text-align: center;
		margin: 0 auto;
	}

	#register_section .register-section .img img {
		margin-bottom: 0;
	}

	#register_section .register-section .cta {
		margin: 0 auto;
	}

	.special-report .special-report-details {
		display: block;
	}

	.special-report .special-report-details {
		padding: 16px;
	}

	.special-report .special-report-details .thumbnail {
		width: 100%;
	}

	.special-report .special-report-details .thumbnail img {
		width: 100%;
	}

	.special-report .special-report-details .details {
		width: 100%;
		margin-top: 20px;
	}

	.l-wrapper .l-main .post-list .post-item {
		flex: 1 1 calc(50% - 52px);
	}
}

@media only screen and (max-width: 767px) {
	#mobile_nav_panel .close-nav-btn {
        padding: 12px 6px;
    }

	.siteTitle__img {
		max-height: 38px;
	}

	.header-btn-section a.btn {
		padding: 8px;
		min-width: 120px;
	}

	.siteTitle {
		height: 38px;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	#register_section {
		padding-left: 16px;
		padding-right: 16px;
		padding-top: 80px;
	}

	#register_section::before {
		height: 20px;
	}

	#register_section .register-section .img {
		margin-top: -60px;
	}

	#register_section .register-section .img img {
		width: 100%;
	}

	.l-wrapper .l-main .post-list {
		margin-top: 30px;
		gap: 16px;
	}

	.l-wrapper .l-main .post-list .post-item {
		padding: 10px;
	}

	.pagination {
		margin-top: 26px;
        margin-bottom: 10px;
	}

	.breadcrumb__item {
		padding-left: 0;
	}
}

@media(max-width: 672px) {
	.breadcrumb .breadcrumb__item {
		display: unset;
	}

	.register-banner {
		width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	.special-report .special-report-details .report-info {
		margin-bottom: 16px;
	}

	.special-report .special-report-details .details a {
		margin-bottom: 16px;
		font-size: 20px;
	}

	.special-report .special-report-details .report-info {
		gap: 10px;
	}

	.special-report .special-report-details .special_interview {
		font-size: 14px;
        padding: 4px 10px 6px 10px;
	}

	.special-report .special-report-details .details p {
		font-weight: 400;
		font-size: 14px;
	}
}

@media(max-width: 480px) {
	#register_section {
		padding-top: 40px;
	}

	#register_section .register-section .cta {
		margin-top: 20px;
	}

	#register_section .register-section .cta p.big-size {
		font-size: 28px;
		margin-bottom: 28px;
	}

	#register_section .register-section .img {
		margin-top: 0;
	}

	#register_section .register-section .img img {
		scale: 1.15;
	}
}

@media (max-width: 380px) {
	footer .footer-nav .footer__wrap ul li {
		font-size: 11px;
	}

	#register_section .register-section .cta {
		margin-top: 30px;
	}

	#register_section .register-section .cta p {
		font-size: 14px;
	}

	#register_section .register-section .cta p.big-size {
		font-size: 26px;
	}
}

@media(max-width: 360px) {
	footer .footer-nav .footer__wrap ul li {
		font-size: 9.5px;
	}
}
