@charset "utf-8";

/******************************************************************** index
*/
.index .catch {
	padding: 0;
	height: 100vh;
	overflow: hidden;
}

.index .catch .cover {
	position: relative;
	width: 100%;
	height: 100%;
}

.index .catch .ttl-area {
	text-shadow: none;
	height: 100%;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

.index .catch h2 {
	font-size: 5.6rem;
	margin-bottom: 0;
	display: none;
}

.index .catch .sub {
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 32px;
	letter-spacing: 0.16em;
	color: transparent;
	display: inline-block;
	overflow: hidden;
	position: relative;
	transition: color 0ms 450ms;
}

.index .catch .sub:after {
	background: #FFF;
	bottom: 0;
	content: '';
	display: block;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(0, 100%);
}

.index .catch .sub.is-animated {
	color: #FFF;
}

.index .catch .sub.is-animated:after {
	animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.170, 1);
}

@keyframes mask-bg {
	0% {
		transform: translate(0, 101%)
	}

	40%, 60% {
		transform: translate(0, 0%)
	}

	100% {
		transform: translate(0, -100%)
	}
}

.index .catch .cover .movie-box {
	position: absolute;
	left: 0;
	bottom: 0;
	line-height: 0;
}

.news-contents {
	background: #EDF5F9;
}

.news-contents .inner {
	background: #FFF;
	width: 64%;
	margin: -48px 0 0 auto;
	position: relative;
	z-index: 1;
}

.news-contents .inner .module {
	max-width: 1040px;
	box-sizing: border-box;
	padding: 24px;
	display: flex;
	align-items: center;
}

.news-contents .inner .module .en {
	width: 20%;
	text-align: center;
	letter-spacing: 0.08em;
}

.news-contents .inner .module .news-box {
	width: 86%;
	box-sizing: border-box;
	padding-left: 4%;
	border-left: #EBEBEB 1px solid;
}

.news-contents .inner .module .news-box object {
	width: 100%;
	font-size: 1.125em;
}

.news-contents .inner .module dl {
	display: flex;
	flex-wrap: wrap;
	width: 80%;
	box-sizing: border-box;
	padding-left: 8%;
	border-left: #EBEBEB 1px solid;
	font-size: 1.125em;
}

.news-contents .inner .module dl dt {
	color: #AFAFAF;
	width: 6em;
	padding: 0.48em 0;
}

.news-contents .inner .module dl dd {
	width: calc(100% - 8em);
	padding: 0.48em 0 0 0.2em;
}

.main section.aboutus-contents {
	background: #EDF5F9;
	padding: 160px 0 288px;
}

.aboutus-contents .wrapper:before {
	content: "ABOUT US";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	right: -1.8em;
	top: -0.8em;
	z-index: 0;
}

.aboutus-contents .en {
	position: absolute;
	left: 0;
	top: 80px;
	z-index: 2;
}

.aboutus-contents .en:before {
	content: "";
	width: 80px;
	height: 4px;
	background: #0071AB;
	position: absolute;
	top: calc(0.55em - 2px);
	left: -96px;
}

.aboutus-contents figure {
	line-height: 0;
	text-align: center;
	position: relative;
	z-index: 1;
}

.aboutus-contents figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aboutus-contents .module {
	background: #FFF;
	width: 50%;
	box-sizing: border-box;
	padding: 64px 5%;
	position: absolute;
	right: 0;
	bottom: -128px;
	z-index: 2;
}

.aboutus-contents .module .txt {
	line-height: 1.8;
}

.main section.works-contents {
	background: #EDF5F9;
	padding: 0;
}

.works-contents .wrapper {
	max-width: 2000px;
	width: 100%;
	display: flex;
}

.works-contents .wrapper figure {
	width: 54%;
	line-height: 0;
	position: relative;
	z-index: 1;
}

.works-contents .wrapper figure img {
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.works-contents .wrapper .module {
	background: #FFF;
	width: 38%;
	box-sizing: border-box;
	padding: 160px 4.8%;
	position: relative;
}

.works-contents .wrapper .module:before {
	content: "WORKS";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #F4F4F4;
	position: absolute;
	left: 50%;
	top: -0.5em;
	transform: translateX(-50%);
	z-index: 0;
}

.works-contents .wrapper .module .en {
	margin-bottom: 40px;
	position: relative;
	z-index: 1;
}

.main section.office-contents {
	padding-top: 160px;
}

.office-contents .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.office-contents .wrapper:before {
	content: "OFFICE";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #F4F4F4;
	position: absolute;
	left: -0.6em;
	top: -1em;
	z-index: 0;
}

.office-contents .wrapper .module {
	width: 44.375%;
}

.office-contents .wrapper .module .en {
	margin-bottom: 40px;
	position: relative;
	z-index: 1;
}

.office-contents .wrapper .module .base .card {
	background: #FFF;
	max-width: 456px;
	padding-top: 32px;
	margin-top: -40px;
	position: relative;
	z-index: 1;
}

.office-contents .wrapper .module .base .card h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 16px;
}

.office-contents .wrapper .module .base .card h3 a {
	text-decoration: none;
	color: #0071AB;
}

.office-contents .wrapper .module .base .card h3 a:after {
	content: "";
	background: url("../img/common/ico_arrow_right_blue.svg") no-repeat center center;
	width: 6px;
	height: 1em;
	display: inline-block;
	vertical-align: -0.2em;
	margin-left: 1em;
}

.slick-prev, .slick-next {
	background: #0071AB;
	width: 48px;
	height: 48px;
	border-radius: 24px;
	z-index: 2;
	top: 40%;
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	background: #0071AB;
	opacity: 0.5;
}

.slick-prev:before,
.slick-next:before {
	width: 6px;
	height: 1em;
	display: inline-block;
}

.slick-prev:before {
	content: "";
	background: url("../img/common/ico_arrow_left_white.svg") no-repeat center center;
}

.slick-next:before {
	content: "";
	background: url("../img/common/ico_arrow_right_white.svg") no-repeat center center;
}

.office-contents .wrapper figure {
	width: 50%;
}

.office-contents .wrapper .detail {
	width: 100%;
	box-sizing: border-box;
	padding: 80px 6.25%;
	display: flex;
	justify-content: space-between;
}

.office-contents .wrapper .detail h2 {
	margin-bottom: 0;
}

.office-contents .wrapper .detail .txt {
	width: 71.43%;
	line-height: 1.8;
}

.main section.recruit-contents {
	padding-bottom: 256px;
}

.recruit-contents:after {
	content: "";
	background: #EDF5F9;
	width: 100%;
	height: 50%;
	position: absolute;
	left: 0;
	bottom: 0;
}

.recruit-contents .wrapper:before {
	content: "RECRUIT";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #F4F4F4;
	position: absolute;
	right: -0.6em;
	top: -0.8em;
	z-index: 0;
}

.recruit-contents .wrapper figure {
	line-height: 0;
	position: relative;
	z-index: 1;
}

.recruit-contents .wrapper figure img {
	max-width: 100%;
}

.recruit-contents .wrapper .module {
	background: rgba(0, 113, 171, 0.8);
	max-width: 760px;
	box-sizing: border-box;
	padding: 96px 7.5%;
	position: absolute;
	right: 7.5%;
	bottom: -96px;
	z-index: 2;
	color: #FFF;
}

.recruit-contents .wrapper .module .en {
	color: #FFF;
	position: absolute;
	left: 12%;
	top: -0.5em;
}


/******************************************************************** works
*/
body.works {
	overflow-x: initial;
}

#year-selector {
	display: none;
}

.works-detail-contents .ttl-column .module {
	padding-top: 0.6em;
	border-top: 1px solid #194ab8;
	position: -webkit-sticky;
	position: sticky;
	top: 104px;
}

.works-detail-contents .ttl-column .year {
	color: #AFAFAF;
}

.works-detail-contents .main-column {
	display: flex;
	justify-content: space-between;
}

.works-detail-contents .main-column .box {
	box-sizing: border-box;
	width: 50%;
	padding: 2em;
	position: relative;
	overflow: hidden;
}

.works-detail-contents .main-column .box.design {
	background: #EDF5F9;
}

.works-detail-contents .main-column .box.management {
	background: #E3F0FF;
}

.works-detail-contents .main-column .box:after {
	opacity: 0.4;
	font-size: 12rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	right: -0.24em;
	z-index: 0;
}

.works-detail-contents .main-column .box.design:after {
	content: "DESIGN";
	bottom: -0.24em;
}

.works-detail-contents .main-column .box.management:after {
	content: "MANAGEMENT";
	top: -0.24em;
}

.works-detail-contents .main-column .box h3 {
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	z-index: 1;
	margin-bottom: 0.6em;
	letter-spacing: 0.08em;
}

.works-detail-contents .main-column .box dl {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

.works-detail-contents .main-column .box dl dt {
	box-sizing: border-box;
	width: calc(100% - 4em);
	border-bottom: 1px solid #E8E8E8;
	padding: 0.48em;
}

.works-detail-contents .main-column .box.design dl dt {
	color: #0071AB;
}

.works-detail-contents .main-column .box.management dl dt {
	color: #003FA2;
}

.works-detail-contents .main-column .box dl dd {
	box-sizing: border-box;
	width: 4em;
	text-align: right;
	border-bottom: 1px solid #E8E8E8;
	padding: 0.48em;
}

.works-detail-contents .main-column .box dl dt:last-of-type,
.works-detail-contents .main-column .box dl dd:last-of-type {
	font-weight: bold;
}

.works-detail-contents .main-column .box.management dl dt,
.works-detail-contents .main-column .box.management dl dd {
	border-bottom: 1px solid #CECECE;
}


/******************************************************************** company
*/
.about-contents {
	background: #EDF5F9;
}

.about-contents .wrapper {
	text-align: center;
}

.about-contents .wrapper .ttl-area {
	position: relative;
	z-index: 1;
}

.about-contents .wrapper:before {
	content: "ABOUT";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	left: 50%;
	top: -0.64em;
	z-index: 0;
	transform: translateX(-50%);
}

.about-contents .wrapper .txt {
	max-width: 640px;
	margin: 0 auto;
	line-height: 2;
	font-size: 1.8rem;
}

/*.greeting-contents:before{
	content: "";
	background: #EDF5F9;
	width: 100%;
	height: 20%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
}*/
.greeting-contents .wrapper {
	display: flex;
	flex-direction: row-reverse;
}

.greeting-contents .wrapper:before {
	content: "GREETING";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #F4F4F4;
	position: absolute;
	right: 0;
	bottom: -0.64em;
	z-index: 0;
	line-height: 1;
}

.greeting-contents .wrapper * {
	position: relative;
	z-index: 1;
}

.greeting-contents .wrapper .ttl-area {
	width: 71.875%;
	margin-left: -21.875%;
}

.greeting-contents .wrapper .ttl-area .en {
	margin: -1.6em 0 0;
	text-align: right;
	z-index: 2;
}

.greeting-contents .wrapper .ttl-area .box {
	background: #FFF;
	display: flex;
	justify-content: flex-end;
	max-width: 480px;
	margin: -2.4em -2.4em 0 auto;
	padding: 3.2em;
	box-sizing: border-box;
}

.main section.greeting-contents .box .position {
	font-weight: bold;
	padding-top: 0.6em;
	margin-right: 1em;
}

.main section.greeting-contents .box h2 {
	font-size: 2.4rem;
	margin: 0;
}

.main section.greeting-contents .box h2 span {
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.16em;
	display: block;
	color: #888;
}

.greeting-contents .wrapper .module {
	width: 50%;
	margin-top: 80px;
}

.greeting-contents .wrapper .module h3 {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 24px;
}

.greeting-contents .wrapper .module .txt {
	margin-top: 1.6em;
}

.greeting-contents .wrapper .module .txt:last-child {
	margin-top: 0;
}

.overview-contents table {
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
}

.overview-contents table tr th,
.overview-contents table tr td {
	padding: 1.6em 0.8em;
}

.overview-contents table tr th {
	font-weight: bold;
	width: 9em;
	border-bottom: 1px solid #194ab8;
	vertical-align: top;
}

.overview-contents table tr td {
	border-bottom: 1px solid #E8E8E8;
}

.overview-contents table tr td .fee,
.overview-contents table tr td .fee ul li {
	padding-left: 1em;
}

.overview-contents table tr td table tr th,
.overview-contents table tr td table tr td {
	border: none;
	padding: 0;
	background: transparent;
}


/******************************************************************** office
*/
.office-head-contents {
	background: #EDF5F9;
}

.office-head-contents .wrapper .ttl-area {
	position: relative;
	z-index: 1;
}

.office-head-contents .wrapper:before {
	content: "OUR OFFICES";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	left: 50%;
	top: -0.64em;
	z-index: 0;
	transform: translateX(-50%);
	width: 7em;
}

.office-head-contents .wrapper:after {
	content: "";
	background: url("../img/p_map_office.svg?20250716") no-repeat right center / contain;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 128%;
	z-index: 0;
}

.office-head-contents .wrapper .txt {
	width: 50%;
	max-width: 640px;
	line-height: 2;
	font-size: 1.79rem;
	position: relative;
	z-index: 1;
}

.office-detail-contents .ttl-column .module {
	background: rgba(0, 113, 171, 0.8);
	color: #FFF;
	max-width: 320px;
	width: 90.91%;
	padding: 64px 0 64px 40px;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

.office-detail-contents .ttl-column.no-figure .module {
	max-width: none;
	width: 100%;
}

.office-detail-contents .wrapper .ttl-column {
	width: 34.375%;
}

.main section.office-detail-contents .ttl-column .en {
	font-size: 1.6rem;
	color: #FFF;
	margin-top: 8px;
}

.office-detail-contents .ttl-column figure {
	margin: -40px 0 0 auto;
	position: relative;
	z-index: 0;
	line-height: 0;
	width: 90.91%;
	height: 86%;
}

.office-detail-contents .ttl-column figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#kumamoto.office-detail-contents .ttl-column figure img {
	object-position: left 2% bottom 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.office-detail-contents .wrapper .main-column {
	width: 59.375%;
}

.office-detail-contents table {
	margin: 0 auto 40px;
	width: 100%;
	max-width: 960px;
}

.office-detail-contents table tr th,
.office-detail-contents table tr td {
	padding: 0.8em;
}

.office-detail-contents table tr th {
	font-weight: bold;
	width: 8em;
	border-bottom: 1px solid #194ab8;
	vertical-align: top;
}

.office-detail-contents table tr td {
	border-bottom: 1px solid #E8E8E8;
}


/******************************************************************** duties
*/
.duties-contents .ttl-column .module {
	padding-top: 0.6em;
	border-top: 1px solid #194ab8;
	top: 104px;
}

.main section.duties-contents .ttl-column h2 {
	font-size: 3.2rem;
}

.main section.duties-contents .ttl-column .en {
	color: #AFAFAF;
	font-size: 1.6rem;
}

.duties-contents .main-column h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-top: 40px;
	margin-bottom: 16px;
	color: #0071AB;
}

.duties-contents .main-column h3:first-of-type {
	margin-top: 0;
}

.duties-contents .main-column figure {
	line-height: 0;
	margin: 40px 0 0;
}

.duties-contents .main-column figure img {
	max-width: 100%;
}

.concrete-contents:after {
	content: "";
	background: #EDF5F9;
	width: 100%;
	height: calc(80% + 128px);
	position: absolute;
	left: 0;
	bottom: -128px;
	z-index: 0;
}

.concrete-contents * {
	position: relative;
	z-index: 2;
}

.concrete-contents .ttl-area {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.concrete-contents .ttl-area:before {
	content: "CONCRETE";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	left: 50%;
	bottom: -0.64em;
	z-index: 1;
	transform: translateX(-50%);
	width: 6em;
	text-align: center;
	line-height: 1;
}

.concrete-contents .ttl-area .en {
	margin-bottom: 40px;
	font-size: 2.4rem;
}

.main section.concrete-contents h2 {
	font-size: 3.6rem;
}

.concrete-contents .ttl-area .module {
	width: 50%;
	position: relative;
	z-index: 3;
}

.concrete-contents .ttl-area figure {
	line-height: 0;
	width: 70%;
	margin-left: -20%;
}

.concrete-contents .ttl-area figure img {
	max-width: 100%;
}

.concrete-contents .main-column {
	display: flex;
	justify-content: space-between;
	margin-top: 64px;
}

.concrete-contents .main-column .inner {
	width: 46.875%;
}

.concrete-contents .main-column .inner p {
	margin-top: 1em;
	line-height: 1.8;
}

.concrete-contents .main-column .inner p:first-of-type {
	margin-top: 0;
}

.concrete-contents .main-column .inner .notice {
	margin-top: 1em;
	background: #EEE;
	padding: 1.6em;
	font-size: 0.9em;
}

.concrete-contents .main-column .inner ol {
	margin-top: 1em;
}

.concrete-contents .main-column .inner ol li {
	margin-top: 0.6em;
	list-style: decimal;
	margin-left: 1em;
}

.concrete-contents .test-img {
	margin: 64px auto 0;
	max-width: 968px;
	background: #0071AB;
	display: flex;
	align-items: center;
}

.concrete-contents .test-img>* {
	width: 50%;
}

.concrete-contents .test-img .card {
	color: #FFF;
	padding-left: 8.265%;
	box-sizing: border-box;
}

.concrete-contents .test-img .card .txt {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 8px;
	letter-spacing: 0.08em;
}

/*.main section.quality-contents{padding-top: 0;}*/
.quality-contents .wrapper {
	text-align: center;
}

.quality-contents .ttl-area {
	position: relative;
}

.quality-contents .ttl-area:before {
	content: "QUALITY IMPROVEMENT";
	opacity: 0.6;
	font-size: 24rem;
	font-weight: bold;
	color: #F4F4F4;
	position: absolute;
	left: 50%;
	bottom: -0.64em;
	z-index: 0;
	transform: translateX(-50%);
	width: 13em;
	text-align: center;
	line-height: 1;
}

.quality-contents .ttl-area>* {
	position: relative;
	z-index: 2;
}

.quality-contents .ttl-area .en,
.main section.quality-contents .ttl-area h2 {
	text-align: center;
}

.main section.quality-contents .ttl-area h2 {
	font-size: 3.6rem;
	margin-bottom: 8px;
}

.quality-contents .ttl-area .en {
	font-size: 2.4rem;
	margin-bottom: 64px;
}

.main section.quality-contents .ttl-area .txt {
	max-width: 928px;
	margin: 0 auto;
	line-height: 1.8;
	text-align: left;
}

.quality-contents .examples {
	max-width: 928px;
	margin: 0 auto;
}

.quality-contents .examples>li {
	margin-top: 64px;
}

.quality-contents .examples>li .sub {
	color: #0071AB;
	font-weight: bold;
}

.quality-contents .examples>li h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 24px;
}

.quality-contents .examples>li .before,
.quality-contents .examples>li .after {
	position: relative;
	padding-bottom: 40px;
}

.quality-contents .examples>li .after {
	margin-top: 40px;
	color: #FFF;
}

.quality-contents .examples>li .before:before,
.quality-contents .examples>li .after:before {
	content: "";
	background: #EDF5F9;
	width: 100%;
	height: 64%;
	position: absolute;
	left: -6.25%;
	bottom: 0;
	z-index: 0;
}

.quality-contents .examples>li .after:before {
	background: #1554AB;
	left: auto;
	right: -6.25%;
}

.quality-contents .examples>li .before:after,
.quality-contents .examples>li .after:after {
	content: "BEFORE";
	opacity: 0.6;
	font-size: 16rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	left: -6.25%;
	bottom: -0.2em;
	z-index: 0;
	line-height: 1;
}

.quality-contents .examples>li .after:after {
	content: "AFTER";
	opacity: 0.1;
	left: auto;
	right: -6.25%;
}

.quality-contents .examples>li * {
	position: relative;
	z-index: 2;
}

.quality-contents .examples>li ul {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.quality-contents .examples>li .after ul:before {
	content: "";
	background: url("../img/common/ico_arrow_bottom_blue.svg") no-repeat center center;
	width: 40px;
	height: 24px;
	position: absolute;
	left: 50%;
	top: -50px;
	transform: translateX(-50%);
}

.quality-contents .examples>li ul li {
	line-height: 0;
	width: 47.415%;
}

.quality-contents .examples>li ul li img {
	max-width: 100%;
}

.quality-contents .examples>li ul li:nth-child(2) {
	margin-top: 40px;
}

.quality-contents .examples>li .txt {
	text-align: center;
	margin-top: 24px;
}

.quality-contents .contact-unit {
	box-sizing: border-box;
	padding: 40px 80px;
	margin: 80px auto 0;
	display: inline-block;
	text-align: left;
}

.quality-contents .contact-unit .ttl {
	font-size: 2rem;
	font-weight: bold;
	color: #0071AB;
	margin-bottom: 16px;
}


/******************************************************************** recruit
*/
.page-nav {
	padding-top: 80px;
	border-bottom: 1px solid #E8E8E8;
}

.page-nav ul {
	position: relative;
	display: flex;
}

.page-nav ul li a {
	display: block;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	background: #ECECEC;
	padding: 1.6em 6.4em;
}

.page-nav ul li.new a {
	color: #0071ab;
}

.page-nav ul li.mid-career a {
	color: #00A275;
}

.page-nav ul li.new.active a {
	background: #0071ab;
	background: -moz-linear-gradient(left, #0071ab 0%, #194ab8 100%);
	background: -webkit-linear-gradient(left, #0071ab 0%, #194ab8 100%);
	background: linear-gradient(to right, #0071ab 0%, #194ab8 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0071ab', endColorstr='#194ab8', GradientType=1);
	color: #FFF;
}

.page-nav ul li.mid-career.active a {
	background: #00A275;
	background: -moz-linear-gradient(left, #00A275 0%, #11848F 100%);
	background: -webkit-linear-gradient(left, #00A275 0%, #11848F 100%);
	background: linear-gradient(to right, #00A275 0%, #11848F 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A275', endColorstr='#11848F', GradientType=1);
	color: #FFF;
}

.overview-contents table tr td .btn {
	margin: 1.6em 0 0.4em;
}

.overview-contents table+.txt {
	margin-top: 2.4em;
}

.recruit.new .pageup {
	background: #EDF5F9;
}

.recruit.mid-career .pageup {
	background: #EDFFF1;
}

.recruit .overview-contents:before {
	content: "";
	width: 16%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.recruit.new .overview-contents:before {
	background: #EDF5F9;
}

.recruit.mid-career .overview-contents:before {
	background: #EDFFF1;
}

@media screen and (min-width:1280px) {
	.recruit .overview-contents:before {
		width: 24%;
	}
}

.recruit.mid-career .main section.column .en {
	color: #00A275;
}

.recruit.mid-career .overview-contents table tr th {
	border-bottom: 1px solid #00A275;
}


/******************************************************************** contact
*/
.form-contents .wrapper {
	max-width: 800px;
}

.form-contents .ttl-area {
	text-align: center;
}

.form-contents .wrapper .inner>.txt,
.thanks-contents .wrapper .txt {
	text-align: center;
	margin-bottom: 2em;
}

.form-contents table {
	font-size: 1.8rem;
}

.form-contents table tr th {
	vertical-align: middle;
	font-weight: bold;
	padding: 1em 0.5em;
	width: 14em;
}

.form-contents table tr td {
	padding: 1em 0.5em;
}

.form-contents table tr td .txt {
	font-size: 0.9em;
}

.form-contents table tr td ul {
	display: flex;
	justify-content: space-between;
	width: 90%;
}

.form-contents table tr td ul li {
	width: 48%;
}

.form-contents table tr td ol li {
	margin-bottom: 1em;
}

.form-contents table tr td ol li:last-child {
	margin-bottom: 0;
}

.form-contents table tr td #date01 {
	display: flex;
	justify-content: space-between;
}

.form-contents table tr td #datepicker_1,
.form-contents table tr td #convenientTime01 {
	width: 48%;
}

.form-contents table tr td #convenientTime01 .mfp_element_select-one {
	width: 100%;
	margin-right: 0;
}

.form-contents table tr th.required p:before {
	display: inline-block;
	content: "必須";
	background: #C00;
	color: #FFF;
	font-size: 0.8em;
	padding: 0.1em 0.5em;
	margin-right: 0.5em;
	vertical-align: 0.1em;
}

.form-contents table tr th.option p:before {
	display: inline-block;
	content: "任意";
	background: #CCC;
	font-size: 0.8em;
	padding: 0.1em 0.5em;
	margin-right: 0.5em;
	vertical-align: 0.1em;
}

.thanks-contents .btn {
	margin: 64px auto 0;
}


/******************************************************************** voice
*/
.voice-contents.bg01:after {
	content: "";
	display: block;
	background: url("../img/voice/bg_voice01.jpg") no-repeat center center / cover;
	background-attachment: fixed;
	width: 100%;
	height: 400px;
	margin-top: 80px;
}

.voice-contents.bg02:after {
	content: "";
	display: block;
	background: url("../img/voice/bg_voice02.jpg") no-repeat center center / cover;
	background-attachment: fixed;
	width: 100%;
	height: 400px;
	margin-top: 80px;
}

.main section.voice-contents {
	padding-bottom: 0;
}

.main section.voice-contents:last-child {
	padding-bottom: 80px;
}

.voice-contents .wrapper .ttl-column {
	position: relative;
	width: 39.0625%;
	box-sizing: border-box;
	padding-left: 6.25%;
}

.voice-contents .wrapper .ttl-column:before {
	content: "";
	background: rgba(236, 244, 248, 0.8);
	width: 84%;
	height: 100%;
	position: absolute;
	left: 0;
	top: -80px;
	z-index: 0;
}

.bg01+.voice-contents .wrapper .ttl-column:before,
.bg02+.voice-contents .wrapper .ttl-column:before {
	height: calc(100% + 160px);
	top: -160px;
}

.voice-contents .wrapper .ttl-column:after {
	content: "QUESTION";
	opacity: 0.6;
	font-size: 16rem;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	left: 0;
	top: -0.2em;
	z-index: 1;
	line-height: 1;
}

.main section.voice-contents .en {
	position: relative;
	z-index: 2;
	margin-bottom: 24px;
}

.main section.voice-contents h2 {
	font-size: 1.8rem;
	line-height: 1.8;
}

.voice-contents .wrapper .main-column {
	width: 56.25%;
	position: relative;
	z-index: 2;
}

.voice-contents.zig .wrapper .main-column {
	margin-top: -120px;
}

.voice-contents .main-column ul>li {
	box-shadow: 4px 4px 16px 0px rgb(0, 0, 0, 0.2);
	background: #FFF;
	padding: 40px;
	counter-increment: number 1;
	position: relative;
	margin-top: 40px;
	box-sizing: border-box;
}

.voice-contents .main-column ul>li:first-child {
	margin-top: 0;
}

.voice-contents.long .main-column ul>li {
	width: 94.444%;
}

.voice-contents.long .main-column ul>li:nth-child(2n) {
	margin-right: 0;
	margin-left: auto;
}

.voice-contents.zig .main-column ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: space-between;
}

.voice-contents.short .main-column ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.voice-contents.zig .main-column ul>li {
	width: 47.224%;
	margin-top: 120px;
}

.voice-contents.short .main-column ul>li {
	width: 47.224%;
}

.voice-contents.short .main-column ul>li:nth-child(2n+3) {
	margin-top: -20px;
}

.voice-contents.zig .main-column ul>li:first-child {
	margin-top: 0;
}

.voice-contents.zig .main-column ul>li:nth-child(n+3) {
	margin-top: -64px;
	margin-right: -24px;
}

.voice-contents .main-column ul>li:before {
	content: counter(number, decimal-leading-zero);
	font-size: 2.4rem;
	font-weight: bold;
	background: #0071AB;
	color: #FFF;
	text-align: center;
	width: 2em;
	line-height: 2;
	display: block;
	position: absolute;
	left: -24px;
	top: 40px;
}

.voice-contents.zig .main-column ul>li:before,
.voice-contents.short .main-column ul>li:before {
	left: 40px;
	top: -24px;
}

.voice-contents .main-column ul>li ol li {
	margin-left: 1em;
	text-indent: -1em;
	margin-top: 0.6em;
}

.voice-contents .main-column ul>li ol li:first-child {
	margin-top: 0;
}

.voice-img {
	display: flex;
	align-items: flex-start;
	line-height: 0;
	padding-top: 80px;
}

.voice-img li {
	width: 50%;
	max-width: 100%;
	position: relative;
	z-index: 1;
}

.voice-img li:nth-child(2),
.voice-img:nth-of-type(2) li:nth-child(1) {
	margin-top: -120px;
}

.voice-img:nth-of-type(2) li:nth-child(2) {
	margin-top: 0;
}

.voice-img li:nth-child(2):before {
	content: "";
	background: #0071AB;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -64px;
	bottom: -64px;
	z-index: 0;
}

.voice-img:nth-of-type(2) li:nth-child(2):before {
	display: none;
}

.voice-img:nth-of-type(2) li:nth-child(1):before {
	content: "";
	background: #0071AB;
	width: 100%;
	height: 100%;
	position: absolute;
	left: -64px;
	bottom: -64px;
	z-index: 0;
}

.voice-img li img {
	max-width: 100%;
	position: relative;
	z-index: 1;
}

/******************************************************************** link
*/
.link-contents .module h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin: 80px 0 16px;
}

.link-contents .module h3:first-child {
	margin-top: 0;
}

.link-contents .module ul li {
	border-bottom: #D8D8D8 1px solid;
}

.link-contents .module ul li a {
	padding: 0.8em;
	display: block;
}


/******************************************************************** privacy
*/
.privacy-contents .wrapper {
	max-width: 800px;
}

.privacy-contents .ttl-area {
	margin-bottom: 48px;
}

.privacy-contents dt {
	font-size: 2.2rem;
	font-weight: 700;
	margin: 40px 0 8px;
}

.privacy-contents dt:first-child {
	margin-top: 0;
}

.privacy-contents dd p {
	margin-top: 1em;
}

.privacy-contents dd p:first-child {
	margin-top: 0;
}

.privacy-contents ul {
	margin: 1em 0 0 1em;
}

.privacy-contents ul li {
	margin-left: 1em;
	list-style: disc;
}

.privacy-contents .address {
	background: #EEE;
	padding: 5%;
	margin-top: 24px;
	font-weight: 500;
	font-size: 1.8rem;
}

.privacy-contents .aR {
	margin-top: 2em;
}

/******************************************************************** resort trust
*/


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
}


.resorttrust-contents h2 {
	border-bottom: 1px solid #194ab8;
	max-width: 600px;
	margin-top: 40px;
}

.resorttrust-contents h2:first-of-type {
	margin-top: 0;
}

.resorttrust-contents img {
	width: 100%;
}

.resorttrust-branches {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.item-resorttrust-branches1 {
	margin-bottom: 3rem;
	padding: 2rem;
	width: 100%;
	background-color: #f7f7f7;
}


.item-resorttrust-branches {
	margin-bottom: 3rem;
	padding: 2rem;
	width: 45%;
	background-color: #f7f7f7;
}

.item-resorttrust-branches img, .item-resorttrust-branches1 img {
	display: block;
	margin-bottom: 1rem;
	width: 100%;
	height: auto;
}

.item-resorttrust-branches h3, .item-resorttrust-branches1 h3 {
	margin-bottom: 0rem;
	font-size: 2rem;
	text-align: left;
	color: #555;
}

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

	.item-resorttrust-branches1 {
		padding: 3%;
	}

	.item-resorttrust-branches {
		margin-bottom: 1rem;
		padding: 10px 7px;
		margin: 0.2% 0.2% 20px;
		width: 100%;
	}

	.resorttrust-contents h2 {
		font-size: 25px;
	}

	.item-resorttrust-branches h3, .item-resorttrust-branches1 h3 {
		font-size: 3vmin;
	}

	.resorttrust-contents h4 {
		font-size: 1px;
	}
}


.item-resorttrust-branches-kyocera {
	margin-bottom: 3rem;
	padding: 2rem;
	width: 28%;
	background-color: #f7f7f7;
}

.item-resorttrust-branches-kyocera img {
	display: block;
	margin-bottom: 1rem;
	width: 100%;
	height: auto;
}

.item-resorttrust-branches-kyocera h3 {
	margin-bottom: 0rem;
	font-size: 2rem;
	text-align: left;
	color: #555;
}

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

	.item-resorttrust-branches-kyocera {
		margin-bottom: 1rem;
		padding: 10px 7px;
		margin: 0.2% 0.2% 20px;
		width: 100%;
	}

	.resorttrust-contents h2 {
		font-size: 25px;
	}

	.item-resorttrust-branches-kyocera h3 {
		font-size: 3vmin;
	}
}


table.resorttrust-address {
	border-collapse: collapse;
	border: solid 0.5px #aaaaaa;
	width: 100%;
}

table.resorttrust-address th {
	padding: 1em;
	text-align: center;
	background-color: #194ab8;
	color: #fff;
}

table.resorttrust-address td {
	padding: 10px;

}

table.resorttrust-address th, table.resorttrust-address td {
	border: solid 0.5px #aaaaaa;
}


.resorttrust-address tr:nth-child(even) {
	background: #fff;
}

.resorttrust-address tr:nth-child(odd) {
	background: #E3F0FF;
}


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

	.hotel-name {
		width: 45%;
	}

	.hotel-address {
		width: 55%;
	}

	table.resorttrust-address {
		font-size: 3.2vmin;
	}

}

/********* 京セラドーム大阪  ****/
.resorttrust-contents .kyocera{
	margin-bottom:50px;
}

.resorttrust-contents h4{
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 5px;
}



/*************************************************************************************************************************

■ タブレット(1080px以下)向けスタイル

*************************************************************************************************************************/

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

	/******************************************************************** index
*/
	.fixed+.catch {
		margin-top: 0;
	}

	.index .catch {
		height: 80vh;
	}

	.index .catch .cover {
		padding: 0 4% 8vmin;
		box-sizing: border-box;
	}

	.index .catch .ttl-area {
		justify-content: center;
		text-align: center;
	}

	.index .catch h2 {
		font-size: 4.8rem;
		text-align: center;
	}

	.index .catch .sub {
		margin-top: 3.2vmin;
	}

	.news-contents .inner {
		width: 92%;
		margin-top: -4.8vmin;
	}

	.news-contents .inner .module {
		padding: 2.4vmin;
	}

	.news-contents .inner .module .en {
		width: 16%;
	}

	.news-contents .inner .module .news-box {
		padding-left: 4%;
		width: 84%;
	}

	.news-contents .inner .module dl {
		padding-left: 4%;
		width: 84%;
		flex-direction: column;
	}

	.news-contents .inner .module dl dt {
		width: 100%;
		padding: 0;
	}

	.news-contents .inner .module dl dd {
		width: 100%;
		padding-top: 0;
	}

	.main section.aboutus-contents {
		padding: 12vmin 0;
	}

	.aboutus-contents figure {
		height: 64vmin;
	}

	.aboutus-contents .en {
		top: 8vmin;
	}

	.aboutus-contents .module {
		padding: 6.4vmin 4.8vmin;
		bottom: -8vmin;
		right: -4vmin;
	}

	.works-contents .wrapper .module {
		width: 50%;
		padding: 6.4vmin 4.8vmin;
	}

	.works-contents .wrapper .module .en {
		margin-bottom: 4vmin;
	}

	.main section.office-contents {
		padding-top: 12vmin;
	}

	.office-contents .wrapper .module .en {
		margin-bottom: 4vmin;
	}

	.office-contents .wrapper .module .base .card {
		padding-top: 3.2vmin;
		margin-top: -4vmin;
	}

	.office-contents .wrapper .module .base .card h3 {
		margin-bottom: 1.6vmin;
	}

	.office-contents .wrapper .detail {
		padding: 4.8vmin;
		flex-direction: column;
	}

	.office-contents .wrapper .detail {
		background: #EDF5F9;
		margin-top: 4vmin;
	}

	.office-contents .wrapper .detail h2 {
		margin-bottom: 2.4vmin;
	}

	.office-contents .wrapper .detail h2 br {
		display: none;
	}

	.office-contents .wrapper .detail .txt {
		width: 100%;
	}

	.main section.recruit-contents {
		padding-bottom: 16vmin;
	}

	.recruit-contents .wrapper .module {
		padding: 6.4vmin 4.8vmin;
		bottom: -8vmin;
		right: auto;
		left: -4vmin;
		width: 64%;
	}

	.recruit-contents .wrapper .module .en {
		left: 4.8vmin;
	}


	/******************************************************************** works
*/
	.page-selector {
		padding: 8vmin 0;
		width: 92%;
		margin: 0 auto;
	}

	#year-selector {
		display: block;
	}

	#year-selector select {
		width: 100%;
		padding: 0.4em;
		display: block;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0;
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		background-color: #fff;
		background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
			linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
		background-repeat: no-repeat, repeat;
		background-position: right .7em top 50%, 0 0;
		background-size: .65em auto, 100%;
	}

	.page-selector .txt {
		margin-top: 0.4em;
	}

	.main section.works-detail-contents {
		padding-top: 0;
	}

	.works-detail-contents .ttl-column {
		position: -webkit-sticky;
		position: sticky;
		top: 60px;
		z-index: 2;
		background: #FFF;
	}

	/******************************************************************** company
*/
	.main section.greeting-contents {
		padding-bottom: 0;
	}

	.greeting-contents:before {
		height: 32vmin;
	}

	.greeting-contents .wrapper {
		flex-direction: column;
	}

	.greeting-contents .wrapper .ttl-area {
		width: 100%;
		margin-left: 0;
	}

	.greeting-contents .wrapper .ttl-area .photo {
		height: 48vmin;
	}

	.greeting-contents .wrapper .ttl-area .photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: left top;
	}

	.greeting-contents .wrapper .ttl-area .en {
		margin: -1.6em 5.6vmin 0 0;
	}

	.greeting-contents .wrapper .ttl-area .box {
		margin: -2.4em -4vmin 0 auto;
		padding: 3.2em;
		box-sizing: border-box;
	}

	.greeting-contents .wrapper .module {
		width: 100%;
		margin-top: 0;
	}

	.greeting-contents .wrapper .module h3 {
		margin-bottom: 2.4vmin;
	}

	.overview-contents table tr td table tr th,
	.overview-contents table tr td table tr td {
		display: block;
	}

	.overview-contents table tr td table tr td {
		margin-bottom: 0.6em;
	}

	.overview-contents table tr td table tr:last-child td {
		margin-bottom: 0;
	}


	/******************************************************************** office
*/
	.main section.office-detail-contents {
		padding: 12vmin 0 0;
	}

	.main section.office-detail-contents:last-of-type {
		padding: 12vmin 0;
	}

	.office-detail-contents .wrapper .ttl-column {
		width: 100%;
	}

	.office-detail-contents .ttl-column .module {
		padding: 6.4vmin 0 6.4vmin 4vmin;
	}

	.main section.office-detail-contents .ttl-column .en {
		margin-top: 0.8vmin;
	}

	.office-detail-contents .ttl-column figure {
		margin-top: -16vmin;
		height: 48vmin;
	}

	.office-detail-contents .wrapper .main-column {
		width: 100%;
	}

	.office-detail-contents table {
		margin-bottom: 4vmin;
	}

	.office-detail-contents .map iframe {
		height: 48vmin;
	}


	/******************************************************************** duties
*/
	.main section.duties-contents {
		padding-bottom: 0;
	}

	.duties-contents .main-column h3 {
		margin-top: 4vmin;
		margin-bottom: 1.6vmin;
	}

	.duties-contents .main-column figure {
		margin-top: 4vmin;
	}

	.main section.concrete-contents {
		padding-bottom: 0;
	}

	.concrete-contents:after {
		height: calc(80% + 16.8vmin);
		bottom: -16.8vmin;
	}

	.concrete-contents .ttl-area .en {
		margin-bottom: 4vmin;
	}

	.concrete-contents .main-column {
		margin-top: 6.4vmin;
	}

	.concrete-contents .main-column .inner .notice {
		padding: 0.8em;
	}

	.concrete-contents .test-img {
		margin-top: 6.4vmin;
	}

	.main section.quality-contents .ttl-area h2 {
		margin-bottom: 0.8vmin;
	}

	.main section.quality-contents .ttl-area .en {
		margin-bottom: 6.4vmin;
	}

	.quality-contents .examples>li {
		margin-top: 6.4vmin;
	}

	.quality-contents .examples>li h3 {
		margin-bottom: 2.4vmin;
	}

	.quality-contents .examples>li .before,
	.quality-contents .examples>li .after {
		padding-bottom: 4vmin;
	}

	.quality-contents .examples>li .after {
		margin-top: 4vmin;
	}

	.quality-contents .examples>li .txt {
		margin-top: 2.4vmin;
	}

	.quality-contents .examples>li ul li:nth-child(2) {
		margin-top: 4vmin;
	}

	.quality-contents .contact-unit {
		padding: 4vmin 8vmin;
		margin: 8vmin auto 0;
	}


	/******************************************************************** recruit
*/
	.page-nav {
		padding-top: 12vmin;
	}

	.page-nav ul li {
		width: 50%;
	}

	.page-nav ul li a {
		padding: 1.6em 0;
		text-align: center;
		font-size: 4vmin;
	}


	/******************************************************************** voice
*/
	.main section.voice-contents:last-child {
		padding-bottom: 12vmin;
	}

	.voice-contents.bg01::after,
	.voice-contents.bg02::after {
		height: 40vmin;
		margin-top: 8vmin;
		background-attachment: inherit;
	}

	.bg01+.voice-contents .wrapper .ttl-column::before,
	.bg02+.voice-contents .wrapper .ttl-column::before {
		height: calc(100% + 16vmin);
		top: -16vmin;
	}

	.voice-contents .wrapper .ttl-column {
		width: 100%;
		padding-left: 4vmin;
	}

	.voice-contents .wrapper .ttl-column:before {
		top: -8vmin;
	}

	.main section.voice-contents .en {
		margin-bottom: 2.4vmin;
	}

	.voice-contents .wrapper .main-column {
		width: 100%;
	}

	.voice-contents .main-column ul>li {
		padding: 4vmin 4vmin 4vmin 6.4vmin;
		margin-top: 4vmin;
	}

	.voice-contents.zig .main-column ul>li,
	.voice-contents.short .main-column ul>li {
		padding: 6.4vmin 4vmin 4vmin;
	}

	.voice-contents .main-column ul>li:before {
		left: -2.4vmin;
		top: 2.4vmin;
	}

	.voice-contents.zig .main-column ul>li::before,
	.voice-contents.short .main-column ul>li::before {
		left: 2.4vmin;
		top: -2.4vmin;
	}

	.voice-contents.zig .wrapper .main-column {
		margin-top: -8vmin;
	}

	.voice-contents.zig h2 {
		width: 48%;
	}

	.voice-img {
		padding-top: 6.4vmin;
	}

	.voice-img li:nth-child(2),
	.voice-img:nth-of-type(2) li:nth-child(1) {
		margin-top: -8vmin;
	}

	.voice-img li:nth-child(2)::before {
		right: -2.4vmin;
		bottom: -2.4vmin;
	}

	.voice-img:nth-of-type(2) li:nth-child(1)::before {
		left: -2.4vmin;
		bottom: -2.4vmin;
	}

	/******************************************************************** contact
*/
	.form-contents .wrapper h3 {
		margin: 5.6vmin 0 4vmin;
	}

	.form-contents button {
		max-width: 560px;
	}

	.form-contents button a {
		font-size: 1.8rem;
	}


	/******************************************************************** privacy
*/
	.privacy-contents dt {
		margin: 4vmin 0 0.8vmin;
	}


	/******************************************************************** link
*/
	.link-contents .module h3 {
		margin: 8vmin 0 1.6vmin;
	}


}


/*************************************************************************************************************************

■ スマホ(600px以下)向けスタイル

*************************************************************************************************************************/


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

	/******************************************************************** index
*/
	.index .catch h2 {
		font-size: 6.4vmin;
	}

	.index .catch .sub {
		font-size: 3.6vmin;
		margin-top: 4.8vmin;
	}

	.news-contents .inner {
		margin: -4.8vmin auto 0;
	}

	.news-contents .inner .module {
		flex-direction: column;
		padding: 6.4vmin 4.8vmin;
	}

	.news-contents .inner .module .en {
		font-size: 6.4vmin;
		width: 100%;
	}

	.news-contents .inner .module .news-box {
		padding-left: 0;
		width: 100%;
		border-left: none;
	}

	.news-contents .inner .module .news-box object {
		font-size: 3.6vmin;
	}

	.news-contents .inner .module dl {
		padding-left: 0;
		width: 100%;
		border-left: none;
		font-size: 3.6vmin;
	}

	.news-contents .inner .module dl dd {
		border-bottom: #EEE 1px solid;
		margin-bottom: 0.48em;
	}

	.news-contents .inner .module dl dd:last-of-type {
		border-bottom: none;
		margin-bottom: 0;
	}

	.aboutus-contents .module {
		position: relative;
		bottom: auto;
		right: auto;
		width: 100%;
	}

	.aboutus-contents .wrapper {
		margin: 0;
		width: 96%;
	}

	.aboutus-contents .wrapper:before {
		font-size: 24vmin;
	}

	.aboutus-contents .en {
		top: -6.4vmin;
		left: 4vmin;
	}

	.aboutus-contents .en:before {
		width: 2.4vmin;
		left: -4vmin;
	}

	.works-contents .wrapper {
		flex-direction: column;
	}

	.works-contents .wrapper figure {
		width: 100%;
		height: 64vmin;
	}

	.works-contents .wrapper figure img {
		width: 100%;
	}

	.works-contents .wrapper .module {
		width: 100%;
	}

	.works-contents .wrapper .module:before {
		font-size: 24vmin;
	}

	.works-contents .wrapper .module .en {
		margin-top: -16vmin;
	}

	.main section.office-contents {
		padding-bottom: 0;
	}

	.office-contents .wrapper {
		flex-direction: column;
	}

	.office-contents .wrapper:before {
		font-size: 24vmin;
	}

	.office-contents .wrapper .module {
		width: 100%;
	}

	.slick-prev,
	.slick-next {
		width: 32px;
		height: 32px;
		top: 32%;
	}

	.slick-prev {
		left: -2.4vmin;
	}

	.slick-next {
		right: -2.4vmin;
	}

	.office-contents .wrapper .module .base .card {
		width: 88%;
		margin-top: -8vmin;
	}

	.office-contents .wrapper .module .base .card h3 {
		font-size: 6.4vmin;
	}

	.office-contents .wrapper .module .base .card .txt {
		font-size: 3.6vmin;
	}

	.office-contents .wrapper figure {
		width: 56%;
		margin: -4vmin 4vmin -36vmin auto;
		position: relative;
		z-index: 1;
	}

	.office-contents .wrapper .detail h2 br {
		display: block;
	}

	.recruit-contents .wrapper:before {
		font-size: 24vmin;
	}

	.recruit-contents .wrapper .module {
		position: relative;
		bottom: auto;
		left: auto;
		width: 100%;
	}

	.recruit-contents .wrapper .module .en {
		top: -0.8em;
	}


	/******************************************************************** works
*/
	.works-detail-contents .main-column {
		flex-direction: column;
	}

	.works-detail-contents .main-column .box {
		width: 100%;
		padding: 6.4vmin 4vmin;
	}

	.page-selector .txt {
		font-size: 3.6vmin;
		text-align: center;
	}

	.works-detail-contents .main-column .box h3 {
		font-size: 4.4vmin
	}

	.works-detail-contents .main-column .box dl dt,
	.works-detail-contents .main-column .box dl dd {
		padding: 0.24em;
	}


	/******************************************************************** company
*/
	.about-contents .wrapper:before {
		font-size: 24vmin;
	}

	.main section.about-contents .ttl-area h2 {
		font-size: 5.6vmin;
	}

	.about-contents .wrapper .txt {
		font-size: 4vmin;
	}

	.greeting-contents .wrapper:before {
		font-size: 24vmin;
	}

	.greeting-contents .wrapper .ttl-area .photo {
		height: 64vmin;
	}

	.greeting-contents .wrapper .ttl-area .box {
		margin: -5.6vmin -4vmin 0 auto;
		padding: 6.4vmin;
	}

	.main section.greeting-contents .box .position {
		font-size: 4vmin;
		padding-top: 0.3em;
	}

	.main section.greeting-contents .box h2 {
		font-size: 4.8vmin;
	}

	.greeting-contents .wrapper .module h3 {
		font-size: 5.2vmin;
	}

	.recruit.new .overview-contents:before {
		width: 40%;
	}

	.overview-contents table {
		font-size: 0.9em;
	}

	.overview-contents table tr th {
		width: 6em;
	}

	.overview-contents table tr td table tr th {
		width: auto;
	}


	/******************************************************************** office
*/
	.office-head-contents .wrapper .txt {
		width: 100%;
		font-size: 4vmin;
	}

	.office-head-contents .wrapper:before {
		font-size: 24vmin;
	}

	.office-head-contents .wrapper:after {
		background: url("../img/p_map_office.svg?20250716") no-repeat right top / contain;
		position: absolute;
		right: 0;
		top: 0;
		width: 56%;
		height: 128%;
	}

	.office-detail-contents .ttl-column figure {
		margin-top: -8vmin;
		height: 56vmin;
	}

	.office-detail-contents table tr th,
	.office-detail-contents table tr td {
		padding: 0.64em;
	}

	/******************************************************************** duties
*/
	.duties-contents .main-column h3 {
		font-size: 4.8vmin;
	}

	.main section.duties-contents .ttl-column h2 {
		font-size: 7.2vmin;
	}

	.main section.duties-contents .ttl-column .en {
		font-size: 4vmin;
	}

	.concrete-contents .ttl-area {
		flex-direction: column;
		align-items: flex-start;
	}

	.concrete-contents:after {
		height: calc(96% + 16.8vmin);
	}

	.concrete-contents .ttl-area:before {
		font-size: 24vmin;
	}

	.concrete-contents .ttl-area .module {
		width: 100%;
		text-align: center;
	}

	.main section.concrete-contents h2 {
		font-size: 5.4vmin;
		margin-bottom: 2.4vmin;
	}

	.concrete-contents .ttl-area .en {
		font-size: 4vmin;
		margin-bottom: 8vmin;
	}

	.concrete-contents .ttl-area figure {
		width: 100%;
		margin-left: 0;
	}

	.concrete-contents .main-column {
		flex-direction: column;
	}

	.concrete-contents .main-column .inner {
		width: 100%;
		margin-top: 1em;
	}

	.concrete-contents .main-column .inner:first-child {
		margin-top: 0;
	}

	.concrete-contents .test-img {
		flex-direction: column-reverse;
	}

	.concrete-contents .test-img>* {
		width: 100%;
	}

	.concrete-contents .test-img .card {
		padding: 4vmin;
	}

	.concrete-contents .test-img .card .txt {
		font-size: 4.4vmin;
		margin-bottom: 0.8vmin;
	}

	.concrete-contents .test-img .card .sub {
		font-size: 3.6vmin;
	}

	.quality-contents .ttl-area .en {
		font-size: 4vmin;
	}

	.main section.quality-contents .ttl-area h2 {
		font-size: 5.4vmin;
		margin-bottom: 2.4vmin;
	}

	.quality-contents .examples>li h3 {
		font-size: 4.8vmin;
	}

	.quality-contents .examples>li .after {
		margin-top: 8vmin;
	}

	.quality-contents .examples>li .before::before,
	.quality-contents .examples>li .after::before {
		left: -4vmin;
		width: calc(100% + 8vmin);
	}

	.quality-contents .examples>li .before::after,
	.quality-contents .examples>li .after::after {
		font-size: 16vmin;
	}

	.quality-contents .examples>li .after ul::before {
		width: 32px;
		height: 20px;
		top: -9.6vmin;
	}

	.quality-contents .examples>li .txt {
		text-align: left;
	}


	/******************************************************************** recruit
*/
	.page-nav ul li a {
		padding: 1.2em 0;
	}

	.overview-contents table tr th,
	.overview-contents table tr td {
		padding: 0.8em;
	}

	/******************************************************************** voice
*/
	.main section.voice-contents h2 {
		font-size: 4.8vmin;
	}

	.voice-contents .main-column ul>li::before {
		font-size: 4.8vmin;
	}

	.voice-contents .main-column ul>li {
		padding-left: 9.6vmin;
		line-height: 1.4;
	}

	.voice-contents .wrapper .ttl-column:after {
		font-size: 16vmin;
	}

	.voice-contents.zig h2 {
		width: 100%;
	}

	.voice-contents.zig .wrapper .main-column {
		margin-top: 0;
	}

	.voice-contents.zig .main-column ul {
		flex-direction: column;
		justify-content: space-between;
	}

	.voice-contents.zig .main-column ul>li,
	.voice-contents.short .main-column ul>li {
		width: 94.4444%;
		margin-top: 4vmin;
		padding: 4vmin 4vmin 4vmin 9.6vmin;
	}

	.voice-contents.zig .main-column ul>li:nth-child(n+3) {
		margin-top: 4vmin;
		margin-right: 0;
	}

	.voice-contents.short .main-column ul>li:nth-child(2n+3) {
		margin-top: 4vmin;
	}

	.voice-contents.zig .main-column ul>li:nth-child(2n),
	.voice-contents.short .main-column ul>li:nth-child(2n) {
		margin-right: 0;
		margin-left: auto;
	}

	.voice-contents.zig .main-column ul>li::before,
	.voice-contents.short .main-column ul>li::before {
		left: -2.4vmin;
		top: 2.4vmin;
	}



	/******************************************************************** contact
*/
	.form-contents table tr th,
	.form-contents table tr td {
		width: 100%;
		display: block;
		box-sizing: border-box;
	}

	.form-contents table tr th {
		padding: 0.5em;
	}

	.form-contents table tr td {
		padding: 0 0.5em 1em;
	}

	.form-contents .btn {
		width: 60%;
	}

	.form-contents table tr td #date01 {
		flex-direction: column;
	}

	.form-contents table tr td .notice {
		font-size: 3.6vmin;
	}

	.form-contents table tr td #datepicker_1,
	.form-contents table tr td #convenientTime01 {
		width: 100%;
	}

	.form-contents table tr td #convenientTime01 {
		margin-top: 4vmin;
	}


	/******************************************************************** privacy
*/
	.privacy-contents dt {
		font-size: 4.8vmin;
		margin: 6.4vmin 0 0.8vmin;
	}


	/******************************************************************** link
*/
	.link-contents .module h3 {
		font-size: 5.6vmin;
	}

	.link-contents .module ul li a {
		padding: 0.4em;
	}

}