@charset "UTF-8";

#scroll {
	display: block;
}
#page {
	margin-top: -30px;
	position: relative;
	/*top: -30px;*//*40px;*/
}
/*.cage {
	position: absolute;
	top: 100vh;
}*/
#mainvisual {
	height: 100vh;
	position: relative;/*absolute;*/
	/*top: 0;*/
	width: 100%;
}
#mainvisual ul, #mainvisual li, #mainvisual li picture, #mainvisual li source, #mainvisual li img {
	height: 100vh;
	width: 100%;
}
#mainvisual li img, #mainvisual li source {
	object-fit: cover;
	object-position: 50% 50%;
}
#catchcopy {
	margin: 0 auto;
	max-height: 205px;
	max-width: 165px;
	position: absolute;
	top: 100px;
	left: calc((100vw - 165px) / 2);
}

/* 新着ヘッドライン */
#news {
	background-color: #7698b4;
	border-bottom: 1px solid #7698b4;
	color: #fff;
	font-size: .875rem;
	margin-bottom: 5rem;
}
#news > dl {
	align-items: center;
	display: flex;
	padding: .5rem;
}
#news > dl > dt {
	border: 1px solid #fff;
	display: flex;
	font-family: Oswald, sans-serif;
	font-size: 1.5rem;
	padding: .5rem;
}
#news > dl > dt > picture {
	display: flex;
	align-items: center;
}
#news > dl > dd {
	display: flex;
	padding: .5rem;
	width: 100%;
}
#news > dl > dd dl {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#news > dl > dd dl dt {
	flex-basis: 30%;
	text-align: center;
}
#news > dl > dd dl dd {
	flex-basis: 70%;
	width: 100%;
}
#news > dl > dd a {
	color: #fff;
}

/* .title-eの下線を非表示 */
.sec-title .title-e:after {
	display: none;
}

#aboutus {
	margin-bottom: 5rem;
}
#aboutus .content-wrapper {
	padding: 0;
}
#aboutus .sec-title source, #aboutus .sec-title img {
	max-width: 78px;
}

#service {
	background-color: #e6f0fa;
}
#service .sec-title source, #service .sec-title img {
	max-width: 67px;
}
#service .sec-detail-btn {
	align-items: center;
	display: flex;
}
#service .sec-detail-btn span {
	background-color: #e6f0fa;
}
#service ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#service li {
	flex-basis: 47.5%;
	line-height: 0;
	margin-bottom: 5%;
}
#service a p {
	background-color: #fff;
	border-right: 2rem solid #000;
	line-height: 1.5;
	padding: .25rem 0 .25rem .5rem;
}

#gallery .sec-title source, #gallery .sec-title img {
	max-width: 70px;
}

/* 一覧で使用 */
/*
#gallery form {
	flex-basis: 20%;
}
#gallery form div {
	border: 1px solid #7698b4;
	border-radius: 0;
	color: #7698b4;
	display: flex;
	justify-content: space-between;
	padding: .25rem .5rem;
}
#gallery form div:after {
	color: #7698b4;
	content: "▼";
	display: inline-block;
}
#gallery select {
	color: #7698b4;
	outline: none;
	width: 100%;
}
*/

#gallery .sec-title-area {
	display: flex;
	flex-direction: column;
}
#gallery .sec-title-area.animate-fadein {
	overflow: initial;
}
#gallery nav {
	width: 100%;
}
#gallery nav > a {
	border: 1px solid #7698b4;
	color: #7698b4;
	display: flex;
	font-family: Oswald, sans-serif;
	justify-content: space-between;
	padding: .25rem .5rem;
	width: 100%;
}
#gallery nav > a:after {
	color: #7698b4;
	display: inline-block;
	font-size: .75rem;
}
#gallery nav.close > a:after {
	content: "▼";
}
#gallery nav.open > a:after {
	content: "×";
}
#gallery nav > ul {
	border: 1px solid #7698b4;
	background-color: #fff;
	border-bottom: 0;
	border-top: 0;
}
#gallery nav.close > ul {
	display: none;
}
#gallery nav.open > ul {
	display: block;
}
#gallery nav li {
	border-bottom: 1px solid #7698b4;
}
#gallery nav li a {
	background-color: #fff;
	display: block;
	font-size: .875rem;
	padding: .25rem .5rem;
}

.latest-works, .latest-event {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 1rem;
}
.latest-event {
	justify-content: flex-start;
}
.latest-works li, .latest-event li {
	background-color: #fff;
	color: #595757;
	flex-basis: 31%;
	margin-bottom: 5%;
	/*margin-right: 3.5%;*/
}
/*.latest-works li, .latest-event li:last-child {
	margin-right: 0;
}*/
.latest-works li a, .latest-event li a {
	color: #595757;
}
.photo {
	line-height: 0;
	margin-bottom: .5rem;
	position: relative;
}
.label {
	background-color: #7698b4;
	color: #fff;
	font-family: Oswald, sans-serif;
	line-height: initial;
	padding: .25rem .5rem;
	position: absolute;
	top: 0;
	white-space: nowrap;
}
.category, .date {
	color: #595757;
	font-size: .875rem;
	margin-bottom: .25rem;
}
.name {
	font-weight: 400;
	margin-bottom: .25rem;
}
.completion-date:after {
	content: "完成";
}
.tags {
	display: block;
}
.tags li {
	color: #898787;
	display: inline-block;
	font-size: .75rem;
	margin-right: .75rem;
}
.tags li:last-child {
	margin-right: 0;
}
.tags li:before {
	content: "#";
}

/*#event {
	position: relative;
}*/
#event-bkg {
	background-color: #e6f0fa;
	height: 50vh;
	/*position: relative;*/
	width: 50%;
}
#event .content-wrapper {
	/*position: relative;*/
	margin-top: -50vh;
	z-index: 1;
}
#event .sec-title source, #event .sec-title img {
	max-width: 50px;
}
.latest-event li a {
	border: 1px solid #adadad;
	display: block;
}
.latest-event .outline {
	padding: .5rem;
}
.excerpt {
	font-size: .875rem;
}
#event .photo {
	margin-bottom: 0;
}
#event .label {
	background-color: #939393;
	bottom: 0;
	top: initial;
}

#company-nav {
	margin-bottom: 2rem;
}
#company-nav .content-wrapper {
	padding: 0;
}
#company-nav a {
	background-blend-mode: multiply;
	background-color: #7c9fb5;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	display: block;
	margin-bottom: 0;
	padding: 7.5rem 0;
}
#company-nav a div {
	display: inline-block;
	margin-left: 37.5%;
}
#company-nav .title {
	color: #fff;
	margin-bottom: 1rem;
}
#company-nav .title span {
	display: block;
	font-family: Oswald, sans-serif;
	font-size: 1.5rem;
}
#outline {
	background-image: url(../images/index/company/company-photo.jpg);
}
#recruit {
	background-image: url(../images/index/company/recruit-photo.jpg);
}
#faq {
	background-image: url(../images/index/company/faq-photo.jpg);
}
#company-nav .sec-detail-btn {
	background-image: url(../images/common/more-arrow2.png);
	font-size: .75rem;
}
#company-nav .sec-detail-btn span {
	background-color: transparent;
	color: #fff;
}

/* 連絡 */
#contact-methods {
	text-align: center;
}
#contact-methods .email {
	background-color: #457696;
	color: #fff;
	display: block;
	font-size: 1.25rem;
	letter-spacing: .2rem;
	margin-bottom: 2rem;
	padding: 1.5rem;
}
#contact-methods .phone a {
	color: #457696;
	font-family: Oswald, sans-serif;
	font-size: 2rem;
}
#contact-methods p {
	font-size: .75rem;
}

#pagetop {
	background-color: #457696;
	border-bottom: 1px solid #113a4c;
	color: #fff;
	display: block;
	font-family: Oswald, sans-serif;
	padding: 1rem;
	text-align: center;
}
#pagetop:before {
	border: 2px solid #fff;
	border-right: 0;
	border-bottom: 0;
	content: "";
	display: inline-block;
	height: .5rem;
	margin-right: .5rem;
	transform: translateY(1px) rotateZ(45deg);
	width: .5rem;
}
/*footer {
	position: static;
}*/

@media screen and (min-width: 480px) {
	.latest-works li a, .latest-event li a {
		display: flex;
		justify-content: space-between;
	}
	.latest-works li a .photo, .latest-event li a .photo {
		display: flex;
		flex-basis: 32.5%;
	}
	.latest-works li a .photo picture {
		width: 100%;
	}
	.latest-works li a .outline, .latest-event li a .outline {
		align-self: center;
		display: flex;
		flex-basis: 65%;
		flex-direction: column;
	}
	
	#company-nav nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#company-nav nav a {
		flex-basis: 50%;
	}
	#company-nav nav a:first-child {
		flex-basis: 100%;
	}
	#company-nav a:first-child div {
		margin-left: 20%;
	}
	#company-nav a div {
		margin-left: 40%;
	}
}

@media screen and (min-width: 980px) {
	#page {
		position: relative;
		top: -40px;/*-70px;*/
	}
	#mainvisual ul, #mainvisual li, #mainvisual li picture, #mainvisual li source, #mainvisual li img {
		height: 95vh;
	}
	#mainvisual {
		padding-left: 100px;
		border-right: 1rem solid #7698b4;
	}
	#catchcopy {
		left: 30%;
		top: 150px;
	}
	
	.cage {
		margin-top: -95px;
		position: relative;
		top: initial;
	}
	article {
		margin-top: -6rem;
		padding-top: 0;
	}
	
	#news {
		margin-left: auto;
		width: 50%;
	}
	#news > dl {
		align-items: stretch;
		min-height: calc(111px - 1rem);
	}
	
	/* About US */
	#aboutus .content-wrapper {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	#aboutus .sec-eyecatch {
		display: flex;
		flex-basis: 58%;
	}
	#aboutus .sec-detail {
		align-self: center;
		flex-basis: 42%;
		padding: 2rem;
	}
	/*#aboutus .sec-eyecatch {
		max-height: calc(630px * 0.75);
		overflow: hidden;
	}*/
	
	/* Servuce */
	#service .content-wrapper {
		padding: 5% 15%;
	}
	#service li {
		flex-basis: 23%;
		margin-bottom: 0;
	}
	
	/*#gallery .content-wrapper {
		padding: 5% 6%;
	}*/
	
	#gallery .sec-title-area {
		flex-direction: row;
		position: relative;
	}
	#gallery nav {
		position: absolute;
		right: 0;
		width: 30%;
		z-index: 1;
	}
	
	.latest-works, .latest-event {
		flex-direction: row;
	}
	.latest-works li, .latest-event li {
		margin-bottom: 0;
	}
	.latest-event li {
		display: flex;
		margin-right: 3.5%;
	}
	.latest-works li:last-child, .latest-event li:last-child {
		margin-right: 0;
	}
	.latest-works li a, .latest-event li a {
		display: block;
	}
	
	/*#event .content-wrapper {
		padding: 5% 6%;
	}*/
	
	/* 連絡 */
	#contact-methods .email {
		font-size: 1.5rem;
		padding: 3rem;
	}
	#contact-methods .phone a {
		font-size: 2.25rem;
	}
	
	footer {
		margin-top: -40px;
	}
}