@charset "utf-8";
/* CSS Document */

@media screen,print {
	/* 959px以下以外に適用されるCSS（PC用）、印刷に適用されるCSS */
	
/*****共通部分*****/
    
	* {
		font-size: 18px;/*基本の文字サイズ*/
		font-family: 'Zen Kaku Gothic New', sans-serif;/*基本の文字*/
		font-weight: 500;/*基本の文字ウェイト*/
		letter-spacing: 0.1rem;/*基本の文字間隔*/
		line-break:strict;
		box-sizing: border-box;
		gap: 0;
	}
	
	html, body {
		-webkit-text-size-adjust: 100%;
        color: #333333;/*基本の文字色*/
	}
	
	.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
		margin-bottom: initial;
		font-weight: initial;
		line-height: initial;
		color: #333333;
	}

	img {
		max-width: 100%;
	}
	
	a {
		color: #333333;
		text-decoration: none;
    	}
    
    a:hover {
        color: #333333;
        text-decoration: none;
    }
    
    a:visited {
        color: #333333;
    }
	
	dl, ol, ul {
		margin-bottom: initial;
	}
	
	.content ul>li:before {
		font-family: initial;
		content: "";
		display: none;
		position: initial;
		left: initial;
		transform: initial;
		color: initial;
	}
	
	.content ol>li:before {
		display: none;
	}

	.l-content {
		margin: 0 auto 0em;
		padding-top: 0;
	}
	.l-container {
		max-width: 100%;
	}
	.top #content {
		padding-top: 2em;
	}
	h1.c-pageTitle {
		display: none;
	}
	/*ボタン*/
	div.swell-block-button.is-style-btn_normal {
		padding: 50px 0 0;
	}
	div.swell-block-button.is-style-btn_normal a {
		border-radius: 0;
		min-width: 320px;
		padding: 20px 0;
	}
	div.swell-block-button.is-style-btn_normal a:hover {
		background-color: #0000D9;
		transition: .5s;
	}
	div.swell-block-button.is-style-btn_normal a span {
		color: #FFFFFF;
	}
	div.swell-block-button.is-style-btn_normal a path {
		color: #FFFFFF;
	}	
	/***ヘッダー***/
	.l-header__inner {
		height: 110px;
	}
	/*追従*/
	.l-fixHeader__inner {
		height: 110px;
	}
	/*ロゴ*/
	img.c-headLogo__img {
		min-width: 250px;
	}
	/*ナビ*/
	.c-gnav > .menu-item > a {
		padding: 0 clamp(17px, 1.7vw, 25px);
	}
	.c-gnav > .menu-item:first-child > a::before {
		content: 'OUR VALUES';
	}
	.c-gnav > .menu-item:nth-child(2) > a::before {
		content: 'SERVICE';
	}
	.c-gnav > .menu-item:nth-child(3) > a::before {
		content: 'WORKS';
	}
	.c-gnav > .menu-item:nth-child(4) > a::before {
		content: 'COMPANY';
	}
	.c-gnav > .menu-item:nth-child(5) > a::before {
		content: 'RECRUIT';
	}
	.c-gnav > .menu-item:nth-child(6) > a::before {
		content: 'INFORMATION';
	}
	.c-gnav > .menu-item > a::before {
		font-size: 0.7rem;
		color: #9F9F9F;
		margin-bottom: 5px;
	}
	.c-gnav > .menu-item a span.ttl {
		font-size: clamp(0.8rem, 1.1vw, 1.0rem);
		font-weight: 700;
	}
	/***サブメニュー***/
	.c-gnav>.menu-item>.sub-menu li a span.ttl {
		font-weight: 700;
		line-height: 2.5rem;
	}
	/***フッター***/
	div.mainfooter {
		width: 100vw;
		padding: 5vw 2vw!important;
	}
	div.mainfooterwrap {
		max-width: calc(1200px - 4vw);
		min-width: calc(960px - 4vw);
		margin: 0 auto;
	}
	div.mainfooterwrap > div {
		margin: 0;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}
	div.mainfooterwrap div.mainfooterleft {
		flex-basis: 27%;
		display: flex;
		flex-direction: column;
		align-items: start;
		margin-left: 0;
	}
	div.mainfooterleft img {
		width: 15vw;
		max-width: 200px;
		min-width: 150px;
		margin-bottom: 40px;
	}
	div.mainfooterleft p.name {
		font-size: 1.2rem;
		font-weight: 700;
		margin-bottom: 10px;
	}
	div.mainfooterleft p.nameen {
		font-size: 0.8rem;
		font-weight: 700;
		letter-spacing: 0;
		margin-bottom: 30px;
	}
	div.mainfooterleft p.address {
		font-size: 0.9rem;
	}
	div.mainfooterleft p.tel {
		font-size: 1.0rem;
	}
	div.mainfooterleft div.swell-block-button.is-style-btn_normal {
		margin: 0;
		padding-top: 20px;
	}
	div.mainfooterleft div.swell-block-button.is-style-btn_normal a {
		min-width: 250px;
		padding: 20px 0;
	}
	div.mainfooterwrap div.mainfooterright {
		flex-basis: 70%;
		margin-left: 10%;
		display: flex;
		flex-direction:column;
		align-items: start;
	}
	div.mainfooterright > div > div {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	div.mainfooterright div.swell-block-column.swl-has-mb--s {
		flex-basis: 33%;
	}
	div.mainfooterright div.swell-block-column.swl-has-mb--s.service {
		flex-basis: 66%;
	}
	div.swell-block-column.swl-has-mb--s.service div.servicewrap > div > div {
		flex-basis: 50%;
	}
	div.swell-block-column.swl-has-mb--s.service div.servicewrap .swell-block-columns__inner {
		margin-left: 0;
	}
	div.mainfooterright p a {
		font-size: 1.1rem;
		font-weight: 700;
		color: #000066;
		margin-left: -1.3rem;
		position: relative;
		display: block;
	}
	div.mainfooterright p a::before {
		content: '';
		position: absolute;
		left: -20px;
		top: -5px;
	}
	div.mainfooterright p a::after {
		content: '';
		width: 38%;
		height: 1px;
		background-color: #000066;
		margin-left: 5px;
		position: absolute;
		left: auto;
		top: 1.0rem;
	}
	div.mainfooterright div.swell-block-column.swl-has-mb--s.values p a::after {
		content: '';
		width: 15%;
		height: 1px;
		background-color: #000066;
		margin-left: 5px;
		position: absolute;
		left: auto;
		top: 1.0rem;
	}
	div.mainfooterright div.swell-block-column.swl-has-mb--s.service p a::after {
		content: '';
		width: 67%;
		height: 1px;
		background-color: #000066;
		margin-left: 5px;
		position: absolute;
		left: auto;
		top: 1.0rem;
	}
	div.mainfooterright p.sub {
		margin-bottom: 0;
	}
	div.mainfooterright p.sub a {
		font-size: 1.0rem;
		font-weight: 700;
		color: #333333;
		margin: 0;
	}
	div.mainfooterright p.sub a::before {
		content: '';
		display: none;
	}
	div.mainfooterright p.sub a::after {
		content: '';
		display: none;
	}
	div.mainfooterright ul {
		list-style: none;
	}
	div.mainfooterright li {
		font-size: 0.8rem;
		position: relative;
	}
	div.mainfooterright li a {
		font-size: 0.8rem;
		position: relative;
	}
	div.mainfooterright li::marker {
		content: '';
	}
	div.mainfooterright li::before {
		content: '';
		width: 1px;
		height: 0.5rem;
		background-color: #333333;
		position: absolute;
		left: -0.8rem;
		top: 0.2rem;
	}
	div.mainfooterright li::after {
		content: '';
		width: 0.5rem;
		height: 1px;
		background-color: #333333;
		position: absolute;
		left: -0.8rem;
		top:0.65rem;
	}
	div.mainfooterright ul.others {
		margin-left: -50px;
	}
	div.mainfooterright ul.others li a {
		font-size: 1.0rem;
		font-weight: 700;
		color: #000066;
		line-height: 2.0rem;
		position: relative;
	}
	div.mainfooterright ul.others li::before {
		content: '-';
		position: absolute;
		left: -20px;
		top: 5px;
		width: 0;
		height: 0;
	}
	div.mainfooterright ul.others li::after {
		content: '';
		position: absolute;
		width: 0;
		height: 0;
	}
	div.mainfooterright li.fotterrecruitmenu a:nth-child(3){
		content: '';
		padding-top: 5px;
		display: inline-block;
	}





/*****トップページ*****/
	/***トップイメージ***/
	.u-obf-cover {
		display: block;
		height: 100% !important;
		-o-object-fit: cover;
		object-fit: cover;
		object-position: center bottom;
		width: 100% !important;
	}
	/*文字*/
	.p-mainVisual__slideTitle {
		font-size: 28px;
		color: #FFFFFF;
	}
	.p-mainVisual__slideText {
		font-size: 16px;
		color: #FFFFFF;
	}
	/*スクロール*/
	svg.p-mainVisual__scrollArrow path, svg.p-mainVisual__scrollArrow spanp-mainVisual__scrollLabel {
		color: #FFFFFF;
	}
	/***トップリード文***/
	div.p-mainVisual__slideTitle {
		font-size: 3.0rem;
		font-weight: 500;
		letter-spacing: 0.5rem;
		line-height: 5.0rem;
	}
	div.toplead {
		padding: 0 5%;
		margin-bottom: 50px;
	}
	div.toplead >div {
		text-align: center;
		border: 10px solid #F5F5F9;
		padding: 0;
	}
	div.toplead p {
		font-size: 1.3rem;
		line-height: 3.5rem;
		text-align: center;
		padding: 3% 5%;
		position: relative;
	}
	div.toplead p::before, div.toplead p::after {
		content: '';
		width: 15px;
		height: 15px;
		position: absolute;
	}
	div.toplead p::before {
		background-color: #000066;
		top: -10px;
		left: -10px;
	}
	div.toplead p::after {
background-color: #000066;
    bottom: -10px;
    right: -10px;
	}
	/***div.toplead p.topleadtitle {
		font-size: 2.0rem;
		font-weight: 700;
		color: #000066;
		margin-bottom: 40px;
		padding-top: 10px;
	}***/
	/***トップ私たちの想い***/
	.l-content div.topvision.alignfull {
		width: 100vw;
	}
	div.topvision {
		position:relative;
		overflow:hidden;
	}
	div.topvision div.swell-block-columns__inner {
		flex-direction: row-reverse;
		align-items: center;
		justify-content: end;
	}
	div.topvision div.topvisionimage {
		flex-basis: 55%;
		padding-left: 0vw;
	}
	div.topvision div.topvisionimage img {
		height: calc(85vh - 110px);
		min-height: 500px;
		object-fit: contain;
	}
	div.topvision div.topvisiontext {
		flex-basis: 40%;
		padding-left: 1vw;
	}
	div.topvision div.swell-block-button.is-style-btn_normal {
		text-align: left;
	}
	h2.toptitle {
		font-size: 1.1rem;
		color: #F3472A;
		margin: 0;
	}
	p.toptitleen {
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		letter-spacing: 0.3rem;
		margin-bottom: 0.4em;
	}
	/***トップサービス***/
	div.topservice {
		text-align: center;
	}
	div.topservice div.swell-block-columns .swell-block-column {
		margin-left: 0;
	}
	div.topservice div.swell-block-columns__inner {
		margin-left: 0;
		justify-content: space-evenly;
	}
	/*建築部門*/
	div.topservicebuttonleft {
		height: 160px;
		display: flex;
		overflow: hidden;
	}
	div.topservicebuttonleft .paral {
		font-size: 1.5rem;
		position: relative;
		z-index: 1;
		width:100%;
		margin: 0 auto;
		padding-right: 120px;
		display: flex;
		align-items: center;
		justify-content: end;
		overflow: hidden;
	}
	div.topservicebuttonleft .paral::before {
		width: calc(100% - 40px);
		height: 150px;
		position: absolute;
		z-index: -1;
		top: 0;
		bottom: 0;
		left: 0;
		transform: skewX(-25deg);
		content: "";
		background-color:#F5F5F9;
		box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	}
	div.topservicebuttonleft .paral::after {
		content: '';
		width: 50%;
		height: 150px;
		background-image: url(/reptec/wp-content/uploads/2024/07/topservice01.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		position: absolute;
		top: 0;
		left: 0;
	}
	/*土木部門*/
	div.topservicebuttonright {
		height: 160px;
		display: flex;
		overflow: hidden;
	}
	div.topservicebuttonright .paral {
		font-size: 1.5rem;
		position: relative;
		z-index: 1;
		width:100%;
		margin: 0 auto;
		padding-left: 120px;
		display: flex;
		align-items: center;
		justify-content: start;
		overflow: hidden;
	}
	div.topservicebuttonright .paral::before {
		width: 100%;
		height: 150px;
		position: absolute;
		z-index: -1;
		top: 0;
		bottom: 0;
		left: 50px;
		transform: skewX(-25deg);
		content: "";
		background-color:#FFF6F5;
		box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	}
	div.topservicebuttonright .paral::after {
		content: '';
		width: 50%;
		height: 150px;
		background-image: url(/reptec/wp-content/uploads/2024/07/topservice03.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		position: absolute;
		top: 0;
		right: 0;
	}
	/***トップ採用情報***/
	div.toprecruit {
		text-align: center;
	}
	div.toprecruit div.toprecruitwrap {
		margin-right: calc(50% - 50vw)!important;
		margin-left: calc(50% - 50vw)!important;
		padding: 5vw 0!important;
	}
	div.toprecruit div.swell-block-columns__inner {
		max-width: 1400px;
		margin: 0 auto;
		flex-direction: row-reverse;
		align-items: center;
		text-align: left
	}
	div.alignfull.toprecruitwrap {
		left: 0;
		width: 100vw;
	}
	div.toprecruit div.toprecruitwrapinnertext {
		flex-basis: 60%;
		padding: 0 5vw 0 5vw;
	}
	div.toprecruitwrapinnertext p.toprecruitlead {
		font-size: 1.6rem;
		font-weight: 700;
		margin-bottom: 30px;
	}
	div.toprecruit div.toprecruitwrapinnerimage {
		flex-basis: 40%;
	}
	div.toprecruit div.toprecruitwrapinnerimage figure {
		padding-left: 5vw;
	}
	div.toprecruit div.toprecruitwrapinnerimage img {
		max-height: calc(90vh - 110px);
		min-height: 500px;
		object-fit: cover;
	}
	div.toprecruit div.swell-block-button.is-style-btn_normal {
		text-align: left;
		padding-top: 25px;
		margin: 0;
	}
	div.toprecruit div.toprecruitwrapinnerbutton div.swell-block-button.is-style-btn_normal a {
		width: 100%;
		min-width: 165px;
		background-color: #f5f5f9;
		border: 2px solid var(--the-btn-bg);
	}
	div.toprecruit div.toprecruitwrapinnerbutton div.swell-block-button.is-style-btn_normal a:hover {
		background-color: var(--the-btn-bg);
	}
	div.toprecruit div.toprecruitwrapinnerbutton div.swell-block-button.is-style-btn_normal a span {
		color: var(--the-btn-bg);
		transition: .5s;
	}
	div.toprecruit div.toprecruitwrapinnerbutton div.swell-block-button.is-style-btn_normal a:hover span {
		color: #FFFFFF;
		transition: .5s;
	}
	
	
	
	
	
/*****下層共通*****/
	/***トップイメージ***/
	div.topimage {
		height: 35vh;
		position: absolute;
		top: -64px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	div.topimage h1 {
		font-size: 1.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.5rem;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	/***パンくず***/
	div.p-breadcrumb {
		position: absolute;
		top: calc(35vh + 125px);
		z-index: 99;
	}
	div.p-breadcrumb ol li span {
		font-size: 0.8rem;
	}
	/***H2タイトル***/
	h2.sectiontitle {
		font-size: 3.0rem;
		letter-spacing: 0.2rem;
		text-align: center;
		margin-bottom: 1em;
		padding-bottom: 50px;
		position: relative;
	}
	h2.sectiontitle::after {
		content: '';
		width: 80px;
		height: 9px;
		background-color: #F3472A;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	
	
	
	
/*****私たちの価値観*****/
	/***トップイメージ***/
	div.topimage.ourvalues {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/ourvaluestopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.ourvalues::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.ourvalues h1::after {
		content: 'OUR VALUES';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***私たちの想い***/
	div.ourvaluesvision figure {
		margin-top: 100px;
	}
	div.ourvaluesvision figure img {
		width: 100%;
		max-width: 1050px;
		padding: 0 30px;
	}
	/***企業活動の目的***/
	div.ourvaluespurpose {
		margin-bottom: 0;
	}
	div.ourvaluespurposewrap > div  {
		align-items: center;
		justify-content: space-between;
	}
	div.ourvaluespurposewrap .swell-block-columns__inner {
		flex-wrap: nowrap;
		margin-left: 0;
	}
	div.ourvaluespurposewrapleft {
		flex-basis: 40%;
	}
	div.ourvaluespurposewrapleft figure {
		max-width: 410px;
		border: 10px solid #F5F5F9;
		margin: 0 2%;
		position: relative;
	}
	div.ourvaluespurposewrapleft figure::before, div.ourvaluespurposewrapleft figure::after {
		content: '';
		width: 15px;
		height: 15px;
		position: absolute;
	}
	div.ourvaluespurposewrapleft figure::before {
		background-color: #000066;
		top: -10px;
		right: -10px;
	}
	div.ourvaluespurposewrapleft figure::after {
		background-color: #000066;
		bottom: -10px;
		left: -10px;
		visibility: visible;
	}
	div.ourvaluespurposewrapleft img {
		max-width: 350px;
		width: 30vw;
		object-fit: cover;
		margin: 25px 2%;
		padding: 0;
	}
	div.ourvaluespurposewrapright {
		flex-basis: 57%;
	}
	div.ourvaluespurposewrapright p {
		line-height: 2.8rem;
	}
	/***経営理念***/
	div.philosophywrap {
		position: relative;
		min-height: 450px;
		margin-top: 100px;
	}
	div.philosophywrap > div {
		max-width: 1200px;
		min-height: 450px;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: start;
		margin: 0 auto;
	}
	div.philosophywrap div.philosophyleft {
		flex-basis: 40%;
		margin: 0;
		padding-right: 20px;
	}
	div.philosophyleft img {
		height: 450px;
		object-fit: cover;
		object-position: center center;
	}
	div.philosophywrap div.philosophyright {
		flex-basis: 55%;
	}
	div.philosophywrap div.philosophyright p {
		line-height: 2.5rem;
	}
	/***ごあいさつ***/
	div.ourvaluesmessagewrap div.swell-block-columns__inner {
		width: 100%;
		justify-content: end;
		position: relative;
		margin-left: 0;
	}
	div.ourvaluesmessagewrap div.ourvaluesmessageleft {
		flex-basis: 35%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9;
	}
	div.ourvaluesmessageleft img {
		height: 60vh;
		max-height: 600px;
		padding-right: 20px;
		object-fit: cover;
		object-position: top right;
	}
	div.ourvaluesmessagewrap div.ourvaluesmessageright {
		flex-basis: 85%;
		margin-top: 13vh;
		background-color: #FFFFFF;
	}
	div.ourvaluesmessageright p.lead {
		height: 420px;
		font-size: 1.7rem;
		font-weight: 700;
		letter-spacing: 0.3rem;
		line-height: 3.5rem;
		padding: 17vh 5vh 10px 42%;
	}
	div.ourvaluesmessageright p.text {
		line-height: 3.0rem;
		padding: 0px 5vw 0px 5vw;
	}
	div.ourvaluesmessageright p.name {
		text-align: right;
		margin-top: 50px;
		padding: 0vh 5vh 5vh 5vh;
	}
	div.ourvaluesmessageright p.name strong {
		font-size: 1.7rem;
	}
	div.ourvalueshistorywrap {
		background-color: #FFFFFF;
		padding: 5%;
	}
	div.ourvalueshistorywrap table {
		border: 0px solid #FFFFFF;
	}
	div.ourvalueshistorywrap .wp-block-table>table tr>:first-child:not(.-no1) {
		width: 15%;
	}
		div.ourvalueshistorywrap table td, div.ourvalueshistorywrap table th {
			background-color: #FFFFFF;
			border: 0px solid #FFFFFF;
			border-bottom: 1px solid #cccccc;
			padding: 30px 0;
	}
	div.ourvalueshistorywrap table tr:last-child td, div.ourvalueshistorywrap table tr:last-child th {
			border-bottom: 0px solid #cccccc;
	}	
	div.ourvalueshistorywrap table　tr:nth-child(even) td　{
		background-color: #F5F5F9;
	}
	
	
	
	
	
/*****サービス*****/
	/***トップイメージ***/
	div.topimage.service {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/servicetopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.service::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.service h1::after {
		content: 'SERVICE';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	div.servicetop {
		text-align: center;
		background-color: #F5F5F9;
		padding: 5%;
	}
	div.servicetop p.toptitle {
		font-size: 2.2rem;
		font-weight: 700;
	}
	div.servicetop p.text {
		line-height: 2.5rem;
	}
	div.servicetop .swell-block-columns__inner {
		justify-content: space-evenly;
	}
	/*ボタン*/
	div.servicetop div.swell-block-button.is-style-btn_normal {
		padding: 30px 0 0;
		position: relative;
	}
	div.servicetop div.swell-block-button.is-style-btn_normal a::after {
		content: '';
		width: 90%;
		height: 2px;
		background-color: #F3472A;
		position: absolute;
		left: 5%;
		bottom: 5px;
	}
	div.servicetop div.swell-block-button.is-style-btn_normal a {
		border-radius: 0;
		min-width: 320px;
		padding: 20px 0 10px;
		background-color: #FFFFFF;
		flex-direction: column;
	}
	div.servicetop div.swell-block-button.is-style-btn_normal a:hover {
		background-color: #F3EEED;
		transition: .5s;
	}
	div.servicetop div.swell-block-button.is-style-btn_normal a span {
		color: #333333;
		line-height: 0.5rem;
	}
	div.servicetop div.swell-block-button.is-style-btn_normal a path {
		color: #F3472A;
	}
	/*建築部門*/
	div.servicearchitecturetopimage {
		width: 100%;
		height: 250px;
		background-image: url(/reptec/wp-content/uploads/2024/04/topservice01.jpg)!important;
		background-size: cover;
		position: relative;
	}
	div.servicearchitecturetopimage::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgb(0,0,0,.5);
		position: absolute;
		top: 0;
		left: 0;
	}
	div.servicearchitecturetopimage h2 {
		width: 100%;
		height: 250px;
		font-size: 2.3rem;
		letter-spacing: 0.5rem!important;
		color: #FFFFFF!important;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	div.servicearchitecture div.servicearchitecturewrap {
		width: 90%;
		margin: 0 auto;
	}
	/*土木部門*/
	div.servicecivilengineeringtopimage {
		width: 100%;
		height: 250px;
		background-image: url(/reptec/wp-content/uploads/2024/04/topservice02.jpg)!important;
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.servicecivilengineeringtopimage::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgb(0,0,0,.5);
		position: absolute;
		top: 0;
		left: 0;
	}
	div.servicecivilengineeringtopimage h2 {
		width: 100%;
		height: 250px;
		font-size: 2.3rem;
		letter-spacing: 0.5rem!important;
		color: #FFFFFF!important;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	div.servicearchitecturewrap h3 {
		font-size: 1.7rem;
		color: #000066;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 3em 0 1em;
		white-space: nowrap;
	}
	div.servicearchitecturewrap h3::after {
		content: '';
		width: calc(100% - 8.8rem);
		height: 1px;
		background-color: #000066;
		margin-left: 3%;
	}
	div.servicearchitecturewrap ul {
		padding: 0 5%;
	}
	div.servicearchitecturewrap ul a {
		text-decoration: underline;
	}
	/***主な実績***/
	div.servicearchitectureresult {
	}
	/***保有ソフト***/
	div.servicesoft {
	}
	div.servicesoft h3 {
		width: 100%;
		padding: 0 5%;
		font-size: 1.7rem;
		color: #000066;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 3em 0 1em;
		white-space: nowrap;
	}
	div.servicesoft h3::after {
		content: '';
		width: calc(100% - 8.8rem);
		height: 1px;
		background-color: #000066;
		margin-left: 3%;
	}
	div.servicesoft div.servicesoftwrap {
		width: 100%;
		padding: 0 7%;
	}
	div.servicesoft div.servicesoftwrap > div {
		justify-content: space-between;
	}
	div.servicesoftwrap h4 {
		font-size: 0.9rem;
		color: #000066;
		font-weight: 500;
		margin-bottom: 10px;
		display: flex;
		flex-direction: column;
	}
	div.servicesoftwrap h4::after {
		content: '';
		width: 100%;
		height: 1px;
		background-color: #000066;
		margin-top: 10px;
	}
	div.servicesoftwrap ul li {
		font-size: 0.8rem;
	}

/*****スライダー関連*****/
	/***共通***/
	.swiper-postListWrap .p-postList {
		flex-wrap: nowrap;
		margin: 0;
	}
	.swiper-postListWrap2nd .p-postList {
		flex-wrap: nowrap;
		margin: 0;
	}
	.swiper-postListWrapjob .p-postList {
		flex-wrap: nowrap;
		margin: 0;
	}
	/***カード型***/
	.swiper-postListWrap .-type-card .p-postList__item {
		padding: 0;
	}
	.swiper-postListWrap .swiper-pagination-bullet {
		background: currentcolor;
		color: inherit;
	}	
	div.repaircase .swiper-pagination {
		margin-bottom: -10px;
	}
	div.achieve .swiper-pagination {
		margin-bottom: -10px;
	}
	/*２つめ*/	
	.swiper-postListWrap2nd .-type-card .p-postList__item {
		padding: 0;
	}
	.swiper-postListWrap2nd .swiper-pagination-bullet {
		background: currentcolor;
		color: inherit;
	}
	.swiper-pagination2nd {
		position: absolute;
		text-align: center;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		transition: opacity .3s;
		z-index: 10;
		margin-bottom: -10px;
	}
	.swiper-button-prev2nd {
		left: 0;
		right: auto;
	}
	.swiper-button-prev2nd:after {
		border-bottom: var(--swiper-nav-border-width) solid;
		border-left: var(--swiper-nav-border-width) solid;
		left: calc(var(--swiper-nav-size)* .05);
	}
	.swiper-button-next2nd {
		right: 0;
		left: auto;
	}
	.swiper-button-next2nd:after {
		border-right: var(--swiper-nav-border-width) solid;
		border-top: var(--swiper-nav-border-width) solid;
		right: calc(var(--swiper-nav-size)* .05);
	}
	.swiper-button-next2nd, .swiper-button-prev2nd {
		background: rgba(0, 0, 0, .6);
		color: var(--swiper-navigation-color, var(--swiper-theme-color));
		cursor: pointer;
		height: calc(var(--swiper-nav-size)* 1.2);
		padding: calc(var(--swiper-nav-size)* .4) calc(var(--swiper-nav-size)* .3);
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: var(--swiper-nav-size);
		z-index: 10;
	}
	.swiper-button-next2nd:after, .swiper-button-prev2nd:after {
		box-sizing: border-box;
		content: "";
		display: block;
		height: calc(var(--swiper-nav-size)* .4);
		position: relative;
		-webkit-transform: rotate(45deg) skew(10deg, 10deg);
		transform: rotate(45deg) skew(10deg, 10deg);
		width: calc(var(--swiper-nav-size)* .4);
	}
	/*文字*/
	div.swiper-horizontal li.p-postList__item.swiper-slide.swiper-slide-duplicate a {
		position: relative;
	}
	div.swiper-horizontal li.p-postList__item.swiper-slide a {
		pointer-events: none;
	}
	div.swiper-horizontal a div.p-postList__body {
		width: 100%;
		position: absolute;
		bottom: 0;
		background-color: rgba(0,0,0,.7);
		color: rgb(255,255,255,1);
		padding-top: 5px;
		padding-bottom:5px;
	}
	div.swiper-horizontal a:hover div.p-postList__body {
		display: flex;
		flex-direction: column;
		justify-content:center;
		padding: 10%;
	}
	div.swiper-horizontal a:hover div.p-postList__body h3 {
		font-size: 1.4rem;
		margin-bottom: 20px;
	}
	div.swiper-horizontal .c-postThumb__figure {
		height: 30vw;
	}
	div.swiper-horizontal .p-postList .p-postList__title {
		padding: 0 0 0 10px;
	}
	
	

	
	
/*****耐震診断・耐震改修設計*****/
	/***トップイメージ***/
	div.topimage.diagnosis {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/diagnosistopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.diagnosis::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.diagnosis h1::after {
		content: 'EARTHQUAKE RESISTANCE';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***耐震診断***/
	div.diagnosistop {
		background-image: url(/reptec/wp-content/uploads/2024/04/diagnosistop01-scaled.jpg);
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		position: relative;
		margin-bottom: 100px;
	}
	div.diagnosistop::before {
		content: '';
		width: 100%;
		height: 100%;
		background-color:rgba(255,255,255,0.6);
		position: absolute;
		top: 0;
		left: 0;
	}
	div.diagnosistop > div {
		display: flex;
	}
	div.diagnosistop h2 {
		flex-basis: 15%;
		font-size: 2.5rem;
		letter-spacing: 2.0rem;
		writing-mode: vertical-rl;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
	}
	div.diagnosistop p {
		flex-basis: 80%;
		line-height: 2.5rem;
	}
	div.diagnosistop::after {
		content: 'SEISMIC DIAGNOSIS';
		display: flex;
		justify-content: center;
		position: absolute;
		bottom: -7.4rem;
		right: 0;
		left: 0;
		margin: auto;
		font-family: "Arial", "メイリオ";
		font-size: 5.8rem;
		font-weight: 700;
		color: #EEEEEE;
		z-index: 99;
	}
	/***メリット***/
	div.diagnosismerit div.diagnosismeritwrap {
		padding: 0 10%;
	}
	div.diagnosismeritwrap > div {
		justify-content: space-between;
	}
	div.diagnosismeritwrap > div > div {
		width: 18vw;
		height: 18vw;
		background-color: #F5F5F9;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	div.diagnosismeritwrap > div > div p {
		font-size: 1.1rem;
		font-weight: 700;
		text-align :center;
		color: #000066;
	}
	/***フロー***/
	div.diagnosisflow01 > div {
		background-color: #FFFFFF;
		border: 1px solid #707070;
		padding: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	div.diagnosisflow01 > div::after {
		content: '';
		width: 20px;
		height: 150px;
		background-color: #EEEEEE;
		position: absolute;
		top: 0;
		z-index: -99;
	}
	div.diagnosisflow02 > div {
		color: #FFFFFF;
		background-color: #000066;
		border: 1px solid #000066;
		padding: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
	}
	div.diagnosisflow03 {
		max-width: 45%;
		flex-basis: 45%;
		background-color: #FFFFFF;
		border: 1px solid #707070;
		padding: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	div.diagnosisflowwrap {
		justify-content: space-between;
	}
	div.wp-block-columns.text {
		gap: 0!important;
	}
	div.diagnosisflow03::before {
		content: '';
		width: 20px;
		height: 200px;
		background-color: #EEEEEE;
		position: absolute;
		bottom: 0;
		z-index: -99;
	}
	div.diagnosisflow04 {
		max-width: 45%;
		flex-basis: 45%;
	}
	div.wp-block-columns div.textright p {
		text-align: right;
		padding-right: 30%;
	}
	div.wp-block-columns div.textleft p {
		text-align: left;
		padding-left: 30%;
	}

	
	
	
/*****業務履歴*****/
	/***トップイメージ***/
	div.topimage.works {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/workstopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.works::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.works h1::after {
		content: 'WORKS';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***表***/
	div.workswrap > div {
		width: 100%;
		justify-content: space-between;
		margin: 0;
	}
	div.swell-block-column.swl-has-mb--s {
		margin: 0;
	}
	/*ボタン*/
	.gmbtn1 ,
	.gmbtn2 ,
	.gmbtn3 {
		text-align: center;
	}
	div.workswrap .bt1 {
		width: 100%;
		background-color: #FFFFFF;
		color: #000066;
		border: 2px solid #000066;
		padding: 30px 100px;
		display: inline-block;
		font-size: 2.0rem;
		border-radius: 4px;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
	}
	div.workswrap .bt2 {
		width: 100%;
		background-color: #FFFFFF;
		color: #000066;
		border: 2px solid #000088;
		padding: 15px 15px;
		display: inline-block;
		font-size: 1.0rem;;
		border-radius: 4px;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
	}
	div.workswrap .bt3 {
		width: 102%;
		padding: 15px 400px;
		display: inline-block;
		border: 2px solid #CCCCCC;
		border-radius: 4px;
		background-color: #f7f7f7;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
	}
	/* ボタンの基本スタイル */
	div.workswrap .button {
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		cursor: pointer; /* カーソルをポインターに変更してクリッカブルなものとして示す */
		transition: transform 0.3s ease;
	}
	/* ボタンの状態に応じたスタイル */
	div.workswrap .hollow {
		background-color: #000066;
		border: 2px solid #000066;
		color: #FFFFFF;
		text-align: center;
		text-decoration: none;
		display: inline-block;
		border-radius: 4px;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0);
		transition: transform 0.3s ease;
	}
	/*テーブル体裁*/
	div.dataTables_length {
		margin-bottom: 10px;
	}
	div.dataTables_length label {
		display: flex;
		align-items: center;
	}
	div.dataTables_length select {
		padding: 05px 10px;
	}
	div.dataTables_filter {
		margin-bottom: 10px;
	}
	div.dataTables_filter input {
		width: 300px;
		padding: 5px 10px;
	}
	table.tablepress td.column-1, table.tablepress td.column-2 {
		white-space: nowrap;
	}
	table.tablepress th, table.tablepress td {
		padding: 10px 10px;
	}
	table.tablepress td {
		color: #333333;
		padding: 10px 10px;
	}
	/*テーブルナビ*/
div.dataTables_paginate.paging_simple a {
		margin: 0 10px;
	}
	div.dataTables_paginate.paging_simple .paginate_button.previous:before {
		left: -24px;
	}
	.dataTables_paginate.paging_simple .paginate_button.next:after {
		left: 28px;
	}
	.dataTables_paginate.paging_simple .paginate_button.next:after, .dataTables_paginate.paging_simple .paginate_button.previous:before {
		font-weight: 300;
		text-shadow: 0.0em 0.0em #FFF;
		top: 5px;
	}
	.dataTables_paginate .paginate_button:after, .dataTables_paginate .paginate_button:before {
		color: #333333;
}


	
	
	
	
/*****会社情報*****/
	/***トップイメージ***/
	div.topimage.company {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/companytopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.company::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.company h1::after {
		content: 'COMPANY';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***会社概要***/
	div.companyoverview table, div.companyoverview table th, div.companyoverview table td {
		border: 0px solid #FFFFFF;
	}
div.companyoverview table th, div.companyoverview table td {
		padding: 20px;
	font-weight: 500;
	}
	div.companyoverview table tr:nth-child(odd) th, div.companyoverview table tr:nth-child(odd) td {
		background-color: #F5F5F9;
	}
	div.companyoverview table tr:nth-child(even) th, div.companyoverview table tr:nth-child(even) td {
		background-color: #FFFFFF;
	}
	div.companyoverview table th {
		white-space: nowrap;
	}
	/***沿革***/
	div.companyhistory dl {
		width: 950px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: start;
		margin: 0 auto;
	}
	div.companyhistory dt, div.companyhistory dd {
		line-height: 5.0rem;
		padding: 0px 18px;
	}
	div.companyhistory dt {
		flex-basis: calc(30% - 36px);
		min-width: 300px;
		font-size: 3.0rem;
		color: #000066;
		position: relative;
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
	}
	div.companyhistory dt::before {
		content: '';
		width: 60px;
		height: 1px;
		background-color: #707070;
		margin-left: 40px;
	}	div.companyhistory dt::after {
		content: '';
		width: 1px;
		height: 100%;
		background-color: #707070;
		position: absolute;
		right: 45px;
	}
	div.companyhistory dd {
		flex-basis: calc(70% - 36px);
	}
	div.companyhistory .swell-block-dl__dd+.swell-block-dl__dt {
		margin-top: 0;
	}
	/***アクセス***/
	div.companyaccess {
		padding: 0 5%;
	}
	div.companyaccess p.name {
		text-align: center;
		font-size: 1.5rem;
		margin-bottom: 1.0rem;
	}
	div.companyaccess p.address {
		text-align: center;
	}
	div.companyaccess ul {
		padding: 0;
	}
	div.companyaccess li {
		list-style: none;
		padding: 20px;
	}
	div.companyaccess li:nth-child(odd) {
		background-color: #F5F5F9;
	}

	
	
	
	
/*****採用情報*****/
	/***トップイメージ***/
	div.topimage.recruit {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/recruittopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.recruit::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.recruit h1::after {
		content: 'RECRUIT';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***REPTECの想い***/
	div.recruitvision {
		width: calc(100vw - 10%);
		margin: 0 5%;
	}
	div.recruitvision h3 {
		font-size: 1.6rem;
		text-align: center;
	}
	div.recruitvision h4 {
		margin-top: 0;
	}
	div.recruitvision ul {
		padding: 0 5%;
	}
	div.recruitvision div.recruitvisionwrap {
		margin-top: 50px;
	}
	div.recruitvision div.recruitvisionwrap > div {
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	div.recruitvisionwrap div.swell-block-columns__inner {
		margin-left: 0;
	}
	div.recruitvisionwrap div.swell-block-column {
		background-color: #FFFFFF;
		width: 17vw;
		min-width: 180px;
		max-width: 250px;
		height: 17vw;
		min-height: 180px;
		max-height: 250px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	div.recruitvisionwrap div.swell-block-column p {
		text-align: center;
	}
	/***REPTECの取り組み***/
	div.recruitaction .swell-block-columns__inner {
		margin-left: 0;
	}
	div.recruitaction div.recruitactionwrap {
	}
	div.recruitactionwrap div.swell-block-columns__inner {
		justify-content: space-between;
	}
	div.recruitactionwrap div.swell-block-column.swl-has-mb--s {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	div.recruitactionwrap h3 {
		width: 20vw;
		max-width: 300px;
		min-width: 230px;
		height: 20vw;
		max-height: 300px;
		min-height: 230px;
		border: 3px solid #000066;
		border-radius: 50%;
		font-size: 1.3rem;
		color: #000066;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: end;
		text-align: center;
		padding-bottom: 7%;
		position: relative;
	}
	div.recruitactioncontent01 h3::before {
		content: '';
		width: 50%;
		height: 50%;
		margin: 0 25%;
		background-image: url(/reptec/wp-content/uploads/2024/04/recruitrecruitaction01.png);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 15%;
	}
	div.recruitactioncontent02 h3::before {
		content: '';
		width: 46%;
		height: 46%;
		margin: 0 27%;
		background-image: url(/reptec/wp-content/uploads/2024/04/recruitrecruitaction02.png);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 15%;
	}
	div.recruitactioncontent03 h3::before {
		content: '';
		width: 40%;
		height: 40%;
		margin: 0 30%;
		background-image: url(/reptec/wp-content/uploads/2024/04/recruitrecruitaction03.png);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 12%;
	}
	div.recruitactionwrap p {
		padding: 0 5%;
	}
	/***求める人物像***/
	div.recruitmessage {
		width: calc(100vw - 10%);
		margin: 0 5%;
	}
	div.recruitmessagewrap {
		width: 100%;
		margin-top: 100px;
	}
	div.recruitmessagewrap > div {
		margin-left: 0;
		justify-content: space-between;
		align-items: center;
	}
	div.recruitmessagewrapleft {
		flex-basis: 40%;
	}
	div.recruitmessagewrapleft img {
		min-height: 500px;
		object-fit: cover;
		object-position: center center;
	}
	div.recruitmessagewrapright {
		flex-basis: 60%;
	}
	div.recruitmessagewrapright h3 {
		font-size: 2.0rem;
		letter-spacing: 0.3rem;
		margin-bottom: 40px;
		padding-left: 5%;
	}
	div.recruitmessagewrapright p {
		line-height: 2.2rem;
		padding-left: 5%;
	}
	/***部門紹介***/
	div.recruitdepartmentwrap > div {
		justify-content: space-between;
	}
	div.recruitdepartmentwrap .swell-block-columns__inner {
		margin-left: 0;
	}
	div.recruitdepartmentwrap div.recruitdepartmentwrapleft {
		padding: 30px 0 30px 30px;
	}
	div.recruitdepartmentwrap div.recruitdepartmentwrapright {
		padding: 30px 30px 30px 0;
	}
	/***社員インタビュー***/
	div.recruitinterview {
		width: calc(100vw - 10%);
		margin: 0 5%;
	}
	div.wp-block-column.inteviewinner {
		background-color: #FFFFFF;
		padding: 0 0 15px 0;
		position: relative;
	}
	div.wp-block-column.inteviewinner:hover {
		background-color: #F3EEED;
		transition: .5s;
	}
	div.wp-block-column.inteviewinner p.occupation {
		font-size: 0.9rem;
		background-color: #F3472A;
		color: #FFFFFF;
		padding: 5px 15px;
		position: absolute;
		top: 0;
		right: 0;
	}
	div.wp-block-column.inteviewinner img {
		height: 35vw;
		max-height: 450px;
		object-fit: cover;
	}
	div.wp-block-column.inteviewinner > p {
		text-align: center;
	}
	div.wp-block-column.inteviewinner p.name {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: .3rem;
	}
	div.wp-block-column.inteviewinner p.age {
		font-size: 1.0rem;
	}
	div.wp-block-column.inteviewinner p.department {
		color: #000066;
	}
	/***募集要項***/
	div.recruitrequirements div.recruitrequirementswrap > div {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
	}
	div.recruitrequirements div.recruitrequirementswrap > div > a {
		height: 100%;
		min-height: 500px;
		background-color: #F5F5F9;
		margin: 0;
	}
	div.recruitrequirements div.recruitrequirementswrap > div > a:hover {
		background-color: #eeeeee;
		transition: .5s;
	}
	div.recruitrequirements div.recruitrequirementswrap > div > a:hover figure {
		overflow: hidden;
	}
	div.recruitrequirements div.recruitrequirementswrap > div img {
		height: 250px;
		object-fit: cover;
		overflow-clip-margin: unset;
	}
	div.recruitrequirements div.recruitrequirementswrap > div > a:hover img {
		transform: scale(1.1);
		transition: .5s
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu {
		min-height: 160px;
		position: absolute;
		bottom: 0;
	}
	div.recruitrequirements div.recruitrequirementswrapinner > div {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	div.recruitrequirements div.recruitrequirementswrapinner h3 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: .3rem;
		text-align: center;
		height: 33.5px;
		margin: 20px 0;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu {
		width: auto;
		max-width: 250px;
		padding-bottom: 30px;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu p {
		margin-bottom: 5px;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu p a {
		font-size: 0.9rem;
		text-decoration: underline;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu p a:hover {
		color: rgb(243, 71, 42);
		transition: .5s;
	}
	/***採用エントリーボタン***/
	div.recruitentry {
		margin-bottom: 35px;
	}
	div.recruitentry div.swell-block-button.is-style-btn_normal.entry {
		padding: 0;
	}
	/*ボタン*/
	div.swell-block-button.is-style-btn_normal.entry {
		padding: 30px 0 0;
	}
	div.swell-block-button.is-style-btn_normal.entry a {
		border: 2px solid #F3472A;
		border-radius: 0;
		min-width: 350px;
		padding: 20px 0;
		background-color: #FFFFFF;
	}
	div.swell-block-button.is-style-btn_normal.entry a:hover {
		background-color: #F3EEED;
		transition: .5s;
	}
	div.swell-block-button.is-style-btn_normal.entry span {
		color: #F3472A;
	}
	div.swell-block-button.is-style-btn_normal.entry a path {
		color: #F3472A;
	}

	
	
	
	
/*****社員インタビュー*****/
	/***トップイメージ***/
	div.topimage.interview {
		height: 35vh;
		background-size: cover;
		background-position: bottom center;
		position: relative;
	}
	div.topimage.interview::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, .5);
		position: absolute;
	}
	div.topimage.interview h1::after {
		content: 'INTERVIEW';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	div.interview01top {
		width: 90vw;
		margin: 0 5vw;
	}
	div.interview01top div.interview01topwrap > div {
		margin-left: 0;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 40px;
	}
	div.interview01topwrap div.interview01topwrapleft {
		flex-basis: 60%;
	}
	div.interview01topwrap div.interview01topwrapleft h2 {
		font-size: 2.2rem;
		line-height: 4.0rem;
		position: relative;
	}
	div.interview01topwrap div.interview01topwrapleft h2::after {
		content: '';
		width: 100%;
		border-bottom: 2px solid #F3472A;
		position: absolute;
		bottom: -30px;
		left: 0;
	}
	div.interview01topwrap div.interview01topwrapleft p.name {
		font-size: 1.7rem;
		font-weight: 700;
		letter-spacing: 0.5rem;
		margin-bottom: 10px;
	}
	div.interview01topwrap div.interview01topwrapleft p.nameen {
		font-size: 0.9rem;
		font-weight: 700;
		letter-spacing: 0.5rem;
		color: #FFFFFF;
		padding: 2px 5px 2px 12px;
		background-color: #000066;
		display: inline-block;
	}
	div.interview01topwrap div.interview01topwrapright {
		flex-basis: 40%;
	}
	/*div.interview01topwrap div.interview01topwrapright figure {
		position: relative;
	}
	div.interview01topwrap div.interview01topwrapright figure::before {
		content: '';
		width: 100%;
		height: 100%;
		background-color: #F5F5F9;
		position: absolute;
		top: 20px;
		right: 20px;
	}*/
	div.interview01topwrap div.interview01topwrapright img {
		width: 100%;
		height: 500px;
		object-fit: cover;
	}
	/*コンテンツ*/
	div.interview01second div.interview01secondwrap > div {
		margin-left: 0;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 40px;
	}
	div.interview01secondwrap div.interview01secondwrapleft {
		flex-basis: 65%;
	}
	div.interview01secondwrap div.interview01secondwrapleft p {
		line-height: 3.0rem;
	}
	div.interview01secondwrap div.interview01secondwrapleft p.que {
		font-size: 1.5rem;
		color: #000066;
		margin-bottom: 20px
	}
	div.interview01secondwrap div.interview01secondwrapleft p.right {
		padding-left: 30px;
	}
	div.interview01secondwrap div.interview01secondwrapleft p.left {
		padding-right: 30px;
	}
	div.interview01secondwrap div.interview01secondwrapright {
		flex-basis: 35%;
	}
	div.interview01secondwrap div.interview01secondwrapright img {
		width: 100%;
		min-height: 400px;
		height: auto;
		object-fit: cover;
	}
	/***槌谷淳二さん***/
	/*タイトル*/
	div.topimage.interview.interview01 {
		background-image: url(/reptec/wp-content/uploads/2024/05/interview01_01.jpg);
	}
	/***篠田雪恵さん***/
	/*タイトル*/
	div.topimage.interview.interview02 {
		background-image: url(/reptec/wp-content/uploads/2024/05/interview02_00.jpg);
	}
	/***宮城マルセル影二さん***/
	/*タイトル*/
	div.topimage.interview.interview03 {
		background-image: url(/reptec/wp-content/uploads/2024/05/interview03_01-e1716347003518.jpg);
		background-position: top;
	}
	
	
	
	
	
/*****新卒採用*****/
	/***トップイメージ***/
	div.topimage.newgraduates {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2025/09/recruitdetails01.jpg);
		background-size: cover;
		background-position: top center;
		position: relative;
	}
	div.topimage.newgraduates::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.newgraduates h1::after {
		content: 'NEW GRADUATES';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		text-align: center;
		margin-top: 15px;
	}
	/***メッセージ***/
	div.newgraduatesmessage p {
		line-height: 2.2rem;
	}
	/***業務内容***/
	div.newgraduatesbusinesswrap > div {
		justify-content: space-between;
		margin-left: auto;
	}
	div.newgraduatesbusinesswrap > div > div {
		border: 3px solid #000066;
		padding: 3%!important;
		display: flex;
		flex-direction: column;
		justify-content: start;
	}
	div.newgraduatesbusinesswrap h3 {
		font-size: 1.6rem;
		color: #000066;
		text-align: center;
		margin: 0em 0 0em;
		padding: 1rem 0 2rem;
	}
	div.newgraduatesbusinesswrap p {
		font-size: 1.0em;
		font-weight: 600;
		letter-spacing: 0;
		text-align: center;
		padding: 0.5rem 0 1rem;
	}
	div.newgraduatesbusinesswrap ul li {
		line-height: 2.0;
		margin: .35em 0;
	}
	/***キャリアステップのイメージ***/
	div.newgraduatesstepsimage {
		width: calc(100vw - 10%);
		margin: 0 5% 150px;
	}
	div.newgraduatesstepsimage p {
		line-height: 2.2rem;
	}
	div.newgraduatesstepsimage p.annotation {
		font-size: 1.0rem;
		line-height: initial;
		padding: 20px 0 0;
	}
	div.newgraduatesstepsimagewrap {
		flex-direction: column;
		padding-top: 30px;
	}
	div.newgraduatesstepsimagewrap div.newgraduatesstepsimagewrapimage {
		background-color: #FFFFFF;
		padding: 10px 0 30px;
	}
	div.newgraduatesstepsimagewrap div.newgraduatesstepsimagewraptext p.steptitle {
		font-size: 1.4rem;
		color: #000066;
		padding: 20px 0 0;
	}
	div.requirements div.architecturebutton {
		padding-bottom: 100px !important;
	}

	
	
	

/*****キャリア採用*****/
	/***トップイメージ***/
	div.topimage.career {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2025/08/recruitdetails02.jpg);
		background-size: cover;
		background-position: top center;
		position: relative;
	}
	div.topimage.career::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.career h1::after {
		content: 'CAREER';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***メッセージ***/
	div.careermessage {
		padding-bottom: 7em !important;
	}
	div.careermessage p {
		line-height: 2.2rem;
	}
	/*ボタン*/
	div.careertop div.swell-block-columns {
		max-width: 900px;
		margin: 0 auto;
	}
	div.careertop div.swell-block-columns__inner {
		justify-content: space-between;
	}
	div.careertop div.swell-block-button.is-style-btn_normal {
		padding: 30px 0 0;
		position: relative;
	}
	div.careertop div.swell-block-button.is-style-btn_normal a::after {
		content: '';
		width: 90%;
		height: 2px;
		background-color: #F3472A;
		position: absolute;
		left: 5%;
		bottom: 5px;
	}
	div.careertop div.swell-block-button.is-style-btn_normal a {
		border-radius: 0;
		min-width: 320px;
		padding: 20px 0 10px;
		background-color: #EEEEEE;
		flex-direction: column;
	}
	div.careertop div.swell-block-button.is-style-btn_normal a:hover {
		background-color: #F3EEED;
		transition: .5s;
	}
	div.careertop div.swell-block-button.is-style-btn_normal a span {
		color: #333333;
		line-height: 0.5rem;
	}
	div.careertop div.swell-block-button.is-style-btn_normal a path {
		color: #F3472A;
	}
	div.architecturerequirements div.architecturebutton {
		padding-bottom: 100px !important;
	}
	div.civilengineeringrequirements div.architecturebutton {
		padding-bottom: 100px !important;
	}
	
	
	
	

/*****インターンシップ*****/
	/***トップイメージ***/
	div.topimage.internship {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2025/08/recruitdetails03.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.internship::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.internship h1::after {
		content: 'INTERNSHIP';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***メッセージ***/
	div.internshipmessage p {
		line-height: 2.2rem;
	}
	/***目的***/
	div.internshippurpose {
		padding-bottom: 6em!important;
	}
	div.internshippurpose div.wp-block-columns.internshippurposewrap {
		gap: 0!important;
		justify-content: space-evenly;
	}
	div.internshippurpose div.internshippurposewrap > div {
		width: auto;
		max-width: 250px;
		border: 4px solid #000066;
		padding: 1% 3% 2.5%;
		flex-grow: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	div.internshippurpose div.internshippurposewrap p {
		width: 140px;
		color: #000066;
		text-align: left;
	}
	div.internshippurpose div.internshippurposewrap p.number {
		font-size: 4rem;
		font-weight: 900;
		margin: 0;
	}
	/***プログラム***/
	div.internshipprogramwrap {
		padding: 30px 0 0 0;
	}
	div.internshipprogramwrap .swell-block-accordion__title {
		font-size: 1.3rem;
		font-weight: 700;
		background-color: #FFFFFF;
	}
	div.internshipprogramwrap div.swell-block-accordion {
		background-color: #FFFFFF;
		margin: 30px 0;
		padding: 1% 3%;
	}
	div.internshipprogramwrap p {
		font-weight: 600;
		color: #000066;
		padding: 0 0 10px 5px;
	}
	/*テーブル*/
	div.internshipprogramwrap table {
		margin: 0 0 30px;
	}
	div.internshipprogramwrap table th {
		width: 120px!important;
		height: 110px;
		text-align: center;
		vertical-align: middle;
		font-weight: 900;
		border-right: 0px solid #FFFFFF;
	}
	div.internshipprogramwrap table tr:nth-child(odd) th {
		color: #FFFFFF;
		background-color: #000066;
	}
	div.internshipprogramwrap table tr:nth-child(even) th {
		background-color: #F5F5F9;
	}
	div.internshipprogramwrap table td {
		font-size: 1.0rem;
		vertical-align: middle;
		padding-left: 3%;
		border-left: 0px solid #FFFFFF;
	}
	div.internshipprogramwrap table td strong {
		font-size: 1.2rem;
		color: #000066;
	}
	/***インターンシップ募集要項***/
	div.internshiprequirements {
		padding-top: 50px;
	}
	div.internshiprequirements div.architecturebutton {
		padding-bottom: 100px !important;
	}
	
	
	
	
	
/*****建築設計者の募集詳細*****/
	/***トップイメージ***/
	div.topimage.architecture {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/06/architecturetopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.architecture::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.architecture h1::after {
		content: 'ARCHITECTURAL DESIGNER';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***コンテンツ***/
	div.architecturetext table, div.architecturetext table th, div.architecturetext table td {
		border: 0px solid #FFFFFF;
	}
	div.architecturetext table th, div.architecturetext table td {
		border-bottom: 1px solid #CCCCCC;
		padding: 2%;
	}
	div.architecturetext table th {
		background-color: #FFFFFF;
		white-space: nowrap;
	}
	div.architecturetext table tr:first-child th, div.architecturetext table tr:first-child td {
		border-top: 1px solid #CCCCCC;
	}
	div.architecturebutton {
		padding-bottom: 150px!important;
	}

	
	
	
	
/*****土木建築者の募集詳細*****/
	/***トップイメージ***/
	div.topimage.civilengineer {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/06/civilengineertopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.civilengineer::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.civilengineer h1::after {
		content: 'CIVIL ENGINEER';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}	
	
	

	
	
/*****お知らせ*****/
	/***トップイメージ***/
	div.topimage.information {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/newstopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.information::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		position: absolute;
	}
	div.topimage.information h1::after {
		content: 'INFORMATION';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***ポスト***/
		div.newspost {
		width: 100%;
		margin: 50px 0;
	}
	div.newspostwrap {
		border-top: 1px solid #DDDDDD;
		padding: 25px 10px;
		display: flex;
		align-items: start;
		justify-content: start;
	}
	div.newspostwrap:last-child {
		border-bottom: 1px solid #DDDDDD;
	}
	div.newspostwrap div.cat {
    background-color: #F5F5F9;
    margin-right: 20px;
	}
	div.cat ul {
		padding: 0;
	}
	div.cat ul li {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 0;
	}
	div.cat ul li a {
		font-size: 0.8rem;
    font-weight: 900;
    padding: 5px 10px;
		pointer-events: none;
	}
	div.cat ul li::marker {
		content: '';
	}
	div.date {
		width: 110px;
		font-size: 1.0rem;
		margin-right: 25px;
		white-space: nowrap;
	}
	div.title a.nolink {
		pointer-events: none;
	}
	/***ページネーション***/
	div.pagenation {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 50px;
		padding-bottom: 50px;
	}
	div.pagenation a.page-numbers, div.pagenation span.page-numbers {
		margin: 0 5px;
	}
	div.pagenation a.prev.page-numbers, div.pagenation a.next.page-numbers {
		border: 0px solid #FFFFFF;
		box-shadow: none;
	}
	
	
	
	
	
/*****個別ページ*****/
	div.l-topTitleArea {
height: 35vh;
    background-image: url();
    background-size: cover;
    position: relative;
	}
	div.l-topTitleArea img {
		display: none;
	}
	div.l-topTitleArea h1 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.5rem;
		text-align: center;
		padding: 0 5%;
	}
	time.c-postTimes__posted.icon-posted {
		color: #333333;
	}
	div.l-topTitleArea div.p-articleMetas {
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding-top: 10px;
	}
	main.single {
		padding-top: 100px;
	}
	main.single p {
		line-height: 2.5rem;
	}
	div.p-articleMetas.-bottom {
		display: none;
	}


	
	
	
	
/*****個人情報保護方針*****/
	/***トップイメージ***/
	div.topimage.privacypolicy {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/privacypolicytopimage01.jpg);
		background-size: cover;
		position: relative;
	}
	div.topimage.privacypolicy::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		background-position: center center;
		position: absolute;
	}
	div.topimage.privacypolicy h1::after {
		content: 'PRIVACY POLICY';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***コンテンツ***/
	div.privacypolicytext h2 {
		font-size: 2.5rem;
		margin-bottom: 60px;
	}
	div.privacypolicytext ul {
		padding-left: 3.0rem;
	}
	div.privacypolicytext li {
		padding-bottom: 20px;
	}
	div.privacypolicytext li::marker {
		font-weight: 900;
	}
	div.privacypolicytext li strong {
		line-height: 2.5rem;
	}

	
	
	
	
/*****関連情報*****/
	/***トップイメージ***/
	div.topimage.related {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/relatedtopimage01.jpg);
		background-size: cover;
		position: relative;
	}
	div.topimage.related::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		background-position: center center;
		position: absolute;
	}
	div.topimage.related h1::after {
		content: 'RELATED';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	/***コンテンツ***/
	div.relatedtext h2 {
		font-size: 2.5rem;
		margin-bottom: 60px;
	}
	div.relatedtext ul {
		padding-left: 3.0rem;
	}
	div.relatedtextwrap > div {
		align-items: center;
		justify-content: space-between;
	}
	div.relatedtextwrapleft {
		flex-basis: 30%;
	}
	div.relatedtextwrapleft img {
		height: 350px;
	}
	div.relatedtextwrapright {
		flex-basis: 65%;
	}
	
	
	
	
	
/*****お問い合わせ*****/
	/***トップイメージ***/
	div.topimage.contact {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/contacttopimage01.jpg);
		background-size: cover;
		background-position: center center;
		position: relative;
	}
	div.topimage.contact::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		background-position: center center;
		position: absolute;
	}
	div.topimage.contact h1::after {
		content: 'CONTACT';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
		
	
	
	

	/*****採用エントリー*****/
	/***トップイメージ***/
	div.topimage.entry {
		height: 35vh;
		background-image: url(/reptec/wp-content/uploads/2024/05/entrytopimage01.jpg);
		background-size: cover;
		background-position: bottom center;
		position: relative;
	}
	div.topimage.entry::after {
		content: '';
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		background-position: center center;
		position: absolute;
	}
	div.topimage.entry h1::after {
		content: 'ENTRY';
		font-family: "Arial", "メイリオ";
		font-size: 4.5rem;
		font-weight: 700;
		color: #FFFFFF;
		letter-spacing: 0.2rem;
		margin-top: 15px;
	}
	input.wpcf7-form-control.wpcf7-file.wpcf7-validates-as-required {
		padding: 10px;
	}
	
	/***フォーム（共通）***/
	div.contact {
		min-width: 1170px;
		margin: 0 auto;
	}
	div.contactform {
		width: 100%;
		margin: 100px 0 100px;
	}
	div.contactform label {
		width: 100%;
		display: flex;
		justify-content: center;
		margin-bottom: 30px;
	}
	/*入力ボックス（通常）*/
	div.contactform div.contact_type {
		width: 100%;
		display: flex;
		justify-content: center;
		margin-bottom: 30px;
	}
	div.contactform div.contact_type span.entry {
		width: 60%;
	}
	div.contactform label span.title {
		width: 40%;
		min-width: 200px;
		max-width: 300px;
		font-weight: 700;
		margin-top: 0px;
		display: flex;
		justify-content: space-between;
	}
	div.contactform label span.entry {
		width: 60%;
	}
	div.contactform label span.title {
		display: flex;
		align-items: center;
	}
	div.contactform label span.title::after {
		width: auto;
		height: 25px;
		content: '必須';
		font-size:0.7rem;
		font-weight: 700;
		color: #FFFFFF;
		background-color: #F3472A;
		margin: 0px 30px 0px 10px;
		padding: 0px 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		white-space: nowrap;
	}
	/*入力ボックス（セレクト）*/
	div.contactform label span.title_select {
		width: 40%;
		min-width: 200px;
		max-width: 300px;
		font-weight: 700;
		margin-top: 6px;
		display: flex;
		justify-content: space-between;
	}
	div.contactform label span.entry_select {
		width: 60%;
	}
	div.contactform label span.title_select::after {
		width: auto;
		height: 25px;
		content: '必須';
		font-size:0.7rem;
		font-weight: 500;
		color: #FFFFFF;
		background-color: #EBF528;
		margin: 0px 30px 0px 10px;
		padding: 0px 20px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	/*入力ボックス（日付）*/
	div.contactform label span.entry_birth {
		width: 70%;
	}
	/*入力エリア*/
	div.contactform label input, div.contactform label textarea, div.contactform label select {
		width: 100%;
		min-height: 50px;
		border: 1px solid #666666;
		border-radius: 3px;
		padding: 0 15px;
		font-weight: 500;
		color: #777777;
	}
	/*ボタン*/
	div.contactform div.buttonwrap {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 50px 0 0;
	}
	div.contactform div.buttonwrap > div {
		margin: 0
	}
	div.contactform div.buttonwrap p span {
		position: absolute;
		right: 0;
		top: 30px;
	}
	div.contactform div.buttonwrap input {
		width: 300px;
		height: 80px;
		margin: 0 30px;
		text-align: center;
		background-color: #0000B3;
		position: relative;
		color: #FFFFFF;
		display: block;
	}
	div.contactform div.buttonwrap input:hover {
		background-color: #F3472A;
		transition: .5s;
		color: #FFFFFF;
	}
	.wpcf7 form .wpcf7-response-output {
		margin: 0em 0.5em 2em;
		padding: 0.2em 1em;
		border: 2px solid #00a0d2;
	}
	/*reCAPTHAマーク設定*/
	.grecaptcha-badge {
		visibility: hidden;
	}
	p.recapcha-text {
		font-size: 1.2rem;
		text-align: center;
		padding-top: 60px;
	}
	p.recapcha-text a {
		font-size: 1.2rem;
		text-decoration: underline;
	}
}





@media (min-width: 960px) and (max-width: 1019px) {
	.-sidebar-off .-type-card.-pc-col3 .p-postList__item {
		padding: 0em;
	}
}





@media not all and (min-width: 960px) {
	.l-header[data-spfix="1"] {
		position: fixed;
	}
	.-img .c-headLogo__link {
		display: block;
		padding: 7px 0;
	}
}