@charset "UTF-8";

/* CSS Information
---------------------------------------------------------------
Site URL:http://envision.okayama.jp/
File name:sp.css
Summary:reset styles
Created:2021-10-26
--------------------------------------------------------------- */

@media screen and (max-width: 1200px) {

/* Index */
/* ------------------------------------------------------------ */

/* Mainvisual */
main#index section#mainvisual {
	background: #000 url(../img/index/mainvisual.jpg) no-repeat left -120px center;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#index section#mainvisual .inner {
	box-sizing: border-box;
	width: 100%;
	padding: 0 4vw;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#index section#mainvisual h2 {
	color: #fff;
	font-size: 14vw;
	font-family: "Noto Serif JP";
}

main#index section#mainvisual h2 ruby[data-ruby] {
	position: relative;
	display: block;
	margin-bottom: 10vw;
}

main#index section#mainvisual h2 ruby[data-ruby]:nth-of-type(3) {
	margin: 0;
}

main#index section#mainvisual h2 ruby[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	left: 0;
	bottom: -6vw;
	font-size: 4vw;
}

main#index section#mainvisual h2 rt {
	display: none;
}
  
/* Company upper */
main#index section#company_upper div.headline {
	width: 100%;
	height: auto;
}

main#index section#company_upper div.headline h2 {
	text-align: center;
	font-size: 18px;
	line-height: 2;
	font-family: "Noto Serif JP";
}

main#index section#company_upper h3 {
}

main#index section#company_upper .inner div {
	display: block;
}

main#index section#company_upper .inner div figcaption {
}

main#index section#company_upper .inner div figcaption h4 {
	font-size: 16px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#index section#company_upper .inner div figcaption p.comment {
	margin-top: 10px;
}

main#index section#company_upper .inner div figure {
	width: 80%;
	max-width: 576px;
	margin: 20px auto;
}

/* Company lower */
main#index section#company_lower {
	background: #bd2135;
	color: #fff;
	margin-top: -80px;
	padding: 80px 0 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#index section#company_lower h2 {
	background: url(../img/index/bg_company_upper.jpg) no-repeat center top;
	background-size: cover;
	text-align: center;
	font-size: 40px;
	line-height: 2;
	font-family: "Noto Serif JP";
	height: 570px;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#index section#company_lower h3 {
	text-align: center;
	font-size: 18px;
	font-family: "Noto Serif JP";
	position: relative;
	display: inline-block;
	padding: 0 20px;
	margin: 0 0 20px;
}

main#index section#company_lower h3::before,
main#index section#company_lower h3::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 18px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

main#index section#company_lower h3::before {
	left: 0;
}

main#index section#company_lower h3::after {
	right :0;
}

main#index section#company_lower ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#index section#company_lower ul li {
	width: 48%;
}

main#index section#company_lower ul li:nth-of-type(n+3) {
	margin-top: 10px;
}

main#index section#company_lower ul li figure {
	width: 100%;
	position: relative;
	flex-shrink: 0;
}

main#index section#company_lower ul li figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#index section#company_lower ul li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#index section#company_lower ul li p.comment {
	margin-top: 10px;
}

main#index section#company_lower .btn {
	width: 220px;
	margin: 20px auto 0;
}

/* Service upper */
main#index section#service_upper {
	background: url(../img/index/bg_logo.png) no-repeat;
	background-size: 222px auto;
	background-position-x: calc(50% + 111px);
	background-position-y: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
}

main#index section#service_upper h3 {
}

main#index section#service_upper .inner h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#index section#service_upper .inner p.comment {
	margin-top: 10px;
}

main#index section#service_upper ul {
	width: 100%;
	margin: 20px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#index section#service_upper ul li {
	width: 50%;
}

main#index section#service_upper ul li figure {
	width: 100%;
	position: relative;
	flex-shrink: 0;
}

main#index section#service_upper ul li figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#index section#service_upper ul li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#index section#service_upper ul li figcaption {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: rgba(189,33,53,0.4);
	color: #fff;
}

/* Service lower */
main#index section#service_lower {
	padding: 0 0 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#index section#service_lower .inner {
    width: 100%;
	padding: 0;
}

main#index section#service_lower .inner > figure {
    height: 260px;
}

main#index section#service_lower .inner > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

main#index section#service_lower .inner > div {
	margin: -40px auto 0;
	display: block;
}

main#index section#service_lower .inner > div figure {
	width: 92%;
	max-width: 590px;
	margin: 0 auto;
}

main#index section#service_lower .inner > div figcaption {
	background: #bd2135;
	color: #fff;
	margin-top: 20px;
	padding: 4vw;
}

main#index section#service_lower h3 {
	text-align: center;
	font-size: 18px;
	font-family: "Noto Serif JP";
	position: relative;
	display: inline-block;
	padding: 0 20px;
	margin: 0 0 20px;
}

main#index section#service_lower h3::before,
main#index section#service_lower h3::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 18px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

main#index section#service_lower h3::before {
	left: 0;
}

main#index section#service_lower h3::after {
	right :0;
}

main#index section#service_lower .btn {
	width: 220px;
	margin: 20px auto 0;
}

/* Works */
main#index section#works {
	background: #bd2135;
	color: #fff;
	padding: 40px 0;
}

main#index section#works h3::before {
	filter: brightness(0) invert(1);
}

main#index section#works .inner > div {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#index section#works .inner > div article {
	text-align: center;
	width: 48%;
}

main#index section#works .inner > div article:nth-of-type(n+3) {
	margin-top: 20px;
}

main#index section#works .inner > div article a {
	display: block;
}

main#index section#works .inner > div article figure {
	width: 100%;
	position: relative;
	flex-shrink: 0;
}

main#index section#works .inner > div article figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#index section#works .inner > div article figure img {
	border-radius: 48%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#index section#works .inner > div article figcaption {
	margin-top: 20px;
}

main#index section#works .inner > div article figcaption h1 {
	color: #fff;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px #fff solid;
}

main#index section#works .inner > div article figcaption p.comment {
	margin-top: 10px;
	color: #fff;
}

main#index section#works .btn {
	width: 220px;
	margin: 20px auto 0;
}

/* Recruit upper */
main#index section#recruit_upper {
	background: url(../img/index/bg_logo.png) no-repeat;
	background-size: 222px auto;
	background-position-x: calc(50% - 111px);
	background-position-y: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
}

main#index section#recruit_upper h3 {
}

main#index section#recruit_upper .inner div {
	margin: 0 auto;
	display: block;
}

main#index section#recruit_upper .inner div figcaption {
}

main#index section#recruit_upper .inner div figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#index section#recruit_upper .inner div figcaption p.comment {
	margin-top: 10px;
}

main#index section#recruit_upper .inner div figure {
	width: 80%;
	max-width: 470px;
	margin: 20px auto;
}

/* Recruit lower */
main#index section#recruit_lower {
	margin-top: -120px;
}

main#index section#recruit_lower .inner {
	background: #bd2135;
	color: #fff;
	display: block;
	padding: 80px 4vw 0;
}

main#index section#recruit_lower .inner figure {
	width: 80%;
	max-width: 660px;
	margin: 20px auto 0;
}

main#index section#recruit_lower .inner figcaption {
	color: #fff;
}

main#index section#recruit_lower h3 {
	text-align: center;
	font-size: 18px;
	font-family: "Noto Serif JP";
	position: relative;
	display: inline-block;
	padding: 0 20px;
	margin: 0 0 20px;
}

main#index section#recruit_lower h3::before,
main#index section#recruit_lower h3::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 18px;
	height: 1px;
	background: #fff;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

main#index section#recruit_lower h3::before {
	left: 0;
}

main#index section#recruit_lower h3::after {
	right :0;
}

main#index section#recruit_lower .btn {
	width: 220px;
	margin: 20px auto 0;
}

/* News */
main#index section#news {
	padding: 40px 0 0;
}

main#index section#news .inner {
	display: block;
}

main#index section#news h3 {
}

main#index section#news .inner > div {
	display: block;
}

main#index section#news .inner > div article {
}


main#index section#news .inner > div article:nth-of-type(n+2) {
	margin-top: 20px;
}

main#index section#news .inner > div article a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#index section#news .inner > div article figure {
	width: 100px;
	position: relative;
	flex-shrink: 0;
	margin-right: 20px;
}

main#index section#news .inner > div article figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#index section#news .inner > div article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#index section#news .inner > div article figcaption {
	width: 100%;
}

main#index section#news .inner > div article figcaption time {
	font-size: 14px;
}

main#index section#news .inner > div article figcaption h1 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 20px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

main#index section#news .btn {
	width: 220px;
	margin: 20px auto 0;
}

/* Related */
main#index section#related {
	padding: 40px 0;
}

main#index section#related h3 {
	margin: 0 0 20px;
}

main#index section#related h3::before {
	content: none;
}

main#index section#related p.bnr {
	width: 100%;
	max-width: 800px;
	margin: 20px auto 10px;
}

main#index section#related p.comment {
	text-align: center;
	margin-top: 10px;
}

/* Service */
/* ------------------------------------------------------------ */

main#service section#mainvisual {
	background: #000 url(../img/service/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#service section#content1 {
	padding: 40px 0 0;
}

main#service section#content1 h2 {
	text-align: center;
	font-size: 18px;
    font-family: "Noto Serif JP";
	line-height: 2;
}

main#service section#content1 ul {
	width: 100%;
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#service section#content1 ul li {
	background: #bd2135;
	width: 48%;
}

main#service section#content1 ul li:nth-of-type(n+3) {
	margin-top: 20px;
}

main#service section#content1 ul li figure {
	width: 100%;
	position: relative;
}

main#service section#content1 ul li figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#service section#content1 ul li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#service section#content1 ul li figcaption {
	color: #fff;
	padding: 4vw;
}

main#service section#content1 ul li figcaption h3 {
	text-align: center;
	font-size: 18px;
	font-family: "Noto Serif JP";
	margin: 0 0 10px;
}

main#service section#content1 ul li figcaption h3::before {
	content: none;
}

main#service section#content2 {
	background: url(../img/index/bg_logo.png) no-repeat;
	background-size: 222px auto;
	background-position-x: calc(50% - 111px);
	background-position-y: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 0;
}

main#service section#content2 .inner div {
	margin: 0 auto;
	display: block;
}

main#service section#content2 .inner div figcaption {
}

main#service section#content2 .inner div figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#service section#content2 .inner div figcaption p.comment {
	margin-top: 10px;
}

main#service section#content2 .inner div figure {
	width: 100%;
	max-width: 630px;
	margin: 20px auto 0;
}

main#service section#content3 {
	padding: 0 0 40px;
}

main#service section#content3 ul {
	width: 100%;
	display: block;
}

main#service section#content3 ul li:nth-of-type(n+2) {
	margin-top: 20px;
}

main#service section#content3 ul li figure {
	width: 50%;
	margin: 0 auto;
	position: relative;
}

main#service section#content3 ul li figure::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#service section#content3 ul li figure img {
	border-radius: 48%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#service section#content3 ul li figcaption h3 {
	text-align: center;
	font-size: 18px;
	font-family: "Noto Serif JP";
	margin: 20px 0 10px;
}

main#service section#content3 ul li figcaption h3::before {
	content: none;
}

main#service section#content4 {
	background: url(../img/service/bg_works.jpg) no-repeat center top;
	background-size: cover;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#service section#content4 .inner {
	background: rgba(189,33,53,0.9);
	color: #fff;
	box-sizing: border-box;
	width: 100%;
	margin: 40px 4vw;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#service section#content4 h3::before {
    filter: brightness(0) invert(1);
}

main#service section#content5 {
	padding: 40px 0;
}

main#service section#content5 .inner {
	display: block;
}

main#service section#content5 .inner div {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#service section#content5 .inner div:nth-of-type(n+2) {
	margin-top: 40px;
}

main#service section#content5 ul li figure {
	width: 100%;
}

main#service section#content5 h3 {
	margin: 20px 0;
}

main#service section#content5 h3::before {
	content: none;
}

main#service section#content6 {
	padding: 0 0 40px;
}

main#service section#content6 h3 {
	line-height: 1.2;
}

main#service section#content6 .inner div {
	margin: 0 auto;
	display: block;
}

main#service section#content6 .inner div figcaption {
}

main#service section#content6 .inner div figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#service section#content6 .inner div figcaption p.comment {
	margin-top: 10px;
}

main#service section#content6 .inner div figcaption .btn {
    width: 220px;
    margin: 20px auto 0;
}

main#service section#content6 .inner div figure {
	width: 100%;
	max-width: 630px;
	margin: 20px auto 0;
}

/* Works */
/* ------------------------------------------------------------ */

main#works section#mainvisual {
	background: #000 url(../img/works/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#works section#construction1,
main#works section#construction2,
main#works section#construction3 {
	padding: 40px 0 0;
}

main#works section#construction4 {
	padding: 40px 0;
}

main#works section#construction1 h3,
main#works section#construction2 h3,
main#works section#construction3 h3,
main#works section#construction4 h3 {
    margin: 0 0 20px;
}

main#works section#construction1 h3::before,
main#works section#construction2 h3::before,
main#works section#construction3 h3::before,
main#works section#construction4 h3::before {
    content: none;
}

main#works section#construction1 .inner > div,
main#works section#construction2 .inner > div,
main#works section#construction3 .inner > div,
main#works section#construction4 .inner > div {
	width: 100%;
	margin-top: 20px;
}

main#works section#construction1 article,
main#works section#construction2 article,
main#works section#construction3 article,
main#works section#construction4 article {
	width: 100$;
}

main#works section#construction1 article:nth-of-type(n+2),
main#works section#construction2 article:nth-of-type(n+2),
main#works section#construction3 article:nth-of-type(n+2),
main#works section#construction4 article:nth-of-type(n+2) {
	margin-top: 20px;
}

main#works section#construction1 article figure p,
main#works section#construction2 article figure p,
main#works section#construction3 article figure p,
main#works section#construction4 article figure p {
	width: 100%;
	position: relative;
}

main#works section#construction3 article figure ul.thumbnail_photo {
	margin-top: 2vw;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#works section#construction3 article figure ul.thumbnail_photo li {
	width: 49%;
	margin-right: 2vw;
	position: relative;
}

main#works section#construction3 article figure ul.thumbnail_photo li:nth-of-type(2) {
	margin-right: 0;
}

main#works section#construction3 article figure ul.thumbnail_photo li img:hover {
    cursor: pointer;
    opacity: 0.7;
}

main#works section#construction1 article figure p::before,
main#works section#construction2 article figure p::before,
main#works section#construction3 article figure p::before,
main#works section#construction4 article figure p::before,
main#works section#construction3 article figure ul.thumbnail_photo li::before {
	content: "";
	display: block;
	padding-top: 75%;
}

main#works section#construction1 article figure p img,
main#works section#construction2 article figure p img,
main#works section#construction3 article figure p img,
main#works section#construction4 article figure p img,
main#works section#construction3 article figure ul.thumbnail_photo li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#works section#content1 article figcaption h1 {
	text-align: left;
	font-family: "Noto Serif JP";
	margin: 2vw 0 0;
}

main#works section#content2 {
	background: #bd2135;
	margin-bottom: 40px;
	padding: 40px 0;
}

main#works section#content2 .inner {
	display: block;
}

main#works section#content2 h3 {
	color: #fff;
	margin: 0 0 20px;
}

main#works section#content2 h3::before {
	content: none;
}

main#works section#content2 ul {
	display: block;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#works section#content2 ul li {
	width: 160px;
	margin: 0 auto;
}

main#works section#content2 ul li:nth-of-type(n+2) {
	margin-top: 10px;
}

main#works section#content2 ul li a {
	border-radius: 20px;
	border: 1px #fff solid;
	background: #bd2135;
	color: #fff;
	box-sizing: border-box;
	width: 160px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

main#works section#content2 ul li a:hover,
main#works section#content2 ul li a.active {
	border: 1px #bd2135 solid;
	background: #fff;
	color: #bd2135;
}

/* Company */
/* ------------------------------------------------------------ */

main#company section#mainvisual {
	background: #000 url(../img/company/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#company section#content1 {
	padding: 40px 0;
}

main#company section#content1 .inner {
}

main#company section#content1 h3 {
}

main#company section#content1 .inner div {

	margin: 0 auto;
}

main#company section#content1 .inner div figcaption {
}

main#company section#content1 .inner div figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#company section#content1 .inner div figcaption p.comment {
	margin-top: 10px;
}

main#company section#content1 .inner div figcaption p.sign {
	text-align: right;
	margin-top: 10px;
}

main#company section#content1 .inner div figcaption p.sign span {
	font-size: 18px;
	font-family: "Noto Serif JP";
	margin-left: 20px;
}

main#company section#content1 .inner div figure {
	margin-top: 20px;
}

main#company section#content2 {
	background: #bd2135 url(../img/company/bg_logo.png) no-repeat center center;
	background-size: 50%;
	color: #fff;
	padding: 40px 0;
}

main#company section#content2 h3::before {
    filter: brightness(0) invert(1);
}

main#company section#content2 h4 {
	text-align: center;
	font-size: 24px;
	font-family: "Noto Serif JP";
	margin: 20px 0;
}

main#company section#content2 p.comment {
}

main#company section#content3 {
	padding: 40px 0;
}

main#company section#content3 h3 {
}

main#company section#content3 figure {
	width: 100%;
	max-width: 450px;
	margin: 20px auto 0;
}

main#company section#content3 .dllist .dlbox .dtbox {
	width: 180px;
}

main#company section#content4 {
	background: #bd2135 url(../img/company/bg_logo.png) no-repeat;
	background-size: 430px auto;
	background-position-x: calc(50% - 110px);
	background-position-y: 50%;
	color: #fff;
	padding: 40px 0;
}

main#company section#content4 h3::before {
    filter: brightness(0) invert(1);
}

main#company section#content4 .chronology > div {
    display: flex;
	justify-content: flex-start;
	align-items: stretch;
}

main#company section#content4 .chronology > div:last-of-type {
	padding-bottom: 0;
}

main#company section#content4 .chronology .circle {
	width: 40px;
    display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-shrink: 0;
	position: relative;
}

main#company section#content4 .chronology .circle::after {
	content: '';
	position: absolute;
	left: calc(50%);
	width: 1px;
	height: 100%;
	background: #fff;
}

main#company section#content4 .chronology .circle_S {
	border-radius: 10px;
	background: #fff;
	width: 20px;
	height: 20px;
	position: relative;
}

main#company section#content4 .chronology .circle_S::before {
	content: '';
	position: absolute;
	top: calc(50%);
	left: 10px;
	width: 30px;
	height: 1px;
	background: #fff;
}

main#company section#content4 .chronology .circle_b {
	border-radius: 20px;
	background: #fff;
	color: #bd2135;
	font-size: 12px;
	font-family: "Noto Serif JP";
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
}

main#company section#content4 .chronology dl {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-left: 20px;
}

main#company section#content4 .chronology dl dt {
	text-align: left;
	font-size: 10px;
	line-height: 1.7;
    width: 80px;
	display: block;
	flex-shrink: 0;
}

main#company section#content4 .chronology dl dt span {
	font-size: 18px;
	font-family: "Noto Serif JP";
	display: block;
}

main#company section#content4 .chronology dl dd  {
	text-align: left;
	width: 100%;
	line-height: 1.7;
	display: block;
	overflow-wrap: anywhere;
}

main#company section#content5 {
	background: url(../img/company/bg_works.jpg) no-repeat center top;
	background-size: cover;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#company section#content5 .inner {
	background: rgba(189,33,53,0.9);
	color: #fff;
	box-sizing: border-box;
	width: 100%;
	margin: 40px 4vw;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#company section#content5 h3::before {
    filter: brightness(0) invert(1);
}

main#company section#content6 {
	padding: 40px 0;
}

main#company section#content6 .inner {
	display: block;
}

main#company section#content6 .inner div {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#company section#content6 .inner div:nth-of-type(n+2) {
	margin-top: 40px;
}

main#company section#content6 ul li figure {
	width: 100%;
}

main#company section#content6 h3 {
	margin: 20px 0;
}

main#company section#content6 h3::before {
	content: none;
}

/* Recruit */
/* ------------------------------------------------------------ */

main#recruit section#mainvisual {
	background: #000 url(../img/recruit/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#recruit section#content1 {
	padding: 40px 0;
}

main#recruit section#content1 .inner {
}

main#recruit section#content1 h3 {
}

main#recruit section#content1 figure {
	width: 100%;
	max-width: 990px;
	margin: 20px auto;
}

main#recruit section#content1 h4 {
	font-size: 18x;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#recruit section#content1 p.comment {
	margin-top: 10px;
}

main#recruit section#content2 {
	background: #bd2135;
	color: #fff;
	padding: 40px 0;
}

main#recruit section#content2 .inner {
}

main#recruit section#content2 .inner > div {
}

main#recruit section#content2 .inner > div figure:nth-of-type(1) {
	width: 80%;
	max-width: 484px;
	margin: 0 auto;
}

main#recruit section#content2 .inner > div figure:nth-of-type(2) {
	width: 100%;
	margin: 20px auto 0;
}

main#recruit section#content2 h3::before {
    filter: brightness(0) invert(1);
}

main#recruit section#content2 .inner figcaption {
	margin: 20px auto 0;
}

main#recruit section#content2 .inner figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#recruit section#content2 .inner figcaption p.comment {
	margin-top: 10px;
}

main#recruit section#content3 {
	padding: 40px 0;
}

main#recruit section#content3 .inner > div {
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#recruit section#content3 .inner > div:nth-of-type(n+2) {
	margin-top: 40px;
}

main#recruit section#content3 .inner > div > figure {
	width: 100px;
	margin-right: 10px;
	flex-shrink: 0;
	position: relative;
}

main#recruit section#content3 .inner > div:nth-of-type(n+2) figure::before {
    content: "";
    vertical-align: middle;
    margin: auto;
    position: absolute;
    left: calc(50% - 5px);
    top: -30px;
    width: 10px;
    height: 10px;
    border-bottom: 1px #de909a solid;
    border-right: 1px #de909a solid;
    transform: rotate(45deg);
}

main#recruit section#content3 .inner > div > figcaption {
	width: 790px;
}

main#recruit section#content3 .inner > div > figcaption h4 {
	color: #de909a;
	font-size: 16px;
	font-family: "Noto Serif JP";
	position: relative;
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px #de909a solid;
}

main#recruit section#content3 .inner > div > figcaption h4 span {
	font-size: 12px;
	font-family: "AlexBrush";
	margin-right: 10px;
}

main#recruit section#content3 .inner > div > figcaption p.comment {
	font-size: 10px;
	margin-top: 10px;
}

main#recruit section#content4 {
	background: #f2d3d7;
	padding: 40px 4vw;
}

main#recruit section#content4 .inner {
	background: #fff;
	box-sizing: border-box;
	padding: 40px 4vw;
}

main#recruit section#content4 p.comment {
}

main#recruit section#content4 ul {
	margin: 20px auto 0;
}

main#recruit section#content4 ul li {
	width: 80%;
	margin: 0 auto;
}

main#recruit section#content4 ul li:nth-of-type(n+2) {
	margin-top: 20px;
}

main#recruit section#content5 {
	padding: 40px 0;
}

main#recruit section#content5 .inner > p.comment {
}

main#recruit section#content5 .inner > div {
	margin: 20px auto 0;
	display: block;
}

main#recruit section#content5 figure {
	width: 80%;
	max-width: 500px;
	margin: 20px auto 0;
}

main#recruit section#content5 figure img {
	border-radius: 80%;
}

main#recruit section#content5 figcaption {
	background: url(../img/recruit/bg_logo.png) no-repeat center center;
    background-size: 50% auto;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

main#recruit section#content5 figcaption h4 {
	font-size: 18px;
	line-height: 1.7;
	font-family: "Noto Serif JP";
}

main#recruit section#content5 figcaption p.name {
	font-size: 16px;
	margin-top: 20px;
}

main#recruit section#content5 figcaption p.department {
	font-size: 12px;
	margin-top: 10px;
}

main#recruit section#content5 figcaption p.comment {
	margin-top: 20px;
}

main#recruit section#content6 {
	background: #bd2135;
	padding: 40px 0;
}

main#recruit section#content6 .inner {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#recruit section#content6 .inner figure {
	width: 100%;
	max-width: 620px;
	margin: -60px auto 20px;
}

main#recruit section#content6 .inner figcaption {
	color: #fff;
	width: 100%;
}

main#recruit section#content6 h3::before {
    filter: brightness(0) invert(1);
}

main#recruit section#content6 .btn {
	width: 220px;
	margin: 20px auto 0;
}

main#recruit section#content7 {
	background: #f2d3d7;
	padding: 40px 4vw;
}

main#recruit section#content7 .inner {
	background: #fff;
	box-sizing: border-box;
	padding: 40px 4vw;
}

main#recruit section#content7 .dllist .dlbox:nth-of-type(1) {
	border-top: 1px #221815 solid;
}

main#recruit section#content7 .dllist .dlbox .dtbox {
}

main#recruit section#content7 .dllist .dlbox .ddbox .wrap {
	display: block;
}

main#recruit section#content7 .dllist .dlbox .wrap dl {
    display: block;
}

main#recruit section#content7 .dllist .dlbox .wrap dt {
	line-height: 1.7;
    width: 6em;
	display: block;
}

main#recruit section#content7 .dllist .dlbox .wrap dd {
	line-height: 1.7;
	display: block;
}

main#recruit section#content7 .dllist p.timepoint {
    text-align: right;
	font-size: 12px;
    margin-bottom: 10px;
}

main#recruit section#content8 {
	background: url(../img/company/bg_works.jpg) no-repeat center top;
	background-size: cover;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#recruit section#content8 .inner {
	background: rgba(189,33,53,0.9);
	color: #fff;
	box-sizing: border-box;
	width: 100%;
	margin: 40px 4vw;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#recruit section#content8 h3::before {
    filter: brightness(0) invert(1);
}

main#recruit section#content8 p.comment {
	text-align: center;
}

main#recruit section#content8 .btn {
	margin-top: 20px;
}

/* News */
/* ------------------------------------------------------------ */

main#news section#mainvisual {
	background: #000 url(../img/news/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#news section#list {
	padding: 40px 0;
}

main#news section#list h3 {
    margin: 0 0 20px;
}

main#news section#list h3::before {
    content: none;
}

main#news section#list .inner article {
	background: #f2d3d7;
	margin: 20px auto 0;
}

main#news section#list .inner article:nth-of-type(1) {
	margin-top: 0px;
}

main#news section#list .inner article a {
	width: 100%;
	display: block;
}

main#news section#list .inner article figure {
	width: 100%;
	position: relative;
}

main#news section#list .inner article figure::before {
	content: "";
	display: block;
	padding-top: 61.804%;
}

main#news section#list .inner article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#news section#list .inner article figcaption {
	padding: 4vw;
	box-sizing: border-box;
}

main#news section#list .inner article figcaption time {
	font-size: 12px;
}

main#news section#list .inner article figcaption h1 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 10px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

main#news section#list .inner article figcaption p.comment {
	margin-top: 10px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* News Detail */
/* ------------------------------------------------------------ */

main#news_detail section#mainvisual {
	background: #000 url(../img/news/mainvisual.jpg) no-repeat center center;
	background-size: cover;
}

main#news_detail section#detail {
	padding: 40px 0;
}

main#news_detail section#detail .inner article {
	background: #f2d3d7;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 40px 4vw;
}

main#news_detail section#detail .inner article figure {
	width: 100%;
	position: relative;
	margin-top: 20px;
}

main#news_detail section#detail .inner article figure::before {
	content: "";
	display: block;
	padding-top: 75%;
}

main#news_detail section#detail .inner article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

main#news_detail section#detail .inner article figcaption time {
	font-size: 12px;
}

main#news_detail section#detail .inner article figcaption h1 {
	color: #bd2135;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 20px;
	padding-bottom: 10px;
	border-bottom: 1px #bd2135 solid;
}

main#news_detail section#detail .inner article figcaption p.comment {
	margin-top: 20px;
}

main#news_detail ul.pagination {
	padding: 40px 4vw 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#news_detail ul.pagination li {
	font-size: 16px;
	letter-spacing: 0;
}

main#news_detail ul.pagination li a {
	color: #221815;
}

main#news_detail ul.pagination li a span {
	position: relative;
}

main#news_detail ul.pagination li a span::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0px;
	left: 0;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

main#news_detail ul.pagination li a:hover span::after {
	background: #000;
	bottom: -3px;
}

/* Contact */
/* ------------------------------------------------------------ */

main#contact section#mainvisual {
	background: #bd2135;
}

main#contact section#content1 {
	background: #f8e8ea;
	padding: 40px 0;
}

main#contact section#content1 h3 {
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 1px #595757 solid;
}

main#contact section#content1 h3::before {
    content: none;
}

main#contact section#content1.inner > ul {
	width: 100%;
	margin-top: 20px;
	display: block;
}

main#contact section#content1 .inner > ul li {
	background: #fff;
	padding: 4vw;
	box-sizing: border-box;
	position: relative;
}

main#contact section#content1 .inner > ul li:nth-of-type(n+2) {
	margin-top: 20px;
}

main#contact section#content1 .inner > ul li figure {
	text-align: center;
	width: 60px;
	margin: 10px auto;
}

main#contact section#content1 .inner > ul li figcaption {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#contact section#content1 .inner > ul li figcaption h4 {
	color: #bd2135;
	font-size: 18px;
	margin: 10px auto;
}

main#contact section#content1 .inner > ul li figcaption p.comment {
	text-align: left;
}

main#contact section#content1 .inner > ul li:nth-of-type(n+2):before {
	content: "";
	vertical-align: middle;
	margin: auto;
	position: absolute;
	left: calc(50% - 5px);
	top: -20px;
	width: 10px;
	height: 10px;
	border-bottom: 1px #fff solid;
	border-right: 1px #fff solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

main#contact section#content2 {
	padding: 40px 0;
}

main#contact section#content2 h3 {
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 1px #595757 solid;
}

main#contact section#content2 h3::before {
    content: none;
}

main#contact section#content2 p.comment {
}

main#contact section#content2 #acMenu {
	margin-top: 40px;
    position: relative;
}

main#contact section#content2 #acMenu p {
    background: #bd2135 url(../img/contact/icon_arrow_down.png) no-repeat right 10px center;
    background-size: 13px;
    color: #fff;
    height: 38px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

main#contact section#content2 #acMenu p.active {
    background: #bd2135 url(../img/contact/icon_arrow_up.png) no-repeat right 10px center;
    background-size: 13px;
}

main#contact section#content2 #acMenu ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: none;
}

main#contact section#content2 #acMenu ul li {
    margin-top: -1px;
}

main#contact section#content2 #acMenu ul li a {
    background: #fff;
    color: #bd2135;
    height: 38px;
    border: 1px #bd2135 solid;
    font-size: 16px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

main#contact section#content2 #acMenu ul li a:hover {
    background: #bd2135;
    color: #fff;
}

main#contact section#content2 #acMenu::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 13px 0 13px;
	border-color: #bd2135 transparent transparent transparent;
	position: absolute;
	bottom: -13px;
	left: 50%;
    -webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	margin: 0 auto;
}

main#contact section#form {
	padding: 0 0 40px;
}

main#contact section#form .dllist .dlbox:nth-of-type(1) {
	border-top: 1px #221815 solid;
}

}