abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-family: Noto Sans JP, sans-serif;
}

body {
	line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

nav ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
	content: "";
	content: none
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent
}

ins {
	text-decoration: none
}

ins,
mark {
	background-color: #ff9;
	color: #000
}

mark {
	font-style: italic;
	font-weight: 700
}

del {
	text-decoration: line-through
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

hr {
	display: block;
	height: 1px;
	border-top: 1px solid #ccc;
	margin: 1em 0
}

input,
select {
	vertical-align: middle
}

*,
:after,
:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

html {
	overflow-x: hidden;
	overflow-y: scroll;
	font-family: Noto Sans JP, sans-serif;
	font-size: 62.5%;
	letter-spacing: .0625em;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1
}

body {
	font-size: 1.6rem;
	font-weight: 400;
	color: #000
}

a,
article,
aside,
button,
dd,
dl,
dt,
figcaption,
figure,
footer,
h1,
h2,
h3,
h4,
header,
hr,
input,
li,
main,
nav,
p,
section,
select,
table,
td,
textarea,
th,
ul {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

h1,
h2 {
	line-height: 1;
	font-size: 1.6rem;
	font-weight: 400
}

a,
button,
dd,
dt,
figcaption,
input,
li,
p,
select,
td,
textarea,
th {
	line-height: 1.6;
	font-size: 1.6rem
}

li {
	list-style: none
}

a {
	text-decoration: none;
	color: #000;
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out
}

a,
img {
	display: block
}

img {
	width: 100%;
	height: auto
}

button {
	padding: 0;
	color: #000;
	border-radius: 0;
	background: none;
	cursor: pointer
}

button,
input {
	outline: none;
	display: block;
	border: none
}

input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: 1
}

input[type=submit] {
	padding: 0;
	background: none
}

input[type=checkbox] {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto
}

textarea {
	outline: none;
	display: block;
	border: none
}

select {
	outline: none;
	border-radius: 0
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

svg {
	display: block
}

svg:not(:root) {
	overflow: visible
}

blockquote p {
    font-size: 16px !important;
}

.pcDisBlock {
	display: block
}

@media screen and (max-width:1023px) {
	.pcDisBlock {
		display: none
	}
}

.spDisBlock {
	display: none
}

@media screen and (max-width:1023px) {
	.spDisBlock {
		display: block
	}
}

.inner {
	width: 100%;
	margin: 0 auto;
	padding: 0 5%
}

@media screen and (max-width:1023px) {
	.inner {
		padding: 0 30px
	}
}

.inner-max {
	max-width: calc(1620px + 10%)
}

@media screen and (max-width:1023px) {
	.inner-max {
		max-width: 100%
	}
}

.inner-mid {
	max-width: calc(1420px + 10%)
}

@media screen and (max-width:1023px) {
	.inner-mid {
		max-width: 100%
	}
}

.inner-min {
	max-width: calc(1200px + 10%)
}

@media screen and (max-width:1023px) {
	.inner-min {
		max-width: 100%
	}
	.inner-min p {
		font-size: 14px;
	}
}

.cmn-breadcrumbs {
	/*padding-top: 90px*/
	padding-top: 60px;
	margin-bottom: 0 !important;
}

@media screen and (max-width:1023px) {
	.cmn-breadcrumbs {
		/*padding-top: 55px*/
		padding-top: 6.5vw;
	}
}

.cmn-breadcrumbs_inner {
	background: #f8f8f8;
	border: solid #ededed;
	border-width: 1px 0
}

.cmn-breadcrumbs_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-end;
	-ms-flex-pack: flex-end;
	justify-content: flex-end;
	width: 100%;
	line-height: 1;
	padding: 18px 0
}

@media screen and (max-width:1023px) {
	.cmn-breadcrumbs_list {
		-webkit-box-pack: flex-start;
		-ms-flex-pack: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
		padding: 10px 0;
	}
}

.cmn-breadcrumbs_list li {
	font-size: 1.2rem
}

@media screen and (max-width:1023px) {
	.cmn-breadcrumbs_list li {
		font-size: 1.1rem
	}
}

.cmn-breadcrumbs_list li:not(:last-child):after {
	content: ">";
	display: inline-block;
	margin: 0 1em;
	opacity: .5
}

.cmn-breadcrumbs_list a {
	font-size: inherit;
	display: inline;
	color: #00269f
}

.cmn-breadcrumbs_list a:hover {
	text-decoration: underline
}

.cmn-pageTitle {
	position: relative;
	margin-top: 0 !important;
	background: #f0f0f0;
	height: 400px;
}

@media screen and (max-width:767px) {
	.cmn-pageTitle {
		height: 105px
	}
}

.cmn-pageTitle:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.3);
    background-size: 100% 100%;
}

.cmn-pageTitle.is-small {
	/* background: none!important; */
	height: 225px;
	border-bottom: 1px solid #ededed
}

.cmn-pageTitle.is-no-overlay:before {
    content: "";
    background: none;
}

@media screen and (max-width: 768px) {
	.cmn-pageTitle.is-small {
		height: 105px;
	}
}

.cmn-pageTitle.is-column:before {
	background: rgba(255,255,255,1);
}

.cmn-pageTitle.is-case {
	background: url(../images/hero_case-list.jpg) 0 0 no-repeat;
    background-size: 100% 100%;
}

.cmn-pageTitle.is-case:before {
	background: rgba(255,255,255,0);
}

.cmn-pageTitle_inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	max-width: calc(1420px + 10%)
}

@media screen and (max-width:1023px) {
	.cmn-pageTitle_inner {
		max-width: 100%
	}
}

.is-small .cmn-pageTitle_inner {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.cmn-pageTitle_heading {
	line-height: 1;
	font-size: 6rem;
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: .05em;
	color: #fff;
    z-index: 0;
}

.cmn-pageTitle_heading.is-column {
	color: #000;
}

@media screen and (max-width:1023px) {
	.cmn-pageTitle_heading {
		font-size: 3rem
	}
}

@media screen and (max-width:767px) {
	.cmn-pageTitle_heading {
		font-size: 1.9rem
	}
}

.is-small .cmn-pageTitle_heading {
	font-size: 4.5rem;
	margin: 0
}

@media screen and (max-width: 768px) {
	.is-small .cmn-pageTitle_heading {
		font-size: 22px;
	}
}

.cmn-pageTitle_heading span {
	display: block;
	margin-top: 20px;
	line-height: 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	opacity: 1;
}

.cmn-pageTitle_heading.is-column span {
	color: #666;
}

@media screen and (max-width:1023px) {
	.cmn-pageTitle_heading span {
		margin-top: 15px;
		font-size: 1rem
	}
}

.cmn-table {
	border: 1px solid #dfdfdf;
	border-collapse: collapse;
	width: 100%;
	margin: 0
}

@media screen and (max-width:767px) {
	.cmn-table,
	.cmn-table tbody,
	.cmn-table td,
	.cmn-table th,
	.cmn-table thead,
	.cmn-table tr {
		display: block;
		width: 100%
	}
	.cmn-table {
		border-width: 0 0 1px
	}
}

.cmn-table ul {
	padding-left: 20px;
}

.cmn-table td,
.cmn-table th {
	border: solid #dfdfdf;
	border-width: 1px 0;
	padding: 1.333em 2.5em;
	text-align: left;
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: .05em
}

@media screen and (max-width:767px) {
	.cmn-table td,
	.cmn-table th {
		border-width: 1px 1px 0;
		padding: 10px 20px;
		font-size: 14px;
	}
}

.cmn-table th {
	background: #f5f6fb;
	width: 25%;
	vertical-align: top
}

@media screen and (max-width:767px) {
	.cmn-table th {
		width: auto
	}
}

.heading-section {
	border-left: 5px solid #00269f;
	padding: .65em 0 .8em 1em;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 80px
}

@media screen and (max-width: 768px) {
	.heading-section {
		font-size: 20px;
		margin-bottom: 45px;
	}
}

.loading {
	position: fixed;
	z-index: 3;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	background: #fff
}

.loading .loading_logo {
	width: 150px;
	height: auto
}

.js-fa,
main {
	opacity: 0
}

.js-fa-catchphrase {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0)
}

.cmn-heading-center {
	line-height: 1;
	font-size: 4rem;
	font-weight: 700;
	text-align: center
}

.cmn-heading-center.is-white {
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-heading-center {
		font-size: 2.5rem
	}
}

.cmn-heading-center:before {
	content: "";
	display: block;
	width: 50px;
	height: 5px;
	margin: 0 auto 40px;
	background: #00269f
}

@media screen and (max-width:1023px) {
	.cmn-heading-center:before {
		width: 35px;
		height: 3px;
		margin-bottom: 20px
	}
}

.cmn-heading-center span {
	display: block;
	margin-top: 25px;
	line-height: 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	color: #aeaeae
}

@media screen and (max-width:1023px) {
	.cmn-heading-center span {
		margin-top: 20px;
		font-size: 1rem
	}
}

.cmn-heading-center-center {
	text-align: center
}

.cmn-heading-center-center:before {
	margin: 0 auto 40px
}

@media screen and (max-width:1023px) {
	.cmn-heading-center-center:before {
		margin: 0 auto 20px
	}
}

.l-c-banner {
	margin-top: 80px
}

@media screen and (max-width:1023px) {
	.l-c-banner {
		margin-top: 50px
	}
}

.c-banner {
	position: relative
}

.c-banner_heading {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	line-height: 1;
	font-size: 3rem;
	font-weight: 700;
	color: #fff
}

@media screen and (max-width:1023px) {
	.c-banner_heading {
		font-size: 1.9rem
	}
}

.c-banner_heading span {
	display: block;
	margin-top: 20px;
	line-height: 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	opacity: .5
}

@media screen and (max-width:1023px) {
	.c-banner_heading span {
		margin-top: 15px;
		font-size: 1rem
	}
}

.c-banner_image {
	overflow: hidden;
	position: relative
}

.c-banner_image:before {
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	background: rgba(0, 0, 0, .3);
	z-index: 1
}

.c-banner_image img {
	-webkit-transition: 1s cubic-bezier(.19, 1, .22, 1);
	transition: 1s cubic-bezier(.19, 1, .22, 1)
}

a:hover .c-banner_image img {
	opacity: .9;
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}

@media screen and (max-width:1023px) {
	a:hover .c-banner_image img {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

.cmn-about-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 200px
}

.top .cmn-about-list {
	margin-top: 140px
}

@media screen and (max-width:1023px) {
	.cmn-about-list {
		display: block;
		width: 100vw;
		margin: 50px calc(50% - 50vw) 0!important;
		padding-left: 0;
	}
}

.cmn-about-list_item {
	width: 33.333333333%
}

@media screen and (max-width:1023px) {
	.cmn-about-list_item {
		width: 100%
	}
}

@media screen and (max-width:1023px) {
	.cmn-about-list_item:not(:first-child) {
		margin-top: 1px
	}
}

.cmn-about-list_item a {
	position: relative
}

.cmn-about-list_item a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 38, 159, .8);
	-webkit-transition: 2s cubic-bezier(.19, 1, .22, 1);
	transition: 2s cubic-bezier(.19, 1, .22, 1)
}

.cmn-about-list_item a:hover:before {
	background: rgba(0, 38, 159, .1)
}

@media screen and (max-width:1023px) {
	.cmn-about-list_item a:hover:before {
		background: rgba(0, 38, 159, .8)
	}
}

.cmn-about-list_heading {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	line-height: 1;
	font-size: 3rem;
	font-weight: 700;
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-about-list_heading {
		font-size: 1.9rem
	}
}

.cmn-about-list_heading span {
	display: block;
	margin-top: 20px;
	line-height: 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	opacity: .5
}

@media screen and (max-width:1023px) {
	.cmn-about-list_heading span {
		margin-top: 15px;
		font-size: 1rem
	}
}

.cmn-document {
	margin-top: 80px;
	padding: 80px 0;
	background: #f3f3f3
}

@media screen and (max-width:1023px) {
	.cmn-document {
		margin-top: 40px;
		padding: 50px 0
	}
}

.top .cmn-document {
	margin-top: 140px
}

@media screen and (max-width:1023px) {
	.top .cmn-document {
		margin-top: 100px
	}
}

.cmn-document_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 60px
}

@media screen and (max-width:1023px) {
	.cmn-document_list {
		display: block;
		margin-top: 40px;
		padding-left: 0;
	}
}

.cmn-document_item {
	width: auto
}

@media screen and (max-width:1023px) {
	.cmn-document_item {
		width: 100%
	}
	.cmn-document_item:last-child {
		margin-top: 10px
	}
}

.cmn-document_item a {
	padding: 40px;
	background: #fff
}

.cmn-document_item a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.cmn-document_item a:hover {
		opacity: 1
	}
}

.cmn-document_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 2rem;
	font-weight: 700
}

@media screen and (max-width:1023px) {
	.cmn-document_title {
		font-size: 1.4rem
	}
}

.cmn-document_title img {
	width: 6px;
	height: auto;
	margin-right: 15px
}

@media screen and (max-width:1023px) {
	.cmn-document_title img {
		margin-right: 10px
	}
}

.cmn-document .desc {
	margin-top: 15px
}

.cmn-contact {
	position: relative
}

.cmn-contact_bg {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%
}

.cmn-contact_bg img {
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	width: 100%;
	height: 100%
}

.cmn-contact .inner {
	padding: 80px 5%
}

@media screen and (max-width:1023px) {
	.cmn-contact .inner {
		padding: 50px 30px
	}
}

.cmn-contact .heading {
	color: #fff
}

.cmn-contact .heading:before {
	background: #fff
}

.cmn-contact .heading span {
	opacity: .4
}

.cmn-contact_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin-top: 60px
}

@media screen and (max-width:1023px) {
	.cmn-contact_list {
		display: block;
		margin-top: 35px;
		padding-left: 0;
	}
}

.cmn-contact_item {
	padding: 40px 70px;
	border: 1px solid #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact_item {
		padding: 25px 30px
	}
}

.cmn-contact_item:first-child,
.cmn-contact_item:nth-child(2) {
	width: 49.166666666%
}

@media screen and (max-width:1023px) {
	.cmn-contact_item:first-child,
	.cmn-contact_item:nth-child(2) {
		width: 100%
	}
}

@media screen and (max-width:1023px) {
	.cmn-contact_item:nth-child(2) {
		margin-top: 10px
	}
}

.cmn-contact_item:last-child {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	margin-top: 20px
}

@media screen and (max-width:1023px) {
	.cmn-contact_item:last-child {
		display: block;
		margin-top: 10px
	}
}

.cmn-contact_icon {
	width: 72px;
	height: auto;
	margin: 0 auto
}

@media screen and (max-width:1023px) {
	.cmn-contact_icon {
		width: 45px
	}
}

.cmn-contact_title {
	margin-top: 20px;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact_title {
		margin-top: 15px;
		font-size: 1.6rem
	}
}

.cmn-contact .desc {
	margin-top: 25px;
	text-align: center;
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact .desc {
		margin-top: 30px;
		text-align: left
	}
}

.cmn-contact .btn {
	margin-top: 40px
}

@media screen and (max-width:1023px) {
	.cmn-contact .btn {
		margin-top: 30px
	}
}

.cmn-contact .btn a {
	position: relative;
	display: table;
	padding: 19px 101px;
	line-height: 1;
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	background: transparent;
	border: 1px solid #fff;
	border-radius: 30px;
	margin: 0 auto
}
@media screen and (max-width: 1279px) {
	.cmn-contact .btn a {
		padding: 19px 22%;
		font-size: 15px;
	}
}
@media screen and (max-width:1023px) {
	.cmn-contact .btn a {
		padding: 17px 70px;
		font-size: 1.4rem;
		border-radius: 50px
	}
}

.cmn-contact .btn a img {
	position: absolute;
	top: 50%;
	right: 33px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 6px;
	height: auto
}

.cmn-contact .btn a:hover {
	color: #00269f;
	background: #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact .btn a:hover {
		color: #fff;
		background: transparent
	}
}

.cmn-contact_phone {
	margin-top: 20px;
	text-align: center;
	font-family: Montserrat, sans-serif;
	font-size: 4rem;
	font-weight: 600;
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact_phone {
		margin-top: 10px;
		font-size: 3rem
	}
}

.cmn-contact_open {
	margin-top: 20px;
	text-align: center;
	font-size: 1.6rem;
	color: #fff
}

@media screen and (max-width:1023px) {
	.cmn-contact_open {
		margin-top: 10px;
		font-size: 1.2rem
	}
}

.cmn-contact_header {
	-ms-flex-item-align: start;
	-ms-grid-row-align: start;
	align-self: start
}

.cmn-contact_illust {
	-ms-grid-row-align: center;
	align-self: center;
	-ms-grid-column: 2;
	grid-column: 2;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	grid-row: 1/3;
	max-width: 560px;
	width: 100%
}

@media screen and (max-width:1023px) {
	.cmn-contact_illust {
		margin-top: 30px
	}
}

.cmn-contact_content {
	-ms-flex-item-align: start;
	-ms-grid-row-align: start;
	align-self: start
}

.cmn-group {
	padding: 80px 0;
	background: #f3f3f3
}

@media screen and (max-width:1023px) {
	.cmn-group {
		padding: 50px 0
	}
}

.cmn-group_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 60px
}

@media screen and (max-width:1023px) {
	.cmn-group_list {
		margin-top: 40px
	}
}

.cmn-group_item {
	position: relative;
	width: auto
}

.cmn-group_item:first-child:before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background: #c9c9c9
}

@media screen and (max-width:1023px) {
	.cmn-group_item:first-child:before {
		bottom: -311px;
		left: 15px;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		height: 311px
	}
}

.cmn-group_item:first-child:after {
	content: "";
	position: absolute;
	bottom: -21px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 67.5%;
	height: 1px;
	background: #c9c9c9
}

@media screen and (max-width:1023px) {
	.cmn-group_item:first-child:after {
		display: none
	}
}

.cmn-group_item:not(:first-child) {
	margin-top: 40px
}

@media screen and (max-width:1023px) {
	.cmn-group_item:not(:first-child) {
		margin: 12px 30px 0
	}
}

.cmn-group_item:not(:first-child):before {
	content: "";
	position: absolute;
	top: -20px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 1px;
	height: 20px;
	background: #c9c9c9
}

@media screen and (max-width:1023px) {
	.cmn-group_item:not(:first-child):before {
		top: 50%;
		left: -15px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 15px;
		height: 1px
	}
}

@media screen and (max-width:1023px) {
	.cmn-group_item:nth-child(2) {
		margin-top: 20px
	}
}

.group_item__link:hover {
    opacity: 0.5;
}

.header {
	position: fixed;
	z-index: 1000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 90px;
	box-shadow: 1px 1px 3px #dfdfdf;
}

body:not(.top) .header {
	background: #fff
}

@media screen and (max-width:1023px) {
	.header {
		width: 100vw;
		height: auto;
	}
}

.header .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media screen and (max-width:1023px) {
	.header .inner {
		padding: 0
	}
}

.header .header_logo {
	width: 145px;
	height: auto
}

@media screen and (max-width:1023px) {
	.header .header_logo {
		width: 72.5px;
		padding-left: 15px
	}
}

.header .header_logo a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.header .header_logo a:hover {
		opacity: 1
	}
}

.header .header_nav,
.header .header_nav>div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end
}

.header .header_nav>div {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column
}

@media screen and (max-width:1023px) {
	.header .header_nav {
		display: none
	}
}

.header .header_nav_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.header .header_nav_item:not(:first-child) {
	margin-left: 50px
}

.header .header_nav_item a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 20px;
	line-height: 1;
	font-size: 1.8rem;
	font-weight: 700;
	-webkit-transform: translateY(20px);
	transform: translateY(20px)
}
@media screen and (max-width: 1246px) {
	.header .header_nav_item a {
		font-size: 16px;
	}
}
@media screen and (max-width: 1194px) {
	.header .header_nav_item a {
		font-size: 14px;
	}
}
@media screen and (max-width: 1142px) {
	.header .header_nav_item a {
		font-size: 12px;
	}
}
@media screen and (max-width: 1090px) {
	.header .header_nav_item a {
		font-size: 10px;
	}
}
.header .header_nav_item a img {
	width: 8px;
	height: auto;
	margin-left: 10px
}

.header .header_nav_item a.current:after,
[data-current=about] .header .header_nav_item a[data-navi-category=about]:after,
[data-current=column] .header .header_nav_item a[data-navi-category=column]:after,
[data-current=initiatives] .header .header_nav_item a[data-navi-category=initiatives]:after,
[data-current=recruit] .header .header_nav_item a[data-navi-category=recruit]:after,
[data-current=result] .header .header_nav_item a[data-navi-category=result]:after,
[data-current=service] .header .header_nav_item a[data-navi-category=service]:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #00269f
}

.header .header_nav_item a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.header .header_nav_item a:hover {
		opacity: 1
	}
}

.header .header_nav_item-second {
	border-right: 1px solid #cbcbcb
}

.header .header_nav_item-second:not(:first-child) {
	margin-left: 10px
}

.header .header_nav_item-second:not(:last-child) {
	padding-right: 10px
}

.header .header_nav_item-second:last-child {
	border-right: none
}

.header .header_nav_item-second a {
	padding-bottom: 0;
	font-size: 1.2rem;
	font-weight: 400;
	-webkit-transform: translateY(0);
	transform: translateY(0)
}

.header .header_contact {
	margin-left: 55px
}

.header .header_contact a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 14px 40px 14px 20px;
	line-height: 1;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	background: #00269f;
	border: 1px solid #00269f;
	border-radius: 25px
}

@media screen and (max-width: 1090px) {
	.header .header_contact a {
		font-size: 14px;
	}
}

.header .header_contact a img {
	width: 25px;
	height: auto;
	margin-right: 15px
}

.header .header_contact a:hover {
	color: #00269f;
	background: #fff
}

@media screen and (max-width:1023px) {
	.header .header_contact a:hover {
		color: #fff;
		background: #00269f
	}
}

.header .header_sp {
	display: none
}

@media screen and (max-width:1023px) {
	.header .header_sp,
	.header .header_sp .header_sp_contact a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex
	}
	.header .header_sp .header_sp_contact a {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 100px;
		height: 55px;
		background: #00269f;
		color: #fff;
		line-height: 1;
		font-size: 1rem
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_contact a img {
		width: 20px;
		margin: 10px auto 5px
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 55px;
		height: 55px;
		padding: 0;
		background: #002084 !important;
		border: none;
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_btn span {
		margin-top: 17px
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_btn span:first-child,
	.header .header_sp .header_sp_btn span:nth-child(2) {
		display: block;
		width: 15px;
		height: 1px;
		background: #fff
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_btn span:nth-child(2) {
		margin-top: 4px
	}
}

@media screen and (max-width:1023px) {
	.header .header_sp .header_sp_btn .header_sp_btn_text {
		margin-top: 10px;
		line-height: 1;
		font-size: 1rem;
		color: #fff
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_contact {
		display: none
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_btn span {
		margin: 27px 0 0 3px
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_btn span:first-child,
	.header.open .header_sp_btn span:nth-child(2) {
		display: block;
		width: 25px;
		height: 1px;
		background: #fff
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_btn span:first-child {
		-webkit-transform: rotate(45deg) translateY(1px);
		transform: rotate(45deg) translateY(1px)
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_btn span:nth-child(2) {
		margin-top: 0;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg)
	}
}

@media screen and (max-width:1023px) {
	.header.open .header_sp_btn .header_sp_btn_text {
		display: none
	}
}

.megamenu {
	opacity: 0;
	visibility: hidden;
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100vw;
	height: auto;
	padding-top: 90px;
	background: #fff;
}

.megamenu .megamenu_container {
	border-top: 1px solid #ededed
}

.megamenu .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	/* height: 100vw */
}

.megamenu .megamenu_heading {
	width: 23.333333333%;
	height: auto;
	padding: 60px 60px 85px 0;
	line-height: 1;
	font-size: 3rem;
	font-weight: 700;
	border-right: 1px solid #ededed
}

.megamenu .megamenu_heading span {
	display: block;
	margin-top: 20px;
	line-height: 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	color: #aeaeae
}

.megamenu .megamenu_nav {
	width: 76.666666667%;
	padding: 60px 0 85px 70px
}

.megamenu .megamenu_nav_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(3)) {
	margin-left: 50px
}

.megamenu .megamenu_nav_item:first-child a,
.megamenu .megamenu_nav_item:nth-child(2) a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 10px;
	border-bottom: 1px solid #dfdfdf
}

.megamenu .megamenu_nav_item:first-child a .megamenu_nav_img,
.megamenu .megamenu_nav_item:nth-child(2) a .megamenu_nav_img {
	overflow: hidden;
	max-width: 170px
}

.megamenu .megamenu_nav_item:first-child a .megamenu_nav_img img,
.megamenu .megamenu_nav_item:nth-child(2) a .megamenu_nav_img img {
	-webkit-transition: 1s cubic-bezier(.19, 1, .22, 1);
	transition: 1s cubic-bezier(.19, 1, .22, 1)
}

.megamenu .megamenu_nav_item:first-child a .megamenu_nav_text,
.megamenu .megamenu_nav_item:nth-child(2) a .megamenu_nav_text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-left: 30px;
	font-size: 1.8rem;
	font-weight: 700
}

.megamenu .megamenu_nav_item:first-child a .megamenu_nav_text img,
.megamenu .megamenu_nav_item:nth-child(2) a .megamenu_nav_text img {
	width: 6px;
	margin-top: 10px;
	height: auto;
	margin-right: 15px
}

.megamenu .megamenu_nav_item:first-child a:hover,
.megamenu .megamenu_nav_item:nth-child(2) a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.megamenu .megamenu_nav_item:first-child a:hover,
	.megamenu .megamenu_nav_item:nth-child(2) a:hover {
		opacity: 1
	}
}

.megamenu .megamenu_nav_item:first-child a:hover .megamenu_nav_img img,
.megamenu .megamenu_nav_item:nth-child(2) a:hover .megamenu_nav_img img {
	-webkit-transform: scale(1.05);
	transform: scale(1.05)
}

@media screen and (max-width:1023px) {
	.megamenu .megamenu_nav_item:first-child a:hover .megamenu_nav_img img,
	.megamenu .megamenu_nav_item:nth-child(2) a:hover .megamenu_nav_img img {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(2)) {
	margin-top: 60px
}

.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(2)) a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 1px solid #dfdfdf
}

.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(2)) a img {
	width: 6px;
	height: auto;
	margin-right: 15px
}

.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(2)) a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.megamenu .megamenu_nav_item:not(:first-child):not(:nth-child(2)) a:hover {
		opacity: 1
	}
}

.menu {
	display: none
}

@media screen and (max-width:1023px) {
	.menu {
		opacity: 0;
		display: block;
		visibility: hidden;
		-webkit-clip-path: inset(0 0 100% 0);
		clip-path: inset(0 0 100% 0);
		position: fixed;
		z-index: 999;
		top: 0;
		left: 0;
		width: 100vw;
	}
}

@media screen and (max-width:1023px) {
	.menu .inner {
		width: 100%;
		height: auto;
		padding: 100px 45px 50px;
		background: #fff
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item {
		font-size: 1.5rem;
		font-weight: 700
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item:not(:first-child) {
		margin-top: 20px
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item span {
		display: inline-block;
		margin-left: 10px;
		font-family: Montserrat, sans-serif;
		font-size: 1rem;
		font-weight: 600;
		color: #aeaeae
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item>div {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item .js-menu-accordion .menu_close {
		position: relative;
		display: block;
		width: 15px;
		height: 1px;
		background: #00269f
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item .js-menu-accordion .menu_close:after {
		content: "";
		position: absolute;
		top: -7px;
		left: calc(50% - 1px);
		display: block;
		width: 1px;
		height: 15px;
		background: #00269f
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item .js-menu-accordion.open .menu_close {
		position: relative;
		display: block;
		width: 15px;
		height: 1px;
		background: #00269f
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_item .js-menu-accordion.open .menu_close:after {
		content: none
	}
}

.menu .menu_subList {
	display: none
}

@media screen and (max-width:1023px) {
	.menu .menu_subList {
		margin: 30px 0 0 45px
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_subItem:not(:first-child) {
		margin-top: 20px
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_subItem a {
		font-size: 1.3rem;
		font-weight: 400
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_contact {
		margin-top: 50px
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_contact a {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 17px 0;
		line-height: 1;
		font-size: 1.5rem;
		font-weight: 700;
		color: #fff;
		background: #00269f;
		border-radius: 25px
	}
}

@media screen and (max-width:1023px) {
	.menu .menu_contact a img {
		position: absolute;
		top: 50%;
		left: 25px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 25px;
		height: auto;
		margin-right: 15px
	}
}

@media screen and (max-width:1023px) { 
	.menu_list {
		padding-left: 0;
	}
	.menu_subList {
		padding-left: 0;
	}
}

.footer {
	margin-top: 80px
}

@media screen and (max-width:1023px) {
	.footer {
		margin-top: 50px
	}
}

.footer .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.footer .footer_logo {
	width: 125px;
	height: auto
}

@media screen and (max-width:1023px) {
	.footer .footer_logo {
		width: 60px
	}
}

.footer .footer_company {
	margin-top: 40px;
	font-size: 1.6rem
}

@media screen and (max-width:1023px) {
	.footer .footer_company {
		margin-top: 20px;
		font-size: 1.2rem
	}
}

.footer .footer_address {
	margin-top: 25px;
	font-size: 1.6rem
}

@media screen and (max-width:1023px) {
	.footer .footer_address {
		font-size: 1.2rem
	}
}

.footer .footer_contact {
	margin-top: 40px;
	line-height: 1.8;
	font-family: Montserrat, sans-serif;
	font-size: 1.6rem;
	color: #424242
}

@media screen and (max-width:1023px) {
	.footer .footer_contact {
		margin-top: 30px;
		font-size: 1.1rem
	}
}

.footer .footer_sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 60px
}

@media screen and (max-width:1023px) {
	.footer .footer_sns {
		margin-top: 30px
	}
}

.footer .footer_sns_icon {
	width: 35px;
	height: auto
}

@media screen and (max-width:1023px) {
	.footer .footer_sns_icon {
		width: 25px
	}
}

.footer .footer_sns_icon:last-child {
	margin-left: 20px
}

@media screen and (max-width:1023px) {
	.footer .footer_sns_icon:last-child {
		margin-left: 15px
	}
}

.footer .footer_sns_icon a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.footer .footer_sns_icon a:hover {
		opacity: 1
	}
}

.footer .footer_nav,
.footer .footer_nav_first {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.footer .footer_nav_first {
	max-width: 515px;
	width: 100%
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first {
		display: block;
		max-width: 100%
	}
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}
}

.footer .footer_nav_first .footer_nav_list:nth-child(odd) {
	max-width: 300px;
	width: 100%
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_list:nth-child(odd) {
		max-width: 100%
	}
}

.footer .footer_nav_first .footer_nav_list:nth-child(2n) {
	max-width: 215px;
	width: 100%
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_list:nth-child(2n) {
		max-width: 100%
	}
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_list:first-child,
	.footer .footer_nav_first .footer_nav_list:nth-child(2) {
		position: relative;
		margin-top: 50px
	}
}

.footer .footer_nav_first .footer_nav_list:nth-child(3),
.footer .footer_nav_first .footer_nav_list:nth-child(4) {
	margin-top: 55px
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_list:nth-child(3),
	.footer .footer_nav_first .footer_nav_list:nth-child(4) {
		margin-top: 50px
	}
}

.footer .footer_nav_first .footer_nav_heading {
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: 700
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_heading {
		width: 86px;
		margin: 0 30px 0 0;
		font-size: 1.3rem
	}
}

.footer .footer_nav_first .footer_nav_item a {
	display: table;
	font-size: 1.2rem
}

.footer .footer_nav_first .footer_nav_item a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_item a:hover {
		opacity: 1
	}
}

.footer .footer_nav_first .footer_nav_item:not(:first-child) {
	margin-top: 15px
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_first .footer_nav_item:not(:first-child) {
		margin-top: 20px
	}
}

.footer .footer_nav_first .footer_nav_item:not(:first-child) a {
	color: #424242
}

.footer .footer_nav_second {
	margin-left: 80px
}

@media screen and (max-width: 1023px) {
	.footer .footer_nav_second .footer_nav_list {
		padding-left: 0;
	}
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_second {
		margin: 50px 0 0
	}
}

.footer .footer_nav_second .footer_nav_item a {
	display: table;
	font-size: 1.8rem;
	font-weight: 700
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_second .footer_nav_item a {
		font-size: 1.3rem
	}
}

.footer .footer_nav_second .footer_nav_item a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_second .footer_nav_item a:hover {
		opacity: 1
	}
}

.footer .footer_nav_second .footer_nav_item:not(:first-child) {
	margin-top: 30px
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_second .footer_nav_item:not(:first-child) {
		margin-top: 25px
	}
}

.footer .footer_nav_third .footer_nav_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: 0;
}

.footer .footer_nav_third .footer_nav_item:first-child {
	margin-right: 18px;
	padding-right: 18px;
	border-right: 1px solid #dfdfdf
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_third .footer_nav_item:first-child {
		margin-right: 15px;
		padding-right: 15px
	}
}

.footer .footer_nav_third .footer_nav_item a {
	line-height: 1;
	font-size: 1.2rem
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_third .footer_nav_item a {
		font-size: 1rem
	}
}

.footer .footer_nav_third .footer_nav_item a:hover {
	opacity: .5
}

@media screen and (max-width:1023px) {
	.footer .footer_nav_third .footer_nav_item a:hover {
		opacity: 1
	}
}

.footer .footer_bottom {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	margin-top: 60px;
	padding: 25px 0 30px;
	border-top: 1px solid #dfdfdf
}

@media screen and (max-width:1023px) {
	.footer .footer_bottom {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		width: 100vw;
		margin: 30px calc(50% - 50vw) 0;
		padding: 15px 0 20px 30px
	}
}

.footer .footer_copyrights {
	line-height: 1
}

@media screen and (max-width:1023px) {
	.footer .footer_copyrights {
		margin-top: 10px
	}
}

.footer .footer_copyrights small {
	display: block;
	line-height: 1;
	font-size: 1.2rem
}

@media screen and (max-width:1023px) {
	.footer .footer_copyrights small {
		font-size: 1rem
	}
}

/* コラム */
.t-section.is-column {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	margin-top: 76px;
	padding-left: 20px;
	padding-right: 20px;
}
.entry-title.is-column {
	border-left: 5px solid #00269f;
    padding: 0.65em 0 0.8em 1em;
    font-size: 2.8em !important;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
	.t-section.is-column {
		padding-left: 0;
		padding-right: 0;
	}
	.entry-title.is-column {
		font-size: 1.8em !important;
	}
}
.column__head-meta {
    margin-bottom: 65px;
}
.column__head-meta__cat {
    display: flex;
    padding-left: 0;
}
.column__head-meta__cat li {
    display: table;
    padding: 5px 8px;
    margin-right: 10px;
    line-height: 1;
    font-size: 1.4rem;
    border: 1px solid #00269f;
    color: #00269f;
}
.column__head-meta__date {
    text-align: right;
}
.column__head-meta__date span {
	position: relative;
	font-family: Montserrat, sans-serif !important;
    font-size: 1.6rem;
    font-weight: 600;
    color: #aeaeae;
    padding-left: 24px;
    text-align: right;
}
.column__head-meta__date span:before {
	content: '';
	position: absolute;
	top: 0;
	left: -3px;
	width: 20px;
	height: 20px;
	background: url(../images/icon_time.png);
	background-size: 100% 100%;
}
.t-section.is-column h2,
.t-section.is-case-list h2 {
	border-left: 5px solid #00269f;
    padding: 0.65em 0 0.8em 1em;
    font-size: 2em;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 95px;
    margin-bottom: 25px;
}
.t-section.is-column p {
	margin-top: 20px;
    margin-top: 20px;
}
.t-section.is-column blockquote {
    background: #eee;
    padding: 10px 26px 34px 45px;
    border-radius: 0 15px 0 15px;
}
.t-section.is-column blockquote:before {
	font-size: 30px;
	left: 22px;
}
.t-section.is-column .entry-content img {
    max-width: 650px;
    margin: 0 auto;
}
.border2Box {
    border: 4px double #333;
    padding: 0 35px 22px;
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.8;
}
.t-section.is-column .entry-content .ao {
	color: #00269f;
}

.singular .entry-header {
	border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 45px !important;
}

/* 実績一覧ß */
.page-case-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 55px;
    padding-left: 0;
}
.column_list__item {
    width: 31.5%;
    margin-right: 2.75%;
    margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
	.column_list__item {
    	width: 100%;
    	margin-right: 0;
	}
}
.column_list__item:nth-child(3n) {
	margin-right: 0;
}
.case_thumb {
    width: 100%;
    height: 250px;
    overflow: hidden;
}
.case_thumb.is-border {
	border: 1px solid #ccc;
}
.case_thumb img {
    display: block;
    height: 250px;
    object-fit: cover;
    width: 100%;
}
@media screen and (max-width: 768px) {
	.case_thumb,
	.case_thumb img {
		height: 56vw;
	}
}
.case__meta {
	margin-top: 20px;
}
.case__meta__category {
}
.case__meta__category span {
    display: table;
    padding: 5px 8px;
    margin-right: 10px;
    line-height: 1;
    font-size: 1.4rem;
    color: #00269f;
    border: 1px solid #00269f;
}
.case__meta__ttl {
    font-size: 18px;
    font-weight: 700;
    text-indent: 2px;
}
.case__meta__area,
.case__meta__width,
.case__meta__role,
.case__meta__price {
	margin-top: 12px;
}
.case__meta__area span,
.case__meta__width span,
.case__meta__role span,
.case__meta__price span {
    padding: 5px 8px;
    margin-right: 10px;
    line-height: 1;
    font-size: 1.4rem;
    color: #00269f;
    background: #f5f5fa;
}

.pc_only {display: block;}
.sp_only {display: none;}
@media screen and (max-width: 768px) {
	.pc_only {display: none;}
	.sp_only {display: block;}
}
