@charset "UTF-8";
/*
Theme Name: sakata-sd
Theme URI: 
Description: 株式会社 坂田測量設計事務所様 テーマ
Author: Kazuyuki Yamamori
Author URI: 
Version: 1.0
*/

/*
----------------------------------------------------
FOR www.sakata-sd.co.jp
updated: 19 March 2022
updated: 7 September 2023
---------------------------------------------------- */

/* iOSのボタンデザイン初期化*/
&[type="button"], 
&[type="submit"] {
    -webkit-appearance: none;
}

/* 変数 */
:root {

	/* 色 */
	--lightgreen: #75C1B3;
	--dullgreen: #709899;
	--logogreen: #26930F;
	--deepgreen: #06483C;

	--lnavbase: #C9E7E1;

	--dullblue: #72A7BF;
	--btnblue: #0089BE;
	--darkblue: #20739A;
	--linkblue: #28537E;
	--superlightblue: #E5EFF4;

	--white: #ffffff;
	--superlightgray: #dddddd;
	--grayborder: #dddddd;
	--lightgray: #888888;
	--midgray: #666666;
	--darkgray: #333333;


	/* 左右の余白 */
	--side: 3vw;

}


/* メモ
使用するGoogleウェブフォント
  font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Montserrat', sans-serif;
	font-family: 'Roboto', sans-serif;

  font-family: "Font Awesome 5 Free";
	content: "\f105
*/

/* 基本 */

body {
  	font-family: 'Noto Sans JP', sans-serif;
  	color: var( --darkgray );
  	background: #fff; 
  	font-size: 16px;
  	line-height: 1.7;
}

.container {
	width: 84%;
	margin: 0 auto;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.container {
		width: 91%;
		max-width: 1240px;
	}
}

/* リセット / ノーマライズ / サニタイズ */

body, h1, h2, h3, h4, h5, h6, p, ul, figure {
	margin: 0;
	padding: 0;
}

a {
	color: inherit;
	text-decoration: none;
	transition: all 0.4s ease;
}

a:hover {
	opacity: 0.8;
}

.sr-only {
	border: 0; 
	clip: rect(0 0 0 0); 
	height: 1px; 
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.t-right {
	text-align: right;
}

figcaption {
	font-size: 12px;
	padding: 5px;
	color: var(--midgray);
}


/* clearfix */

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix:before {
　	content: "";
	display: block;
	clear: both;
}
 
.clearfix {
	display: block;
}


/* 基本：画像 */

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

img.thumbnail {
	padding: 4px;
	border: 1px solid var(--superlightgray);
	border-radius: 4px;
}


/* ボタン */
.btn {
	display: block;
	width: 208px;
	margin: 0 auto;
	padding: 11px 11px 13px;
	box-sizing: border-box;
	border-radius: 4px;
	color: var( --white );
	background-color: var( --btnblue );
	font-size: 16px;
	text-align: center;
	transition: all 0.4s ease;
}

.btn.btn-wide {
	width: 228px;
}

/* Font Awesome <i class="fas fa-angle-right"></i> */
.btn::after {
    content: "\f105";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-left: 10px;
}

.btn2 {
	display: block;
	width: 208px;
	margin: 0 auto;
	padding: 11px 11px 13px;
	box-sizing: border-box;
	border: solid 2px currentColor;
	border-radius: 4px;
	color: var( --linkblue );
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	transition: all 0.4s ease;
}

.btn2::after {
    content: "\f105";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-left: 10px;
}


/* a.link-text */
a.link-text {
	display: inline-block;
	color: var(--linkblue);
}

a.link-text::before {
    content: "\f105";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-right: 5px;
}

/* ヘッダー */

.header {
	background: #fff;
}

.header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 74px;

}

/* w=900px以上 */
@media (min-width: 900px) {
	.header .container {
		height: 100px;
	}
}

/* ヘッダー：サイト名 */

.site {
	display: flex;
	align-items: center;
}

.site img {
	width: 42px;
	margin-right: 10px;
}

.site .corp {
	font-size: 15px;
	font-weight: 900;
	line-height: 1.4;
	margin: 0 0 2px;
}

.site .desc {
	color: 	var(--lightgray);
	font-size: 11px;
	line-height: 1.4;
	margin: 0 0 0 2px;
}

/* w=900px以上 */
@media(min-width: 900px) {
	.site img {
		width: 59px;
		width: 62px;
		margin-right: 18px;
	}

	.site .corp {
		font-size: 20px;
	}

	.site .desc {
		font-size: 12px;
	}
}

/* main */

main {
}


/* .coverimg（ヘッダー）画像（コンテンツページ） */

.coverimg {
	position: relative;
}

.headimg img {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

.coverimg .wrapper {
 	position: absolute;
 	top: 0;
 	width: 100%;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 250px;
	background: rgba(0,0,0,0.4);
}

.coverimg .wrapper .subtitle,
.coverimg .wrapper h1,
.coverimg .wrapper .h1 {
	padding-left: 7vw;
	padding-right: 7vw;
}

.coverimg .subtitle {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-shadow: 0px 0px 3px rgba(0,0,0,0.2);
}

.coverimg h1,
.coverimg .h1 {
	margin: 0;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	display: block;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.2);
}


/* w=600px以上、899px以下 */
@media (min-width: 600px) and (max-width: 899px) {
	.coverimg .subtitle {
		font-size: 20px;
	}
	.coverimg h1,
	.coverimg .h1 {
		font-size: 55px;
	}		
}


/* w=900px以上、1440px以下 */
@media (min-width: 900px) and (max-width: 1440px)  {
	.headimg img {
		height: 300px;
	}

	.coverimg .wrapper {
		justify-content: start;
		align-items: center;
		height: 300px;
		padding-left: 8vw;
		background: rgba(0,0,0,0);
	}

	.coverimg .subtitle {
		font-size: 24px;
		text-align: left;
		margin-left: 0.5em;
	}

	.coverimg h1,
	.coverimg .h1 {
		font-size: 70px;
	}
}


/* w=1441px以上 */
@media (min-width: 1441px) {
	.headimg img {
		height: 393px;
	}

	.coverimg .wrapper {
		justify-content: start;
		align-items: center;
		height: 393px;
		padding-left: 8vw;
		background: rgba(0,0,0,0);
	}

	.coverimg .subtitle {
		font-size: 24px;
		text-align: left;
		margin-left: 0.5em;
	}

	.coverimg h1,
	.coverimg .h1 {
		font-size: 70px;
	}
}


/*
----------------------------------------------------
《page.php、index.php用、single.phpなど共通》

.content,h1.h2.h3.h4.p
<table-basic><table-2-column>
<dl-basic><dl-basic-2><dl-common><ul.timeline>

《page.php用》

《index.php用、single.php用》

---------------------------------------------------- */

/* w=899px以下 */

/* article.content */

.content {
	width: 84%;
	margin: 36px auto 74px;
}


/* .content h1 */

.content .subtitle {
	color: var( --lightgreen );
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: bold;
}

.content h1 {
	margin-bottom: 0;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.5;
}


/* .content h2 */

.content h2{
	margin-top: 50px;
	margin-bottom: 35px;
	font-weight: 700;
}

.content h2.h2-bgblue {
	font-size: 20px;
	line-height: 2;
	text-align: center;
	color: var( --white );
	background-color: var( --darkblue );
	border-radius: 4px;
}

.content h1 + h2.h2-bgblue {
	margin-top: 30px;
}


.content h2.h2-basic {
	font-size: 22px;
	line-height: 1.8;
	text-align: left;
	color: var( --darkgray );
	background-color: var( --white );
}


/* .content h3 */

.content h3,
.content .h3 {
	color: var( --darkblue );
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 1.5em;
}

.content p + h3 {
	margin-top: 1.5em;
}

/* .content h4 */

.content h4,
.content .h4 {
	font-size: 17px;
	font-weight: 700;
	color: var( --darkgray );
}


/* .content p */

.content p {
	margin: 1em 0;
	font-size: 14px;
}

.content h2 + p,
.content .h2 + p  {
	margin-top: -1em;
}

.content h3 + p,
.content .h3 + p {
	margin-top: -1em;
}

.content p.indent {
	text-indent: 1em;
}




@media (min-width: 600px) and (max-width: 900px) {
	.content .subtitle {
		font-size: 18px;
	}
	.content h1 {
		font-size: 37px;
	}
}



/* w=900px以上 */

@media (min-width: 900px) {
	.content {
		max-width: 880px;
		margin: 64px auto 90px;
		padding-left: 70px;
		padding-right: 70px;
	}

	.content .subtitle {
		font-size: 20px;
	}

	.content h1 {
		font-size: 44px;
	}

	.content h2 {	
		margin-top: 80px;
		margin-bottom: 50px;
	}
	
	.content h2.h2-bgblue {	
		font-size: 24px;
	}

	.content h2.h2-basic {
		font-size: 26px;
	}

	.content h1 + h2 {
		margin-top: 50px;
	}

	.content h3,
	.content .h3 {
		font-size: 22px;
	}

	.content h4,
	.content .h4 {
		font-size: 19px;
}
	.content p {
		font-size: 16px;
	}
}


/* single-page 例外 */

.single .content {
	margin-bottom: 0;
}


/* company-profile/representative/のpresident-photo */


img.profile-picture {
	margin: 1.5em 1.75em 1.75em 0;
	float: left;
	width: 40%; 
	max-width: 330px;
	border-radius: 4px;
}

/* w=599px以下 */
@media(max-width: 599px) {
	img.profile-picture {
		width: 50%; 
	}
}

/* w=425px以下 */
@media(max-width: 425px) {
	img.profile-picture {
		width: 100%; 
		margin-right: 0;
		max-width: none;
	}
}



/* .nom 「主な指名実績」で使用するクラス */

.page-id-65 .nom {
	border-bottom: 1px dotted var(--dullblue);
	padding-bottom: 25px;
}

.page-id-65 .content h2.h3 {
	margin-top: 25px;
}

.page-id-65 .content p {
	margin-bottom: 0;
}


/* .table-basic */

.table-basic {
	width: 100%; 
	border-collapse: collapse;
	font-size: 14px;
}

/* w=900px以上 */
@media(min-width: 900px) {
	.table-basic {
		font-size: 16px;
	}
}

.table-basic tr {
	border-bottom: 1px dotted var( --dullblue ); 
}

 .table-basic tr:first-child  {
	border-top: 1px dotted var( --dullblue ); 
}

.table-basic th,
.table-basic td {
	padding: 20px 0; 
	border: none;
}

.table-basic th {
	background: none; 
	width: 25%; 
	text-align: left;
	vertical-align: top;
}

.table-basic td span {
	display: block;
}

.table-basic td span:not(:first-child) {
	margin-top: 1em;
}

@media (max-width: 480px) {
    .table-basic th	{ 
		padding-bottom: 0;	
		}
    .table-basic th,
    .table-basic td {
		width: 100%;
		display: block;
		border-top: none;
    }
		.table-basic td br.br-sp {
		display: none;
		} 
}


/* .table-2-column */

h1 + table.table-2-column  {
	margin-top: 50px;
}

.table-2-column {
	width: 100%; 
	border-collapse: collapse;
	font-size: 14px;
}

/* w=900px以上 */
@media(min-width: 900px) {
	.table-2-column {
		font-size: 16px;
	}
}

.table-2-column tr {
	border-bottom: 1px dotted var( --dullblue ); 
}

.table-2-column tr:first-child  {
	border-top: 1px dotted var( --dullblue );  
}

.table-2-column th,
.table-2-column td {
	padding: 10px 20px; 
	border: none;
}

.table-2-column th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

.table-2-column td {
	text-align: right;
	white-space: nowrap;
}

.table-2-column th br.br-sp {
	display: none;
} 

@media (min-width: 768px) {
	.table-2-column {
		width: 80%;
		margin: 0 auto;
	}
}

@media (min-width: 900px) {
	h1 + table.table-2-column  {
	margin-top: 70px;
	}
}

@media (max-width: 480px) {
    .table-2-column th	{ 
		padding-bottom: 0;
		font-weight: bold;
		}
    .table-2-column th,
    .table-2-column td {
		width: 100%;
		display: block;
		border-top: none;
		text-align: left;
    }
		.table-2-column th br.br-sp {
		display: inline;
		} 

}


/* .dl-basic */

.dl-basic dt,
.dl-basic dd {
	margin: 0;
}

.dl-basic dt {
	font-size: 16px;
	font-weight: 700;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px dashed var( --darkblue );
}

.dl-basic dd:not(:last-child) {
	margin-bottom: 2em;
}

.dl-basic dd {
	font-size: 14px;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.dl-basic dt {
		font-size: 18px;
	}
	.dl-basic dd {
		font-size: 16px;		
	}
}

/* .dl-basic-2 */

.dl-basic-2 dt,
.dl-basic-2 dd {
	margin: 0;
}

.dl-basic-2 dt {
	color: var( --darkblue );
	font-size: 16px;
	font-weight: 700;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px dashed var( --darkblue );
}

.dl-basic-2 dd:not(:last-child) {
	margin-bottom: 2em;
}

.dl-basic-2 dd {
	font-size: 14px;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.dl-basic-2 dt {
		font-size: 18px;
	}	
	.dl-basic-2 dd {
		font-size: 16px;		
	}
}



/* .dl-common 採用情報で使用*/

.dl-common {
	margin-top: 2em;
}

.dl-common dt,
.dl-common dd {
	margin: 0;
}

.dl-common dt {
	color: var( --darkblue );
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 0.75em;
}

.dl-common dd {
	font-size: 16px;
	margin-left: 2em;
}

.dl-common dd ul,
.dl-common dd li {
	margin: 0;
}

.dl-common dd li {
	margin-bottom: 1em;
	font-size: inherit;
}

.dl-common dd:not(:last-child) {
	margin-bottom: 2em;
}

span.tel-num {
	font-family: 'Roboto', sans-serif;
	font-weight: 100;
	font-size: 42px;
	display: inline-block;
	padding: 0.25em 0 0;
	line-height: 1.1;
}

.dl-common dd small {
	font-size: 22px;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
}

.dl-common dd small span {
	font-size: 18px;
}

.dl-common dd .btn {
	display: inline-block;
	margin-top: 0.75em;
}


/* w=900px以上 */
@media (min-width: 900px) {
	.dl-common dt {
		font-size: 20px;
	}
	.dl-common dd {
		font-size: 18px;
	}
	span.tel-num {
	font-size: 48px;
	}
	.dl-common dd small {
		font-size: 26px;
	}
}




/* ul.timeline */

.timeline {
	margin: 70px auto 0 auto;
	list-style-type: none;
	width: 90%;
}

.timeline > li {
		overflow: hidden;
}

p.timeline-date {
		font-size: 22px;
  	width: 28%;
  	float: left;
  	margin: 20px 0 0;
  	font-weight: bold;
		line-height: 1;
		color: var( --navy );
}

p.timeline-date span {
		color: var( --lightgray );
		font-size: 16px;	
		font-weight: normal;
		padding-left: 0.75em;
		line-height: 1.8;
}

dl.timeline-content {
  	width:  calc(72%-33px);
		display: flex;
		flex-wrap: wrap;
  	border-left: 3px solid  var( --superlightgray );
  	padding: 20px 0 20px 30px;
		margin: 0;
  	position: relative;
}

dl.timeline-content:before {
  	content: '';
  	width: 12px;
  	height: 12px;
  	background: var( --lightgreen );
  	position: absolute;
  	left: -7px;
  	top: 26px;
  	border-radius: 100%;
}

dl.timeline-content dt {
		width: 12%;
		margin: 0;
		padding: 0;
		font-weight: bold;
}

dl.timeline-content dd {
		width: 88%;
		margin: 0;
		padding: 0 0 2em;
}

dl.timeline-content dd:last-child {
		padding: 0 0 1em;
}


@media(max-width: 767px) {
	.timeline {
		margin-top: 50px;
		width: 100%;
	}
	p.timeline-date {
		font-size: 18px;
  	width: 100%;
  	float: none;
		padding: 0.25em 0.75em; 
		border-top: 0px dotted var( --darkblue ); 
		border-bottom: 0px dotted var( --darkblue ); 
		background: var( --darkblue ); 
		color: var( --white )
	}

	p.timeline-date span {
		color: inherit;
	}

	dl.timeline-content {
  	width:  100%;
		display: flex;
		flex-wrap: wrap;
  	border-left: 0px none;
  	padding: 20px 0;
	}
	dl.timeline-content:before {
  	width: 0;
  	height: 0;
	}
	dl.timeline-content dt {
		width: 12%;
		padding-left: 2%;
		line-height: 1.5;
	}
	dl.timeline-content dd {
		width: 84%;
		padding-right: 2%;
		font-size: 14px;
		line-height: 1.8;
	}

}








/* .map埋め込み */

.map {
	margin-top: 2rem;
	padding: 0 10%;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
		border: 1px solid var( --superlightblue );
		margin-bottom: 5rem;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 899px) {
	.map {
		padding: 0 2rem;
	}
}

@media(max-width: 599px) {
	.map {
		padding: 0;
	}
}






/*-----------------------------
ページ最下部の
「お問い合わせセクション」
------------------------------*/

.contact {
	padding: 62px 0;
	background-color: var(--superlightblue);
	text-align: center;
}

.contact .subtitle {
	color: var( --darkblue );
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
  font-weight: bold;
}

.contact h2 {
	font-size: 24px;
}

.contact p {
	width: 70%;
	margin: 18px auto 0;
	font-size: 14px;
	line-height: 2;
}

.contact p br.br-sp {
	display: none;
	}

.contact .btn {
	margin-top: 30px;
	margin-bottom: 0;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.contact {
		padding: 0;
		background: none;
	}

	.contact .container {
		padding: 92px 9% 62px;
		box-sizing: border-box;
		background-color: var(--superlightblue);
	}

	.contact .subtitle {
		font-size: 20px;
	}

	.contact h2 {
		font-size: 30px;
	}

	.contact p {
		margin: 18px auto 0;
		font-size: 17px;
	}

	.contact p br.br-sp {
		display: inline;
	}
}




/*-----------------------------
「お問い合わせフォーム」
------------------------------*/

/* hr.style */

hr.style1 {
	border: none;
	border-top: 4px double #ddd;
	text-align: center;
	margin: 1rem 0 2rem;
}


/*-----------------------------
mw_wp_form 
------------------------------*/

.mw_wp_form {
	margin-top: 2.75rem;
	padding: 2.5rem 4rem 2rem;
	background: #FFF;
	border-radius: 8px;
	
	-moz-box-shadow: 0px 0px 47px -5px rgba(0, 0, 0, 0.26);
	-webkit-box-shadow: 0px 0px 47px -5px rgba(0, 0, 0, 0.26);
	-ms-box-shadow: 0px 0px 47px -5px rgba(0, 0, 0, 0.26);
	box-shadow: 0px 0px 47px -5px rgba(0, 0, 0, 0.26);
}

@media only screen and (max-width:991px) {
	.mw_wp_form {
	padding: 1rem 1.5rem;
	}
}

@media only screen and (max-width:767px) {
    .mw_wp_form {
	margin-top: 2rem;
	padding: 1rem 1.5rem;
	}
}


/*-----------------------------
tabel.cform
------------------------------*/

table.cform {
    margin: 0;
	width: 100%;
}

.cform th {
    width: 30%; /*変なところで改行される場合はここの数字を変更します。*/
    padding: 1rem;
    font-weight: normal;
	vertical-align: top;
	text-align: right;
}

.cform td {
    line-height: 150%;
    padding: 0.85rem 0;
}

.cform textarea,
.cform input[type=text],
.cform input[type=email] {
	width: 90% !important;
}

.cform .form-control {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--darkgray);
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 0.25rem;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.cform select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Add some styling */
 
  outline: none;
  display: block;
  width: 220px !important;
  line-height: 1.75;
  -ms-word-break: normal;
  word-break: normal;
	background: #ffffff url(img/arw-2-down.png) 188px 50% no-repeat !important;
}

.required-srt {
    font-size: 8pt;
    padding: 5px;
    background: #ce0000;
    color: #fff;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
}

.submit-btn input {
		font-size: 1.2rem;
		width: 60%;
		max-width: 550px;
		min-width: 220px;
		margin: 30px auto;
		border: none !important;
		outline: none;
		appearance: none;
		-webkit-appearance: none;
}

.submit-btn input:hover {  
		cursor: pointer;
		opacity: 0.8;
}

.back-btn input {
		font-size: 1.2rem;
		width: 60%;
		max-width: 550px;
		min-width: 220px;
		margin: -10px auto 30px;
		border: none !important;
		outline: none;
		appearance: none;
		-webkit-appearance: none;
		background: #555 !important;
}

.back-btn input:hover {  
		cursor: pointer;
		opacity: 0.8;
}



.parent-pageid-38 small.form-text {
		display: none;
}






@media only screen and (max-width:767px) {
    .cform th,
    .cform td {
      width: 100%;
      display: block;
      border-top: none;
			text-align: left;
    }
	.cform th {
			padding-bottom: 0;
			padding-top: 2rem;
			padding-left: 0;
	}
	.cform td {
      border-bottom: dashed 1px #d6d6d6;
			padding-bottom: 2rem;
	}
	.cform tr:last-child td {
			border-bottom: none;
	}
}


/*-----------------------------------------------------
.news-list（ニュース一覧とニュースアーカイブページ用）
-----------------------------------------------------*/

h2.title-archive  {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.8;
	text-align: left;
	color: var( --darkgray );
	background-color: var( --white );
	margin-bottom: 25px;
	font-family: 'Roboto', sans-serif;
}

ul.news-list {
	margin: 0;
	padding: 0;	
}

li.list-item {
	list-style: none;
	padding-bottom: 1.75rem;
	margin-bottom: 1.75rem;
	border-bottom: 1px dotted var(--dullblue) ;
}

li.list-item {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
}

li.list-item .thumbnail-image-block {
	background: transparent;
}

li.list-item .thumbnail-image-block img {
	display: block;
	padding: 4px;
	border: 1px solid var(--superlightgray);
	border-radius: 4px;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.05);
}

li.list-item .thumbnail-image-block img:hover {
	opacity: 0.8;
	transition: all 0.4s ease;
}

span.date {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
}

.news-content span.date {
	margin-bottom: 0.25rem;
	font-size: 1.2rem;
}

li.list-item .news-content .news-title {
	color: var(--linkblue);
	margin-bottom: 1.5rem;
	font-size: 17px;
}

li.list-item .news-content .excerpt {
	color: var(--midgray);
}

li.list-item .news-content .btn {
	display: inline-block;
}


/* w=900px以上 */
@media (min-width: 900px) {
	li.list-item .news-content .news-title {
		font-size: 20px;
	}
}




/* 幅調整 */

li.list-item .thumbnail-image-block {
	/* margin-right: 2rem;
	flex-basis: 210px; 
	flex: 0 1 26%; */
	width: 245px;
	
}
li.list-item .news-content {
	/*flex-basis: 630px; 
	flex: 0 1 75%; */
	flex: 1;
	width: 100%;
}

@media (max-width: 950px)  {
	li.list-item .thumbnail-image-block {
	width: 210px;
	}
	li.list-item .thumbnail-image-block img {
	width: 175px;	
	}
}

@media (max-width: 768px)  {
	li.list-item .thumbnail-image-block {
	width: 190px;
	}
	li.list-item .thumbnail-image-block img {
	width: 155px;	
	}
}

@media (max-width: 480px)  {
	li.list-item {
	flex-direction: column;
	}
	li.list-item .thumbnail-image-block {
	display: none;
	}
	li.list-item .news-content .btn {
	display: block;
	}
}



/*-----------------------------------------------------
wp-pagenavi（ニュース一覧とニュースアーカイブページ用）
-----------------------------------------------------*/

.wp-pagenavi {
	clear: both;
	text-align: center;
	margin-top: 2rem;
}
.wp-pagenavi a,
.wp-pagenavi span {
	font-size: 1.2rem;
	color: #777;
	text-decoration: none;
	background: transparent;
	border: 1px solid #999 !important;
	padding: 8px 10px !important;
	margin: 5px !important;
	transition: all 0.4s ease;
}
.wp-pagenavi span.pages ,
.wp-pagenavi span.extend {
	background: none;
	border:none !important;
	font-size: 1.2rem;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	color: var(--linkblue);
	border: 1px solid var(--linkblue) !important;
	background: transparent;
}
.wp-pagenavi span.current {
	font-weight: normal !important;
}

/* @end */


/*-----------------------------------------------------
.news-single（ニュース シングルページ）
-----------------------------------------------------*/

.news-single {
}

.news-single span.date {
	margin-bottom: 0.25rem;
	font-size: 1.2rem;
}

h2.title-single  {
	font-size: 22px;
	margin-top: 20px;
	line-height: 1.5;
	font-weight: 700;
	color: var( --darkblue );
	background-color: var( --white );
}

.news-single ul {
	margin: 0 0 2rem 2rem;;
}

.news-single ul li {
	margin: 0;
}

/* シングルページに配置する画像 */
.news-single p img,
.news-single img {
	display: inline-block;
	padding: 4px;
	border: 1px solid var(--superlightgray);
	border-radius: 4px;
 	box-shadow: 1px 1px 1px rgba(0,0,0,0.05);
 	margin: 15px;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.news-single span.date {
		font-size: 1.4rem;
	}
	h2.title-single  {
		font-size: 28px;
		margin-top: 30px;
	}
}


@media screen and (max-width: 599px) {
	/* 599px以下用の記述 */
.news-single p img,
.news-single img {
	display: block;
 	margin: 25px auto;
}
}



/*-----------------------------------------------------
.navPage（ニュース投稿のシングルページ下部のnavPage）
-----------------------------------------------------*/

.navPage {
	clear:both;
	margin: 3rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px dotted var(--dullblue);
}

.navPage:after {
	content: "."; 
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	line-height: 0;
}
.navPage a {
	font-size: 14px;
	line-height: 1.5 !important;
	display:block;
	line-height: 40px;
	color: var(--linkblue);
	transition: all 0.4s ease;
	margin-bottom: 1rem;
}

.navPage a:hover {
}

.navPage .prev {
	float: left;	
}

.navPage .next {
	float: right;	
}

.navPage .prev a::before {
    content: "\f053";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-right: 10px;
}

.navPage .next a::after {
    content: "\f105";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-left: 10px;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.navPage a {
		font-size: 16px;
	}
}





/*-----------------------------------------------------
.gobackto-index（ニュースのシングルページの上下で使用）
-----------------------------------------------------*/


section.align-r {
	padding: 2rem 0 0;
	margin-bottom: -2.5rem;
}

section.align-r.last {
	margin-bottom: 2rem;
}

.gobackto-index {
	display: flex;
	justify-content: flex-end;
	margin: 0;
}

.gobackto-index a {
	display: inline-block;
	border: 1px solid var(--dullblue);
	padding: 0.75rem 1.5rem;
	line-height: 1;
	color: var(--linkblue);
	border-radius: 6px;
	font-size: 14px;
}

.gobackto-index a::before {
    content: "\f053";
    font-weight: bold;
		color: currentColor;
    font-family: "Font Awesome 5 Free";
    padding-right: 10px;
}


/* w=900px以上 */
@media (min-width: 900px) {
	.gobackto-index a {
		font-size: 16px;
	}
	section.align-r {
		margin-bottom: -4.5rem;
	}
}



/*-----------------------------------------------------
ナビゲーションボタン
-----------------------------------------------------*/

.nav-button {
	box-sizing: content-box;
	padding: 0;
	outline: none;
	border: none;
	background: none;
	width: 20px;
	height: 14px;
	cursor: pointer;
	color: #2E5180;
}

.nav-button::before,
.nav-button::after {
	content: '';
	display: block;
	height: 2px;
	background-color: currentColor;
	transform: translateY(5px);
	transition: 0.3s ease-in-out;
}

.nav-button::before {
	transform: translateY(-5px);
	box-shadow: 0 6px currentColor;
}


/* ナビゲーションボタン（閉じるボタン） */

.open .nav-button {
	z-index: 1000;
	color: #ffffff;
}

.open .nav-button::before {
	transform: translateY(1px) rotate(45deg);
	box-shadow: none;
}

.open .nav-button::after {
	transform: translateY(-1px) rotate(-45deg);
}


/* ナビゲーションメニュー: モバイル */

/* w=999px以下 */
@media (max-width: 999px) {
	html.open, .open body {
		height: 100%;
		overflow: hidden;
	}

	.open .form {
		display: none;
	}

	.open nav {
		left: 0;
	}

	html, body {
		overflow-x: hidden;
	}

	.header {
		position: relative;
	}

	.nav {
		z-index: 3;
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100vh;
		background: rgba(0,0,0,0.8);
		color: #ffffff;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: left 0.5s;
	}

	.nav ul,
	.nav ul li {
		margin: 0;
		padding: 0;
	}
		
	.nav ul {
		list-style: none;
		font-weight: bold;
		text-align: center;
		font-size: 16px;
	}

	.nav ul li a {
	padding: 1rem 2rem;
	}

	.nav li:not(:last-child) {
		margin-bottom: 40px;
	}
}

/* ナビゲーションメニュー： PC */
/* w=1000px以上 */
@media (min-width: 1000px) {
	.nav-button {
		display: none;
	}

	.nav ul {
		display: flex;
		align-items: center;
		list-style: none;
		font-size: 16px;
		font-weight: bold;
	}

	.nav li:not(:last-child) {
		margin-right: 25px;
	}
}


/* カテゴリーインデックス */

.category-index {
	margin-top: 60px;
}

.category-index ul,
.category-index li {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul#menu-category-link-cp,
ul#menu-category-link-bc,
ul#menu-category-link-g {
  margin: 0 auto;
  display: flex;
	flex-flow: row wrap;
  justify-content: space-between;
  max-width: 980px;
	padding-left: 6vw;
	padding-right: 6vw;
}

/* 2-col */
ul#menu-category-link-g {
	max-width: 660px;
}

ul#menu-category-link-cp li,
ul#menu-category-link-bc li,
ul#menu-category-link-g li {
  width: calc((100% - 40px)/3);
	margin-bottom: 20px;
}

/* 2-col */
ul#menu-category-link-g li {
  width: calc((100% - 40px)/2);
}

ul#menu-category-link-cp li a,
ul#menu-category-link-bc li a,
ul#menu-category-link-g li a {
  display: block;
  text-decoration: none;
  outline: none;
  height: 76px;
  line-height: 76px;
	color: var( --dullgreen );
	border: solid 1px currentColor;
	border-radius: 4px;
  font-size: 19px;
  letter-spacing: 0.14em;
  text-align: center;
	box-sizing: border-box;
	background: #fff;
 	box-shadow: 1px 1px 1px rgba(0,0,0,0.1);
}

ul#menu-category-link-cp li a::after,
ul#menu-category-link-bc li a::after,
ul#menu-category-link-g li a::after {
  content: "\f105";
  font-weight: bold;
	color: currentColor;
  font-family: "Font Awesome 5 Free";
  padding-left: 10px;
}

ul#menu-category-link-cp li:hover a,
ul#menu-category-link-bc li:hover a,
ul#menu-category-link-g li:hover a {
	color: var( --midgray );
	background: #f5fbf7;
	border: solid 1px var( --dullgreen );
}

ul#menu-category-link-cp li.current-menu-item a,
ul#menu-category-link-bc li.current-menu-item a,
ul#menu-category-link-g li.current-menu-item a {
	color: var( --darkgray );
	background:  var( --lnavbase );
	border: solid 1px var( --dullgreen );
}

/* w=899px以下 */
@media(max-width: 899px) {
	.category-index {
		margin-top: 30px;
	}
	ul#menu-category-link-cp li,
	ul#menu-category-link-bc li {
    	width: calc((100% - 30px)/3);
		margin-bottom: 15px;
	}

	ul#menu-category-link-g li {
    	width: calc((100% - 30px)/2);
		margin-bottom: 15px;
	}

	ul#menu-category-link-cp li a,
	ul#menu-category-link-bc li a,
	ul#menu-category-link-g li a {
		height: 60px;
		line-height: 60px;
		font-size: 15px;
	}
}

/* w=599px以下 */
@media(max-width: 599px) {
	ul#menu-category-link-cp li,
	ul#menu-category-link-bc li,
	ul#menu-category-link-g li {
    	width: calc((100% - 15px)/2);
	}
}

ul.category-link.col-2 {
	    max-width: 660px;
}

ul.category-link.col-2 li {
    width: calc((100% - 40px)/2);
}



/* フッター */

.footer {
	padding: 38px 0 56px;
	background-color: var(--deepgreen);
}

.footer .site img {
	width: 47px;
	margin-right: 14px;
}

.footer .site .corp {
	color: #ffffff;
	font-size: 16px;
}

.footer .add {
	margin: 20px 0 30px 61px;
	color: #ffffff;
	font-size: 12px;
	line-height: 2;
}

.footer .copy {
	margin: 0 0 0 61px;
	font-size: 10px;
	color: #ffffff;
	font-family: 'Montserrat', sans-serif;
	opacity: 0.8;
}

/* w=900px以上 */
@media (min-width: 900px) {
	.footer {
		margin-top: -48px;
		padding: 105px 0 88px;
		position: relative;
		z-index: -1;
	}

.page-template-page-employment-info .footer,	
.page-template-page-inquiry .footer {
		margin-top: 0;
		padding-top: 88px;
	}

	.footer .container {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}

	.footer .site img {
		width: 59px;
		margin-right: 18px;
	}

	.footer .site .corp {
		font-size: 20px;
	}

	.footer .add {
		margin: 22px 0 0 77px;
	}

	.footer .copy {
	font-size: 12px;
	}
}







/*---------------------------------------------------
.galleryカスタマイズ（デフォルトCSS無効化して上書き）
----------------------------------------------------*/

.gallery { /** ギャラリーを囲むボックス **/
	width: 100%;
	margin: 40px 0 0;
  overflow: hidden;
}

.gallery br {display: none;} /** 自動で挿入される clearfix の余白解除 **/

.gallery-item { /** 画像共通のスタイル **/
  float: left;
	margin-bottom: 0;
}

.gallery-icon { /** 画像を囲む dt のスタイル **/
    text-align: center;
}

.gallery-icon img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	padding: 4px;
	border: 1px solid var(--superlightgray);
	border-radius: 4px;
 	box-shadow: 1px 1px 1px rgba(0,0,0,0.05);
 	box-sizing: border-box;
}

.gallery-caption { /** キャプション **/
    color: #222;
    font-size: 12px;
    margin: 0 0 10px;
    text-align: center;
}

.gallery-columns-1 .gallery-item { /** カラムなし **/
    width: 100%;
    margin-right: 0;
}
.gallery-columns-2 .gallery-item { /** 2カラム **/
		width: 46%;
		margin: 0 2%;
}
.gallery-columns-3 .gallery-item { /** 3カラム **/
    width: 31%;
		margin: 0 1%;
}

@media screen and (max-width: 599px) {
	/* 599px以下用の記述 */
	.gallery-columns-2 .gallery-item {
	  	width: 100%;
			margin-right: 0;
			margin-left: -0.125rem;
	}
	.gallery-columns-2 .gallery-item .gallery-icon img {
	  	width: 93%;
	}
	.gallery-columns-3 .gallery-item {
	  	width: 100%;
			margin-right: 0;
			margin-left: -0.125rem;
	}
	.gallery-columns-3 .gallery-item .gallery-icon img {
	  	width: 93%;
	}
}





/*-----------------------------------------------------
.galleryコンテンツ（業務実績・受賞実績）
-----------------------------------------------------*/

.award-item {
	border-bottom: 1px dotted var(--dullblue);
}

.award-item .fas {
	color: #6E9899;
}

.award-item .table-basic {
	margin-top: 1em;
}

.award-item figure {
	padding: 0 0 25px;
}

/*業務実績*/ 
.page-id-33 .award-item {
	margin-bottom: 50px; 
}

/*業務実績*/ 
.page-id-33 .award-item h3 {
	margin-top: 40px; 
}

/*業務実績*/ 
.page-id-33 .gallery { /** ギャラリーを囲むボックス **/
	margin-top: 25px;
}

/*業務実績*/ 
.page-id-33 ..award-item figure { 
	padding: 0 0 20px;
}



@media screen and (min-width: 600px) {
	/* 600px以下用の記述 */
	br.br-sp.page-gallery {
		display: none;
	}
}





/* フェードイン */

body {
	animation: fade 3s;
}
 
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}



/* IE対応 */
img {font-family: "object-fit: cover";}