@charset "UTF-8";

:root {
	font-size: 16px;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Segoe UI", Verdana, Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	line-break: strict;
	line-height: 1.8;
	min-width: 320px;
}

body {
	min-width: 320px;
}

/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
	}
	.site-header-logo {
		position: absolute;

	}
	.site-header-nav {
		position: absolute;
	}
}

/* --HEADER-- tab & sp */
@media only screen and (max-width: 768px) {
	.pcOnly {display: none!important;}

	body.nav-active {
		overflow: hidden;
	}

	.nav-active .site-header {
		opacity: 1;
	}

	.site-header-logo {
		width: 35.15625vw;
		top: 4.3vw;
		left: -4.883vw;
		z-index: 10;
	}
	.site-header-logo img {
		width: 100%;
		vertical-align: middle;
	}

	.site-header-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: #F5F3F2;
		z-index: 1;
		opacity: 0;
		visibility: hidden;
		overflow: auto;
		transition-property: opacity visibility;
		transition-duration: .75s;
	}

	.main-nav {
		margin-top: 40.3646vw;
	}

	.main-nav-item {
		display: flex;
		align-items: center;
		padding-left: 10.4167vw;
		padding-bottom: 13.0208vw;
	}
	.header-sub-link {
		position: relative;
		padding-left: 19.8854vw;
	}
	.header-sub-link::before {
		content: '';
		position: absolute;
		top: calc(50% + 1px);
		left: 2vw;
		display: block;
		width: 15.8854vw;
		height: .2604vw;
		min-height: 1px;
		background: #707070;
		opacity: .3;
	}
	.header-link img,
	.header-sub-link img {
		width: auto;
		height: 3.64583vw;
		vertical-align: middle;
	}

	.nav-active .site-header-nav {
		visibility: visible;
		opacity: 1;
	}

	.menu-trigger {
		position: fixed;
		top: 4.6875vw;
		top: max(20px, 4.6875vw);
		left: 88.5417vw;
		display: block;
		width: 7.8125vw;
		cursor: pointer;
		background: center / contain no-repeat url(../img/common/menu_icon.png);
	}
	.site-header-nav .menu-trigger {
		background-image: url(../img/common/menu_icon-open.png);
	}

	.breadcrumbs {
		overflow-x: scroll;
		word-break: keep-all;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
}

/* pc */
/* --HEADER-- pc */
@media print,
(min-width: 769px) {
	.spOnly {display: none!important;}
	
	.menu-trigger {
		display: none;
	}

	.site-header-logo {
		top: 21px;
		left: 0;
	}

	.site-header-nav {
		right: 60px;
	}

	.site-header-content {
		position: relative;
		margin: 0 auto;
		max-width: 1280px;
	}
	.site-header-content,
	.main-nav {
		height: 80px;
	}

	.header-link {
		background-color: #9F9F95;
		height: 11px;
		font-size: 11px;
		color: rgba(0, 0, 0, 0);
		transition: background .3s;
		mask-repeat: no-repeat;
		-webkit-mask-repeat: no-repeat;
		mask-position: center;
		-webkit-mask-position: center;
	}
	.header-link:hover {
		background-color: #C11920;
	}
	.header-link.concept {
		width: 67px;
		-webkit-mask-image: url(../img/common/link_concept.svg);
		mask-image: url(../img/common/link_concept.svg);
	}
	.header-link.works {
		width: 52px;
		-webkit-mask-image: url(../img/common/link_works.svg);
		mask-image: url(../img/common/link_works.svg);
	}
	.header-link.profile {
		width: 59px;
		-webkit-mask-image: url(../img/common/link_profile.svg);
		mask-image: url(../img/common/link_profile.svg);
	}
	.header-link.access {
		width: 54px;
		-webkit-mask-image: url(../img/common/link_access.svg);
		mask-image: url(../img/common/link_access.svg);
	}
	.header-link.recruit {
		width: 60px;
		-webkit-mask-image: url(../img/common/link_recruit.svg);
		mask-image: url(../img/common/link_recruit.svg);
	}
	.header-link.contact {
		width: 67px;
		-webkit-mask-image: url(../img/common/link_contact.svg);
		mask-image: url(../img/common/link_contact.svg);
	}




	.main-nav {
		display: flex;
		justify-content: space-between;
		width: 541px;
	}

	.main-nav-item {
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: 134px;
		width: 14.3%;
		height: 100%;
	}
}



/* --MAIN-- */
.main-section,
.section-inner {
	position: relative;
}

/* --MAIN-- tab & sp */

/* --MAIN-- sp */
@media only screen and (max-width: 768px) {
	.main-section {
		margin: 0 auto;
		width: 89.5833vw;
	}
}

/* --MAIN-- pc */
@media print,
(min-width: 769px) {
	.site-main {
		margin-top: 80px;
	}

	.site-main,
	.site-footer {
		min-width: 900px;
	}

  .main-section {
    margin: 0 auto;
    padding: 0 20px;
    width: 900px;
  }
	
	.section-inner {
		margin: 0 auto;
	}
}



/* --FOOTER-- */
@media all {
	.site-footer {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.copyright img {
		vertical-align: middle;
		width: 100%;
	}
}

/* --FOOTER-- sp */
@media only screen and (max-width: 768px) {
	.site-footer {
		height: 10.4167vw;
		min-height: 50px;
	}
	.copyright {
		width: 49.87vw;
		min-width: 270px;
	}
}

/* --FOOTER-- pc */
@media print,
(min-width: 769px) {
	.site-footer {
		height: 40px;
	}
}

/* -- for Printing -- */
@media print {
	body {
		width: 100%;
	}

	.site-header {
		position: absolute;
		min-height: 80px
	}

	.site-header-logo {
		margin-top: 0;
		padding-top: 10px
	}

	.site-header-nav {
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.to-top {
		display: none;
	}

	.site-main {
		margin-top: 150px;
	}
}


/* inview */
@media not print {
	.elemFadeIn {
		opacity: 0;
		filter: blur(1rem);
		transition: 1s opacity, 1s filter;
	}

	.elemFadeIn.animated {
		opacity: 1;
		filter: blur(0);
	}
}

