@charset "utf-8";
/* CSS Document */

/*
Theme Name: BestChoice2024

BlankSlate WordPress Theme 2011-2024
BlankSlate is distributed under the terms of the GNU GPL
*/


/*==========
共通
==========*/
a {
	color: var(--a_color);
}

a:hover {
	color: var(--a_hover_color);
}

body {
	animation: fade .3s;
}

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

	100% {
		opacity: 1;
	}
}

img {
	height: auto;
}

.wrap {
	padding-bottom: 60px;
}

.container {
	width: 96%;
	margin: 0 auto;
}

@media (min-width: 768px) {
	body {
		font-size: 1.7rem;
		line-height: 1.67;
	}

	.container {
		width: 900px;
	}
}


/*==========
MV
==========*/
.mv {
	height: 54vh;
	background-image: url("img/mv.jpg");
	background-position: center;
	background-size: cover;
	background-color: rgba(255, 255, 255, 0.5);
	background-blend-mode: color;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mv_item {
	text-align: center;
}

.mv_logo {
	width: 30%;
	filter: drop-shadow(0px 0px 2px rgba(255, 255, 255, 1.0));
	margin-bottom: 18px;
}

.mv_catch {
	text-align: center;
}

.mv_catch span {
	font-family: var(--font-en);
	font-size: 4.2rem;
	font-weight: 900;
	letter-spacing: -0.6px;
	text-shadow: 0px 0px 4px rgba(255, 255, 255, 0.9), 0px 0px 4px rgba(255, 255, 255, 0.9), 0px 0px 4px rgba(255, 255, 255, 0.9);
	display: block;
}

.mv_name {
	font-size: 1.8rem;
	font-weight: 700;
	text-shadow: 0px 0px 4px rgba(255, 255, 255, 0.9), 0px 0px 4px rgba(255, 255, 255, 0.9), 0px 0px 4px rgba(255, 255, 255, 0.9);
}

@media (min-width: 768px) {
	.mv {
		height: 600px;
	}

	.mv_logo {
		width: 198px;
	}

	.mv_catch span {
		font-size: 6rem;
		line-height: 1.2;
	}

	.mv_name {
		font-size: 3.6rem;
	}
}


/*==========
メッセージ
==========*/
.top_msg {
	padding-bottom: 60px;
}

.top_msg p {
	line-height: 1.75;
}

@media (min-width: 768px) {
	.top_msg {
		padding: 30px 0 120px;
	}

	.top_msg p {
		font-size: 1.8rem;
		line-height: 1.85;
	}
}


/*==========
ニュース
==========*/
.news,
.news_top {
	padding: 30px 0 60px;
}

.news_top {
	background-color: var(--bg_color2);
}

.news_list,
.news_slider {
	margin-bottom: 60px !important;
}

.news_list_item,
.news_slider_item {
	border-bottom: solid 1px var(--border_color1);
}

.news_list_item a,
.news_slider_item a {
	display: block;
	padding: 18px 12px;
	color: var(--font_color1);
}

.news_list_item time,
.news_slider_item time {
	font-family: var(--font-en);
	font-weight: 400;
	display: inline-block;
	color: var(--sub_color1);
	margin-bottom: 9px;
}

.news_list_item p,
.news_slider_item p {
	line-height: 1.55;
	font-size: 1.65rem;
}

@media (min-width: 768px) {

	.news,
	.news_top {
		padding: 60px 0 120px;
	}

	.news_list,
	.news_slider {
		margin-bottom: 90px !important;
	}

	.news_list_item a,
	.news_slider_item a {
		padding: 24px 18px;
	}

	.news_list_item time,
	.news_slider_item time {
		margin-bottom: 12px;
	}

	.news_list_item p,
	.news_slider_item p {
		line-height: 1.65;
		font-size: 1.8rem;
	}

}




/*==========
サービス
==========*/
.service {
	padding: 30px 0 60px;
}

.service_wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 72px;
}

.service_item {}

.service_item img {
	margin-bottom: 48px;
	box-shadow: 12px 12px 0 #9eb9e1;
}

.service_item h3 {
	font-size: 2.4rem;
	font-weight: 900;
	margin-bottom: 24px;
}

.service_item ul {
	margin-bottom: 24px;
}

.service_item ul li {
	font-weight: 600;
	padding: 12px 6px;
	border-bottom: dotted 1px var(--border_color1);
}

.service_item p {
	line-height: 1.65;
}


@media (min-width: 768px) {
	.service {
		padding: 60px 0 120px;
	}

	.service .container {}

	.service_wrap {
		flex-direction: row;
		gap: 18px;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0 24px;
	}

	.service_item {
		width: calc((100% - 18px*2)/3);
	}

	.service_item img {
		width: 96%;
	}

	.service_item ul {
		margin-bottom: 36px;
	}

	.service_item_description {
		font-size: 1.6rem;
		line-height: 1.85;
	}
}




/*==========
会社概要
==========*/
.company {
	padding: 30px 0 60px;
}

.company_info_table {
	width: 100%;
	margin: 24px 0 42px;
	border-top: solid 1px var(--border_color1);
}

.company_info_table tr {
	border-bottom: solid 1px var(--border_color1);
}

.company_info_table th,
.company_info_table td {
	padding: 24px 6px;
	line-height: 1.7;
}

.company_info_table th {
	width: 24%;
	font-weight: 600;
	color: #FFF;
	background-color: var(--sub_color1);
}

@media (min-width: 768px) {
	.company {
		padding: 60px 0 120px;
	}

	.company_info_table th,
	.company_info_table td {
		padding: 36px 24px;
	}

	.company_info_table th {
		width: 180px;
	}
}


/*==========
サービス
==========*/
.recruit {
	padding: 30px 0 60px;
}

@media (min-width: 768px) {
	.recruit {
		padding: 60px 0 120px;
	}
}


/*==========
料金
==========*/
.price {
	padding: 30px 0 60px;
}

.price_item {
	width: 100%;
	border: solid 1px var(--border_color1);
	margin-bottom: 48px;
}

.price_item caption {
	font-size: 1.8rem;
	font-weight: 600;
	background-color: var(--main_color);
	color: #FFF;
	padding: 18px 12px;
}

.price_item th,
.price_item td {
	padding: 30px 18px;
	border: solid 1px var(--border_color1);
	vertical-align: middle;
}

.price_item th {
	width: 30%;
	font-weight: 400;
}

.price_item td {
	text-align: right;
}

.price_item td span {
	font-size: 2.4rem;
	padding-left: 3px;
}


@media (min-width: 768px) {
	.price {
		padding: 60px 0 120px;
	}

	.price_item {
		width: 78%;
		margin-bottom: 60px;
	}

	.price_item th,
	.price_item td {
		font-size: 1.8rem;
	}

	.price_item td span {
		font-size: 3rem;
		padding-left: 6px;
	}

}


/*==========
ニュース詳細ページ
==========*/
.news_single {
	padding: 30px 0 60px;
}

.news_single_eyecatch {
	margin-bottom: 18px;
}

.news_single_header time {
	font-size: 1.3rem;
	color: var(--font_color1);
}

.news_single_title {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 12px;
}

.news_single_tag {
	margin-top: 12px;
}

.news_single_body {
	padding: 24px 0 48px;
}

.news_single_body p {
	line-height: 1.8;
	margin-top: 1.2em;
}

.news_single_body img {
	margin-top: 2.4em;
}

.news_single_body h2 {
	margin-top: 36px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0 3px 6px;
	border-bottom: solid 2px var(--main_color);
}

.news_single_body h3 {
	margin-top: 36px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 6px 0 6px 18px;
	position: relative;
}

.news_single_body h3::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 6px;
	height: 100%;
	background-color: var(--main_color);
}

.news_single_body .youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-top: 2.4em;
}

.news_single_body .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.news_single_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	margin-top: 60px;
}

.news_single_nav .page-numbers {
	width: calc((100% - 9px)/2);
}

.news_single_nav .page-numbers a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--pager_color);
	height: 54px;
}

.news_single_nav .page-numbers span {
	font-family: var(--font-en);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--font_color1);
	position: relative;
}

.news_single_nav .pre span::after {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #000;
	width: 0;
	height: 0;
	position: absolute;
	top: 50%;
	left: -15px;
	transform: translateY(-50%) rotate(180deg);
	/* Y軸の中心に配置し、矢印の方向を修正 */
}

.news_single_nav .next span::after {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #000;
	width: 0;
	height: 0;
	position: absolute;
	top: 50%;
	right: -15px;
	transform: translateY(-50%);
}

.news_single_nav .page-numbers a:hover,
.news_single_nav .page-numbers a:active {
	background-color: var(--sub_color1);
	cursor: pointer;
}

.news_single_nav .page-numbers a:hover span,
.news_single_nav .page-numbers a:active span {
	color: #FFF;
}

.news_single_nav .page-numbers a:hover span::after,
.news_single_nav .page-numbers a:active span::after {
	border-color: transparent transparent transparent #FFF;
}

.lastest_news {
	padding: 60px 0;
}

@media (min-width: 768px) {
	.news_single {
		padding: 60px 0 120px;
	}

	.news_single_eyecatch {
		margin-bottom: 30px;
	}

	.news_single_header time {
		font-size: 1.6rem;
	}

	.news_single_title {
		font-size: 3.2rem;
	}

	.news_single_body {
		padding: 30px 0 60px;
	}

	.news_single_body p {
		line-height: 2;
		margin-top: 1.5em;
	}

	.news_single_body img {
		margin-top: 3em;
	}

	.news_single_body h2 {
		margin-top: 42px;
		font-size: 3rem;
		line-height: 1.6;
		border-bottom: solid 3px var(--main_color);
	}

	.news_single_body h3 {
		margin-top: 42px;
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.news_single_nav {
		gap: 12px;
		margin-top: 90px;
	}

	.news_single_nav .page-numbers {
		width: 210px;
	}

	.news_single_nav .page-numbers a {
		height: 66px;
		background-color: var(--pager_color);
	}

	.news_single_nav .page-numbers span {
		font-size: 1.9rem;
	}

	.lastest_news {
		padding: 60px 0;
	}

}



/*==========
お問い合わせページ
==========*/
.contact {
	padding: 30px 0 60px;
}

.contact form {
	width: 100%;
}

.contact_item {
	margin-bottom: 36px;
}

.contact_item p {
	line-height: 1;
}

.contact_item label {
	display: block;
	font-weight: 700;
	margin-bottom: 9px;
}

.contact_item .required {
	color: #FF0000;
	font-size: 1.35rem;
}

@media (min-width: 768px) {
	.contact {
		padding: 60px 0 120px;
	}
}

.contact_item_recaptcha {
	margin-top: 24px;
}

.contact_item_recaptcha p {
	line-height: 1.45;
	font-size: 1.45rem;
}


.wpcf7-response-output {
	line-height: 1.65;
	padding: 15px 12px !important;
	background-color: #fffcdf;
}

.wpcf7-not-valid-tip {
	color: #FF0000;
	font-size: 1.4rem;
	font-weight: 600;
	display: block;
	margin-top: 6px;
}
