@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
/*-------------------------------------------
   サイト全体共通
--------------------------------------------*/

html {
	font-size: 62.5%; /*ルート指定：1rem＝10px*/
}
body {
	overflow-x: hidden;
	font-size: 1.6rem; /*サイト全体の基準となる文字サイズ*/
	font-family: 'Noto Serif JP', serif;
	color:#111;
	font-weight:normal;
}
h1,h2,h3,h4,a{
	color:#111;
	font-family:'Noto Serif JP', serif !important;
	font-weight:normal;
}
* {
	box-sizing: border-box;
}
body img{
	display:block;
	margin:auto;
}
a img {
    backface-visibility: visible;
}
/*------------------------
     改行位置の調整
------------------------*/
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*------------------------------------------
Original
--------------------------------------------*/
/*header*/
#header .inner {
    background: none;
	z-index: 3;
}
@media screen and (min-width: 1100px) {
	#header-layout {
		width: 95%;
		display: flex;
		justify-content: space-between;
		max-width: 1850px;
		align-items: center;
	}
	#header .bg .inner {
		width: 95%;
		max-width: 1850px;
	}
}
@media screen and (min-width: 1024px) {
	nav#mainNav {
		margin: 0 0 0.5rem auto;
		display: table;
		width: auto;
		background: none;
	}
    nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before{
        content: none;
    }
	#header-layout {
		justify-content: center;
	}
	nav#mainNav ul li a {
		height: auto;
		font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1116);
	}
	nav#mainNav ul li a b {
		margin-top: 0;
		font-weight:bold;
		font-family:'Noto Serif JP', serif;
	    position: relative;
		transition:all ease .3s;
	}
	#mainNav ul li a b:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(4 157 233/0%);
    left: 0;
    bottom: -7px;
    transform: translatey(10px);
    transition: all ease .15s;
}
	#mainNav ul li a:hover b:before{
		background:#777;
		transform:translatey(0px);
		transition:all ease .3s;
	}
	nav#mainNav ul li {
		margin: 0 0;
	}
	.sticky-header .site-header {
		display: flex;
		justify-content: space-between;
	    align-items: center;
	}
	/*.sticky-header .site-header #header-layout {
		justify-content: normal;
	}*/
	body.sticky-header nav#mainNav {
		margin-left: auto;
		position: relative;
	    width: inherit;
	}
    nav#mainNav ul li.current-menu-item a b, 
	nav#mainNav ul li a:hover b, 
	nav#mainNav ul li a:active b, 
	nav#mainNav ul li.current-menu-parent a b{
        color: #333;
    }
	nav#mainNav ul li.current-menu-item a span, 
	nav#mainNav ul li a:hover span, 
	nav#mainNav ul li a:active span, 
	nav#mainNav ul li.current-menu-parent a span {
    color: #777;
}
}
/*------PC・SP共通__キャッチフレーズ
--------------------------------------------*/
#header .bg, .bg {
	background: none;
	margin: 0 auto;
}
#header h1, #header .description, #header-upper h1, #header-upper .description {
	color: #000; /*文字色変更*/
	font-size: calc(1.2rem + (1vw - 1.92rem) * 0.2232); /* フォントサイズ：1.2rem → 1rem */
}
#header ul.header__contact li a{
	transition:all ease .15s;
}
#header ul.header__contact li a:hover {
    background:#001b2c;
}
@media print, screen and (min-width: 1024px) {
	/*------ヘッダー上部
--------------------------------------------*/
	#header-upper {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		height: 50px; /* 高さ変更 */
		padding: 0 calc(20px + (1vw - 19.2px) * 1.1161); /* 可変：20px → 10px */
	}
	.header__socialicon ul, #header-upper .header__catchphrase, #header-upper .bg, #header-upper .bg .inner, #header-upper h1, #header-upper .description {
		height: 100%;
	}
	/*------ヘッダー上部__キャッチフレーズ
--------------------------------------------*/
	#header-upper h1, #header-upper .description {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	/*------ヘッダー上部__SNS
--------------------------------------------*/
	.header__socialicon ul {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
	.header__socialicon ul li:not(:last-child) {
		margin-right: 10px;
	}
	.header__socialicon ul li a {
		display: block;
		line-height: 0;
	}
	/*------ヘッダー下部
--------------------------------------------*/
	#header {
		width: 100%;
		height: 100px; /* 高さ変更 */
	}
	#header .inner, #header-layout, #header .logo, #header .sticky-logo, #header .logo a, #header .header__nav-contact, nav#mainNav, #mainNav .inner, nav div.panel, nav#mainNav ul, nav#mainNav ul li, nav#mainNav ul li a, #header ul.header__contact, #header ul.header__contact li, #header ul.header__contact li a {
		height: 100%;
		float: none;
	}
	#header .inner {
		width: 100%;
	}
	#header-layout {
		width: 100%;
		max-width: none;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0;
	}
	/*------ヘッダー下部__ロゴ
--------------------------------------------*/
	#header .logo {
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		line-height: 0;
		padding: .5rem calc(5rem + (1vw - 1.92rem) * 4.4643); 
		background: rgba(255,255,255,0.2);
	}
	#header .logo p.header_caption {
    	float: none !important;
    	line-height: 1.6;
		font-weight:500;
	}
	#header .logo a {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	#header .logo img {
    	width: auto;
    	height: auto;
    	max-width: 100%;
    	max-height: 6rem;
}
	/*------ヘッダー下部__スティッキーロゴ　※スティッキーロゴを使用しないときは削除
--------------------------------------------*/
	#header .sticky-logo {
		display: flex;
		flex-direction: row;
		align-items: center;
		line-height: 0;
		padding: 0 calc(20px + (1vw - 19.2px) * 1.1161) 0 0; /* 可変：20px → 10px */
	}
	/*.sticky-header #header .logo, body:not(.sticky-header) #header .sticky-logo {
		display: none;
	}*/
	body.sticky-header #header .logo img {
	    max-height: 100%;
	}

	/*------ヘッダー下部__グローバルナビ
--------------------------------------------*/
	#header .header__nav-contact {
		flex-shrink: 0;
	}
	nav#mainNav {
		background: rgba(255, 255, 255, .0); /* 背景色変更 */
		margin: 0;
	}
	nav#mainNav ul, #header .header__nav-contact {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	nav#mainNav ul li a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1.5rem calc(2.5rem + (1vw - 1.92rem) * 1.1161);
	}
	
	nav#mainNav ul li:nth-last-child(2) a {
		padding-right: 3.5rem
	}
	nav#mainNav ul > li:last-child{
		display:none;
	}	
	nav#mainNav ul ul.sub-menu {
		width: calc(100% + 33px);
		height: auto;
	}
	nav#mainNav ul ul.sub-menu li{
		display:block;
	}
	nav#mainNav ul ul.sub-menu li a{
		display:block;
		text-align:left;
		position:relative;
		transition:all ease .25s;
		padding:1.5rem;
		font-family:'Noto Serif JP', serif;
		font-weight:bold;
		font-size:1.4rem!important;
		color:#333 !important;
	}
	nav#mainNav ul ul.sub-menu li a:hover{
		background:#f1f1f1;
	}
	nav#mainNav ul li:hover ul.sub-menu {
		top: 100%;
	}
	/*------ヘッダー下部__コンタクトボタン
--------------------------------------------*/
	#header ul.header__contact {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	#header ul.header__contact li a {
		display: flex;
		flex-direction: column; /* アイコンを横並びにする場合は「row」 */
		justify-content: center;
		align-items: center;
		color: #fff; /* 文字色変更 */
		background: #00426A; /* 背景色変更 */
		font-size: calc(1.6rem + (1vw - 1.92rem) * 0.2232); /* 可変：1.6rem → 1.4rem */
		font-weight: 600;
		padding: calc(10px + (1vw - 19.2px) * 0.2232) calc(20px + (1vw - 19.2px) * 0.5580); /* 可変：縦10px → 8px、横20px → 15px */
	}
	#header ul.header__contact li a::before {
		display: block;
		font-family: FontAwesome;
		font-size: 120%; /* サイズ変更 */
		font-weight: 400;
		line-height: 1;
		margin-bottom: 0px;
		/*margin-right:calc(10px + (1vw - 19.2px) * 0.2232);*/
	}
	#header ul.header__contact li a.header__telBtn {
        background:#002e4a;
	}
    #header ul.header__contact li a span {
        padding-top: 6px;
        letter-spacing: 0.05rem;
		font-family: 'Noto Serif JP', serif;
		font-size:15px;
    }
	#header ul.header__contact li a span b{
		font-size:60%;
		display:block;
	}
	#header a.header__telBtn::before {
		content: '\f095';
	}
	#header a.header__mailBtn::before {
		content: '\f0e0';
	}
	/*------スティッキーヘッダー
--------------------------------------------*/
	.sticky-header .site-header {
		z-index: 9999;
	}
	.sticky-header #header > .inner {
		height: auto;
		background: #fff; /* 背景色変更 */
		box-shadow: 0 0 6px rgba(0, 0, 0, .2); /* 不要なら削除 */
	}
	.sticky-header #header-layout {
		justify-content: space-between; /* 配置変更 */
		height: 80px; /* 高さ変更 */
	}
	.sticky-header #header-layout .logo p.header_caption {
    	display:none;
	}
	.sticky-header nav#mainNav {
		background: none;
	}
	/*.sticky-header #header ul.header__contact li a span {
		display: none;
	}*/
	.sticky-header #header ul.header__contact li a::before {
		margin-bottom: 0;
	}
}
/*------レスポンシブ
--------------------------------------------*/
@media print, screen and (max-width: 1023px) {
	#header-upper .header__socialicon, #header .sticky-logo, #header ul.header__contact {
		display: none;
	}
	#header h1, #header .description, #header-upper h1, #header-upper .description {
		display: block;
		float: none;
		text-align: center;
		padding: 20px 0 10px;
	}
	#header .inner {
		width: 100%;
	}
	#header-layout {
		padding: 0;
	}
	#header .logo {
		display: block;
		text-align: center;
		margin: 0 auto 20px;
		padding: 0;
	}
	#header .logo img {
		max-height: 60px; /* サイズ変更 */
	}
	/*------レスポンシブ__スティッキーヘッダー
--------------------------------------------*/
	.mobile #header {
		background: #fff; /* 背景色変更 */
		box-shadow: 0 0 6px rgba(0, 0, 0, .2); /* 不要なら削除 */
		z-index: 9999;
	}
}

/*--------------------------------------------------------------------*/
/*Original*/
/*--------------------------------------------------------------------*/
nav#mainNav a.menu {
    border: 1px solid #333333;
    background: #111;
}
body.mobile #mainImg {
    margin-top: 6rem;
}
.sticky-header #header .inner{
        background: rgba(255,255,255,1);
}
/*------------------------
  　サブメニューの横幅調整
--------------------------*/
@media print, screen and (min-width: 1100px){
nav#mainNav ul ul {
    width: 17.5rem;
}
}
/*------------------------
  パンくずの上の余白削除
--------------------------*/
body.mobile #breadcrumb {
    margin-top: 0;
}
#breadcrumb {
    padding: 3px;
}
/*---------------------------
  bodyのマージントップ削除
----------------------------*/
@media only screen and (max-width: 1023px) {
  body.mobile {
    margin-top: 6rem;
  }
  body.mobile.home {
    margin-top: 0rem;
  }
}
/*------------------------
  スマホ時のh1重なり防止
------------------------*/
@media only screen and (max-width: 900px) {
  h1.title span, .post h1::before {
    font-size: 24px;
  }
}
/*------------------------
 投稿一覧ページ見出し修正
------------------------*/
.post4b h2 {
  overflow: hidden;
}
#content {
  display: block;
  clear: both;
}
/*---------------------------------
 メインイメージと挨拶文の空間削除
-----------------------------------*/
.home #content, #mainImg, #post-2 .post{
	padding:0px;
}
/*-------------------------------------------
          IMGのボーダー削除
-------------------------------------------*/
.post img {
    max-width: 100%;
    height: auto;
    padding: 0;
    border: none;
}

/*-------------------------------------------
          DISPLAY:FLEX
-------------------------------------------*/
.flex{
	display: flex;
	flex-wrap:wrap;
}
/*-------------------------------------------
    　　 ROW-REVERSE
-------------------------------------------*/
.row_reverse{
	flex-direction:row-reverse;
}


/*-------------------------------------------
    　　　　h2背景を透過
-------------------------------------------*/
.post h2 {
    background: transparent;
}
/*-------------------------------------------
    　　　　h1初期設定解除
-------------------------------------------*/
h1.title, .post h1 {
    border: none;
    background: none;
    /* padding-bottom: 9px; */
    padding: 0;
    margin:0;
	text-align: left;
    font-size: inherit;
    text-shadow: none;
}
.post h1 span {
    background: none;
    padding-left: 0;
}
/*-------------------------------------------
    　　　　h2初期設定解除
-------------------------------------------*/
.post h2, .post2b h2, .post4b h2, h2.title {
    border: none;
    border-radius: 0px;
    text-shadow: none;
    padding: 0;
	margin:0;
}

/*-------------------------------------------
    　　　　h3初期設定解除
-------------------------------------------*/
.post h3 {
    position: relative;
    color: inherit;
    font-size: 15px;
    border: none;
    border-radius: 0px;
    text-shadow: none;
    padding: 0;
    margin: 0;
}
.post h3 span {
    padding-left: 0;
}
/*-------------------------------------------
    　　　　h4初期設定解除
-------------------------------------------*/
.post h4 {
    border-left: 0;
    border-bottom: 0;
    color: #333;
    margin: 0;
    padding: 0;
}
/*-------------------------------------------
    　　　　pタグ初期設定解除
-------------------------------------------*/
.post p {
    padding-bottom: 0;
}
.post h2 span {
    background: none;
    padding-left: 0;
}
/*-------------------------------------------
    　　content post初期設定解除
-------------------------------------------*/
#content {
    padding: 0;
}
.post {
    margin-bottom: 0;
	padding: 0;
}
/*-------------------------------------------
    　　ul li初期設定解除
-------------------------------------------*/
.post ul {
    margin: 0;
}
.post li {
    line-height: 1.6;
    margin: 0;
}
/*-------------------------------------------
    　　HERO切り替え
-------------------------------------------*/
.pc_hero{
	display:block;
}
.sp_hero{
	display:none;
}

@media screen and (max-width:750px){
.pc_hero{
	display:none;
}
.sp_hero{
	display:block;
	margin-top:-60px !important;
}
}
/*
1023px～751pxまでG-menuの背景をつける
*/
@media screen and (max-width:1023px){
.sp_hero{
	margin:60px 0 0 !important;
}
}

/*-------------------------------------------
    　　プライバシーポリシー
-------------------------------------------*/
div#privacy {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
}
div#privacy h3 {
    font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);
	font-weight:bold;
    margin:calc(5rem + (1vw - 1.92rem) * 1.2945) 0 1rem;/*5-3(375)*/
	line-height:1.5;
}
div#privacy h4{
	margin:3rem 0 1rem;
	font-size:calc(2rem + (1vw - 1.92rem) * 0.1294);/*2-1.8*/
	font-weight:500;
}
div#privacy p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.6;
}
div#privacy ul li{
	line-height:1.6;
	position:relative;
	padding-left:1em;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#privacy ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
/*-------------------------------------------
    　サイトマップ
-------------------------------------------*/
body.page-sitemap #wrapper{
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
}
.post ul#sitemap_list li{
	padding-left:0;
	font-size:1.8rem;
	padding-bottom:1rem;
	border-bottom:1px dashed #a1a1a1;
	margin-top:1rem;
	margin-bottom:0;
	position:relative;
}
.post ul#sitemap_list li a{
	position:relative;
	padding-left:1.2em;
}
.post ul#sitemap_list li a:before {
    position: absolute;
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid #5a5a5a;
    top: 50%;
    left: 0;
    transform: translatey(-50%);
}
.post ul#sitemap_list li.cat-item{
	padding-bottom:0;
}
.post ul#sitemap_list li.cat-item ul li{
	border-bottom:none !important;
	padding-left:1em;
	font-size:16px;
}
@media screen and (max-width:1023px){
.post ul#sitemap_list li{
	font-size:16px;
}
.post ul#sitemap_list li a:before {
    border: 5px solid transparent;
    border-left: 10px solid #ed1c24;
}
.post ul#sitemap_list li.cat-item ul li{
	font-size:14px;
}
}

/*-------------------------------------------
    　　サンクスページ
-------------------------------------------*/
.thanks_page .page_inner h2 {
    font-size: calc(2rem + (1vw - 0.38rem) * 0.6472);/*30-20px*/
    font-weight: bold;
    text-align: center;
    margin: 0 0 1em;
}
.thanks_page p.txt {
    text-align: center;
    line-height: 2;
	font-size:calc(1.5rem + (1vw - 0.38rem) * 0.0647);/*16-15px*/
}
.thanks_page .btn_sec{
	text-align:center;
	margin-top:3.5rem;
}

@media screen and (max-width:430px){
.thanks_page p.txt {
    text-align: left;
}
}

/*-------------------------------------------
    　　新着情報
-------------------------------------------*/
.category #wrapper {
    padding: 70px 0;
}
.category h1.title.first.cat-loop {
    text-align: center;
    font-size: 28px;
	font-weight:500;
    margin: 0 0 40px;
}
.category h2.cat-loop {
    padding: 10px 0;
}
.category .post4b p.time {
    padding: 2px 7px;
    border-radius: 0;
}
#sidebar {
    padding: 15px 0 0;
}
section.widget h2 {
    background: #002e4a;
}
@media screen and (max-width:648px){
.category #wrapper {
    padding: 50px 0;
}
#sidebar {
    padding: 40px 0 0;
}
}
/*-------------------------------------------
    　　新着情報アーカイブ
-------------------------------------------*/
body.archive #wrapper {
    padding: 70px 0;
}
@media screen and (max-width:648px){
body.archive #wrapper {
    padding: 50px 0;
}
}

/*-------------------------------------------
    　　新着情報詳細
-------------------------------------------*/
.single-post #wrapper {
    padding:7rem 0 calc(7rem + (1vw - 1.92rem) * 1.2945);
    width: min(900px,95%);
}
.single-post h1.title.first {
    text-align: center;
    margin: 0;
    position: relative;
    padding-bottom: 2rem;
    border-bottom: 1px solid #777;
	line-height:1.5;
}
.single-post h1.title.first span{
	font-size:calc(2.8rem + (1vw - 1.92rem) * 0.5178);/*2.8-2.0(375)*/
    font-weight: 500;
}
.single-post p.dateLabel {
    margin: 0 0 1rem;
	font-size:calc(1.4rem + (1vw - 1.92rem) * 0.1294);
}
.single-post .post{
	line-height:2;
}
.single-post .post p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.single-post .pagenav {
    margin: 5rem 0 20px;
}
/*-------------------------------------------
    　　ボタンデザイン
-------------------------------------------*/
a.btn {
    position: relative;
    display: inline-block;
    font-size: calc(1.6rem + (1vw - 19.2px) * 0.2232);
    font-family: 'Roboto','Noto Sans JP', sans-serif;
    font-weight: bold;
    letter-spacing: 2px;
    border: 1.5px solid #00426a;
    background: #00426a;
    color: #fff;
    padding: 1.4rem 6rem;
    text-align: center;
    transition: all ease .3s;
}
a.btn:hover {
    color: #00426a;
    background: transparent;
}
/*線の設定*/
a.btn span{
    display: block;
}
@media only screen and (max-width: 767px){
a.btn {
    padding: 1rem 5rem;
}
}
/*-------------------------------------------
    　　ヘッダーロゴSP
-------------------------------------------*/
@media only screen and (max-width: 1023px){
.mobile #header .logo img {
    max-height: 25px !important;
    margin-left: 20px;
    margin-top: 0px;
}
}
/*-------------------------------------------
    　　フッター
-------------------------------------------*/
.footer_cta{
	background:url(/struct/wp-content/uploads/contact_bg.jpg) no-repeat;
	background-size:cover;
	background-position:top 75% left 50%;
	background-attachment:fixed;
	position:relative;
	z-index:0;
}
.footer_cta:before{
	position:absolute;
	content:"";
	background:rgb(0 69 112 / 60%);
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:-1;
}
.footer_cta .inner {
    padding: 10rem 0;
    margin: auto;
    width: min(110rem,95%);
}
.footer_cta .inner .flex{
	justify-content:space-between;
}
.footer_cta .inner .flex a.item{
	font-size:2.4rem;
	font-family:'Noto Serif JP', serif;
	font-weight:bold;
	letter-spacing:2px;
	border:2px solid #fff;
	background:transparent;
	color:#fff;
	padding:3rem;
	text-align:center;
	position:relative;
	width:48%;
	transition:all ease .3s;
}
.footer_cta .inner .flex a.item:hover{
	color:#00426A;
	background:#fff;
}
.footer_cta .inner .flex a.item i {
    font-size: 85%;
    margin-right: 5px;
}
.footer_content p a[href^="tel:"] {
	pointer-events:none;
	  color: inherit;
	  text-decoration: none;
	  pointer-events: none;
}
#footer {
    padding: 0;
	text-align:left;
	background:#fff;
}

footer#footer .inner {
    padding: 5rem 0 0rem;
    width:min(1200px,95%);
    max-width: unset;
    margin: 0 auto;
}
/*footerUpper*/
.footer_upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 2rem;
    border-bottom: 1px solid #161616;
}
.footer_upper .footer_logo a img {
    max-width:35rem;
    margin: 0 0 2rem;
}
.footer_content p {
    text-align: left;
    color: #111;
}

#footer ul {
    font-size: 14px;
    display: flex;
    justify-content: flex-end;
	padding:0;
	margin-right:0;
}
#footer .footnav ul li {
    padding: 0;
    margin: 0;
}
#footer .footnav ul li:not(:first-child){
	margin-left:20px;
}
#footer .footnav ul li::before{
	width:0;
}
#footer .footnav ul li a {
    padding: 0;
	color:#111;
}
#footer .footnav ul li a:hover{
	color:#999;
	text-decoration:underline;
}

/*footer Bottom*/
.footer_bottom {
    padding: 5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer_bottom .footer_sns{
	display:flex;
}
.footer_bottom .footer_sns a:not(:first-child){
	margin-left:1.5rem;
}
.footer_bottom .footer_sns a{
	transition:all ease .3s;
}
.footer_bottom .footer_sns a:hover{
	opacity:.5;
}
.footer_bottom .footer_sns i {
    color: #fff;
    border-radius: 50rem;
    padding: 5px;
    width: 4rem;
    height: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.footer_bottom .footer_sns i:before{
	font-size:2rem;
}
.footer_bottom .footer_sns i.fa-instagram {
    background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
}
.footer_bottom .footer_sns i.fa-brands.fa-facebook-f {
    background: #1873EB;
}
.footer_bottom .footer_sns img.line_logo {
    width: 40px;
    display: inline-block;
}
.footer_bottom .footer_sns a:hover img.line_logo{
	opacity:1;
}

#copyright {
	background:transparent;
	color:#111;
}

@media screen and (max-width:767px){
.footer_cta{
	background-attachment:unset;
}
.footer_cta .inner {
    padding: 7rem 0;
}
.footer_cta .inner .flex{
	flex-direction:column;
	align-items:center;
}
.footer_cta .inner .flex a.item{
	width:90%;
    font-size: 1.6rem;
    padding: 2rem;
}
.footer_cta .inner .flex a.item:not(:first-child){
	margin-top:2rem;
}

.footer_upper {
    flex-direction: column;
	padding:0 0 5rem;
}
.footer_logo {
    margin-bottom: 1rem;
}
.footer_upper .footer_logo a img{
	margin:0 auto 2rem;
	max-width: 28rem;
}
.footer_bottom {
    flex-direction: column;
	padding:3rem;
}
.footer_bottom .footer_sns {
    margin-bottom: 3rem;
}
#footer .footnav ul li a {
    font-size: 1.2rem;
}
.footer_content p {
    font-size: 1.2rem;
    text-align: center;
}
.footer_banner {
    margin-bottom: 3rem;
}
.footer_banner a.goonet_btn img{
	width:100%;
	max-width:17rem;
	margin:auto;
	display:block;
}
#copyright {
    text-align: center;
	padding:0;
	background:transparent;
}
}

/*-------------------------------------------
   　　 CONTACT
-------------------------------------------*/
.wpcf7-form {
    padding: 0;
}
.page-contact section.page-contents {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
}


.page-contact .post table,
.page-contact .post table th,
.page-contact .post table td {
    border: none;
}
.page-contact .post table{
	margin-bottom:0;
}
.page-contact .post table tr{
	border-bottom:1px solid #ccc;
}
.page-contact .post table tr:first-child{
	border-top:1px solid #ccc;
}
.page-contact .post table th,
.page-contact .post table td{
	padding:2rem 2.5rem;
}
.page-contact .post table th{
	width:30%;
	vertical-align:middle;
	background:#f7f7f7;
}
body.page-contact .post table td img{
	display:inline-block;
}
.wpcf7-form .must {
    color: #fff;
    font-weight: normal;
	background:rgb(255 82 83);
    margin-left: 0;
    font-size: 1.2rem;
    padding: 0px 10px;
    display: inline-block;
    line-height: 2;
}
/*チェックボックスズレ解消*/
span.wpcf7-checkbox label {
    display: flex;
    align-items: center;
}
span.wpcf7-checkbox label input[type="checkbox"] {
    margin: 0 5px 2px 0;
}
/*同意ボタン調整*/
.agree_btn {
    margin: 3rem 0;
}
.agree_btn p{
	font-size:90%;
}
.agree_btn p a{
	text-decoration:underline;
}
/*送信ボタン調整*/
.SendBtn {
	text-align: center;
}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 15px 100px;
    border-radius: 0vw;
	background:linear-gradient(to bottom,#00426a 0%,#00426a 100%);
    border: 1px solid #00426a;
    transition: all ease .3s;
}
.SendBtn input[type="submit"]:hover, .SendBtn input[type="reset"]:hover, .SendBtn input[type="button"]:hover{
	color:#00426a;
	background:transparent;
	transition:all ease .3s;
}

/*お問い合わせページのみフッター削除*/
body.page-contact .footer_cta{
	display:none;
}

@media screen and (max-width:640px){
.wpcf7-form .must {
    margin-left: 2rem;
	font-size:1rem;
}
	.page-contact .post table th,
	.page-contact .post table td{
		padding:1.5rem 2rem;
		text-align:left;
		font-size:1.4rem;
	}
}


/*-------------------------------------------
    　　TOP
-------------------------------------------*/
.top_page{
	overflow:hidden;
}
/*TOP BLOG*/
.top_blog_banner{
	width:min(110rem,95%);
	margin:8rem auto 0;
}
/*GRT*/
section.top_grt .flex {
    width: min(150rem,90%);
    margin: auto;
    justify-content: center;
    padding: 10rem 0;
    flex-direction: row-reverse;
}
section.top_grt .flex .item h1 {
    font-size: 5rem;
    line-height: 1.7;
    color: #00426a;
    writing-mode: vertical-rl;
}
section.top_grt .flex .item:last-child {
    width: 55%;
	margin-right:7%;
}
section.top_grt .flex .item:last-child p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
section.top_grt .flex .item:last-child p.txt.mt{
	margin-top:1em;
}
section.top_grt .flex .item:last-child p.mt.small{
	font-size:calc(1.4rem + (1vw - 1.92rem) * 0.1294);/*1.4-1.2(375)*/
	margin-top:1.5em;
}
section.top_grt .flex .item:last-child p.mt.small a{
	text-decoration:underline;
	color:#00426a;
}
section.top_grt .flex .item:last-child p.mt.small a:hover{
	color:#999;
}
section.top_grt .flex .item:last-child img {
    width: 100%;
    height: 45rem;
    object-fit: cover;
	margin-top:5rem;
}
/*TOP PHILOSOPHY*/
section.top_philosophy{
	position:relative;
	z-index:0;
	background:url(/struct/wp-content/uploads/top_bg.jpg) no-repeat;
	background-attachment:fixed;
	background-position:top 50% left 50%;
}
section.top_philosophy:before {
    position: absolute;
    content: "";
    background: rgb(0 0 0 / 50%);
    width: 100%;
    height: 100%;
    z-index: -1;
	transition:all ease .5s;
}
section.top_philosophy:hover:before{
    background: rgb(0 0 0 / 75%);
}
section.top_philosophy .top_inner{
	padding:10rem 0;
	width:min(66rem,90%);
	margin:auto;
}
section.top_philosophy .top_inner h2{
	font-size:4rem;
	padding-bottom:4rem;
	text-align:center;
	color:#fff;
	position:relative;
}
section.top_philosophy .top_inner h2:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 1.5em;
    height: 3px;
    top: 100%;
    left: 50%;
    transform: translatex(-50%);
}
section.top_philosophy .top_inner p.txt{
	line-height:2;
	margin:5rem 0 6rem;
	color:#fff;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
section.top_philosophy .top_inner .btn_sec{
	text-align:center;
}

/*TOP LINKS*/
ul.top_links_ul li:nth-child(even){
	flex-direction:row-reverse;
}
ul.top_links_ul li.flex .item{
	width:50%;
}
ul.top_links_ul li.flex .item:first-child img {
    object-fit: cover;
    object-position: top 50% left 58%;
    width: 100%;
    height: 100%;
}
ul.top_links_ul li.flex .item:last-child {
    height: calc(55rem + (1vw - 1.92rem) * -8.6806);/*55-65(768)*/
    padding: 0 calc(15rem + (1vw - 1.92rem) * 9.5486);
    display: flex;
    flex-direction: column;
    align-self: center;
    justify-content: center;
    position: relative;
}
ul.top_links_ul li.flex .item h2 {
    font-size: 4rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #00426a;
    color: #00426a;
}
ul.top_links_ul li.flex .item p.txt {
    line-height: 2;
    margin: 3rem 0 4rem;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
/*TOP RECRUIT*/
ul.top_links_ul li.flex.top_recruit {
    background: #002e4a;
}
ul.top_links_ul li.flex.top_recruit h2,ul.top_links_ul li.flex.top_recruit p.txt{
	color:#fff;
}
ul.top_links_ul li.flex.top_recruit h2{
    border-bottom: 1px solid #fff;
}
ul.top_links_ul li.flex.top_recruit a.btn {
    border: 1.5px solid #fff;
    background: #fff;
    color: #002e4a;
}
ul.top_links_ul li.flex.top_recruit a.btn:hover {
    color: #fff;
    background: transparent;
}
/*TOP INSTAGRAM*/
section.top_insta {
    background: #f9f9f9;
}
section.top_insta .top_inner{
    padding: 10rem 0 5rem;
    margin: auto;
}
section.top_insta h2{
    font-size: 4rem;
    padding-bottom: 4rem;
	margin-bottom:5rem;
    text-align: center;
    color: #222;
    position: relative;
}
section.top_insta h2:before {
    position: absolute;
    content: "";
    background: #222;
    width: 1.5em;
    height: 3px;
    top: 100%;
    left: 50%;
    transform: translatex(-50%);
}
section.top_insta .top_inner .btn_Sec.center {
    text-align: center;
}
section.top_insta .top_inner .btn_Sec.center a.facebook_btn {
    display: inline-block;
    padding: 7px 14px;
    color: #eee;
    border: none;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.5;
    background: #1873eb;
    border-radius: 5px;
	margin-left:5px;
}
section.top_insta .top_inner .btn_Sec.center a.facebook_btn:hover{
	opacity:.5;
}
section.top_insta .top_inner .btn_Sec.center a.facebook_btn i{
    margin-bottom: -1px;
    margin-right: 7px;
    font-size: 15px;
}
/*TOP NEWS*/
#front_top_content, #front_bottom_content {
    width: min(1000px,90%);
    margin: 0 auto;
	padding:12rem 0 15rem;
}
h1.title.bottom-loop {
    text-align: center;
    margin-bottom: calc(5rem + (1vw - 1.92rem) * 1.2945);
    line-height: 1.1;
}
h1.title.bottom-loop span {
    font-size: 4rem;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    color:#111;
}

.postlist li {
    border-bottom: 1px dotted #DDDDDD;
    line-height: 1.6;
    margin: 1em 0 0;
    padding: 0 0 1rem;
}
.postlist .post_text {
    width: 100%;
    margin: 0;
}
.postlist .time {
    display: inline-block;
	margin:0 0 0 0;
	background:#00426a;
}
div#front_bottom_content .linkBtn {
	background: transparent;
	padding: 0;
	margin:0 auto;
	width:100%;
	text-align:right;
	position: relative;
	color: #333;
	border-radius: 0;
	line-height: 1.8;
	transition: all .3s;
}
div#front_bottom_content .linkBtn::after{
	display:none;
}
div#front_bottom_content .linkBtn:hover{
	background:transparent;
}
div#front_bottom_content .linkBtn a {
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	padding-bottom:5px;
	color: #333;
	position: relative;
	transition:all ease .15s;
}
div#front_bottom_content .linkBtn a:before,.linkBtn a:after{
	position:absolute;
	content:"";
}
div#front_bottom_content .linkBtn a:before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background:#00426a;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	z-index:0;
}
div#front_bottom_content .linkBtn a:after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background:#cfcfcf;
	z-index:-1;
}
div#front_bottom_content .linkBtn a:hover:before {
	transform-origin:left top;
	transform: scale(1, 1);
}

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

section.top_grt .flex .item:last-child {
    width: 70%;
    margin-right: 5%;
}
section.top_grt .flex .item h1 {
    font-size: 4rem;
}
section.top_grt .flex .item:last-child img {
    height: 30rem;
}
ul.top_links_ul li.flex .item h2 {
    font-size: 3rem;
}
.top_recruit_container {
    margin-left: auto;
    margin-right: auto;
}
}




@media screen and (max-width:767px){
section.top_grt .flex {
    flex-direction: column;
    align-items: flex-start;
    padding: 3rem 0 5rem;
}
section.top_grt .flex .item h1 {
    font-size: 2.4rem;
    writing-mode: unset;
}
section.top_grt .flex .item:last-child {
    width: 100%;
    margin-right: 0;
    margin-top: 3rem;
}
section.top_grt .flex .item:last-child img {
    height: 23rem;
}
/*TOP 理念*/
section.top_philosophy {
    background-attachment: unset;
}
section.top_philosophy:before {
    background: rgb(0 0 0 / 78%);
}
section.top_philosophy .top_inner {
    padding: 6rem 0;
    width: min(70rem,90%);
    margin: auto;
}
section.top_philosophy .top_inner h2 {
    font-size: 2.4rem;
	padding-bottom:3rem;
}
section.top_philosophy .top_inner p.txt {
    margin: 4rem 0;
}
/*TOP LINKS*/
ul.top_links_ul li{
	flex-direction:column;
}
ul.top_links_ul li.flex .item {
    width: 100%;
}
ul.top_links_ul li.flex .item:last-child {
    padding: 3rem 5% 5rem;
    height: auto;
}
ul.top_links_ul li.flex .item h2 {
    font-size: 2.4rem;
}
/*TOP INSTAGRAM*/
section.top_insta .top_inner {
    padding: 6rem 0 2rem;
    margin: auto;
}
section.top_insta .top_inner h2 {
    font-size: 2.4rem;
	padding-bottom:3rem;
	margin-bottom:4rem;
}

/*TOP NEWS*/
#front_top_content, #front_bottom_content {
    padding: 6rem 0 7rem;
}
h1.title.bottom-loop span {
    font-size: 2.4rem;
}
.postlist .ttls {
    display: block;
    margin: 10px 0 0;
    padding: 0;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    padding: 1px 7px 3px;
}
}





/*-------------------------------------------
    　　下層共通
-------------------------------------------*/
a#scrollUp {
    background: #002e4a;
}
.spmenu #menu p {
    bottom: -4px;
	left:5.5px;
    font-size: 1rem;
	color:#00426a;
}
header#h1Header{
	position:relative;
}
header#h1Header:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 61%);
}
header#h1Header h1.title {
    text-align: center;
    text-shadow: none;
    font-weight: bold;
    color: #fff;
    letter-spacing: 2px;
}
header#h1Header h1.title span{
	font-family: 'Noto Serif JP', serif;
	font-size: calc(4.8rem + (1vw - 1.92rem) * 1.1650);
}
header#h1Header h1.title b {
	font-weight: bold;
	color: #fff;
	display: block;
    font-size: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2-1.6(375)*/
	margin-top: calc(1rem + (1vw - 1.92rem) * 0.6472);/*1-0(375)*/
	letter-spacing:0;
}
.page_inner{
	padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
}
#breadcrumb {
    background-color:rgb(245 245 245);
}
#breadcrumb ul li a, #breadcrumb ul li {
    color: #333333;
}
#breadcrumb b {
    display: none;
}
footer ul li a b {
    display: none;
}
.page-sitemap b{
	display:none;
}
/*投稿ページｈ1*/
.category header#h1Header h1.title span{
	display:block;
	font-weight:bold;
	font-family: 'Noto Serif JP', serif;
    font-size: calc(4.8rem + (1vw - 1.92rem) * 1.1650);
	letter-spacing:0;
	position:relative;
}
@media print, screen and (max-width:1023px){
#h1Header #thumb img {
    width: 100%;
    height: 25vh;
    margin-left: 0;
	object-fit:cover;
	object-position:top 50% left 65%;
}
.mobile #header .logo .spmenu {
    background: rgb(0 0 0 / 0%);
}
}
/*-------------------------------------------
    　　会社概要
-------------------------------------------*/
.page-id-54 section:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.92rem) * 5.1780);
}
.page-id-54 section h2 {
    font-size: 3rem;
    padding: 1rem 2.5rem 1.5rem;
    border-left: 6px solid #00426a;
    line-height: 1.4;
    color: #222;
    position: relative;
    margin-bottom: calc(5rem + (1vw - 1.92rem) * 1.2945);
}
.page-id-54 .post table, 
.page-id-54 .post table th, 
.page-id-54 .post table td {
    border: none;
}
.page-id-54 section table tr:first-child{
	border-top:1px solid #ccc;
}
.page-id-54 section table tr{
	border-bottom:1px solid #ccc;
}
.page-id-54 section table th,
.page-id-54 section table td{
	padding:2.5rem calc(2rem + (1vw - 1.92rem) * 0.6472);/*2-1(375)*/
	vertical-align:middle;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.page-id-54 section table th{
	width:30%;
	background:rgb(245 245 245);
}
.page-id-54 section table td ul li{
	padding-left:1em;
	position:relative;
}
.page-id-54 section table td ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
.page-id-54 section iframe{
	width:100%;
	height:50rem;
}

@media screen and (max-width:767px){
section.company_logo img {
    width: min(15rem,100%);
}
.page-id-54 section iframe{
	height:30rem;
}
}


/*-------------------------------------------
    　　宮大工とはページ
-------------------------------------------*/
ul.philosophy_ul li:not(:first-child){
	margin-top:calc(15rem + (1vw - 1.92rem) * 4.5307);/*15-8(375)*/
}

ul.philosophy_ul li h2 {
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
ul.philosophy_ul li .flex {
	justify-content:space-between;
}
ul.philosophy_ul li .flex .item{
	width:60%;
}
ul.philosophy_ul li .flex .item:first-child{
	width:35%;
}
ul.philosophy_ul li .flex .item.w_100 {
    width: 100%;
    margin-top: 3rem;
}
ul.philosophy_ul li .flex .item p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
ul.philosophy_ul li .flex .item p.txt.mt{
	margin-top:1em;
}
ul.philosophy_ul li .flex .item p.small{
	margin-top:1em;
	font-size:calc(1.4rem + (1vw - 1.92rem) * 0.1294);
	padding-left:1em;
	position:relative;
}
ul.philosophy_ul li .flex .item p.small:before{
	position:absolute;
	content:"※";
	top:0;
	left:0;
}
ul.philosophy_ul li .flex .item p.name{
	text-align:center;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	margin-top:.5rem;
}
/*ギャラリー調整*/
.gallery-columns-4{
	justify-content:space-between !important;
	display:flex !important;
	flex-wrap:wrap !important;
}
.gallery-columns-4 dl.gallery-item{
	float:none !important;
	width:24% !important;
}
.gallery-columns-4 dl.gallery-item img {
    border:none !important;
    max-width: 100%;
}
.gallery-caption {
    max-width: 100%;
    font-size: 1.3rem;
}
/*使命*/
.flex.ikiru_box .item.w_100 {
    padding: 3rem;
    background: #f7f7f7;
    border: 1px solid #ededed;
}
/*日伝建理事として*/
.flex.nichiden .item:first-child p.txt{
	font-size:calc(1.4rem + (1vw - 1.92rem) * 0.1294);
	text-align:center;
	margin-top:5px;
}
/*日伝建ロゴ*/
ul.philosophy_ul li .flex.nichidenken_logo {
    justify-content: center !important;
    align-items: center;
	margin-top:2.5rem;
}
ul.philosophy_ul li .flex.nichidenken_logo figure{
	height:15rem;
	margin-right:3rem;
}
ul.philosophy_ul li .flex.nichidenken_logo figure img{
	height:100%;
	width:100%;
	object-fit:contain;
}
ul.philosophy_ul li .flex.nichidenken_logo p.txt a{
	text-decoration:underline;
}
ul.philosophy_ul li .flex.nichidenken_logo p.txt a i {
    font-size: 70%;
    vertical-align: super;
    margin-left: 3px;
}
@media screen and (max-width:767px){
ul.philosophy_ul li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}

ul.philosophy_ul li .flex {
	flex-direction:column;
	align-items:center;
}
ul.philosophy_ul li .flex .item{
	width:95%;
}
ul.philosophy_ul li .flex .item:first-child{
	width:95%;
	margin-bottom:1.5rem;
}
ul.philosophy_ul li .flex .item.w_100 {
    width: 95%;
    margin-top: 2rem;
}
.flex.ikiru_box .item.w_100 {
    padding: 2rem;
}
.gallery-columns-4 dl.gallery-item {
    width: 47% !important;
}
ul.philosophy_ul li .flex.nichidenken_logo {
    flex-direction:row !important;
}
ul.philosophy_ul li .flex.nichidenken_logo figure {
    height: 12rem;
    margin-right: 2rem;
}
ul.philosophy_ul li .flex.nichidenken_logo p.txt a {
    font-size: 1.4rem;
}
}
/*-------------------------------------------
    　　社寺建築
-------------------------------------------*/
article#post-92 ul > li:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.92rem) * 4.5307);
}
article#post-92 ul > li h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
article#post-92 ul > li .flex{
	justify-content:space-between;
}
article#post-92 ul > li .flex figure{
	width:48%;
}
article#post-92 ul > li .w_100 {
    width: 100%;
    margin: 2rem 0 0;
}
article#post-92 ul > li .w_100.column2,
article#post-92 ul > li .w_100.column3{
	display:flex;
	justify-content:space-between;
}
article#post-92 ul > li .w_100 a{
	height:20rem;
}
article#post-92 ul > li .w_100 a img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-92 ul > li .w_100.column2 a{
	width:48%;
}
article#post-92 ul > li .w_100.column3 a{
	width:32%;
}
article#post-92 ul > li .w_100 a p.caption{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
	text-align:center;
	margin-top:5px;
}

article#post-92 ul > li p.txt{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:2;
	width:48%;
}
article#post-92 ul > li .flex .img_container {
    display: flex;
    justify-content: space-between;
    width: 48%;
}
article#post-92 ul > li .flex .img_container figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-92 ul > li .flex .txt_container {
    width: 48%;
}
article#post-92 ul > li .flex .txt_container p.txt{
    width: 100%;
}
article#post-92 ul > li h3 {
    padding-bottom: 1.2rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #999;
    font-size: 2.4rem;
    font-weight: bold;
}
figcaption {
    text-align: center;
    margin-top: 4px;
}
article#post-92 ul > li .flex.mt{
	margin-top:5rem;
}


@media screen and (max-width:767px){
article#post-92 ul > li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
article#post-92 ul > li .flex{
	flex-direction:column;
	align-items:center;
}
article#post-92 ul > li .flex figure{
	width:90%;
	margin-bottom:1.5rem;
}
article#post-92 ul > li p.txt{
	width:90%;
}
article#post-92 ul > li .flex .txt_container {
    width: 90%;
}
article#post-92 ul > li h3 {
    font-size: 2rem;
}
article#post-92 ul > li .w_100 a {
    height: 12rem;
}
article#post-92 ul > li .flex .img_container {
    width: 90%;
}
}
/*-------------------------------------------
    　　文化財修理
-------------------------------------------*/
article#post-450 ul > li:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.450rem) * 4.5307);
}
article#post-450 ul > li h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
	line-height:1.4;
}
article#post-450 ul > li p.txt{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:2;
}
article#post-450 ul > li .flex .txt_container p.txt.mt{
	margin-top:1em;
}
article#post-450 ul > li .flex .txt_container .btn_Sec{
	margin-top:3rem;
	text-align:center;
}
article#post-450 ul > li .flex{
	justify-content:space-between;
}
article#post-450 ul > li .flex figure{
	width:48%;
}
article#post-450 ul > li .w_100 {
    width: 100%;
    margin: 2rem 0 0;
}
article#post-450 ul > li .flex .img_container figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-450 ul > li .flex .txt_container {
    width: 48%;
}
article#post-450 ul > li .flex .txt_container p.txt{
    width: 100%;
	
}
article#post-450 ul > li .w_100 p.caption{
	font-size:calc(1.6rem + (1vw - 1.450rem) * 0.1294);
	text-align:center;
	margin-top:5px;
}
article#post-450 ul > li .w_100 iframe {
    width: min(70rem,100%);
    aspect-ratio: 16/9;
    margin: auto;
    display: block;
}
@media screen and (max-width:767px){
article#post-450 ul > li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
article#post-450 ul > li .flex{
	flex-direction:column;
	align-items:center;
}
article#post-450 ul > li .flex figure{
	width:90%;
	margin-bottom:1.5rem;
}
article#post-450 ul > li p.txt{
	width:90%;
}
article#post-450 ul > li .flex .txt_container {
    width: 90%;
}

}


/*-------------------------------------------
    　　数寄屋建築
-------------------------------------------*/
ul.sukiya_ul > li:not(:first-child){
	margin-top:calc(15rem + (1vw - 1.92rem) * 4.5307);/*15-8(375)*/
}
ul.sukiya_ul > li h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
ul.sukiya_ul > li p.txt{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:2;
}
ul.sukiya_ul > li .flex{
	justify-content:space-between;
}
ul.sukiya_ul > li .flex .item{
	width:48%;
}
ul.sukiya_ul > li .flex .item iframe{
	width:100%;
	aspect-ratio:16/9;
}
ul.sukiya_ul > li .flex .item p.name{
	margin-top:5px;
	text-align:center;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
ul.sukiya_ul > li .flex .item.w_100{
	width:100%;
	margin-top:2rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li:not(:first-child){
	margin-top:8rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li h3{
	font-size:2.2rem;
	font-weight:bold;
	padding-bottom:1rem;
	margin-bottom:1.5rem;
	border-bottom:1px solid #ccc;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li h3 span {
    color: #00426a;
    font-size: 120%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex{
	justify-content:space-between;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item{
	width:48%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item:first-child{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top 42% left 50%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex01 figure{
	width:49%;
	height:25rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex01 figure:first-child{
	width:100%;
	margin-bottom:1rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex02 figure{
	width:49%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex02 figure:first-child{
	width:100%;
	margin-bottom:1rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex03 figure{
	width:49%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex03 figure a {
    display: block;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex03 figure a p.caption{
	margin-top:5px;
	text-align:center;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
img.mono {
    filter: grayscale(90%);
}
@media screen and (max-width:767px){
	ul.sukiya_ul > li > .flex{
		flex-direction:column;
		align-items:center;
	}
ul.sukiya_ul > li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
ul.sukiya_ul > li .flex .item {
    width: 90%;
}
ul.sukiya_ul > li .flex .item:first-child{
	margin-bottom:1.5rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li:not(:first-child) {
    margin-top: 4rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li h3 {
    font-size: 1.6rem;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex {
    justify-content: center;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item {
    width: 90%;
}
ul.sukiya_ul > li > ul.sukiya_point_ul > li .flex .item.flex01 figure {
    height: 15rem;
}
}
/*-------------------------------------------
    　　御社・神輿・山車
-------------------------------------------*/
article#post-160 ul > li:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.160rem) * 4.5307);
}
article#post-160 ul > li h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
article#post-160 ul > li .flex{
	justify-content:space-between;
}
article#post-160 ul > li .w_100 {
    width: 100%;
    margin: 2rem 0 0;
}
article#post-160 ul > li .w_100.column2,
article#post-160 ul > li .w_100.column5{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
article#post-160 ul > li .w_100 a{
	height:20rem;
}
article#post-160 ul > li .w_100 a img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-160 ul > li .w_100.column2 a{
	width:48%;
}
article#post-160 ul > li .w_100.column5 a{
	width:19%;
}
article#post-160 ul > li .w_100 a p.caption{
	font-size:calc(1.6rem + (1vw - 1.160rem) * 0.1294);
	text-align:center;
	margin-top:5px;
}

article#post-160 ul > li p.txt{
	font-size:calc(1.6rem + (1vw - 1.160rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:2;
	width:48%;
}
article#post-160 ul > li .flex .img_container {
    display: flex;
    justify-content: space-between;
	flex-wrap:wrap;
    width: 48%;
}
article#post-160 ul > li .flex .img_container figure.full_width {
    width: 100%;
    margin-bottom: 2rem;
}
article#post-160 ul > li .flex .img_container figure.full_width:not(:first-child){
	margin-top:1.5rem;
}
article#post-160 ul > li .flex .img_container figure.half_width {
    margin-top: 2rem;
	width:48%;
}
article#post-160 ul > li .flex figure p.caption{
	font-size:1.4rem;
}
article#post-160 ul > li .flex .img_container figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-160 ul > li .flex .txt_container {
    width: 48%;
}
article#post-160 ul > li .flex .txt_container p.txt{
    width: 100%;
}
article#post-160 ul > li .flex .txt_container p.txt.mt{
	margin-top:1em;
}
@media screen and (max-width:767px){
article#post-160 ul > li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
article#post-160 ul > li .flex{
	flex-direction:column;
	align-items:center;
}
article#post-160 ul > li .flex figure{
	width:100%;
	margin-bottom:1.5rem;
}
article#post-160 ul > li p.txt{
	width:90%;
}
article#post-160 ul > li .flex .txt_container {
    width: 90%;
}
article#post-160 ul > li .w_100 a {
    height: 12rem;
}
article#post-160 ul > li .flex .img_container {
    width: 90%;
}
article#post-160 ul > li .flex .img_container figure.full_width:not(:first-child) {
    margin-bottom: 7rem;
}
article#post-160 ul > li .flex .img_container figure.half_width {
    margin-top: 4rem;
}

article#post-160 ul > li .w_100.column5 a {
    width: 48%;
}
article#post-160 ul > li .w_100.column5 a:nth-child(n+3) {
    margin-top: 7rem;
}
}

/*-------------------------------------------
    　　古民家・洋館
-------------------------------------------*/
article#post-158 ul > li:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.158rem) * 4.5307);
}
article#post-158 ul > li h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
article#post-158 ul > li .flex{
	justify-content:space-between;
	align-items:flex-start;
}
article#post-158 ul > li p.txt{
	font-size:calc(1.6rem + (1vw - 1.158rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:2;
}
article#post-158 ul > li .flex .img_container {
    display: flex;
    justify-content: space-between;
	flex-wrap:wrap;
    width: 48%;
}
article#post-158 ul > li .flex .txt_container {
    width: 48%;
}
article#post-158 ul > li .flex .txt_container p.txt.mt{
	margin-top:1em;
}
article#post-158 ul > li .flex .row_container {
	justify-content:space-between;
	flex-wrap:wrap;
}
article#post-158 ul > li .flex .row_container a {
    width: 49%;
    height: 21rem;
}
article#post-158 ul > li .flex .row_container a img{
	width:100%;
	height:100%;
	object-fit:cover;
}
article#post-158 ul > li .flex p.caption.w_100 {
    width: 100%;
	margin-top:1rem;
}
@media screen and (max-width:767px){
article#post-158 ul > li h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
article#post-158 ul > li .flex{
	flex-direction:column;
	align-items:center;
}
article#post-158 ul > li .flex .txt_container {
    width: 90%;
}
article#post-158 ul > li .flex .img_container {
    width: 90%;
	margin-bottom:1.5rem;
}
article#post-158 ul > li .flex .row_container a {
    height: 12rem;
}
}
/*-------------------------------------------
    　　耐震補強工事
-------------------------------------------*/
article#post-540 section:not(:first-child){
    margin-top: calc(15rem + (1vw - 1.158rem) * 4.5307);
}
article#post-540 section:not(.work_section) h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
article#post-540 section:not(.work_section) .flex{
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:flex-start;
}
article#post-540 section:not(.work_section) .flex .img_box {
    width: 48%;
    display: flex;
    justify-content: space-between;
	flex-wrap:wrap;
}
article#post-540 section:not(.work_section) .flex .img_box a p.caption{
	text-align:center;
	line-height:1.6;
	margin-top:5px;
	font-size:calc(1.6rem + (1vw - 1.158rem) * 0.1294);/*1.6-1.4(375)*/
}
article#post-540 section:not(.work_section) .flex .txt_box{
	width:48%;
}
article#post-540 section:not(.work_section) .flex .txt_box p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.158rem) * 0.1294);/*1.6-1.4(375)*/
}
article#post-540 section:not(.work_section) .flex .txt_box p.txt.mt{
	margin-top:1em;
}
article#post-540 section:not(.work_section) .flex .txt_box h3{
    padding-bottom: 1.2rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #999;
    font-size: 2.4rem;
    font-weight: bold;
}
a.pointer_none {
    pointer-events: none;
}
/*流れ*/
ul.flow_ul li:not(:first-child){
	margin-top:6rem;
}
ul.flow_ul li {
    padding: 3rem;
    background: #f7f7f7;
	position:relative;
}
ul.flow_ul li:not(:last-child):before {
    position: absolute;
    content: "";
    top: calc(100% + 1.5rem);
    left: 50%;
    transform: translatex(-50%);
    border: 3rem solid transparent;
    border-top-color: #00426a;
}
/*BEFORE AFTER*/
article#post-540 section .flex .img_box.column2 img{
	width:100%;
	object-fit:cover;
}
article#post-540 section .before_after_box {
    position: relative;
	flex-direction:column;
}
article#post-540 section .before_after_box a{
	width:100%;
}
article#post-540 section .before_after_box a:not(:first-child){
	margin-top:5rem;
}
article#post-540 section .before_after_box i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(90deg);
    font-size: 3.5rem;
    color: #00426a;
}
/*column6*/
.img_box.column6 a{
	width:48%;
}
.img_box.column6 a:nth-child(n+3){
	margin-top:1.5rem;
}
.img_box.column6 a img {
    width: 100%;
    height: 15rem;
    object-fit: cover;
}
/*column3*/
.img_box.column3 a{
	width:48%;
}
.img_box.column3 a:last-child{
	width:100%;
	margin-top:1.5rem;
}
/*column4*/
.img_box.column4 a{
	width:48%;
}
.img_box.column4 a:nth-child(n+3){
	margin-top:1.5rem;
}
.img_box.column4 a img {
    width: 100%;
    object-fit: cover;
}
img.greyscale {
    filter: grayscale(.9);
}
@media screen and (max-width:767px){
article#post-540 section:not(.work_section) h2 {
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
article#post-540 section:not(.work_section) .flex{
	flex-direction:column;
	align-items:center;
}
article#post-540 section:not(.work_section) .flex .img_box {
    width: 90%;
    margin-bottom: 1.5rem;
}
article#post-540 section:not(.work_section) .flex .txt_box{
	width:90%;
}

article#post-540 section ul.flow_ul li {
    padding: 2rem;
	flex-direction:column-reverse;
}
article#post-540 section ul.flow_ul li .txt_box {
    width: 100%;
}
article#post-540 section ul.flow_ul li .img_box {
    width: 100%;
	margin-bottom:0;
	margin-top:1.5rem;
}
article#post-540 section .flex .txt_box h3 {
    font-size: 2rem;
}
ul.flow_ul li:not(:first-child) {
    margin-top: 5rem;
}
ul.flow_ul li:not(:last-child):before {
    border: 2rem solid transparent;
	border-top-color: #00426a;
}
}


/*-------------------------------------------
    　　採用情報
-------------------------------------------*/
article#post-60 section:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.92rem) * 5.1780);
}
section.recruit_freshman h2{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
.recruit_description {
    margin-bottom: 5rem;
}
.recruit_description .flex{
	justify-content:space-between;
}
.recruit_description .flex.row-reverse{
	flex-direction:row-reverse;
}
.recruit_description .flex .item{
	width:48%;
}
.recruit_description .flex .item p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.recruit_description .flex .item p.txt:not(:first-child){
	margin-top:1em;
}
.recruit_detail {
    margin-top: 10rem;
}
.recruit_detail h3 {
    font-size: 3rem;
    padding: 1rem 2.5rem 1.5rem;
    border-left: 6px solid #00426a;
    line-height: 1.4;
    color: #222;
    position: relative;
    margin-bottom: 3rem;
}
.page-id-60 section table{
	margin-bottom:3rem;
}
.page-id-60 .post table, 
.page-id-60 .post table th, 
.page-id-60 .post table td {
    border: none;
}
.page-id-60 section table tr:first-child{
	border-top:1px solid #ccc;
}
.page-id-60 section table tr{
	border-bottom:1px solid #ccc;
}
.page-id-60 section table th,
.page-id-60 section table td{
	padding:2.5rem calc(2rem + (1vw - 1.92rem) * 0.6472);/*2-1(375)*/
	vertical-align:middle;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.page-id-60 section table th{
	width:25%;
	background:rgb(245 245 245);
}
.btn_sec.center {
    text-align: center;
}
/*インターシップのご案内*/
.intern_container,.recruit_setsumeikai_container{
	margin-top:10rem;
}
.intern_container h3{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
.intern_container .flex{
	justify-content:space-between;
	margin-bottom:5rem;
}
.intern_container .flex figure {
    width: 48%;
    height: 35rem;
}
.intern_container .flex figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.intern_container .flex .txt_container{
	width:48%;
}
.intern_container .flex .txt_container p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.intern_container .flex .txt_container p.txt.mt{
	margin-top:1em;
}
/*会社説明会のご案内*/
.recruit_setsumeikai_container h3{
    font-size: 3rem;
    padding: 2rem 1.5rem 2.5rem;
    background: #00426a;
    border-left: 6px solid #002e4a;
    color: #fff;
    margin-bottom: 2.5rem;
}
.recruit_setsumeikai_container h4{
    font-size: 3rem;
    padding: 1rem 2.5rem 1.5rem;
    border-left: 6px solid #00426a;
    line-height: 1.4;
    color: #222;
    position: relative;
    margin-bottom: 3rem;
}
.recruit_setsumeikai_container .flex{
	justify-content:space-between;
	margin-bottom:5rem;
}
.recruit_setsumeikai_container .flex figure {
    width: 48%;
    height: 35rem;
}
.recruit_setsumeikai_container .flex figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.recruit_setsumeikai_container .flex .txt_container{
	width:48%;
}
.recruit_setsumeikai_container .flex .txt_container p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.recruit_setsumeikai_container .flex .txt_container p.txt.mt{
	margin-top:1em;
}
@media screen and (max-width:767px){
.recruit_description .flex{
	flex-direction:column;
	align-items:center;
}
.recruit_description .flex .item{
	width:100%;
}
.recruit_description .flex .item:not(:first-child){
	margin-top:2rem;
}
section.recruit_freshman h2{
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
.recruit_detail h3 {
    font-size: 2rem;
	padding:1rem 1.5rem 1.5rem;
}
.recruit_detail {
    margin-top: 7rem;
}
.intern_container, .recruit_setsumeikai_container {
    margin-top: 7rem;
}
.intern_container h3, .recruit_setsumeikai_container h3{
    font-size: 2rem;
    padding: 1.2rem 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}
.recruit_setsumeikai_container h4{
    font-size: 2rem;
	padding:1rem 1.5rem 1.5rem;
}
.intern_container .flex, .recruit_setsumeikai_container .flex {
    flex-direction: column;
    align-items: center;
    margin-bottom: 3rem;
}
.intern_container .flex figure, .recruit_setsumeikai_container .flex figure {
    width: 100%;
    height: 22rem;
    margin-bottom: 1.2rem;
}
.intern_container .flex .txt_container,.recruit_setsumeikai_container .flex .txt_container {
    width: 100%;
}

}
@media screen and (max-width:640px){
.post table.responsive th, .post table.responsive td {
    text-align: left;
}
.page-id-60 section table th, .page-id-60 section table td {
    padding: 1.5rem;
}
}

/*-----------------------------
       施工事例共通
------------------------------*/
.flex.about_box {
    justify-content: space-between;
}
.flex.about_box .item:first-child{
	width:36%;
}
.flex.about_box .item:first-child img{
	object-fit:cover;
	width:100%;
	height:100%;
}
.flex.about_box .item:last-child{
	width:60%;
}
.flex.about_box .item h2 {
    font-size: 3.6rem;
    font-weight: bold;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #999;
}
.flex.about_box .item p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
/*施工事例セクション*/
section.work_section {
    margin-top: 10rem;
}
body.archive section.work_section {
    margin-top: 0;
}
section.work_section h2 {
    text-align: center;
    position: relative;
    font-size: 3.6rem;
    font-weight: bold;
    z-index: 0;
    padding-bottom: 1rem;
    margin-bottom: 5rem;
}
section.work_section h2:before{
	position:absolute;
	content:"";
	width:100%;
	height:2px;
	background:#222;
	top:50%;
	left:0;
	transform:translatey(-50%);
	z-index:-1;
}
section.work_section h2 span{
	background:#fff;
	padding:0 2rem;
}

.flex.work_box {
    justify-content: space-between;
}
.flex.work_box a.item {
    width: 32%;
	margin-bottom: 30px;
    border: 1px solid #dfdfdf;
}
.flex.work_box a.item .thumb_nail_box{
	overflow:hidden;
	height:26rem;
}
.flex.work_box a.item .thumb_nail_box img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.001);
	transition:all ease .3s;
}
.flex.work_box a.item:hover .thumb_nail_box img{
	transform:scale(1.1);
	opacity:1;
}
.flex.work_box a.item .txt_box {
    padding: 5px 1rem 1rem;
}
.flex.work_box a.item p.date{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	transition:all ease .3s;
}
.flex.work_box a.item h3.ttl {
    font-size: calc(2.4rem + (1vw - 1.92rem) * 0.3883);
	line-height:1.2;
    margin: .5rem 0 1rem;
	transition:all ease .3s;
}
.flex.work_box a.item p.address{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	transition:all ease .3s;
}
.flex.work_box a.item:hover h3.ttl,
.flex.work_box a.item:hover p{
	color:#999;
}
@media screen and (min-width:768px){
.flex.work_box a.item:nth-child(n+4){
	margin-top:2.5rem;
}
.flex.work_box a.item:nth-child(3n+2):last-child {
    margin-right: calc( 32% + ( ( ( 100% - ( 32% * 3 ) ) / 2 )  * 1 ) );
}
}
@media screen and (max-width:767px){
.flex.about_box {
    flex-direction: column;
    align-items: center;
}
.flex.about_box .item:first-child {
    width: 95%;
}
.flex.about_box .item:last-child {
    width: 95%;
	margin-top:1.5rem;
}
.flex.about_box .item h2 {
    font-size: 2rem;
}
section.work_section {
    margin-top: 6rem;
}
section.work_section h2 {
    font-size: 2rem;
    padding-bottom: 0rem;
	margin-bottom:3rem;
}
.flex.work_box {
    align-items:center;
	flex-direction:column;
}
.flex.work_box a.item {
    width: 95%;
}
.flex.work_box a.item:not(:first-child){
	margin-top:1.5rem;
}
}


/*-----------------------------
       施工事例詳細ページ
------------------------------*/
.cate_box {
    display: flex;
    justify-content: space-between;
}
.cate_box p.cate a{
	display: inline-block;
	margin-right: 10px;
	background:#00426a;
	color:#fff;
	padding:5px 1rem;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.cate_box p.date{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
h2.detail_h2 {
    font-size: 3.6rem;
    border-bottom: 1px solid #999;
    margin: 3rem 0 2rem;
    padding-bottom: 2rem;
}
.bigger_img {
	position: relative;
    background: #f9f9f9;
	height:50rem;
	margin-bottom:5px;
}
.bigger_img img{
	object-fit:contain;
	width:100%;
	height:100%;
}
.bigger_img .note {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 5px 10px;
	background: rgba(0,0,0,0.5);
	color: #fff;
	display:none;
}
.small_img {
	scroll-snap-type: x mandatory;
	white-space: nowrap;
	overflow-x: auto;
}
.small_img a {
	position: relative;
	scroll-snap-align: center;
	display: inline-block;
	width: 25%;
	white-space: normal;
}
.small_img a img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.small_img a .note {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 3px 8px;
	background: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 11px;
}
@media screen and (min-width:768px){
.small_img a:nth-child(n+6){
	margin-top:1.2rem;
}
.small_img a:nth-child(5n+2):last-child {
    margin-right: calc( ( 19% * 3 ) + ( ( ( 100% - ( 19% * 5 ) ) / 4 )  * 3 ) );
}
.small_img a:nth-child(5n+3):last-child {
    margin-right: calc( ( 19% * 2 ) + ( ( ( 100% - ( 19% * 5 ) ) / 4 )  * 2) );
}
.small_img a:nth-child(5n+4):last-child {
    margin-right: calc( ( 19% * 1 ) + ( ( ( 100% - ( 19% * 5 ) ) / 4 )  * 1) );
}
}
section.gaiyou_section {
    margin-top: 3rem;
}
section.gaiyou_section table th,
section.gaiyou_section table td{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.8;
	padding:1.5rem;
}
section.gaiyou_section table th {
    background: #00426a;
    color: #fff;
    width: 15rem;
}
section.gaiyou_section table td a{
	text-decoration:underline;
}
section.gaiyou_section table td a:hover{
	color:#ccc;
}
@media screen and (max-width:767px){
h2.detail_h2 {
    font-size: 2rem;
    padding-bottom: 1.5rem;
}
.cate_box p.cate a {
    padding: 5px 1rem;
	margin-right:5px;
    font-size: 10px;
    line-height: 1.6;
}
.bigger_img {
    margin-bottom: 5px;
	height:20rem;
}
.small_img a {
    width: 40%;
}
section.gaiyou_section table th {
    width: 9rem;
}
section.gaiyou_section table th, section.gaiyou_section table td {
    font-size:1.2rem;
    padding: 1rem;
}
}

/* 一覧ページへ戻るボタン */
.post .btn_back {
	text-align: center;
}
.post .btn_back a.linkBtn {
	background: #fff;
	border: 1px solid #00426A;
	color: #00426A;
	border-radius: 0;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
}
.post .btn_back a.linkBtn:after{
	display:none;
}
.post .btn_back a.linkBtn:hover {
	background: #00426A;
	color: #fff;
}

/*thumb slider*/
.slider_main {
	cursor: pointer;
}
.demo {
	display: flex;
	margin:15px 0;
	/*justify-content: space-between;*/
	position: relative;
}
#photo_thumb .thumbimg {
	width:25%;
	cursor: pointer;
	opacity: .5;
	transition: .5s;
	position: relative;
}
.demo.small_img a{
	width: auto;
	display: block;
}
#photo_thumb .thumbimg.active {
	opacity: 1;
}
#photo_thumb .thumbimg:hover:not(.active) {
	opacity: .7;
}
.gallery_slider .thumbimg.hide {
	display: none;
}
.gallery_slider .slider_arrow {
	position: absolute;
	font-size: 20px;
	cursor: pointer;
	height: 100%;
	width: 48px;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgb(0 0 0 / 47%);
	color: #fff;
}
.gallery_slider .slider_arrow[type="prev"] {
	left: 0;
}
.gallery_slider .slider_arrow[type="next"] {
	right: 0;
}
.small_img .note {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 2px 8px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 11px;
}
@media (max-width: 768px) {
	.gallery_slider .slider_arrow {
		font-size: 20px;
		width: 30px;
	}
}
.flex_in_w100{
	width:100%!important;
}
/*--space--------------------------------------------*/
.mt0 {
	margin-top: 0 !important;
}
.mt1 {
	margin-top: 1rem !important;
}
.mt2 {
	margin-top: 2rem !important;
}
.mt3 {
	margin-top: 3rem !important;
}
.mt4 {
	margin-top: 4rem !important;
}
.mt5 {
	margin-top: 5rem !important;
}
.mt6 {
	margin-top: 6rem !important;
}
.mt7 {
	margin-top: 7rem !important;
}
.mt8 {
	margin-top: 8rem !important;
}
.mt9 {
	margin-top: 9rem !important;
}
.mt10 {
	margin-top: 10rem !important;
}
.mt15 {
	margin-top: 15rem !important;
}
.mt16 {
	margin-top: 16rem !important;
}
.mb0 {
	margin-bottom: 0rem !important;
}
.mb1 {
	margin-bottom: 1rem !important;
}
.mb2 {
	margin-bottom: 2rem !important;
}
.mb3 {
	margin-bottom: 3rem !important;
}
.mb4 {
	margin-bottom: 4rem !important;
}
.mb5 {
	margin-bottom: 5rem !important;
}
.mb6 {
	margin-bottom: 6rem !important;
}
.mb7 {
	margin-bottom: 7rem !important;
}
.mb8 {
	margin-bottom: 8rem !important;
}
.mb9 {
	margin-bottom: 9rem !important;
}
.mb10 {
	margin-bottom: 10rem !important;
}
.mb15 {
	margin-bottom: 15rem !important;
}
.mb16 {
	margin-bottom: 16rem !important;
}
@media screen and (max-width: 768px) {
	.mt1 {
		margin-top: 0.5rem !important;
	}
	.mt2 {
		margin-top: 1rem !important;
	}
	.mt3 {
		margin-top: 1.5rem !important;
	}
	.mt4 {
		margin-top: 2rem !important;
	}
	.mt5 {
		margin-top: 2.5rem !important;
	}
	.mt6 {
		margin-top: 3rem !important;
	}
	.mt7 {
		margin-top: 3.5rem !important;
	}
	.mt8 {
		margin-top: 4rem !important;
	}
	.mt9 {
		margin-top: 4.5rem !important;
	}
	.mt10 {
		margin-top: 5rem !important;
	}
	.mt15 {
		margin-top: 7.5rem !important;
	}
	.mt16 {
		margin-top: 8rem !important;
	}
	.mb1 {
		margin-bottom: 0.5rem !important;
	}
	.mb2 {
		margin-bottom: 1rem !important;
	}
	.mb3 {
		margin-bottom: 1.5rem !important;
	}
	.mb4 {
		margin-bottom: 2rem !important;
	}
	.mb5 {
		margin-bottom: 2.5rem !important;
	}
	.mb6 {
		margin-bottom: 3rem !important;
	}
	.mb7 {
		margin-bottom: 3.5rem !important;
	}
	.mb8 {
		margin-bottom: 5rem !important;
	}
	.mb9 {
		margin-bottom: 4.5rem !important;
	}
	.mb10 {
		margin-bottom: 5rem !important;
	}
	.mb15 {
		margin-bottom: 7.5rem !important;
	}
	.mb16 {
		margin-bottom: 8rem !important;
	}
}
.pt0 {
	padding-top: 0rem !important;
}
.pt1 {
	padding-top: 1rem !important;
}
.pt2 {
	padding-top: 2rem !important;
}
.pt3 {
	padding-top: 3rem !important;
}
.pt4 {
	padding-top: 4rem !important;
}
.pt5 {
	padding-top: 5rem !important;
}
.pt6 {
	padding-top: 6rem !important;
}
.pt7 {
	padding-top: 7rem !important;
}
.pt8 {
	padding-top: 8rem !important;
}
.pt9 {
	padding-top: 9rem !important;
}
.pt10 {
	padding-top: 10rem !important;
}
.pb0 {
	padding-bottom: 0rem !important;
}
.pb1 {
	padding-bottom: 1rem !important;
}
.pb2 {
	padding-bottom: 2rem !important;
}
.pb3 {
	padding-bottom: 3rem !important;
}
.pb4 {
	padding-bottom: 4rem !important;
}
.pb5 {
	padding-bottom: 5rem !important;
}
.pb6 {
	padding-bottom: 6rem !important;
}
.pb7 {
	padding-bottom: 7rem !important;
}
.pb8 {
	padding-bottom: 8rem !important;
}
.pb9 {
	padding-bottom: 9rem !important;
}
.pb10 {
	padding-bottom: 10rem !important;
}
.pd2 {
	padding: 2rem !important;
}
.pd3 {
	padding: 3rem !important;
}
.pd4 {
	padding: 4rem !important;
}
.pd5 {
	padding: 5rem !important;
}
@media screen and (max-width: 768px) {
	.pt1 {
		padding-top: 0.5rem !important;
	}
	.pt2 {
		padding-top: 1rem !important;
	}
	.pt3 {
		padding-top: 1.5rem !important;
	}
	.pt4 {
		padding-top: 2rem !important;
	}
	.pt5 {
		padding-top: 2.5rem !important;
	}
	.pt6 {
		padding-top: 3rem !important;
	}
	.pt7 {
		padding-top: 3.5rem !important;
	}
	.pt8 {
		padding-top: 4rem !important;
	}
	.pt9 {
		padding-top: 4.5rem !important;
	}
	.pt10 {
		padding-top: 5rem !important;
	}
	.pb1 {
		padding-bottom: 0.5rem !important;
	}
	.pb2 {
		padding-bottom: 1rem !important;
	}
	.pb3 {
		padding-bottom: 1.5rem !important;
	}
	.pb4 {
		padding-bottom: 2rem !important;
	}
	.pb5 {
		padding-bottom: 2.5rem !important;
	}
	.pb6 {
		padding-bottom: 3rem !important;
	}
	.pb7 {
		padding-bottom: 3.5rem !important;
	}
	.pb8 {
		padding-bottom: 4rem !important;
	}
	.pb9 {
		padding-bottom: 4.5rem !important;
	}
	.pb10 {
		padding-bottom: 5rem !important;
	}
	.pd2 {
		padding: 1rem !important;
	}
	.pd3 {
		padding: 1.5rem !important;
	}
	.pd4 {
		padding: 2rem !important;
	}
	.pd5 {
		padding: 2.5rem !important;
	}
}
@media screen and (max-width: 414px) {
	.mt16 {
		margin-top: 5rem !important;
	}
	.mb16 {
		margin-bottom: 5rem !important;
	}
}
@media screen and (max-width: 767px){
.intern_container .flex figure {
    height: auto;
}
	}

/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}