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

@media (max-width: 599px) {
	/* 599px以下に適用されるCSS（スマホ用） */
	
/*****共通部分*****/
    
	* {
		font-size: 16px;/*基本の文字サイズ*/
	}

	/***ヘッダー***/
	.l-header__inner {
		height: 50px;
		padding-right: 10px;
	}
	/*ロゴ*/
	.-series .l-header__logo {
		min-width: auto;
		height: 50px;
	}
	.c-headLogo {
		height: 50px
	}
	.-img .c-headLogo__link {
		padding: 0px 0;
	}
	img.c-headLogo__img {
		min-width: auto;
		height: 50px;
		padding-left: 5px;
	}
	/***ナビ***/
	.c-iconBtn__icon {
		font-size: 30px;
	}
	.l-header__customBtn, .l-header__menuBtn {
		height: auto;
		width: auto;
	}
	/***共通***/
	.l-article {
		padding-top: 50px;
	}
	.l-mainContent__inner>.post_content {
		margin: 2em 0;
	}
	/***フッター***/
	div.mainfooterwrap div.mainfooterright {
		margin-left: 5%;
		margin-right: 5%;
	}
	div.mainfooterright p a {
		font-size: 1.0rem;
		letter-spacing: 0;
		margin-left: -0.2rem;
	}
	div.mainfooterright p a::before {
		display: none;
	}
	div.mainfooterright p a::after {
		display: none;
	}
	div.mainfooterright div.swell-block-columns.servicewrap {
		padding-left: 1.0rem;
	}
	div.mainfooterright p.sub a {
		font-size: 0.9rem;
	}
	div.mainfooterright ul {
		padding-left: 1.0rem;
	}
	div.mainfooterright li a {
		font-size: 0.8rem;
	}
	div.mainfooterright ul.others {
		margin-left: -10px;
	}
	div.mainfooterright ul.others li a {
		font-size: 0.9rem;
	}


	
	
	
/*****トップページ*****/
	/***トップイメージ***/
	.p-mainVisual {
		padding-top: 50px;
	}
	/***トップリード文***/
	div.p-mainVisual__slideTitle {
		font-size: 2.0rem;
		font-weight: 500;
		letter-spacing: 0.5rem;
		line-height: 4.0rem;
	}
	div.toplead p {
		font-size: 1.0rem;
		line-height: 2.5rem;
		text-align: center;
		padding: 5% 10%;
	}
	/***div.toplead p.topleadtitle {
		padding-top: 0px;
	}***/
	/***トップ私たちの想い***/
	div.topvision div.swell-block-columns__inner {
		flex-direction: column;
	}
	div.topvision div.topvisionimage {
		flex-basis: 100%;
		width: 100%;
	}
	div.topvision div.topvisiontext {
		flex-basis: 100%;
		width: 100%;
		padding-left: 0vw;
	}
	h2.toptitle {
		font-size: 1.0rem;
		text-align: center;
	}
	p.toptitleen {
		line-height: 4.5rem;
	}
	div.topvision p {
		text-align: center;
	}
	/***トップサービス***/
	div.topservice .wp-block-columns {
		flex-wrap: wrap!important;
		gap: var(--wp-column-gap) !important;
	}
	/***トップ採用情報***/
	div.toprecruitwrapinnertext p.toprecruitlead {
		font-size: 1.3rem;
		margin-bottom: 20px;
	}
	div.toprecruit div.toprecruitwrapinnerimage img {
		max-height: 400px;
		min-height: 300px;
	}
	
	
	
	
	
/*****下層共通*****/
	/***トップイメージ***/
	div.topimage {
		top: -50px;
	}
	div.topimage h1 {
		font-size: 1.0rem;
	}
	div.topimage.ourvalues h1::after {
		font-size: 3.0rem;
	}
	/***パンくず***/
	div.p-breadcrumb {
		position: absolute;
		top: calc(35vh + 45px);
		z-index: 99;
	}
	div.p-breadcrumb ol li span {
		font-size: 0.8rem;
	}
	/***H2タイトル***/
	h2.sectiontitle {
		font-size: 2.5rem;
		padding-bottom: 35px;
	}
	h2.sectiontitle::after {
		width: 60px;
		height: 7px;
	}

	
	
	
	
/*****私たちの価値観*****/
	/***トップイメージ***/
	/***私たちの想い***/
	div.ourvaluesvision figure {
		margin-top: 0px;
	}
	div.ourvaluesvision figure img {
		padding: 0 5px;
	}
	/***企業活動の目的***/
	div.ourvaluespurposewrap > div  {
		flex-direction: column;
		align-items: center;
		justify-content: space-between;
	}
	div.ourvaluespurposewrapleft {
		flex-basis: 100%;
		width: 100%;
	}
	div.ourvaluespurposewrapleft figure {
		max-width: 300px;
		width: 300px;
	}
	div.ourvaluespurposewrapleft img {
		max-width: 230px;
		width: 230px;
	}
	div.ourvaluespurposewrapright {
		flex-basis: 100%;
		width: 100%;
	}
	div.ourvaluespurposewrapright p {
		line-height: 2.8rem;
	}
	/***経営理念***/
	div.philosophywrap {
		padding: 0 5% 50px;
	}
	div.philosophywrap {
		min-height: auto;
		margin-top: 0px;
	}
	div.philosophywrap > div {
		max-width: 100%;
		min-height: 300px;
	}
	div.philosophywrap div.philosophyright p {
		padding: 0 0%;
	}
	/***ごあいさつ***/
	div.ourvaluesmessage .l-article {
		padding-top: 30px;
	}
	div.ourvaluesmessageleft img {
		height: 40vh;
		max-height: 350px;
	}
	div.ourvaluesmessagewrap div.ourvaluesmessageright {
		width: 100%;
		flex-basis: 100%;
	}
	div.ourvaluesmessageright p.lead {
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.2rem;
		line-height: 3.0rem;
		padding: 5vh 0vh 0px 5%;
	}
	div.ourvaluesmessageright p.text {
		line-height: 2.5rem;
	}
	div.ourvalueshistorywrap .wp-block-table>table tr>:first-child:not(.-no1) {
		width: 100%;
	}
	div.ourvalueshistorywrap table th, div.ourvalueshistorywrap table td {
		display: block;
	}
	div.ourvalueshistorywrap table th {
		border: 0px;
		padding-bottom: 10px;
	}
	div.ourvalueshistorywrap table td {
		padding-top: 0;
	}
	
	
	
	
	
/*****サービス*****/
	/***トップイメージ***/
	div.topimage.service h1::after {
		font-size: 3.0rem;
	}
	div.servicetop p.toptitle {
		font-size: 1.8rem;
	}
	/*建築部門*/
	div.servicearchitecturetopimage {
		height: 150px;
	}
	div.servicearchitecturetopimage h2 {
		height: 150px;
		font-size: 2.0rem;
	}
	div.servicearchitecturewrap h3 {
		font-size: 1.4rem;
		margin-top: 2em;
	}
	div.servicearchitecturewrap h3::after {
		display: none;
	}
	/*土木部門*/
	div.servicecivilengineeringtopimage {
		height: 150px;
	}
	div.servicecivilengineeringtopimage h2 {
		height: 150px;
		font-size: 2.0rem;
	}
	/***保有ソフト***/
	div.servicesoft {
	}
	div.servicesoft h3 {
		font-size: 1.4rem;
		margin-top: 2em;
	}
	div.servicesoft h3::after {
		display: none;
	}
	div.servicesoft div.servicesoftwrap {
		padding: 0 5%;
	}
	div.servicesoft div.servicesoftwrap > div {
		flex-direction: column;
		margin-left: 0;
	}
	div.servicesoftwrap div.swell-block-column.swl-has-mb--s {
		width: 100%;
	}
	
	

	
	
/*****耐震診断・耐震改修設計*****/
	/***トップイメージ***/
	div.topimage.diagnosis h1::after {
		font-size: 3.0rem;
	}
	/***耐震診断***/
	div.diagnosistop h2 {
		flex-basis: 100%;
		font-size: 2.0rem;
		letter-spacing: 0.5rem;
	}
	div.diagnosistop p {
		flex-basis: 100%;
		line-height: 2.5rem;
	}
	div.diagnosistop::after {
		bottom: -2.6rem;
		font-size: 2.0rem;
		letter-spacing: 0;
	}
	/***メリット***/
	div.diagnosismerit div.diagnosismeritwrap {
		padding: 0 2%;
	}
	div.diagnosismerit .swell-block-columns .swell-block-column {
		width: 41vw;
		height: 41vw;
		padding: 0vw;
	}
	div.diagnosismeritwrap > div > div p {
		font-size: 0.9rem;
	}
	/***フロー***/

	
	
	
/*****業務履歴*****/
	/***トップイメージ***/
	div.topimage.works h1::after {
		font-size: 3.0rem;
	}
	/***表***/

	/*ボタン*/
	.gmbtn1 ,
	.gmbtn2 ,
	.gmbtn3 {
		text-align: center;
	}
	div.workswrap .bt1 {
		padding: 20px 10px;
		font-size: 1.5rem;
	}
	div.workswrap .bt2 {
		padding: 10px 10px;
		display: inline-block;
		font-size: 0.8rem;
	}
	div.workswrap .bt3 {
		width: 106%;
		padding: 10px auto;
		display: inline-block;
	}
	/*テーブル体裁*/
	table.tablepress th, table.tablepress td {
		padding: 5px 5px;
	}
	table.tablepress th {
		min-width: 2.0rem;
	}
	table.tablepress td {
		color: #333333;
		padding: 5px 5px;
	}
	/*テーブルナビ*/
div.dataTables_paginate.paging_simple a {
		margin: 0 10px;
	}


	
	
	
	
/*****会社情報*****/
	/***トップイメージ***/
	div.topimage.company h1::after {
		font-size: 3.0rem;
	}
	/***会社概要***/
	div.companyoverview table th, div.companyoverview table td {
		display: block;
	}
	div.companyoverview table th {
		font-weight: 700;
		padding: 20px 20px 10px;
	}
	div.companyoverview table td {
		padding: 0 20px 20px;
	}
	/***沿革***/
	div.companyhistory dl {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	div.companyhistory dt, div.companyhistory dd {
		line-height: 2.0rem;
		padding: 0px 18px;
	}
	div.companyhistory dt {
		flex-basis: 100%;
		min-width: auto;
		width: 100%;
		font-size: 1.5rem;
	}
	div.companyhistory dt::before {
		display: none;
	}
	div.companyhistory dt::after {
		display: none;
	}
	div.companyhistory dd {
		flex-basis: 100%;
		width: 100%;
		padding-bottom: 20px;
	}
	/***アクセス***/

	
	
	
	
/*****採用情報*****/
	/***トップイメージ***/
	div.topimage.recruit h1::after {
		font-size: 3.0rem;
	}
	/***REPTECの想い***/
	div.recruitvision h3 {
		font-size: 1.4rem;
	}
	/***REPTECの取り組み***/
	div.recruitaction {
		margin-bottom: 100px;
	}
	div.recruitactionwrap div.swell-block-columns__inner {
		flex-direction: column;
	}
	div.recruitactionwrap.swell-block-columns .swell-block-column {
		width: 100%;
	}
	div.recruitactionwrap h3 {
		width: 50vw;
		max-width: 300px;
		min-width: 230px;
		height: 50vw;
		max-height: 300px;
		min-height: 230px;
		font-size:min(4.5vw,34px);
		padding-bottom: 10%;
	}
	div.recruitactioncontent01 h3::before {
		width: 40%;
		height: 40%;
		margin: 0 30%;
		top: 15%;
	}
	div.recruitactioncontent02 h3::before {
		width: 38%;
		height: 38%;
		margin: 0 32%;
		top: 15%;
	}
	div.recruitactioncontent03 h3::before {
		width: 34%;
		height: 34%;
		margin: 0 33%;
		top: 12%;
	}
	div.recruitactionwrap p {
		width: 100%;
		padding: 0 5%;
	}
	/***求める人物像***/
	div.recruitmessagewrapleft {
		flex-basis: 100%;
		width: 100%;
	}
	div.recruitmessagewrapleft img {
		min-height: auto;
		max-width: 400px;
		width: 100%;
	}
	div.recruitmessagewrapright {
		flex-basis: 100%;
		width: 100%;
	}
	div.recruitmessagewrapright h3 {
		font-size: 1.4rem;
	}
	div.recruitmessagewrapright p {
		padding-left: 0%;
	}
	/***部門紹介***/
	div.recruitdepartmentwrap > div {
		flex-direction: column;
	}
	div.recruitdepartmentwrap div.recruitdepartmentwrapleft {
		flex-basis: 100%;
		width: 100%;
		padding: 0px 0 0px 0px;
	}
	div.recruitdepartmentwrap div.recruitdepartmentwrapright {
		flex-basis: 100%;
		width: 100%;
		padding: 0px 0 0px 0px;
	}
	/***募集要項***/
	div.recruitrequirements th, div.recruitrequirements td {
		padding: 20px;
		display: block;
		border: 0px solid #FFFFFF;
	}
	div.recruitrequirements h3 {
		font-size: 1.4rem;
	}
	div.recruitrequirements th {
		white-space: nowrap;
		border-top: 1px solid #dcdcdc;
		padding: 20px 20px 10px;
	}
	div.recruitrequirements td {
		padding: 10px 20px 20px;
	}
	div.recruitrequirements tr:last-child td {
		border-bottom: 1px solid #dcdcdc;
	}
	/***採用募集詳細***/
	div.recruitrequirements div.recruitrequirementswrap img {
		height: 250px;
	}
	div.recruitrequirements div.recruitrequirementswrapinner h3 {
		height: 43px;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu {
		width: auto;
		max-width: 300px;
		padding-bottom: 30px;
		top: 350px;
	}
	div.recruitrequirements div.recruitrequirementswrap div.innermenu p a {
		font-size:max(0.7rem,14px);
	}

	
	
	
	
/*****社員インタビュー*****/
	/***トップイメージ***/
	div.topimage.interview h1::after {
		font-size: 3.0rem;
	}
	div.interview01top div.interview01topwrap > div {
		flex-direction: column;
	}
	div.interview01topwrap div.interview01topwrapleft {
		flex-basis: 100%;
		width: 100%;
	}
	div.interview01topwrap div.interview01topwrapleft h2 {
		font-size: 1.4rem;
		line-height: 2.5rem;
	}
	div.interview01topwrap div.interview01topwrapleft p.name {
		font-size: 1.3rem;
	}
	div.interview01topwrap div.interview01topwrapleft p.nameen {
		font-size: 0.7rem;
	}
	div.interview01topwrap div.interview01topwrapright {
		flex-basis: 100%;
		width: 100%;
	}
	div.interview01topwrap div.interview01topwrapright img {
		width: 100%;
		height: 400px;
		object-fit: cover;
	}
	/*コンテンツ*/
	div.interview01second div.interview01secondwrap > div {
		flex-direction: column-reverse;
	}
	div.interview01secondwrap div.interview01secondwrapleft {
		flex-basis: 100%;
		width: 100%;
	}
	div.interview01secondwrap div.interview01secondwrapleft p {
		line-height: 2.5rem;
	}
	div.interview01secondwrap div.interview01secondwrapleft p.que {
		font-size: 1.3rem;
	}
	div.interview01secondwrap div.interview01secondwrapleft p.right {
		padding-left: 0px;
	}
	div.interview01secondwrap div.interview01secondwrapleft p.left {
		padding-right: 0px;
	}
	div.interview01secondwrap div.interview01secondwrapright {
		flex-basis: 100%;
		width: 100%;
	}
	div.interview01secondwrap div.interview01secondwrapright img {
		width: 100%;
		min-height: 400px;
		height: auto;
		object-fit: cover;
	}
	div.interview01second.reverse div.interview01secondwrap > div {
		flex-direction: column;
	}
	
	
	
	
	
/*****新卒採用*******/
	/***トップイメージ***/
	div.topimage.newgraduates h1::after {
		font-size: 3.0rem;
	}
	/***メッセージ、業務内容***/
	div.newgraduatesbusinesswrap ul {
		width: auto;
	}
	div.newgraduatesbusinesswrap ul li {
		width: auto;
	}
	div.swell-block-fullWide.newgraduatesmessage, div.swell-block-fullWide.newgraduatesbusiness {
		padding: 0 0 2em!important;
	}
	/***キャリアステップ***/
	div.newgraduatesstepsimage p.annotation {
		font-size: 1.0em;
	}
	div.newgraduatesstepsimagewrap div.newgraduatesstepsimagewraptext p.steptitle {
		font-size: 1.4em;
	}

	
	
	
	
/*****キャリア採用*******/
	/***トップイメージ***/
	div.topimage.career h1::after {
		font-size: 3.0rem;
	}
	/***メッセージ***/
	div.swell-block-fullWide.careermessage {
		padding: 0 0 3em!important;
	}
	div.careertop div.swell-block-columns__inner {
		justify-content: center!important;
		margin-left: 0;
		row-gap: 0;
	}
	
	
	
	
	
/*****インターンシップ*******/
	/***トップイメージ***/
	div.topimage.internship h1::after {
		font-size: 3.0rem;
	}
	/***プログラム、目的***/
	div.swell-block-fullWide.internshipmessage, div.swell-block-fullWide.internshippurpose {
		padding: 0 0 2em!important;
	}
	div.internshipprogramwrap table th {
		width: 90px !important;
	}

	
	
	
	
	
	
/*****建築設計者の募集詳細*****/
	/***トップイメージ***/
	div.topimage.architecture h1::after {
		content: 'ARCHITECTURAL DESIGNER';
		font-family: "Arial", "メイリオ";
		font-size: 3.0rem;
	}
	/***コンテンツ***/
	div.architecturetext table, div.architecturetext table th, div.architecturetext table td {
		border: 0px solid #FFFFFF;
	}
	div.architecturetext table th, div.architecturetext table td {
		display: block;
		padding: 2%;
	}
	div.architecturetext table th {
		border-top: 1px solid #CCCCCC;
		padding-top: 5%;
	}
	div.architecturetext table td {
		padding-bottom: 5%;
	}
	div.architecturetext table tr:first-child th, div.architecturetext table tr:first-child td {
		border-top: 0px solid #CCCCCC;
	}
	div.architecturetext table tr:first-child th {
		border-top: 1px solid #CCCCCC;
	}
	div.architecturetext table tr:last-child td {
		border-bottom: 1px solid #CCCCCC;
	}

	
	
	
	
/*****土木建築者の募集詳細*****/
	/***トップイメージ***/
	div.topimage.civilengineer h1::after {
		font-size: 3.0rem;
	}
	
	

	
	
/*****お知らせ*****/
	/***トップイメージ***/
	div.topimage.information h1::after {
		font-size: 3.0rem;
	}
	/***ポスト***/
		div.newspost {
		width: 100%;
		margin: 30px 0;
	}


	
	
	
	
/*****個人情報保護方針*****/
	/***トップイメージ***/
	div.topimage.privacypolicy h1::after {
		content: 'PRIVACY POLICY';
		font-family: "Arial", "メイリオ";
		font-size: 3.0rem;
	}
	/***コンテンツ***/
	div.privacypolicytext h2 {
		font-size: 2.0rem;
		margin-bottom: 40px;
	}

	
	
	
	
/*****関連情報*****/
	/***トップイメージ***/
	div.topimage.related h1::after {
		font-size: 3.0rem;
	}
	/***コンテンツ***/
	div.relatedtext h2 {
		font-size: 2.0rem;
		margin-bottom: 40px;
	}
	div.relatedtextwrapleft img {
		height: 300px;
		margin-top: 30px;
	}

	
	
	
	
	
/*****お問い合わせ*****/
	/***トップイメージ***/
	div.topimage.entry h1::after {
		font-size: 3.0rem;
	}
		
	
	
	

	/*****採用エントリー*****/
	/***トップイメージ***/
	div.topimage.entry h1::after {
		font-size: 3.0rem;
	}
	/***フォーム（共通）***/
	div.contact {
		min-width: 100%;
	}
	div.contactform {
		width: 100%;
		margin: 50px 0 100px;
	}
	/*入力ボックス（通常）*/
	div.contactform label span.title {
		width: auto;
		min-width: auto;
		max-width: auto;
		justify-content: start;
	}
	div.contactform label span.title.area {
		min-width: auto;
		max-width: 100%;
		width: 100%;
		display: block;
		white-space: wrap;
	}
	div.contactform label span.entry {
		width: 100%;
	}
	/*ボタン*/
	div.contactform div.buttonwrap input {
		width: 150px;
		height: 60px;
		margin: 0 10px;
	}
	
}
