@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
/*------@import------*/
@import url('https://design-code.holo-server.com/wp-content/themes/mrp04/style.css');
@import url('https://design-code.holo-server.com/wp-content/themes/mrp04-child/css/custom.css');
@import url('https://design-code.holo-server.com/wp-content/themes/mrp04-child/style.css');

/*------font------*/
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho&display=swap');

:root {
	/*------▼基本設定▼------*/
	--color-background: #fff;
	--color-font: #000;
	--color-primary: #1D2089;
	--color-primary-shade: ;
	--color-primary-tint: ;
	--color-secondary: ;
	--color-secondary-tint: ;
	--color-table-border: #CCC;
	--body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
	/* 1.6-1.4rem (1920-375) */
	--body-font-family: "Noto Sans JP", sans-serif;
	--content-max-width: 1240px;
	/*------▼ヘッダー設定▼------*/
	--header-background: #fff;
	--header-color-font: #000000;
	--header-color-primary: #1D2089;
	--header-secondary: #F6F6F6;
	--header-color-primary-shade: ;
	--header-color-primary-tint: #605E5F;
	/*------▼フッター設定▼------*/
	--footer-background: #F6F6F6;
	--footer-color-font: #000;
	--footer-color-primary: ;
	/*------▼フォント設定▼------*/
	--font-family01: "Noto Sans JP", sans-serif;
	--font-family02: "Crimson Text", serif;
	--font-family03: "Zen Old Mincho", serif;
	--font-family04: ;
}

/*--メディアクエリ--------------------------------------------*/
@media print,
screen and (min-width: 1024px) {}

@media print,
screen and (max-width: 1023px) {}

@media print,
screen and (min-width: 769px) {}

@media print,
screen and (max-width: 768px) {}

/*--全体の設定--------------------------------------------*/
html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

/*--アンカーリンク--------------------------------------------*/
.anchor-link_contents {
	margin-top: -80px !important;
	padding-top: 80px !important;
}

.anchor-link {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary);
	font-weight: bold;
	color: var(--footer-background);
	max-width: 370px;
	width: 100%;
	border-radius: 50em;
	padding: var(--px20) var(--px40);
	position: relative;
	border: 1px solid var(--color-primary);

	&::before,
	&::after {
		content: "";
		position: absolute;
		bottom: calc(50% - 7px);
		right: 30px;
		width: 2px;
		height: 14px;
		border-radius: 9999px;
		background-color: var(--color-background);
		transform-origin: 50% calc(100% - 1px);
	}

	&::before {
		transform: rotate(45deg);
	}

	&::after {
		transform: rotate(-45deg);
	}

	&:hover {
		background-color: var(--color-primary);
		color: var(--color-background);
		opacity: 0.8;
	}

	&.anchor-link--special {
		max-width: 540px;
		width: 100%;
		background: var(--color-primary);
		border: 1px solid var(--color-primary);
		color: #fff;

		&::before,
		&::after {
			background-color: #fff;
		}

		&:hover {
			background: var(--color-primary-tint);
			color: var(--color-primary);

			&::before,
			&::after {
				background-color: var(--color-primary);
			}
		}
	}
}

@media print,
screen and (max-width: 768px) {
	.anchor-link {

		&::before,
		&::after {
			content: "";
			position: absolute;
			bottom: calc(50% - 5px);
			right: 20px;
			width: 2px;
			height: 10px;
			border-radius: 9999px;
			transform-origin: 50% calc(100% - 1px);
		}
	}
}

/*--表示の切り替え--------------------------------------------*/

body:not(.page.home) .top-news {
	display: none;
}

body:not(.home)::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url(/wp-content/uploads/page-bg-1.jpg);
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
	z-index: -1;
	pointer-events: none;
}

#content,
body:not(.home) #content.wide {
	padding: var(--px100w) 0 var(--px80);
	margin: 0 auto;
}


/*--お知らせ　下線--------------------------------------------*/
.postlist li {
	border-top: 1px solid #ddd;
}

.postlist li:last-child {
	border-bottom: 1px solid #ddd;
}

/*--fvの比率調整--------------------------------------------*/
#mainImg img {
	width: 100% !important;
	height: auto;
}

/*--幅フル100%背景色--------------------------------------------*/

.widecolor--primary {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
	background-color: var(--color-primary);
}

.widecolor--white {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
	background-color: var(--color-background) !important;
}

.widecolor--img {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
	background: url(/wp-content/uploads/top-service-bg02.jpg) no-repeat center center / cover;
}

@media print,
screen and (max-width: 768px) {

	.widecolor--primary,
	.widecolor--white,
	.widecolor--img {
		padding: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px) 0 min(calc(150px + (1vw - 19.2px) * 3.2362), 150px) 0;
		/* 120-80px (1920-375) */
	}
}

.post .widecolor>h2:first-child {
	margin-top: 0 !important;
}

.widearea {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
}

@media print,
screen and (max-width: 768px) {

	#content,
	#content.wide {
		width: 100%;
	}

	.content_inner {
		width: 100%;
	}
}


/*----------------------------------------------
  utility
----------------------------------------------*/
/*---------コンテンツ幅-----------*/
.max_w340 {
	max-width: 340px !important;
}

.max_w600 {
	max-width: 600px;
}

.max_w880 {
	max-width: 880px;
}

.max_w1070 {
	max-width: 1070px;
}

/*---------背景色-----------*/
.bg_white {
	background: var(--color-background) !important;
}

.bg_gray {
	background: url(/wp-content/uploads/top-slider-bg02.jpg) no-repeat center /cover !important;
}

.bg_blue {
	background: #EFFAFE !important;
}

.bg_green {
	background: #E0F6EB !important;
}

.bg_cream {
	background: #FAF2D4 !important;
}

.bg_pink {
	background: #FFB5B9 !important;
}

.bg_light-blue {
	background: #E6F4FF !important;
}

/*---------文字色-----------*/
.fc_primary {
	color: var(--color-primary) !important;
}

.fc_secondary {
	color: var(--color-secondary) !important;
}

.fc_black {
	color: var(--color-font) !important;
}

.fc_navy {
	color: var(--color-primary) !important;
}

.fc_white {
	color: #fff !important;
}

.fc_blue {
	color: #68A9DC !important;
}

.fc_green {
	color: #4DB983 !important;
}

.fc_yellow {
	color: #FBB74C !important;
}

/*---------文字-----------*/
.ff_01 {
	font-family: var(--font-family01) !important;
}

.ff_02 {
	font-family: var(--font-family02) !important;
}

.post p {
	line-height: 2;
}

/*---------フォントサイズ-----------*/
.fz14 {
	font-size: 14px;
}

.fz16 {
	font-size: var(--rem16);
}

.fz18 {
	font-size: var(--rem18);
}

.fz20 {
	font-size: var(--rem20);
}

.fz24 {
	font-size: var(--rem24);
}

.fz30 {
	font-size: var(--rem30);
}

.fz40 {
	font-size: var(--rem40);
}

.fz60 {
	font-size: var(--rem60);
}

.fz72 {
	font-size: var(--rem72);
}


/*---------フォント太さ-----------*/
.fw-mid {
	font-weight: 600;
}

/*---------リンク-----------*/
.txc_link {
	color: #1EB3EA;
	font-weight: bold;
}

/*---------gap-----------*/
.gap1 {
	gap: 1%;
}

/*---------flex-----------*/
.flex_g1 {
	flex-grow: 1;
}

/*---------行間-----------*/
.lh140 {
	line-height: 1.4 !important;
}

/*---------border-----------*/
.border-b1 {
	border-bottom: 1px solid #B9B9B9;
}

/*---------tab表示-----------*/
@media screen and (max-width: 768px) {
	.tab_w60 {
		width: 60% !important;
	}
}

/*---------sp表示-----------*/
@media screen and (max-width: 450px) {
	.sp-txt_l {
		text-align: left !important;
	}

	.sp-txt_c {
		text-align: center !important;
	}
}

/*----------------------------------------------
  title
----------------------------------------------*/
header#h1Header h1.title {
	font-size: var(--rem72);
	font-family: var(--font-family02);
	font-weight: 500;
}

#thumbImg::before,
header#h1Header::before {
	background: transparent;
}

.post h1,
h1,
.post h2,
h2,
.post h3,
h3,
.post h4,
h4,
.post h5,
h5,
p,
div,
span {

	/*---------top-catch-----------*/
	.top-catch {
		font-family: var(--font-family03);
		color: var(--color-font);
		font-size: var(--rem36);
		text-align: left;
		margin-bottom: var(--rem40);
		line-height: 1.6;
	}

	/*---------top-main-title-----------*/
	&.top-main-title {
		font-family: var(--font-family02);
		font-size: var(--rem120);
		font-weight: 500;
		text-align: left;
		color: rgba(29, 32, 137, 0.1);
		line-height: 1;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem40);
		border: none;
		background: transparent;
		position: relative;

		&:before,
		&::after {
			content: none;
		}
	}

	/*---------top-secondary-title-----------*/
	&.top-secondary-title {
		font-family: var(--font-family02);
		font-size: var(--rem72);
		font-weight: 400;
		text-align: left;
		color: var(--color-background);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem40);
		border: none;
		background: transparent;

		&:before,
		&:after {
			content: none;
		}

		.subtxt {
			display: inline-block;
			font-size: var(--rem20);
			color: var(--color-font);
			font-weight: 500;
			padding: 0;
			margin: 0 0 0 var(--rem12);
			border: none;
			background: transparent;
		}

		&.color-primary {
			color: var(--color-primary);
		}
	}

	&.top-secondary-title--type02-center {
		font-family: var(--font-family02);
		font-size: var(--rem72);
		font-weight: 400;
		text-align: center;
		color: var(--color-primary);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem40);
		border: none;
		background: transparent;

		&:before,
		&:after {
			content: none;
		}

		.subtxt {
			display: block;
			font-size: var(--rem20);
			color: var(--color-font);
			font-weight: 500;
			padding: 0;
			margin: 0 0 0 var(--rem12);
			border: none;
			background: transparent;
		}
	}

	/*---------page-main-title-----------*/
	&.page-main-title {
		font-family: var(--font-family02);
		font-size: var(--rem60);
		font-weight: 400;
		text-align: center;
		color: var(--color-primary);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem40);
		border: none;
		background: transparent;

		&:before,
		&:after {
			content: none;
		}

		.subtxt {
			display: block;
			font-size: var(--rem18);
			color: var(--color-font);
			font-weight: 500;
			padding: 0;
			margin: 0 0 0 var(--rem12);
			border: none;
			background: transparent;
		}
	}

	&.page-sub-title {
		position: relative;
		font-size: var(--rem30);
		font-family: var(--font-family03);
		font-weight: 500;
		padding: 0 0 0 1.2em;
		margin: var(--px40) auto var(--px24);
		border: none;

		&::before {
			content: '';
			position: absolute;
			width: .7em;
			height: 2px;
			background: var(--color-primary);
			top: .8em;
			left: 0;
		}
	}

	&.contents-title {
		font-size: var(--rem24w);
		font-family: var(--font-family03);
		font-weight: 500;
		letter-spacing: .1rem;
		padding: 0 0.4em 0;
		margin: var(--px60) auto var(--px20);
		border-bottom: 2px solid #9FCCEA;
		color: var(--color-primary);

		&::before,
		&::after {
			content: none;
		}
	}
}


@media print,
screen and (max-width: 550px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p,
	div,
	span {}
}

@media print,
screen and (max-width: 450px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p,
	div,
	span {}
}

@media print,
screen and (max-width: 375px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p {

		/*---------txtstyle01-----------*/
	}
}

/*----------------------------------------------
  column
----------------------------------------------*/
/*---------column01-----------*/
.column01 {
	position: relative;
	margin: 0;
}

.column01_wrap {
	position: relative;
	margin: 0 auto;
	z-index: 1;
}

.column01 .txtarea {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--px80) var(--px40);
	margin: 0;
}

/* .column01 .txtarea .txtinner {
  max-width: 540px;
} */

.column01 .imgarea {
	overflow: hidden;
	line-height: 0;
	margin: 0;
}

.column01 .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media print,
screen and (max-width: 1024px) {
	.column01 .txtarea {
		padding: var(--px80) 5%;
	}

	.column01 {
		.flexbox {
			display: block;

			.imgarea {
				width: 100%;
			}

			.txtarea {
				width: 100%;
			}
		}
	}
}

/*---------column04-----------*/
.sec01 {
	background: #F5F5F5;
}

.toptxtarea {
	max-width: 960px;
	width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.column04 {
	position: relative;
	padding: var(--px120) 0 0;
	margin: 0;
}

.column04:before {
	content: "";
	background: var(--color-primary);
	width: 100%;
	height: 25%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.column04_wrap {
	position: relative;
	max-width: 1600px;
	width: 94%;
	margin: 0 auto;
	z-index: 1;
}

.column04 .txtarea {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--px80) var(--px40);
	margin: 0;
}

.column04 .txtarea .txtinner {
	max-width: 540px;
}

.column04 .imgarea {
	overflow: hidden;
	line-height: 0;
	margin: 0;
}

.column04 .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media print,
screen and (max-width: 768px) {
	.column04 .txtarea {
		padding: var(--px80) 5%;
	}
}


/*---------column05-----------*/
.column05 {
	position: relative;
	margin: 0;
}


.column05_wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	z-index: 20;
}

.column05_wrap+.column05_wrap {
	margin-top: calc(100px + 70px);
}

.column05 .imgarea {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	width: 60%;
}

.column05 .imgarea img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.column05 .txtarea {
	position: relative;
	width: 45%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: var(--px80) var(--px40);
	margin: 0 auto 0 -5%;
	z-index: 10;
}

.column05 .txtarea .txtinner {
	max-width: 540px;
}

@media print,
screen and (min-width: 1024px) {

	/*左右反転*/
	.column05_wrap+.column05_wrap {
		margin-top: calc(100px + 70px);
	}

	.column05_wrap.rev {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.column05_wrap.rev .txtarea {
		margin: 0 -5% auto auto;
	}
}

@media print,
screen and (max-width: 1023px) {
	.column05_wrap+.column05_wrap {
		margin-top: calc(100px + (1vw - 10.23px) * 7.7160);
	}

	.column05_wrap.rev {
		flex-direction: row;
	}

	.column05 .imgarea,
	.column05 .txtarea {
		width: 90%;
	}

	.column05 .txtarea {
		margin: calc(-60px + (1vw - 10.23px) * -3.8580) 0 0 auto;
	}
}

@media print,
screen and (max-width: 768px) {
	.column05 .txtarea {
		padding: var(--px80) 5%;
	}
}

/*---------column05_02-----------*/
.column05_02 {
	position: relative;
	margin: var(--px60) 0 0;
}


.column05_02_wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	z-index: 20;
}

.column05_02_wrap+.column05_02_wrap {
	margin-top: calc(100px + 70px);
}

.column05_02 .imgarea {
	position: relative;
	width: 50%;
}

.column05_02 .imgarea img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.column05_02 .txtarea {
	position: relative;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	/* padding: var(--px80) var(--px40); */
	/* margin: -6% auto auto 0; */
	z-index: 10;
}

.column05_02 .txtarea .txtinner {
	max-width: 540px;
	padding: 20px;
}

@media print,
screen and (min-width: 1024px) {

	/*左右反転*/
	.column05_02_wrap+.column05_02_wrap {
		margin-top: calc(100px + 70px);
	}

	.column05_02_wrap.rev {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.column05_02_wrap.rev .txtarea {
		margin: 0 -5% auto auto;
	}
}

@media print,
screen and (max-width: 1023px) {
	.column05_02_wrap+.column05_02_wrap {
		margin-top: calc(100px + (1vw - 10.23px) * 7.7160);
	}

	.column05_02_wrap.rev {
		flex-direction: row;
	}

	.column05_02 .imgarea,
	.column05_02 .txtarea {
		width: 90%;
	}

	/* .column05_02 .txtarea {
    margin: calc(-60px + (1vw - 10.23px) * -3.8580) 0 0 auto;
  } */
}

@media print,
screen and (max-width: 768px) {
	.column05_02 .txtarea {
		padding: var(--px80) 5%;
	}
}



/*---------column06-----------*/
.column06 {
	position: relative;
	margin: var(--px60) 0 0;
}

.column06_wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: center;
	z-index: 20;
}

.column06 .rev .imgarea {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	width: 60%;
}

.column06 .imgarea {
	position: relative;
	width: 50%;
}

.column06 .imgarea img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.column06 .txtarea {
	position: relative;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--px80) var(--px40);
	margin: 0 auto;
	z-index: 10;
}

.column06 .txtarea .txtinner {
	max-width: 610px;
}

.column06_wrap+.column06_wrap {
	margin-top: var(--px80);
}

@media print,
screen and (min-width: 1024px) {

	/*左右反転*/
	.column06_wrap.rev {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.column06_wrap.rev .txtarea {
		margin: 0 -5% 0 auto;
	}
}

@media print,
screen and (max-width: 1023px) {
	.column06_wrap.rev {
		flex-direction: row;
		justify-content: end;
	}

	.column06 .imgarea,
	.column06 .rev .imgarea,
	.column06 .txtarea {
		width: 90%;
	}

	.column06 .txtarea {
		margin: calc(-60px + (1vw - 10.23px) * -3.8580) 0 0 auto;
	}

	.column06 .rev .txtarea {
		margin: calc(-60px + (1vw - 10.23px) * -3.8580) auto 0 0;
	}
}

@media print,
screen and (max-width: 768px) {
	.column06_wrap {
		justify-content: center;
	}

	.column06 .txtarea {
		padding: var(--px80) 5%;
		margin: auto;
	}
}

/*----------------------------------------------
  card
----------------------------------------------*/
/*---------coln02-----------*/

.post .col2_list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
}

.post .col2_list>li {
	width: 49%;
	margin-bottom: 2%;
}

@media print,
screen and (max-width: 450px) {
	.post .col2_list>li {
		width: 100%;
	}

	.post .col2_list>li:last-child {
		margin-bottom: 0;
	}
}

/*---------col03-----------*/
.post .col3_list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
}

.post .col3_list>li {
	width: 32%;
}

.post .col3_list::before {
	content: "";
	display: block;
	width: 32%;
	height: 0;
	order: 1;
}

.post .col3_list:after {
	content: "";
	display: block;
	width: 32%;
	height: 0;
}

@media print,
screen and (max-width: 768px) {
	.post .col3_list>li {
		width: 49%;
	}

	.post .col3_list::before,
	.post .col3_list:after {
		content: none;
	}
}

@media print,
screen and (max-width: 450px) {
	.post .col3_list>li {
		width: 100%;
	}

	.post .col3_list>li:last-child {
		margin-bottom: 0;
	}
}

/*---------col4-----------*/
.post .col4_list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3%;
}

.post .col4_list>li {
	width: 22%;
	margin-bottom: 1.5%
}

/* .post .col4_list::before {
  content: "";
  display: block;
  width: 24%;
  height: 0;
  order: 1;
}

.post .col4_list:after {
  content: "";
  display: block;
  width: 24%;
  height: 0;
} */

@media print,
screen and (max-width: 1240px) {

	.post .col4_list>li,
	.post .col4_list::before,
	.post .col4_list:after {
		width: 32%;
		margin-bottom: 2%;
	}
}

@media print,
screen and (max-width: 768px) {
	.post .col4_list>li {
		width: 48%;
	}

	.post .col4_list::before,
	.post .col4_list:after {
		content: none;
	}
}

@media print,
screen and (max-width: 414px) {
	.post .col4_list>li {
		width: 100%;
	}

	.post .col4_list>li:last-child {
		margin-bottom: 0;
	}
}

/*---------col5-----------*/
.col5_list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rem20);
	justify-content: center;

	li {
		width: calc((100% / 5) - 20px);
	}
}

@media print,
screen and (max-width: 768px) {
	.col5_list {
		display: flex;
		flex-wrap: wrap;
		gap: var(--rem20);
		justify-content: normal;

		li {
			width: 48%;
		}
	}
}

@media print,
screen and (max-width: 450px) {
	.col5_list {
		display: flex;
		flex-wrap: wrap;
		gap: var(--rem20);
		justify-content: normal;

		li {
			width: 100%;
		}
	}
}

.link-img {
	.link-img_contents {
		display: inline-block;
		overflow: hidden;
		width: 100%;
		background: #111;

		img {
			height: auto;
			transition: transform .6s ease;
			/* ゆっくり変化させる */
		}
	}

	&:hover {
		.link-img_contents img {
			transform: scale(1.1);
		}
	}
}

/*----------------------------------------------
  cardstyle
----------------------------------------------*/
/*---------style02-------------*/
.card01_list.cardstyle02>li a {
	display: flex;
	flex-direction: column;

	.txtarea {
		background: #fff;
		padding: 20px 20px 30px 20px;
		flex-grow: 1;

		h3.card-title {
			font-family: var(--font-family03);
			font-size: var(--rem20);
			color: var(--color-primary);
			padding: 0;
			text-align: center;
			border: none;
			font-weight: 500;
		}
	}

	.imgarea {
		width: 100%;
		height: auto;
		transition: transform .6s ease;
		overflow: hidden;
	}

	&:hover {
		.imgarea img {
			transform: scale(1.1);
		}
	}
}

@media print,
screen and (max-width: 768px) {
	.card01_list.cardstyle02>a {
		margin-bottom: 5%;
	}
}

/*---------txtstyle02 -----------*/

.post .txtstyle02,
.txtstyle02 {
	font-family: var(--font-family01);
	font-size: var(--rem36);
	font-weight: 600;
	text-align: left;
	margin: var(--rem36) auto;
	background: transparent;
	color: var(--color-background);
	line-height: 1.4;
	padding: 0;
}

.post .txtstyle02:before,
.post .txtstyle02:after,
.txtstyle02:before,
.txtstyle02:after {
	content: none;
}

.post .card02_list .txtstyle02,
.card02_list .txtstyle02 {
	font-size: var(--rem20);
	margin: 0 0 1rem;
}

/*---------03_style02-------------*/
.card03_list.cardstyle02 .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s all;
}

.card03_list.cardstyle02>li:hover .imgarea img {
	transform: scale(1.04);
}

.card03_list.cardstyle02>li:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 1;
}

.card03_list.cardstyle02 .txtinner {
	position: relative;
	color: #fff;
	z-index: 1;
}

.card03_list.cardstyle02 .txtinner .txtstyle02 {
	color: #fff;
}

.card03_list.cardstyle02 .imgarea {
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	overflow: hidden;
	line-height: 0;
	z-index: -1;
}

.card03_list.cardstyle02 .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card03_list.cardstyle02 a.filllink {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 3;
}

body#editor-style .card03_list.cardstyle02 a.filllink {
	position: static;
	display: block;
	background: #111;
	height: 30px;
}

body#editor-style .card03_list.cardstyle02 a.filllink::before {
	content: "ダブルクリックでリンク設定";
	color: #fff;
	font-size: 10px;
	white-space: nowrap;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -10;
}

body#editor-style .card03_list.cardstyle02>li:before {
	z-index: -1;
}

body#editor-style .card03_list.cardstyle02 .imgarea {
	position: static;
}


.card03_list>li {
	background: #eee;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 5;
}

.card03_list .txtarea {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: var(--px60) var(--px30);
	font-family: var(--font-family02);
	font-weight: 400;
}

/*----------------------------------------------
  cta
----------------------------------------------*/
.cta01 {
	background: url(/wp-content/uploads/cta-bg.jpg) no-repeat center /cover;
	position: relative;
	z-index: 0;
}

.cta01 .cta01_wrap {
	max-width: 1240px;
	width: 90%;
	margin: 0 auto;
}

.cta01 .ctabtnlist {
	justify-content: space-between;
	max-width: 1240px;
	margin: var(--px50) auto 0 auto;
}

.cta01 .ctabtnlist li {
	width: 50%;
	margin: 0;
	padding: 0;
	line-height: 1;
	display: flex;
}

.cta01 a.item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--px30) 0;
	text-align: center;
	box-sizing: border-box;
	color: #111;
	border-radius: 0;
	transition: all ease .15s;
}

.cta01 a.item:hover {
	opacity: 0.8;
}

@media print,
screen and (max-width: 768px) {

	.cta01 .ctabtnlist li,
	.cta01 .ctabtnlist a.item {
		width: 100%;
	}

	.cta01 .ctabtnlist li+li {
		margin-top: 1rem;
	}
}

/*ボタン共通パーツ*/

.cta01 .btnttl {
	display: block;
	margin-bottom: 1rem;
}

.cta01 .infotxt {
	font-size: var(--rem16);
	font-weight: 400;
}

/*電話ボタン*/

.cta01 .telnum {
	font-size: var(--rem36);
	margin-bottom: 1rem;
	color: var(--color-primary);
	font-weight: bold;
	font-family: var(--font-family02);
}

.cta01 .telbtn .btnttl {
	font-size: var(--rem20);
}

.cta01 a.telbtn {
	background: var(--color-background);
	color: var(--color-font);
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
	;
}

/*メールボタン*/

.cta01 .mailbtn .btnttl {
	font-size: var(--rem24);
}

.cta01 a.mailbtn {
	background: var(--color-primary);
	color: var(--color-background);
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}

/*LINEボタン*/

.cta01 a.linebtn {
	background: #00B900;
	color: #fff;
	border-radius: 10px;
}

.cta01 .linebtn .btnttl {
	font-size: var(--rem24);
}

/*ボタンアイコン*/

.cta01 .telnum::before,
.cta01 .linebtn .btnttl::before {
	content: '';
	display: inline-block;
	font-family: 'Font Awesome 5 Free', 'FontAwesome';
	font-weight: 900;
	margin-right: 1rem;
}

.cta01 .telnum::before {
	content: '\f3cd';
}

.cta01 .mailbtn .btnttl::before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 20px;
	background: url(/wp-content/uploads/icon-tel.png) no-repeat center / contain;
	margin-right: 5px;
}

.cta01 .linebtn .btnttl::before {
	content: '\f3c0';
	font-weight: 400;
}

/*----------------------------------------------
  header
----------------------------------------------*/

/*--------------google翻訳--------------*/
#flags ul li a {
	padding: 0 !important;
}

.gt_flex {
	display: flex;
	justify-content: flex-end;
	padding: 5px 10px;
	background: var(--header-secondary);
}

#flags {
	width: 160px !important;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.gt_flex #flags,
.gt_flex #google_language_translator {
	height: 30px;
}

.gt_flex ul#sortable li {
	height: 18px !important;
	display: block;
}

/*--------------google翻訳ここまで--------------*/
#header {

	a.head_btn.tel_btn {
		display: flex;
		align-items: center;
		font-size: 2.2rem;
		background: none;
		color: #fff;
		background-color: var(--header-secondary);

		&::before {
			content: none;
		}

		&:hover {
			opacity: 0.8;
		}
	}

	a.head_btn .header_tel {
		color: var(--color-primary);
		font-family: var(--font-family02);
		font-size: var(--rem30);

		&:before {
			content: '\f095';
			display: inline-block;
			font-family: 'FontAwesome';
			font-size: 2rem;
			font-weight: 400;
			line-height: 1;
			margin-bottom: .1em;
			margin-right: 5px;
		}
	}

	a.head_btn .header_time {
		color: var(--color-font);
		font-weight: 300;

		&::before {
			content: none;
		}
	}

	a.head_btn.mail_btn {
		&::before {
			content: none;
		}

		>span {
			&:before {
				content: '';
				display: inline-block;
				width: 25px;
				height: 20px;
				background: url(/wp-content/uploads/icon-tel.png) no-repeat center /contain;
				margin-right: 5px;
			}
		}
	}

	nav#mainNav ul li a:active span,
	nav#mainNav ul li a:hover span,
	nav#mainNav ul li.current-menu-item a span,
	nav#mainNav ul li.current-menu-parent a span {
		color: var(--color-primary);
	}

	nav#mainNav ul li a {
		font-family: var(--font-family02);
	}

	nav#mainNav ul li a b,
	nav#mainNav ul li a span {
		margin-top: 0;
		font-weight: 500;
	}
}

.spmenu #menu p {
	transform: translateX(-50%);
	left: 50%;
	white-space: nowrap;
}

@media print,
screen and (min-width: 1024px) {
	nav#mainNav ul li a {
		padding: var(--px20);
		font-size: var(--px18);

		&:hover {
			opacity: 0.6;
		}
	}

	#header a.head_btn.mail_btn {
		background: var(--color-primary);
		color: #fff;

		&:hover {
			background: var(--color-primary);
			color: #fff;
			opacity: 0.8;
		}
	}
}

@media print,
screen and (min-width: 1024px) {
	nav#mainNav ul li li {
		background: var(--color-background);
	}
}

/*----------------------------------------------
  footer
----------------------------------------------*/
#footer .footer__logo img {
	max-width: 320px;
	max-height: var(--px160);
	-o-object-fit: contain;
	object-fit: contain;
}

/*----------------------------------------------
  link
----------------------------------------------*/
.txt-link {
	font-family: var(--font-family01);
	border-bottom: 1px solid var(--color-font);
	font-weight: 600;
}

/*----------------------------------------------
  btn
----------------------------------------------*/
.linkBtn {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--color-primary);
	color: var(--color-background);
	padding: 20px 40px;
	font-size: 20px;
	font-family: serif;
	letter-spacing: 2px;
	border: none;
	cursor: pointer;
	text-transform: uppercase;
	width: 300px;
	border-radius: 0;
	text-align: center;

	&:hover {
		opacity: 0.8;
		background-color: var(--color-primary);
		color: var(--color-background);
	}

	.arrow {
		position: relative;
		display: inline-block;
		width: 20px;
		height: 1px;
		margin-top: 0;
		border-radius: 9999px;
		background-color: var(--color-background);

		&::before {
			content: "";
			position: absolute;
			top: calc(50% - 1px);
			right: 0;
			width: 10px;
			height: 1px;
			border-radius: 9999px;
			background-color: var(--color-background);
			transform: rotate(45deg);
			transform-origin: calc(100% - 2px) 50%;
		}

		&::after {
			content: none !important;
		}
	}

	&::after {
		content: none;
	}
}

.post {
	.linkBtn {
		display: inline-flex;
		justify-content: center;
		background-color: var(--color-primary);
		color: var(--color-background);
		padding: 20px 40px;
		font-size: 20px;
		font-family: serif;
		letter-spacing: 2px;
		border: none;
		cursor: pointer;
		text-transform: uppercase;
		width: 300px;
		position: relative;
		border-radius: 0;

		&:hover {
			opacity: 0.8;
			background-color: var(--color-primary);
			color: var(--color-background);
		}

		.arrow {
			position: absolute;
			display: inline-block;
			width: 20px;
			height: 1px;
			margin-top: 0;
			border-radius: 9999px;
			background-color: var(--color-background);
			top: 52%;
			right: 20px;

			&::before {
				content: "";
				position: absolute;
				top: calc(50% - 2px);
				right: 0;
				width: 10px;
				height: 1px;
				border-radius: 9999px;
				background-color: var(--color-background);
				transform: rotate(45deg);
				transform-origin: calc(100% - 2px) 50%;
			}

			&::after {
				content: none !important;
			}
		}

		&::after {
			content: none;
		}
	}

}

.post {
	.subimitarea {

		.linkBtn {
			display: inline-flex;
			justify-content: space-between;
			align-items: center;
			background-color: var(--color-primary);
			color: var(--color-background);
			padding: 0;
			font-size: 20px;
			font-family: serif;
			letter-spacing: 2px;
			border: none;
			cursor: pointer;
			text-transform: uppercase;
			width: 300px;

			&:hover {
				opacity: 0.8;
				background-color: var(--color-primary);
				color: var(--color-background);
			}

			.arrow {
				position: relative;
				display: inline-block;
				width: 20px;
				height: 1px;
				margin-top: 0;
				border-radius: 9999px;
				background-color: var(--color-background);

				&::before {
					content: "";
					position: absolute;
					top: calc(50% - 1px);
					right: 0;
					width: 10px;
					height: 1px;
					border-radius: 9999px;
					background-color: var(--color-background);
					transform: rotate(45deg);
					transform-origin: calc(100% - 2px) 50%;
				}

				&::after {
					content: none !important;
				}
			}

			&::after {
				content: none;
			}
		}
	}
}

a {
	&.linkBtn {
		display: inline-flex;
		justify-content: space-between;
		align-items: center;
		background-color: var(--color-primary);
		color: var(--color-background);
		padding: 20px 40px;
		font-size: 20px;
		font-family: serif;
		letter-spacing: 2px;
		border: none;
		cursor: pointer;
		text-transform: uppercase;
		width: 300px;

		&:hover {
			opacity: 0.8;
			background-color: var(--color-primary);
			color: var(--color-background);
		}

		.arrow {
			position: relative;
			display: inline-block;
			width: 20px;
			height: 1px;
			margin-top: 0;
			border-radius: 9999px;
			background-color: var(--color-background);

			&::before {
				content: "";
				position: absolute;
				top: calc(50% - 1px);
				right: 0;
				width: 10px;
				height: 1px;
				border-radius: 9999px;
				background-color: var(--color-background);
				transform: rotate(45deg);
				transform-origin: calc(100% - 2px) 50%;
			}

			&::after {
				content: none !important;
			}
		}

		&::after {
			content: none;
		}
	}
}


/*----------------------------------------------
  fullwide
----------------------------------------------*/
/* ----fullwide03----*/
.fullwide03 {
	position: relative;
	padding: var(--px80) 0 0;
}

.fullwide03:before {
	content: "";
	background: url(/wp-content/uploads/top-recruit-bg.jpg) no-repeat center / cover;
	width: 100%;
	height: 70%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.fullwide03_inner {
	width: 100%;
}

.fullwide03_wrap {
	position: relative;
	z-index: 1;
	max-width: 1400px;
	width: 94%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media print,
screen and (max-width: 768px) {
	.fullwide03_wrap {
		padding: var(--px80) 5%;
	}
}

/*----------------------------------------------
  table
----------------------------------------------*/
@media print,
screen and (max-width: 768px) {
	.table-wrap {
		overflow-x: scroll;

		table {
			width: 1000px;
		}
	}
}


.post table th {
	background: var(--color-primary);
	color: var(--color-background);
}

.post table td {
	background: var(--color-background);
}

.post table.table_style02 {
	border: none;
}

/*----------------------------------------------
  teleco_v1
----------------------------------------------*/
.teleco_v1 h2 {
	width: 100%;
}

.teleco_v1 .w50.image_box {
	position: relative;
	overflow: hidden;
}

.teleco_v1 .w50.image_box::before {
	content: '';
	display: block;
}

.teleco_v1 .w50.image_box img {
	position: absolute;
	width: 102%;
	height: auto;
	max-width: none;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.teleco_v1 .w50.text_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: min(calc(80px + (1vw - 19.2px) * 3.5599), 100px);
	/* 120-65px (1920-375) */
}

@media print,
screen and (min-width: 769px) {
	.teleco_v1 .w50.image_box::before {
		padding-top: calc(550px + (1vw - 19.2px) * 17.3762);
	}

	.teleco_v1 .w50.image_box img {
		width: auto;
		height: 116%;
	}
}

.flexinnerBtn {
	align-self: normal;
}

@media print,
screen and (max-width: 768px) {
	.teleco_v1 .w50.image_box {
		margin-bottom: 0;
	}

	.teleco_v1 .w50.image_box::before {
		padding-top: calc(350px + (1vw - 7.68px) * 27.9898);
	}

	.teleco_v1 .w50.text_box {
		padding: 20px;
		margin-bottom: 0;
	}
}


/* ==========================
TOP
=========================== */
.top-about {
	background: url(/wp-content/uploads/top-about-bg.jpg) no-repeat right bottom /cover;
}

.top-service {
	background: url(/wp-content/uploads/top-service-bg.jpg) no-repeat center bottom /cover;

	ul.col3_list {
		justify-content: center;
		gap: var(--rem40);

		li {
			width: calc((100% / 3) - 4rem);
			display: flex;
			flex-direction: column;

			a {
				flex: 1;
			}
		}

		&::before,
		&::after {
			content: none;
		}
	}
}

@media print,
screen and (max-width: 768px) {

	.top-service,
	.top-news {
		padding: var(--px120) 5%;
	}

	.top-service {
		ul.col3_list {
			display: grid;
			grid-template-columns: repeat(2, 1fr);

			li {
				width: 100%;
			}
		}
	}
}

@media print,
screen and (max-width: 450px) {

	.top-service {
		ul.col3_list {
			display: flex;
			flex-direction: column;

			li {
				width: 100%;
			}
		}
	}
}

/* ==========================
service
=========================== */
.page-service {
	background: url(/wp-content/uploads/service-bg.png) no-repeat right top / contain;
}


/* ==========================
お問い合わせ
=========================== */

.wpcf7-form .must {
	background: #B63033;
	color: var(--color-background);
}

/* ==========================
サイトマップ
=========================== */
.page-sitemap {
	#sitemap_list {
		.pc_none.sp_none {
			display: block;
		}
	}
}


/*================================================
					会社概要
================================================*/

/*--見出し--------------------------------------------*/

.post .sub_company h2 {
	font-size: min(calc(2.8rem + (1vw - 19.2px) * 0.4531), 2.8rem);
	/* 2.8-2.1rem (1920-375) */
	font-weight: 600;
	text-align: left;
	letter-spacing: .2rem;
	padding: 0;
	margin: min(calc(120px + (1vw - 19.2px) * 3.5599), 120px) auto min(calc(50px + (1vw - 19.2px) * 0.9709), 50px);
	/* 120-65px auto 50-35px (1920-375) */
}

.post .sub_company h2::before {
	content: none;
	position: relative;
	width: auto;
	height: auto;
	top: auto;
	left: auto;
}

.post .sub_company h2::after {
	content: '';
	position: relative;
	visibility: visible;
	display: block;
	width: 2.2em;
	height: 2px;
	background: var(--color-primary);
	margin: 0.6em auto 0;
	margin-right: auto;
	margin-left: 0;
}

.post .sub_company h2:first-child {
	margin-top: 0;
}

/*--テーブル--------------------------------------------*/

.post table.table_style02,
.post table.table_style02 th,
.post table.table_style02 td {
	border-width: 1px 0;
	border-color: var(--color-table-border);
}

.post table.table_style02 {
	margin: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px) auto;
	/* 30-20px (1920-375) */
}

.post table.table_style02 th,
.post table.table_style02 td {
	font-size: min(calc(1.6rem + (1vw - 19.2px) * 0.1294), 1.6rem);
	padding: min(calc(20px + (1vw - 19.2px) * 0.5580), 20px) min(calc(15px + (1vw - 19.2px) * 0.3236), 15px);
	/* 20-15px 15-10px (1920-375) */
}

.post table.table_style02 th {
	width: 25%;
	font-weight: 600;
}

.post table.table_style02:first-child {
	margin-top: 0;
}

.post table.table_style02:last-child {
	margin-bottom: 0;
}

/*--list--------------------------------------------*/

.post .list_style01 li {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	flex-shrink: 0;
	border-bottom: solid 1px #ddd;
}

.post .history_style01 li .head {
	width: 25%;
	padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
	/* 30-20px 15-10px (1920-375) */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.post .list_style01 li .body {
	padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
	/* 30-20px 15-10px (1920-375) */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.post .list_style01 li:nth-child(odd) {
	background: #eee;
}

@media only screen and (max-width: 640px) {
	.post .list_style01 li {
		flex-direction: column;
	}

	.post .list_style01 li .head {
		width: 100%;
		padding-bottom: 0;
	}
}

/*--幅フル100%背景色--------------------------------------------*/

.widecolor {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px) calc((100vw - 100%) / 2) min(calc(150px + (1vw - 19.2px) * 3.2362), 150px);
	margin-top: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);
	/* 120-80px (1920-375) */
	background: #fafafa;
}

/*--幅フル100%--------------------------------------------*/

.widearea {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
}