/*
Theme Name:	wp-a-r-t-house
Description: アートハウスのテーマ
Author:mrri
*/



@font-face {
    font-family: 'FontAwesome';
    src: url('fonts/fontawesome-webfont.eot');
    src: url('fonts/fontawesome-webfont.eot?iefix') format('eot'),
         url('fonts/fontawesome-webfont.woff') format('woff'),
		url('fonts/fontawesome-webfont.woff2') format('woff2'),
         url('fonts/fontawesome-webfont.ttf') format('truetype'),
         url('fonts/fontawesome-webfont.svg#webfontjSpbZQRv') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face{
	font-display: swap;
	font-weight: 400;
	font-style: normal;
		font-family: 'Noto Sans JP';
	src: url('fonts/NotoSansJP-Regular.otf') format('opentype');
}
@font-face{
	font-display: swap;
	font-weight: 500;
	font-style: normal;
		font-family: 'Noto Sans JP';
	src: url('fonts/NotoSansJP-Medium.otf') format('opentype');
}
@font-face{
	font-display: swap;
	font-weight: 700;
	font-style: normal;
		font-family: 'Noto Sans JP';
	src: url('fonts/NotoSansJP-Bold.otf') format('opentype');
}
@font-face{
	font-display: swap;
	font-weight: 400;
	font-style: normal;
		font-family: 'poppins';
	src: url('fonts/Poppins-Regular.ttf') format('truetype');
}
@font-face{
	font-display: swap;
	font-weight: 500;
	font-style: normal;
		font-family: 'poppins';
	src: url('fonts/Poppins-Medium.ttf') format('truetype');
}
@font-face{
	font-display: swap;
	font-weight: 600;
	font-style: normal;
		font-family: 'poppins';
	src: url('fonts/Poppins-SemiBold.ttf') format('truetype');
}
@font-face{
	font-display: swap;
	font-weight: 700;
	font-style: normal;
		font-family: 'poppins';
	src: url('fonts/Poppins-Bold.ttf') format('truetype');
}

@font-face{
	font-display: swap;
	font-weight: bold;
	font-style: normal;
		font-family: 'CrimsonPro';
	src: url('fonts/CrimsonPro-Bold.ttf') format('truetype');
}

@font-face{
	font-display: swap;
	font-weight: 600;
	font-style: normal;
		font-family: 'ShipporiMinchoB1';
	src: url('fonts/ShipporiMinchoB1-Bold.ttf') format('truetype');
}

@font-face{
	font-display: swap;
	font-weight: 400;
	font-style: normal;
		font-family: 'ShipporiMinchoB1';
	src: url('fonts/ShipporiMinchoB1-Regular.ttf') format('truetype');
}



.row::before,.row::after {
      display: none;
  }

html {
	scroll-behavior: smooth;
}

body {
    font-size: 16px;
    line-height: 2;
    font-family: 'Shippori Mincho B1', serif;
    font-feature-settings: "palt";
    color: #231815;
    font-weight: 400;
	z-index: -1;
	position: relative;
	letter-spacing: 1px;
}
.gosikku {
font-family: 游ゴシック体,'Yu Gothic',YuGothic,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif !important;
}
.mintyo {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h2,h3,h4,h5,h6 {
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 600 !important;
}

.font-weight-bold {
	font-weight: 600 !important;
}

a {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #1F1F1D;
 text-decoration: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
a:hover, a:focus, a:active {
  outline: none;
  text-decoration: none;
	color: #1F1F1D;
}
img{
max-width:100%;
vertical-align: bottom;
	height: auto;
}

.row-10 {
    margin-left:-5px;
    margin-right:-5px;
}	
.row-10>div {
    padding-right:5px;
    padding-left:5px;
}

*:focus {
  outline: none;
}
a , button{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
.btn.focus, .btn:focus {
  outline: 0;
  box-shadow: none;
}
a:hover{
	text-decoration:none;
	opacity: 0.7;
}

a.page-numbers, a.page-numbers:hover,.single-pager ul li a:hover {
    opacity: 1;
}

a[href^="tel:"] {
    pointer-events: none;
}

.pc-990 {
	display: block;
}

.sp,.sp-990{
	display:none;
}
.w-100p{
	width:100% !important;
}
a[href^="tel:"] {
    pointer-events: none;
}

a.link {
    padding-bottom: 3px;
    border-bottom: solid 1px #ddd;
}


/*モーション*/
main {
  overflow: hidden;
}

.faderight {
	opacity: 0;
	transform: translate(-50px, 0);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.fadeup {
	opacity: 0;
	transform: translate(0, 50px);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.fadeup2 {
	opacity: 0;
	transform: translate(0, 150px);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.fadeup3 {
	opacity: 0;
	transform: translate(0, 250px);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.fadeleft {
	opacity: 0;
	transform: translate(50px, 0);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.fadeleft2 {
	opacity: 0;
	transform: translate(50px, 0);
	transition: opacity 0.75s linear,
		transform 2.5s cubic-bezier(0.19, 1, 0.22, 1),
		-webkit-transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}


.fadeup.scrollin, .fadeup2.scrollin, .fadeup3.scrollin, .faderight.scrollin, .fadeleft.scrollin, .fadeleft2.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.fadeIn{
animation-name:fadeInAnime;
animation-duration:1.0s;
	animation-delay: 0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  transform: translateY(-40%);
  }

  to {
    opacity: 1;
  transform: translateY(-50%);
  }
}


.js-fadein{
	display: none;
}

/*トップページ-------------------------------*/
/*ヘッダー*/
.gmrelative01.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-110%);
	  box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.5);
}
.gmrelative01.clone-nav.is-show {
  transform: translateY(0);
	z-index: 3000;
}
.gmrelative01.clone-nav.is-show .header-top {
  background: #fff;
}

.header-top {
  color: #1F1F1D;
  /*display: flex;*/
	padding: 0 0 0 20px;
	justify-content: space-between;
	background: transparent;
}
.nav-wrap {
	background-color: transparent;
  display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}


h1.header-logo a {
  font-size: 26px;
  margin: 0;
  font-weight: 900;
  letter-spacing: 3px;
  color: #043b7b;
}

h1.header-logo a img:hover {
	opacity: 0.5;
}

nav.top-menu {
  /*display: flex;*/
  justify-content: stretch;
  -webkit-justify-content: flex-start;
  justify-content: end;
  align-items: center;
}
nav.globalMenuSp, .hamburger {
  display : none;
}
nav.top-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
	align-items: center;
	justify-content: end;
}

.gmrelative01 ul.pc-nav-top li.link-btn a,.gmrelative01 nav.top-menu ul li a  {
	color: #fff;
}

.gmrelative01 ul.pc-nav-top li.link-btn a:hover,.gmrelative01 nav.top-menu ul li a:hover  {
	opacity: 0.5;
}

.gmrelative01.clone-nav.is-show ul.pc-nav-top li.link-btn a,.gmrelative01.clone-nav.is-show nav.top-menu ul li a {
	color: #231815;
	
}

nav.top-menu ul li a {
  font-size: 16px;
  display: block;
  padding: 10px 5px 10px 5px;
  font-weight: 500;
  letter-spacing: 2px;
  position: relative;
  margin-left: 15px;
  font-weight: 400;
}

li.nav-tel a span {
    display: block;
}

/*nav.top-menu ul li a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #ccc;
bottom: -1px;
transform: scale(0, 1);
transform-origin: left top; 
transition: transform 0.3s;   
}*/

/*
nav.top-menu ul li a:hover::after {
transform: scale(1, 1); 
}*/
/*
nav.top-menu ul li.nav-contact a:hover::after {
	transform: scale(0, 1);
}
nav.top-menu ul li.nav-contact a{
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}


nav.top-menu ul li.nav-contact a:hover {
	background: rgba(4,59,123,0.3);
}*/


/*==================================================
　5-3-3 左から右に線が伸びる（下部）
===================================*/
.footer-nav li a{
    /*線の基点とするためrelativeを指定*/
  position: relative;
}

.footer-nav li a{
  color: #fff;
}

.footer-nav li a:hover{
	opacity: 0.8;
  }



/*現在地とhoverの設定*/
.footer-nav li.current a::after,
.footer-nav li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}


/*モーダル トップナビ*/
.service-bnr ul li a{
    /*線の基点とするためrelativeを指定*/
  position: relative;
}

.service-bnr ul li a{
  color: #fff;
}

.service-bnr ul li a:hover{
	color: #ccc;
  }
/*
.service-bnr ul li a::after {
    content: '';
    
    position: absolute;
    bottom: 0;
    left: 0;
    
    width: 100%;
    height: 1px;
    background:#fff;
   
    transition: all .3s;
    transform: scale(1, 1);
    transform-origin: left top;
}
/*
/*現在地とhoverの設定*/
/*
.service-bnr ul li a:hover::after {
    transform: scale(0, 1);
}
*/




.gmrelative01 {
  z-index: 2000;
  position: relative;
}

.gmrelative01.clone-nav.is-show nav.top-menu {
  margin-top: 0;
}

li.nav-contact img {
  width: 26px;
  vertical-align: middle;
}
li.nav-contact {
  border-left: 1px solid #fff;
	margin-left: 10px;
}
nav.top-menu ul li.nav-contact a {
  padding: 13px 20px 13px;
  margin: 0;
}

ul.nav-bg-blue {
	background: url("img/nav-blue.png") no-repeat top right;
}

li.nav-tel a {
    font-size: 19px !important;
    line-height: 1.3;
    margin-left: 45px !important;
}

li.nav-tel a {
    font-size: 32px;
}

li.nav-tel a span {
    font-size: 14px;
    font-weight: normal;
}



 
  /*========= レイアウトのためのCSS ===============*/
  /*
  body{
	background:#f3f3f3;
	  padding:20px;
  }
  */
  
  a{
	color: #333;
	text-decoration: none;
  }
  
  .lead{
	margin:20px 0 0 0;
  }
  
  .btn-block{
	width:200px;  
	padding: 30px;
  }


/*リンクホバー その1*/
.c-button-primary {
    position: relative;
    display: inline-block;
    min-width: 240px;
    padding: 10px;
    color: #3e6f77;
    background-color: #fff;
    border: solid 1px #3e6f77;
    text-align: center;
}

a.c-button-primary::before {
    height: 1px;
    width: 66px;
    display: block;
    background-color: #3e6f77;
    position: absolute;
    top: 50%;
    left: -18%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

  .c-button-primary::before, .c-button-primary::after {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
  }
  .c-button-primary::before {
	width: 100%;
	background-color: #fff;
  }
 /* .c-button-primary::after {
	width: 40px;
	background-color: #538cff;
  transition: width .6s cubic-bezier(0.65, 0, 0.35, 1);
  }*/
   .c-button-primary:hover::after {
	  width: 100%;
	}

	a.c-button-primary:hover {
		background: rgba(62,111,119,0.75);;
		color: #fff;
	}

/*リンクホバー その2*/
.c-button-primary2 {
	width: 240px;
    position: relative;
    display: inline-block;
    /* min-width: 240px; */
    padding: 6px 0px;
	background-color: #3e6f77;
  }

  a.c-button-primary2 i {
    position: absolute;
    right: 20px;
	top: 52%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
  

/*リンクホバー その3*/
.c-button-primary3 {
	position: relative;
	display: inline-block;
	min-width: 240px;
	padding-bottom: 5px;
  }
  .c-button-primary3::before, .c-button-primary3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
  }
  .c-button-primary3::before {
	width: 100%;
	background-color: #fff;
  }
  .c-button-primary3::after {
	width: 40px;
	background-color: #142c4d ;
  transition: width .6s cubic-bezier(0.65, 0, 0.35, 1);
  }
   .c-button-primary3:hover::after {
	  width: 100%;
	}


	

	ul.pc-nav-top li.link-btn a {
		font-size: 14px;
		border: solid 1px;
		padding: 3px 15px;
		width: 140px;
		text-align: center;
	}

/*モーダル*/
	.modal-dialog {
		width: 100vw;
		height: 100vh;
		margin: 0;
		max-width: none;
	  }

	  .service-bnr {
		padding-top: 90px;
	}

	  .service-bnr ul li, .service-bnr ul li a {
		color: #fff;
	}

	.modal-content {
		margin-top: 80px;
		height: 100vh;
		background: #142c4d;
	}

	.close {
		color: #ddd !important;
		font-size: 35px;
	}

	.modal-header {
		border-bottom: none;
	}

/*文字サイズ*/
.fs-24 {
font-size: 19px;
}

.fs-18 {
	font-size: 18px;
}


/*スクロールしない場合のナビの黒ロゴを非表示*/
.gmrelative01 img.top-logo-b {
    display: none;
}

/*スクロールする場合のナビの黒ロゴを表示*/
.gmrelative01.clone-nav.is-show img.top-logo-b {
    display: block;
}

.gmrelative01.clone-nav.is-show img.top-logo-b.nav-tel {
    display: inline-block;
}


.gmrelative01.clone-nav.is-show img.top-logo-w {
    display: none;
}


/*メインビジュアル*/
.main-img {
	position: relative;
	/*margin-top: -66px;*/
	margin-top: -125px;
}
.main-txt {
	max-width: 900px;
    width: 50%;
	text-shadow: 1px 0px 10px black;
  position: absolute;
  bottom: -11%;
  right: 0%;
  transform: translate(-10%, -50%);
  -webkit-transform: translate(-10%, -50%);
  -ms-transform: translate(-10%, -50%);
  z-index: 1;
 /* width: 50vw;*/
}


p.main-s-f-1 {
    font-size: 31px;
	
}

p.main-s-f-2 {
    font-size: 56px;
}

/*共通*/
.inner {
    padding: 80px 0;
}
ul{
	list-style-type:none;
	padding:0;
	margin:0;
}
.cl-gray{
	color:#5b5a58 !important;
}
.cl-red{
	color:#c1272d !important;
}
.bg-skyblue {
  background: #dce4ea;
}


/*ボタン*/
.btn-blue a {
  background: #043b7b;
  font-size: 16px;
  display: inline-block;
  padding: 10px 50px;
  color: #fff;
  font-weight: 600;
	text-align: center;
	border-radius: 30px;
}
.btn-blue a:hover {
	background: #002b5e;
}
.btn-blue img {
  width: 25px;
  vertical-align: middle;
  margin-right: 10px;
}
input.submit-btn{
	width: 230px;
	height: 50px;
	line-height: 50px;
	border-radius: 50px;
	background: #fff;
	color: #000;
	border: 1px solid #000;
}
input.submit-btn:hover{
	background:#000;
	color: #fff;
}





/*トップページ*/
/*コンテンツ1*/
section.indexbox01 {
    position: relative;
}

.tate-f {
    z-index: -1;
    position: absolute;
    top: 25px;
    left: -40px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 124px;
    color: #106eb8;
    opacity: 0.3;
}



.big-blue {
  font-size: 40px;
  font-weight: bold;
  color: #106eb8;
  line-height: 1.6;
}

.link a{
	position:relative;
	/*color: #043b7b;*/
	padding: 5px 25px 5px 20px;
	/*font-weight: bold;*/
	margin-right: 10px;
}
.link a::after {
	display: block;
  width: 100%;
  height: 12px;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #043b7b;
  transform: skew(60deg);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
}
.link a:hover{
	padding: 5px 35px 5px 20px;
	margin-right: 0;
}

/*top コンテンツ2*/
h2.index02-h3 {
    position: relative;
    top: -15px;
}

section.indexbox02 {
    padding:80px 0 80px;
    z-index: 0;
    position: relative;
    background: #fff;
}



.blue-bg {
    display: block;
    width: 60%;
    height: 415px;
    background-color: #106eb8;
    position: absolute;
    right: 0;
    top: 110px;
    z-index: -1;
}

.test:after {
    content: "";
    width: 59%;
    display: block;
    height: 430px;
    background-color: #106eb8;
    position: absolute;
    z-index: -1;
    right: 0;
    top: 125px;
}

.p-c h3{
    font-size: 50px;
    color: #231815;
	font-weight: 600;
}

.service-contents h2 span,.indexbox02 h2 span,.indexbox03 h2 span,.indexbox05 h2 span,.indexbox06 h2 span ,#news h2 span,#blog h2 span,.p-c h3 span{  
    display: block;
    font-size: 18px;
    color: #231815;
}

.service-contents {
    position: absolute;
    width: 100%;
    top: -115px;
}



/*Advantage*/
dl.top-advantage-01, dl.top-advantage-02 {
    padding: 20px 0;
}

dl.top-advantage-01 dt, dl.top-advantage-02 dt {
    font-size: 24px;
    padding-left: 100px;
    position: relative;
}

dl.top-advantage-01 dd, dl.top-advantage-02 dd {
    background: #fff;
    padding: 20px 20px 20px 100px;
	border-radius: 10px;
}

dl.top-advantage-01 dt:before {
    content: "1";
    display: block;
    position: absolute;
    top: -70px;
    left: -30px;
    font-size: 200px;
    font-weight: 700;
    color: #aecae1;
    line-height: 1;
}

dl.top-advantage-02 dt:before {
    content: "2";
    display: block;
    position: absolute;
    top: -70px;
    left: -30px;
    font-size: 200px;
    font-weight: 700;
    color: #aecae1;
    line-height: 1;
}

.advantage-blue-f {
    font-size: 53px;
    color: #106eb8;
}

h2.index-h2,h3.index-h2.p-f {
	position: relative;
  letter-spacing: 1px;
font-size: 60px;
  color: #231815;
	  line-height: 1.6;
}

h3.index-h2.p-f {
	line-height: 1.3;
}



h2.index-h2.top-event::after {
    position: absolute;
    bottom: 0px;
    content: "";
    height: 4px;
    width: 100px;
    display: block;
    background-color: #000;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

h2.index-h2 span,h3.index-h2.p-f span {
	letter-spacing: 1px;
font-size: 25px;
	color: #1F1F1D;
  font-weight: 500;
  display: inline-block;
  padding-left: 1rem;
  font-weight: 600;
}

h3.index-h2.p-f span {
    line-height: 1;
    display: block;
}

.indexbox-2.p-ab p {
    font-size: 22px;
}

.top-position-r,.top-position-r2,.top-position-r3 {
    position: relative;
}

.top-position-r,.top-position-r2 {
    height: 100%;
	margin-bottom: 80px;
}


.top-position-ab-1.indexbox-2.p-ab {
    width: 560px;
    position: absolute;
    padding: 0px;
    top: 15%;
    left: 5%;
}

.top-position-r img {
    width: 53%;
}

.top-position-ab-2.indexbox-2.p-ab {
    width: 720px;
    position: absolute;
    padding: 80px 0px;
    top: 5%;
    right: 4%;
}

.top-position-r2 img {
    width: 52%;
}

.top-position-ab-1.indexbox-2.p-ab p,.top-position-ab-2.indexbox-2.p-ab p {
    margin-bottom: 80px;
}

/*work category*/
.work-block > .category {
    color: #ccc;
    font-size: 15px;
}



.top-work-btn {
    padding-top: 40px;
    display: block;
    /* border-left: solid 1px #ddd; */
    position: relative;
}

.top-work-btn:before {
    position: absolute;
    content: "";
    display: block;
    height: 60px;
    width: 1px;
    /* color: #fff; */
    background-color: #fff;
    top: -10px;
}

/*矢印の変更*/
.swiper-button-next.work::after,
.swiper-button-prev.work::after {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.swiper-button-next.work,
.swiper-button-prev.work {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  /*border: 1px solid #fff;*/
  border-radius: 100%;
}

/*矢印を画像に変える*/
.swiper-button-next::after, .swiper-button-prev::after {
    content: "";
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 25px 25px;
    background-position: top 40% center;
}

.swiper-button-next::after {
	background-image: url("img/long-arrow-alt-right-solid.svg");
  }
  .swiper-button-prev::after {
	background-image:  url("img/long-arrow-alt-left-solid.svg");
  }
  .swiper-button-next,
  .swiper-button-prev {
	width: 50px;
	height: 50px;
  }

  .work-block {
    padding: 0px 5px;
}


/*インタビュー*/

.movie-box {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.movie-box iframe {
    width: 100%;
    height: 100%;
}

.index-business a img{
  display:block;
  width:100%;
}

.index-business a:hover:before{
  opacity:0.3;
}
.index-business{
	position: relative;
}
.index-b-txt {
	color: #5b5a58;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
}

.index-b-txt-2 {
    /* font-size: 16px; */
    letter-spacing: 2px;
}

.index-business a:hover .index-b-txt {
	opacity:1;
}


section.indexbox02 ul li a,section.indexbox06 ul li a {
    position: relative;
    margin-bottom: 25px;
}



section.indexbox02 ul li a i,section.indexbox06 ul li a i {
    position: absolute;
    right: 30px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}



.property-wrap {
  background: #fff;
  padding: 15px 20px;
}

.property-cat {
  border: 1px solid #043b7b;
  padding: 2px 20px 0px;
  font-size: 14px;
  border-radius: 30px;
  color: #043b7b;
	display: inline;
}
.property-title {
  font-size: 20px;
  font-weight: bold;
	line-height: 1.3;
	padding-bottom: 10px;
}
li.property-add {
  background: url("img/icon_address.png") no-repeat top left;
	padding-left:30px;
	line-height: 1.4;
	margin-bottom: 10px;
	font-size: 14px;
}
li.property-access{
  background: url("img/icon_access.png") no-repeat top left;
	padding-left:30px;
	line-height: 1.4;
	margin-bottom: 10px;
	font-size: 14px;
}
li.property-meter{
  background: url("img/icon_meter.png") no-repeat top left;
	padding-left:30px;
	line-height: 1.4;
	margin-bottom: 10px;
	font-size: 14px;
}
.property-price {
  font-size: 26px;
  color: #c1272d;
  text-align: right;
  font-weight: bold;
	line-height: 1.3;
}
.property-price .kanri-price {
  font-size: 14px;
  font-weight: normal;
  display: block;
  color: #212529;
}

.property-img img {
  height: auto;
  transition: transform .5s ease; 
	height: 220px;
	width: 100%;
	object-fit: cover;
}
a:hover .property-img img {
  transform: scale(1.1); /* 拡大 */
}
.property-img {
  overflow: hidden;
}


section.indexbox06 {
    margin: 110px 0px;
	position: relative;
}

section.indexbox06 img.bg-1 {
    position: absolute;
    top: -85px;
    left: 110px;
	z-index: -1;
}

li.property-meter{
	background: url("img/icon_meter.png") no-repeat top left;
	  padding-left:30px;
	  line-height: 1.4;
	  margin-bottom: 10px;
	  font-size: 14px;
}


section.indexbox06 img.bg-2 {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 755px;
}

/*top event*/

.event-name {
    margin-top: 5px;
    margin-bottom: 0;
	font-weight: 600;
}


.event-date {
    color: #595757;
    font-size: 14px;
    line-height: 1.2;
	margin-bottom: 0;
    margin-top: 15px;
}

/*top index04 */
.indexbox04-flex {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.top-position-ab-3 {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    /* position: absolute; */
    width: 76%;
}

.indexbox04-content h3 {
    line-height: 1.5;
    /*font-size: 70px;*/
	font-size: 60px
}

.indexbox04-content h3 span {
    display: block;
    font-size: 19px;
}

.indexbox04-content {
    margin-bottom: 80px;
	padding: 0px 15px;
}

.indexbox04-content h3.fs-50 {
    font-size: 50px;
    font-weight: 600;
    margin-top: 10px;
}

.indexbox04-content h3.fs-50 span {
    font-weight: 400;
    line-height: 1;
}

/*top index05*/
section.indexbox05 {
    position: relative;
    display: block;
    height: 100%;
	margin: 0px 0 200px;
}

.indexbox05-p-r {
    position: relative;
}

.indexbox05-img-1 {
    width: 53%;
    max-width: 1000px;
}

.indexbox05-green-bg-content {
    position: relative;
}

.indexbox05-green-bg-content-ab p {
    font-size: 16px;
    color: #fff;
}

.indexbox05-green-bg {
    height: 560px;
    position: absolute;
    width: 50%;
    background-color: #3e6f77;
    /* padding: 160px; */
    bottom: -15%;
    right: 0;
}


.indexbox05-green-bg-content-ab {
    width: 72%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
}


.indexbox05-content-flex {
    display: flex;
    justify-content: space-around;
}

.indexbox05-content-flex a img {
    max-width: 150px;
    margin-right: 5px;
    width: 90%;
}

.indexbox05-content-flex a img:hover,.indexbox04-content img:hover > .indexbox04-content > a > div > div {
    opacity: 0.7;
} 



/*トップ ニュース ブログ*/
section#news,section#blog {
    padding: 60px 0px 0px;
}

section#blog {
    padding: 0px 0px 60px;
}

.news-border-b {
    border-bottom: solid 2px #106eb8;
    /*padding-top: 60px;*/
	margin: 60px 0px;
    border-top: none;
}

.c-article::before {
    width: 100%;
    background-color: #fff;
}

.c-article::after {
    width: 40px;
    background-color: #538cff;
    transition: width .6s cubic-bezier(0.65, 0, 0.35, 1);
}

.c-article::before, .c-article::after {
    position: absolute;
    bottom: 0;
    left: 0;
    /*height: 1px;*/
    content: "";
}

span.category-bg {
	position: relative;
	top:-5px;
	font-size: 12px;
    background-color: #142c4d;
    padding: 2px 15px;
    color: #fff;
    border-radius: 30px;
    width: 140px;
    display: inline-block;
    text-align: center;
	margin: 0px 10px;
}

/*トップ コンタクトコンテンツ*/
/*.contact-box {
  color: #fff;
  padding: 60px 0;
  position: relative;
  background-color: #f5f5f5;
}
.index-h2.cl-white span {
  color: #fff;
}
.btn-tel a {
  display: block;
  height: 120px;
  padding: 25px 0 20px;
  text-align: center;
  font-size: 53px;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 1;
  color: #106eb8;
}
.btn-tel span {
  display: block;
  font-size: 16px;
  font-weight: 400;
	letter-spacing: 0;
	padding-top: 10px;
}
.btn-tel img {
  vertical-align: middle;
  display: inline;
  margin-right: 15px;
	width: 45px;
}

.btn-mail {
    width: 90%;
    margin: 0 auto;
}

.btn-mail a {
	-webkit-transition-duration: .2s;
    transition-duration: .2s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    display: block;
    background: rgb(0,94,255);
    background: #fff;
 height: 120px; 
     border-radius: 100px; 
    padding: 0 20px;
    text-align: center;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1;
    color: #000 !important;
    position: relative;
    line-height: 62px;
    border: solid 1px #106eb8;
}

.btn-mail span {
  display: block;
  font-size: 18px;
  font-weight: 400;
	letter-spacing: 0;
	padding-top: 10px;
}
.btn-mail img {
  vertical-align: middle;
  display: inline;
  margin-right: 15px;
	width: 45px;
}

i.fa.fa-envelope-o.pr-5.ab-l {
	color: #106eb8;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

i.fa.fa-long-arrow-right.ab-r.pl-5 {
	color: #106eb8;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.btn-mail a:hover i.fa.fa-long-arrow-right {
	right: 25px;
}

.btn-mail a:hover{
background:#fff;
	opacity: 1;
	color:#fff;
}
*/


/*フッター*/
.footer-content {
  padding: 40px 0;
  background-color: #333333;
  color: #fff;
}
footer .footer-content a {
	color: #fff;
}
footer a:hover {
	opacity: 0.8;
	color: #fff;
}

.footer-name {
  /*font-size: 26px;*/
	margin: 0;
	/*font-weight: 900;
	letter-spacing: 3px;*/
	color: #fff;
}
.footer-address img {
  width: 16px;
  margin-right: 15px;
  display: inline;
  vertical-align: middle;
}

.footer-address a {
	color: #fff;
}

.footer-address a:hover {
  text-decoration: underline;
}
.footer-address {
  line-height: 1.6;
}
ul.footer-nav li,ul.footer-nav li a {
	color: #fff;
}

.footer-copy {
  font-size: 14px;
  padding: 10px 10px 10px;
  background: #fff;
  color: #5b5a58;
}

.footer-copy a{
	color: #5b5a58;
}

.footer-copy a:hover{
	opacity: 0.8;
	color: #5b5a58 !important;
}

li.footer-tel-3 span {
    font-size: 34px;
    font-weight: bold;
    position: relative;
    top: 7px;
    margin-left: 5px;
}


/*--シングル・施工事例詳細フッター--*/
ul.footer-nav.footer-3 {
    width: 32%;
}

ul.footer-nav.footer-3 li a {
    margin-bottom: 5px;
    display: inline-block;
}


/*ページトップへ*/
#page-top {
    position: fixed;
    bottom: 30px;
    right: 10px;
    font-size: 200%;
    z-index: 200;
	padding: 0;
	margin: 0;
}
#page-top a, #page-top a:focus, #page-top a:active, #page-top a:visited {
  background: transparent;
	text-decoration: none;
	background: #333333;
	width: 50px;
	padding: 0;
	text-align: center;
	display: block;
	height: 50px;
	line-height: 45px;
	border-radius: 50px;
	opacity: 1;
	letter-spacing: 0;
	border:2px solid #fff;
}
#page-top a:hover {
    text-decoration: none;
	opacity: 1;
	background: #000;
}
#page-top img {
  height: 26px;
  vertical-align: middle;
  display: inline;
}

/*固定ページの通常時のヘッダーを非表示にする*/
/*.header-top.d-page-none {
    display: none;
}

.header-top.d-page-none.active {
    display: block;
}*/



/*ページ*/
.page-top, .page-top-inner {
    margin-top: -115px;
}


.page-top {
    position: relative;
    /* background: linear-gradient(90deg, rgba(4, 59, 123, 0.2) 0%, rgba(49, 204, 209, 0.2) 100%); */
    height: 540px;
}

.page-top-inner {
    position: relative;
    height: 540px;
}

h2.page.index-h2 {
    font-size: 100px;
    line-height: 1.1;
	font-weight: bold;
}

.page-title-ab {
    position: absolute;
    bottom: 3%;
    left: 3%;
}

.title-img-bg img {
    max-width: 1540px;
    width: 90%;
    height: 540px;
    object-fit: cover;
    object-position: left 100%;
	position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}


h2.page-top-h2 {
  font-size: 56px;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  color: #fff;
  text-shadow: 1px 0px 10px black;
}
h2.page-top-h2 .subtitle {
  color: #043b7b;
  font-size: 34px;
	margin-bottom: 15px;
	display:block;
	margin-bottom:15px;
}
.title-logo img {
  height: 160px;
}
.title-logo {
  position: absolute;
  top: 55%;
  left: -120px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-55%);
  -ms-transform: translateY(-50%);
}
.service-title {
  position: relative;
}
h3.service-h3 {
  position: absolute;
  bottom: 20px;
  left: 30px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 2px;
}
.service-blue {
  font-size: 24px;
  font-weight: 600;
  color: #043b7b;
  line-height: 1.6;
}
.service-inner {
  padding: 0 15px;
}

.service-h4 {
  font-size: 20px;
  font-weight: 600;
  color: #043b7b;
  border-bottom: 1px solid #043b7b;
	letter-spacing: 2px;
}

/*会社案内*/
.greetings-blue {
    font-size: 40px;
    color: #106eb8;
}

.greetings-blue span {
    color: #c1272d;
}

.page-blue-bg {
    background: linear-gradient(90deg, rgba(0, 88, 147, 1) 0%, rgba(16, 110, 184, 1) 100%);
    padding: 60px 0px;
	font-size: 20px;
}

span.greetings-name {
    display: block;
	font-size: 50px;
}

.movie-box-out {
    max-width: 864px;
    margin: 30px auto;
}

.movie-box {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.movie-box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.page-gray-bg {
	background-color: #f2f2f2;
}

.p-c-2-contents > .h4 {
    position: relative;
    display: inline-block;
    /* min-width: 240px; */
    padding-top: 5px;
	font-size: 26px;
}

.p-c-2-contents > .h4::before {
	width: 100%;
	background-color: #cccccc;
}

.p-c-2-contents > .h4::after {
    width: 80px;
    background-color: #538cff;
}

.p-c-2-contents > .h4::before, .p-c-2-contents > .h4::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    content: "";
}

.p-c-2-contents dl {
    background-color: #fff;
    padding: 30px;
    margin-top: 25px;
    border-radius: 10px;
}

.p-c-2-contents dt {
    font-size: 40px;
    margin-bottom: 15px;
    color: #106eb8;
}

section.p-c.p-c-2 ul {
    margin-left: 30px;
}
section.p-c.p-c-2 ul li {
    list-style: disc;
}

table.p-c-3.table th,table.p-c-3.table td,
section.p-c.p-c-2 ul li,.p-r-2 p{
font-size: 16px;
}

table.p-c-3.table th,table.p-c-3.table td {
    font-weight: normal;
    border-top: none;
    padding: 10px 15px 10px 0px;
}

table.p-c-3.table th {
   width: 170px;
}

.indexbox04-content.p-c h3 {
    font-size: 50px;
}

.indexbox04-content.p-c {
    padding: 0px;
    margin-bottom: 40px;
}


/*アートハウスの家*/
.concept-flex {
    display: flex;
}

/*設計・構造*/
h3.page-h3-fs-25 {
    font-size: 25px;
	font-family: 'Shippori Mincho B1', serif;
    font-feature-settings: "palt";
}

.features-img img {
    width: 590px;
    display: block;
    max-width: 636px;
}



/*イベント一覧*/
.event-box.page-archive a{
    margin-bottom: 60px;
    width: 100%;
    display: flex;
}

.page-archive.img img {
    max-width: 350px;
    width: 350px;
    height: 255px;
    object-fit: cover;
}

.page-archive.event-date {
    font-size: 19px;
    color: #231815;
    font-weight: 600;
    margin-top: 0;
}

.page-archive.event-title h3 {
font-size: 25px;
    font-weight: 600;
    border-bottom: solid 1px #231815;
    padding-bottom: 5px;
    margin-bottom: 15px;
}


/*イベント詳細*/
h3.event-name.single {
font-size: 30px;
    background-color: #eeeeee;
    border: none;
    padding: 15px 30px;
}

.single-event-new {
    font-size: 23px;
	font-weight: 600;
}

.page-archive.img.single {
    width: 100%;
}

.page-archive.img.single img {
		width: auto;
		height: auto;
		max-width: 100%;
		object-fit: contain !important;
}


/*ページャー*/
a.page-numbers, .archive-pager .current {
    background: 0 0;
    border: none;
    padding: 8px 15px;
    margin: 0 2px;
    color: #333;
}
.archive-pager .current {
    background: 0 0;
   /* border: solid 1px #333;*/
    color: #231815;
}

a.page-numbers {
    border: solid 1px #3e3a39;
	background: #fff;
}

a.page-numbers:hover {
	border: solid 1px #3e3a39;
	background: #231815;
	color: #fff;
}

.single-pager  {
    padding: 60px 0 0;
}
.single-pager ul {
    list-style-type: none;
    overflow: hidden;
    padding: 0;
    margin: 0;
    font-size: 90%;
	line-height: 1.5;
}
.single-pager ul li.previous {
    float: left;
    display: inline;
	margin-bottom: 5px;
}
.single-pager ul li.previous a {
    padding: 10px 5px;
    border: 1px solid #3e3a39;
	color:#231815;
    display: block;
    text-decoration: none;
}
.single-pager ul li.next {
    float: right;
    display: inline;
	margin-bottom: 5px;
}
.single-pager ul li.next a {
    padding: 10px 5px;
    border: 1px solid #3e3a39;
	color:#231815;
    display: block;
    text-decoration: none;
}
.single-pager ul li.previous a:hover, .single-pager ul li.next a:hover{
	background: #231815;
	color: #fff;
}
.pager .previous > a, .pager .previous > span {
    float: left;
    width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
	text-align:center;
}
	.pager .next > a, .pager .next > span {
		float: right;
		    width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
		text-align:center;
	}

.link-blue {
    margin-top: 10px;
    margin-bottom: 15px;
}

.link-blue a {
    color: #106eb8;
    margin-bottom: 20px;
}
.link-blue a:hover {
    color: #106eb8;
	opacity:0.7;
}




/*モデルハウス*/
.mh-yoyaku-box {
    border: solid 1px #000;
    max-width: 600px;
    margin: 0 auto;
}

.mh-yoyaku-box-flex,.mh-yoyaku-syosai-3 dl {
    display: flex;
}

.mh-yoyaku-syosai-1 {
    width: 147px;
    font-size: 19px;
    background-color: #000;
    color: #fff;
    padding: 10px 30px;
    font-weight: bold;
}

.mh-yoyaku-syosai-2 {
    font-size: 19px;
    font-weight: bold;
    padding: 10px 30px;
    text-align: center;
    width: 76%;
    border-bottom: solid 1px;
}

.mh-yoyaku-syosai-3 {
    width: 70%;
    margin: 0 auto;
	padding: 25px 0px;
}

.mh-yoyaku-syosai-3 dl {
    font-size: 19px;
	text-align: left;
	margin-bottom: 0px;
}

.mh-yoyaku-syosai-3 dl dt {
    width: 35%;
}

.mh-yoyaku-syosai-3 dl span {
    font-size: 14px;
	line-height: 1;
}

/*-- モデルハウス予約フォームページ --*/
.contact-box.page-reserve {
    border: solid 1px #333333;
    padding: 30px 0px 60px;
}


/*-- イベント詳細（予約プラグインカレンダーの見た目の調整）--*/
.monthly-calendar {
    margin-top: 40px;
}

.monthly-calendar table td {
    border: solid 1px #231815;
}

.monthly-prev a,.monthly-next a,.single-work-archive-btn a {
    background: #231815;
	border: solid 1px #231815;
    color: #fff;
    padding: 10px 20px;
}

.monthly-prev a:hover,.monthly-next a:hover,.single-work-archive-btn a:hover {
    background: #fff;
    color: #231815;
	border: solid 1px #231815;
    padding: 10px 20px;
}

.monthly-prev a:before {
	content: "◀";
	display: inline-block;
	margin-right: 10px;
}

.monthly-next a:after {
    content: "▶";
	display: inline-block;
	margin-left: 10px;
}


/*（予約プラグイン予約内容入力ページボタンの見た目の調整）-*/
div#action-button button:after {
    content: "▶";
    position: absolute;
    right: 10px;
    width: 10px;
}
div#action-button button {
    position: relative;
    width: 180px;
    background: #000;
    color: #fff;
}



/*スタッフ*/
.staff-name span {
    font-size: 16px;
    display: block;
    line-height: 1;
    font-weight: normal;
	color: #595757;
}
.staff-name {
    font-size: 25px;
    font-weight: bold;
	color: #000;
}



body.page-template-default p {
  margin: 0;
}

dl.company-dl {
  display: flex;
  margin: 0;
  padding: 15px 10px;
}
dl.company-dl dt {
  width: 13em;
	flex-shrink: 0;
	color: #142c4d;
	font-weight: 500;
	padding-left: 30px;
}
dl.company-dl dd {
  margin:0;
}
dl.company-dl:nth-child(odd){
      background-color: #dce4ea;
    }
a.map {
  color: #142c4d !important;
  border: 1px solid #142c4d;
  border-radius: 4px;
  padding: 1px 5px;
  margin-left: 10px;
}
a.map:hover {
	background-color: #f2f2f2;
}
.property-blue {
  font-size: 20px;
  font-weight: bold;
  color: #043b7b;
}

dl.contact-dl {
  display: flex;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 15px;
}

dl.contact-dl dt {
  width: 360px;
  font-weight: normal;
	flex-shrink: 0;
}
dl.contact-dl dd {
  margin-bottom: 0;
  margin-left: 0;
  width: 100%;
}
.hissu {
  background: #e50012;
  padding: 2px 5px;
  font-size: 13px;
  margin-right: 10px;
}
input[type="text"],input[type="tel"],input[type="email"], textarea ,select{
	width: 100%;
	border: 1px solid #a7a9ac;
	border-radius: 8px;
	padding: 5px 10px;
	background:#fff;
	line-height: 1.3;
}
label {
  margin-bottom: 0;
}

textarea {
  height: 13rem;
}
.row-wrap {
  height: 8rem;
  overflow: auto;
  background: #fff;
  color: #808285;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.5;
  padding: 5px 10px;
  border-radius: 8px;
}
input[type="checkbox"] {
  margin-right: 10px;
  margin-top: 20px;
}
body.page-id-14 main a{
	color:#043b7b;
	text-decoration:underline;
}
input.contact-btn {
  background: #000;
  font-size: 16px;
  display: inline-block;
  padding: 5px 100px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  border: 2px solid #000;
}
input.contact-btn:hover{
	background: #fff;
	color: #000;
}

dl.contact-dl dt p span {
    color: #870c22;;
}

#msg span {
	display: block;
  background: #012b5d;
  margin-top: 40px;
  padding: 10px 20px;
  color: #fff;
  border-radius: 4px;
}

/*施工事例一覧*/
.work-name {
	background-color: #333333;
	color: #fff;
	margin: 10px 0px;
    line-height: 1.4;
	font-weight: 600;
    padding: 5px 10px;
}

.work-name.page-archive-2 {
    font-size: 0.75em;
}

.work-title.page-archive-2 h3 {
    font-size: 1em;
}

ul.work-taxonomy-list {
    display: flex;
	flex-wrap: wrap;
}


/*施工事例詳細*/
.photo-wrap.work-page-img a img {
    display: block;
    margin-bottom: 20px;
}

.work-page-img-2 {
    column-count: 2;
    height: auto !important;
}

.work-page-img-2 a {
    display: inline-block;
    height: auto !important;
    break-inside: avoid;
}

.mfp-content {
    margin-top: 120px;
}

.work-name.page-single-2 {
    font-size: 1.25em;
    font-weight: 600;
}

h3.work-title.page-single-2 {
  font-size: 1.5em;
  padding-bottom: 15px;
  border-bottom: 1px #ccc solid;
  line-height: 1.4;
}

.work-category a,ul.work-taxonomy-list li a{
    display: inline-block;
    padding: 0px 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    border: solid 1px #3e3a39;
    font-size: 15px;
}

.work-category a:hover,ul.work-taxonomy-list li a:hover{
	background-color: #3e3a39;
	color: #fff;
}

.work-txt-box {
    margin-top: 40px;
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 30px 15px;
}

/*採用・求人情報*/
a.black-btn.p-r {
	position: relative;
}

a.black-btn> i.p-ab {
    position: absolute;
    right: 4%;
    top: 15%;
}

a.black-btn {
    width: 270px;
    display: inline-block;
    padding: 6px 5px;
    background-color: #231815;
	border: solid 1px #231815;
    color: #fff;
}

a.black-btn:hover {
	border: solid 1px #231815;
    background-color: #fff;
    color: #231815;
}

.p-r.tel-f a {
    font-size: 40px;
}
.p-r.tel-f span {
    font-size: 22px;
    margin-right: 10px;
}


/*--カタログ--*/
a.c-button-primary.catalog {
    color: #3E6F77;
    font-size: 30px;
    padding: 0px 5px;
    min-width: 300px;
    margin-left: 70px;
}

a.c-button-primary.catalog:hover {
    color: #fff;
}

.catalog-box {
    border: solid 1px #000;
    padding: 40px;
    display: flex;
}

.catalog-box-child-1 img {
    max-width: 210px;
    width: 210px;
}

.catalog-box-child-3 {
    display: flex;
    justify-content: left;
    align-items: center;
    flex-wrap: wrap;
}

.catalog-box-child-3-2 {
    font-size: 12px;
	margin-left: 20px;
}


/*---資料請求・お問い合わせ---*/
.contact-btn-flexbox {
    display: flex;
    justify-content: center;
}

a.c-button-primary2.contact {
    width: 380px;
}

/*.contact-dl:nth-child(even) {
	background-color: #ddd;
}*/

.contact-box.page-contact {
    background-color: #f2f2f2;
    padding: 30px 0px 60px;
}

.con-kakunin {
    overflow: hidden;
}

.privacy {
    border: solid 1px #231f20;
    background-color: #fff;
    padding: 10px 5px;
    overflow-y: scroll;
    height: 140px;
}

.privacy::-webkit-scrollbar{
	width: 10px;
 }
 .privacy::-webkit-scrollbar-track{
	background-color: #ccc;
 }
 .privacy::-webkit-scrollbar-thumb{
	background-color: #333333;
 }

.con-kakunin p {
    width: 100%;
    display: inline-block;
}


.grecaptcha-badge {
    bottom: 85px !important;
}


/*サイトマップ*/
.post_content li h2.wsp-pages-title,h2.wsp-posts-title,h2.wsp-columns-title,
h2.wsp-internss-title,h2.wsp-interns_cats-title {
	margin: 30px 0px 15px 0px;
	color: #0f3481;
	font-size: 24px;
font-weight: bold;
	list-style: none;
}

ul.wsp-pages-list > li ,li.wsp-post,
ul.wsp-columns-list > li ,ul.wsp-internss-list > li,
ul.wsp-interns_cats-list > li {
	padding: 10px;
    border-bottom: solid 1px #cccccc;
	list-style: none;
}
.post_content ul.wsp-posts-list li, .post_content ul.wsp-posts-list dt, .post_content ul.wsp-posts-list dd, .post_content ul.wsp-products-list li, .post_content ul.wsp-newss-list li{
  list-style: none;
}
body.page-id-16 ul.children li::before {
  content: '・';
  padding-right: 7px;
  color: #043b7b;
}
.wsp-category-title a {
  color: #043b7b;
  padding-top: 10px;
  display: block;
}
.breadcrumbs {
  font-size: 80%;
}

body.page-id-3 .h3 {
  font-size: 120%;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  margin-top: 20px;
}
.under-line{
	text-decoration:underline;
}


@media (max-width: 1650px) {
.top-position-ab-2.indexbox-2.p-ab {
    width: 695px;
    position: absolute;
    padding: 80px 0px;
    top: 0%;
    right: 2%;
}
}

@media (max-width: 1600px) {
	h1.header-logo img {
		width: 200px;
	}

	ul.nav-bg-blue {
		background-size: contain;
	}

	nav.top-menu ul li a {
		font-size: 15px;
		margin-left: 5px;
	}

	li.nav-tel a span {
		font-size: 12px;
		font-weight: normal;
	}

	li.nav-tel a {
		font-size: 28px !important;
		margin-left: 50px !important;
	}
}

@media (max-width: 1550px) {
	section.indexbox06 img.bg-1 {
		left: -20px;
	}
}

@media (max-width: 1500px) {

	.top-position-ab-1.indexbox-2.p-ab {
		width: 560px;
		position: absolute;
		padding: 0px;
		top: 7%;
		left: 2%;
	}

	h2.index-h2.top-concept span {
		display: block;
		padding-left: 0;
		line-height: 1;
		margin-bottom: 25px;
	}
	

	.indexbox04-content h3 {
		/*font-size: 60px;*/
		font-size: 50px;
	}

	.indexbox04-flex {
		max-width: 1300px;
	}

	.indexbox05-green-bg{
		height: 440px;
	}

	.indexbox05-green-bg-content-ab {
		width: 77%;
		transform: translate(-50%, 50%);
		-webkit-transform: translate(-50%, 35%);
		-ms-transform: translate(-50%, 50%);
	}

	section.indexbox02 h2 {
		font-size: 70px;
	}

	.top-position-ab-2.indexbox-2.p-ab {
		width: 595px;
		position: absolute;
		padding: 80px 0px;
		top: 0%;
		right: 2%;
	}
}

@media (max-width: 1350px) {
/*li.nav-tel {
    display: none;
}*/

ul.nav-bg-blue {
    background-image: none;
}

li.nav-contact {
    border-left: 1px solid #fff;
    margin-left: 10px;
    background-color: #0e6ebb;
}

nav.top-menu ul li.nav-contact a {
    padding: 20px 20px 20px;
    margin: 0;
}

/*index-box02*/
.top-position-ab-1.indexbox-2.p-ab {
    width: 490px;
    position: absolute;
    padding: 0px;
    top: 7%;
    left: 2%;
}

h2.index-h2 span {
    display: block;
	padding-left: 0rem;
}

.top-position-ab-2.indexbox-2.p-ab{
		width: 520px;
		position: absolute;
		padding: 80px 0px;
		top: 0%;
		right: 2%;
}

.indexbox-2.p-ab p {
    font-size: 20px;
}
}

@media (max-width: 1199px) {
/*ヘッダーナビ*/
ul.pc-nav-top {
    margin-top: 10px !important;
}


	/*トップ*/


h2.index-h2 {
    font-size: 75px;
}


	nav.top-menu {
		margin-left: 20px;
	}
	nav.top-menu ul li a {
	  padding: 0 5px;
	  font-size: 12px;
	}

	/*.main-txt {
		top: 62%;
	}*/

	p.main-s-f-1 {
		font-size: 25px;
	}

	p.main-s-f-2 {
		font-size: 45px;
	}

	/*top コンテンツ1*/
	section.indexbox01 {

		background-size: cover;
	}

	


/*index-box02*/
.top-position-ab-1.indexbox-2.p-ab {
    width: 430px;
    position: absolute;
    padding: 0px;
    top: 7%;
    left: 2%;
}

.top-position-ab-2.indexbox-2.p-ab {
    width: 450px;
    position: absolute;
    padding: 80px 0px;
    top: 0%;
    right: 2%;
}



.indexbox-2.p-ab p {
    font-size: 18px;
}


/*index-box05*/
.indexbox05-green-bg{
	height: 380px;
}

	.indexbox05-green-bg-content-ab {
		width: 90%;
		transform: translate(-50%, 50%);
		-webkit-transform: translate(-50%, 22%);
		-ms-transform: translate(-50%, 50%);
	}


/*フッター シングル 施工事例詳細*/
ul.footer-nav.footer-3 li {
    width: 33%;
    padding-left: 20px;
}


/*固定ページタイトル*/

	.page-top,.page-top-inner {
		height: 380px;
	}


	.title-img-bg img {
		height: 380px;
	}

	h2.page.index-h2 {
		font-size: 95px;
		line-height: 1.1;
	}

	/*設計・構造*/
.features-img img {
    width: 590px;
    display: block;
    max-width: 636px;
}


/*イベント一覧*/
.page-archive.event-title h3 {
font-size: 22px;
}

/*カタログ*/
.catalog-box-child-3-2 {
    font-size: 12px;
    margin-left: 0px;
    margin-top: 20px;
}


}



@media (max-width: 991px) {
	.pc-990 {
		display: none;
	}

    .sp-990 {
		display: block;
	}

	/*トップ*/
	h1.header-logo img {
		width: 140px;
	}

	ul.pc-nav-top,.pc-nav-under {
		margin-top: 10px !important;
	}

	li.nav-tel a {
		font-size: 20px !important;
		margin-left: 20px !important;
	}

	
.big-blue {
	font-size: 28px;
	}	
	.property-title {
		font-size: 18px;
	}
	.property-wrap {
	  padding: 15px 10px;
	}
	.btn-tel img {
	  width: 30px;
	}
	.btn-tel a {
		height: 100px;
		font-size: 28px;
	}
	.btn-tel span {
		font-size: 14px;
	}
	.btn-mail a {
		height: 100px;
		font-size: 20px;
		line-height: 100px;
	}
	.btn-mail img {
  	width: 30px;
	}
	dl.contact-dl dt {
		width: 180px;
	}
	
	/*トップ Service*/
	.blue-bg {
		display: block;
		width: 60%;
		height: 335px;
		background-color: #106eb8;
		position: absolute;
		right: 0;
		top: 110px;
		z-index: -1;
	}

	.fs-24.top-service {
		font-size: 18px;
	}

	/*トップ advantage*/
	section.indexbox02 {
		padding: 0px 0 80px;
	}

	dl.top-advantage-01 dt, dl.top-advantage-02 dt {
		font-size: 20px;
		padding-left: 100px;
		position: relative;
	}

	.main-txt {
		bottom: -8%;
		max-width: 400px;
	}

	/*indexbox02*/
	.indexbox02 h2 {
		line-height: 1;
	}

	.top-position-r img,.top-position-r2 img {
		max-width: 800px;
		width: 75%;
	}

	.top-position-ab-1.indexbox-2.p-ab {
		width: 510px;
		position: absolute;
		padding: 0px;
		top: 80%;
		left: 5%;
	}

	h2.index-h2 span {
		line-height: 1;
		display: block;
	}

	.top-position-ab-1.indexbox-2.p-ab p, .top-position-ab-2.indexbox-2.p-ab p {
		margin-bottom: 35px;
	}

	.top-position-r2 {
		top: 200px;
	}

	.top-position-ab-2.indexbox-2.p-ab {
		width: 520px;
		position: absolute;
		padding: 80px 0px;
		top: 65%;
		right: 4%;
	}


	/*-- indexbox03 --*/
	section.indexbox03.inner {
		padding-top: 350px;
	}
	

	/*-- indexbox04 --*/
	.indexbox04-content h3 {
		font-size: 30px;
	}

	.indexbox04-content h3 span {
		font-size: 16px;
	}

	.top-position-ab-3 p {
		font-size: 14px;
	}

	.top-position-ab-3 {
		top: 50%;
	}

	.indexbox04-content {
		margin-bottom: 50px;
	}

	.indexbox04-content h3.fs-50 {
		font-size: 28px;
	}


	/*-- indexbox05 --*/
	section.indexbox05 {
		position: relative;
		display: block;
		height: 100%;
		padding-bottom: 330px;
		margin: 0px 0 250px;
	}

	.indexbox05-content-flex {
		margin-top: 30px;
	}

	.indexbox05-img-1 {
		width: 90%;
		max-width: 830px;
	}

	.indexbox05-green-bg {
		height: 500px;
		position: absolute;
		/* bottom: -60%; */
		width: 90%;
		right: 0px;
		top: 90%;
		bottom: auto;
	}

	.indexbox05-green-bg-content-ab {
		width: 80%;
		transform: translate(-50%, 50%);
		-webkit-transform: translate(-50%, 40%);
		-ms-transform: translate(-50%, 50%);
	}

	/*設計・構造*/
	h3.page-h3-fs-25 {
		font-size: 20px;
		/*font-family: 'Noto Sans JP', sans-serif;
		font-feature-settings: "palt";*/
	}

.features-img img {
    width: 365px;
    display: block;
    max-width: 636px;
}


/*イベント一覧*/
.page-archive.img img {
    max-width: 250px;
    width: 250px;
    height: 180px;
    object-fit: cover;
}

/*イベント詳細*/
.page-archive.event-date {
    font-size: 18px;
}

h3.event-name.single {
    font-size: 33px;
}

h3.index-h2.p-f {
    font-size: 65px;
}

/*カタログ*/
a.c-button-primary.catalog {
    font-size: 22px;
    min-width: 220px;
    margin-left: 50px;
}

}


/*--------------------------------------------
スマホ
-----------------------------------------------*/
@media (max-width: 768px) {
	a[href^="tel:"] {
    pointer-events: auto;
}

		
	
	.pc{
		display:none !important;
	}
	.sp{
		display:block;
	}

	body {
		font-size: 14px;
	}
	nav.top-menu ul li a {
	  padding: 0 6px;
	  font-size: 14px;
	}
	nav.top-menu {
		padding: 0 5px;
		margin-left: 10px;
	}

	.gmrelative01.clone-nav.is-show nav.top-menu ul li a {
	  padding: 0 6px;
	  font-size: 13px;
	}
	.gmrelative01.clone-nav.is-show .nav-wrap {
	  align-items: center;
	}
	.gmrelative01.clone-nav.is-show h1.header-logo img {
	  height: 20px;
	  margin-top: 0;
		vertical-align: middle;
	}
	.gmrelative01.clone-nav.is-show .header-right img {
	  height: 23px;
	}
	.gmrelative01.clone-nav.is-show nav.top-menu {
	  margin-left: 10px;
	}

	nav.top-menu {
		display: none;
	}
	.header-top {
	  display: none;
	}
	.header-logoarea {
	  display: none;
	}
	.gmrelative01 {
	  z-index: 0;
	  position: static;
	}
	.sp-header {
		background: transparent;
		width: 100%;
		height: 46px;
		position: fixed;
		top: 0;
		z-index: 200;
	}

	/*.sp-header.sp-nav-active {
		background: #fff;
		box-shadow: 0px 5px 5px -6px rgba(0,0,0,0.5);
	}*/

	.index-top {
		position: relative;
		padding-top: 46px;
	}
	.hamburger {
	  display : block;
	  position: absolute;
	  z-index : 33;
	  right : 0;
	  top   : 0;
	  width : 46px;
	  height: 46px;
	  cursor: pointer;
	  text-align: center;
	}

	.hamburger.active span {
		background: #231815;
	}

	.hamburger span {
	  display : block;
	  position: absolute;
	  width   : 22px;
	  height  : 2px ;
	  left    : 12px;
	  background : #fff;
	  -webkit-transition: 0.5s ease-in-out;
	  -moz-transition   : 0.5s ease-in-out;
	  transition        : 0.5s ease-in-out;
	}
	.hamburger span:nth-child(1) {
	  top: 14px;
	}
	.hamburger span:nth-child(2) {
	  top: 22px;
	}
	.hamburger span:nth-child(3) {
	  top: 30px;
	}
	.hamburger.active span:nth-child(1) {
	  top : 22px;
	  left: 12px;
	  -webkit-transform: rotate(315deg);
	  -moz-transform   : rotate(315deg);
	  transform        : rotate(315deg);
	}
	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
	  top: 22px;
	  -webkit-transform: rotate(-315deg);
	  -moz-transform   : rotate(-315deg);
	  transform        : rotate(-315deg);
	}
	.sp-header .header-logo img {
	  height: 35px;
		padding-left: 10px;
		width: auto;
		margin-top: 5px;
	}
	nav.globalMenuSp {
		display: block;
		position: fixed;
		z-index: 20;
		color: #fff;
		background: #fff;
		text-align: center;
		/*transform: translateX(100%);*/
		transition: all 0.6s;
		width: 300px;
		padding: 46px 0 10px;
		border-bottom: none;
		overflow-y: auto;
		top: 0;
		/*left: 0;*/
		right: -300px;
		bottom: 0;
		height: 80vh;
	}
	nav.globalMenuSp ul {
	  background: #fff;
	  margin: 0 auto;
	  padding: 10px 15px 0px;
	  width: 100%;
	}
	nav.globalMenuSp ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		border-top: 1px solid #bfc0c1;
		margin: 0 auto;
	}
	nav.globalMenuSp ul li:last-child {
	  padding-bottom: 0;
	}
	nav.globalMenuSp ul li:hover{
	  opacity: 0.8;
	}
	nav.globalMenuSp ul li a {
		display: block;
		color: #231815;
		padding: 9px 20px;;
		text-decoration: none;
		text-align: left;
		background: #fff;
	}

	nav.globalMenuSp ul li:last-child {
		border-bottom: solid 1px #bfc0c1;
	}

	.top-menu-inner .nav-title {
		border-left: none;
	}
	.top-menu-inner.bd-right .nav-title {
		border-right: none;
	}
	nav.globalMenuSp.active {
	  /*transform: translateX(0%);*/
	  right: 0px;
	  z-index: 100;
	  width: 300px;
	  height: 80vh;
	}
	.globalMenuSp ul.header-nav li a {
		margin: 0 7px;
		padding: 5px 15px 5px 40px;
		font-size: 16px;
		font-weight: 700;
		color:#fff;
	}
	ul.header-nav {
		margin-top: 0;
	}
	.globalMenuSp .top-menu-inner a .nav-title {
		margin: 0;
	}
	nav.globalMenuSp .header-nav li a {
		width: auto;
		color: #fff;
		padding: 0 0 0 40px;
		line-height: 42px;
		margin: 0;
		font-size: 21px;
		display: inline;
	}
	.globalMenuSp .header-nav {
		display: block;
		margin-top: 20px;
	}
	.top-menu-inner a {
		display: block;
	}
	nav.globalMenuSp ul li.parent a{
		position:relative;
	}
	nav.globalMenuSp ul li.parent a::after {
		content: '\f106';
		font-family: FontAwesome;
	  position: absolute;
	  top: 50%;
	  right: 20px;
	  transform: translateY(-50%);
	  -webkit-transform: translateY(-50%);
	  -ms-transform: translateY(-50%);
	  font-size: 20px;
	  color: #fff;
	}
	nav.globalMenuSp ul li.parent a.collapsed::after{
		content: '\f107';
	}
	.sp-nav-btn {
	  display: flex;
	  justify-content: space-between;
	}
	.sp-nav-btn div {
	  width: 100%;
	  text-align: center;
	}
	.sp-nav-btn a {
	  display: block;
	  background: #002B73;
	  padding: 10px 0;
	  color: #fff;
	}
	.sp-nav-btn a:first-child{
		border-right:1px solid #fff;
	}
	nav.globalMenuSp ul li.child a::before {
		content: '\f106';
		font-family: FontAwesome;
		  font-size: 20px;
		  color: #29ABE2;
		margin-right: 10px;
	}

	
	nav.globalMenuSp ul li.link a:before {
		content: '\f105';
		font-family: FontAwesome;
		font-size: 20px;
		color: #29abe2;
		margin-right: 10px;
	}

	nav.globalMenuSp ul li.child a, nav.globalMenuSp ul li.link a {
		padding-left: 2rem;
	}
	
	ul.header-nav-child li a, ul.header-nav-child li {
		padding-left: 20px !important;
	}

	nav.globalMenuSp ul li.child a.collapsed::before{
		content: '\f107';
	}
	nav.globalMenuSp ul li.link a::before {
		content: '\f105';
		font-family: FontAwesome;
		  font-size: 20px;
		  color: #29ABE2;
		margin-right: 10px;
	}
	nav.globalMenuSp ul li.g-child a::before {
		content: '-';
		  font-size: 20px;
		  color: #005EFF;
		margin-right: 10px;
	}
	nav.globalMenuSp ul li.child a, nav.globalMenuSp ul li.link a{
		padding-left: 2rem;
	}
	nav.globalMenuSp ul li.g-child a {
	  padding-left: 3.5rem;
	}
	.globalMenuSp li img {
	  width: 30px;
	  vertical-align: middle;
	  margin-right: 10px;
	}
	
	.header-logo.sp a{
	  font-size: 18px;
	  margin: 0;
	  font-weight: 900;
	  letter-spacing: 3px;
	  color: #043b7b;
	  padding-left: 10px;
	  line-height: 46px;
	}
	
	/*スクロールする場合のナビの黒ロゴを非表示*/
	.sp-header img.top-logo-b {
		display: none;
	}

	/*スクロールする場合のナビの黒ロゴを非表示*/
	.sp-header.sp-nav-active img.top-logo-b {
		display: block;
	}

	.sp-header.sp-nav-active img.top-logo-w {
		display: none;
	}

	.sp-header.sp-nav-active > .hamburger span {
		background: #231815;
	}

	.sp-nav-flex-contents {
		padding: 15px 15px 0px;
	}

	.sp-nav-flex-contents a.link-btn {
		border: solid 1px #231815;
		padding: 10px;
		width: 48%;
	}

	.sp-nav-flex-contents .link-btn-b {
		display: inline-block;
		margin-top: 25px;
		margin-right: 35px;
	}

	
	.main-img {
	  position: relative;
	  margin-top: -46px;
	}

	.main-txt {
	  width: 100vw;
		right: 0%;
		max-width: 530px;
		bottom: 0%;
		
	}
	.main-img img {
	  /*height: 40vh;*/
	  /*height: 70vh;*/
	  width: 100%;
	  /*object-fit: cover;
	  object-position: left center;*/
	}
	.main-txt img {
		width: 100%;
		height:auto;
	}

	p.main-s-f-2 {
		font-size: 30px;
		line-height: 1.3;
		padding-bottom: 25px;
	}
	
	.tate-f {
		z-index: -1;
		position: static;
		top: 25px;
		left: -40px;
		writing-mode: unset;
		text-orientation: mixed;
		font-size: 75px;
		color: #106eb8;
		opacity: 0.3;
		line-height: 1.3;
		margin-bottom: 30px;
	}

	.fs-18 {
		font-size: 16px;
	}

	/*トップ service*/
	section.indexbox01 {
		padding-bottom: 110px;
		background-size: cover;
	}

	.sp-ab.top-service {
		position: absolute;
		right: 0;
		top: 0px;
	}

	.blue-bg {
		display: block;
		width: 100%;
		height: 390px;
		background-color: #106eb8;
		position: absolute;
		right: 0;
		top: 110px;
		z-index: -1;
	}

	section.indexbox02 img {
		position: absolute;
		/*top: 310px;*/
		width: 85%;
		/* bottom: 0; */
		max-width: 550px;
	}

	.service-contents {
		position: absolute;
		width: 100%;
		top: -110px;
	}

	.top-service ul {
		margin-top: 110px;
	}

	dl.top-advantage-01 dt:before,dl.top-advantage-02 dt:before {
		left: 0px;
		top: 0px;
        font-size: 150px;
	}

	/*top advantage*/
	section.indexbox02 {
		padding: 200px 0 80px;
	}


	/*top work*/
	.top-work-btn {
		margin-bottom: 30px;
	}

	section.indexbox06 img.bg-1 {
		max-height: 650px;
		opacity: 0.5;
		position: absolute;
		top: 70px;
		left: -20px;
		z-index: -1;
	}

	section.indexbox06 {
		margin: 0px 0px 100px;
	}

/*index-box01*/
.event-box {
    margin-bottom: 35px;
}

/*index-box02*/
.top-position-r img {
    position: absolute;
    left: auto;
    /*top: -250px;*/
	top: -300px;
    z-index: -1;
    right: 0%;
}

.top-position-ab-2.indexbox-2.p-ab {
    width: 520px;
    position: absolute;
    padding: 80px 0px;
    /*top: 210px;*/
	top: 225px;
    right: 4%;
}


/*-- indexbox03 --*/
section.indexbox03.inner {
	padding-top: 750px;
}

.news-box a {
    display: flex;
}

.news-box a img {
    width: 100%;
    max-width: 115px;
}

.news-box a .event-date {
    margin-top: 0px;
}

.sp-flex {
    margin-left: 15px;
}

/*index-box04*/
.indexbox04-flex {
    display: block;
}


/*index-box05*/
section.indexbox05 {
    height: 870px;
    margin-bottom: 170px;
    padding-bottom: 100px;
}

.indexbox05-img-1 {
    width: 90%;
    max-width: 520px;
}


.indexbox05-content-flex a img {
    /*margin-right: 0px;*/
	margin: 10px;
    max-width: 245px;
    width: 90%;
}

.indexbox05-content-flex {
    flex-wrap: wrap;
}

.indexbox05-green-bg {
    height: 550px;
    /*position: relative;*/
    /* bottom: -155%; */
    /*width: 90%;*/
    /*right: 0px;*/
    top: 90%;
}

.indexbox05-content-sp-child {
    width: 50%;
}

.indexbox05-green-bg-content-ab {
    width: 80%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 10%);
    -ms-transform: translate(-50%, 50%);
}



	/*フッター*/
	.footer-copy {
		padding: 10px 0px 10px;
	}


/*フッター 固定ナビ*/
footer {
    margin-bottom: 64px;
}

.js-fadein {
	display: block;
    opacity: 0; 
    visibility: hidden;
    transform: translateY(-40px);
    transition: all 1s;
	width: 100%;
	position: fixed;
	bottom:-100px;
  }
  .js-fadein.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
	  bottom:0;
  }
	

	.sp-tel, .sp-siryo {
		border-right: solid 2px #fff;
		background-color: #333333;
		width: 46%;
		font-size: 14px;
		font-weight: bold;
		height: auto;
		
	}

	.sp-tel a, .sp-siryo a{
		justify-content: center;
    display: flex;
    align-items: center;
		height: auto;
		padding: 10px 0px;
	width: 100%;
	}

	.sp-tel a img, .sp-siryo a img {
		width: 50px;
		margin-right: 3px;
	}

	.sp-flex.sp-fixed-footer {
		margin-left: 0px;
		display: flex;
	}

	.sp-insta a img {
		width: 65px;
		height: 65px;
	}

/*共通*/
.page-top, .page-top-inner {
    margin-top: -47px;
	margin-bottom: 50px;
}

	.inner {
		padding: 45px 0;
	}

	
	.big-blue {
	  font-size: 20px;
	}
	h2.index-h2,section.indexbox02 h2 {
		font-size: 40px;
	}
	h2.index-h2 span {
		font-size: 16px;
	}

	h2.index-h2.top-event::after {
		bottom: 0px;
	}

	.footer-nav ul {
		display: block;
	}
	.footer-nav ul li a {
	  margin-right: 30px;
	  padding-bottom: 5px;
	  display: block;
	}

	h2.page.index-h2 {
		font-size: 50px;
		line-height: 1.1;
	}
	
	.page-top,.page-top-inner {
		margin-top: -46px;
	  height: 240px;
	}
	
	.title-img-bg img {
		height: 240px;
	}

	.title-logo img {
	  height: 110px;
	}
	h2.page-top-h2 {
		font-size: 16px;
		margin-left: 50px;
	}
	h2.page-top-h2 .subtitle {
	  font-size: 24px;
	  margin-bottom: 5px;
	}
	.title-logo {
		left: -15px;
	}
	.service-title img {
	  min-height: 120px;
	  width: 100%;
	  object-fit: cover;
	}
	.service-title {
	  position: relative;
	  min-height: 120px;
	}
	h3.service-h3 {
	  position: absolute;
	  bottom: 10px;
	  left: 20px;
	  color: #fff;
	  font-weight: 600;
	  letter-spacing: 2px;
	  font-size: 24px;
	}
	.service-blue {
		font-size: 20px;
	}
	.service-h4 {
		font-size: 18px;
	}
	.food-name {
		font-size: 18px;
	}
	.property-blue {
	  font-size: 16px;
	  line-height: 1.5;
	}
	dl.company-dl:nth-child(2n+1) {
	  background-color: #fff;
	}
	dl.company-dl {
		display: block;
	}
	dl.company-dl dt {
	  width: 100%;
	  color: #142c4d;
	  padding-left: 0;
		background-color: #dce4ea;
		padding: 5px 10px;
	}
	dl.company-dl {
	  padding: 0 10px;
	}
	dl.company-dl dd {
	  margin: 0;
	  padding: 5px 10px 10px;
	}
	
	/*dl.contact-dl:nth-child(2n) {
	  background-color: #fff;
	}*/
	dl.contact-dl {
		display: block;
	}
	dl.contact-dl dt {
	  width: 100%;
	  /*color: #142c4d;*/
	  padding-left: 0;
		/*background-color: #ddd;*/
		padding: 5px 10px;
	}
	dl.contact-dl {
	  padding: 0 10px;
	}
	dl.contact-dl dd {
	  margin: 0;
	  padding: 5px 10px 10px;
	}
	.wpcf7-spinner {
	  display: none;
	}

	/*固定ページの通常時のヘッダーを非表示にする*/
/*.header-top.d-page-none {
    display: none;
}

.header-top.d-page-none.active {
    display: none;
}*/

/*固定ページ見出し位置の変更*/
.page-title-ab {
	bottom: -25%;
	left: 3%;
}

	

	/*会社概要*/

	
	table.p-c-3.table td {
		padding: 0 0 10px;
		border-bottom: solid 1px #333333;
	}
	table.p-c-3.table th {
		padding: 10px 0 3px;
	}
	table.p-c-3.table th, table.p-c-3.table td {
		display: block;
		width: 100%;
	}

	.p-c h3 {
		font-size: 35px;
}

/*アートハウスの家*/
.concept-flex {
    display: block;
}

/*設計・構造*/
.features-img img {
width: 100%;
display: block;
max-width: 636px;
}

/*イベント一覧*/
.event-box.page-archive a {
    margin-bottom: 0px;
    width: 100%;
    display: block;
}

.page-archive.img img {
    max-width: 100%;
    width: 100%;
    height: auto;
    object-fit: none;
}

.page-archive.event-date {
	font-size: 16px;
    margin: 10px 0;
}

.page-archive.event-title h3 {
	font-size: 20px;
}

.single-event-new {
    font-size: 20px;
}


/*モデルハウス*/
.mh-yoyaku-syosai-3 {
    width: 80%;
}

.mh-yoyaku-syosai-3 dl dt {
    width: 25%;
}

h3.index-h2.p-f {
    font-size: 50px;
}

h3.index-h2.p-f span {
    font-size: 20px;
}

section.p-f.p-f-1 {
    margin-top: 50px;
}

/*カタログ*/
.catalog-box {
    display: block;
	padding: 30px 15px;
}

.catalog-box-child-1 img {
    margin-bottom: 20px;
}

/*お問い合わせ*/
.contact-btn-flexbox {
    display: block;
}


/*施工事例詳細*/
.work-page-img-2 {
    column-count: 1;
}

.mfp-content {
    margin-top: 0px;
}
}

/*--------------------------------------------
スマホ
-----------------------------------------------*/
@media (max-width: 567px) {
	body {
		font-size: 14px;
	}

	p.main-s-f-1 {
		font-size: 14px;
	}

	p.main-s-f-2 {
		font-size: 20px;
	}

	.main-txt {
		width: 95vw;
		right: 0%;
		max-width: 380px;
	}

	/*top advantage*/
	section.indexbox02 {
		padding: 110px 0 80px;
	}

	section.indexbox02 img {
		/*position: absolute;
		top: 310px;*/
		width: 85%;
		/* bottom: 0; */
		max-width: 380px;
	}

	.advantage-blue-f {
		font-size: 39px;
	}

	
	section.indexbox06 {
		margin: 0px 0px 50px;
	}

	section.indexbox06 img.bg-1 {
		max-height: 380px;
		opacity: 0.5;
		position: absolute;
		top: 325px;
		left: -20px;
		z-index: -1;
	}

	/*index-box02*/
	.top-position-r2 {
		top: 260px;
	}

	.top-position-r img {
		position: absolute;
		left: auto;
		/*top: -170px;*/
		top: -190px;
		z-index: -1;
		right: 0%;
	}

	.top-position-ab-1.indexbox-2.p-ab {
		width: 100%;
		position: absolute;
		padding: 0px;
		top: 80%;
		left: 0%;
		padding: 0px 20px;
	}

	.top-position-ab-2.indexbox-2.p-ab {
		width: 100%;
		position: absolute;
		padding: 80px 20px;
		/*top: 90px;*/
		top: 110px;
		right: 0%;
	}

	/*index-box05*/
	section.indexbox05 {
		height: 740px;
		margin-bottom: 80px;
		padding-bottom: 80px;
	}

	.indexbox05-img-1 {
		width: 90%;
		max-width: 450px;
	}

	.indexbox05-green-bg {
		height: 500px;
	}


/*固定ページの見出し*/
	.page-top,.page-top-inner {
		height: 210px;
	  }
	  
	  .title-img-bg img {
		  height: 210px;
	  }

	

	  /*イベント詳細*/
	  .pager .previous > a, .pager .previous > span,.pager .next > a, .pager .next > span {
		width: 130px;
	}

	/*モデルハウス*/
	h3.index-h2.p-f {
		font-size: 30px;
	}

	h3.index-h2.p-f span {
		font-size: 13px;
	}

.mh-yoyaku-syosai-3 {
    width: 85%;
}

.mh-yoyaku-syosai-3 dl dt {
    width: 25%;
}
.mh-yoyaku-syosai-3 dl dd {
    width: 75%;
}

.mh-yoyaku-syosai-1,.mh-yoyaku-syosai-2 {
    padding: 5px 0px;
}

.c-button-primary2 {
   font-size: 14px;
}

.mh-yoyaku-syosai-1,.mh-yoyaku-syosai-2,.mh-yoyaku-syosai-3 dl {
    font-size: 16px;
}

/*求人・採用情報*/
.p-r.tel-f span {
	font-size: 14px;
}

.p-r.tel-f a {
    font-size: 35px;
}


/*カタログ*/
.catalog-box-child-3-1 img {
	width: 60px;
}

/*モデルハウス予約フォーム*/
a.c-button-primary2.contact {
    width: 100%;
}

}


@media (max-width: 400px) {
	.main-txt {
		max-width: 274px;
	}


/*	h2.page.index-h2 {
		font-size: 30px;
	}*/


	h2.index-h2 span {
		font-size: 13px;
	}

	.sp-tel, .sp-siryo {
		width: 42%;
	}

/*カタログ*/
a.c-button-primary.catalog {
    font-size: 20px;
    min-width: 180px;
    margin-left: 40px;
}

	a.c-button-primary.font-weight-bold.catalog::before {
		width: 40px;
		left: -15%;
	}
}