@charset 'UTF-8';

* {
margin: 0px;
padding: 0px;
word-break: normal !important;
word-wrap: break-word;
line-break:normal;
border: 0;
outline: 0;
box-sizing: border-box;
hanging-punctuation: force-end;
}

html {
scroll-padding-top: 100px;
overflow: auto;
font-size: 62.5%;
}
body {
position: relative;
max-height: 100%;
margin: 0;
padding: 0;
font-style: normal;
font-family: "Noto Sans JP", sans-serif;
font-size: 1.6rem;
font-optical-sizing: auto;
font-weight: 500;
letter-spacing: .05em;
line-height: 1.6;
color: #2d2d2d;
background-color: #fff;
-webkit-text-size-adjust: 100%;
}
@media (max-width: 1023px) {
	html {
	font-size: 60%;
	}
	body {
	letter-spacing: 0;
	}
}
@media (max-width: 767px) {
	html {
	scroll-padding-top: 70px;
	font-size: 55%;
	}
	body {
	width: 100%;
	font-size: 1.5rem;
	}
}
@media (max-width: 374px) {
	html {
	font-size: 50%;
	}
}

section {
position: relative;
}
section:after {
clear:both;
display:block;
content:"";
}
table {
border-collapse: collapse;
border-spacing: 0;
}
table th {
font-weight: normal;
text-align: inherit;
}
nav, ol, ul {
list-style: none;
}

h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: bold;
}
h1, h2, h3 {
line-height: 1.4;
}
@media (min-width: 1024px) {
}
@media (max-width: 767px) {
	h1, h2, h3 {
	}
}
@media (max-width: 374px) {
	h1, h2, h3 {
	}
}

a {
text-decoration: none;
color: inherit;
}
a:hover {
text-decoration: none;
}
@media (min-width: 768px) {
	a[href^="tel:"] {
	pointer-events: none;
	}
}

/*-------------------------
 フォームパーツ
-----------------------*/
button {
cursor: pointer;
font-family: inherit;
font-size: inherit;
background-color: transparent;
border: 0;
}
input,
select,
textarea {
display: block;
font-family: inherit;
font-size: inherit;
color: #333;
border: 1px solid #c7c7c7;
}
input[type="button"],
input[type="text"],
input[type="tel"],
input[type="submit"],
input[type="image"],
textarea {
-webkit-appearance: none;
}
input[type="text"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="email"],
textarea {
-webkit-appearance: none;
width: 100%;
padding: 10px;
background-color: #fff;
border-radius: 0;
}
select {
width: 100%;
padding: 10px;
background-color: #fff;
border-radius: 0;
}
input[type="file"] {
-webkit-appearance: none;
background-color: transparent;
border: 0;
}
input[type="checkbox"],
input[type="radio"] {
display: inline-block;
margin-left: 2px;
margin-right: 0.5em;
transform: scale(1.1, 1.1);
}
.select {
position: relative;
}
.select::after {
position: absolute;
content: "";
width: 12px;
height: 10px;
top: 50%;
transform: translateY(-50%);
right: 10px;
background-color: #888;
clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.select select {
-webkit-appearance: none;
}
textarea {
width: 100%;
height: 250px;
}
::placeholder {
}
.contact_submit_flex {
display: flex;
justify-content: center;
margin: 3em auto 0;
}
.contact_previous,
.contact_submit {
display:flex;
justify-content: center;
align-items: center;
width: fit-content;
width: 300px;
height: 60px;
margin: 0 10px;
color: #333;
border: 2px solid #3979b7;
border-radius: 100px;
}
.contact_previous {
background-color: #c7c7c7;
border-color: #c7c7c7;
}
.contact_submit {
background-color: #3979b7;
}
.contact_submit .wpcf7-spinner {
display: none;
}
.contact_previous input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: none;
cursor: pointer;
cursor: hand;
width: 100%;
height: 100%;
font-weight: bold;
letter-spacing: 1px;
color: #fff;
background-color: transparent;
border-color: transparent;
border-radius: 0;
}
.contact_previous input[type="button"],
.contact_previous input[type="reset"],
.contact_previous input[type="submit"] {
color: #fff;
}
input[readonly="readonly"] {
border-width: 0;
}
.privacy_check {
margin-top: 20px;
text-align: center;
}
.privacy_check_p {
margin-bottom: 20px;
}
.hissu {
display: inline-block;
margin-left: 1em;
padding: 5px;
font-size: 1.3rem;
font-weight: normal;
line-height: 1;
background-color: #fff;
border: 1px solid;
}
@media (max-width:1023px) {
	.select::after {
	width: 10px;
	height: 8px;
	right: 8px;
	}
}
@media (min-width:768px) {
	/* focus */
	input[type="text"]:focus,
	input[type="tel"]:focus,
	input[type="password"]:focus,
	input[type="date"]:focus,
	input[type="email"]:focus,
	select:focus,
	textarea:focus {
	background-color: #fbfcd6;
	transition: .3s;
	}
	input[readonly="readonly"]:focus {
	background-color: #fff;
	}
	/* hover */
	.privacy_check a:hover {
	opacity: .5;
	transition: .3s;
	}
	.contact_previous:hover {
	background-color: #fff;
	border-color: #2d2d2d;
	transition: .3s;
	}
	.contact_submit:hover {
	background-color: #7fbd45;
	border-color: #7fbd45;
	transition: .3s;
	}
	.contact_previous:hover input {
	color: #2d2d2d;
	}
	.contact_submit:hover input {
	color: #fff;
	transition: .3s;
	}
}
@media (max-width:767px) {
	input[type="text"],
	input[type="tel"],
	input[type="password"],
	input[type="date"],
	input[type="email"],
	select,
	textarea {
	padding: 10px;
	border-radius: 0;
	}
	.select::after {
	width: 10px;
	height: 6px;
	right: 7px;
	}
	textarea {
	height: 200px;
	}
	.contact_submit,
	.contact_previous {
	width: 200px;
	height: 42px;
	margin: 0 2px;
	font-size: inherit !important;
	}
}

/*-----------------------
 slick
-----------------------*/
.slick-slider {
overflow: hidden;
position: relative;
display: block;
margin: 0;
padding: 0;
line-height: 0;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list {
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus {
outline: none;
}
.slick-list.dragging {
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slick-track {
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after {
display: table;
content: '';
}
.slick-track:after {
clear: both;
}
.slick-loading .slick-track {
visibility: hidden;
}
.slick-slide {
overflow: hidden;
display: none;
float: left;
height: 100%;
min-height: 1px;
}
[dir='rtl'] .slick-slide {
float: right;
}
.slick-slide img,
.slick-slide video {
display: block;
object-fit: cover;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
vertical-align: middle;
}
.slick-slide.slick-loading img {
display: none;
}
.slick-slide.dragging img {
pointer-events: none;
}
.slick-initialized .slick-slide {
display: block;
}
.slick-loading .slick-slide {
visibility: hidden;
}
.slick-vertical .slick-slide {
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
.slick-prev,
.slick-next {
z-index: 1;
position: absolute;
width: 50px;
height: 50px;
top: 50%;
transform: translateY(-50%);
font-size: 0;
background-repeat: no-repeat;
background-size: contain;
}
.slick-prev {
left: 0;
}
.slick-next {
right: 0;
}
.slick-prev::before,
.slick-next::before {
position: absolute;
content: "";
width: calc(16px);
height: calc(25px);
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
background-repeat: no-repeat;
background-size: contain;
filter: brightness(0) invert(1);
}
.slick-prev::before {
background-image: url(./common/img/arrow_prev@2x.png);
}
.slick-next::before {
background-image: url(./common/img/arrow_next@2x.png);
}
.slick-prev button,
.slick-next button {
}
.slick-prev button {
}
.slick-next button {
}
@media (max-width:1023px) {
	.slick-prev,
	.slick-next {
	width: 40px;
	height: 40px;
	}
	.slick-prev::before,
	.slick-next::before {
	width: calc(16px * .8);
	height: calc(25px * .8);
	}
}
@media (min-width:768px) {
	/* hover */
	.slick-slide a:hover img {
	opacity: .5;
	transition: .3s;
	}
	.slick-prev:hover,
	.slick-next:hover {
	opacity: .5;
	transition: .3s;
	}
}
@media (max-width:767px) {
	.slick-prev,
	.slick-next {
	width: 30px;
	height: 30px;
	}
	.slick-prev::before,
	.slick-next::before {
	width: calc(16px * .8);
	height: calc(25px * .8);
	}
}

/*-----------------------
 共通設定
-----------------------*/
.body_wrap {
overflow: hidden;
}

.right { text-align: right !important; }
.left { text-align: left !important; }
.center { text-align: center !important; }
.fit { width: fit-content;margin-right: auto;margin-left: auto; }
@media (max-width: 767px) {
	.fit_sp {
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
	}
}
.normal { font-weight: normal;}
.font_small { font-size: 1.4rem; }
.font_large { font-size: 1.8rem; }
.red { color: #e10915; }
.underline { text-decoration: underline; }
.bold { font-weight: bold; }

.news {
color: #477a18 !important;
border-color: #e1e5c4 !important;
}
.topics {
color: #408c8c !important;
border-color: #ccecec !important;
}
.cat03 {
color: #a17f17 !important;
border-color: #e5dece !important;
}
.cat04 { border-color: #6bd0f1; }

.txtlink a {
text-decoration: underline;
}
@media (min-width:768px) {
	.txtlink a:hover {
	opacity: .5;
	transition: .5s;
	}
}

.bg {
position: relative;
}
.bg::after {
z-index: -99;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
}

img {
display: block;
width: 100%;
max-width: 100%;
width: auto;
height: auto;
margin-right: auto;
margin-left: auto;
vertical-align:top;
}

.mb1 {
margin-bottom: 1em;
}
.mt1 {
margin-top: 1em;
}

.sp {
display: none;
}
@media (max-width: 767px) {
	.pc {
	display: none;
	}
	.sp {
	display: block;
	}
}

/*-----------------------
 ヘッダー
-----------------------*/
html.active {
overflow: hidden;
}
header {
z-index: 9;
position: fixed;
width: 100%;
top: 0;
left: 0;
padding: 30px 36px;
transition: all 0.2s ease-in-out;
}
.header_wrap {
display: flex;
align-items: center;
margin: auto;
}
.head_logo {
width: calc(1150px * .4);
height: calc(140px * .4);
font-size: 0;
background-image: url(./common/img/logo.png);
background-repeat: no-repeat;
background-size: contain;
}
.head_logo a {
display: block;
width: 100%;
height: 100%;
}
.head_box {
width: calc(100% - 398px);
}
.head_nav {
display: flex;
align-items: center;
justify-content: flex-end;
font-weight: bold;
line-height: 1;
}
.head_nav_ul {
display: flex;
}
.head_nav_li {
position: relative;
margin: 0 1em;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.8rem;
letter-spacing: 0;
color: #fff;
text-shadow: 0 0 5px #000;
}
.head_nav_li a {
display: block;
}
.head_btn {
display: flex;
margin-left: 40px;
}
.head_btn_li {
position: relative;
width: 110px;
height: 110px;
text-align: center;
letter-spacing: 0;
border: 3px solid transparent;
border-radius: 14px;
}
.head_btn_li.contact {
color: #fff;
background-color: rgba(48,109,174,.9);
}
.head_btn_li::before {
position: absolute;
content: "";
width: calc(34px);
height: calc(34px);
top: 25px;
left: 50%;
transform: translateX(-50%);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
.head_btn_li.recruit::before {
background-image: url(./common/img/ico_recruit.svg);
}
.head_btn_li.contact::before {
background-image: url(./common/img/ico_mail.svg);
background-size: 90%;
}
.head_btn_li a {
z-index: 1;
position: relative;
display: block;
width: 100%;
height: 100%;
padding-top: 70px;
}
@media (max-width:1699px) {
	header {
	padding: 20px 30px;
	}
	.head_box {
	width: calc(100% - (398px));
	}
}
@media (max-width:1400px) {
	.head_logo {
	width: calc(1150px * .38);
	height: calc(140px * .38);
	}
	.head_box {
	width: calc(100% - (398px * .8));
	}
	.head_nav_li {
	margin: 0 1em;
	font-size: inherit;
	}
	.head_btn {
	margin-left: 30px;
	}
	.head_btn_li {
	width: 100px;
	height: 100px;
	margin-left: 10px;
	border-radius: 10px;
	}
	.head_btn_li::before {
	top: 20px;
	}
	.head_btn_li a {
	padding-top: 66px;
	}
}
@media (min-width:1261px) {
	/* fixed */
	html.is-fixed header {
	padding: 10px 15px;
	background-color: rgba(255,255,255,.9);
	box-shadow: 0 0 15px rgba(0,0,0,.2);
	}
	html.is-fixed .head_logo {
	width: calc(425px * .7);
	height: calc(45px * .7);
	background-image: url(./common/img/logo_b.svg);
	filter: inherit;
	}
	html.is-fixed .head_box {
	width: calc(100% - (398px * .7));
	}
	html.is-fixed .head_nav_li {
	font-size: inherit;
	text-shadow: inherit;
	color: #2d2d2d;
	}
	html.is-fixed .head_btn {
	margin-left: 10px;
	}
	html.is-fixed .head_btn_li {
	width: 120px;
	height: auto;
	margin-left: 5px;
	border: 2px solid #3979b7;
	border-radius: 4px;
	}
	html.is-fixed .head_btn_li::before {
	display: none;
	}
	html.is-fixed .head_btn_li a {
	padding: 8px 5px;
	}
}
@media (max-width:1260px) {
	header {
	padding: 8px 20px;
	}
	.head_box {
	padding-right: 70px;
	}
	html.is-fixed header {
	position: absolute;
	}
	.head_nav_ul {
	display: none;
	}
	.head_btn {
	}
	.head_btn_li {
	width: 90px;
	height: 70px;
	font-size: 1.4rem;
	border-radius: 8px;
	}
	.head_btn_li::before {
	width: calc(34px * .8);
	height: calc(34px * .8);
	top: 8px;
	}
	.head_btn_li.contact::before {
	background-size: 95%;
	}
	.head_btn_li a {
	padding-top: 40px;
	}
	.toggle {
	z-index: 99999;
	cursor: pointer;
	position: fixed;
	display: block;
	width: 70px;
	height: 70px;
	top: 8px;
	right: 10px;
	background-color: #7fbd45;
	}
	html.active .toggle {
	}
	.toggle::before {
	display: none;
	position: absolute;
	content: "MENU";
	width: 100%;
	bottom: 17px;
	left: 0;
	right: 0;
	margin: auto;
	font-family: "arial", sans-serif;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	color: #fff;
	}
	.toggle div {
	position: absolute;
	width: 34px;
	height: 26px;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	}
	.toggle span {
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	background-color: #fff;
	border-radius: 100px;
	transition: .35s ease-in-out;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	}
	.toggle span:nth-child(1) {
	top: 0;
	}
	.toggle span:nth-child(2) {
	top: 11px;
	}
	.toggle span:nth-child(3) {
	top: 22px;
	}
	html.active .toggle {
	z-index: 99999;
	}
	html.active .toggle::before {
	content: "CLOSE";
	}
	html.active .toggle span {
	top: 10px;
	}
	html.active .toggle span:nth-child(1) {
	transform: translateY(0) rotate(-45deg);
	}
	html.active .toggle span:nth-child(2) {
	transform: translateY(0) rotate(45deg);
	}
	html.active .toggle span:nth-child(3) {
	opacity: 0;
	}
}
@media (max-width:1023px) {
	header {
	padding-left: 15px;
	}
}
@media (min-width:768px) {
	/* hover */
	.head_logo:hover {
	opacity: .5;
	transition: .3s;
	}
	.head_nav_li::before {
	opacity: 0;
	position: absolute;
	content: "";
	width: calc(100% + 8px);
	height: 3px;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	border-bottom: 3px dotted #fff;
	}
	html.is-fixed .head_nav_li::before {
	border-color: #7fbd45;
	}
	.head_nav_li:hover::before {
	opacity: 1;
	transition: .3s;
	}
	.head_btn_li:hover {
	color: #fff;
	background-color: #7fbd45;
	border-color: #fff;
	transition: background-color .5s;
	}
	.head_btn_li:hover::before {
	filter: brightness(0) invert(1);
	}
	html.is-fixed .head_btn_li:hover {
	border-color: #7fbd45;
	}
	html.is-fixed .head_btn_li.contact:hover {
	}
}
@media (max-width:767px) {
	header {
	padding: 15px;
	}
	.head_logo {
	width: calc(1150px * .25);
	height: calc(140px * .25);
	background-image: url(./common/img/logo_s.png);
	}
	.head_btn {
	display: none;
	}
	.toggle {
	width: 50px;
	height: 50px;
	}
	.toggle div {
	width: 24px;
	height: 20px;
	}
	.toggle span:nth-child(2) {
	top: 9px;
	}
	.toggle span:nth-child(3) {
	top: 18px;
	}
	html.active .toggle span {
	top: 8px;
	}
}

/*-----------------------
 TOP
-----------------------*/
/*--メインビジュアル--*/
.mv {
position: relative;
}
.mv_wrap {
position: relative;
margin: auto;
}
.mv_video {
width: 100%;
}
.mv_video_in {
width: 100% !important;
}
.mv_video video {
object-fit: cover;
object-position: bottom right;
aspect-ratio: 72 / 48;
width: 100%;
height: 100%;
}
.mv_txt {
position: absolute;
width: calc(100% - 220px);
left: 50%;
transform: translateX(-50%);
bottom: 80px;
text-shadow: 0 0 15px #000;
color: #fff;
}
.mv_txt_wrap {
width: fit-content;
margin-left: auto;
}
.mv_txt_1 {
font-size: 6.7rem;
font-weight: 400;
line-height: 1.3;
letter-spacing: .2em;
}
@media (max-width:1600px) {
	.mv_txt {
	width: calc(100% - 100px);
	bottom: 100px;
	}
}
@media (max-width:1260px) {
	.mv_txt {
	width: calc(100% - 40px);
	bottom: 50px;
	}
	.mv_txt_1 {
	font-size: 6.0rem;
	}
}
@media (max-width:1023px) {
	.mv_txt_1 {
	font-size: 5.0rem;
	font-weight: 500;
	}
}
@media (min-width:768px) {
}
@media (max-width:767px) {
	.mv_txt {
	bottom: 15px;
	}
	.mv_txt_1 {
	font-size: 2.4rem;
	}
}

/*--top共通--*/
.top_main {
position: relative;
}
.top_sec {
padding: 90px 30px;
}
.top_sec:first-of-type {
padding-top: 180px;
}
.top_sec:last-of-type {
padding-bottom: 180px;
}
.top_wrap {
max-width: 1454px;
margin: auto;
}
.top_ttl {
margin-bottom: 45px;
}
.top_ttl_1 {
display: block;
margin-bottom: 15px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.8rem;
font-weight: 500;
line-height: 1;
}
.top_ttl_2 {
display: block;
font-size: 3.4rem;
letter-spacing: .12em;
}
.top_txt {
font-size: 1.8rem;
line-height: 2;
}
.top_more {
width: fit-content;
min-width: 190px;
font-size: 1.5rem;
text-align: center;
line-height: 1;
color: #fff;
background-color: #3979b7;
border: 2px solid #3979b7;
border-radius: 100px;
}
.top_more a {
position: relative;
display: block;
padding: 15px 54px 15px 40px;
}
.top_more a::before {
position: absolute;
content: "";
width: calc(24px * .6);
height: calc(13px * .6);
top: 50%;
transform: translateY(-50%);
right: 20px;
background-image: url(./common/img/ico_arrow01.png);
background-repeat: no-repeat;
background-size: contain;
filter: brightness(0) invert(1);
}
@media (max-width:1514px) {
	.top_wrap {
	max-width: 1200px;
	}
}
@media (max-width:1260px) {
	.top_wrap {
	max-width: 964px;
	}
}
@media (max-width:1023px) {
	.top_sec {
	padding: 70px 30px !important;
	}
	.top_wrap {
	max-width: 708px !important;
	}
	.top_ttl {
	margin-bottom: 30px;
	}
	.top_ttl_1 {
	margin-bottom: 10px;
	font-size: inherit;
	}
	.top_ttl_2 {
	font-size: 3.0rem;
	letter-spacing: inherit;
	}
	.top_txt {
	font-size: inherit;
	line-height: inherit;
	}
}
@media (min-width:768px) {
	/* hover */
	.top_more:hover {
	background-color: #7fbd45;
	border-color: #7fbd45;
	transition: background-color .3s;
	}
}
@media (max-width:767px) {
	.top_sec {
	padding: 60px 15px !important;
	}
	.top_wrap {
	max-width: 330px !important;
	}
	.top_ttl {
	margin-bottom: 20px;
	}
	.top_ttl_2 {
	font-size: 2.6rem;
	}
	.top_more {
	min-width: 160px;
	font-size: 1.4rem;
	}
	.top_more a {
	padding: 13px 40px 13px 30px;
	}
	.top_more a::before {
	width: calc(24px * .5);
	height: calc(13px * .5);
	}
}

/*-- 私達について --*/
.top_about {
position: relative;
}
.top_about .top_wrap {
position: relative;
min-height: 480px;
}
.top_about .top_wrap::before {
display: none;
z-index: -1;
position: absolute;
content: "";
width: calc(698px * .9);
height: calc(467px * .9);
top: -220px;
right: 400px;
background-image: url(./common/img/top/about_bg.jpg);
background-repeat: no-repeat;
background-size: contain;
}
.top_about .top_ttl {
}
.top_about .top_ttl_1 {
}
.top_about .top_ttl_2 {
}
.top_about_txt2 {
position: relative;
display: block;
width: fit-content;
margin-bottom: 30px;
padding: 0 30px;
font-size: 2.6rem;
font-weight: bold;
color: #3979b7;
}
.top_about_txt2::before,
.top_about_txt2::after {
position: absolute;
content: "";
width: 20px;
height: 2px;
top: 50%;
transform: translateY(-50%);
background-color: #3979b7;
}
.top_about_txt2::before {
left: 0;
}
.top_about_txt2::after {
right: 0;
}
.top_about_vision {
max-width: 750px;
font-family: "IBM Plex Sans JP", sans-serif;
font-weight: 400;
}
.top_about_vision_in {
position: relative;
font-size: 2.0rem;
line-height: 2;
}
.top_about_vision_in + .top_about_vision_in {
margin-top: 20px;
}
.top_about_vision_in::before {
}
/*.top_about_lead {
margin-bottom: 40px;
font-size: 2.6rem;
font-weight: bold;
letter-spacing: .2em;
line-height: 1.8;
color: #3979b7;
}
.top_about_txt {
max-width: 865px;
}*/
.top_about_img {
}
.top_about_img_li {
overflow: hidden;
position: absolute;
border-radius: 52px;
}
.top_about_img_li1 {
width: calc(600px * .8);
height: calc(400px * .8);
top: -66px;
right: -106px;
}
.top_about_img_li2 {
width: calc(311px);
height: calc(311px);
top: 190px;
right: 202px;
}
.top_about_img_li3 {
width: calc(231px);
height: calc(231px);
bottom: -102px;
right: -73px;
}
.top_about_img_li img {
object-fit: cover;
width: 100%;
height: 100%;
}
@media screen and (max-width: 1664px) {
	.top_about .top_wrap::before {
	width: calc(698px * .8);
	height: calc(467px * .8);
	top: -180px;
	right: 480px;
	}
	.top_about_img_li1 {
	width: calc(600px * .8);
	height: calc(400px * .8);
	right: -30px;
	}
	.top_about_img_li2 {
	width: calc(311px * .9);
	height: calc(311px * .9);
	top: 220px;
	right: 240px;
	}
	.top_about_img_li3 {
	width: calc(231px * .9);
	height: calc(231px * .9);
	right: -10px;
	}
}
@media screen and (max-width: 1514px) {
	.top_about .top_wrap {
	min-height: 400px;
	}
	.top_about .top_wrap::before {
	width: calc(698px * .65);
	height: calc(467px * .65);
	right: 400px;
	}
	.top_about_txt2 {
	font-size: 2.4rem;
	}
	.top_about_vision {
	max-width: 600px;
	}
	.top_about_vision_in {
	font-size: 1.7rem;
	}
	.top_about_vision_in br {
	display: none;
	}
	.top_about_img_li {
	border-radius: 30px;
	}
	.top_about_img_li1 {
	width: calc(600px * .7);
	height: calc(400px * .7);
	}
	.top_about_img_li2 {
	width: calc(311px * .7);
	height: calc(311px * .7);
	top: 180px;
	right: 220px;
	}
	.top_about_img_li3 {
	width: calc(231px * .8);
	height: calc(231px * .8);
	bottom: -80px;
	}
}
@media screen and (max-width: 1260px) {
	.top_about .top_wrap::before {
	width: calc(698px * .5);
	height: calc(467px * .5);
	top: -150px;
	right: 350px;
	}
	.top_about_txt {
	max-width: 620px;
	}
	.top_about_img_li {
	border-radius: 20px;
	}
	.top_about_img_li1 {
	width: calc(600px * .6);
	height: calc(400px * .6);
	top: -20px;
	}
	.top_about_img_li2 {
	width: calc(311px * .6);
	height: calc(311px * .6);
	top: 190px;
	right: 160px;
	}
	.top_about_img_li3 {
	width: calc(231px * .7);
	height: calc(231px * .7);
	bottom: -20px;
	right: -30px;
	}
}
@media screen and (max-width: 1023px) {
	.top_about .top_wrap {
	min-height: 380px;
	}
	.top_about .top_wrap::before {
	width: calc(698px * .45);
	height: calc(467px * .45);
	right: 280px;
	}
	.top_about_txt2 {
	margin-bottom: 20px;
	font-size: 2.0rem;
	}
	.top_about_vision {
	max-width: 400px;
	}
	.top_about_vision_in {
	font-size: inherit;
	line-height: inherit;
	}
	/*.top_about_lead {
	margin-bottom: 30px;
	font-size: 2.4rem;
	letter-spacing: inherit;
	line-height: inherit;
	}
	.top_about_txt {
	max-width: 420px;
	}*/
	.top_about_img_li {
	border-radius: 10px;
	}
	.top_about_img_li1 {
	width: calc(600px * .5);
	height: calc(400px * .5);
	top: 0;
	}
	.top_about_img_li2 {
	width: calc(311px * .5);
	height: calc(311px * .5);
	top: 180px;
	right: 100px;
	}
	.top_about_img_li3 {
	width: calc(231px * .5);
	height: calc(231px * .5);
	bottom: 0;
	}
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.top_about .top_wrap {
	min-height: auto;
	}
	.top_about .top_wrap::before {
	width: calc(698px * .4);
	height: calc(467px * .4);
	top: -120px;
	right: -20px;
	}
	.top_about_txt2 {
	margin: 0 auto 20px;
	font-size: 1.8rem;
	}
	.top_about_vision {
	max-width: 400px;
	}
	.top_about_vision_in {
	font-size: inherit;
	line-height: inherit;
	}
	.top_about_vision_in + .top_about_vision_in {
	margin-top: 10px;
	}
	/*.top_about_lead {
	margin-bottom: 20px;
	font-size: 2.0rem;
	letter-spacing: inherit;
	line-height: inherit;
	}
	.top_about_txt {
	max-width: 100%;
	}*/
	.top_about_img {
	position: relative;
	height: 220px;
	margin-top: 20px;
	}
	.top_about_img_li {
	border-radius: 6px;
	}
	.top_about_img_li1 {
	width: calc(600px * .4);
	height: calc(400px * .4);
	top: 0;
	right: -5px;
	}
	.top_about_img_li2 {
	width: calc(311px * .4);
	height: calc(311px * .4);
	top: 50px;
	bottom: inherit;
	right: inherit;
	left: -5px;
	}
	.top_about_img_li3 {
	width: calc(231px * .4);
	height: calc(231px * .4);
	bottom: 0;
	right: 100px;
	}
}

/*-- お知らせ --*/
.top_info {
}
.top_info .top_wrap {
position: relative;
}
.top_info .top_ttl {
}
.top_info .top_ttl_1 {
}
.top_info .top_ttl_2 {
}
.top_info_box {
border-top: 1px solid #c7c7c7;
border-bottom: 1px solid #c7c7c7;
}
.top_info_dl {
position: relative;
display: flex;
align-items: center;
padding: 25px 0;
}
.top_info_dl + .top_info_dl {
border-top: 1px dashed #c7c7c7;
}
.top_info_dl a {
z-index: 1;
position: absolute;
display: block;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.top_info_dt {
width: 129px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 3.0rem;
line-height: 1;
letter-spacing: .075em;
}
.top_info_dt .year {
display: block;
margin-bottom: 8px;
font-size: 1.6rem;
font-weight: bold;
letter-spacing: .1em;
}
.top_info_dd {
position: relative;
display: flex;
align-items: center;
padding-right: 80px;
width: calc(100% - 129px);
font-size: 1.8rem;
}
.top_info_dd::before {
position: absolute;
content: "";
width: calc(23px);
height: calc(10px);
top: 50%;
transform: translateY(-50%);
right: 34px;
background-image: url(./common/img/ico_arrow02.png);
background-repeat: no-repeat;
background-size: contain;
}
.top_info_dd_cat {
display: block;
width: 123px;
padding: 10px 5px;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 1;
border: 2px solid #000;
border-radius: 100px;
}
.top_info_dd_ttl {
display: block;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
width: calc(100% - 123px);
padding-left: 40px;
}
.top_info_more {
position: absolute;
top: 16px;
right: 0;
}
@media screen and (max-width: 1514px) {
}
@media screen and (max-width: 1260px) {
	.top_info_dt {
	width: 110px;
	}
	.top_info_dd {
	width: calc(100% - 110px);
	}
	.top_info_dd {
	padding-right: 50px;
	}
	.top_info_dd::before {
	right: 5px;
	}
	.top_info_dd_ttl {
	padding-left: 20px;
	}
}
@media screen and (max-width: 1023px) {
	.top_info_dt {
	width: 90px;
	font-size: 2.4rem;
	letter-spacing: 0;
	}
	.top_info_dt .year {
	margin-bottom: 5px;
	font-weight: inherit;
	letter-spacing: 0;
	}
	.top_info_dd {
	display: block;
	width: calc(100% - 90px);
	padding-right: 30px;
	font-size: inherit;
	}
	.top_info_dd::before {
	width: calc(23px * .6);
	height: calc(10px * .6);
	right: 0;
	margin-top: 20px;
	}
	.top_info_dd_cat {
	width: 110px;
	margin-bottom: 5px;
	padding: 8px 5px;
	font-size: 1.4rem;
	}
	.top_info_dd_ttl {
	width: 100%;
	padding-left: 0;
	}
}
@media screen and (min-width: 768px) {
	/* hover */
	.top_info_dl:hover .top_info_dt,
	.top_info_dl:hover .top_info_dd {
	opacity: .5;
	transition: .3s;
	}
}
@media screen and (max-width: 767px) {
	.top_info_dl {
	padding: 15px 0;
	}
	.top_info_dt {
	width: 70px;
	font-size: 2.2rem;
	}
	.top_info_dd {
	width: calc(100% - 70px);
	padding-right: 20px;
	font-size: 1.4rem;
	}
	.top_info_dd::before {
	width: calc(23px * .4);
	height: calc(10px * .4);
	margin-top: 15px;
	}
	.top_info_dd_cat {
	width: 90px;
	margin-bottom: 4px;
	padding: 6px 2px;
	font-size: 1.3rem;
	}
	.top_info_dd_ttl {
	-webkit-line-clamp: 3;
	}
}

/*-- 業務案内 --*/
.top_service {
}
.top_service .top_wrap {
}
.top_service .top_ttl {
}
.top_service .top_ttl_1 {
}
.top_service .top_ttl_2 {
}
.top_service_list {
display: flex;
flex-wrap: wrap;
margin: -5px;
}
.top_service_li {
position: relative;
width: calc(33.3333% - 10px);
margin: 5px;
padding: 30px 40px 80px 40px;
background-color: #fff;
border: 1px solid #c7c7c7;
border-radius: 15px;
}
.top_service_li::before,
.top_service_li::after {
position: absolute;
content: "";
width: 32px;
height: 32px;
bottom: 18px;
right: 22px;
}
.top_service_li::before {
border: 1px solid #3979b7;
border-radius: 100%;
}
.top_service_li::after {
background-image: url(./common/img/ico_arrow01.png);
background-repeat: no-repeat;
background-position: center;
background-size: 12px auto;
}
.top_service_li.top_service_li_col4 {
width: calc(25% - 10px);
}
.top_service_li a {
z-index: 1;
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.top_service_li_txt1 {
font-family: "Montserrat","Noto Sans JP",sans-serif;
word-break: keep-all;
line-height: 1;
color: #a9a9a9;
}
.top_service_li_ico {
width: calc(192px);
height: calc(126px);
margin: 20px auto 10px;
}
.top_service_li_ico img {
object-fit: contain;
width: 100%;
height: 100%;
}
.top_service_li_txt2 {
font-size: 2.2rem;
font-weight: bold;
text-align: center;
letter-spacing: .075em;
line-height: 1.4;
color: #3979b7;
}
@media screen and (max-width: 1514px) {
	.top_service_li {
	padding: 30px 20px 80px 20px;
	}
	.top_service_li_txt2 {
	letter-spacing: inherit;
	}
}
@media screen and (max-width: 1260px) {
	.top_service_li {
	padding: 30px 20px 70px 20px;
	}
	.top_service_li_ico {
	width: calc(192px * .8);
	height: calc(126px * .8);
	}
	.top_service_li_txt2 {
	font-size: 1.8rem;
	}
}
@media screen and (max-width: 1023px) {
	.top_service_list {
	margin: -4px;
	}
	.top_service_li,
	.top_service_li.top_service_li_col4 {
	width: calc(25% - 8px);
	margin: 4px;
	padding: 20px 10px 45px 10px;
	border-radius: 10px;
	}
	.top_service_li_txt1 {
	padding-left: 10px;
	font-size: 1.4rem;
	}
	.top_service_li_ico {
	width: calc(192px * .6);
	height: calc(126px * .6);
	margin: 10px auto 5px;
	}
	.top_service_li::before,
	.top_service_li::after {
	width: 24px;
	height: 24px;
	bottom: 10px;
	right: 10px;
	}
	.top_service_li::after {
	background-size: 10px auto;
	}
	.top_service_li_txt2 {
	font-size: inherit;
	}
}
@media screen and (min-width: 768px) {
	/* hover */
	.top_service_li:hover {
	background-color: #f0f9e8;
	border-color: #ecf2e7;
	transition: .3s;
	}
	.top_service_li:hover .top_service_li_txt1,
	.top_service_li:hover .top_service_li_txt2 {
	color: #7fbd45;
	transition: .3s;
	}
	.top_service_li:hover .top_service_li_ico {
	animation: fontzoom .5s;
	}
	@keyframes fontzoom {
		50% {
		transform: scale(1.1);
		}
	}
	.top_service_li:hover::before {
	background-color: #7fbd45;
	border-color: #7fbd45;
	transition: .3s;
	}
	.top_service_li:hover::after {
	filter: brightness(0) invert(1);
	}
}
@media screen and (max-width: 767px) {
	.top_service_li,
	.top_service_li.top_service_li_col4 {
	width: calc(50% - 8px);
	padding: 15px 5px 30px 5px;
	}
	.top_service_li_txt1 {
	padding-left: 10px;
	}
	.top_service_li_ico {
	width: calc(192px * .45);
	height: calc(126px * .45);
	margin: 8px auto 5px;
	}
	.top_service_li::before,
	.top_service_li::after {
	width: 20px;
	height: 20px;
	bottom: 5px;
	right: 5px;
	}
	.top_service_li::after {
	background-size: 8px auto;
	}
}

/*-- 業務実績 --*/
.top_project {
}
.top_project .top_wrap {
}
.top_project .top_ttl {
}
.top_project .top_ttl_1 {
}
.top_project .top_ttl_2 {
}
.top_project_list {
display: flex;
margin: 0 -7px;
}
.top_project_li {
overflow: hidden;
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: calc(25% - 14px);
height: 575px;
margin: 0 7px;
text-align: center;
color: #fff;
border-radius: 15px;
}
.top_project_li.consulting {
color: #3979b7;
}
.top_project_li.spaces {
width: calc(50% - 14px);
}
.top_project_li.infrastructure {
}
.top_project_li::before {
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-repeat: no-repeat;
background-size: cover;
}
.top_project_li.consulting::before {
background-image: url(./common/img/top/project_bg01.jpg);
}
.top_project_li.spaces::before {
background-image: url(./common/img/top/project_bg02.jpg);
}
.top_project_li.infrastructure::before {
background-image: url(./common/img/top/project_bg03.jpg);
}
.top_project_li a {
z-index: 1;
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.top_project_txt {
position: relative;
padding-bottom: 80px;
letter-spacing: .075em;
}
.top_project_txt::before,
.top_project_txt::after {
position: absolute;
content: "";
width: 49px;
height: 49px;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
.top_project_txt::before {
border: 1px solid #fff;
border-radius: 100%;
}
.top_project_txt::after {
background-image: url(./common/img/ico_arrow01.png);
background-repeat: no-repeat;
background-position: center;
background-size: 14px auto;
filter: brightness(0) invert(1);
}
.top_project_li.consulting .top_project_txt::before {
border-color: #3979b7;
}
.top_project_li.consulting .top_project_txt::after {
filter: inherit;
}
.top_project_txt_1 {
margin-bottom: 18px;
font-size: 2.8rem;
font-weight: bold;
line-height: 1;
}
.top_project_txt_2 {
font-family: "Montserrat","Noto Sans JP",sans-serif;
line-height: 1.2;
}
@media screen and (max-width: 1514px) {
	.top_project_li {
	height: 550px;
	}
	.top_project_txt_1 {
	font-size: 2.4rem;
	}
	.top_project_txt_2 {
	font-size: 1.3rem;
	letter-spacing: 0;
	}
}
@media screen and (max-width: 1260px) {
	.top_project_li {
	height: 450px;
	}
	.top_project_txt {
	padding-bottom: 65px;
	letter-spacing: inherit;
	}
	.top_project_txt::before,
	.top_project_txt::after {
	width: 40px;
	height: 40px;
	}
	.top_project_txt::after {
	background-size: 10px auto;
	}
	.top_project_txt_1 {
	margin-bottom: 10px;
	font-size: 2.0rem;
	}
	.top_project_txt_2 {
	font-size: 1.2rem;
	}
}
@media screen and (max-width: 1023px) {
	.top_project_list {
	margin: 0 -5px;
	}
	.top_project_li,
	.top_project_li.spaces {
	    width: calc(25% - 10px);
	height: 400px;
	margin: 0 5px;
	border-radius: 10px;
	}
	.top_project_li.spaces {
	width: calc(50% - 10px);
	}
	.top_project_txt::before,
	.top_project_txt::after {
	width: 35px;
	height: 35px;
	}
	.top_project_txt_2 {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 27px;
	}
}
@media screen and (min-width: 768px) {
	/* hover */
	.top_project_li:hover {
	}
	.top_project_li:hover::before {
	opacity: .6;
	transform: scale(1.1, 1.1);
	transition: .5s;
	}
	.top_project_li.consulting:hover .top_project_txt::before {
	background-color: #7fbd45;
	border-color: #fff !important;
	transition: .3s;
	}
	.top_project_li:hover .top_project_txt::before {
	background-color: #fff;
	border-color: #fff !important;
	transition: .3s;
	}
	.top_project_li.consulting:hover .top_project_txt::after {
	filter: brightness(0) invert(1);
	}
	.top_project_li.spaces:hover .top_project_txt::after,
	.top_project_li.infrastructure:hover .top_project_txt::after {
	filter: inherit;
	background-image: url(./common/img/ico_arrow01.png);
	}
	.top_project_li.consulting:hover .top_project_txt {
	color: #7fbd45;
	transition: .3s;
	}
}
@media screen and (max-width: 767px) {
	.top_project_list {
	position: relative;
	flex-wrap: wrap;
	margin: -4px;
	padding-bottom: 150px;
	}
	.top_project_li,
	.top_project_li.spaces {
	width: calc(50% - 8px);
	height: 150px;
	margin: 4px;
	border-width: 0;
	}
	.top_project_li.spaces {
	position: absolute;
	width: calc(100% - 4px);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	}
	.top_project_li::before {
	background-position: bottom -50px center;
	}
	.top_project_li.spaces::before {
	background-position: bottom -20px center;
	}
	.top_project_txt {
	padding-bottom: 30px;
	letter-spacing: inherit;
	}
	.top_project_li.consulting .top_project_txt {
	text-shadow: #fff 1px 0px 1px, #fff -1px 0px 1px, #fff 0px -1px 1px, #fff -1px 0px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px,#fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px;
	}
	.top_project_li.spaces .top_project_txt,
	.top_project_li.infrastructure .top_project_txt {
	text-shadow: 0 0 10px rgba(0,0,0,.5);
	}
	.top_project_txt::before,
	.top_project_txt::after {
	width: 20px;
	height: 20px;
	}
	.top_project_txt::after {
	background-size: 8px auto;
	}
	.top_project_txt_1 {
	font-size: 1.7rem;
	}
	.top_project_txt_2 {
	height: 26px;
	font-size: 1.2rem;
	}
}

/*-- 会社概要 --*/
.top_company {
}
.top_company .top_wrap {
}
.top_company_flex {
display: flex;
align-items: center;
}
.top_company_in1 {
width: 50%;
padding-right: 80px;
}
.top_company .top_ttl {
}
.top_company .top_ttl_1 {
}
.top_company .top_ttl_2 {
}
.top_company_name {
position: relative;
margin-top: 75px;
margin-bottom: 22px;
}
.top_company_name::before {
z-index: -1;
position: absolute;
content: "";
width: calc(238px);
height: calc(166px);
bottom: -40px;
right: -30px;
background-image: url(./common/img/top/company_logo_symbol.svg);
background-repeat: no-repeat;
background-size: contain;
}
.top_company_name_s {
display: block;
width: calc(542px * .8);
height: calc(57px * .8);
font-size: 0;
background-image: url(./common/img/logo_b.svg);
background-repeat: no-repeat;
background-size: contain;
}
.top_company_txt {
display: flex;
flex-wrap: wrap;
margin: 0 -.5em 40px -.5em;
font-size: 2.0rem;
font-weight: bold;
}
.top_company_txt_in {
margin: 0 .5em;
}
.top_company_addr {
margin-bottom: 25px;
font-size: 1.8rem;
letter-spacing: .12em;
}
.telbox {
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 2.0rem;
font-weight: bold;
letter-spacing: .14em;
line-height: 1;
}
.telbox_tel {
margin-bottom: 10px;
}
.telbox_tel::before,
.telbox_fax::before {
display: inline-block;
width: 66px;
}
.telbox_tel::before {
content: "TEL";
}
.telbox_tel a {
}
.telbox_fax {
}
.telbox_fax::before {
content: "FAX";
}
.top_company_btn {
display: flex;
flex-wrap: wrap;
margin: 50px -9px -9px -9px;
}
.top_company_btn_li {
width: calc(50% - 18px);
margin: 9px;
font-size: 1.8rem;
font-weight: bold;
line-height: 1.2;
border: 1px solid #aaa;
border-radius: 100px;
}
.top_company_btn_li.seminar {
/*width: calc(100% - 18px);*/
}
.top_company_btn_li a {
position: relative;
display: flex;
align-items: center;
width: 100%;
height: 57px;
padding-left: 90px;
padding-right: 5px;
}
.top_company_btn_li a::before {
position: absolute;
content: "";
width: calc(28px);
height: calc(26px);
top: 50%;
transform: translateY(-50%);
left: 45px;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
.top_company_btn_li.msg a::before {
background-image: url(./common/img/top/company_ico_msg.svg);
}
.top_company_btn_li.history a::before {
background-image: url(./common/img/top/company_ico_history.svg);
}
.top_company_btn_li.qualifications a::before {
background-image: url(./common/img/top/company_ico_qualifications.svg);
}
.top_company_btn_li.access a::before {
background-image: url(./common/img/top/company_ico_access.svg);
}
.top_company_btn_li.pamphlet a::before {
background-image: url(./common/img/top/company_ico_pamphlet.svg);
}
.top_company_btn_li.msg_r a::before {
background-image: url(./common/img/top/recruit_ico_msg_r.svg);
}
.top_company_btn_li.interview a::before {
background-image: url(./common/img/top/recruit_ico_interview.svg);
}
.top_company_btn_li.office a::before {
background-image: url(./common/img/top/recruit_ico_office.svg);
}
.top_company_btn_li.jobinfo a::before {
background-image: url(./common/img/top/recruit_ico_jobinfo.svg);
}
.top_company_btn_li.benefits a::before {
background-image: url(./common/img/top/recruit_ico_benefits.svg);
}
.top_company_in2 {
width: 50%;
padding-left: 28px;
}
.top_company_img {
overflow: hidden;
border-radius: 52px;
}
.top_company_img img {
object-fit: cover;
width: 100%;
height: 100%;
}
.top_recruit {
margin-top: 70px;
}
.top_recruit .top_company_btn {
margin-top: 0;
}
@media screen and (max-width: 1514px) {
	.top_company_in1 {
	padding-right: 0;
	}
	.top_company_name {
	position: relative;
	margin-top: 30px;
	margin-bottom: 15px;
	}
	.top_company_name::before {
	width: calc(238px * .8);
	height: calc(166px * .8);
	bottom: -20px;
	right: 0;
	}
	.top_company_txt {
	margin-bottom: 30px;
	font-size: 1.8rem;
	}
	.top_company_addr {
	margin-bottom: 20px;
	font-size: 1.7rem;
	letter-spacing: inherit;
	}
	.top_company_btn {
	margin: 30px -5px -5px -5px;
	}
	.top_company_btn_li {
	width: calc(50% - 10px);
	margin: 5px;
	font-size: 1.7rem;
	}
	.top_company_btn_li.seminar {
	/*width: calc(100% - 10px);*/
	}
	.top_company_btn_li a {
	height: 50px;
	}
	.top_company_in2 {
	padding-left: 40px;
	}
	.top_company_img {
	border-radius: 20px;
	}
}
@media screen and (max-width: 1260px) {
	.top_company_flex {
	align-items: inherit;
	}
	.top_company_in1 {
	}
	.top_company_name {
	position: relative;
	margin-top: 30px;
	margin-bottom: 15px;
	}
	.top_company_name::before {
	width: calc(238px * .6);
	height: calc(166px * .6);
	bottom: -10px;
	right: 0;
	}
	.top_company_name_s {
	width: calc(542px * .6);
	height: calc(57px * .6);
	}
	.top_company_txt {
	display: block;
	margin: 0 0 20px 0;
	font-size: inherit;
	}
	.top_company_txt_in {
	margin: 0;
	}
	.top_company_addr {
	margin-bottom: 20px;
	font-size: inherit;
	letter-spacing: inherit;
	}
	.telbox {
	font-size: 1.8rem;
	}
	.telbox_tel::before, .telbox_fax::before {
	width: 50px;
	}
	.top_company_btn {
	margin: 20px -2px -2px -2px;
	}
	.top_company_btn_li {
	width: calc(50% - 4px);
	margin: 2px;
	font-size: 1.4rem;
	}
	.top_company_btn_li.seminar {
	/*width: calc(100% - 4px);*/
	}
	.top_company_btn_li a {
	height: 40px;
	padding-left: 50px;
	padding-right: 0;
	}
	.top_company_btn_li a::before {
	width: calc(28px * .7);
	height: calc(26px * .7);
	left: 15px;
	}
	.top_company_in2 {
	padding-left: 30px;
	}
	.top_company_img {
	height: 100%;
	border-radius: 10px;
	}
}
@media screen and (max-width: 1023px) {
	.top_company_btn_li {
	line-height: 1.1;
	}
	.top_company_btn_li a::before {
	left: 14px;
	}
	.top_company_btn_li a {
	padding-left: 40px;
	}
}
@media screen and (min-width: 768px) {
	/* hover */
	.top_company_btn_li:hover {
	color: #fff;
	background-color: #7fbd45;
	border-color: #7fbd45;
	transition: background-color .3s;
	}
	.top_company_btn_li:hover a::before {
	filter: brightness(0) invert(1);
	}
}
@media screen and (max-width: 767px) {
	.top_company_flex {
	display: block;
	}
	.top_company_in1 {
	width: 100%;
	margin-bottom: 20px;
	}
	.top_company_name {
	position: relative;
	margin-top: 30px;
	margin-bottom: 15px;
	}
	.top_company_name::before {
	width: calc(238px * .5);
	height: calc(166px * .5);
	}
	.top_company_name_s {
	width: calc(542px * .5);
	height: calc(57px * .5);
	}
	.top_company_txt {
	margin-bottom: 15px;
	}
	.top_company_addr {
	margin-bottom: 15px;
	}
	.telbox {
	font-size: 1.7rem;
	letter-spacing: .1em;
	}
	.telbox_tel::before, .telbox_fax::before {
	width: 40px;
	}
	.top_company_btn_li {
	font-size: 1.3rem;
	}
	.top_company_btn_li a {
	height: 36px;
	}
	.top_company_btn_li a::before {
	width: calc(28px * .6);
	height: calc(26px * .6);
	}
	.top_company_in2 {
	width: 100%;
	padding-left: 0;
	}
	.top_company_img {
	height: auto;
	border-radius: 6px;
	}
	.top_company_img img {
	aspect-ratio: 3 / 2;
	}
}

/*-----------------------
 フッター
-----------------------*/
footer {
position: relative;
padding: 125px 30px;
color: #fff;
}
footer::before,
footer::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
min-height: 100%;
top: 0;
left: 0;
}
footer::before {
z-index: -1;
opacity: .15;
background-image: url(./common/img/footer_bg.jpg);
background-repeat: no-repeat;
background-position: bottom center;
background-size: cover;
}
footer::after {
z-index: -2;
background-color: #0a5db0;
}
.footer .top_wrap {
}
.footer_flex {
display: flex;
flex-direction: row-reverse;
}
.footer_in1 {
width: 410px;
}
.footer_in1_box {
margin-bottom: 43px;
padding: 80px 30px ;
background-color: rgba(8,63,118,.26);
}
.footer_logo {
position: relative;
width: calc(542px * .6);
height: calc(57px * .6);
font-size: 0;
background-image: url(./common/img/logo.svg);
background-repeat: no-repeat;
background-size: contain;
margin: 0 auto 50px;
}
.footer_logo a {
display: block;
width: 100%;
height: 100%;
}
.footer_addr {
width: fit-content;
margin: 0 auto 35px;
letter-spacing: .12em;
}
footer .telbox {
width: fit-content;
margin: 0 auto 45px;
font-weight: 500;
}
.footer_contact {
max-width: 277px;
margin: auto;
font-size: 1.8rem;
font-weight: 600;
text-align: center;
line-height: 1;
letter-spacing: 0;
border: 1px solid #9ed0e4;
border-radius: 100px;
}
.footer_contact a {
position: relative;
display: block;
padding: 22px;
}
.footer_contact a::before {
position: relative;
content: "";
display: inline-block;
vertical-align: middle;
width: calc(24px);
height: calc(24px);
top: -2px;
margin-right: 12px;
background-image: url(./common/img/ico_mail.svg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
.copyright {
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.3rem;
text-align: center;
line-height: 1.4;
}
.footer_in2 {
display: flex;
width: calc(100% - 410px);
padding-left: 35px;
padding-right: 172px;
}
.footer_in2_in {
}
.footer_in2_in1 {
width: 163px;
}
.footer_nav {
}
.footer_nav_li {
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.8rem;
font-weight: bold;
line-height: 1;
letter-spacing: 0;
}
.footer_nav_li + .footer_nav_li {
margin-top: 28px;
}
.footer_nav_li a {
}
.footer_in2_in2 {
width: calc(100% - 163px);
}
.footer_nav2 {
padding-top: 45px;
padding-bottom: 45px;
}
.footer_nav2:first-of-type {
padding-top: 0;
}
.footer_nav2:last-of-type {
padding-bottom: 0;
}
.footer_nav2 + .footer_nav2 {
border-top: 1px solid #8bb0d5;
}
.footer_nav2_txt {
margin-bottom: 25px;
font-size: 1.8rem;
font-weight: bold;
line-height: 1;
letter-spacing: 0;
}
.footer_nav2_txt a {
}
.footer_nav2_ul {
display: flex;
flex-wrap: wrap;
margin: -4px -8px;
}
.footer_nav2_li {
width: calc(50% - 16px);
margin: 4px 8px;
font-size: 1.8rem;
font-weight: normal;
letter-spacing: 0;
line-height: 1.4;
}
.footer_nav2_li a {
position: relative;
display: block;
width: fit-content;
padding-left: 20px;
}
.footer_nav2_li a::before {
position: absolute;
content: "";
width: 7px;
height: 2px;
top: 50%;
transform: translateY(-50%);
left: 5px;
background-color: #68bff1;
}
@media (max-width:1514px) {
	.footer_in1 {
	}
	.copyright {
	font-size: 1.3rem;
	letter-spacing: .02em;
	}
	.footer_in2 {
	padding-left: 0;
	padding-right: 60px;
	}
	.footer_nav2_li {
	font-size: inherit;
	}
	.footer_in2_in1 {
	width: 140px;
	}
	.footer_in2_in2 {
	width: calc(100% - 140px);
	}
}
@media (max-width:1260px) {
	footer {
	padding: 100px 30px;
	}
	.footer_in1 {
	width: 350px;
	}
	.footer_in1_box {
	margin-bottom: 30px;
	padding: 60px 10px;
	}
	.footer_logo {
	width: calc(542px * .55);
	height: calc(57px * .55);
	margin-bottom: 30px;
	}
	.footer_addr {
	margin-bottom: 30px;
	font-size: 1.5rem;
	letter-spacing: 0;
	}
	footer .telbox {
	margin-bottom: 30px;
	font-size: 1.7rem;
	}
	footer .telbox_tel::before,
	footer .telbox_fax::before {
	width: 48px;
	}
	.footer_contact {
	max-width: 240px;
	font-size: inherit;
	}
	.footer_contact a {
	padding: 15px;
	}
	.copyright {
	position: absolute;
	width: 100%;
	bottom: 30px;
	left: 0;
	}
	.footer_in2 {
	display: block;
	width: calc(100% - 350px);
	}
	.footer_in2_in1 {
	width: 100%;
	}
	.footer_nav {
	display: flex;
	margin-bottom: 20px;
	}
	.footer_nav_li + .footer_nav_li {
	margin-top: 0;
	margin-left: 24px;
	}
	.footer_nav_li {
	font-size: inherit;
	}
	.footer_in2_in2 {
	width: 100%;
	}
	.footer_nav2 {
	padding-top: 20px;
	padding-bottom: 20px;
	}
	.footer_nav2_txt {
	margin-bottom: 15px;
	font-size: inherit;
	}
	.footer_nav2_ul {
	display: flex;
	}
	.footer_nav2_li {
	width: calc(50% - 16px);
	font-size: 1.5rem
	}
	html.active .spmenu {
	z-index: 9;
	overflow-x: hidden;
	overflow-y: auto;
	position: fixed;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	margin-top: 0;
	padding: 30px;
	background-color: #3979b7;
	animation: spmenu-open .3s ease-out forwards;
	}
	html.closing .spmenu {
	animation: spmenu-close .3s ease-out forwards;
	}
	@keyframes spmenu-open {
		from {
			transform: translateY(-100%);
		}
		to {
			transform: translateY(0);
		}
	}
	@keyframes spmenu-close {
		from {
			transform: translateY(0);
		}
		to {
			transform: translateY(-100%);
		}
	}
	html.active footer::before,
	html.active footer::after {
	display: none;
	}
	html.active .copyright {
	display: none;
	}
}
@media (max-width:1023px) {
	footer {
	padding: 80px 30px;
	}
	.footer_flex {
	flex-wrap: wrap;
	flex-direction: column-reverse;
	}
	.footer_in1 {
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	}
	.footer_in1_box {
	margin-bottom: 30px;
	padding: 30px 10px;
	}
	.footer_logo {
	margin-bottom: 20px;
	}
	.footer_addr {
	margin-bottom: 20px;
	}
	footer .telbox {
	margin-bottom: 20px;
	letter-spacing: .1em;
	}
	.footer_contact a {
	padding: 13px;
	}
	.footer_in2 {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 50px;
	padding-right: 0;
	}
	.footer_nav {
	margin-bottom: 20px;
	}
	.footer_nav_li + .footer_nav_li {
	margin-top: 0;
	margin-left: 24px;
	}
	.footer_nav_li {
	font-size: inherit;
	}
	.footer_in2_in2 {
	width: 100%;
	}
	.footer_nav2 {
	padding-top: 20px;
	padding-bottom: 20px;
	}
	.footer_nav2_txt {
	margin-bottom: 15px;
	font-size: inherit;
	}
	.footer_nav2_ul {
	display: flex;
	}
	.footer_nav2_li {
	width: calc(50% - 16px);
	font-size: 1.5rem
	}
	html.active .spmenu {
	display: block;
	padding: 50px 15px 100px 15px;
	}
}
@media (min-width:768px) {
	/* hover */
	.footer_logo:hover,
	.footer_nav_li a:hover,
	.footer_nav2_txt a:hover,
	.footer_nav2_li a:hover {
	opacity: .5;
	transition: .3s;
	}
	.footer_contact:hover {
	color: #2d2d2d;
	background-color: #fff;
	border-color: #fff;
	transition: background-color .3s;
	}
	.footer_contact:hover a::before {
	filter: brightness(0) invert(0);
	}
}
@media (max-width:767px) {
	footer {
	padding: 60px 15px;
	}
	.footer_in1 {
	margin-bottom: 0;
	}
	.footer_in1_box {
	margin-bottom: 30px;
	padding: 30px 10px;
	}
	.footer_logo {
	width: calc(542px * .45);
	height: calc(57px * .45);
	}
	.copyright {
	position: static;
	}
	.footer_in2 {
	display: none;
	}
	html.active .spmenu {
	padding: 40px 15px 100px 15px;
	}
	html.active .footer_flex {
	}
	html.active .footer_in1 {
	}
	html.active .footer_in1_box {
	margin-bottom: 0;
	}
	html.active .footer_in2 {
	display: block;
	margin-bottom: 30px;
	}
	.footer_nav {
	display: block;
	margin-bottom: 0;
	}
	.footer_nav_li + .footer_nav_li {
	margin-left: 0;
	}
	.footer_nav_li {
	border-bottom: 1px solid #fff;
	}
	.footer_nav_li a,
	.footer_nav2_txt a {
	display: block;
	padding: 15px 5px;
	}
	.footer_nav2 {
	padding-top: 0;
	padding-bottom: 0;
	border-bottom-width: 0;
	}
	.footer_nav2 + .footer_nav2 {
	margin-top: 8px;
	border-top-color: #fff;
	}
	.footer_nav2_txt {
	margin-bottom: 0;
	}
	.footer_nav2_ul {
	display: block;
	margin: 0;
	}
	.footer_nav2_li {
	width: 100%;
	margin: 0;
	}
	.footer_nav2_li a {
	display: block;
	width: 100%;
	padding: 7px 5px 7px 20px;
	}
}

/*-----------------------
 下層共通
-----------------------*/

/* ページタイトル・パンくず */
.pagettl {
z-index: 1;
position: relative;
height: 280px;
background-color: #000;
}
.pagettl::before {
opacity: .6;
z-index: -1;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(./common/img/pankuzu_bg.jpg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.pagettl_h2 {
position: absolute;
padding: 0 20px;
bottom: 30px;
left: 50%;
transform: translateX(-50%);
font-weight: 500;
text-align: center;
line-height: 1;
color: #fff;
}
.pagettl_h2_1 {
display: block;
margin-bottom: 13px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.8rem;
color: #d2eeb8;
}
.pagettl_h2_2 {
display: block;
font-size: 2.6rem;
letter-spacing: .1em;
}
.breadcrumb {
display: flex;
flex-wrap: wrap;
padding: 20px;
letter-spacing: .5px;
line-height: 1.4;
}
.breadcrumb span {
display: block;
}
.breadcrumb span > a,
.breadcrumb span > span {
display: block;
margin: 2px 10px;
}
.breadcrumb span > a {
}
.breadcrumb span > span {
}
.breadcrumb .current-item {
}
@media (max-width: 1260px) {
	.pagettl {
	height: 200px;
	}
}
@media (max-width: 1023px) {
	.pagettl {
	height: 180px;
	}
	.pagettl_h2 {
	bottom: 20px;
	}
	.pagettl_h2_1 {
	margin-bottom: 10px;
	font-size: inherit;
	}
}
@media (min-width: 768px) {
	/* hover */
	.breadcrumb a:hover {
	opacity: .5;
	transition: .3s;
	}
}
@media (max-width: 767px) {
	.pagettl {
	height: 140px;
	}
	.pagettl_h2_2 {
	font-size: 2.4rem;
	}
	.breadcrumb {
	padding: 10px;
	letter-spacing: 0;
	}
}

/*-- 大枠div --*/
.low {
position: relative;
letter-spacing: 1px;
}
.low_section {
padding: 100px 30px;
}
.low_wrap {
max-width: 1200px;
margin: auto;
}
.low_wrap2 {
max-width: 1440px;
}
.low_wrap>h1,
.low_wrap>h2,
.low_wrap>h3,
.low_wrap>h4,
.low_wrap>h5,
.low_wrap>h6,
.low_wrap>section,
.low_wrap>div,
.low_wrap>p,
.low_wrap>ul,
.low_wrap>ol,
.low_wrap>dl,
.low_wrap>table,
.low_wrap>a,
.low_wrap>img {
position: relative;
}
.low_parts + .low_parts {
margin-top: 60px;
}
@media (max-width:1260px) {
	.low_wrap {
	max-width: 964px;
	}
}
@media (max-width:1023px) {
	.low_wrap {
	max-width: 708px;
	}
	.low_section {
	padding: 60px 30px;
	}
}
@media (max-width:767px) {
	.low_wrap {
	max-width: 330px;
	}
	.low_section {
	padding: 50px 15px;
	}
	.low_parts + .low_parts {
	margin-top: 30px;
	}
}

/* 背景色 */
.bg01 {
position: relative;
}
.bg01::after {
z-index: -9;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #fff;
}
.bg02 {
position: relative;
}
.bg02::after {
z-index: -9;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #f5f5f5;
}
@media (max-width:767px) {
}

/*-------------------------
 汎用レイアウト
-------------------------*/
/*-- h3～h6タイトル --*/
.low_h3 {
z-index: 1;
position: relative;
margin-top: 3em;
margin-bottom: 4em;
padding-bottom: 30px;
text-align: center;
}
.low_h3::before {
position: absolute;
content: "";
width: 80px;
height: 2px;
bottom: 0;
left: 50%;
transform: translateX(-50%);
background: linear-gradient(90deg, #444 0%, #444 50%, #aaa 50%, #aaa 100%);
}
.low_h3:first-child {
margin-top: 0;
}
.low_h3_1 {
display: block;
margin-bottom: 15px;
font-family: "Montserrat", "Noto Sans JP", sans-serif;
font-size: 1.8rem;
font-weight: 500;
line-height: 1;
color: #3979b7;
}
.low_h3_2 {
display: block;
font-size: 3.0rem;
letter-spacing: .1em;
}
.low_h3_1 + .low_h3_2 {
margin-top: 3px;
}
.low_h3_2 + .low_h3_3 {
margin-top: 10px;
}
h3[class*="low_h3"] + h4[class*="low_h3"] {
margin-top: 0;
}
.low_h4 {
z-index: 1;
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 3em;
margin-bottom: 1.5em;
padding: 12px 20px 12px 35px;
font-size: 2.0rem;
border-radius: 4px;
background-color: #f1f1f1;
}
.bg02 .low_h4 {
background-color: #fff;
border: 1px solid #aec0d2;
}
.low_h4::before {
z-index: -2;
position: absolute;
content: "";
width: 5px;
height: calc(100% - 30px);
top: 50%;
transform: translateY(-50%);
left: 14px;
background-color: #3979b7;
border-radius: 100px;
}
.bg01 .low_h4 {
}
.low_h5.point {
display: flex;
align-items: center;
padding: 0;
border-left-width: 0;
background-color: transparent;
border-width: 0;
}
.low_h5.point::before {
display: none;
}
.point_s1 {
display: flex;
align-items: center;
justify-content: center;
width: 150px;
padding: 15px 10px;
text-align: center;
letter-spacing: 1px;
line-height: 1.2;
color: #fff;
background-color: #3979b7;
border: 3px solid;
border-radius: 100px;
}
.point_s2 {
display: block;
width: calc(100% - 150px);
padding-left: 20px;
line-height: 1.2;
border-radius: 100px 6px 6px 100px;
}
.bg01 .point_s2 {
color: #3979b7;
background-color: #d1c4ac;
}
h3[class*="low_h3"] + h5[class*="low_h4"],
h4[class*="low_h3"] + h5[class*="low_h4"] {
margin-top: 0;
}
.low_h5 {
width: fit-content;
margin-top: 2em;
margin-bottom: 1em;
padding-bottom: 5px;
color: #3979b7;
font-size: 1.8rem;
border-bottom: 3px double #3979b7;
}
.low_wrap > h4[class*="low_h3"]:first-child,
.low_wrap > h5[class*="low_h4"]:first-child,
.low_wrap > h6[class*="low_h5"]:first-child,
h3[class*="low_h3"] + h6[class*="low_h5"],
h4[class*="low_h3"] + h6[class*="low_h5"],
h5[class*="low_h4"] + h6[class*="low_h5"] {
margin-top: 0;
}
@media (max-width:1023px) {
	.low_h3 {
	margin-bottom: 3em;
	padding-bottom: 20px;
	}
	.low_h3::before {
	width: 60px;
	}
	.low_h3_1 {
	margin-bottom: 10px;
	font-size: inherit;
	}
	.low_h3_2 {
	font-size: 3.0rem;
	letter-spacing: inherit;
	}
	.low_h4 {
	}
	.low_h5 {
	}
}
@media (max-width:767px) {
	.low_h3 {
	padding-bottom: 20px;
	}
	.low_h3::before {
	width: 60px;
	}
	.low_h3_1 {
	}
	.low_h3_2 {
	font-size: 2.6rem;
	}
	.low_h4 {
	padding: 10px 10px 10px 25px;
	font-size: 1.8rem;
	}
	.low_h4::before {
	width: 3px;
	height: calc(100% - 28px);
	left: 12px;
	}
	.point_s1 {
	width: 80px;
	font-size: 1.6rem;
	padding: 10px;
	border-radius: 6px;
	}
	.point_s2 {
	width: calc(100% - 80px);
	padding-left: 10px;
	}
	.low_h5 {
	margin-top: 2em;
	margin-bottom: 10px;
	font-size: 1.7rem;
	}
}

/*-- 画像 --*/
.low_img {
}
.low_img_m {
max-width: 900px;
margin-left: auto !important;
margin-right: auto !important;
}
.low_img img {
}
.low_logo {
}
.low_logo img {
max-width: 500px;
}
@media (min-width:768px) {
	.low_img {
	margin-right: 10px;
	margin-left: 10px;
	}
}
@media (max-width:767px) {
	.low_img  {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	}
	.low_img_m {
	max-width: 400px;
	}
	.low_logo img {
	max-width: 200px;
	}
}

/*-- テキスト --*/
.low_catch {
position: relative;
width: fit-content;
margin-left: auto;
margin-right: auto;
font-size: 2.2rem;
font-weight: bold;
}
.low_read {
}
.low_read_1 {
font-size: 2.4rem;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
.low_read_2 {
width: fit-content;
margin: auto;
font-size: 1.8rem;
line-height: 2;
}
.low_txt_l,
.low_txt_m,
.low_txt_s {
width: fit-content;
margin-left: auto;
margin-right: auto;
}
.low_txt_l {
font-size: 1.8rem;
}
.low_txt_m {
}
.low_txt_s {
font-size: 1.4rem;
}
.low_read p + p,
div[class*="low_txt_"] p + p {
margin-top: 1em;
}
@media (min-width:768px) {
	.low_txt_l01 {
	letter-spacing: 1px;
	}
	/*--div[class*="low_txt_"],
	.low_read {
	margin-right: 10px;
	margin-left: 10px;
	}--*/
	.low_txt_l {
	font-size: 1.8rem;
	}
}
@media (max-width:1023px) {
	.low_catch {
	font-size: 1.8rem;
	}
	.low_read_2 {
	line-height: inherit;
	}
}
@media (max-width:767px) {
	.low_catch {
	/*--width: fit-content;
	margin-left: auto;
	margin-right: auto;
	text-align: left;--*/
	font-size: 1.9rem;
	}
	.low_read_1 {
	font-size: 1.7rem;
	}
	.low_read_2 {
	font-size: inherit;
	}
	.low_txt_l {
	font-size: 1.6rem;
	}
	.low_txt_s {
	font-size: 1.3rem;
	}
	.low_read p + p,
	div[class*="low_txt_"] p + p {
	margin-top: 0.5em;
	}
}

/*-- テキストリンク --*/
.txt_link {
text-decoration: underline;
}
@media (min-width:768px) {
	/* hover */
	.txt_link:hover {
	opacity: .5;
	transition: .3s;
	}
}

/*-- レイアウト01（色背景） --*/
.lay01 {
padding: 30px;
background-color: #f1f1f1;
border-radius: 0;
}
.bg01 .lay01 {
background-color: #d1c4ac;
}
.lay01.bd {
background-color: transparent;
border: 1px solid #c7c7c7;
}
.lay01_ttl {
margin-bottom: 30px;
font-size: 2.2rem;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
.lay01_txt {
}
.lay01 p + p {
margin-top: 1em;
}
@media (max-width:767px) {
	.lay01 {
	padding: 20px;
	}
	.lay01_ttl {
	margin-bottom: 10px;
	font-size: 1.7rem;
	}
	.lay01 p + p {
	margin-top: 0.5em;
	}
}

/*-- レイアウト02（画像＋説明文1） --*/
.lay02 {
overflow: hidden;
display: flex;
align-items: center;
height: 100%;
background-color: #fff;
border: 1px solid #c7c7c7;
border-radius: 10px;
}
.bg01 .lay02 {
background-color: #fff;
}
.lay02:nth-of-type(even) {
}
.lay02:nth-of-type(odd) {
flex-direction: row-reverse;
}
.lay02_box_ttl {
margin-bottom: 1em;
font-size: 2.0rem;
font-weight: bold;
}
.lay02_img {
width: 400px;
height: 100%;
}
.lay02_img img {
object-fit: cover;
width: 100%;
min-height: 350px;
height: 100%;
}
.lay02_box {
position: relative;
width: calc(100% - 400px);
height: 100%;
padding: 30px;
}
.lay02_box .low_h4 {
margin-top: 0 !important;
padding: 10px 20px;
font-size: 2.0rem;
}
.lay02_txt {
}
.lay02_txt p + p {
margin-top: 1em;
}
.lay02 .linkbtn {
min-width: 250px;
margin-top: 1em;
text-align: right;
}
.lay02 .linkbtn a {
min-width: inherit;
text-align: center;
text-decoration: none !important;
}
@media (max-width:1260px) {
}
@media (min-width:1024px) {
	.lay02_txt {
	line-height: 1.8;
	}
}
@media (max-width:1023px) {
	.lay02 {
	background-color: transparent;
	}
	.lay02_img {
	width: 350px;
	margin: auto;
	}
	.lay02_box {
	width: calc(100% - 350px);
	}
	.lay02_box_ttl {
	font-size: 1.8rem;
	}
}
@media (max-width:767px) {
	.lay02 {
	display: block;
	max-width: 400px;
	margin: auto;
	background-color: transparent;
	border-width: 1px;
	}
	.lay02_img {
	width: 100%;
	}
	.lay02_img img {
	aspect-ratio: 3 / 2;
	min-height: 100%;
	}
	.lay02_box {
	width: 100%;
	padding: 20px;
	}
	.lay02_box::before {
	width: calc(100% - 14px);
	height: calc(100% - 14px);
	}
	.lay02_box_ttl {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.6rem;
	}
	.lay02 .linkbtn {
	min-width: 200px;
	text-align: center;
	}
}

/*-- レイアウト02（画像＋説明文1） --*/
.lay03 {
overflow: hidden;
padding: 30px;
background-color: #fff;
border: 1px solid #c7c7c7;
border-radius: 10px;
}
.lay03 .low_h4 {
border-bottom-width: 0;
}
.lay03 .low_h4:first-of-type {
margin-top: 0 !important;
}
div[class*="lay03_box"] + div[class*="lay03_box"] {
margin-top: 40px;
}
.lay03_box1,
.lay03_box2 {
display: flex;
align-items: flex-start;
}
.lay03_box2 {
flex-direction: row-reverse;
}
.lay03_box1 .lay03_txt,
.lay03_box2 .lay03_txt {
width: calc(100% - 400px);
}
.lay03_box1 .lay03_txt {
padding-right: 30px;
}
.lay03_box2 .lay03_txt {
padding-left: 30px;
}
.lay03_txt p + p {
margin-top: 1em;
}
.lay03_box1 .lay03_img,
.lay03_box2 .lay03_img {
width: 400px;
}
.lay03_box3 {
}
.lay03_box3 .lay03_txt {
margin-bottom: 20px;
}
.lay03_img img {
}
@media (max-width:1023px) {
	.lay03_box1,
	.lay03_box2 {
	display: block;
	}
	.lay03_box1 .lay03_txt,
	.lay03_box2 .lay03_txt {
	width: 100%;
	margin-bottom: 20px;
	}
	.lay03_box1 .lay03_txt {
	padding-right: 0;
	}
	.lay03_box2 .lay03_txt {
	padding-left: 0;
	}
	.lay03_box1 .lay03_img,
	.lay03_box2 .lay03_img {
	width: 100%;
	}
}
@media (max-width:767px) {
	.lay03 {
	padding: 20px;
	border-width: 1px;
	}
}

/*-- faq --*/
.faq {
}
.faq_list {
}
.faq_list_li {
overflow: hidden;
margin-bottom: 15px;
border: 1px solid #c7c7c7;
border-radius: 0;
}
.faq_q {
cursor: pointer;
position: relative;
padding: 30px 50px 30px 75px;
font-weight: 500;
background-color: #fff;
}
.faq_a {
position: relative;
padding: 30px 20px 30px 75px;
border-top: 1px solid #ddd;
}
.faq_q::before,
.faq_a::before {
position: absolute;
content: "";
top: 50%;
transform: translateY(-50%);
left: 30px;
font-family: "arial",sans-serif;
font-size: 2.2rem;
line-height: 1;
}
.faq_q::before {
content: "Q.";
}
.faq_a::before {
content: "A.";
}
.faq_q::after {
z-index: 1;
position: absolute;
content: "";
width: calc(15px);
height: calc(15px);
top: 50%;
transform: translateY(-50%);
right: 20px;
background-image: url(./common/img/faq_toggle_open.png);
background-repeat: no-repeat;
background-size: contain;
filter: brightness(0) invert(.5);
}
.faq_q.open::after {
background-image: url(./common/img/faq_toggle_close.png);
background-repeat: no-repeat;
background-size: contain;
}
@media (max-width:1260px) {
}
@media (max-width:1023px) {
	.faq_list {
	}
	.faq_q {
	padding: 20px 55px 20px 65px;
	}
	.faq_a {
	padding: 20px 20px 20px 65px;
	}
	.faq_q::before,
	.faq_a::before {
	left: 20px;
	}
}
@media (min-width:768px) {
	/* hover */
	.faq_q:hover {
	background-color: #f1f1f1;
	transition: .5s;
	}
	.faq_q:hover::after {
	}
}
@media (max-width:767px) {
	.faq_list_li {
	margin-bottom: 6px;
	}
	.faq_q {
	padding: 15px 35px 15px 50px;
	}
	.faq_a {
	padding: 15px 15px 15px 50px;
	}
	.faq_q::before,
	.faq_a::before {
	left: 15px;
	font-size: 2.0rem;
	}
	.faq_q::after {
	width: calc(20px * .6);
	height: calc(20px * .6);
	right: 10px;
	}
	.faq_q.open::after {
	width: calc(20px * .6);
	height: calc(20px * .6);
	right: 10px;
	}
}

/*-- テーブル --*/
.tbl1 {
}
.tbl1 table {
table-layout: auto;
}
.fixed {
table-layout: fixed;
}
.tbl100 {
width: 100%;
}
.tbl_scr {
overflow-y: hidden !important;
overflow-x: hidden !important;
}
.tbl1 th,
.tbl1 td {
padding: 15px 20px;
line-height: 1.4;
background-color: #fff;
border: 1px solid #c7c7c7;
}
.tbl1 th {
width: 250px;
font-weight: bold;
background-color: #f5f5f5;
}
.tbl1 td {
width: calc(100% - 250px);
}
.tbl1 p + p,
.tbl1 p + ul,
.tbl1 ul + p,
.tbl1 ul + ul {
margin-top: 1em;
}
.tbl1 .list01 {
margin-left: 0;
margin-right: 0;
}
.tbl1 a.link {
display: block;
width: fit-content;
margin-top: 5px;
padding: 6px 12px;
font-size: 1.3rem;
font-weight: bold;
text-decoration: none !important;
line-height: 1;
border: 2px solid #252525;
border-radius: 4px;
}
.tbl1 a.link::after {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: 4px;
height: 4px;
top: -2px;
margin-left: 3px;
border-style: solid;
border-color: #252525;
border-width: 2px 2px 0 0;
transform: rotate(45deg);
}
@media (max-width:1023px) {
	.tbl1 {
	table-layout: fixed;
	}
	.tbl_scr {
	overflow-x: auto !important;
	}
	.tbl_scr::-webkit-scrollbar {
	width: 10px;
	height: 8px;
	background: #eee;
	}
	.tbl_scr::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 10px;
	}
	.tbl_scr .tbl1 {
	width: 1024px;
	}
}
@media (min-width:768px) {
	/* hover */
	.tbl1 a:hover {
	background-color: #f1f1f1;
	transition: .5s;
	}
}
@media (max-width:767px) {
	.tbl1 th,
	.tbl1 td {
	padding: 10px;
	}
	.tbl1 th {
	width: 100px;
	}
	.tbl1 td {
	width: calc(100% - 100px);
	}
	.tbl_scr .tbl1 {
	width: 767px;
	}
	.tbl1.sp_tbl {
	}
	.tbl1.sp_tbl tr,
	.tbl1.sp_tbl th,
	.tbl1.sp_tbl td {
	display: block;
	width: 100% !important;
	}
	.tbl1.sp_tbl tr {
	margin-bottom: 10px;
	}
	.tbl1.sp_tbl th + td,
	.tbl1.sp_tbl td + td {
	border-top: 0;
	}
	.tbl1 a {
	font-size: 1.4rem;
	}
}

/*-- 2カラムtable --*/
.tbl_col2 {
}
@media (max-width:1023px) {
	.tbl_col2 .col2_in {
	width: 100%;
	margin-bottom: 10px;
	}
}

/*-- 定義リスト --*/
.dl1 {
}
.dl1 dl {
border-bottom: 1px solid #c7c7c7;
}
.dl1 dt {
position: relative;
padding: 20px;
font-weight: bold;
}
.dl1 dd {
padding: 20px;
}
@media (min-width:768px) {
	.dl1 dl {
	display: flex;
	}
	.dl1 dt {
	width: 250px;
	}
	.dl1 dd {
	width: calc(100% - 250px);
	}
}
@media (max-width:767px) {
	.dl1 dl {
	position: relative;
	border-bottom: 1px solid #c7c7c7;
	}
	.dl1 dt {
	border-bottom-width: 0;
	padding: 15px 10px 0 10px;
	}
	.dl1 dd {
	border-bottom-width: 0;
	padding: 5px 10px 15px 10px;
	}
}

/*-- フロー --*/
.flow {
}
.flow_list {
}
.flow_list_li {
position: relative;
margin-bottom: 40px;
padding: 30px;
background-color: #f5f5f5;
border: 1px solid #c7c7c7;
border-radius: 6px;
}
.bg01 .flow_list_li {
background-color: #fff;
}
.flow_list_li:not(:last-of-type)::after {
position: absolute;
content: "";
width: 30px;
height: 20px;
bottom: -30px;
right: 0;
left: 0;
margin: auto;
background-color: #ccc;
clip-path: polygon(100% 0, 0 0, 50% 100%);
-webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.flow_txt1 {
margin-bottom: .5em;
font-size: 1.8rem;
font-weight: bold;
text-align: center;
}
.flow_txt2 {
width: fit-content;
margin-left: auto;
margin-right: auto;
}
@media (max-width:1023px) {
	.flow_list_li {
	border-width: 1px;
	}
	.flow_txt1 {
	font-size: 1.8rem;
	}
}
@media (max-width:767px) {
	.flow_list_li {
	margin-bottom: 35px;
	padding: 15px;
	}
	.flow_list_li:not(:last-of-type)::after {
	width: 30px;
	height: 20px;
	bottom: -28px;
	}
	.flow_txt1 {
	font-size: 1.8rem;
	}
}

/*-- ダウンロード --*/
.download {
}
.download li {
font-weight: bold;
}
.download li + li {
margin-top: 10px;
}
.download a {
position: relative;
display: block;
padding: 15px 80px 15px 15px;
text-decoration: none !important;
background-color: #f1f1f1;
border-left: 15px solid #ccc;
border-radius: 4px;
}
.bg01 .download a {
background-color: #d1c4ac;
border-color: #888;
}
.download a::before {
position: absolute;
content: "";
width: 28px;
height: 28px;
top: 50%;
transform: translateY(-50%);
right: 30px;
background-image: url(./common/img/ico_download.png);
background-repeat: no-repeat;
background-size: contain;
}
@media (max-width:1023px) {
}
@media (min-width:768px) {
	/* hover */
	.download a:hover {
	color: #fff;
	background-color: #02a14d;
	border-color: #02a14d;
	transition: .5s;
	}
	.download a:hover::before {
	filter: brightness(0) invert(1);
	transition: .5s;
	}
}
@media (max-width:767px) {
	.download li + li {
	margin-top: 8px;
	}
	.download a {
	padding: 10px 50px 10px 10px;
	border-left-width: 10px;
	border-radius: 4px;
	}
	.download a::before {
	width: 20px;
	height: 20px;
	right: 20px;
	}
}

/*-- 多列カラム --*/
.col2,
.col3,
.col4,
.col5,
.col6 {
display: flex;
flex-wrap: wrap;
margin-right: -12px;
margin-left: -12px;
}
.col2_in,
.col3_in,
.col4_in,
.col5_in,
.col6_in {
width: calc(50% - 24px);
margin-right: 12px;
margin-left: 12px;
margin-bottom: 40px;
}
.col_ttl {
font-size: 1.8rem;
font-weight: bold;
text-align: center;
}
.col_txt {
}
.col_img img {
object-fit: cover;
aspect-ratio: 4 / 3;
width: 100%;
height: 100%;
}
.col_ttl + .col_txt,
.col_img + .col_txt,
.col_txt + .col_ttl,
.col_img + .col_ttl,
.col_ttl + .col_img,
.col_txt + .col_img {
margin-top: 10px;
}
@media (min-width:1024px) {
	.col3_in {
	width: calc(33.3333% - 24px);
	}
	.col4_in {
	width: calc(25% - 24px);
	}
	.col5_in {
	width: calc(20% - 24px);
	}
	.col6_in {
	width: calc(16.6666666667% - 24px);
	}
}
@media (max-width:1023px) {
}
@media (max-width:767px) {
	.col2,
	.col3,
	.col4,
	.col5,
	.col6 {
	margin-right: -5px;
	margin-left: -5px;
	}
	.col2_in,
	.col3_in,
	.col4_in,
	.col5_in,
	.col6_in {
	width: calc(50% - 10px);
	margin-right: 5px;
	margin-left: 5px;
	margin-bottom: 30px;
	}
	.col2.sp_col1,
	.col3.sp_col1,
	.col4.sp_col1,
	.col5.sp_col1,
	.col6.sp_col1 {
	display: block;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
	}
	.sp_col1 .col2_in,
	.sp_col1 .col3_in,
	.sp_col1 .col4_in,
	.sp_col1 .col5_in,
	.sp_col1 .col6_in {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 30px;
	}
	.col_ttl {
	font-size: 1.6rem;
	}
	.col_ttl + .col_txt,
	.col_img + .col_txt,
	.col_txt + .col_ttl,
	.col_img + .col_ttl,
	.col_ttl + .col_img,
	.col_txt + .col_img {
	margin-top: 5px;
	}
}

/*-- 3カラムリンクバナー --*/
.linkbnr {
}
.linkbnr .col3_in {
overflow: hidden;
position: relative;
background-color: #f1f1f1;
border-radius: 8px;
}
.bg01 .linkbnr .col3_in {
background-color: #d1c4ac;
}
.linkbnr .col3_in a {
z-index: 1;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.linkbnr_box {
padding: 20px;
}
.linkbnr .col_ttl {
text-align: left;
}
.linkbnr .col_txt {
}
.linkbnr {
}
.linkbnr {
}
@media (min-width:768px) {
	/* hover */
	.linkbnr .col3_in:hover {
	opacity: .5;
	transition: .5s;
	}
}
@media (max-width:767px) {
	.linkbnr_box {
	padding: 15px;
	}
}

/*-- リスト --*/
.list01_li {
margin: 4px 0;
padding-left: 1em;
text-indent: -1em;
}
.list01_li + .list01_li {
}
.list02_li + .list01_li {
margin-top: 1em;
}
.list02 {
}
.list02_li {
position: relative;
padding-left: 28px;
}
.list02_li::before {
position: absolute;
content: "";
width: 7px;
height: 2px;
top: 12px;
left: 10px;
background-color: #3979b7;
}
.list03 {
}
.list03_li {
position: relative;
padding: 12px 10px 12px 35px;
border-bottom: 1px dashed #c7c7c7;
}
.list03_li::before {
position: absolute;
content: "";
width: 6px;
height: 6px;
top: 50%;
transform: translateY(-50%);
left: 12px;
background-color: #f5f5f5;
border: 2px solid #aaa;
border-radius: 50%;
}
.list04 {
}
.list04_ul {
counter-reset: listnum;
}
.list04_li::before {
counter-increment: listnum;
content: counter(listnum)".";
width: inherit !important;
height: inherit !important;
top: inherit;
transform: inherit;
font-weight: 500;
color: #222;
background-color: inherit;
border-width: 0;
}
.list04_li::marker {
}
@media (min-width:768px) {
	.list01,
	.list02,
	.list03,
	.list04 {
	margin-left: 10px;
	margin-right: 10px;
	}
	.list04_li {
	font-size: 1.8rem;
	}
}
@media (max-width:767px) {
	.list02_li {
	padding-left: 22px;
	}
	.list02_li + li {
	margin-top: 0.7em;
	}
	.list02_li::before {
	width: 5px;
	height: 2px;
	top: 10px;
	}
	.list03_li {
	padding: 10px 5px 10px 28px;
	}
	.list03_li::before {
	width: 6px;
	height: 6px;
	left: 10px;
	}
}

/*-- GoogleMap埋め込み --*/
.gmap {
}
.gmap iframe {
display: block;
width: 100%;
height: 600px;
border-width: 0 !important;
}
@media (max-width:767px) {
	.gmap iframe {
	height: 400px;
	}
}

/*-- リンクボタン --*/
.linkbtn {
font-weight: bold;
text-align: center;
}
.linkbtn a {
position: relative;
display: inline-block;
min-width: 250px;
margin-left: auto;
margin-right: auto;
padding: 15px 50px 15px 30px;
text-decoration: none !important;
letter-spacing: 1px;
color: #fff;
background-color: #3979b7;
border: 2px solid #3979b7;
border-radius: 100px;
/*box-shadow: 0 0 10px rgba(0,0,0,.2);*/
}
.linkbtn a::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
top: 50%;
transform: translateY(-50%);
right: 25px;
margin-top: -4px;
border-style: solid;
border-color: #fff;
border-width: 2px 2px 0 0;
transform: rotate(45deg);
}
.linkbtn_list {
display: flex;
flex-wrap: wrap;
margin: 0 -10px -20px -10px;
}
.linkbtn_list li {
margin: 0 10px 20px 10px;
width: calc(50% - 20px);
}
.linkbtn_list_3col li {
width: calc(33.3333% - 20px);
}
.linkbtn_list_4col li {
width: calc(25% - 20px);
}
.linkbtn_list a {
display: flex;
align-items: center;
justify-content: center;
min-width: 100%;
text-align: left;
}
.linkbtn .linkbtn_list a {
min-width: 100%;
}
@media (max-width:1023px) {
	.linkbtn_list {
	margin: 0 -5px -10px -5px;
	}
	.linkbtn_list li {
	width: calc(50% - 10px) !important;
	margin: 0 5px 10px 5px;
	}
}
@media (min-width:768px) {
	/* hover */
	.linkbtn a:hover {
	background-color: #7fbd45;
	border-color: #7fbd45;
	transition: .3s;
	}
	.linkbtn a:hover {
	}
	.linkbtn a:hover::after {
	}
}
@media (max-width:767px) {
	.linkbtn a {
	min-width: 200px;
	padding: 10px 30px 10px 20px;
	}
	.linkbtn a::after {
	width: 4px;
	height: 4px;
	right: 15px;
	}
	.linkbtn_list {
	margin: 0 -3px -6px -3px;
	}
	.linkbtn_list li {
	width: calc(50% - 6px) !important;
	margin: 0 3px 6px 3px;
	}
	.linkbtn_list a {
	min-width: auto;
	}
}

/*-----------------------
 ブログ
-----------------------*/
.blog {
padding: 100px 30px;
}
.blog_wrap {
display: flex;
align-items: flex-start;
max-width: 1400px;
margin: auto;
}
.blog_main_col {
width: calc(100% - 300px);
padding-right: 80px;
}
/*-- サイドメニュー --*/
.blog_side_col {
width: 300px;
}
.blog_side_col_in {
margin-bottom: 50px;
}
.blog_side_col_in:last-child {
margin-bottom: 0;
}
.blog_side_col_ttl {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
padding: 10px 20px;
letter-spacing: 1px;
background-color: #f1f1f1;
}
.blog_side_col_ttl span:nth-of-type(1) {
}
.blog_side_col_ttl span:nth-of-type(2) {
font-family: "arial",sans-serif;
font-size: 1.2rem;
font-weight: normal;
}
.blog_side_col_list {
}
.blog_side_col_list li {
position: relative;
padding: 8px;
font-size: 1.4rem;
letter-spacing: 0;
border-bottom: 1px solid #ccc;
}
.blog_side_col_list li:last-of-type {
margin-bottom: 0;
}
.blog_side_date {
font-family: "arial",sans-serif;
line-height: 1;
}
.blog_side_col ul li dl {
}
.blog_side_col ul li dt {
}
.blog_side_col ul li dd {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
text-overflow: ellipsis;
}
/*-- 共通 --*/
.blog_category {
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
justify-content: flex-end;
margin-right: -2px;
margin-bottom: 5px;
}
.blog_category li {
margin: 2px;
padding: 7px 8px;
font-size: 1.3rem;
text-align: center;
line-height: 1;
border: 1px solid #000;
background-color: #fff;
border-radius: 2px;
}
.blog_date {
font-size: 1.5rem;
text-align: right;
line-height: 1;
letter-spacing: 1px;
}
/*-- アーカイブ --*/
.blog_archives {
}
.blog_list {
}
.blog_list_li {
position: relative;
margin-bottom: 20px;
background-color: #fff;
border: 1px solid #c7c7c7;
}
.blog_list_li>a {
z-index: 1;
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.blog_list_box {
display: flex;
flex-direction: row-reverse;
}
.blog_list_box_in1 {
width: calc(100% - 220px);
padding: 20px 20px 20px 10px;
}
.blog_list_ttl {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
text-overflow: ellipsis;
margin-bottom: 10px;
font-size: 1.8rem;
letter-spacing: 1px;
line-height: 1.4;
}
.blog_date {
margin-bottom: 10px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.5rem;
letter-spacing: .5px;
line-height: 1;
}
.blog_list_txt {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
text-overflow: ellipsis;
letter-spacing: 0;
line-height: 1.4;
}
.blog_list_box .blog_category {
position: absolute;
bottom: 10px;
left: 15px;
}
.blog_list_box_in2 {
width: 220px;
height: 200px;
padding: 10px;
}
.blog_list_box_in2 img {
object-fit: cover;
width: 100%;
height: 100%;
}
/*-- ページャー --*/
.wp-pagenavi {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-top: 50px;
font-family: "arial",sans-serif;
line-height: 1;
}
.wp-pagenavi .pages {
margin-right: 10px;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
width: 30px;
height: 30px;
margin: 2px;
display: flex;
align-items: center;
justify-content: center;
background-color: #eee;
border-radius: 100%;
}
.wp-pagenavi .current {
font-weight: bold;
color: #fff;
background-color: #3979b7;
border: 1px solid;
}
.wp-pagenavi .nextpostslink {
margin-left: 10px;
font-size: 2.0rem;
}
/*-- シングルページ --*/
.blog_single_box {
margin-bottom: 3em;
}
.blog_single .blog_date {
margin-bottom: 10px;
font-size: 1.7rem;
}
.blog_single_title {
margin: 0 auto 30px;
font-size: 2.7rem;
}
.post_in {
margin-top: 30px;
line-height: 2;
}
.post_in h1 {
margin-top: 0;
margin-bottom: 1em;
padding: 15px;
font-size: 120%;
background-color: #f1f1f1;
}
.post_in h2 {
margin-top: 0;
margin-bottom: 1em;
padding-bottom: 4px;
font-size: 115%;
border-bottom: 2px solid #c7c7c7;
}
.post_in h3 {
width: fit-content;
margin-top: 0;
margin-bottom: 1em;
padding-bottom: 2px;
font-size: 110%;
border-bottom: 1px solid #c7c7c7;
}
.post_in h4 {
margin-bottom: .5em;
}
.post_in h5 {
margin-bottom: .5em;
}
.post_in h6 {
margin-bottom: .5em;
}
.post_in img {
width: auto;
max-width: 800px;
margin: 2em auto 2em;
}
.post_in p a {
text-decoration: underline;
}
.post_in ul,
.post_in ol {
margin-top: 1em;
margin-bottom: 1em;
margin-left: 1.5em;
}
.post_in ul {
list-style: disc;
}
.post_in ol {
list-style: decimal;
}
.post_dl_btn {
}
.post_dl_btn a {
}
/*-- singleページャー --*/
.single_pager {
z-index: 1;
display: flex;
display: box;
align-items: center;
position: relative;
letter-spacing: 0;
}
.single_pager li {
position: relative;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
text-overflow: ellipsis;
width: 33.3333%;
}
.single_pager_prev,
.single_pager_next {
width: calc((100% - 150px)/2);
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
text-overflow: ellipsis;
}
.single_pager li a {
padding: 0 15px;
}
.single_pager_prev a,
.single_pager_next a {
display: block;
width: fit-content;
}
.single_pager_next a {
margin-left: auto;
}
.single_pager_prev::before,
.single_pager_next::before {
position: absolute;
content: "";
width: 5px;
height: 5px;
top: 9px;
transform: rotate(45deg);
}
.single_pager_prev::before {
left: 1px;
border-bottom: 2px solid #252525;
border-left: 2px solid #252525;
}
.single_pager_next::before {
right: 1px;
border-top: 2px solid #252525;
border-right: 2px solid #252525;
}
.single_pager_return {
width: 150px;
text-align: center;
}
@media (max-width:1460px) {
	.blog_wrap {
	max-width: 964px;
	}
	.blog_main_col {
	width: calc(100% - 250px);
	padding-right: 60px;
	}
	.post_in img {
	max-width: 100%;
	}
	.blog_list_li {
	}
	.blog_side_col {
	width: 250px;
	}
}
@media (max-width:1260px) {
	.blog_single .blog_date {
	font-size: inherit;
	}
	.blog_single_title {
	font-size: 2.4rem;
	}
}
@media (max-width:1023px) {
	.blog {
	padding: 60px 30px;
	}
	.blog_wrap {
	display: block;
	max-width: 660px;
	}
	.blog_side_col {
	width: 100%;
	}
	.blog_side_col_in {
	margin-bottom: 40px;
	}
	.blog_side_col_ttl {
	margin-bottom: 10px;
	}
	.blog_main_col {
	width: 100%;
	margin: 0 auto 60px;
	padding-right: 0;
	}
	.blog_list {
	}
	.blog_list_li {
	margin-bottom: 10px;
	}
	.wp-pagenavi {
	margin-top: 30px;
	}
	.blog_category li {
	padding: 4px 5px;
	}
	.post_in {
	line-height: inherit;
	}
}
@media (min-width:768px) {
	/*-- hover */
	.blog_side_col_list li a:hover {
	opacity: .5;
	transition: .5s;
	}
	.blog_list_li:hover {
	opacity: .6;
	transition: .5s;
	}
	.wp-pagenavi .page:hover {
	font-weight: bold;
	color: #fff;
	background-color: #3979b7;
	transition: .5s;
	}
	.single_pager li a:hover {
	opacity: .5;
	transition: .5s;
	}
}
@media (max-width:767px) {
	.blog {
	padding: 50px 15px;
	}
	.blog_wrap {
	max-width: 330px;
	}
	.blog_main_col {
	margin-bottom: 50px;
	}
	.blog_side_col_in {
	margin-bottom: 30px;
	}
	.blog_side_col_ttl {
	padding: 10px 15px;
	}
	.blog_side_col_list li {
	padding: 5px;
	}
	.blog_date {
	margin-bottom: 10px;
	}
	.blog_list {
	}
	.blog_list_li {
	height: 102px;
	border-width: 1px;
	}
	.blog_list_box {
	}
	.blog_list_box_in1 {
	width: calc(100% - 100px);
	padding: 10px;
	}
	.blog_list_box_in2 {
	width: 100px;
	height: 100px;
	padding: 0;
	}
	.blog_list_box .blog_category {
	bottom: 4px;
	left: 4px;
	margin-bottom: 0;
	}
	.blog_list_box .blog_category li {
	padding: 3px;
	font-size: 1.1rem;
	border-width: 0;
	}
	.blog_date {
	margin-bottom: 4px;
	font-size: 1.1rem;
	}
	.blog_list_ttl {
	margin-bottom: 5px;
	font-size: 1.4rem;
	}
	.blog_list_txt {
	-webkit-line-clamp: 3;
	font-size: 1.2rem;
	line-height: 1.3;
	}
	.blog_single_box {
	padding: 0 5px;
	}
	.blog_single_title {
	font-size: 2.0rem;
	}
	.post_in {
	}
	.single_pager {
	display: block;
	}
	.blog_single_title {
	margin-bottom: 1em;
	}
	.single_pager {
	display: block;
	}
	.single_pager li {
	width: 100%;
	}
	.single_pager_prev,
	.single_pager_return {
	margin-bottom: 8px;
	}
	.single_pager li a {
	padding: 0 10px;
	font-size: 1.5rem;
	}
	.single_pager_prev::before,
	.single_pager_next::before {
	width: 4px;
	height: 4px;
	top: 8px;
	border-width: 1px !important;
	}
}

/*-----------------------
 業務案内
-----------------------*/
.service_page {
}
.service_sec {
}
.service_img {
margin-bottom: 30px;
}
.service_img img {
object-fit: cover;
aspect-ratio: 3 / 2;
width: 100%;
height: 100%;
border-radius: 6px;
}
@media (max-width:1260px) {
}
@media (max-width:1023px) {
}
@media (min-width:768px) {
}
@media (max-width:767px) {
	.service_img {
	margin-bottom: 20px;
	}
}

/*-----------------------
 業務実績
-----------------------*/
.project_page {
}
.project_sec {
}
.project_sec .low_h4 {
margin-bottom: 10px;
}
.project_sec_txt1 {
}
.project_sec_txt2 {
max-width: calc(100% - 2em);
margin: 0 auto 30px;
}
.project_list {
display: flex;
flex-wrap: wrap;
margin: -12px;
}
.project_list_li {
overflow: hidden;
position: relative;
width: calc(50% - 24px);
margin: 12px;
background-color: #fff;
border: 1px solid #c7c7c7;
border-radius: 6px;
}
.project_list_li .low_h4 {
margin-top: 0;
}
.project_list_img {
overflow: hidden;
position: relative;
}
.project_list_img img {
object-fit: contain;
aspect-ratio: 3 / 2;
width: 100%;
height: 100%;
}
.project_list_txt {
min-height: 85px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 10px;
text-align: center;
line-height: 1.4;
}
.project_list_txt_1 {
}
.project_list_txt_2 {
font-size: 90%;
}
@media (max-width:1260px) {
}
@media (max-width:1023px) {
	.project_list_txt {
	min-height: 75px;
	text-align: left;
	}
	.project_list_txt_1 {
	font-size: 90%;
	}
	.project_list_txt_1 br {
	display: none;
	}
	.project_list_txt_2 {
	font-size: 80%;
	}
}
@media (min-width:768px) {
	/* hover */
	.project_list_img:hover {
	opacity: .7;
	transition: .3s;
	}
}
@media (max-width:767px) {
	.project_sec_txt2 {
	margin-bottom: 20px;
	}
	.project_list {
	margin: -4px;
	}
	.project_list_li {
	width: calc(50% - 8px);
	margin: 4px;
	}
	.project_list_txt {
	min-height: auto;
	padding: 8px;
	}
}

/*-----------------------
 採用情報
-----------------------*/
.recruit_page {
}
.recruit_message {
position: relative;
}
.recruit_message::after {
opacity: .1;
z-index: -2;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(./common/img/recruit/message_bg.jpg);
background-repeat: no-repeat;
background-size: cover;
}
.recruit_message_box1 {
overflow: hidden;
position: relative;
width: fit-content;
max-width: 1000px;
margin-left: auto;
margin-right: auto;
font-size: 1.8rem;
border-radius: 20px;
}
.recruit_message_box1_p {
}
.recruit_message_box1_p + .recruit_message_box1_p {
margin-top: 1em;
}
.recruit_office {
}
.recruit_office_box {
display: flex;
}
.recruit_office_box:nth-of-type(even) {
flex-direction: row-reverse;
}
.recruit_office_box_img {
width: 500px;
}
.recruit_office_box_img img,
.recruit_office_box_img2 img {
object-fit: cover;
aspect-ratio: 3 / 2;
width: 100%;
height: 100%;
border-radius: 6px;
}
.recruit_office_box_txt {
width: calc(100% - 500px);
}
.recruit_office_box:nth-of-type(odd) .recruit_office_box_txt {
padding-left: 50px;
}
.recruit_office_box:nth-of-type(even) .recruit_office_box_txt {
padding-right: 50px;
}
.recruit_office_box_txt .low_h4 {
margin-top: 0;
}
.recruit_office_box_txt_in {
}
.recruit_office_box_txt_in + .recruit_office_box_txt_in {
margin-top: 1em;
}
.recruit_office_box_img2 {
display: flex;
justify-content: center;
max-width: calc(1000px + 48px);
margin: auto;
}
.recruit_office_box_img2_in {
width: calc(50% - 24px);
margin: 0 12px;
}
.recruit_interview {
}
.recruit_interview_list {
}
.recruit_interview_list_li {
display: flex;
align-items: flex-start;
padding: 30px;
background-color: #fff;
border: 1px solid #c7c7c7;
border-radius: 15px;
}
.recruit_interview_list_li:nth-of-type(even) {
flex-direction: row-reverse;
}
.recruit_interview_list_li + .recruit_interview_list_li {
margin-top: 60px;
}
.recruit_interview_list_in1 {
position: relative;
width: 200px;
}
.recruit_interview_list_img {
background-color: #d4e6ff;
border-radius: 6px;
}
.recruit_interview_list_img img {
object-fit: cover;
aspect-ratio: 1 / 1;
width: 100%;
height: 100%;
}
.recruit_interview_list_name {
z-index: 1;
position: relative;
margin-top: -15px;
text-align: center;
line-height: 1.4;
color: #3979b7;
}
.recruit_interview_list_name_1 {
max-width: 180px;
margin: 0 auto 4px;
padding: 8px 20px;
font-size: 80%;
color: #fff;
background-color: #3979b7;
border-radius: 100px;
}
.recruit_interview_list_name_1_s {
display: block;
}
.recruit_interview_list_name_2 {
font-weight: bold;
}
.recruit_interview_list_in2 {
width: calc(100% - 200px);
}
.recruit_interview_list_li:nth-of-type(odd) .recruit_interview_list_in2 {
padding-left: 50px;
}
.recruit_interview_list_li:nth-of-type(even) .recruit_interview_list_in2 {
padding-right: 50px;
}
.recruit_interview_list_faq {
}
.recruit_interview_list_faq_in {
}
.recruit_interview_list_faq_in + .recruit_interview_list_faq_in {
margin-top: 30px;
}
.recruit_interview_list_q {
position: relative;
margin-bottom: 10px;
font-weight: bold;
color: #3979b7;
}
.recruit_interview_list_q::before,
.recruit_interview_list_a_in:first-of-type::before {
margin-right: 10px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 1.8rem;
font-weight: bold;
}
.recruit_interview_list_q::before {
content: "Q.";
}
.recruit_interview_list_a {
position: relative;
}
.recruit_interview_list_a_in {
}
.recruit_interview_list_a_in:first-of-type {
position: relative;
}
.recruit_interview_list_a_in:first-of-type::before {
content: "A.";
color: #7fbd45;
}
.recruit_interview_list_a_in + .recruit_interview_list_a_in {
margin-top: .5em;
}
.recruit_benefits {
}
.recruit_jobinfo {
}
.recruit_jobinfo_txt {
width: fit-content;
margin: -1em auto 2em;
font-size: 1.8rem;
}
.recruit_jobinfo .tbl1 th {
width: 200px;
}
.recruit_jobinfo .tbl1 td {
width: calc(100% - 200px);
font-size: 90%;
}
@media (max-width:1260px) {
	.recruit_message_box1 {
	font-size: inherit;
	}
	.recruit_office_box_img {
	width: 400px;
	}
	.recruit_office_box_txt {
	width: calc(100% - 400px);
	}
	.recruit_office_box:nth-of-type(odd) .recruit_office_box_txt {
	padding-left: 30px;
	}
	.recruit_office_box:nth-of-type(even) .recruit_office_box_txt {
	padding-right: 30px;
	}
	.recruit_interview_list_li:nth-of-type(odd) .recruit_interview_list_in2 {
	padding-left: 30px;
	}
	.recruit_interview_list_li:nth-of-type(even) .recruit_interview_list_in2 {
	padding-right: 30px;
	}
	.recruit_jobinfo_txt {
	margin-bottom: 1em;
	font-size: inherit;
	}
}
@media (max-width:1023px) {
	.recruit_office_box_img {
	width: 300px;
	}
	.recruit_office_box_txt {
	width: calc(100% - 300px);
	}
	.recruit_office_box_img2 {
	margin: auto -9px;
	}
	.recruit_office_box_img2_in {
	width: calc(50% - 18px);
	margin: 0 9px;
	}
	.recruit_interview_list_li {
	padding: 20px;
	border-radius: 10px;
	}
	.recruit_interview_list_li + .recruit_interview_list_li {
	margin-top: 30px;
	}
	.recruit_interview_list_in1 {
	width: 150px;
	}
	.recruit_interview_list_name {
	margin-top: -10px;
	}
	.recruit_interview_list_name_1 {
	margin-bottom: 2px;
	font-size: 70%;
	}
	.recruit_interview_list_in2 {
	width: calc(100% - 150px);
	}
	.recruit_interview_list_q {
	margin-bottom: 5px;
	}
	.recruit_interview_list_q::before,
	.recruit_interview_list_a_in:first-of-type::before {
	font-size: inherit;
	}
	.recruit_interview_list_faq_in + .recruit_interview_list_faq_in {
	margin-top: 20px;
	}
	.recruit_jobinfo .tbl1 th {
	width: 150px;
	}
	.recruit_jobinfo .tbl1 td {
	width: calc(100% - 150px);
	}
}
@media (min-width:768px) {
}
@media (max-width:767px) {
	.recruit_office_box {
	display: block;
	}
	.recruit_office_box_img {
	width: 100%;
	margin-bottom: 20px;
	}
	.recruit_office_box_txt {
	width: 100%;
	}
	.recruit_office_box:nth-of-type(odd) .recruit_office_box_txt {
	padding-left: 0;
	}
	.recruit_office_box:nth-of-type(even) .recruit_office_box_txt {
	padding-right: 0;
	}
	.recruit_office_box_img2 {
	margin: auto -5px;
	}
	.recruit_office_box_img2_in {
	width: calc(50% - 10px);
	margin: 0 5px;
	}
	.recruit_interview_list_li {
	display: block;
	padding: 15px;
	border-radius: 8px;
	}
	.recruit_interview_list_li + .recruit_interview_list_li {
	margin-top: 20px;
	}
	.recruit_interview_list_in1 {
	width: 120px;
	margin: 0 0 15px 15px;
	float: right;
	}
	.recruit_interview_list_name {
	margin-top: -10px;
	}
	.recruit_interview_list_name_1 {
	margin-bottom: 5px;
	padding: 5px 8px;
	font-size: 1.2rem;
	border-radius: 2px;
	}
	.recruit_interview_list_in2 {
	width: 100%;
	}
	.recruit_interview_list_li:nth-of-type(odd) .recruit_interview_list_in2 {
	padding-left: 0;
	}
	.recruit_interview_list_li:nth-of-type(even) .recruit_interview_list_in2 {
	padding-right: 0;
	}
	.recruit_interview_list_faq_in + .recruit_interview_list_faq_in {
	margin-top: 20px;
	}
	.recruit_interview_list_q {
	margin-bottom: 3px;
	}
	.recruit_jobinfo .tbl1 th {
	width: 90px;
	}
	.recruit_jobinfo .tbl1 td {
	width: calc(100% - 90px);
	}
}

/*-----------------------
 会社概要
-----------------------*/
.company_page {
}
.company_vision {
}
.company_vision .low_wrap {
position: relative;
}
.company_vision .low_wrap::before {
z-index: -1;
position: absolute;
content: "";
width: calc(698px);
height: calc(467px);
top: -250px;
right: -280px;
background-image: url(./common/img/top/about_bg.jpg);
background-repeat: no-repeat;
background-size: contain;
}
.company_vision .low_wrap::after {
opacity: .3;
z-index: -2;
position: absolute;
content: "";
width: calc(828px * .5);
height: calc(718px * .5);
bottom: -40px;
left: -100px;
background-image: url(./common/img/company/vision_bg.jpg);
background-repeat: no-repeat;
background-size: cover;
}
.company_vision_box1 {
z-index: 1;
max-width: 1000px;
margin: 0 auto 80px;
padding: 40px;
background-color: #e1e9f1;
border-radius: 10px;
}
.company_vision_box1_p {
font-weight: 600;
}
.company_vision_box1_p + .company_vision_box1_p {
margin-top: 1em;
}
.company_vision_box1_ttl {
position: relative;
margin-bottom: 30px;
text-align: center;
font-size: 2.4rem;
color: #1d5a97;
}
.company_vision_box2 {
}
.company_vision_box2_ttl {
position: relative;
width: fit-content;
margin: 0 auto 30px;
padding: 0 80px;
font-family: "Noto Serif JP", serif;
font-size: 2.4rem;
text-align: center;
color: #3979b7;
}
.company_vision_box2_ttl::before,
.company_vision_box2_ttl::after {
opacity: .5;
position: absolute;
content: "";
width: 50px;
height: 2px;
top: 50%;
transform: translateY(-50%);
background-color: #3979b7;
}
.company_vision_box2_ttl::before {
left: 0;
}
.company_vision_box2_ttl::after {
right: 0;
}
.company_vision_box2_ul {
width: fit-content;
margin: auto;
}
.company_vision_box2_li {
position: relative;
font-family: "Noto Serif JP", serif;
font-weight: 600;
font-size: 1.9rem;
}
.company_vision_box2_li + .company_vision_box2_li {
margin-top: 15px;
}
.company_msg {
}
.company_msg::before {
opacity: .3;
z-index: -1;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(./common/img/company/message_bg.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.company_msg::after {
z-index: -2;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #ebf8fc;
}
.company_msg_box {
clear: both;
margin-bottom: 80px;
}
.company_msg_box_img {
float: right;
width: 250px;
margin-left: 40px;
margin-bottom: 40px;
}
.company_msg_box_img img {
object-fit: cover;
aspect-ratio: 3 / 4;
}
.company_msg_box_txt {
line-height: 1.8;
}
.company_msg_box_txt_p + .company_msg_box_txt_p {
margin-top: 1em;
}
.company_msg_box_name {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 1em;
font-family: "Noto Serif JP", serif;
font-weight: 600;
}
.company_msg_box_name_1 {
margin-right: 1em;
}
.company_msg_box_name_2 {
font-size: 1.8rem;
}
.company_about {
clear: both;
width: fit-content;
margin: auto;
}
.company_about_dl {
display: flex;
align-items: flex-start;
padding: 5px 0;
font-size: 1.5rem;
}
.company_about_dl + .company_about_dl {
}
.company_about_dt {
position: relative;
width: 150px;
padding: 4px 10px;
font-weight: 600;
text-align: center;
color: #3979b7;
background-color: #fff;
border: 1px solid #3979b7;
border-radius: 4px;
}
.company_about_dd {
width: calc(100% - 150px);
padding: 5px 0 5px 20px;
}
.company_about_dd_p {
}
.company_about_dd_ul {
margin-left: 5px;
}
.company_about_dd_ul + .company_about_dd_p {
margin-top: 1em;
}
.company_about_dd_ul li {
position: relative;
padding-left: 1em;
font-size: 1.4rem;
line-height: 1.4;
}
.company_about_dd_ul li::before {
position: absolute;
content: "";
top: 50%;
transform: translateY(-50%);
left: 0;
width: 6px;
height: 1px;
background-color: #888;
}
.company_history {
}
.company_history .low_wrap {
}
.company_history_box {
position: relative;
max-width: 800px;
margin: 0 auto 80px;
}
.company_history_box::before {
z-index: -1;
position: absolute;
content: "";
width: calc(238px * 1.5);
height: calc(166px * 1.5);
bottom: -30px;
right: -200px;
background-image: url(./common/img/top/company_logo_symbol.svg);
background-repeat: no-repeat;
background-size: contain;
}
.company_history_dl {
display: flex;
align-items: center;
border-bottom: 1px solid #bbb;
}
.company_history_dt {
width: 120px;
padding: 15px 20px;
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-weight: 600;
letter-spacing: .2em;
}
.company_history_dd {
width: calc(100% - 120px);
padding: 10px 20px;
}
.company_history_dd_p {
margin: .5em 0;
line-height: 1.2;
}
.company_history_slide {
max-width: 1920px;
margin: 0 -30px;
}
.company_history_slide img {
aspect-ratio: 3 / 2;
padding: 0 5px;
}
.company_wualifications_box {
display: flex;
flex-wrap: wrap;
max-width: 800px;
margin: 0 auto 80px;
}
.company_wualifications_box_in {
width: calc(50% - 25px);
}
.company_wualifications_box_in:nth-of-type(1) {
margin-right: 25px;
}
.company_wualifications_box_in:nth-of-type(2) {
margin-left: 25px;
}
.company_wualifications_list {
}
.company_wualifications_list + .company_wualifications_list {
margin-top: 1em;
}
.company_wualifications_list_in {
padding: 8px;
line-height: 1.4;
}
.company_access {
}
.company_pamphlet {
}
.company_pamphlet_box {
position: relative;
max-width: 750px;
margin: auto;
}
.company_pamphlet_box a {
z-index: 2;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.company_pamphlet_box_img {
margin-bottom: 10px;
border: 1px solid #bbb;
}
.company_pamphlet_box_img img {
}
.company_pamphlet_box_txt {
text-align: center;
}
@media (max-width:1700px) {
	.company_vision .low_wrap::before {
	width: calc(698px * .8);
	height: calc(467px * .8);
	top: -200px;
	right: -150px;
	}
}
@media (max-width:1514px) {
	.company_vision .low_wrap::before {
	width: calc(698px * .7);
	height: calc(467px * .7);
	right: -120px;
	}
}
@media (max-width:1260px) {
	.company_vision .low_wrap::before {
	width: calc(698px * .6);
	height: calc(467px * .6);
	right: -30px;
	}
	.company_vision .low_wrap::after {
	width: calc(828px * .4);
	height: calc(718px * .4);
	bottom: -80px;
	left: -120px;
	}
	.company_vision_box1 {
	padding: 40px;
	font-size: 1.7rem;
	}
	.company_history_box::before {
	width: calc(238px * 1);
	height: calc(166px * 1);
	bottom: -20px;
	right: -100px;
	}
}
@media (max-width:1023px) {
	.company_vision .low_wrap::before {
	width: calc(698px * .5);
	height: calc(467px * .5);
	top: -170px;
	}
	.company_vision .low_wrap::after {
	width: calc(828px * .3);
	height: calc(718px * .3);
	bottom: -60px;
	left: -100px;
	}
	.company_vision_box1 {
	margin-bottom: 50px;
	padding: 25px;
	font-size: inherit;
	border-radius: 10px;
	}
	.company_vision_box2_li {
	font-size: 1.8rem;
	}
	.company_msg_box {
	margin-bottom: 50px;
	}
	.company_msg_box_img {
	width: 200px;
	margin-left: 15px;
	margin-bottom: 15px;
	}
	.company_msg_box_txt {
	line-height: inherit;
	}
	.company_history_box::before {
	width: calc(238px * .8);
	height: calc(166px * .8);
	right: -30px;
	}
	.company_history_box,
	.company_wualifications_box {
	margin-bottom: 50px;
	}
	.company_history_dt {
	width: 100px;
	padding: 12px 15px;
	letter-spacing: .1em;
	}
	.company_history_dd {
	width: calc(100% - 100px);
	padding: 8px 15px;
	}
	.company_wualifications_box_in {
	width: calc(50% - 20px);
	}
	.company_wualifications_box_in:nth-of-type(1) {
	margin-right: 20px;
	}
	.company_wualifications_box_in:nth-of-type(2) {
	margin-left: 20px;
	}
}
@media (min-width:768px) {
	/* hover */
	.company_pamphlet_box_img::before {
	opacity: 0;
	z-index: 1;
	position: absolute;
	content: "";
	width: 120px;
	height: 120px;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	background-color: #fff;
	background-image: url(./common/img/company/ico_pdf.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60px auto;
	border: 3px solid #7fbd45;
	border-radius: 100%;
	}
	.company_pamphlet_box:hover .company_pamphlet_box_img::before {
	opacity: 1;
	transition: .5s;
	}
	.company_pamphlet_box:hover .company_pamphlet_box_img img {
	opacity: .5;
	transition: .5s;
	}
}
@media (max-width:767px) {
	.company_vision .low_wrap::before {
	width: calc(698px * .35);
	height: calc(467px * .35);
	top: -130px;
	right: -20px;
	}
	.company_vision .low_wrap::after {
	width: calc(828px * .2);
	height: calc(718px * .2);
	bottom: -40px;
	left: -50px;
	}
	.company_vision_box1 {
	margin-bottom: 40px;
	}
	.company_vision_box1_ttl {
	margin-bottom: 15px;
	font-size: 2.2rem;
	}
	.company_vision_box2_ttl {
	margin-bottom: 15px;
	padding: 0 60px;
	font-size: 2.2rem;
	}
	.company_vision_box2_ttl::before,
	.company_vision_box2_ttl::after {
	width: 40px;
	}
	.company_vision_box2_li {
	font-size: inherit;
	}
	.company_vision_box2_li + .company_vision_box2_li {
	margin-top: 10px;
	}
	.company_about_dl {
	display: block;
	padding: 0;
	}
	.company_about_dl + .company_about_dl {
	margin-top: 5px;
	}
	.company_about_dt {
	width: 100%;
	padding: 4px 5px;
	text-align: left;
	background-color: transparent;
	border-width: 0 0 1px 0;
	border-radius: 0;
	}
	.company_about_dd {
	width: 100%;
	padding: 4px 5px;
	}
	.company_msg_box {
	margin-bottom: 50px;
	}
	.company_msg_box_img {
	width: 150px;
	}
	.company_msg_box_txt {
	line-height: inherit;
	}
	.company_history_box::before {
	width: calc(238px * .8);
	height: calc(166px * .8);
	right: -30px;
	}
	.company_history_dt {
	width: 100px;
	}
	.company_history_dd {
	width: calc(100% - 100px);
	}
	.company_history_dl {
	display: block;
	padding: 8px 5px;
	}
	.company_history_dt {
	width: 100%;
	padding: 0;
	}
	.company_history_dd {
	width: 100%;
	padding: 0;
	}
	.company_history_slide {
	margin: 0 -15px;
	}
	.company_wualifications_box {
	display: block;
	width: 100%;
	}
	.company_wualifications_box_in {
	width: 100%;
	}
	.company_wualifications_box_in + .company_wualifications_box_in {
	margin-top: 1em;
	}
	.company_wualifications_box_in:nth-of-type(1) {
	margin-right: 0;
	}
	.company_wualifications_box_in:nth-of-type(2) {
	margin-left: 0;
	}
	.company_wualifications_list_in {
	padding: 3px 5px;
	}
}

/*-----------------------
 お問い合わせ
-----------------------*/
.contact_page {
}
.contact_tel {
}
.contact01_tel_box {
max-width: 500px;
margin: auto;
padding: 30px;
text-align: center;
border: 1px solid #c7c7c7;
}
.contact01_tel_box_1 {
margin-bottom: 20px;
font-size: 1.8rem;
font-weight: 500;
text-align: center;
line-height: 1.4;
}
.contact01_tel_box_2 {
font-family: "Montserrat","Noto Sans JP",sans-serif;
font-size: 3.0rem;
font-weight: 600;
line-height: 1;
}
.contact01_tel_box_2::before {
content: "TEL.";
font-size: 2.0rem;
letter-spacing: 0;
}
.contact_form {
}
.contact_form dl {
display: flex;
margin-bottom: 5px;
}
.contact_form dt {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
width: 300px;
padding: 20px;
font-weight: bold;
background-color: #f5f5f5;
}
.contact_form dd {
width: calc(100% - 300px);
padding: 15px 0 15px 30px;
}
.contact_note {
margin-top: 5px;
font-size: 90%;
letter-spacing: 0;
}
.contact_name dd {
}
.wpcf7-checkbox .wpcf7-list-item {
display: block;
}
.wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item {
margin-top: 3px;
}
.wpcf7-radio .wpcf7-list-item {
display: inline-block;
min-width: 100px;
}
.wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
margin-left: 1em;
}
.contact_name .contact_form_dd_in {
width: 50%;
}
.contact_name .contact_form_dd_in:nth-of-type(1) {
padding-right: 5px;
}
.contact_name .contact_form_dd_in:nth-of-type(2) {
padding-left: 5px;
}
.contact_birt dd {
display: flex;
align-items: center;
}
.contact_birt .contact_form_dd_in1 {
}
.contact_birt .contact_form_dd_in2 {
margin: 0 10px;
}
.contact_address_txt {
width: 100%;
margin-bottom: 5px;
font-size: 1.4rem;
letter-spacing: 0;
}
.contact_address_in1 {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 1em;
}
.contact_address_in1 input {
width: 150px;
}
.contact_address_in1 .note {
margin-left: 15px;
}
.contact_address_in1 .note a {
display: block;
padding: 8px 5px;
font-size: 1.3rem;
line-height: 1;
letter-spacing: 0;
background-color: #f1f1f1;
border: 1px solid;
border-radius: 2px;
}
.contact_address_in2 {
margin-bottom: 1em;
}
.contact_naiyou_in1 {
margin-bottom: 1em;
}
.conf_msg {
margin-top: 2em;
text-align: center;
}
.thanks_page {
}
.thanks_msg {
position: relative;
max-width: 600px;
margin-left: auto;
margin-right: auto;
padding: 100px 0 50px 0;
}
.thanks_msg::before {
position: absolute;
content: "";
width: calc(106px * 1);
height: calc(73px * 1);
top: 0;
left: 0;
right: 0;
margin: auto;
background-image: url(./common/img/contact/thanks.png);
background-repeat: no-repeat;
background-size: contain;
}
.thanks_msg_in + .thanks_msg_in {
margin-top: 10px;
}
.privacy_box {
overflow-x: hidden;
overflow-y: auto;
height: 400px;
margin-top: 3em;
padding: 30px;
letter-spacing: 0;
background-color: #fff;
border: 1px solid #c7c7c7;
}
.privacy_box h3 {
margin-bottom: 1em;
font-size: 1.8rem;
text-align: center;
}
.privacy_box::-webkit-scrollbar {
width: 8px;
background-color: #f1f1f1;
}
.privacy_box::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 100px;
}
.privacy_ttl {
margin-bottom: 1em;
font-size: 1.8rem;
font-weight: bold;
text-align: center;
}
.privacy_txt1 {
margin-top: 2em;
margin-bottom: 5px;
font-size: 95%;
font-weight: bold;
}
.privacy_txt2 {
font-size: 95%;
}
.privacy_txt2 p + p,
.privacy_txt2 p + ul,
.privacy_txt2 ul + ul,
.privacy_txt2 ul + p {
margin-top: .5em;
}
.privacy_txt2 ul li {
padding-left: 1em;
text-indent: -1em;
}
@media (max-width:1023px) {
	.contact01_tel_box {
	max-width: 400px;
	}
}
@media (min-width:768px) {
}
@media (max-width:767px) {
	.contact01_tel_box {
	max-width: 300px;
	padding: 20px;
	}
	.contact01_tel_box_1 {
	margin-bottom: 15px;
	font-size: 1.7rem;
	}
	.contact01_tel_box_2 {
	font-size: 2.6rem;
	}
	.contact01_tel_box_2::before {
	font-size: 1.8rem;
	}
	.contact_form dl {
	display: block;
	}
	.contact_form dt {
	width: 100%;
	padding: 10px;
	}
	.contact_form dd {
	width: 100%;
	padding: 20px 10px;
	}
	.contact_address_in1 input {
	width: 100px;
	}
	.wpcf7-radio .wpcf7-list-item {
	min-width: 70px;
	}
	.privacy_box {
	margin-top: 2em;
	padding: 20px;
	}
	.thanks_msg {
	padding-top: 60px;
	}
	.thanks_msg::before {
	width: calc(106px * .6);
	height: calc(73px * .6);
	}
}

/*-----------------------
 プライバシーポリシー
-----------------------*/
.privacypolicy_page {
}
.privacypolicy_page .low_txt_m + .list01 {
margin-top: 1em;
}
.privacypolicy_page .list01_li {
margin: 5px 0;
}

/*-----------------------
 印刷対策
-----------------------*/
@media print {
	* {
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
	}
	header {
	z-index: 99999;
	position: absolute;
	}
	.toggle {
	position: absolute;
	}
	.mv_video,
	.mv_wrap,
	.mv_video .slick-slide,
	.mv_video_in {
	width: 100% !important;
	height: auto !important;
	}

	.mv_video_in video {
	width: 100% !important;
	height: auto !important;
	}

	.mv_video_in:not(:first-child) {
	display: none;
	}
	.top_about_vision_in br {
	display: none;
	}
	.top_sec {
	padding: 80px 0;
	}
	.top_sec:first-of-type {
	padding-top: 120px;
	}
	.top_sec:last-of-type {
	padding-bottom: 120px;
	}
	.top_wrap {
	max-width: 100% !important;
	}
	.top_about .top_wrap {
	min-height: auto;
	}
	.top_about .top_wrap::before {
	width: calc(698px * .6);
	height: calc(467px * .6);
	top: -100px;
	right: 280px;
	}
	.top_about_vision {
	max-width: 500px;
	}
	.top_about_vision_in {
	line-height: inherit;
	}
	.top_about_txt2 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 2.0rem;
	}
	.top_about_txt {
	max-width: 700px;
	}
	.top_about_img_li {
	border-radius: 20px;
	}
	.top_about_img_li1 {
	width: calc(600px * .5);
	height: calc(400px * .5);
	top: -66px;
	right: 0;
	}
	.top_about_img_li2 {
	width: calc(311px * .6);
	height: calc(311px * .6);
	bottom: inherit;
	top: 120px;
	right: 100px;
	}
	.top_about_img_li3 {
	width: calc(231px * .6);
	height: calc(231px * .6);
	bottom: 0px;
	right: 50px;
	}
	.top_service_li {
	padding-left: 10px;
	padding-right: 10px;
	}
	.top_company_in1 {
	width: calc(100% - 300px);
	padding-right: 50px;
	}
	.top_company_name_s {
	width: calc(542px * .6);
	height: calc(57px * .6);
	}
	.top_company_in2 {
	width: 300px;
	padding-left: 0;
	}
	.top_company_img {
	border-radius: 20px;
	}
	.top_info,
	.top_company,
	footer {
	break-before: page; 
	}
}
@media print and (max-width: 1000px) {
	/* 実質 A4 以下用 */
	.top_sec {
	padding: 50px 0px;
	}
	.top_sec:first-of-type {
	padding-top: 100px;
	}
	.top_sec:last-of-type {
	padding-bottom: 100px;
	}
	.top_about_txt {
	max-width: 500px;
	}
	.top_about .top_wrap::before {
	width: calc(698px * .4);
	height: calc(467px * .4);
	top: -100px;
	right: 250px;
	}
	.top_about_img_li1 {
	width: calc(600px * .4);
	height: calc(400px * .4);
	}
	.top_about_img_li2 {
	width: calc(311px * .4);
	height: calc(311px * .4);
	top: 80px;
	right: 60px;
	}
	.top_info_dt {
	font-size: 2.0rem;
	}
	.top_about_img_li3 {
	width: calc(231px * .4);
	height: calc(231px * .4);
	}
	.top_service_li {
	padding: 20px 10px 40px 10px;
	}
	.top_service_li::before,
	.top_service_li::after {
	width: 20px;
	height: 20px;
	bottom: 10px;
	right: 10px;
	}
	.top_service_li::after {
	background-size: 8px auto;
	}
	.top_service_li_ico {
	width: calc(192px * .6);
	height: calc(126px * .6);
	}
	.top_service_li_txt2 {
	font-size: 1.6rem;
	}
	.top_project_li {
	height: 300px;
	}
	.top_project_txt {
	padding-bottom: 40px;
	}
	.top_project_txt_1 {
	font-size: 1.6rem;
	}
	.top_project_txt_2 {
	font-size: 1.2rem;
	}
	.top_project_txt::before,
	.top_project_txt::after {
	width: 20px;
	height: 20px;
	}
	.top_project_txt::after {
	background-size: 8px;
	}
	.top_company_in1 {
	width: calc(100% - 200px);
	padding-right: 30px;
	}
	.top_company_in2 {
	width: 200px;
	}
	.top_company_name {
	margin-top: 40px;
	margin-bottom: 20px;
	}
	.top_company_txt {
	margin-bottom: 20px;
	}
	.top_company_btn {
	margin: 20px -5px -5px -5px;
	}
	.top_company_btn_li {
	width: calc(50% - 10px);
	margin: 5px;
	font-size: 1.6rem;
	}
	.top_company_btn_li a {
	padding-left: 50px;
	}
	.top_company_btn_li a::before {
	width: calc(28px * .8);
	height: calc(26px * .8);
	left: 15px;
	}
	.top_recruit {
	margin-top: 30px;
	}
}
