/*
Theme Name:ba-template
*/
@charset "UTF-8";
/*####################################

1. General
┣ Root
┣ Element
┣ Decoration
┣ Css Animation
┣ Plugin Overwrite
┣ default.css Overwrite
┣ Other
2. Site Common Style
┣ Pagination
┣ Form
┣ 404 & Thanks
3. Header
4. Main
5. Footer
6. Common Style
┣ Single
┣ Section 
7.Module
8. Page

####################################*/
/*====================================

1. General

====================================*/
/*
Root
====================================*/
:root {
	/* メインカラー */
	--mainColor: #101010;
	/* ポイントカラー */
	--pointColor: #910A2D;
	/* サブカラー */
	--subColor: #4C607E;
	/*====== 背景カラー ======*/
	/* コンテンツ背景カラー */
	--contentsBg: #F5F5F5;
	/* 下層ページトップ背景カラー */
	--lowerTopBg: #D7E1FA;
	/* 表組み項目名背景カラー */
	--tableItemBg: #F0F5FA;
	/* フォーム項目名背景カラー */
	--formItemBg: #F0F5FA;
	/* カテゴリーリンク背景カラー */
	--categoryLinkBg: #D7E1FA;
	/* メール問い合わせボタン背景カラー */
	--mailBtnBg: #022993;
	/*====== テキストカラー ======*/
	/* テキストカラー */
	--textColor: #333;
	/* リンクテキストカラー */
	--linkTextColor: #0c4876;
	/*====== ページネーションカラー ======*/
	/* ページネーションテキスト、矢印カラー */
	--pnColor: #aaa;
	/* ページネーションhoverテキスト、矢印カラー */
	--pnHoverColor: #333;
	/* ページネーションCurrentテキスト、矢印カラー */
	--pnCurrentColor: #333;
	/* ページネーションhover背景カラー */
	--pnHoverBg: #f6f6f6;
	/* ページネーションCurrent背景カラー */
	--pnCurrentBg: #f6f6f6;
	/*====== フォント ======*/
	--gothic: "NotoSansJp", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	--mincho: "NotoSerifJp", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/*====== width ======*/
	--maxWidth768: 768px;
	--maxWidth500: 500px;
	--maxWidth375: 375px;
	--maxWidth300: 300px;
	/*====== other ======*/
}
/*
Element
====================================*/
body {
	color: var(--textColor);
}
/*
Decoration
====================================*/
/*
Css Animation
====================================*/
/* fade */
.css_fade {
	opacity: 0;
	animation-name: css_fade;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 1s;
	animation-direction: normal;
	animation-fill-mode: forwards;
}
@keyframes css_fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* text fade */
.css_textSplitFade {
	opacity: 0;
}
.css_textSplitFade > span {
	opacity: 0;
	animation: css_textSplitFade 1s ease-out forwards;
}
@keyframes css_textSplitFade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*
Plugin Overwrite
====================================*/
/*
Slick
---------------------------------------------------------------*/
.top_mv .slick-arrow::before {
	border-color: var(--mainColor);
}
.top_mv .slick-dots li.slick-active button {
	background: var(--mainColor);
}
/*
default.css Overwrite
====================================*/
/*
Other
====================================*/
/*====================================

2. Site Common Style

====================================*/
/*
Pagination
====================================*/
/*
List
---------------------------------------------------------------*/
.pn_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 56px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
	margin: 75px 0 0;
}
.pn_list .listArrow::before, .pn_list .listArrow::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_list .listPagerBlk {
	display: flex;
	align-items: center;
	gap: 11px;
}
.pn_list .listPagerPrevious::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 2px);
}
.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 35px;
	width: 35px;
	color: var(--pnColor);
	border-radius: 50px;
}
.pn_list .listPagerBlk span.listPagerNum {
	color: #fff;
	background: var(--subColor);
}
.pn_list .listPagerNext::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 2px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listPagerPrevious:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listPagerBlk a:hover {
		color: var(--pnHoverColor);
		background: var(--pnHoverBg);
		opacity: 1;
	}
	.pn_list .listPagerNext:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listFirstBlk, .pn_list .listLastBlk {
	width: 100px;
	height: 100%;
}
.pn_list .listFirstBlk a, .pn_list .listLastBlk a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover, .pn_list .listLastBlk a:hover {
		background: var(--pnHoverBg);
	}
}
.pn_list .listFirstBlk a {
	border-right: solid 1px #E2E6EB;
}
.pn_list .listFirstBlk a::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: 50%;
}
.pn_list .listFirstBlk a::after {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listFirstBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listLastBlk a {
	border-left: solid 1px #E2E6EB;
}
.pn_list .listLastBlk a::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: 50%;
}
.pn_list .listLastBlk a::after {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listLastBlk a:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
	.pn_list .listLastBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
@media screen and (max-width: 1024px) {
	.pn_list {
		margin: 50px 0 0;
	}
	.pn_list .listArrow::before, .pn_list .listArrow::after {
		top: calc(50% + 2px);
	}
	.pn_list .listPagerBlk {
		gap: 8px;
	}
	.pn_list .listPagerPrevious::before {
		left: calc(50% - 2px);
	}
	.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
		height: 30px;
		width: 30px;
		font-size: 14px;
	}
	.pn_list .listPagerBlk span.listPagerNum {}
	.pn_list .listPagerNext::before {}
	.pn_list .listFirstBlk, .pn_list .listLastBlk {
		width: 40px;
	}
	.pn_list .listFirstBlk a, .pn_list .listLastBlk a {}
	.pn_list .listFirstBlk a {}
	.pn_list .listFirstBlk a::before {
		left: calc(50% + 2px);
	}
	.pn_list .listFirstBlk a::after {
		left: calc(50% - 5px);
	}
	.pn_list .listLastBlk a {}
	.pn_list .listLastBlk a::before {
		right: calc(50% + 2px);
	}
	.pn_list .listLastBlk a::after {
		right: calc(50% - 5px);
	}
}
/*
Detail
---------------------------------------------------------------*/
.pn_detail {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 55px;
	margin: 45px 0 0;
}
.pn_detail > * {
	height: 100%;
}
.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
	width: 100px;
}
.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
	position: relative;
	display: block;
	height: 100%;
}
.pn_detail a {
	background: #fff;
	box-shadow: 0px 3px 10px rgb(0 0 0 / 10%);
	border-radius: 6px;
}
@media screen and (min-width: 1025px) {
	.pn_detail a:hover {
		background: var(--pnHoverBg);
		opacity: 1;
	}
}
.pn_detail .detailpreviousBlk {}
.pn_detail .detailpreviousBlk a {}
.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailpreviousBlk a::before {
	left: 50%;
}
.pn_detail .detailpreviousBlk a::after {
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailpreviousBlk a:hover::before, .pn_detail .detailpreviousBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailNextBlk {}
.pn_detail .detailNextBlk a {}
.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailNextBlk a::before {
	right: 50%;
}
.pn_detail .detailNextBlk a::after {
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailNextBlk a:hover::before, .pn_detail .detailNextBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailBackBlk {}
.pn_detail .detailBackBlk a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 100%;
	font-size: 13px;
}
@media screen and (max-width: 1024px) {
	.pn_detail {
		margin: 60px 0 0;
	}
	.pn_detail > * {}
	.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
		width: 55px;
	}
	.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
		width: 100%;
	}
	.pn_detail a {}
	.pn_detail .detailpreviousBlk {}
	.pn_detail .detailpreviousBlk a {}
	.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailpreviousBlk a::before {}
	.pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailNextBlk {}
	.pn_detail .detailNextBlk a {}
	.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {}
	.pn_detail .detailNextBlk a::before {}
	.pn_detail .detailNextBlk a::after {}
	.pn_detail .detailBackBlk {}
	.pn_detail .detailBackBlk a {
		width: 200px;
	}
}
/*
Form
====================================*/
/*
Input
----------------------------------------------------------------*/
.form_input {}
.form_input .inputRow {
	display: flex;
	justify-content: start;
	gap: 35px;
}
.form_input .inputRow:first-child .inputItem, .form_input .inputRow:last-child .inputItem{
    align-items: initial;
}
.form_input .inputRow:first-child .inputValue{
    padding: 0 0 20px;
}
.form_input .inputRow:last-child .inputValue{
    padding: 20px 0 0;
}
.form_input .inputRow:last-child .inputItem{
	padding: 20px 0 0;
}
.form_input .inputItem {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: start;
	align-items: center;
	width: 160px;
	height: auto;
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
}
.form_input ._school .inputItem{
    padding: 10px 0px 10px 45px;
}
.form_input .inputItem ._must {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35px;
	height: 18px;
	font-size: 11px;
	color: #fff;
	background-color: var(--pointColor);
	margin: 1px 0 0;
}
.form_input .inputItem ._point{
    position: absolute;
    top: 22px;
    left: 45px;
    display: block;
    width: 100%;
    font-size: 11px;
    font-weight: normal;
}
.form_input .inputValue ._placePoint{
    position: absolute;
    top: 15px;
    font-size: 12px;
}
.form_input .inputValue {
	position: relative;
	flex: 1;
	padding: 20px 0;
	display: flex;
	align-items: center;
}
.form_input .wpcf7-form-control-wrap {
	width: 100%;
}
.form_input ._postCode{
    max-width: 175px;
}
 .form_input ._padding{
    padding: 40px 0 20px;
}
/* input[text, tel, email], textarea */
.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
	width: 100%;
	height: 40px;
	border-radius: 6px;
	border: solid #D5D5D5 1px;
	padding: 0px 10px;
	font-size: 13px;
}
.form_input textarea {
	width: 100% !important;
	height: auto;
	padding: 10px;
}
.form_input input::placeholder, .form_input textarea::placeholder {
	font-size: 14px;
	color: #b4b7bc;
}
/* input[checkbox, radio] */
.form_input input[type="checkbox"], .form_input input[type="radio"] {
	width: 16px;
	height: 16px;
	cursor: pointer;
}
.form_input .wpcf7-form-control {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.form_input .wpcf7-list-item {
	margin: 0;
}
.form_input .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.form_input .wpcf7-list-item-label {
	font-size: 14px;
}
/* input[file] */
.form_input input[type="file"] {
	font-size: 14px;
}
/* validation */
.form_input .wpcf7-not-valid-tip {
	width: 100%;
	font-size: 14px;
	margin: 10px 0 0;
}
/* agree */
.form_agree {
	margin: 45px 0 0;
	text-align: center;
}
.form_agree a{
    color: #4C607E;
    border-bottom: 1px solid #4C607E;
    padding: 0 0 2px;
}
.form_agree .wpcf7-list-item {
	margin: 0;
}
.form_agree label {
	display: flex;
	align-items: center;
	gap: 12px;
}
.form_agree .wpcf7-list-item-label {
	font-size: 13px;
}
.form_agree input[type="checkbox"] {
	width: 20px;
	height: 20px;
}
/* submit */
.form_submit {
	position: relative;
	width: 280px;
	text-align: center;
	margin: 50px auto 0;
}
.form_submit input[type="submit"] {
	width: 100%;
	height: 55px;
	font-size: 15px;
	color: #fff;
	transition: .3s;
	background: var(--pointColor);
	border-radius: 5px;
}
@media screen and (min-width: 1025px) {
	.form_submit input[type="submit"]:hover {
		opacity: .7;
	}
}
.form_submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.form_input {
	}
	.form_input .inputRow {
		border-bottom: 1px solid #D7DCE2;
		flex-flow: wrap;
		gap: 15px;
	}
	.form_input .inputRow:last-child {
		border-bottom: transparent;
	}
	.form_input .inputItem {
		justify-content: flex-start;
		width: 100%;
		padding: 20px 0px 0;
		border-right: transparent;
		gap: 10px;
	}
	.form_input ._school .inputItem{
    padding: 20px 0 0px;
}
	.form_input .inputItem ._must {
	    font-size: 10px;
	}
	.form_input .inputItem ._point{
    top: 40px;
    left: 45px;
    font-size: 10px;
}
	.form_input .inputValue {
	    padding: 0px 0 20px;
	}
	.form_input ._padding{
    padding: 35px 0 20px;
}
	.form_input ._school .inputValue{
    padding: 15px 0 20px;
}
	.form_input .inputRow:first-child .inputValue{
	    padding: 15px 0 20px;
	}
	.form_input .inputValue ._placePoint{
	    top: -2px;
	    font-size: 10px;
	}
	.form_input .inputRow:last-child .inputValue{
    padding: 5px 0 0;
}
	.form_input .wpcf7-form-control-wrap {}
	/* input[text, tel, email], textarea */
	.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
		font-size: 16px;
	}
	.form_input textarea {}
	.form_input input::placeholder, .form_input textarea::placeholder {}
	/* input[checkbox, radio] */
	.form_input input[type="checkbox"], .form_input input[type="radio"] {}
	.form_input .wpcf7-form-control {}
	.form_input .wpcf7-list-item {}
	.form_input .wpcf7-list-item label {}
	.form_input .wpcf7-list-item-label {}
	/* input[file] */
	.form_input input[type="file"] {}
	/* validation */
	.form_input .wpcf7-not-valid-tip {}
	/* agree */
	.form_agree {
    margin: 40px 0 0;
}
	.form_agree .wpcf7-list-item {}
	.form_agree label {}
	.form_agree .wpcf7-list-item-label {}
	.form_agree input[type="checkbox"] {}
	/* submit */
	.form_submit {
		margin: 30px auto 0;
		width: 100%;
		max-width: var(--maxWidth300);
	}
	.form_submit input[type="submit"] {
		height: 55px;
	}
	.form_submit .wpcf7-spinner {}
}
/*
Privacy Policy
----------------------------------------------------------------*/
.form_pp {
	margin: 25px 0 0;
	width: 100%;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #D7DCE2;
	padding: 95px 100px 120px;
	overflow: auto;
}
.form_pp dl {}
.form_pp dt {
	font-size: 15px;
}
.form_pp dd {
	font-size: 14px;
	line-height: 26px;
	margin: 20px 0 0;
}
@media screen and (max-width: 1024px) {
	.form_pp {
		margin: 20px 0 0;
		width: 100%;
		height: 100%;
		padding: 30px 15px;
	}
	.form_pp dl {}
	.form_pp dt {
		font-size: 15px;
	}
	.form_pp dd {}
}
/*
Thanks & 404
====================================*/
.thanks_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.thanks_section .inner {}
.thanks_section .blk {}
.thanks_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.thanks_section .head {
	text-align: center;
	font-size: 24px;
}
.thanks_section .mainBlk {
	margin: 35px 0 0;
}
.thanks_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.error_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.error_section .inner {}
.error_section .blk {}
.error_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.error_section .head {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}
.error_section .head span {
	font-size: 22px;
	display: block;
}
.error_section .mainBlk {
	margin: 35px 0 0;
}
.error_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.thanks_section .linkBlk, .error_section .linkBlk {
	text-align: center;
	margin: 45px 0 0;
}
.thanks_section .linkBlk a, .error_section .linkBlk a {
	display: inline-block;
	width: 250px;
	line-height: 40px;
	font-size: 14px;
	border: solid 1px var(--mainColor);
	border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	.thanks_section .linkBlk a:hover, .error_section .linkBlk a:hover {
		opacity: 1;
		background: var(--mainColor);
		color: #fff;
	}
}
@media screen and (max-width: 1024px) {
	.thanks_section {
		padding: 60px 0 90px;
	}
	.thanks_section .inner {}
	.thanks_section .blk {}
	.thanks_section .headBlk {
		padding: 15px 0;
	}
	.thanks_section .head {
		text-align: center;
		font-size: 20px;
	}
	.thanks_section .mainBlk {
		margin: 30px 0 0;
	}
	.thanks_section .mainDesc {
		line-height: 24px;
	}
	.thanks_section .linkBlk {
		margin: 40px 0 0;
	}
	.error_section {
		padding: 40px 0 90px;
	}
	.error_section .inner {}
	.error_section .blk {}
	.error_section .headBlk {}
	.error_section .head {
		font-size: 24px;
	}
	.error_section .head span {
		font-size: 16px;
	}
	.error_section .mainBlk {
		margin: 30px 0 0;
	}
	.error_section .mainDesc {
		line-height: 24px;
	}
	.thanks_main .linkBlk a, .error_section .linkBlk a {}
}
/*====================================

3. Header

====================================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100%;
	height: 90px;
	/* height: clamp(4.063rem, 0.568rem + 5.45vw, 5rem); */
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	background: var(--mainColor);
}
header .inner {
	height: 100%;
	padding: 0 15px 0 30px;
}
header .blk {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 30px;
	height: 100%;
}
header .logoBlk {
	flex-shrink: 0;
	display: flex;
}
header .logoBlk a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px;
    color: #fff;
}
header .logoBlk a img {
	height: 62px;
}
@media screen and (min-width: 1025px) {
	header .menuBlk {
		display: flex;
		flex-shrink: 0;
		height: 100%;
	}
	header .menuBlk nav {}
	header .menuBlk nav > ul {
		display: flex;
		gap: 30px;
		gap: clamp(1.25rem, -1.08rem + 3.64vw, 1.875rem);
		align-items: center;
		height: 100%;
	}
	header .menuBlk nav > ul > li {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
	}
	header .menuBlk nav > ul > li > a {
		font-size: 17px;
		font-size: clamp(0.938rem, 0.472rem + 0.73vw, 1.063rem);
		font-size: 16px;
		font-weight: 400;
		color: #fff;
	}
	
	header .menuBlk nav > ul > li > a._active {
		color: var(--pointColor);
		color: #fff;
	}
	@media screen and (min-width: 1025px) {
		header .menuBlk nav > ul > li a:hover {}
	}
	header .menuBlk nav > ul > li > ul {
		position: absolute;
		top: 80%;
		left: -60px;
		display: flex;
		gap: 20px 10px;
		flex-wrap: wrap;
		flex-flow: wrap;
		background: rgba(255, 255, 255, 0.85);
		backdrop-filter: blur(10px);
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
		z-index: 1;
		padding: 25px 35px 30px 40px;
		padding: 25px clamp(1.563rem, -2.098rem + 5.71vw, 2.188rem) 30px clamp(2.188rem, 0.357rem + 2.86vw, 2.5rem);
		min-width: 540px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		pointer-events: none;
	}
	header .menuBlk nav > ul > li:nth-child(3) > ul{
		left: -100px;
		min-width: 470px;
	}
	header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: 1;
		visibility: visible;
		pointer-events: initial;
	}
	header .menuBlk nav > ul > li > ul > li {
	    width: calc((50% - 10px));
	    font-size: 14px;
	}
	header .menuBlk nav > ul > li > ul > li._minParent {
	    width: 100%;
	    font-size: 18px;
	}
	header .menuBlk nav > ul > li > ul > li._minParent a{
		position:relative;
		display: inline-block;
		width: 100%;
		font-size: 18px;
		margin: 0 0 5px;
	}
	header .menuBlk nav > ul > li > ul > li._minParent a::before{
		content:"";
		position:absolute;
		bottom: -5px;
		width: 100%;
		height: 1px;
		background-color: #464646;
		background: linear-gradient(to right, #910A2D 50%, #999 50%);
		background-size: 200% 100%;
		background-position: right;
		transition: background-position 0.5s ease;
	}
@media screen and (min-width: 1025px){
	header .menuBlk nav > ul > li > ul > li._minParent a:hover::before {
		background-position: left;
	}
}
	header .menuBlk nav > ul > li > ul > li > a {
		display: inline-block;
		font-size: 14px;
		width: 100%;
	}
@media screen and (min-width: 1025px){
	header .menuBlk nav > ul > li > ul > li > a:hover {
		color:var(--pointColor)
	}
}
	header .menuBlk nav > ul > li > ul > li:not(:first-of-type) a{
    position: relative;
    padding: 0 0 0 15px;
}
	header .menuBlk nav > ul > li > ul > li:not(:first-of-type) a::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 2px;
		transform: translate(0, -50%);
		display: inline-block;
		border-style: solid;
		border-width: 5px 0 5px 10px;
		border-color: transparent transparent transparent #910a2d;
	}
	header .menuBlk nav > ul > li._contact {}
	header .menuBlk nav > ul > li._contact._tel {}
	header .menuBlk nav > ul > li._contact._mail {
    overflow: hidden;
    height: 50px;
    height: clamp(2.813rem, 1.648rem + 1.82vw, 3.125rem);
}
	header .menuBlk nav > ul > li._contact a {
		display: flex;
		align-items: center;
	}
	header .menuBlk nav > ul > li._contact._tel a {
		padding: 0 0 0 20px;
		line-height: 1;
		font-size: 26px;
		font-size: clamp(1.5rem, 1.034rem + 0.73vw, 1.625rem);
		font-weight: 300;
		background-image: url(./images/icon_tel01_black.svg);
		background-repeat: no-repeat;
		background-position: left top 80%;
		background-size: 16px;
		background-size: clamp(0.938rem, 0.705rem + 0.36vw, 1rem);
	}
	header .menuBlk nav > ul > li._contact._mail a {
		display: grid;
		place-items: center;
		width: 170px;
		width: clamp(9.375rem, 4.716rem + 7.27vw, 10.625rem);
		height: 50px;
		height: clamp(2.813rem, 1.648rem + 1.82vw, 3.125rem);
		font-size: 16px;
		font-size: clamp(0.875rem, 0.409rem + 0.73vw, 1rem);
		color: white;
		background: var(--pointColor);
		line-height: 1.6;
		 text-decoration: none;
		 text-align: center;
		 transition: .2s;
		 box-sizing: border-box;
	}
	header .menuBlk nav > ul > li._contact._mail a:hover{
		opacity:1;
	}
	.btn-flash a::before {
	  content: '';
	  position: absolute;
	  top: 0;
	  left: -100%;
	  width: 100%;
	  height: 100%;
	  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
	  transition: .5s;
	}
	
	/* ホバー時のスタイル */
	.btn-flash a:hover::before {
	  top: 0;
	  left: 100%;
	}
	header .menuBlk nav > ul > li._contact._mail > a > span {
		line-height: 1;
		/* background-image: url(./images/icon_mail01_white.svg); */
		/* background-repeat: no-repeat; */
		/* background-position: left top 70%; */
		/* background-size: 18px; */
		/* background-size: clamp(1.063rem, 0.83rem + 0.36vw, 1.125rem); */
	}
}
@media screen and (max-width: 1024px) {
	header {
		height: 60px;
		box-shadow: none;
	}
	header .inner {
		padding: 0 5px 0 4%;
		box-shadow: 0 2px 10px rgb(0 0 0 / 5%);
		margin: auto;
	}
	header .blk {}
	header .logoBlk {}
	header .logoBlk a {
    gap: 5px;
    font-size: 13px;
}
	header .logoBlk a img {
		height: 34px;
	}
	header .menuBlk {
		position: absolute;
		top: var(--headerH, 55px);
		left: 0;
		height: calc(100dvh - var(--headerH, 55px));
		z-index: -1;
		width: 100%;
		background: white;
		overflow: auto;
		padding: 20px 0 60px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		display: block;
		flex-shrink: unset;
	}
	header .menuBlk::-webkit-scrollbar {
		display: none;
	}
	header._menuOpen .menuBlk {
		opacity: 1;
		visibility: visible;
	}
	header .menuBlk > * {
		width: 92%;
		max-width: var(--maxWidth768);
		margin: auto;
	}
	header .menuBlk nav {}
	header .menuBlk nav > ul {
		display: block;
		height: auto;
	}
	header .menuBlk nav > ul > li {
		position: relative;
		display: block;
		height: auto;
	}
	header .menuBlk nav > ul > li > span {
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		width: 70px;
	}
	header .menuBlk nav > ul > li > a {
		display: flex;
		font-size: 15px;
		padding: 35px 0 5px;
	}
	header .menuBlk nav > ul > li > a {
		position: relative;
		width: 100%;
		border-bottom: 1px solid var(--pointColor);
	}
	header .menuBlk nav>ul>li._parent::before {
		content: '';
		position: absolute;
		top: 40px;
		right: 5px;
		transform: translateY(0%);
		width: 17px;
		height: 17px;
		transition: .3s;
		background-image: url(./images/icon_arrow_red.webp);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100%;
	}
	header .menuBlk nav > ul > li._parent::before {
		transform: translateY(0%);
	}
	header .menuBlk nav > ul > li._childOpen::before {
		transform: rotateX(180deg);
	}
	header .menuBlk nav > ul > li > ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		/* padding: 0 0 0 20px; */
		transition: .3s;
		position: unset;
		background: unset;
		box-shadow: unset;
		min-width: unset;
		opacity: unset;
		visibility: unset;
	}
	header .menuBlk nav > ul > li > ul {
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	header .menuBlk nav > ul > li > ul::-webkit-scrollbar {
		display: none;
	}
	header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: unset;
		visibility: unset;
	}
	header .menuBlk nav > ul > li._childOpen > ul {
		gap: 30px 0;
		margin: 30px 0 0;
	}
	header .menuBlk nav > ul > li > ul > li {
		height: 0;
		transition: .3s;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li {
		position: relative;
		padding: 0 0 3px 15px;
		height: auto;
		background-image: repeating-linear-gradient(90deg, #d7dce2, #d7dce2 1px, transparent 2px, transparent 5px);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 100% 1px;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li::before{
		content:"";
		position:absolute;
		top: calc(50% - 2px);
		left: 2px;
		transform: translate(0, -50%);
		display: inline-block;
		border-style: solid;
		border-width: 4.5px 0 4.5px 6px;
		border-color: transparent transparent transparent #910a2d;
	}
	header .menuBlk nav > ul > li > ul > li > a {
		font-size: 15px;
		opacity: 0;
		visibility: hidden;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li > a {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		width: 100%;
		display: inline-block;
	}
	header .menuBlk nav > ul > li._contact {
		border-bottom: none;
	}
	header .menuBlk nav > ul > li._contact > a {
		width: 250px !important;
		margin: auto;
	}
	header .menuBlk nav > ul > li._contact._tel {
		margin: 40px 0 0;
	}
	header .menuBlk nav > ul > li._contact._tel > a {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 5px 0;
		flex-flow: wrap;
		padding: 15px 0;
		font-size: 26px;
		line-height: 23px;
		font-weight: 500;
		border: 1px solid;
		background: unset;
	}
	header .menuBlk nav > ul > li._contact._tel > a > ._num {
		padding: 0 0 0 20px;
		background-image: url(./images/icon_tel01_black.svg);
		background-repeat: no-repeat;
		background-position: left top 100%;
		background-size: 15px;
	}
	header .menuBlk nav > ul > li._contact._tel > a > ._time {
		width: 100%;
		font-size: 14px;
		text-align: center;
		color: black;
		line-height: 1;
		margin: 7px 0 0;
	}
	header .menuBlk nav > ul > li._contact._tel > a > img {
		height: 20px;
		margin: 4px 0 0;
		margin: 0 2px 0 0;
	}
	header .menuBlk nav > ul > li._contact._mail {
		margin: 15px auto 0;
	}
	header .menuBlk nav > ul > li._contact._mail > a {
		display: grid;
		place-items: center;
		padding: 15px 0;
		box-shadow: 0 3px 6px rgb(0 0 0 / 18%);
		height: auto;
		color: white;
		background: var(--mailBtnBg);
	}
	header .menuBlk nav > ul > li._contact._mail > a > img {
		height: 20px;
	}
	header .menuBlk nav > ul > li._contact._mail > a > span {
		padding: 27px 0 0;
		background-image: url(./images/icon_mail01_white.svg);
		background-repeat: no-repeat;
		background-position: left 50% top;
		background-size: 25px;
	}
	header .mbMenuBlk {
		position: relative;
		height: 100%;
		aspect-ratio: 1/1;
		cursor: pointer;
	}
	header .mbMenuBlk::before {
		content: 'MENU';
		font-size: 10px;
		position: absolute;
		top: 0;
		right: 0;
		right: 14px;
		top: 8px;
		color: #fff;
	}
	header .mbMenuBdrBlk, .mbMenuBdrBlk span {
		display: inline-block;
		box-sizing: border-box;
	}
	header .mbMenuBdrBlk {
		position: absolute;
		top: 60%;
		left: 55%;
		width: 30px;
		height: auto;
		transform: translate(-50%, -50%);
	}
	header .mbMenuBdrBlk:focus:not(:focus-visible) {
		outline: none;
	}
	header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after {
		content: '';
	}
	header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after, .mbMenuBdrBlk span {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		border-radius: 4px;
		transition: .2s;
	}
	header .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(0);
	}
	header .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(0);
	}
	header .mbMenuBdrBlk span:nth-of-type(1) {
		top: -8px;
		transition-delay: .2s;
	}
	header .mbMenuBdrBlk span:nth-of-type(2) {
		top: 0px;
		transition-delay: .2s;
	}
	header .mbMenuBdrBlk span:nth-of-type(3) {
		top: 8px;
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(1);
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(1);
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk span {
		transform: scaleX(0);
		transition-delay: 0s;
	}
}
/*====================================

4. Main

====================================*/
main {
	margin: var(--headerH, clamp(4.063rem, 0.568rem + 5.45vw, 5rem)) 0 0;
}
@media screen and (max-width: 1024px) {
	main {
		margin: var(--headerH, 60px) 0 0;
	}
}
/*====================================

5. Footer

====================================*/
footer {
	padding: 60px 0 75px;
	background: var(--mainColor);
	overflow: hidden;
}
footer .inner {}
footer .blk {}
footer .mainBlk {
	justify-content: space-between;
	gap: 70px;
	padding: 0 0 30px;
}
footer .mainLeftBlk {
    width: 340px;
}
footer .mainLogoBlk {}
footer .mainLogoBlk a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 20px;
}
footer .mainLogoBlk img {
	height: 60px;
}
footer .mainInfoBlk {
	margin: 20px 0 0;
}
footer .mainInfoBlk p {
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}
footer .mainInfoLinkBlk {
    justify-content: start;
    gap: 20px;
}
footer .mainInfoBlk p a {}
footer .mainConnectionBlk {
    margin: 50px 0 0;
    gap: 8px 7px;
}
footer .mainConnectionItem{
    width: calc((100% - 7px) / 2);
}
footer .mainConnectionLink{}
footer .mainConnectionLink img{}
footer .menuBlk {flex: 1;}
footer .menuBlk > ul {
	gap: 35px;
}
footer .menuBlk > ul > li {}
footer .menuBlk > ul > li > a {
	font-weight: 700;
}
footer .menuBlk > ul > li a,
footer .menuBlk > ul > div > li > a {
  position: relative;
  display: inline-block;
  width: 100%;
  color: #D5D5D5;
  text-decoration: none;
}
/* ::before は常に存在させておく */
footer .menuBlk > ul > li > a::before,
footer .menuBlk > ul > div > li > a::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #910A2D 50%, #464646 50%);
  background-size: 200% 100%;
  background-position: right;
  transition: background-position 0.5s ease;
}

/* ホバー時に ::before の背景位置をアニメーション */
footer .menuBlk > ul > li > a:hover::before,
footer .menuBlk > ul > div > li > a:hover::before {
  background-position: left;
}

/* テキスト色変更などは a:hover に */
footer .menuBlk > ul > li > a:hover,
footer .menuBlk > ul > div > li > a:hover {
  color: #fff;
  opacity:1;
}
footer .menuBlk > ul > li > ul > li > a:hover {
    color: #fff;
    opacity: 1;
}
footer .menuBlk > ul > div{
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    gap: 55px;
}
footer .menuBlk > ul > div > li{
}
footer .menuBlk > ul > div > li > a{
    padding: 0 40px 0 0;
}
footer .menuBlk > ul > li > ul {
	display: grid;
	gap: 8px;
	margin: 15px 0 0;
}
footer .menuBlk > ul > li > ul > li {}
footer .menuBlk > ul > li > ul > li > a {
	font-size: 14px;
	color: #B4B9BD;
}
footer .snsBlk {
	margin: 90px 0 0;
}
footer .snsBlk > ul {
	gap: 20px;
	justify-content: center;
}
footer .snsBlk > ul > li {}
footer .snsBlk > ul > li > a {}
footer .snsBlk > ul > li > a img {
	height: 25px;
}
footer .btmBlk {}
footer .copyrightBlk {
	position: relative;
	margin: 35px calc(50% - 50vw) 0;
	width: 100vw;
	height: 1px;
	background-color: var(--pointColor);
}
footer .policyLink {
	position: absolute;
	top: -65px;
	right: 0;
	font-size: 14px;
	color: #B4B9BD;
}
footer .policyLink:hover{
	opacity:1;
	color:#fff;
}
footer .recaptchaBlk {
	    position: relative;
	    margin: 25px 0 0;
}
footer .recaptchaBlk p {
	font-size: 13px;
	color: #fff;
	text-align: end;
}
@media screen and (max-width: 1024px) {
	footer {
	padding: 40px 0 150px;
	}
	footer .inner {}
	footer .blk {}
	footer .mainBlk {
		justify-content: center;
		gap: 35px;
		padding: initial;
	}
	footer .mainLeftBlk {
		order: 2;
		width: 100%;
	}
	footer .mainLogoBlk {
		text-align: center;
	}
	footer .mainLogoBlk a {
    font-size: 18px;
    justify-content: center;
}
	footer .mainLogoBlk img {
		height: 60px;
	}
	footer .mainInfoBlk {
		margin: 10px 0 0;
	}
	footer .mainInfoBlk p {
		font-size: 12px;
		line-height: 1.6;
		text-align: center;
	}
	footer .mainInfoLinkBlk{
    justify-content: center;
}
	footer .mainInfoLinkBlk > p{}
	footer .mainInfoBlk p a {}
	footer .mainConnectionBlk {
    margin: 30px 0 0;
    justify-content: center;
}
	footer .mainConnectionItem{max-width: 330px;}
	footer .mainConnectionLink{}
	footer .mainConnectionLink img{}
	footer .menuBlk {}
	footer .menuBlk > ul {}
	footer .menuBlk {
		order: 1;
		width: 100%;
		flex: unset;
	}
	footer .menuBlk {
		text-align: center;
	}
	footer .menuBlk > ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		max-width: var(--maxWidth375);
		margin: auto;
		gap: 15px 0;
	}
	footer .menuBlk > ul > li {
		text-align: center;
	}
	footer .menuBlk > ul > li a {}
	footer .menuBlk > ul > li > a {}
	footer .menuBlk > ul > li > ul {
		display: none;
	}
	footer .menuBlk > ul > li > ul > li {}
	footer .menuBlk > ul > li > ul > li > a {}
	footer .topSnsBlk {
		margin: 35px 0 0;
	}
	footer .topSnsBlk > ul {
		gap: 20px;
	}
	footer .topSnsBlk > ul > li {}
	footer .topSnsBlk > ul > li > a {}
	footer .topSnsBlk > ul > li > a img {
		height: 24px;
	}
	footer .snsBlk {
		margin: 50px 0 0;
	}
	footer .copyrightBlk {
		margin: 45px 0 0;
	}
	footer .copyrightBlk p {}
	footer .recaptchaBlk {
    margin: 15px 0 0;
}
	footer .recaptchaBlk p {
    font-size: 11px;
    text-align: center;
}
}
/*====================================

6. Common Style

====================================*/
/*
6.1 Single
====================================*/
.cmn_bgColor {
	background-color: var(--contentsBg);
}
.cmn_outer {
	padding: 90px 0;
}
.cmn_inner {
	max-width: 1180px;
	padding: 0 40px;
	margin: auto;
}
.cmn_inner._small {
	max-width: 750px;
	padding: 0;
}
.cmn_link1 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 7px;
	width: 250px;
	height: 65px;
	font-size: 15px;
	border: 1px solid var(--subColor);
	color: var(--subColor);
	background: linear-gradient(to left, #fff 50%, #4C607E 50%);
	background-size: 200% 100%;
	background-position: right bottom; /* ← 初期位置を右に */
	transition: background-position 0.5s ease;
}
.cmn_link1 > span {
	position: relative;
	margin: 0 0 0 -30px;
}
.cmn_link1 > span::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -25px;
	width: 20px;
	height: 6px;
	border-bottom: 1px solid var(--subColor);
	border-right: 1px solid var(--subColor);
	transform: translate(0, -50%) skew(45deg);
}
@media screen and (min-width: 1025px) {
	.cmn_link1:hover {
		background-position: left bottom; /* ← ホバーで左に動かす */
		opacity: initial;
		color: #fff;
	}
	.cmn_link1:hover::before {
		right: 0px;
		opacity: 0;
	}
	.cmn_link1:hover > span::before {
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}
/*head*/
.cmn_head1 {
	font-size: 25px;
}
/*title*/
.cmn_title1 {
	font-size: 25px;
	line-height: 2;
}
/*text*/
.cmn_text1 {
	line-height: 30px;
}
@media screen and (max-width: 1024px) {
	.cmn_outer {
		padding: 60px 0;
	}
	.cmn_inner {
		width: 92%;
		max-width: var(--maxWidth768);
		padding: 0;
	}
	.cmn_link1 {
		width: 330px;
		font-size: 14px;
	}
	.cmn_link1 > span{
    margin: 0 0 0 -20px;
}
	.cmn_link1 > span::before{}
	/*head*/
	.cmn_head1 {
		font-size: 18px;
	}
	/*title*/
	.cmn_title1 {
		font-size: 18px;
	}
	/*text*/
	.cmn_text1 {
		font-size: 14px;
		line-height: 1.6;
	}
}
/*
6.2 Section
====================================*/
/* lower top */
.cmn_top {
	height: 380px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
#company .cmn_top {
	background-image: url(./images/company_mv.webp);
}
#service .cmn_top {
	background-image: url(./images/service_mv.webp);
}
#recruit .cmn_top {
	background-image: url(./images/recruit_mv.webp);
}
#contact .cmn_top {
	background-image: url(./images/contact_mv.webp);
}
#info .cmn_top, #informationDetail .cmn_top {
	background-image: url(./images/info_mv.webp);
}
.cmn_top._small {
	height: 150px;
	background: var(--lowerTopBg);
}
#thanks .cmn_top._small{
    background: var(--pointColor);
}
.cmn_top .inner {
	height: 100%;
}
.cmn_top .blk {
	height: 100%;
}
.cmn_top .headBlk {
	height: 100%;
}
.cmn_top .head {
	display: flex;
	align-items: center;
	height: 100%;
	font-size: 25px;
	line-height: 1;
	font-weight: 600;
	color: #fff;
}
#thanks .cmn_top .head{
    justify-content: center;
    flex-flow: column;
}
.cmn_top .head span {
	font-weight: 400;
	font-size: 14px;
	display: block;
	text-align: center;
	margin: 16px 0 0;
}
/* table */
.cmn_table > dl {
	border: 1px solid #d7dce2;
	background: white;
}
.cmn_table > dl > div {
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #d7dce2;
}
.cmn_table > dl > div:last-child {
	border-bottom: transparent;
}
.cmn_table > dl > div > * {
	padding: 25px 40px;
	line-height: 30px;
}
.cmn_table > dl > div > dt {
	width: 225px;
	background: #F5F5F5;
	border-right: 1px solid #D7DCE2;
}
.cmn_table > dl > div > dd {
	flex: 1;
}
.cmn_table > dl > div > dd a {
	color: var(--linkTextColor);
}
.cmn_table > dl > div > dd a:not([href^="tel"]) {
	text-decoration: underline;
}
.cmn_table > dl > div > dd a[href^="tel"] {
	color: inherit;
}
@media screen and (max-width: 1024px) {
	.cmn_top {
		height: 150px;
	}
	.cmn_top._small {
		height: 100px;
	}
	.cmn_top .inner {}
	.cmn_top .blk {}
	.cmn_top .headBlk {}
	.cmn_top .head {
		font-size: 18px;
		line-height: 1;
	}
	.cmn_top .head span {
		font-size: 14px;
		margin: 8px 0 0;
	}
	/* table */
	.cmn_table > dl {
		border: 1px solid #d7dce2;
		background: white;
	}
	.cmn_table > dl > div {
		display: flex;
		flex-flow: wrap;
		border-bottom: 1px solid #d7dce2;
	}
	.cmn_table > dl > div:last-child {
		border-bottom: transparent;
	}
	.cmn_table > dl > div > * {
		padding: 15px 15px;
		line-height: 24px;
		font-size: 14px;
	}
	.cmn_table > dl > div > dt {
		width: 100%;
		border-right: transparent;
	}
	.cmn_table > dl > div > dd {
		flex: unset;
		width: 100%;
	}
	.cmn_table > dl > div > dd a {}
	.cmn_table > dl > div > dd a[href^="tel"] {}
}
/*====================================

7. Module

====================================*/
.mod_pageTop{
	display: none;
	position: fixed;
	right: 50px;
	bottom: 40px;
	height: 50px;
	text-decoration: none;
	font-weight: bold;
	transform: rotate(90deg);
	font-size: 90%;
	line-height: 1.5rem;
	color: #D0D3DA;
	padding: 0 0 0 35px;
	border-top: solid 1px;
	transition: opacity 0.3s ease;
}
.mod_pageTop.show {
    display: block;
    opacity: 1;
}
.mod_pageTop.hide {
    opacity: 0;
    pointer-events: none; /* 透明時にクリックを無効化 */
}
.mod_pageTop::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
.mod_contact{
    background-color: var(--pointColor);
    color: #fff;
    padding: 35px 0;
}
.mod_contact .inner{}
.mod_contact .blk{}
.mod_contact .mainBlk{
    gap: 60px;
    align-items: center;
}
.mod_contact .headBlk{
    width: 190px;
}
.mod_contact .head{
    display: grid;
    place-items: center;
    font-size: 50px;
    line-height: 1;
}
.mod_contact .head > span{
    font-size: 18px;
    margin: 20px 0 0;
}
.mod_contact .txtBlk{
    display: grid;
    justify-items: center;
    flex: 1;
    border: 1px solid #fff;
    padding: 40px 0 30px;
}
.mod_contact .mainTxt{
    font-size: 17px;
}
.mod_contact .mainLinkBlk{
    margin: 20px 0 0;
}
.mod_contact .mainLink{
    width: 395px;
    font-size: 17px;
    color: var(--pointColor);
    border: 1px solid var(--pointColor);
    background: linear-gradient(to left, #fff 50%, #032F4C 50%);
    background-size: 200% 100%;
    background-position: right bottom;
}
.mod_contact .mainLink > span{
}
.mod_contact .mainLink > span::before{
    right: -30px;
    border-bottom: 1px solid var(--pointColor);
    border-right: 1px solid var(--pointColor);
}
@media screen and (min-width: 1025px) {
	.mod_contact .mainLink:hover{
	    color: #fff;
	    background-position: left bottom;
	}
	.cmn_link1:hover > span::before{
		border-bottom: 1px solid #fff;
	    border-right: 1px solid #fff;
	}
}
@media screen and (max-width: 1024px) {
	.mod_pageTop{
    right: 25px;
    bottom: 100px;
    height: 50px;
    padding: 0 0 0 20px;
}
	.mod_pageTop.show {}
	.mod_pageTop.hide {}
	.mod_pageTop::before {
    width: 13px;
}
	.mod_contact{
    padding: 30px 0;
}
	.mod_contact .inner{}
	.mod_contact .blk{}
	.mod_contact .mainBlk{flex-flow: column;gap: 25px;align-items: start;}
	.mod_contact .headBlk{
    width: 100%;
}
	.mod_contact .head{font-size: 35px;}
	.mod_contact .head > span{
    font-size: 16px;
    margin: 10px 0 0;
}
	.mod_contact .txtBlk{
    padding: 20px 15px;
    flex: initial;
    width: 100%;
}
	.mod_contact .mainTxt{
    font-size: 15px;
    text-align: center;
}
	.mod_contact .mainLinkBlk{
    margin: 15px 0 0;
}
	.mod_contact .mainLink{width: 100%;max-width: 395px;font-size: 16px;}
	.mod_contact .mainLink:hover{}
	.mod_contact .mainLink > span{}
	.mod_contact .mainLink > span::before{}
	.cmn_link1:hover > span::before{}
	.mod_spFixed{
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99999;
    height: 60px;
    display: flex !important;
    width: 100%;
}
	.mod_spFixed .inner{
    width: 100%;
}
	.mod_spFixed .blk{
    height: 100%;
}
	.mod_spFixed .mainBlk{
    height: 100%;
}
	.mod_spFixed .telLinkBlk{
    height: 100%;
    width: 80px;
    width: 21%;
    background-color: var(--subColor);
    border-right: 1px solid #fff;
}
	.mod_spFixed .telLink{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
	.mod_spFixed .telLink img{}
	.mod_spFixed .mailLinkBlk{
    flex: 1;
    height: 100%;
    background-color: var(--pointColor);
    color: #fff;
}
	.mod_spFixed .mailLink{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 13px;
    height: 100%;
}
	.mod_spFixed .mailLinkImgBlk{padding: 0 0 6px;}
	.mod_spFixed .mailLinkImgBlk img{}
	.mod_spFixed .mailLinkTxt{
    font-size: 13px;
}
}
/*====================================

8. Page

====================================*/
/*
Top
====================================*/
/*common start*/
.top_cmn_head {
	font-size: 37px;
	line-height: 1;
	text-align: center;
	font-weight: normal;
}
.top_cmn_head span {
	position: relative;
	display: block;
	margin: 45px 0 0;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}
.top_cmn_head span::before{
	content:"";
	position:absolute;
	top: -24px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 36px;
	height: 2px;
	background-color: var(--pointColor);
}
/*common end*/
.top_mv {
	position: relative;
	width: 100%;
	height: 700px;
	height: 100vh;
	height: calc(100vh - 90px);
	overflow: hidden;
	background-color: #0c0c0c;
}
.top_mv .inner {
	height: 100%;
}
.top_mv .blk {
	position: relative;
	height: 100%;
}
.top_mv .catchBlk {
	display: grid;
	place-items: center;
	height: 100%;
}
.top_mv .catch {
	font-weight: 700;
	font-size: 60px;
}
/*slider*/
.top_mv._slider {
	background: initial;
}
.top_mv._slider .catchBlk {
	position: relative;
	z-index: 1;
	place-items: initial;
	justify-content: flex-start;
	align-items: center;
	padding: 0 0 0 10%;
	pointer-events: none;
}
.top_mv._slider .catch {
	font-size: 50px;
	color: #fff;
}
.top_mv .slideBlk {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top_mv .slideBlk img {}
    .top_mv .sliderMainBlk {
      position: relative;
      width: 100%;
      height: 100%;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .top_mv .slideItem {
      position: absolute;
      display: flex;
      width: 100%;
      height: 100%;
    }
    .top_mv .slideItem .title {
      position: absolute;
      top: calc(50% - 0.5em);
      top: 125px;
      left: 20px;
      left: 125px;
      z-index: 2;
      /* padding-top: 5px; */
      line-height: 1.2;
      color: white;
      overflow: hidden;
    }
    .top_mv .slideItem .title-text {
      display: block;
      transform: translateY(1.2em);
	  opacity: 0;
      transition: transform 1s ease-in-out, opacity 0.3s ease-in-out;
      font-size: 37px;
    }
	 .top_mv .slideItem .title-text._min{
    font-size: 17px;
    line-height: 33px;
    font-weight: normal;
}
    .top_mv .slideItem.active .title-text {
      transform: translateY(0);
      transition-delay: 0.6s;
	  opacity: 1;
    }
   .top_mv .slide-partial {
      position: absolute;
      width: 50%;
      height: 100%;
      overflow: hidden;
      transition: transform 1s ease-in-out;
    }
    .top_mv .slide-partial img {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 1s ease-in-out;
    }
    .top_mv .slide-left {
      top: 0;
      left: 0;
      transform: translateX(-100%);
    }
    .top_mv .slide-left img {
      top: 0;
      right: 0;
      object-position: 100% 50%;
      transform: translateX(50%);
    }
    .top_mv .slide-right {
      top: 0;
      right: 0;
      transform: translateX(100%);
      transition-delay: 0.2s;
    }
    .top_mv .slide-right img {
      top: 0;
      left: 0;
      object-position: 0% 50%;
      transition-delay: 0.2s;
      transform: translateX(-50%);
    }
    .top_mv .slideItem.active .slide-partial,
    .top_mv .slideItem.active .slide-partial img {
      transform: translateX(0);
    }

    #slide-select {
      position: absolute;
      bottom: 20px;
      left: 20px;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: space-around;
      font-size: 1.5em;
      font-weight: lighter;
      color: white;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    #slide-select li {
      position: relative;
      cursor: pointer;
      margin: 0 5px;
      user-select: none;
    }
    #slide-select li.prev:hover {
      transform: translateX(-2px);
    }
    #slide-select li.next:hover {
      transform: translateX(2px);
    }
    .selector {
      height: 14px;
      width: 14px;
      border: 2px solid white;
      background-color: transparent;
      transition: background-color 0.5s ease-in-out;
      border-radius: 50%;
    }
    .selector.current {
      background-color: white;
    }

    .codepen-link {
      position: absolute;
      bottom: 20px;
      right: 20px;
      height: 40px;
      width: 40px;
      z-index: 10;
      border-radius: 50%;
      background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/544318/logo.jpg');
      background-position: center center;
      background-size: cover;
      opacity: 0.5;
      transition: all 0.25s;
    }
    .codepen-link:hover {
      opacity: 0.8;
      box-shadow: 0 2px 6px #0c0c0c;
    }
.top_overview {
    background-color: var(--mainColor);
    color: #fff;
    padding: 70px 0 170px;
    overflow: hidden;
}
.top_overview .inner {}
.top_overview .blk {}
.top_overview .headBlk {}
.top_overview .mainBlk {
    position: relative;
}
.top_overview .mainTxtBlk{
    border: 1px solid #D7DCE2;
    max-width: 590px;
    padding: 60px 100px 60px 50px;
}
.top_overview .head{
    font-size: 31px;
}
.top_overview .mainDesc{
    margin: 30px 0 0;
    font-size: 17px;
    line-height: 33px;
}
.top_overview .mainImgBlk{
    position: absolute;
    bottom: -80px;
    right: -100px;
    max-width: 685px;
    max-width: clamp(31.25rem, -36.473rem + 105.71vw, 42.813rem);
}
.top_overview .mainImgBlk img{}
.top_common {
    padding: 135px 0;
}
.top_common .inner {}
.top_common .blk {}
.top_common .headBlk {}
.top_common .head {}
.top_common .mainBlk {
	gap: 15px;
	margin: 35px 0 0;
}
.top_common .mainLinkItem{
    position: relative;
    width: calc((100% - (15px * 2)) / 3);
    height: 500px;
    overflow: hidden;
}
.top_common .mainLink{
    display: flex;
    width: 100%;
    height: 100%;
    opacity: 1;
}
.top_common .mainLink img{}
@media screen and (min-width: 1025px) {
	.top_common .mainLink:hover img{
		transform: scale(1.1);
	    transition: 1.2s;
	    opacity: 1;
	}
}
.top_common .mainlinkTxtBlk{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 140px;
    background: linear-gradient(
    to bottom,
    rgba(16, 16, 16, 0) 0px,
    #101010 55px,
    #101010 150px);
    padding: 0 0 0 30px;
}
.top_common .mainlinkTxt{
	position:relative;
	font-size: 21px;
	color: #fff;
	margin: 60px 0 0;
}
.top_common .mainlinkTxt::before{
	content:"";
	position:absolute;
	bottom: -5px;
	width: 100%;
	height: 1px;
	background-color: #464646;
	background: linear-gradient(to right, #910A2D 50%, #464646 50%);
	background-size: 200% 100%;
	background-position: right;
	transition: background-position 0.5s ease;
}
@media screen and (min-width: 1025px){
	.top_common .mainLink:hover .mainlinkTxt::before {
		background-position: left;
	}
}
.top_common .mainlinkTxt::after {
    content:"";
    position:absolute;
    top: 50%;
    right: 30px;
    width: 20px;
    height: 6px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(0, -50%) skew(45deg);
}
.top_recruit{
    padding: 0 0 150px;
    overflow: hidden;
}
.top_recruit .inner{}
.top_recruit .blk{}
.top_recruit .mainBlk{
    position: relative;
    align-items: center;
    margin: 30px calc(50% - 50vw) 0;
    width: 100vw;
    background-color: var(--mainColor);
    color: #fff;
    z-index: 0;
}
.top_recruit .mainTxtBlk{
    width: 365px;
    margin: 0 0 0 150px;
    margin: 0 0 0 clamp(5rem, -20.625rem + 40vw, 9.375rem);
}
.top_recruit .mainHead{
    font-size: 31px;
    font-size: clamp(1.563rem, -0.634rem + 3.43vw, 1.938rem);
}
.top_recruit .mainTxt{
    margin: 30px 0 0;
    margin: clamp(1.25rem, -2.411rem + 5.71vw, 1.875rem) 0 0;
    font-size: 17px;
    font-size: clamp(0.938rem, 0.205rem + 1.14vw, 1.063rem);
}
.top_recruit .mainLinkBlk{
    margin: 45px 0 0;
    margin: clamp(1.875rem, -3.616rem + 8.57vw, 2.813rem) 0 0;
}
.top_recruit .mainLinkBlk span{}
.top_recruit .mainImgBlk{
    flex: 1;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.top_recruit .mainImgBlk img{
    width: 100%;
    height: 100%;
}
.top_info {}
.top_info .inner {}
.top_info .blk {
	position: relative;
	display: flex;
	gap: 60px;
}
.top_info .headBlk {
    width: 260px;
    margin: 45px 0 0;
}
.top_info .head {
	text-align: left;
	font-weight: normal;
}
.top_info .mainBlk {
	flex: 1;
}
.top_info .mainBlk article {
	border-top: solid 1px #D7DCE2;
}
.top_info .mainBlk article:last-child {
	border-bottom: solid 1px #D7DCE2;
}
.top_info .mainBlk a {
	gap: 20px;
	justify-content: flex-start;
	align-items: center;
	padding: 20px 0;
	background: linear-gradient(to left, #fff 50%, #F5F5F5 50%);
	background-size: 200% 100%;
	background-position: right bottom; /* ← 最初は白 (#fff) が見える位置に */
	transition: background-position 0.7s ease;
}
@media screen and (min-width: 1025px){
	.top_info .mainBlk a:hover{
		background-position: left bottom;
		opacity:initial;
	}
}
.top_info .mainImgBlk{
	max-width: 140px;
	background-color: #fff;
}
.top_info .mainImgBlk img{
    /* aspect-ratio: 4/3; */
    min-width: 140px;
    max-width: 140px;
}
.top_info .mainDate {
	display: inline-block;
	font-size: 15px;
	color: var(--subColor);
}
.top_info .mainTxtBlk{
    display: flex;
    flex-wrap: wrap;
    flex: 1;
}
.top_info .mainCat {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 28px;
	padding: 1px 5px;
	margin: 0 20px 0 0;
	font-size: 13px;
	color: #fff;
	text-align: center;
	background: var(--subColor);
}
.top_info .mainTitle {
	width: 100%;
	margin: 20px 0 0;
	font-size: 15px;
}
.top_info .mainLinkBlk {
	margin: 115px 0 0;
}
.top_info .mainLinkBlk a {}
.top_info .mainLinkBlk a > span{}
.top_info .mainLinkBlk a > span::before {}
.top_info .mainLinkBlk a:hover > span::before{}
@media screen and (max-width: 1024px) {
	/*common start*/
	.top_cmn_head {
		font-size: 25px;
	}
	.top_cmn_head span {
		margin: 25px 0 0;
		font-size: 14px;
	}
	.top_cmn_head span::before{
    top: -15px;
    width: 28px;
}
	/*common end*/
	.top_mv {
		width: 100%;
		aspect-ratio: 16/ 10;
		min-height: 320px;
		height: auto;
	}
	.top_mv .inner {
    min-height: 320px;
}
	.top_mv .blk {
    min-height: 320px;
}
	.top_mv .catchlk {}
	.top_mv .catch {
		font-size: 28px;
		line-height: 38px;
	}
	/*slider*/
	.top_mv._slider {
		background: unset;
	}
	.top_mv._slider .catchBlk {
		padding: 5% 0 0 7%;
		align-items: flex-start;
	}
	.top_mv._slider .catch {
		font-size: 22px;
		font-size: clamp(1.375rem, 0.906rem + 2vw, 2.188rem);
		line-height: 1.7;
	}
	.top_mv .slideBlk {}
	.top_mv .slideBlk img {}
	.top_mv .sliderMainBlk {
    min-height: 320px;
}
    .top_mv .slideItem {
    min-height: 320px;
}
	 .top_mv .titleBlk{
    position: relative;
    width: 92%;
    max-width: var(--maxWidth768);
    margin: 0 auto;
}
    .top_mv .slideItem .title {
	    top: 30px;
	    left: 0;
	}
    .top_mv .slideItem .title-text {
    font-size: 18px;
}
	 .top_mv .slideItem .title-text._min{
    font-size: 13px;
    line-height: 20px;
}
    .top_mv .slideItem.active .title-text {}
   .top_mv .slide-partial {}
    .top_mv .slide-partial img {
    min-height: 320px;
}
    .top_mv .slide-left {}
    .top_mv .slide-left img {}
    .top_mv .slide-right {}
    .top_mv .slide-right img {
}
    .top_mv .slideItem.active .slide-partial,
    .top_mv .slideItem.active .slide-partial img {}
    #slide-select {}
    #slide-select li {}
    #slide-select li.prev:hover {}
    #slide-select li.next:hover {}
    .selector {}
    .selector.current {}
    .codepen-link {}
	.top_overview {
	    padding: 60px 0;
	}
	.top_overview .inner {}
	.top_overview .blk {}
	.top_overview .headBlk {}
	.top_overview .mainBlk {
	}
	.top_overview .mainTxtBlk{
	    max-width: initial;
	    border-bottom: transparent;
	    padding: 40px 25px 30px;
	}
	.top_overview .head{
	    font-size: 20px;
	}
	.top_overview .mainDesc{
	    margin: 20px 0 0;
	    font-size: 13px;
	    line-height: 23px;
	}
	.top_overview .mainImgBlk{
	    position: initial;
	    margin: 0 calc(50% - 50vw);
	    width: 100vw;
	    max-width: initial;
	}
	.top_overview .mainImgBlk img{}
		.top_common {
	    padding: 80px 0 0;
	}
	.top_common .inner {}
	.top_common .blk {}
	.top_common .headBlk {}
	.top_common .head {}
	.top_common .mainBlk {
    margin: 30px 0 0;
    flex-flow: column;
    align-items: center;
    gap: 20px;
}
	.top_common .mainLinkItem{
    width: 100%;
    height: initial;
    aspect-ratio: 1 / 1;
    max-width: 500px;
}
	.top_common .mainLink{}
	.top_common .mainLink img{
    width: 100%;
}
	.top_common .mainLink:hover img{}
	.top_common .mainlinkTxtBlk{
    height: 115px;
}
	.top_common .mainlinkTxt{
    font-size: 17px;
}
	.top_common .mainlinkTxt::before{}
	.top_info {
    padding: 35px 0 80px;
}
	.top_common .mainlinkTxt::after{
    right: 25px;
}
	.top_recruit{
    padding: 80px 0;
}
	.top_recruit .inner{
    width: 100%;
}
	.top_recruit .blk{}
	.top_recruit .mainBlk{
    flex-flow: column;
    padding: 60px 0;
}
	.top_recruit .mainTxtBlk{
    width: 92%;
    margin: 0 auto 35px;
    padding: 0 25px;
}
	.top_recruit .mainHead{
    font-size: 20px;
}
	.top_recruit .mainTxt{
    margin: 20px 0 0;
    font-size: 13px;
}
	.top_recruit .mainLinkBlk{
    margin: 35px 0 0;
}
	.top_recruit .mainLinkBlk span{}
	.top_recruit .mainImgBlk{}
	.top_recruit .mainImgBlk img{}
	.top_info .inner {}
	.top_info .blk {
    flex-flow: column;
    align-items: center;
    gap: initial;
}
	.top_info .headBlk {
    margin: initial;
    width: 100%;
}
	.top_info .head {
    text-align: center;
}
	.top_info .mainBlk {
		margin: 25px 0 0;
		flex: initial;
		width: 100%;
	}
	.top_info .mainBlk article {}
	.top_info .mainBlk article:last-child {}
	.top_info .mainBlk a {
		gap: 14px;
		padding: 15px 0;
		align-items: start;
	}
	.top_info .mainImgBlk{
    max-width: 105px;
}
	.top_info .mainImgBlk img{
    min-width: 105px;
    max-width: 105px;
}
	.top_info .mainTxtBlk{}
	.top_info .mainDate {
		font-size: 12px;
	}
	.top_info .mainCat {
		width: 75px;
		height: 20px;
		font-size: 9px;
		margin: 0 15px 0 0;
	}
	.top_info .mainTitle {
		flex: unset;
		width: 100%;
		margin: 0;
		margin: 15px 0 0;
	}
	.top_info .mainLinkBlk {
	    margin: 30px 0 0;
	}
	.top_info .mainLinkBlk a {}
	.top_info .mainLinkBlk a > span{}
	.top_info .mainLinkBlk a > span::before {}
	.top_info .mainLinkBlk a:hover > span::before{}
}
/*
Company
====================================*/
.company_message {
    padding: 155px 0 145px;
}
.company_message .inner {}
.company_message .blk {}
.company_message .headBlk {}
.company_message .head {}
.company_message .mainBlk {
	margin: 35px 0 0;
	gap: clamp(2.5rem, -2.138rem + 7.25vw, 3.75rem);
}
.company_message .mainImgBlk {
	flex: 1;
}
.company_message .mainImgBlk img {
	width: 100%;
}
.company_message .mainTextBlk {
	width: calc(50% + 65px);
}
.company_message .mainTextHead {}
.company_message .mainTextDesc {
	margin: 30px 0 0;
	line-height: 30px;
}
.company_message .mainTextName {
	font-size: 18px;
	margin: 20px auto 0;
	text-align: center;
}
.company_message .mainTextName span {
	font-size: 14px;
	margin: 0 10px 0 0;
}
.company_philosophy {
    background-color: var(--mainColor);
}
.company_philosophy .inner {}
.company_philosophy .blk {}
.company_philosophy .mainBlk {
    border: 1px solid var(--pointColor);
    color: #fff;
    padding: 60px 55px 70px;
}
.company_philosophy .mainHead{
}
.company_philosophy .mainTxtBlk{
    margin: 25px 0 0;
}
.company_philosophy .mainTxt{
    font-size: 20px;
    line-height: 2;
}
.company_philosophy .mainTxt span{
    color: var(--pointColor);
}
.company_outline {
    padding: 140px 0 0;
}
.company_outline .inner {}
.company_outline .blk {}
.company_outline .headBlk {}
.company_outline .head {}
.company_outline .imgBlk {
	margin: 40px 0 0;
}
.company_outline .imgBlk img {
	width: 100%;
}
.company_outline .mainBlk {
	margin: 35px 0 0;
}
.company_history {
    padding: 140px 0 0;
}
.company_history .inner {}
.company_history .blk {}
.company_history .headBlk {}
.company_history .head {}
.company_history .mainBlk {
	margin: 40px 0 0;
}
.company_access {
	padding: 145px 0 0;
}
.company_access .inner {}
.company_access .blk {
    gap: 60px;
}
.company_access .headBlk {
    width: 330px;
}
.company_access .head {}
.company_access .subHead{
    margin: 20px 0 0;
    font-size: 18px;
    FONT-WEIGHT: 600;
}
.company_access .headTxt{
    margin: 10px 0 0;
    line-height: 30px;
}
.company_access .mainImgBlk{
    margin: 20px 0 0;
}
.company_access .mainImgBlk img{}
.company_access .mainBlk {
	flex: 1;
	height: 100%;
	min-height: 435px;
}
.company_access .mainBlk iframe{
	min-height: 440px;
	aspect-ratio: initial;
}
.company_attempt{
    padding: 150px 0;
}
.company_attempt .inner{}
.company_attempt .blk{}
.company_attempt .headBlk{}
.company_attempt .head{}
.company_attempt .headTxt{
    margin: 35px 0 0;
}
.company_attempt .mainBlk{
    margin: 35px 0 0;
}
.company_attempt .cmn_table > dl > div > dt{
    width: 260px;
}
.company_attempt .cmn_table > dl > div > dt._textCenter{
    display: flex;
    align-items: center;
}
@media screen and (max-width: 1024px) {
	.company_message {
    padding: 70px 0 60px;
}
	.company_message .inner {}
	.company_message .blk {}
	.company_message .headBlk {}
	.company_message .head {}
	.company_message .mainBlk {
    flex-flow: column;
    gap: 25px;
    margin: 20px 0 0;
}
	.company_message .mainImgBlk {}
	.company_message .mainImgBlk img {}
	.company_message .mainTextBlk {
    width: 100%;
}
	.company_message .mainTextHead {}
	.company_message .mainTextDesc {
    margin: 20px 0 0;
    line-height: 26px;
}
	.company_message .mainTextName {
    font-size: 16px;
    margin: 10px 0 0;
}
	.company_message .mainTextName span {}
	.company_philosophy {}
	.company_philosophy .inner {}
	.company_philosophy .blk {}
	.company_philosophy .mainBlk {
    padding: 30px 15px;
}
	.company_philosophy .mainHead{}
	.company_philosophy .mainTxtBlk{
    margin: 15px 0 0;
}
	.company_philosophy .mainTxt{
    font-size: 15px;
    text-indent: -1em;
    padding-left: 1em;
}
	.company_philosophy .mainTxt span{}
	.company_outline {
    padding: 70px 0 0;
}
	.company_outline .inner {}
	.company_outline .blk {}
	.company_outline .headBlk {}
	.company_outline .head {}
	.company_outline .imgBlk {}
	.company_outline .imgBlk img {}
	.company_outline .mainBlk {
    margin: 20px 0 0;
}
	.company_history {
    padding: 70px 0 0;
}
	.company_history .inner {}
	.company_history .blk {}
	.company_history .headBlk {}
	.company_history .head {}
	.company_history .mainBlk {
    margin: 20px 0 0;
}
	.company_access {
    padding: 70px 0 0;
}
	.company_access .inner {}
	.company_access .blk {
    gap: 20px;
    flex-flow: column;
}
	.company_access .headBlk {
    width: 100%;
}
	.company_access .head {}
	.company_access .subHead{
    font-size: 16px;
}
	.company_access .headTxt{
    margin: initial;
    line-height: 2;
}
	.company_access .mainImgBlk{}
	.company_access .mainImgBlk img{
    width: 100%;
}
	.company_access .mainBlk {
    flex: initial;
    width: 100%;
    min-height: 350px;
    max-height: 440px;
}
	.company_access .mainBlk iframe{
    max-height: 440px;
    min-height: 350px;
}
	.company_attempt{
    padding: 70px 0;
}
	.company_attempt .inner{}
	.company_attempt .blk{}
	.company_attempt .headBlk{}
	.company_attempt .head{}
	.company_attempt .headTxt{
    margin: 20px 0 0;
}
	.company_attempt .mainBlk{
    margin: 20px 0 0;
}
	.company_attempt .cmn_table > dl > div > dt{
    width: 100%;
}
	.company_attempt .cmn_table > dl > div > dt._textCenter{}
}
/*
Service
====================================*/
.service_outline {
	padding: 155px 0 0;
}
.service_outline .inner {}
.service_outline .blk {}
.service_outline .mainBlk {
	align-items: stretch;
}
.service_outline .mainTextHead {
    font-size: 30px;
}
.service_outline .mainTextDesc {
	margin: 35px 0 0;
	font-size: 19px;
	line-height: 38px;
}
.service_connection{
    padding: 150px 0 0;
}
.service_connection .inner{}
.service_connection .blk{}
.service_connection .headBlk{}
.service_connection .mainTextHead{}
.service_connection .mainTextDesc{
    margin: 35px 0 0;
}
.service_connection .mainBlk{
    margin: 35px 0 0;
}
.service_connection .mainImgBlk{}
.service_connection .mainImgBlk img{}
.service_connection .mainTxtBlk{
    margin: 35px 0 0;
    border: 1px solid var(--pointColor);
    padding: 35px 55px;
}
.service_connection .mainTxt{
    color: var(--pointColor);
}
.service_main {
    padding: 150px 0;
}
.service_main .inner {}
.service_main .blk {}
.service_main .outlineBlk {
    display: grid;
    gap: 150px;
}
.service_main .mainBlk {
    gap: 60px;
}
.service_main .mainTxtBlk {
    flex: 1;
}
.service_main .mainHead {}
.service_main .mainHeadTxt{
    margin: 35px 0 0;
}
.service_main .mainImgBlk {
    width: calc((50% - 20px));
}
.service_main .mainImgBlk img {}
.service_merchandise{
    height: 380px;
    background-image: url(./images/service_merchandise_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.service_merchandise .inner{
    height: 100%;
}
.service_merchandise .blk{
    height: 100%;
}
.service_merchandise .mainBlk{
    height: 100%;
}
.service_merchandise .mainHead{
    display: flex;
    align-items: center;
    height: 100%;
    color: #fff;
}
.service_handling{
    padding: 150px 0;
}
.service_handling .inner{}
.service_handling .blk{}
.service_handling .outlineBlk{
    display: grid;
    gap: 160px;
}
.service_handling .mainBlk{}
.service_handling .headBlk{}
.service_handling .mainTextHead{}
.service_handling .mainText{
    margin: 35px 0 0;
}
.service_handling .mainTextSpan{
    display: block;
    margin: 20px 0 0;
    font-size: 14px;
    text-indent: -1em;
    padding-left: 1em;
}
.service_handling .mainImgOutline{
    margin: 35px 0 0;
    gap: 30px 20px;
}
.service_handling .mainImgBlk{
    width: calc((100% - (20px * 3)) / 4);
}
.service_handling .mainImgBlk img{}
.service_handling .mainImgTxt{
    font-size: 13px;
    margin: 7px 0 0;
}
.service_handling .mainFlexBlk{
    gap: 15px;
}
.service_handling .mainFlexBlk > .flexHeadBlk{
    flex: 1;
}
.service_handling .mainFlexImgBlk{
    width: calc((50% + 15px));
}
.service_handling .mainFlexImgBlk img{}
.service_handling .attentionBlk{
    margin: 75px 0 0;
    border: 1px solid #999999;
    padding: 35px;
}
.service_handling .attentionTxt{}
@media screen and (max-width: 1024px) {
	.service_outline {
    padding: 70px 0 0;
}
	.service_outline .inner {}
	.service_outline .blk {}
	.service_outline .mainBlk {}
	.service_outline .mainTextHead {
    font-size: 20px;
}
	.service_outline .mainTextDesc {
    margin: 20px 0 0;
    font-size: 15px;
    line-height: 26px;
}
	.service_connection{
    padding: 70px 0 0;
}
	.service_connection .inner{}
	.service_connection .blk{}
	.service_connection .headBlk{}
	.service_connection .mainTextHead{}
	.service_connection .mainTextDesc{
    margin: 20px 0 0;
}
	.service_connection .mainBlk{
    margin: 20px 0 0;
}
	.service_connection .mainImgBlk{
    width: max(700px, 100%);
}
	.service_connection .mainImgBlk img{}
	.service_connection .scroll-hint-icon{
		top:20%;
	}
	.service_connection .mainTxtBlk{
    margin: 20px 0 0;
    padding: 15px;
}
	.service_connection .mainTxt{}
	.service_main {
    padding: 80px 0;
}
	.service_main .inner {}
	.service_main .blk {}
	.service_main .outlineBlk {
    gap: 60px;
}
	.service_main .mainBlk {
    gap: 20px;
    flex-flow: column;
}
	.service_main .mainTxtBlk {
    flex: initial;
}
	.service_main .mainHead {}
	.service_main .mainHeadTxt{
    margin: 20px 0 0;
}
	.service_main .mainImgBlk {
    width: 100%;
}
	.service_main .mainImgBlk img {}
	.service_merchandise{
    height: 190px;
}
	.service_merchandise .inner{}
	.service_merchandise .blk{}
	.service_merchandise .mainBlk{}
	.service_merchandise .mainHead{}
	.service_handling{
    padding: 50px 0 70px;
}
	.service_handling .inner{}
	.service_handling .blk{}
	.service_handling .outlineBlk{
    gap: 60px;
}
	.service_handling .mainBlk{}
	.service_handling .headBlk{}
	.service_handling .mainTextHead{}
	.service_handling .mainText{
    margin: 20px 0 0;
}
	.service_handling .mainTextSpan{
    margin: 15px 0 0;
    font-size: 13px;
}
	.service_handling .mainImgOutline{
    margin: 20px 0 0;
    gap: 10px;
}
	.service_handling .mainImgBlk{
    width: calc((100% - (10px * 1)) / 2);
}
	.service_handling .mainImgBlk img{}
	.service_handling .mainImgTxt{
    font-size: 12px;
    margin: 3px 0 0;
}
	.service_handling .mainFlexBlk{
    flex-flow: column;
    gap: 20px;
}
	.service_handling .mainFlexBlk > .flexHeadBlk{
    flex: initial;
}
	.service_handling .mainFlexImgBlk{
    width: 100%;
}
	.service_handling .mainFlexImgBlk img{}
	.service_handling .attentionBlk{
    margin: 25px 0 0;
    padding: 15px;
}
	.service_handling .attentionTxt{}
}
/*
Recruit
====================================*/
.recruit_top {
	height: 600px;
	background-image: url(./images/dummy.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.recruit_top .inner {
	height: 100%;
}
.recruit_top .blk {
	height: 100%;
}
.recruit_top .mainBlk {
	height: 100%;
	display: flex;
	align-items: center;
}
.recruit_top .mainTitle {
	font-weight: 600;
	font-size: 50px;
	line-height: 80px;
}
.recruit_about{
    padding: 155px 0 0;
}
.recruit_about .inner{}
.recruit_about .blk{}
.recruit_about .mainBlk{}
.recruit_about .head{
    font-size: 30px;
}
.recruit_about .mainText{
    margin: 35px 0 0;
    font-size: 19px;
    line-height: 38px;
}
.recruit_message {
    padding: 150px 0;
}
.recruit_message .inner {}
.recruit_message .blk {}
.recruit_message .headBlk {}
.recruit_message .head {}
.recruit_message .mainBlk {
	margin: 35px 0 0;
	gap: clamp(2.5rem, -2.138rem + 7.25vw, 3.75rem);
}
.recruit_message .mainImgBlk {
	flex: 1;
}
.recruit_message .mainImgBlk img {
	width: 100%;
}
.recruit_message .mainTextBlk {
	width: calc(50% + 65px);
}
.recruit_message .mainTextHead {
    font-size: 30px;
    line-height: 45px;
}
.recruit_message .mainTextDesc {
	margin: 30px 0 0;
}
.recruit_message .mainTextName {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	margin: 20px auto 0;
}
.recruit_message .mainTextName span {
	font-size: 14px;
	margin: 0 10px 0 0;
}
.recruit_interview {
    padding: 85px 0;
}
.recruit_interview .inner {
    max-width: 1295px;
}
.recruit_interview .blk {}
.recruit_interview .headBlk {
    padding: 0 0 0 55px;
}
.recruit_interview .head {}
.recruit_interview .mainOutline{
    display: grid;
    gap: 25px;
    margin: 30px 0 0;
}
.recruit_interview .mainBlk {
    background-color: #fff;
    padding: 95px 60px 90px 55px;
    filter: drop-shadow(0px 2px 6px #D5D5D5);
}
.recruit_interview .mainFlexBlk{
    gap: 55px;
}
.recruit_interview .mainTxtBlk{
    width: calc((50% + 90px));
}
.recruit_interview .mainProfileBlk{
    display: flex;
    gap: 20px;
    align-items: center;
}
.recruit_interview .mainProfileJob{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 150px;
    height: 35px;
    background-color: var(--subColor);
    color: #fff;
}
.recruit_interview .mainProfileName{
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 18px;
}
.recruit_interview .mainProfileName > span{
    font-size: 15px;
}
.recruit_interview .mainHead{
    margin: 30px 0 0;
    font-size: 28px;
    FONT-WEIGHT: 600;
}
.recruit_interview .mainTxt{
    margin: 30px 0 0;
}
.recruit_interview .mainImgOutlineBlk{
    display: grid;
    gap: 20px;
    flex: 1;
}
.recruit_interview .mainImgBlk{}
.recruit_interview .mainImgBlk img{}
.recruit_requirements {
    padding: 150px 0;
}
.recruit_requirements .inner {}
.recruit_requirements .blk {}
.recruit_requirements .linkFlexBlk{
    justify-content: center;
    gap: 60px;
}
.recruit_requirements .linkBlk{
    width: 220px;
    height: 45px;
}
.recruit_requirements .link{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border: 1px solid var(--subColor);
    background-color: #fff;
    color: var(--subColor);
    transition: background-color 0.7s ease;
}
@media screen and (min-width: 1025px){
	.recruit_requirements .link:hover{
		background-color:#E2E6EB;
		opacity:0.9;
	}
}
.recruit_requirements .headBlk {}
.recruit_requirements .head {}
.recruit_requirements .mainBlk {
	margin: 115px 0 0;
}
.recruit_requirements .mainOutline{
    margin: 25px 0 0;
    border: 1px solid #D5D5D5;
    padding: 95px 100px;
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
}
.recruit_requirements .cmn_table > dl{
    border-right: transparent;
    border-left: transparent;
}
.recruit_requirements .cmn_table > dl > div > dt{border: initial;}
.recruit_requirements .mainLinkBlk {
    margin: 75px 0 0;
}
.recruit_requirements .mainLink {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 375px;
    height: 75px;
    background-color: var(--pointColor);
    color: #fff;
    font-size: 22px;
    FONT-WEIGHT: 600;
    margin: 0 auto;
}
@media screen and (max-width: 1024px) {
	.recruit_top {}
	.recruit_top .inner {}
	.recruit_top .blk {}
	.recruit_top .mainBlk {}
	.recruit_top .mainTitle {}
	.recruit_about{
    padding: 70px 0 0;
}
	.recruit_about .inner{}
	.recruit_about .blk{}
	.recruit_about .mainBlk{}
	.recruit_about .head{
    font-size: 20px;
}
	.recruit_about .mainText{
    margin: 20px 0 0;
    font-size: 15px;
    line-height: 26px;
}
	.recruit_message {
    padding: 70px 0;
}
	.recruit_message .inner {}
	.recruit_message .blk {}
	.recruit_message .headBlk {}
	.recruit_message .head {}
	.recruit_message .mainBlk {
    margin: 20px 0 0;
    gap: 25px;
    flex-flow: column;
}
	.recruit_message .mainImgBlk {
    flex: initial;
}
	.recruit_message .mainImgBlk img {}
	.recruit_message .mainTextBlk {
    width: 100%;
}
	.recruit_message .mainTextHead {
    font-size: 18px;
    line-height: 32px;
}
	.recruit_message .mainTextDesc {
    margin: 20px 0 0;
}
	.recruit_message .mainTextName {
    margin: 10px 0 0;
    font-size: 16px;
}
	.recruit_message .mainTextName span {}
	.recruit_interview {
    padding: 60px 0;
}
	.recruit_interview .inner {}
	.recruit_interview .blk {}
	.recruit_interview .headBlk {
    padding: initial;
}
	.recruit_interview .head {}
	.recruit_interview .mainOutline{
    margin: 20px 0 0;
    gap: 20px;
}
	.recruit_interview .mainBlk {
    padding: 20px 15px 30px;
}
	.recruit_interview .mainFlexBlk{
    flex-flow: column-reverse;
    gap: 25px;
}
	.recruit_interview .mainTxtBlk{
    width: 100%;
}
	.recruit_interview .mainProfileBlk{
    gap: 10px;
    align-items: center;
}
	.recruit_interview .mainProfileJob{
    width: 90px;
    height: 30px;
}
	.recruit_interview .mainProfileName{
    font-size: 16px;
}
	.recruit_interview .mainProfileName > span{
    font-size: 13px;
}
	.recruit_interview .mainHead{
    margin: 20px 0 0;
    font-size: 20px;
}
	.recruit_interview .mainTxt{
    margin: 15px 0 0;
}
	.recruit_interview .mainImgOutlineBlk{
    flex: initial;
    gap: 10px;
    width: 100%;
}
	.recruit_interview .mainImgBlk{}
	.recruit_interview .mainImgBlk img{
    width: 100%;
}
	.recruit_requirements {
    padding: 70px 0;
}
	.recruit_requirements .inner {}
	.recruit_requirements .blk {}
	.recruit_requirements .linkFlexBlk{
    gap: 15px;
    display: flex;
}
	.recruit_requirements .linkBlk{
    width: calc((100% - 15px) / 2);
    max-width: 220px;
}
	.recruit_requirements .link{}
	.recruit_requirements .link:hover{}
	.recruit_requirements .headBlk {}
	.recruit_requirements .head {}
	.recruit_requirements .mainBlk {
    margin: 50px 0 0;
}
	.recruit_requirements .mainOutline{
    margin: 20px 0 0;
    padding: 40px 15px 50px;
}
	.recruit_requirements .cmn_table > dl{}
	.recruit_requirements .cmn_table > dl > div > dt{
    border-bottom: 1px solid #D7DCE2;
}
	.recruit_requirements .mainLinkBlk {
    margin: 25px 0 0;
}
	.recruit_requirements .mainLink {
    width: 100%;
    max-width: 375px;
    height: 70px;
    font-size: 18px;
}
}
/*
Information
====================================*/
.info_category {
	padding: 90px 0 0px;
}
.info_category .inner {}
.info_category .blk {}
.info_category .mainBlk {}
.info_category .mainBlk ul {
	justify-content: center;
	gap: 15px;
}
.info_category .mainBlk ul li {
	width: calc((100% - (15px * 4)) / 5);
}
.info_category .mainBlk ul li a {
	display: block;
	line-height: 44px;
	text-align: center;
	background: var(--categoryLinkBg);
	font-size: 14px;
}
@media screen and (min-width: 1025px) {
	.info_category .mainBlk ul li a:hover {
		opacity: 1;
		color: white;
		background: var(--mainColor);
	}
}
.info_category .mainBlk ul li.current-cat a {
	background-color: var(--mainColor);
	color: white;
}
.info_list {
	padding: 155px 0;
}
.info_list .inner {}
.info_list .blk {box-shadow: 0px 2px 6px #D5D5D5;padding: 90px 130px;}
.info_list .mainBlk {}
.info_list .mainBlk article {
	border-top: solid 1px #D7DCE2;
}
.info_list .mainBlk article:last-child {
	border-bottom: solid 1px #D7DCE2;
}
.info_list .mainBlk article a {
	padding: 30px 0;
	align-items: center;
	gap: 20px;
	background: linear-gradient(to left, #fff 50%, #F5F5F5 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: background-position 0.7s ease;
}
@media screen and (min-width: 1025px){
	.info_list .mainBlk article a:hover{
		background-position: left bottom;
		opacity:initial;
	}
}
.info_list .mainImgBlk {
	width: 140px;
	background: #fff;
}
.info_list .mainImgBlk img {
	width: 100%;
	height: 105px;
	object-fit: fill;
}
.info_list .mainTextBlk {
	flex: 1;
	display: flex;
	flex-flow: wrap;
	align-items: center;
}
.info_list .mainTextDate {
	font-size: 15px;
	color: var(--subColor);
}
.info_list .mainTextCat {
	margin: 0 15px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 30px;
	font-size: 14px;
	padding: 1px 10px;
	background: var(--subColor);
	color: white;
}
.info_list .mainTextTitle {
	position: relative;
	width: 100%;
	margin: 20px 0 0;
	font-size: 15px;
	padding: 0 75px 0 0;
}
.info_list .mainTextTitle::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    width: 20px;
    height: 6px;
    border-bottom: 1px solid #B4B9BD;
    border-right: 1px solid #B4B9BD;
    transform: translate(0, -50%) skew(45deg);
}
.info_list .mainTextTitle::before{
	border-bottom: 1px solid #B4B9BD;
	border-right: 1px solid #B4B9BD;
}
.info_list .paginationBlk {}
.info_detail {
	padding: 90px 0px 140px;
}
.info_detail .inner {}
.info_detail .blk {
    box-shadow: 0px 2px 6px #D5D5D5;
    padding: 90px 130px;
}
.info_detail .mainBlk {
    border: 1px solid #D7DCE2;
    padding: 65px 70px 90px;
}
.info_detail .mainBlk article {}
.info_detail .mainDate {
	display: inline-flex;
	font-size: 14px;
	color: var(--subColor);
}
.info_detail .mainCat {
	margin: 0 15px 0 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 30px;
	font-size: 13px;
	background: var(--subColor);
	color: white;
}
.info_detail .mainHead {
	font-size: 22px;
	margin: 20px 0 0;
	border-top: 1px solid #D7DCE2;
	border-bottom: 1px solid #D7DCE2;
	padding: 40px 0;
}
.info_detail .mainContentBlk {
	margin: 40px 0 0;
}
.info_detail .mainContentBlk > *:first-child,
.info_detail .mainContentBlk > *:first-child *:first-child {
	margin-top: 0;
}
.info_detail .mainContentBlk p {}
.info_detail .mainContentBlk img {
	display: table;
	margin: auto!important;
}
.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
	margin: calc(1rem* 1.6) 0 0;
}
.info_detail .mainContentBlk a {
	color: var(--mainColor);
	text-decoration: underline;
}
.info_detail .paginationBlk {}
@media screen and (max-width: 1024px) {
	.info_category {
		padding: 60px 0 0px;
	}
	.info_category .inner {}
	.info_category .blk {}
	.info_category .mainBlk {
		max-width: 400px;
		margin: auto;
	}
	.info_category .mainBlk ul {
		gap: 5px;
		justify-content: flex-start;
	}
	.info_category .mainBlk ul li {
		width: calc((100% - (5px * 1)) / 2);
	}
	.info_category .mainBlk ul li a {
		display: block;
		line-height: 44px;
		text-align: center;
		background: var(--categoryLinkBg);
		font-size: 14px;
	}
	.info_list {
		padding: 60px 0 70px;
	}
	.info_list .inner {}
	.info_list .blk {
    padding: 40px 15px 50px;
}
	.info_list .mainBlk {}
	.info_list .mainBlk article {
	}
	.info_list .mainBlk article:last-child {
		border-bottom: solid 1px #DDDDDD;
	}
	.info_list .mainBlk article a {
		padding: 20px 0;
		align-items: center;
		justify-content: center;
		gap: 10px;
		flex-wrap: nowrap;
	}
	.info_list .mainImgBlk {
		width: 109px;
	}
	.info_list .mainImgBlk img {
		width: 100%;
		height: auto;
		max-height: 109px;
		aspect-ratio: 4 / 3;
		object-fit: fill;
	}
	.info_list .mainTextBlk {
		width: 100%;
	}
	.info_list .mainTextDate {
		font-size: 15px;
	}
	.info_list .mainTextCat {
		margin: 0 15px 0 0;
		font-size: 9px;
		padding: 1px 10px;
		width: 70px;
		height: 20px;
	}
	.info_list .mainTextTitle {
		line-height: 24px;
		width: 100%;
		margin: 15px 0 0;
		padding: 0 35px 0 0;
	}
	.info_list .mainTextTitle::before {
    right: 10px;
}
	.info_list .mainTextTitle::before{}
	.info_list .paginationBlk {}
	.info_detail {
		padding: 60px 0px 90px;
	}
	.info_detail .inner {}
	.info_detail .blk {
    padding: 30px 15px 40px;
}
	.info_detail .mainBlk {
    padding: 30px 15px 40px;
}
	.info_detail .mainBlk article {}
	.info_detail .mainDate {
		display: inline-flex;
		font-size: 14px;
	}
	.info_detail .mainCat {
		margin: 0 10px 0 0;
		display: inline-flex;
		width: 90px;
		height: 28px;
		font-size: 12px;
		padding: 1px 10px;
		color: white;
	}
	.info_detail .mainHead {
		font-size: 18px;
		line-height: 28px;
		margin: 20px 0 0;
		padding: 15px 0;
	}
	.info_detail .mainContentBlk {
		margin: 20px 0 0;
	}
	.info_detail .mainContentBlk > *:first-child,
	.info_detail .mainContentBlk > *:first-child *:first-child {}
	.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
		margin: calc(0.875rem* 1.6) 0 0;
	}
	.info_detail .mainContentBlk a {}
	.info_detail .paginationBlk {
		max-width: 360px;
		margin: auto;
	}
}
/*
Contact
====================================*/
.contact_outline {
    padding: 150px 0;
}
.contact_outline .inner {}
.contact_outline .blk {}
.contact_outline .mainBlk {}
.contact_outline .mainDesc {
	margin: 35px 0 0;
	font-size: 19px;
	line-height: 38px;
}
.contact_form {
	padding: 85px 0;
}
.contact_form .inner {}
.contact_form .blk {}
.contact_form .headBlk {}
.contact_form .head {}
.contact_form .mainBlk {
	margin: 25px 0 0;
	padding: 95px 145px;
	padding: 95px clamp(5.625rem, -14.509rem + 31.43vw, 9.063rem);
	background-color: #fff;
	box-shadow: 0px 2px 6px #D5D5D5;
}
.contact_form .wpcf7-form{
    border: 1px solid #D7DCE2;
    padding: 80px 70px;
    padding: 80px clamp(3.125rem, -4.196rem + 11.43vw, 4.375rem);
}
.contact_privacy{}
.contact_privacy .inner{}
.contact_privacy .blk{}
@media screen and (max-width: 1024px) {
	.contact_outline {
    padding: 70px 0;
}
	.contact_outline .inner {}
	.contact_outline .blk {}
	.contact_outline .mainBlk {}
	.contact_outline .mainDesc {
    margin: 20px 0 0;
    font-size: 15px;
    line-height: 26px;
}
	.contact_tel .mainTime {}
	.contact_form {
    padding: 60px 0;
}
	.contact_form .inner {}
	.contact_form .blk {}
	.contact_form .headBlk {}
	.contact_form .head {}
	.contact_form .mainBlk {
	    margin: 20px 0 0;
	    padding: 40px 15px 50px;
	}
		.contact_form .wpcf7-form{
	    padding: 20px 15px 30px;
	}
	.contact_privacy{}
	.contact_privacy .inner{}
	.contact_privacy .blk{}
}
/*テスト*/