@charset "utf-8";

/* CSS information ===================================================

	 file name : style.css
	style info : コンテンツ部分スタイルシート

=================================================================== */

/*----------------------------------------------------------
/* .local-menu サブメニュー
----------------------------------------------------------*/
.local-menu {
	padding: 0 40px;
}
.local-menu__inner {
	max-width: 1260px;
	margin: 0 auto;
}
.local-menu__list {
	display: flex;
  	flex-wrap: wrap;
	gap: 20px;
}
.local-menu__list li {
	flex: 0 1 calc((100% - 20px * 3) / 4);
	display: flex;
	align-items: center;
}
.local-menu__list a {
	position: relative;
	width: 100%;
	height: 100%;
	padding: clamp(20px, 2.38vw, 30px) clamp(30px, 3.57vw, 45px) clamp(20px, 2.38vw, 30px) clamp(20px, 2.38vw, 30px);
	font-size: clamp(1.4rem, 1.26vw, 1.6rem);
	font-weight: 500;
	text-decoration: none;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: #3A2929;
	border: 1px solid #CCC;
	display: flex;
	align-items: center;
	transition: .2s ease;
}
.local-menu__list a:hover {
	color: #ED3745;
	border-color: #ED3745;
	transform: translateY(-2px);
	box-shadow: 0 5px 10px rgba(0,0,0,0.08);
	transition: .2s ease;
}

.local-menu__list a::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(20px, 2.38vw, 30px);
	bottom: 0;
	width: 6px;
	height: 10px;
	margin: auto 0;
	background: url("../img/common/common_ico10.svg") no-repeat center center / contain;
	display: block;
	transition: .2s ease;
}
.local-menu__list a:hover::after {
	top: 3px;
	bottom: -3px;
	background-image: url("../img/common/common_ico10-on.svg");
	transition: .2s ease;
}

@media screen and (max-width: 767px){
.local-menu {
	padding: 0 20px;
}
.local-menu__list {
	gap: 15px;
}

.local-menu__list li {
	flex-basis: calc((100% - 15px * 1) / 2);
}
.local-menu__list a {
	font-size: clamp(1.2rem, 1.11vw, 1.4rem);
}
}

/*----------------------------------------------------------
/* .company 会社案内
----------------------------------------------------------*/
/* .greeting ごあいさつ
------------------------------------------------*/






/*----------------------------------------------------------
/* 汎用スタイル
----------------------------------------------------------*/
.mt00 { margin-top: 0 !important; }

/* .btn-common 共通ボタン
--------------------------------------*/
.btn-common {
	margin-top: 60px;
}
.btn-common, 
.btn-input {
	position: relative;
	max-width: 340px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.btn-common a, 
.btn-input input[type=submit] {
	position: relative;
	max-width: 340px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 40px 30px 30px;
	font-size: 1.6rem;
	text-align: left;
	text-decoration: none;
	line-height: 1.2;
	color: #362E2E;
	background: #FFF url("../img/common/common_ico08.svg") no-repeat right 30px center / 13px 8px;
	border: 1px solid #CCC;
	cursor: pointer;
	display: block;
	transition: .2s ease;
}
.btn-common a:hover, 
.btn-input input[type=submit]:hover {
	padding-left: 35px;
	padding-right: 35px;
	transition: .2s ease;
	color: #ED3745;
	border-color: #ED3745;
	background-image: url("../img/common/common_ico08-on.svg");
	background-position: right 25px center;
}

/*
.btn-common a::after, 
.btn-input::after {
	content: "";
	position: absolute;
	top: 0;
	right: 30px;
	bottom: 0;
	width: 13px;
	height: 6px;
	margin: auto 0;
	background: url("../img/common/common_ico08.svg") no-repeat center center / contain;
	pointer-events: none;
	transition: .2s ease;
	z-index: 1;
}
*/

/*
.btn-common a::after, 
.btn-input::after {
	content: "";
	position: absolute;
	top: 0;
	right: 30px;
	bottom: 0;
	width: 13px;
	height: 6px;
	margin: auto 0;
	background: url("../img/common/common_ico08.svg") no-repeat center center / contain;
	pointer-events: none;
	transition: .2s ease;
	z-index: 1;
}

.btn-common a:hover::after, 
.btn-input:hover::after {
	color: #ED3745;
	border-color: #ED3745;
}
*/

.btn-input input[disabled] {
	color: #CCC;
	background-color: #FBF9F9;
	background-image: url("../img/common/common_ico08-inert.svg");
	cursor: default;
	pointer-events: none;
}
/*
.btn-input:hover::after input[disabled] {
	right: 30px;
}
*/


.mw_wp_form_confirm .btn-input {
	max-width: 100%;
  	display: flex;
  	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}
.mw_wp_form_confirm .btn-input input[type="submit"] {
	max-width: 340px;
	width: calc(50% - 40px);
}
.mw_wp_form_confirm .btn-input input[name="submit_b"] {
	background: url("../img/common/common_ico08.svg") no-repeat right 30px center / 13px 8px;
}
.mw_wp_form_confirm .btn-input input[name="submit_b"]:hover {
	background-image: url("../img/common/common_ico08-on.svg");
	background-position: right 25px center;
}

.mw_wp_form_confirm .btn-input input[name="submitBack"] {
	background: #FBF9F9 url("../img/common/common_ico08.svg") no-repeat right 30px center / 13px 8px;
}
.mw_wp_form_confirm .btn-input input[name="submitBack"]:hover {
	background-image: url("../img/common/common_ico08-on.svg");
	background-position: right 25px center;
}

@media screen and (max-width: 767px){
.btn-common {
	margin-top: 40px;
}
.btn-common, 
.btn-input {
	width: 100%;
	max-width: inherit;
}
.btn-common a,
.btn-input input[type="submit"] {
	max-width: inherit;
	padding: 20px 30px 20px 20px;
	font-size: 1.4rem;
	background-position: right 20px center

}
.btn-common a:hover, 
.btn-input input[type="submit"]:hover {
	padding-left: 25px;
	padding-right: 25px;
	background-position: right 15px center
}






/*
.mw_wp_form_confirm .btn-input {
	margin-top: 40px;
}
.mw_wp_form_confirm .btn-input::after {
	display: none;
}
.mw_wp_form_confirm .btn-input {
	max-width: inherit;
  	display: block;
}
.mw_wp_form_confirm .btn-input input[type="submit"] {
	max-width: inherit;
}
.mw_wp_form_confirm .btn-input input[name="submitBack"] {
	max-width: calc(100% - 40px);
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}
*/

.mw_wp_form_confirm .btn-input {
  	display: block;
}
.mw_wp_form_confirm .btn-input input[type="submit"] {
	width: 100%;
	max-width: inherit;
	margin-left: auto;
	margin-right: auto;
}
.mw_wp_form_confirm .btn-input input[name="submit_b"] {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	background-position: right 20px center;
}
.mw_wp_form_confirm .btn-input input[name="submit_b"]:hover {
	background-position: right 15px center;
}

.mw_wp_form_confirm .btn-input input[name="submitBack"] {
	margin-top: 30px;
	width: calc(100% - 40px);
	background-position: right 20px center;
}
.mw_wp_form_confirm .btn-input input[name="submitBack"]:hover {
	background-position: right 15px center;
}
}


/*----------------------------------------------------------
/* .company 会社案内
----------------------------------------------------------*/
/* .greeting ごあいさつ
--------------------------------------*/
.greeting {
	margin-top: clamp(40px, 5.20vw, 100px);
	margin-bottom: clamp(80px, 6.25vw, 120px);
	padding: 0 40px;
}
.greeting__inner {
	max-width: 980px;
	margin: 0 auto;
}
.greeting__eyecatch {
	margin-bottom: 35px;
}
.greeting__txt {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
	color: #362E2E;
}
.greeting__sign {
	margin-top: 40px;
  	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.greeting__sign span {
	margin-right: 10px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 767px){
.greeting {
	padding: 0 20px;
}
.greeting__eyecatch {
	margin-bottom: 30px;
}
.greeting__sign {
	margin-top: 30px;
}
}

/* .history 沿革
--------------------------------------*/
.history {
	margin-top: clamp(80px, 6.25vw, 120px);
	margin-bottom: clamp(80px, 6.25vw, 120px);
	padding: 0 40px;
}
.history__inner {
	max-width: 980px;
	margin: 0 auto;
}
.timeline__item {
    position: relative;
	padding-bottom: 46px;
}
.timeline__item:last-of-type {
	padding-bottom: 0;
}
.timeline__item::after{
	content: "";
	position: absolute;
	top: -8px;
	left: -16px;
	width: 46px;
	height: 46px;
	background: url("../img/company/company_ico03.svg") no-repeat center center;
}
.timeline__item dl {
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
}
.timeline__year {
	width: 190px;
	padding-left: 40px;
	padding-right: 50px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.875;
	white-space: nowrap;
}
.timeline__txt {
	width: calc(100% - 190px);
	font-size: 1.6rem;
	line-height: 1.875;
}
.timeline__border {
	position: absolute;
	top: 0;
	left: 6px;
	width: 2px;
	height: 0;
	background: #D4D4D4;
}

@media screen and (max-width: 767px){
.history {
	padding: 0 20px;
}
.timeline__item {
	padding-bottom: 40px;
}
.timeline__item:last-of-type {
	padding-bottom: 0;
}
.timeline__item::after{
	top: -10px;
}
.timeline__item dl {
  	display: block;
}
.timeline__year {
	width: 100%;
	padding-left: 30px;
	padding-right: 0;
	font-size: 1.4rem;
}
.timeline__txt {
	width: 100%;
	padding-left: 30px;
	font-size: 1.4rem;
}
}

/* .profile 会社概要
--------------------------------------*/
.profile {
	margin-top: clamp(80px, 6.25vw, 120px);
	margin-bottom: clamp(80px, 6.25vw, 120px);
	padding: 0 40px;
}
.profile__inner {
	max-width: 980px;
	margin: 0 auto;
}

.profile__tbl {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
}
.profile__tbl th {
	width: 135px;
	padding: 25px 20px;
	font-weight: 700;
	text-align: right;
	border-bottom: 1px solid #E2E2E2;
}
.profile__tbl td {
	width: calc(100% - 135px);
	padding: 25px 20px;
	font-weight: 400;
	border-bottom: 1px solid #E2E2E2;
}

@media screen and (max-width: 767px){
.profile {
	padding: 0 20px;
}
.profile__inner {
	max-width: 980px;
	margin: 0 auto;
}
.profile__tbl {
	width: 100%;
	font-size: 1.4rem;
}
.profile__tbl th {
	width: 100%;
	padding: 8px 10px;
	text-align: left;
	border-bottom: 1px solid #E2E2E2;
	display: block;
	
}
.profile__tbl td {
	width: 100%;
	padding: 15px 10px 20px;
	border-bottom: 1px solid #E2E2E2;
	display: block;
}
}


/* .access アクセス
--------------------------------------*/
.access {
	margin-top: clamp(80px, 6.25vw, 120px);
	margin-bottom: clamp(80px, 6.25vw, 120px);
	padding: 0 40px;
}
.access__inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.access__map {
	width: 100%;
	height: 440px;
	margin-bottom: 30px;
	overflow: hidden;
}
.access__map iframe {
	height: 740px;
	margin-top: -150px;
	margin-bottom: -150px;
}
.access__box {
  	display: flex;
	justify-content: center;
}
.access__train, 
.access__car {
	width: 100%;
	max-width: 430px;
}
.access__train {
	padding-right: clamp(30px, 5.55vw, 70px);
	border-right: 1px solid #E2E2E2;
}
.access__car {
	padding-left: clamp(30px, 5.55vw, 70px);
}

.access__train dt, 
.access__car dt {
	position: relative;
	margin-bottom: 15px;
	padding-left: 40px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.05em;
}
.access__train dt::before, 
.access__car dt::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 29px;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.access__train dt::before {
	background-image: url("../img/company/company_ico01.svg");
}
.access__car dt::before {
	background-image: url("../img/company/company_ico02.svg");
}
.access__train dd, 
.access__car dd {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.875;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 767px){
.access {
	padding: 0 20px;
}
.access__box {
  	display: block;
}
.access__train, 
.access__car {
	width: 100%;
	max-width: inherit;
}
.access__train {
	padding-right: 0;
	padding-bottom: 25px;
	border-right: none;
	border-bottom: 1px solid #E2E2E2;
}
.access__car {
	padding-top: 25px;
	padding-left: 0;
}

.access__train dt, 
.access__car dt {
	font-size: 1.8rem;
}
.access__train dd, 
.access__car dd {
	font-size: 1.4rem;
}
}

/*----------------------------------------------------------
/* .service 事業内容
----------------------------------------------------------*/
/* .design 建築設計業務
------------------------------------------------*/
.design {
	margin-top: clamp(40px, 5.20vw, 100px);
	margin-bottom: clamp(80px, 6.25vw, 120px);
	padding: 0 40px;
}
.design__inner {
	max-width: 980px;
	margin: 0 auto;
}
.design__eyecatch {
	margin-bottom: 30px;
}
.design__txt {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
}

.design__box {
	margin-top: 60px;
	margin-bottom: 60px;
	padding: 30px 20px;
	text-align: center;
	border: 1px solid #E2E2E2;
}
.design__box-title {
	margin-bottom: 25px;
	font-size: 2.0rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.45;
	letter-spacing: 0.08em;
}
.design__box-list {
	margin-bottom: 20px;
	display: inline-block;
}
.design__box-list li + li {
	margin-top: 10px;
}
.dot-list li {
	position: relative;
	padding-left: 10px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
}
.dot-list li::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	width: 3px;
	height: 3px;
	background-color: #CC8484;
	border-radius: 50%;
	display: block;
}
.dot-list .dot-list__ico-none::before {
	display: none;

}

.design__box p {
	text-align: center;

}
.secondary-title {
	position: relative;
	margin-top: 70px;
	margin-bottom: 15px;
	padding-left: 25px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
}
.secondary-title::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: #CC8484;
	display: block;
}
.design__img {
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;

}
.design__cost-title {
	margin-top: 100px;
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.44;
	letter-spacing: 0.08em;
	border-bottom: 1px solid #E2E2E2;
}
.design__img + .design__cost {
	margin-top: -60px;
}

.design__cost-detail {
	max-width: 920px;
	margin: 30px auto;

}
.design__cost-label {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.66;
	letter-spacing: 0.05em;

}
.design__cost-data {
	display: flex;
  	flex-wrap: wrap;
	gap: 5px;
}
.design__cost-list {
	flex: 0 1 calc((100% - 5px * 2) / 3);
}

/*
.design__cost-list li + li {
	margin-top: 10px;
}
*/
.design__process {
	margin-top: 15px;;

}
.design__step {
	position: relative;
	padding-top: 35px;
	padding-left: 90px;
	padding-bottom: 35px;
	border-bottom: 1px solid #E2E2E2;
}
.design__step::before {
	content: "";
	position: absolute;
	top: 35px;
	left: 0;
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.design__step--step01::before {
	background-image: url("../img/service/service_ico01.svg");
}
.design__step--step02::before {
	background-image: url("../img/service/service_ico02.svg");
}
.design__step--step03::before {
	background-image: url("../img/service/service_ico03.svg");
}
.design__step--step04::before {
	background-image: url("../img/service/service_ico04.svg");
}
.design__step--step05::before {
	background-image: url("../img/service/service_ico05.svg");
}
.design__step--step06::before {
	background-image: url("../img/service/service_ico06.svg");
}
.design__step--step07::before {
	background-image: url("../img/service/service_ico07.svg");
}

.design__step-title {
	margin-bottom: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.design__step-period {
	margin-left: 10px;
	padding: 1px 15px;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #9C9696;
	border: 1px solid #9C9696;
	display: inline-block;

}
.design__step-txt p {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.0;
	letter-spacing: 0.04em;
}
.design__step-txt p + p {
	margin-top: 30px;
}

@media screen and (max-width: 767px){
.design {
	padding: 0 20px;
}
.design__eyecatch {
	margin-bottom: 30px;
}
.design__box-title {
	margin-bottom: 20px;
	font-size: 1.8rem;
}
.design__box-list li + li {
	margin-top: 5px;
}
.design__box p {
	display: inline-block;
	text-align: left;
}
.secondary-title {
	margin-top: 60px;
	margin-bottom: 15px;
	font-size: 1.8rem;
}
.design__cost-title {
	margin-top: 80px;
	font-size: 1.6rem;
}
.design__img + .design__cost {
	margin-top: -40px;
}
.design__cost-label {
	font-size: 1.6rem;
}
.design__cost-data {
	display: block;
}
.design__process {
	margin-top: 15px;
}
.design__step {
	padding-top: 100px;
	padding-left: 0;
	padding-bottom: 30px;
}
.design__step::before {
	top: 20px;
	left: 0;
	right: 0;
	width: 60px;
	height: 60px;
	margin: 0 auto;
}

.design__step-title {
	margin-bottom: 20px;
	font-size: 1.8rem;
	text-align: center;
}
.design__step-period {
	margin-left: 10px;
	padding: 1px 10px;
	font-size: 1.4rem;

}
.design__step-txt p {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.0;
	letter-spacing: 0.04em;
}
.design__step-txt p + p {
	margin-top: 30px;
}

}






/* .works 実績紹介
------------------------------------------------*/
.works {
	margin-top: clamp(80px, 6.25vw, 120px);
	margin-bottom: 50px;
	padding: 0 40px;
}
.works__inner {
	max-width: 980px;
	margin: 0 auto;
}
.works__sub-title {
	margin-bottom: 35px;
}


.works__list {
	display: flex;
  	flex-wrap: wrap;
	gap: clamp(60px * 0.6, 4.76vw, 60px) clamp(100px * 0.6, 7.93vw, 100px);
}
.works__list li {
	flex: 0 1 calc((100% - clamp(100px * 0.6, 7.93vw, 100px) * 3) / 4);
	display: flex;
	align-items: center;
}


/*

.works__list {
	margin: calc(clamp(60px * 0.6, 4.76vw, 60px) / 2 * -1) calc(clamp(100px * 0.6, 7.93vw, 100px) / 2 * -1);
	display: flex;
  	flex-wrap: wrap;
}
.works__list li {
	width: 25%;
	padding: calc(clamp(60px * 0.6, 4.76vw, 60px) / 2) calc(clamp(100px * 0.6, 7.93vw, 100px) / 2);
}
*/
.works__list a {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	transition: .2s ease;
	display: block;
	transform: translateY(0);
	overflow: hidden;
}
.works__list a:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
	transition: .2s ease;
}
.works__list li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works__list a img {
	transition: .2s ease;
}
.works__list a:hover img {
	transform: scale(1.05,1.05);
	transition: .2s ease;
}



@media only screen and (max-width: 1024px) {

.works__list li {
	flex-basis: calc((100% - clamp(100px * 0.6, 7.93vw, 100px) * 2) / 3);
}


/*
.works__list li {
	width: 33.33%;
}
.works__list img {
	width: 100%;
	height: auto;
}
*/
}


@media only screen and (max-width: 767px) {
.works {
	margin-top: 20px;
	margin-bottom: clamp(80px, 5.20vw, 100px);
	padding: 0 20px;
}
.works__list {
	gap: clamp(30px * 0.5, 3.91vw, 30px) clamp(40px * 0.5, 5.21vw, 40px);
}
.works__list li {
	flex-basis: calc((100% - clamp(40px * 0.5, 5.21vw, 40px) * 1) / 2);
}



/*

.works__list {
	margin: calc(clamp(30px * 0.5, 3.91vw, 30px) / 2 * -1) calc(clamp(40px * 0.5, 5.21vw, 40px) / 2 * -1);
}
.works__list li {
	padding: calc(clamp(30px * 0.5, 3.91vw, 30px) / 2) calc(clamp(40px * 0.5, 5.21vw, 40px) / 2);
}
*/
}

@media only screen and (max-width: 414px) {

.works__list {
	gap: 30px;
}
.works__list li {
	flex-basis: calc((100% - 30px * 1) / 2);
}



/*
.works__list {
	margin: calc(30px / 2 * -1) calc(30px / 2 * -1);
}
.works__list li {
	width: 50%;
	padding: calc(30px / 2) calc(30px / 2);
}
*/
}








/* .page-cta	ページCTA
------------------------------------------------*/
.page-cta {
	max-width: 980px;
	margin: 0 auto clamp(80px, 7.81vw, 150px);
	padding: 45px 25px;
	background-color: #FBF9F9;
}
.page-cta__inner {
	display: flex;
	justify-content: space-between;
}
.page-cta__btn {
	width: calc(50% - 5px);
	display: flex;
}

.page-cta__btn a {
	width: 100%;
	padding: 30px 20px;
	text-decoration: none;
	color: #362E2E;
	background-color: #FFF;
	border: 1px solid #CCC;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: .2s ease;
	transform: translateY(0);
	position: relative;
	overflow: hidden;
}
.page-cta__btn a:hover {
	color: #ED3745;
	border-color: #ED3745;
	transform: translateY(-2px);
	box-shadow: 0 5px 10px rgba(0,0,0,0.05);
	transition: .2s ease;
}
.page-cta__btn span {
	font-size: 1.8rem;
	font-weight: 400;
	text-align: center;
	display: block;
}
.page-cta__btn small {
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: 400;
	text-align: center;
	display: block;
}
.page-cta__btn--mail span {
	position: relative;
	padding-left: 40px;
	font-weight: 500;
}
.page-cta__btn--mail a span::before, 
.page-cta__btn--mail a span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 27px;
	height: 20px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
	transition: opacity .3s ease, transform .3s ease;
}
.page-cta__btn--mail a span::before {
	background-image: url("../img/common/common_ico09-on.svg");
	opacity: 0;
	transform: translateY(-50%) scale(0.9);
}
.page-cta__btn--mail a span::after {
	background-image: url("../img/common/common_ico09.svg");
	opacity: 1;
	transform: translateY(-50%) scale(1);
}
.page-cta__btn--mail a:hover span::before {
	opacity: 1;
	transform: translateY(-50%) scale(1.1);
}
.page-cta__btn--mail a:hover span::after {
	opacity: 0;
	transform: translateY(-50%) scale(0.9);
}

@media screen and (max-width: 767px){
.page-cta {
	padding: 30px 20px;
}
.page-cta__inner {
	display: block;
}
.page-cta__btn {
	width: 100%;
	display: block;
}
.page-cta__btn--mail {
	margin-top: 20px;
}
.page-cta__btn a {
	padding: 15px 10px;
}
.page-cta__btn--mail a {
	padding: 25px 10px;
}
.page-cta__btn span {
	font-size: 1.8rem;
	display: inline-block;
}
.page-cta__btn small {
	margin-top: 10px;
	font-size: 1.2rem;
	display: block;
}
.page-cta__btn--mail span {
	position: relative;
	padding-left: 40px;
}
.page-cta__btn--mail a span::before, 
.page-cta__btn--mail a span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 27px;
	height: 20px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
	transition: opacity .3s ease, transform .3s ease;
}
}


/* .survey 土地家屋調査業務
------------------------------------------------*/
.survey {
	margin-top: clamp(80px, 7.81vw, 150px);
	margin-bottom: clamp(80px, 7.81vw, 150px);
	padding: 0 40px;
}
.survey__inner {
	max-width: 980px;
	margin: 0 auto;
}
.survey__eyecatch {
	margin-bottom: 30px;
}
.survey__txt {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
}
.survey__case {
	padding: 50px 0 50px;
	border-bottom: 1px solid #E2E2E2;
	display: flex;
  	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}
.survey__case:last-of-type {
	border-bottom: none;
}
.survey__content {
	flex: 0 1 calc(64.38% - 50px / 2);
}
.survey__img {
	flex: 0 1 calc(35.61% - 50px / 2);
}

.survey__label {
	position: relative;
	margin-bottom: 30px;
	padding-left: 70px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.survey__label::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 36px;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.survey__label--ex01::before {
	background-image: url("../img/service/service_ico08.svg");
}
.survey__label--ex02::before {
	background-image: url("../img/service/service_ico09.svg");
}
.survey__label--ex03::before {
	background-image: url("../img/service/service_ico10.svg");
}
.survey__label--ex04::before {
	background-image: url("../img/service/service_ico11.svg");
}
.survey__label--ex05::before {
	background-image: url("../img/service/service_ico12.svg");
}
.survey__label--ex06::before {
	background-image: url("../img/service/service_ico13.svg");
}
.survey__label--ex07::before {
	background-image: url("../img/service/service_ico14.svg");
}
.survey__label--ex08::before {
	background-image: url("../img/service/service_ico15.svg");
}
.survey__label--ex09::before {
	background-image: url("../img/service/service_ico16.svg");
}


.survey__info {
	margin-bottom: 10px;
	padding: 10px 15px;
	background-color: #FBF9F9;
}
.survey__dl {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.44;
	letter-spacing: 0.05em;
	display: flex;
}
.survey__note {
	margin-top: 5px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.0;
	letter-spacing: 0.04em;
}
.survey__desc {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.0;
	letter-spacing: 0.04em;
}
.survey__question-title {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.survey__question-list {
	margin-bottom: 20px;
}

@media screen and (max-width: 767px){
.survey {
	padding: 0 20px;
}
.survey__case {
	padding: 30px 0 40px;
	display: block;
}
.survey__label {
	margin-bottom: 20px;
	padding-left: 60px;
	font-size: 1.8rem;
}
.survey__dl {
	font-size: 1.6rem;
}
.survey__case-img {
	margin-top: 20px;
}
.survey__question-title {
	font-size: 1.8rem;
}
}

/*----------------------------------------------------------
/* .terms 個人情報保護方針・当サイトのご利用について
----------------------------------------------------------*/
.terms {
	margin-top: 20px;
	margin-bottom: clamp(80px, 5.20vw, 100px);
	padding: 0 40px;
}
.terms__inner {
	max-width: 980px;
	margin: 0 auto;
}
.terms__title {
	margin-top: 100px;
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.66;
	letter-spacing: 0.05em;
}
.terms__title:first-of-type {
	margin-top: 0;
}
.terms__sub-title {
	margin-top: 65px;
	margin-bottom: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 2.0;
	letter-spacing: 0.05em;
}
.terms p {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 767px){
.terms {
	padding: 0 20px;
}
.terms__title {
	margin-top: 60px;
	margin-bottom: 15px;
	font-size: 2.0rem;
}
.terms__title:first-of-type {
	margin-top: 0;
}
.terms__sub-title {
	margin-top: 50px;
	margin-bottom: 15px;
	font-size: 1.8rem;
}
.terms p {
	font-size: 1.4rem;
}
}




/*----------------------------------------------------------
/* .wp-pagenavi ページャー
----------------------------------------------------------*/
.wp-pagenavi {
	clear: both;
	margin-top: 40px;
	text-align: center;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.wp-pagenavi a {
	padding: 0;
	text-decoration: none;
	display: inline;
}
.wp-pagenavi span, 
.wp-pagenavi a {
	margin: 5px 10px;
	width: 40px;
	height: 40px;
	/*padding: 10px 15px;*/
	vertical-align: middle;
	font-size: 1.8rem;
	color: #333333;
	border-radius: 4px;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.wp-pagenavi a:hover {
	color: #FFF;
	background-color: #1F548A;
	-webkit-filter: brightness(1.0);
	-moz-filter: brightness(1.0);
	-ms-filter: brightness(1.0);
	filter: brightness(1.0);
}
.wp-pagenavi .previouspostslink, 
.wp-pagenavi .nextpostslink {
	margin: 5px 10px;
	background-color: transparent;
}
.wp-pagenavi .previouspostslink:hover, 
.wp-pagenavi .nextpostslink:hover {
	color: #FFF;
	background-color: #1F548A;
	-webkit-filter: brightness(1.0);
	-moz-filter: brightness(1.0);
	-ms-filter: brightness(1.0);
	filter: brightness(1.0);
}
.wp-pagenavi .current {
	color: #FFF;
	background-color: #1F548A;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .current {
    font-weight: normal;
}
.wp-pagenavi a:hover, 
.wp-pagenavi .current {
	border: none;
}
.wp-pagenavi a, 
.wp-pagenavi span {
    border: none;
}
.wp-pagenavi span.previouspostslink, 
.wp-pagenavi span.nextpostslink {
}


@media screen and (max-width: 767px){
.wp-pagenavi {
	margin-top: 40px;
}
.wp-pagenavi span, 
.wp-pagenavi a {
	margin: 4px 6px;
	width: 30px;
	height: 30px;
	font-size: 1.4rem;
}
.wp-pagenavi .previouspostslink, 
.wp-pagenavi .nextpostslink {
	margin: 4px 6px;
}

}


/*----------------------------------------------------------
/* .contact お問い合わせ
----------------------------------------------------------*/

/*
.contact__txt {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.contact__txt--center {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 2.125;
	letter-spacing: 0.05em;
}
.contact__img {
	margin-bottom: 40px;
	text-align: center;
}

.contact__box-privacy {
	margin-top: 40px;
	margin-bottom: 60px;
	padding: 40px;
	text-align: center;
	background-color: #F3F4F5;
}
.contact__privacy-check {
	max-width: 800px;
	margin-top: -20px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	display: block;
}
.contact__privacy-check span {
	font-weight: bold;
	text-align: center;
	display: inline-block;
}


@media screen and (max-width: 767px){
.contact__txt {
	margin-bottom: 20px;
	font-size: 1.4rem;
}
.contact__txt--center {
	margin-bottom: 20px;
	font-size: 1.4rem;
	text-align: left;
}
.contact__img {
	margin-bottom: 20px;
	text-align: center;
}
.contact__box-privacy {
	margin-top: 0;
	margin-bottom: 40px;
	padding: 30px 20px 20px;
}
.contact__privacy-check {
	margin-top: -20px;
	display: block;
}
.contact__privacy-check span {
	text-align: left;
	display: inline-block;
}

}
*/

.contact--bg {
	padding: 50px 40px;
	background-color: #FBF9F9;
}
.contents__box {
	max-width: 1260px;
	margin: 0 auto;
	background-color: #FFF;
}
.contact {
	padding: 60px 40px;

}
.contact__inner {
	max-width: 980px;
	margin: 0 auto;
}
.contact__txt {
	margin-bottom: 30px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.14;
	letter-spacing: 0.05em;
}
.contact-cta {
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 30px 20px;
	background-color: #FBF9F9;
}
.contact-cta__label {
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 2.05;
	letter-spacing: 0.08em;
}
.contact-cta__btn {

}
.contact-cta__btn a {
	color: #362E2E;
	text-decoration: none;
	pointer-events: none;

}
.contact-cta__btn span {
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.03em;
	display: block;

}
.contact-cta__btn small {
	font-size: 1.2rem;
	font-weight: 400;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.1em;
	display: block;

}

@media screen and (max-width: 767px){
.contact--bg {
	padding: 20px 10px;
}
.contents__box {
	max-width: 1260px;
	margin: 0 auto;
	background-color: #FFF;
}
.contact {
	padding: 30px 20px 60px;
}
.contact-cta {
	margin-bottom: 30px;
	padding: 30px 20px;
}
.contact-cta__label {
	margin-bottom: 5px;
	font-size: 1.6rem;
}
.contact-cta__btn {

}
.contact-cta__btn a {
	position: relative;
	padding: 15px 10px;
	color: #362E2E;
	text-decoration: none;
	background-color: #FFF;
	border: 1px solid #CCC;
	display: block;
	pointer-events: auto;
	transition: .2s ease;
	transform: translateY(0);
	overflow: hidden;

}
.contact-cta__btn a:hover {
  color: #ED3745;
  border-color: #ED3745;
  transform: translateY(-2px);
  box-shadow: 0 5px 10px rgba(0,0,0,0.05);
  transition: .2s ease;
}


.contact-cta__btn span {
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.03em;
	display: block;

}
.contact-cta__btn small {
	font-size: 1.2rem;
	font-weight: 400;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.1em;
	display: block;

}
}


/* .contact お問い合わせサンクスページ
------------------------------------------------*/

.contact__inner--thx {
	text-align: center;
}
.contact__thx-thtle {
	margin-bottom: 50px;
	font-size: 3.0rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.46;
	letter-spacing: 0.05em;
}
.contact__thx-ico {
	margin-bottom: 50px;
	text-align: center;
}

.contact__thx-txt {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.14;
	text-align: center;
}
@media screen and (max-width: 767px){
.contact__thx-thtle {
	margin-bottom: 30px;
	font-size: 2.0rem;
}
.contact__thx-ico {
	margin-bottom: 30px;
}

.contact__thx-txt {
	font-size: 1.4rem;
	text-align: left;
	display: inline-block;
}
}

/*----------------------------------------------------------
/* .form お問い合わせフォーム
----------------------------------------------------------*/
.form__tbl {
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px;
}
.form__tbl th, 
.form__tbl td {
	padding: 20px 0;
	font-size: 1.6rem;
	line-height: 1.5;
	border-top: 1px solid #E9E9E9;
	vertical-align: top;
}
.form__tbl th {
	width: 25%;
	padding-top: 35px;
	padding-right: 70px;
	font-weight: 700;
	text-align: right;
}
.mw_wp_form_confirm .form__tbl th {
	padding-top: 20px;
}
.form__tbl td {
	padding-left: 20px;
	font-weight: 400;
}
.form__tbl .required, 
.form__tbl .option {
	position: relative;
}
.form__tbl .required::after, 
.form__tbl .option::after {
	position: absolute;
	top: 35px;
	right: 0;
	width: 55px;
	padding: 5px 0;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.0;
	letter-spacing: 0.05em;
	color: #FFF;
	display: inline-block;
}
.mw_wp_form_confirm .form__tbl .required::after, 
.mw_wp_form_confirm .form__tbl .option::after {
	top: 20px;
}

.form__tbl .required::after {
	content: "必須";
	background-color: #CC8484;

}
.form__tbl .option::after {
	content: "任意";
	background-color: #979797;
}
.form .form__align {
	width: 5.5em;
	display: inline-block;
}
.form .form__err {
	position: relative;
	margin-top: 10px;
	padding-left: 22px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	color: #E53131;
	display: block;
}
.form .form__err::before {
	content: "\e001";
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Material Icons Outlined";
	font-size: 1.8rem;
}

@media screen and (max-width: 1024px){
.form__tbl th {
	width: 38%;
}

}


@media screen and (max-width: 767px){

.form__tbl {
	margin-bottom: 40px;
}

.form__tbl th, 
.form__tbl td {
	padding: 20px 0;
	font-size: 1.6rem;
	line-height: 1.5;
	border-top: 1px solid #E9E9E9;
	vertical-align: top;
}
.form__tbl th {
	width: 100%;
	padding: 10px 0;
	padding-right: 70px;
	font-size: 1.4rem;
	text-align: left;
	display: block;
}
.mw_wp_form_confirm .form__tbl th {
	padding-top: 10px;
}
.form__tbl td {
	width: 100%;
	padding-left: 0;
	display: block;
}
.form__tbl .required::after, 
.form__tbl .option::after {
	position: absolute;
	top: 5px;
	right: 0;
	bottom: 5px;
	width: 45px;
	padding: 5px 0;
	margin: auto 0;
	font-size: 1.2rem;
	display:flex;
	justify-content: center;
	align-items: center;
}
.mw_wp_form_confirm .form__tbl .required::after, 
.mw_wp_form_confirm .form__tbl .option::after {
	top: 5px;
}

.form .form__align {
	width: auto;
	font-size: 1.4rem;
	font-weight: 500;
	display: block;
}


.form__tbl .required::after, 
.form__tbl .option::after {
}

.form .form__align {
	width: auto;
	margin: 10px 0 5px;
	display: block;
}
}





/* フォーム */
.form input, 
.form select, 
.form textarea {
	font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 1.6rem;
	color: #333;
}
.form input[type=text], 
.form input[type=tel], 
.form input[type=email], 
.form input[type=password], 
.form textarea {
	width: 100%;
	margin: 5px 0;
	padding: 10px 20px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 4px;
}
.form select {
	margin: 5px 0;
	padding: 10px 20px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 4px;
}
.form textarea {
}
::placeholder {
	color: #888;
}

.form input.pc10, .form select.pc10 { width: 10%; }
.form input.pc15, .form select.pc15 { width: 15%; }
.form input.pc20, .form select.pc20 { width: 20%; }
.form input.pc25, .form select.pc25 { width: 25%; }
.form input.pc30, .form select.pc30 { width: 30%; }
.form input.pc40, .form select.pc40 { width: 40%; }
.form input.pc50, .form select.pc50 { width: 50%; }
.form input.pc60, .form select.pc60 { width: 60%; }
.form input.pc70, .form select.pc70 { width: 70%; }
.form input.pc80, .form select.pc80 { width: 80%; }
.form input.pc100, .form select.pc100 { width: 100%; }

.form select.pc50 { width: 50%; }





input[type=radio], 
input[type=checkbox] {
	opacity: 0;
	position: absolute;
}
.radio,
.check {
	margin-top: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.mwform-radio-field-text, 
.mwform-checkbox-field-text {
	position: relative;
	padding-left: 40px;
	font-size: 1.6rem;
	line-height: 1.4;
}
.mwform-radio-field-text::before, 
.mwform-checkbox-field-text::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 26px;
	height: 26px;
	background-color: #FFF;
	border: 1px solid #D2D3D3;
	border-radius: 50%;
	display: inline-block;
}
.mwform-checkbox-field-text::before {
	border-radius: 4px;
}
.mwform-radio-field-text::after, 
.mwform-checkbox-field-text::after {
	content: "";
	position: absolute;
	opacity: 0;
}
.mwform-radio-field-text::after {
	top: 4px;
	left: 8px;
	width: 12px;
	height: 12px;
	background-color: #FFF;
	border-radius: 50%;
}
.mwform-checkbox-field-text::after {
	top: -1px;
	left: 8px;
	width: 8px;
	height: 12px;
	border-right: 4px solid #FFF;
	border-bottom: 4px solid #FFF;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type="radio"]:checked + .mwform-radio-field-text::after, 
input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
	opacity: 1;
}
input[type="radio"]:checked + .mwform-radio-field-text::before, 
input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
	background-color: #CC8484;
	border: 1px solid #CC8484;
}
input[type="radio"]:focus-visible + .mwform-radio-field-text::before,
input[type="checkbox"]:focus-visible + .mwform-checkbox-field-text::before {
	outline: auto 1px;
}


@media screen and (max-width: 767px){

/* フォーム */
.form input, 
.form select, 
.form textarea {
	font-size: 16px;
	font-size: 1.6rem;
}



.form input.pc10, 
.form input.pc15, 
.form input.pc20, 
.form input.pc25, 
.form input.pc30, 
.form input.pc40, 
.form input.pc50, 
.form input.pc60, 
.form input.pc70, 
.form input.pc80 {
	width: 100%;
}
.form input.sp20 {	width: 20%; }
.form input.sp25 {	width: 25%; }
.form input.sp27 {	width: 27%; }
.form input.sp30 {	width: 30%; }
.form input.sp40 {	width: 40%; }
.form input.sp45 {	width: 45%; }
.form input.sp50 {	width: 50%; }
.form input.sp60 {	width: 60%; }
.form input.sp70 {	width: 70%; }
.form input.sp75 {	width: 75%; }
.form input.sp80 {	width: 80%; }
.form input.sp90 {	width: 90%; }
.form select.pc60 { width: 60%; }
.form select.pc100 {	width: 100%; }


.mwform-radio-field-text, 
.mwform-checkbox-field-text {
	font-size: 16px;
	font-size: 1.6rem;
}
.mw_wp_form.mw_wp_form_confirm .common_btn {
	margin-left: 0;
	margin-right: 0;
  	display: block;
}
.mw_wp_form.mw_wp_form_confirm .common_btn input {
	margin-left: 0;
	margin-right: 0;
}

.mw_wp_form.mw_wp_form_confirm .common_btn input[name="submitBack"] {
	max-width: 80%;
	margin-top: 20px;


}
}

@media screen and (max-width: 543px){

.form .tbl_btn a, 
.form .tbl_btn button, 
.form .tbl_btn input[type="button"], 
.form .tbl_btn input[type="submit"] {
    font-size: 10px;
    font-size: 1.0rem;
}
}


.vertical-item {
	display: block;
}
















/*----------------------------------------------------------
/* アニメーション
----------------------------------------------------------*/
.inview {
	opacity: 0;
	transition: 3s ease;
}
.inview.is-show {
	opacity: 1;
}
/*

.inview.fadein {
	transition: 1.5s ease;
}
.inview.fadein_up {
	transform: translate(0, 50px);
	transition: .75s ease;
}
.inview.fadein_up.is_show {
	transform: translate(0, 0);
}
.inview.fadein_bottom {
	transform: translate(0, -50px);
	transition: .75s ease;
}
.inview.fadein_bottom.is_show {
	transform: translate(0, 0);
}
.inview.fadein_left {
	transform: translate(-50px, 0);
	transition: .75s ease;
}
.inview.fadein_left.is_show {
	transform: translate(0, 0);
}
.inview.fadein_right {
	transform: translate(50px, 0);
	transition: .75s ease;
}
.inview.fadein_right.is_show {
	transform: translate(0, 0);
}

.inview.blur {
	color: transparent;
	transition: .75s ease;
	transform: scale(1.5, 1.5);
	text-shadow: 0px 0px 20px #473A34;
}
.catch01 .inview.blur, 
.catch03 .inview.blur {
	transform: scale(2, 2);
}
.catch02 .inview.blur {
	transform: scale(1.2, 1.2);
}
.r_catch01 .inview.blur {
	text-shadow: 0px 0px 20px #FFF;
	transform: scale(2, 2);
}


.inview.blur.is_show, 
.catch01 .inview.blur.is_show, 
.catch02 .inview.blur.is_show, 
.catch03 .inview.blur.is_show {
	text-shadow: 0px 0px 0px #473A34;
	transform: scale(1, 1);
}

.r_catch01 .inview.blur.is_show {
	text-shadow: 0px 0px 0 #FFF;
	transform: scale(1, 1);
}



*/



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

/*
.inview.mask {
	position: relative;
	overflow: hidden;
	display: inline;
}
*/

/*中の要素*/

/*
.inview.mask > span {
    opacity: 0;
}
.inview.mask.is_show > span {
	animation-name:bgextendAnimeSecond;
	animation-duration: .75s;
	animation-fill-mode:forwards;
	opacity: 1;
}
@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  50% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}
*/

/*左から右*/

.inview.mask.is_show::before {
	animation-name:bgLRextendAnime;
	animation-duration: .75s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	bottom: 10px;
	right: 0;
	background-color: #473A34;/*伸びる背景色の設定*/
}
.catch01 .inview.mask.is_show::before {
	top: 15px;
	bottom: 15px;
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

@media screen and (max-width: 1024px){
.inview.mask.is_show::before {
	top: -2px;
	bottom: -2px;
}
.inview.mask.is_show::before, 
.catch01 .inview.mask.is_show::before {
	top: 4px;
	bottom: 4px;
}
}
@media screen and (max-width: 767px){

.inview.fadein_up {
	transform: translate(0, 20px);
}
.inview.fadein_bottom {
	transform: translate(0, -20px);
}
.inview.fadein_left {
	transform: translate(-20px, 0);
}
.inview.fadein_right {
	transform: translate(20px, 0);
}
.inview.mask.is_show::before, 
.catch01 .inview.mask.is_show::before {
	top: 0;
	bottom: 0;
}
}

.each_txt_anime i { opacity: 0; }
.each_txt_anime.appear_text i { animation: txt_anime 1s linear forwards; }

.each_txt_anime02 i { opacity: 0; }
.each_txt_anime02.appear_text02 i { animation: txt_anime 1s linear forwards; }

@keyframes txt_anime {
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/*

.header, 
.hero, 
.topic_path, 
section, 
.works .unit, 
.news .unit, 
.list .unit, 
.alignment .unit, 
.menu_wp, 
.alternately, 
.jobs_layout, 
.contact_bnr, 
.entry_bnr, 
.foot_menu,
.footer {
	opacity: 0;
	transition: 1.5s ease;
}

.header.is_show, 
.hero.is_show, 
.topic_path.is_show, 
section.is_show, 
.works .unit.is_show,
.news .unit.is_show,
.list .unit.is_show,
.alignment .unit.is_show,
.menu_wp.is_show, 
.alternately.is_show, 
.jobs_layout.is_show, 
.contact_bnr.is_show, 
.entry_bnr.is_show, 
.foot_menu.is_show, 
.footer.is_show {
	opacity: 1;
}

*/
.catch04 img, 
.r_catch02 img {
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 2.0s;
  animation-duration: 2.0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.catch04 img.img_blur, 
.r_catch02 img.img_blur {
  -webkit-animation-name: img_blur;
  animation-name: img_blur;
  opacity: 1;
  transition: .8s;
}


@keyframes img_blur {
  from {
    opacity: 0;
    -webkit-filter: blur(30px);
    -moz-filter: blur(30px);
    -ms-filter: blur(30px);
    -o-filter: blur(30px);
    filter: blur(30px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}





/*



.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

*/


