@charset "UTF-8";
/*
Theme Name: unlock
Theme URI:
Author:  
Author URI:
Description:
License:
License URI:
Tags:
*/

/* CSS Document */
/*=================================================
 *  リセット
 * ================================================= */
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
	font-size: 100%;
	padding-bottom: 0;
	padding-right: 0;
	padding-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	padding-left: 0;
}

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

img {
	border: 0;
	vertical-align: bottom;
}

ul, ol {
	list-style: none;
}

table {
	border-spacing: 0;
	empty-cells: show;
}
p {
	margin: auto;
}
/*=================================================
 * ロールオーバー
 * ================================================= */
a {
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
		 -o-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
			color:#000;
}
a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
}
/*=================================================
 * サイト全体
 * ================================================= */
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size:16px;
	color: #333;
	line-height:28px;
	background: #fff;
}
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.mainWrap {
	width: 1020px;
	margin:0 auto;
	position: relative;
}
.sp {
	display: none;
}
/*=================================================
 * header
 * ================================================= */
header {
	width: 100%;
}
header h1 {
	padding-bottom: 30px;
}
header h1 img {
	width: 250px;
	height: auto;
}
header .box {
	text-align: center;
    margin: 50px 0;
}
header nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
header nav ul li {
  margin-right: 1rem;
}
header nav ul li a {
  display: block;
  padding: 10px;
  color: #000000;
  text-decoration: none;
}
header nav a {
  position: relative;
  text-align: center;
  overflow: hidden;
  padding: 10px 22px;
}
header nav a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 0%;
  height: 2px;
  background: #8C7042;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
header nav a span {
  display: block;
  width: 100%;
  margin: 0 auto;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
header nav a span.jp {
  position: absolute;
  top: 100%;
  left: 0%;
  font-size: 14px;
  font-weight: bold;
  white-space: nowrap;
  color: #8C7042;
}
header nav a:hover::after {
  width: 100%;
}
header nav a:hover span.en {
  transform: translate(0%, -150%);
}
header nav a:hover span.jp {
  top: 25%;
}
/*=================================================
 * top
 * ================================================= */
#top .firstview{
	width: 100%;
	height: auto;
}
#top .firstview img{
	width: 100%;
	height: auto;
}
#top .block01{
	text-align: center;
	margin:0 auto;
	line-height: 2;
	padding: 50px 0 150px;
}
#top .bg {
    position: absolute;
    background-image: url(img/bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 750px;
	 top: 1130px;
}
#top .block02{
	text-align: center;
	margin:0 auto;
	line-height: 1.6;
	padding: 50px 0;
}
h2 {
	color: #8c7042;
	text-align: center;
	border-bottom: solid 1px #8c7042;
	width: fit-content;
    margin: 0 auto;
    font-size: 32px;
    font-weight: normal;
}
.sub {
    color: #8c7042;
    font-size: 16px;
    padding: 10px;
	text-align: center;
}
#top .block02 .text {
	padding: 50px 0;
}
#top .block02 .text2 {
	padding: 10px 0;
}
#top .att {
	color: #7B0000;
}
#top .block02 .box {
	border: solid 1px #8c7042;
    text-align: left;
    padding: 25px;
    width: 860px;
    margin: 0 auto;
	margin-bottom: 50px;
}
#top .block02 .box01 {
	border: solid 1px #8c7042;
    text-align: left;
    padding: 25px;
    width: 860px;
    margin: 0 auto;
	margin-bottom: 50px;
	line-height: 2;
}
#top .kiyaku {
	text-align: center;
    padding-top: 20px;
	font-weight: bold;
}
.flex {
	display: flex;
}
#top .block03 {
	border-bottom: solid 1px #8c7042;
   padding-bottom: 100px;
    margin-bottom: 100px;
}
#top .block03 h2 {
	padding-bottom: 10px;
}
#top .block03 .flex .profilebox {
	display: flex;
   margin-right: 40px;
	margin-top: 50px;
}
#top .block03 .flex .profilebox .ph {
   margin-right: 20px;
}
#top .block03 .flex .profilebox .ph img {
	width: 200px;
	height: auto;
}
#top .block03 .flex .profilebox .profile .name {
    font-size: 20px;
    font-weight: bold;
    padding: 10px 0;
}
#top .block03 .flex .profilebox .profile {
     line-height: 1.5;
    font-size: 14px;
}
#top .block03 .flex .profilebox .profile .p1 {
    font-size: 16px;
}
#top .block03 .flex .profilebox .profile .p2 {
    font-size: 16px;
	padding-bottom: 20px;
}
#top .block03 .member {
	margin: 80px;
}
#top .block03 .member table {
	margin: 0 auto;
}
#top .block03 .member .pr40 {
	padding-right: 40px;
}
#top .block04 {
	text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 50px;
}
#top .block04 .text {
	 margin-bottom: 50px;
}
.btbox {
	    width: 70%;
    margin: 0 auto;
}
.bt-g {
	background: #8c7042;
    background-image: url(img/arrow.svg);
    background-repeat: no-repeat;
    background-position: right 10% top 50%;
    background-size: 2%;
    padding: 10px 125px;
    width: 100%;
    position: relative;
	 height: 87px;
    line-height: 2.8;
}
.bt-g a{
	display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.bt-g a::after {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
/*=================================================
 * footer
 * ================================================= */
footer {
	background: #8c7042;
    text-align: center;
    margin: 0 auto;
    margin-top: 100px;
    padding-top: 50px;
	color: #fff;
}
footer .fmenu a {
	color: #fff;
	text-decoration: none;
}
footer .fmenu {
	margin: 50px 0;
}
footer .fmenu ul {
	display: flex;
	justify-content: center;
   flex-direction: row;
}
footer .fmenu ul li {
	margin-right: 30px;
}
footer .copy{
	 font-size: 14px;
    text-align: center;
	padding-top:50px;
}
.btbox2 {
	 width: 50%;
    margin: 0 auto;
}
.bt-w {
	background: #fff;
    background-image: url(img/arrow-g.svg);
    background-repeat: no-repeat;
    background-position: right 10% top 50%;
    background-size: 2%;
    padding: 10px 125px;
    width: 100%;
    position: relative;
	 height: 65px;
    line-height: 2.5;
}
.bt-w a{
	display: block;
    width: 100%;
    height: 100%;
    color: #8c7042;
    text-align: center;
    text-decoration: none;
	font-size: 18px;
}
.bt-w a::after {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
/*=================================================
 * page共通
 * ================================================= */

/*=================================================
 * news
 * ================================================= */
.post .firstview {
	background: url(img/news/bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (min-width:1920px){
   .post .firstview {
	background-size: 100%;
}
}
.archive .entryWrap {
	border-top: solid 1px;
	margin-bottom: 100px;
}
.archive .postWrap {
	border-bottom: solid 1px;
	padding: 30px 0;
}
.post .postWrap .box {
	display: flex;
	margin-bottom: 10px;
}
.post .postWrap .box .tag {
	width: 80px;
	height: 25px;
	text-align: center;
	color: #fff;
	font-size: 14px;
	border-radius: 5px;
	margin-left: 30px;
	line-height: 25px;
	margin-top: 4px;
}
.post .postWrap .box .tag.info {
	background: #229F73;
}
.post .postWrap .box .tag.new-property {
	background: #DB5A24;
}
.new-txt {
    position: relative;
    display: inline-block;
    margin: 0 15px;
    padding: 2px 5px;
    max-width: 100%;
    color: #fff;
    font-size: 14px;
    background: #da1313;
}
.new-txt:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -18px;
    margin-top: -9px;
    border: 8px solid transparent;
    border-right: 10px solid #da1313;
}
.single img {
	max-width: 100%;
	height: auto;
}
.single .postWrap {
	border-top: solid 1px;
	border-bottom: solid 1px;
	padding: 40px 0;
	margin-bottom: 50px;
}
.single .titleWrap {
	margin-bottom: 30px;
	border-left: solid 5px #00355C;
	padding-left: 10px;
	line-height: 34px;
}
.single .titleWrap .title {
	font-size: 24px;
	color: #00355C;
}
.single .linkbox {
	width: 420px;
	margin: 0 auto 100px;
	position: relative;
	height: 45px;
}
.single .linkbox a {
	width: 110px;
	height: 45px;
	border: solid 2px #00355C;
	display: block;
	text-align: center;
	text-decoration: none;
	line-height: 45px;
}
.single .linkbox .prev {
	position: absolute;
	top: 0;
	left: 0;
}
.single .linkbox .next {
	position: absolute;
	top:0;
	right: 0;
}
.single .linkbox .back {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -55px;
}

/*=================================================
 * contact
 * ================================================= */
#contact .block01 {
	    text-align: center;
}
#contact .block01 h2 {
	text-align: center;
    font-size: 20px;
    border-bottom: solid 1px #8c7042;
    display: inline-block;
    margin: 0 auto;
}
#contact .block01 .lead {
	padding: 30px 0;
}
#contact .block01 .link ul li{
	background: #FFE200;
    color: #333;
    width: 500px;
    margin: 0 auto;
    padding: 10px 0;
    margin-bottom: 30px;
}
#contact .block01 a{
	text-decoration: none;
}
#contact .notes {
	    margin: 50px 0;
}
#contact .notes ul > li > ul {
	 border: dashed 2px #8c7042;
    padding: 30px;
    margin: 20px 2px;
}
#contact .notes ul > li > ul > li {
	 list-style: none!important;
	line-height: 2;
}
#contact .small {
	font-size: 13px;
	list-style: none!important;
	line-height: 1.5;
   margin-top: 20px;
}
#contact .block02 {
	margin: 50px 0;
	border: solid 2px #8c7042;
    padding: 20px 50px;
}
#contact .block02 .title {
	background: #8c7042;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin: 0 auto;
}
#contact .notes .title {
	border: solid 1px #8c7042;
	width: 780px;
	text-align: center;
	margin: 0 auto;
}
#contact .block02 .pdf,
#contact .notes .pdf {
	text-align: center;
    padding: 30px 0 15px 0;
}
#contact .block02 .pdfimg,
#contact .notes .pdfimg {
	margin-right: 10px;
}
#contact .block02 .pdf img,
#contact .notes img {
	width: 30px;
	height: auto;
}
#contact .block02 .text {
	text-align: center;
	padding: 30px 0 0;
}
#contact .block02 .add {
	 width: 60%;
    margin: 0 auto;
}
#contact .notes .text,
#contact .notes .process {
	 width: 700px;
    margin: 30px auto 50px;
}
#contact .notes .none li {
	 list-style: none;
}
#contact .notes .text li {
	list-style: disc;
}
#contact .notes .process li {
	list-style: auto;
	padding-bottom: 10px;
}
.red {
	color: #da1313;
}
.formwrap {
	margin: 50px 0;
	border: solid 2px #8c7042;
    padding: 20px 50px;
}
.formwrap .title{
	background: #8c7042;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin: 0 auto;
}
.formbox {
	padding: 50px 0px;
    width: 460px;
    margin: 0 auto;
}
#contact .wrap {
	margin: 0 auto;
	width: 670px;
}
#contact .text {
	margin-bottom: 50px;
}
#contact table {
	width: 100%;
	margin-bottom: 50px;
	display: block;
}
#contact table tr {
	display: block;
	margin-top: 30px;
}
.address {
	margin-top: 20px;
}
.custom {
	margin-top: 20px;
}
.address2 {
	margin-top: 20px;
}
#contact td {
	padding: 10px 0;
}
#contact .first {
	padding: 0 10px;
	display: block;
	font-weight: bold;
}
#contact .last {
   padding: 0 10px
}
.formbox .block .subtitle{
	margin-bottom: 50px;
	text-align: center;
	font-weight: bold;
}
.formbox .block .text{
	padding: 30px 0px;
	margin-bottom: 20px!important;
}
.formbox .block .kiyaku {
	width: 459px;
    height: 249px;
    overflow-y: scroll;
    font-size: 14px;
	border: solid 1px #666;
    margin-bottom: 50px;
}
.formbox .block .doui {
	margin-bottom:50px;
}
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"]
 {
	height: 30px;
}
#contact input[type="tel"] {
	width: 150px;
}
#contact .size1 {
	width: 440px;
}
#contact .size2 {
	width: 133px;
}
#contact .size4 {
	width: 150px;
}
#contact .size6 {
	width: 440px;
}
#contact .bt input {
	width: 170px;
	height: 50px;
	font-size: 18px;
	border: none;
	margin: 0 auto;
	display: block;
}
#contact .bt .send input {
	background: #FFE200;
	color: #333;
}
.mw_wp_form_preview .send input {
	float: right;
}
.mw_wp_form_preview .back input {
	float: left;
}
.mw_wp_form_preview .bt {
	width: 400px;
	margin: 0 auto;
}
#not404 {
	padding: 200px;
}
textarea {
	resize: vertical;
    width: 430px;
    height: 100px;
}
/*=================================================
 * レスポンシブ
 * ================================================= */
@media screen and (max-width: 768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none !important;
	}
	body {
		font-size: 14px;
		line-height: 28px;
	}
	.mainWrap {
		width: 100%;
		margin:0 auto;
		position: relative;
		display: block;
		padding: 0 20px;
	}
	.spmenuWrap button {
		display: block;
		background: none;
		border: none;
		padding: 0;
		width: 42px;
		color: #333;
		letter-spacing: 0.1em;
		cursor: pointer;
		position: absolute;
		top: -15px;
		right: 20px;
		z-index: 1001;
		text-align: center;
		outline: none;
	}
	/*   ハンバーガーボタン3本線   */
	.spmenuWrap button span.bar {
		display: block;
		height: 2px;
		background-color: #333;
		margin: 10px 0;
		transition: all 0.2s;
		transform-origin: 0 0;
	}
	.spmenuWrap button .close {
		letter-spacing: 0.08em;
		display: none;
	}
	.spmenuWrap button .menu {
		display: block;
	}
	/*  メニューアクティブ時  */
	.spmenuWrap button.active span.bar {
		width: 49px;
	}
	.spmenuWrap button.active .bar1 {
		transform: rotate(30deg);
	}
	.spmenuWrap button.active .bar2 {
		opacity: 0;
	}
	.spmenuWrap button.active .bar3 {
		transform: rotate(-30deg);
	}
	.spmenuWrap button.active .menu {
		display: none;
	}
	.spmenuWrap button.active .close {
		display: block;
	}
	.spmenu {
		width: 100%;
		height: auto;
		position: absolute;
		top: 55px;
		right: 0;
		z-index: 9999;
		background-color: #333;
		color: #fff;
		padding: 20px;
		font-size: 18px;
		display: none;
	}
	.spmenu li a {
		text-decoration: none;
		color: #fff;
		padding: 10px;
		display: block;
		border-bottom: dotted 1px #fff;
	}
	header .box {
    text-align: left;
    margin: 30px 0 0;
	}
	header h1 img {
    width: 60%;
    height: auto;
}
	header nav {
		display: none;
	}
	.flex {
		display: block;
	}
	#top .block01{
		padding: 50px 0 50px;
	}
	#top .block02 .box,#top .block02 .box01 {
		width: 100%;
	}
	#top .bg {
		top: 950px;
	}
	#top .block03 .flex .profilebox .ph {
    width: 50%;
	}
	#top .block03 .flex .profilebox {
		margin-right: 0;
	}
	#top .block03 .flex .profilebox .profile {
		width: 50%;
	}
	#top .block03 .flex .profilebox .ph img {
		width: 100%;
	}
	#top .block03 .member {
		margin: 0;
		padding-top: 50px;
	}
	#top .block04 {
		font-size: 18px;
	}
	.btbox {
		width: 100%;
	}
	.bt-g {
      background: #8c7042;
      background-image: url(img/arrow.svg);
      background-repeat: no-repeat;
      background-position: right 4% top 50%;
      background-size: 2%;
      padding: 10px;
      width: 100%;
      position: relative;
      height: 87px;
      line-height: 3.6;
	}
	footer .flogo img {
		width: 50%;
	}
	footer .fmenu ul {
		display: block;
		line-height: 3;
	}
	.btbox2 {
		width: 80%;
	}
	.bt-w {
    background: #fff;
    background-image: url(img/arrow-g.svg);
    background-repeat: no-repeat;
    background-position: right 10% top 50%;
    background-size: 2%;
    padding: 10px;
    width: 100%;
    position: relative;
    height: 65px;
    line-height: 2.5;
}
	 #contact .block01 .lead {
      padding: 30px 0;
      text-align: left;
   }
	#contact .notes .text,
   #contact .notes .process {
	    width: 90%;
       margin: 30px auto 50px;
   }
	#contact .notes .title {
	   border: solid 1px #8c7042;
	   width: 100%;
   	text-align: center;
	   margin: 0 auto;
   }
	#contact .block01 .link ul li{
	  background: #FFE200;
     color: #333;
     width: 80%;
     margin: 0 auto;
     padding: 10px 0;
     margin-bottom: 30px;
   }
	#contact .notes ul > li > ul > li {
      list-style: none!important;
      line-height: 1.5;
  }
	.formwrap {
      margin: 50px 0;
     border: solid 2px #8c7042;
      padding: 20px;
   }
	#contact .block02 {
    margin: 50px 0;
    border: solid 2px #8c7042;
    padding: 20px;
   }
	#contact .block02 .text {
    text-align: left;
    padding: 30px 0 0;
   }
	#contact .block02 .add {
     width: 100%;
     margin: 0 auto;
   }
	#contact input[type="text"],
   #contact input[type="email"],
   #contact input[type="tel"]
   {
	  height: 50px;
  }
	#concept .block04 .box .cell img {
		width: 150px;
	}
	#contact .box{
		padding: 0 20px;
	}
	#contact .formbox {
    width: 100%;
    margin: 0 auto;
   }
	#contact .second {
		font-size: 12px;
	}
	#contact .last {
      padding: 0 10px;
      display: block;
      width: 100%;
   }
	#contact .size1 {
		width: 100%!important;
	}
	#contact .size2 {
		width: 29%!important;
	}
	#contact .size3 {
		width: 100%!important;
	}
	#contact .size4 {
		width: 50%!important;
	}
	#contact .size6 {
	   width: 100%!important;
   }
	#contact textarea {
		width: 100%!important;
	}
	#contact .wrap {
		margin: 0 auto;
		width: 100%;
	}
	#contact input[type="tel"] {
		width: 100%;
	}
	.formbox .block .kiyaku {
      width: 100%;
   }
	input[type="text"]{
    width: 70%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
	textarea {
	  resize: vertical;
     width: 100%;
    height: 100px;
  }
}