@charset "utf-8";

/************************************
** basic
************************************/
* {
	box-sizing: border-box;
}

html {
	font-size: 15px;
}

body {
	font-family: 'M PLUS Rounded 1c', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-weight: 400;
	color: #3d3e4c;
	line-height: 1.8;
	margin: 0;
	padding: 0;
	width: 100%;
}

#wrapper {
	overflow: hidden;
	max-width: 100%;
}

/************************************
** inputs
************************************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  height: 38px;
  line-height: 38px;
  font-size: 1em;
  color: #4d4d4d;
  border-radius: 5px;
  vertical-align: middle;
  box-shadow: none;
  border: 1px solid #d6d6d6;
  width: 100%;
  max-width: 400px;
  background: #f5f7f8;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}

input[type="text"]:focus,
input[type="text"]:active,
input[type="password"]:focus,
input[type="password"]:active,
input[type="datetime"]:focus,
input[type="datetime"]:active,
input[type="datetime-local"]:focus,
input[type="datetime-local"]:active,
input[type="date"]:focus,
input[type="date"]:active,
input[type="month"]:focus,
input[type="month"]:active,
input[type="time"]:focus,
input[type="time"]:active,
input[type="week"]:focus,
input[type="week"]:active,
input[type="number"]:focus,
input[type="number"]:active,
input[type="email"]:focus,
input[type="email"]:active,
input[type="url"]:focus,
input[type="url"]:active,
input[type="search"]:focus,
input[type="search"]:active,
input[type="tel"]:focus,
input[type="tel"]:active,
input[type="color"]:focus,
input[type="color"]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: #f7f8fa;
}

input[type="text"].error,
input[type="text"].is-invalid,
input[type="password"].error,
input[type="password"].is-invalid,
input[type="datetime"].error,
input[type="datetime"].is-invalid,
input[type="datetime-local"].error,
input[type="datetime-local"].is-invalid,
input[type="date"].error,
input[type="date"].is-invalid,
input[type="month"].error,
input[type="month"].is-invalid,
input[type="time"].error,
input[type="time"].is-invalid,
input[type="week"].error,
input[type="week"].is-invalid,
input[type="number"].error,
input[type="number"].is-invalid,
input[type="email"].error,
input[type="email"].is-invalid,
input[type="url"].error,
input[type="url"].is-invalid,
input[type="search"].error,
input[type="search"].is-invalid,
input[type="tel"].error,
input[type="tel"].is-invalid,
input[type="color"].error,
input[type="color"].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: white;
  outline-color: #fbe3e4;
}

input[type="text"][disabled],
input[type="text"].is-disabled,
input[type="password"][disabled],
input[type="password"].is-disabled,
input[type="datetime"][disabled],
input[type="datetime"].is-disabled,
input[type="datetime-local"][disabled],
input[type="datetime-local"].is-disabled,
input[type="date"][disabled],
input[type="date"].is-disabled,
input[type="month"][disabled],
input[type="month"].is-disabled,
input[type="time"][disabled],
input[type="time"].is-disabled,
input[type="week"][disabled],
input[type="week"].is-disabled,
input[type="number"][disabled],
input[type="number"].is-disabled,
input[type="email"][disabled],
input[type="email"].is-disabled,
input[type="url"][disabled],
input[type="url"].is-disabled,
input[type="search"][disabled],
input[type="search"].is-disabled,
input[type="tel"][disabled],
input[type="tel"].is-disabled,
input[type="color"][disabled],
input[type="color"].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}

input[type="text"][disabled]:focus,
input[type="text"][disabled]:active,
input[type="text"].is-disabled:focus, input[type="text"].is-disabled:active,
input[type="password"][disabled]:focus,
input[type="password"][disabled]:active,
input[type="password"].is-disabled:focus,
input[type="password"].is-disabled:active,
input[type="datetime"][disabled]:focus,
input[type="datetime"][disabled]:active,
input[type="datetime"].is-disabled:focus,
input[type="datetime"].is-disabled:active,
input[type="datetime-local"][disabled]:focus,
input[type="datetime-local"][disabled]:active,
input[type="datetime-local"].is-disabled:focus,
input[type="datetime-local"].is-disabled:active,
input[type="date"][disabled]:focus,
input[type="date"][disabled]:active,
input[type="date"].is-disabled:focus,
input[type="date"].is-disabled:active,
input[type="month"][disabled]:focus,
input[type="month"][disabled]:active,
input[type="month"].is-disabled:focus,
input[type="month"].is-disabled:active,
input[type="time"][disabled]:focus,
input[type="time"][disabled]:active,
input[type="time"].is-disabled:focus,
input[type="time"].is-disabled:active,
input[type="week"][disabled]:focus,
input[type="week"][disabled]:active,
input[type="week"].is-disabled:focus,
input[type="week"].is-disabled:active,
input[type="number"][disabled]:focus,
input[type="number"][disabled]:active,
input[type="number"].is-disabled:focus,
input[type="number"].is-disabled:active,
input[type="email"][disabled]:focus,
input[type="email"][disabled]:active,
input[type="email"].is-disabled:focus,
input[type="email"].is-disabled:active,
input[type="url"][disabled]:focus,
input[type="url"][disabled]:active,
input[type="url"].is-disabled:focus,
input[type="url"].is-disabled:active,
input[type="search"][disabled]:focus,
input[type="search"][disabled]:active,
input[type="search"].is-disabled:focus,
input[type="search"].is-disabled:active,
input[type="tel"][disabled]:focus,
input[type="tel"][disabled]:active,
input[type="tel"].is-disabled:focus,
input[type="tel"].is-disabled:active,
input[type="color"][disabled]:focus,
input[type="color"][disabled]:active,
input[type="color"].is-disabled:focus,
input[type="color"].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type="password"] {
  letter-spacing: 0.3em;
}

input[type="checkbox"] {
	transform: scale(1.4);
}

.field_with_errors input[type="text"],
.field_with_errors input[type="password"],
.field_with_errors input[type="datetime"],
.field_with_errors input[type="datetime-local"],
.field_with_errors input[type="date"],
.field_with_errors input[type="month"],
.field_with_errors input[type="time"],
.field_with_errors input[type="week"],
.field_with_errors input[type="number"],
.field_with_errors input[type="email"],
.field_with_errors input[type="url"],
.field_with_errors input[type="search"],
.field_with_errors input[type="tel"],
.field_with_errors input[type="color"],
.field_with_errors select,
.field_with_errors textarea,
.field_with_errors .field {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

/************************************
** header
************************************/
header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: transparent;
	z-index: 1;
}

.inner-header {
	padding: 0 50px;
	display: flex;
}

.logo {
	margin: 0;
	margin-top: 25px;
	line-height: 0;
}

.logo a,
.logo img {
	display: block;
}

.logo img {
	width: 220px;
	height: auto;
	transition: all .4s;
}

.logo a:hover img {
	opacity: .7;
}

.header-tel-wrap {
	margin: 0 0 0 auto;
	margin-top: 20px;
	margin-left: 30px;
	display: inline-block;
}

.tel-wrap,
.tel-wrap a {
	color: #54302e;
}

.tel-wrap .sub {
	font-size: .75rem;
	text-align: center;
	line-height: 1;
	margin: 0 auto;
}

.tel-wrap a {
	position: relative;
	font-size: 1.25rem;
	font-weight: 500;
	text-decoration: none;
	display: table;
	margin: 0 auto;
	padding-left: 33px;
	transition: all .4s;
}

.tel-wrap a:before {
	position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	content: "";
	width: 25px;
	height: 25px;
	display: block;
	background: transparent url(../img/common/icon_tel.svg) no-repeat center center/contain;
}

.tel-wrap a:hover {
	opacity: .7;
}

ul.header-list_contact,
ul.header-list_contact > li {
	display: inline-block;
	vertical-align: top;
}

ul.header-list_contact {
	margin: 0 0 0 auto;
	margin-left: 30px;
	padding: 0;
}

ul.header-list_contact > li {
	margin-right: 10px;
}

ul.header-list_contact > li:last-child {
	margin-right: 0;
}

ul.header-list_contact > li a {
	font-size: .75rem;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 115px;
	height: 80px;
	padding-top: 15px;
	border-radius: 0 0 15px 15px;
	transition: all .4s;
}

ul.header-list_contact > li.download a {
	color: #54302e;
	background: #fff url(../img/common/bg_gr.png) no-repeat center center/cover;
}

ul.header-list_contact > li.contact a {
	color: #fff;
	background: #fff url(../img/common/bg_org.png) no-repeat center center/cover;
}

ul.header-list_contact > li a:hover {
	opacity: .8;
}

ul.header-list_contact > li a span {
	position: relative;
	line-height: 1;
	padding-top: 40px;
	display: block;
}

ul.header-list_contact > li a span:before {
	position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
	content: "";
	width: 25px;
	height: 25px;
	display: block;
	background: transparent no-repeat center center/contain;
}

ul.header-list_contact > li.download a span:before {
	background-image: url(../img/common/icon_download.svg) !important;
}

ul.header-list_contact > li.contact a span:before {
	background-image: url(../img/common/icon_mail.svg) !important;
}

@media screen and (max-width: 1400px) {
	.inner-header {
		padding: 0 20px;
	}
}

@media screen and (max-width: 1024px) {
	.logo {
		margin-top: 20px;
	}
}

/************************************
** navigation
************************************/
.header-nav-wrap {
	margin: 0 0 0 auto;
	margin-top: 20px;
	display: inline-block;
}

.header-nav-wrap ul,
.header-nav-wrap ul > li {
	display: inline-block;
}

.header-nav-wrap ul {
	list-style: none;
	margin: 0;
	padding: 0;
	vertical-align: text-top;
}

.header-nav-wrap ul > li {
	border-left: 1px dashed #998e8f;
}

.header-nav-wrap ul > li:last-child {
	border-right: 1px dashed #998e8f;
}

.header-nav-wrap ul > li a {
	font-size: .875rem;
	color: #54302e;
	line-height: 1;
	text-decoration: none;
	display: block;
	padding: .7em 2em;
	transition: all .4s;
}

.header-nav-wrap ul > li a:hover {
	opacity: .7;
}

.footer-nav {
	text-align: center;
	display: table;
	margin: 0 auto;
	margin-top: 50px;
}

.footer-nav ul,
.footer-nav ul > li {
	display: inline-block;
}

.footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav ul > li,
.footer-nav ul > li a {
	font-size: .875rem;
	color: #fff;
	line-height: 1;
}

.footer-nav ul > li {
	padding: 0 1.5em;
	border-right: 1px solid #fff;
}

.footer-nav ul > li:last-child {
	border-right: none;
}

.footer-nav ul > li a {
	text-decoration: none;
	display: block;
	transition: all .4s;
}

.footer-nav ul > li a:hover {
	opacity: .7;
}

#nav-drawer {
  position: relative;
  z-index: 9999;
  display: none;
}

.nav-unshown {
  display:none;
}

#nav-open {
  position: fixed;
  top: 20px;
  right: 20px;
  cursor: pointer;
  transition: all .4s;
}

#nav-open .line-wrap {
  position: relative;
  width: 30px;
  height: 25px;
  display: block;
}

#nav-open,
#nav-open .line-wrap span {
  box-sizing: border-box;
  z-index: 10000;
}

#nav-open .line-wrap span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: #54302e;
	display: block;
  transition: all .4s;
}

#nav-open .line-wrap span:nth-of-type(1) {
  top: 0;
}
#nav-open .line-wrap span:nth-of-type(2) {
  top: 50%;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
}
#nav-open .line-wrap span:nth-of-type(3) {
  bottom: 0;
}

#nav-open.active .line-wrap span:nth-of-type(1) {
  transform: translateY(11px) rotate(-45deg);
}
#nav-open.active .line-wrap span:nth-of-type(2) {
  opacity: 0;
}
#nav-open.active .line-wrap span:nth-of-type(3) {
  transform: translateY(-11px) rotate(45deg);
}

#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  background: #fff url(../img/common/bg_gr.png) no-repeat center center/cover;
  padding: 70px 0 30px;
  transition: .4s ease-in-out;
  -webkit-transform: translateY(-105%);
  transform: translateY(-105%);
  opacity: 0;
  transition: all .4s;
}

.menu-logo {
	text-align: center;
	margin: 0 auto;
	line-height: 0;
	display: table;
	width: 100%;
	max-width: 220px;
}

.menu-logo a,
.menu-logo img {
	display: block;
}

.menu-logo img {
	width: 100%;
	height: auto;
	transition: all .4s;
}

.menu-logo a:hover img {
	opacity: .7;
}

#nav-content ul,
#nav-content ul > li {
  display: block;
	width: 100%;
}

#nav-content ul {
	text-align: center;
	list-style: none;
  margin: 0;
	margin-top: 35px;
	padding: 0;
  display: table;
}

#nav-content ul > li,
#nav-content ul > li a {
  font-size: 1rem;
}

#nav-content ul > li {
  border-top: 1px solid #54302e;
}

#nav-content ul > li:last-child {
  border-bottom: 1px solid #54302e;
}

#nav-content ul > li a {
	position: relative;
	color: #54302e;
	line-height: 1;
	text-decoration: none;
  display: block;
	padding: 1em;
	transition: all .4s;
}

#nav-content ul > li a:after {
  position: absolute;
  top: 50%;
  right: 20px;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	font-family: FontAwesome;
	line-height: 0;
  content: "\f105";
}

#nav-content ul > li a:hover {
  color: #fff;
	background: #54302e;
}

#nav-content .tel-wrap {
	margin-top: 35px;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

@media screen and (max-width: 1350px) {
	.header-nav-wrap ul > li a {
    padding: .7em 1.5em;
	}
}

@media screen and (max-width: 1250px) {
	.header-nav-wrap ul > li a {
    padding: .7em 1em;
	}
}

@media screen and (max-width: 1200px) {
	.header-nav-wrap ul > li a {
		font-size: .75rem;
	}
}

@media screen and (max-width: 1150px) {
	.header-nav-wrap ul > li a {
    padding: .7em;
	}
}

@media screen and (max-width: 1100px) {
	.header-nav-wrap ul > li a {
    padding: .7em .5em;
	}

	.header-tel-wrap,
	ul.header-list_contact {
    margin-left: 15px;
	}
}

@media screen and (max-width: 1024px) {
	.header-nav-wrap,
	.header-tel-wrap,
	ul.header-list_contact {
    display: none;
	}

	.footer-nav {
		display: none;
	}

	#nav-drawer,
  #nav-content nav {
    display: block;
  }
}

/************************************
** footer
************************************/
footer {
	padding: 130px 0;
	background: #54302e;
}

.footer-logo {
	text-align: center;
	margin: 0 auto;
	line-height: 0;
	display: table;
	width: 100%;
	max-width: 220px;
}

.footer-logo a,
.footer-logo img {
	display: block;
}

.footer-logo img {
	width: 100%;
	height: auto;
	transition: all .4s;
}

.footer-logo a:hover img {
	opacity: .7;
}

footer .footer-text01 {
	font-size: .875rem;
	color: #fff;
	text-align: center;
	line-height: 2;
	margin: 0 auto;
	margin-top: 2em;
}

footer .copyright {
	font-size: .75rem;
	color: #fff;
	text-align: center;
	line-height: 1.6;
	margin: 0 auto;
	margin-top: 80px;
}

#page_top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 1;
}

#page_top a {
  position: relative;
  font-size: 1.5em;
  background: #fff url(../img/common/bg_org.png) no-repeat center center/cover;
  color: #fff;
  text-align: center;
  text-decoration: none;
  width: 45px;
  height: 45px;
  display: block;
	border-radius: 50%;
  transition: all .4s;
}

#page_top a:before {
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  content: "\f106";
}

#page_top a:hover {
  opacity: .7;
}

@media screen and (max-width: 1024px) {
	footer {
    padding: 100px 0 40px;
	}
}

@media screen and (max-width: 480px) {
	footer {
    padding: 60px 0 40px;
	}
}

/************************************
** frontpage
************************************/
.bg-illust_top01 {
	top: 0;
	left: 0;
	width: 33%;
}

.bg-illust_top02 {
	bottom: -11%;
	right: 3%;
	width: 35%;
	opacity: .85;
}

.bg-illust_top03 {
	bottom: -20%;
	left: -2%;
	width: 31%;
	opacity: .85;
}

.bg-illust_top04 {
	bottom: 50%;
	right: 7%;
	width: 15%;
}

.bg-illust_top05 {
	bottom: 55%;
	left: 10%;
	width: 15%;
}

.bg-illust_top06 {
	bottom: -10%;
	right: 5px;
	width: 25%;
	opacity: .85;
}

.mv {
	position: relative;
	width: 100%;
	height: 100vh;
	background: #fff url(../img/top/mv-bg.png) no-repeat center center/cover;
}

.mv .mv-catch {
	position: absolute;
  top: 50%;
  right: 22%;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: .1em;
	margin: 0;
	padding: .5em 0;
	height: 100%;
	text-align: center;
}

.home main {
	color: #7f7e81;
}

.home main .link-btn03 {
	margin-top: 2em;
}

#message .heading_img img {
	height: 95px;
}

.design-wrap,
.property-wrap {
	position: relative;
}

.design-wrap,
.property-wrap,
.news-wrap {
	margin-top: 140px;
}

.design-wrap {
	padding-bottom: 170px;
}

.design-wrap .text-wrap,
.property-wrap .text-wrap {
	display: table;
	background: #faf5e4;
	padding: 100px 0;
}

.design-wrap .text-wrap {
	padding-left: 13%;
	padding-right: 100px;
}

.design-wrap .text-wrap .inner {
	display: table;
	margin: 0 0 0 auto;
}

#design .heading_img,
#property .heading_img {
	text-align: left;
	margin-left: 0;
}

#design .heading_img img,
#property .heading_img img {
	margin: 0;
}

#design .heading_img img {
	height: 79px;
}

.design-wrap .text-wrap .text01,
.property-wrap .text-wrap .text01 {
	line-height: 2;
	width: 100%;
	max-width: 540px;
	margin: 0;
}

.design-wrap .text-wrap .link-btn03,
.property-wrap .text-wrap .link-btn03 {
	margin-left: 0;
}

.property-wrap {
	padding-bottom: 100px;
}

.property-wrap .text-wrap {
	margin: 0 0 0 auto;
	padding-left: 600px;
	padding-right: 13%;
}

.property-wrap .text-wrap .inner {
	display: table;
}

#property .heading_img img {
	height: 77px;
}

.property-wrap .top-img-wrap_property {
	position: absolute;
	bottom: 0;
	left: 10%;
	width: 35%;
}

.property-wrap .top-img-wrap_property .inner {
	width: 100%;
	line-height: 0;
}

.property-wrap .top-img-wrap_property img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	font-family: "object-fit: cover;";
	pointer-events: none;
}

.slide-wrap,
.slide-wrap .inner {
	width: 100%;
}

.slide-wrap {
	max-width: 930px;
}

.swiper-slide .img-wrap {
  position: relative;
}

.swiper-slide .img-wrap:before {
  content:"";
  display: block;
  padding-top: 126%;
}

.swiper-slide .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	font-family: "object-fit: cover;";
	pointer-events: none;
}

.slide-button-prev,
.slide-button-next {
  position: absolute;
  bottom: 15px;
  cursor: pointer;
  transition: all .4s;
  z-index: 1;
}

.slide-button-prev {
  left: -70px;
}

.slide-button-next {
  right: -70px;
}

.slide-button-prev img,
.slide-button-next img {
  width: 35px;
  height: 35px;
  display: block;
  transition: all .4s;
}

.slide-button-prev:hover img,
.slide-button-next:hover img {
  opacity: .7;
}

.news-wrap {
	padding: 140px 13%;
	background: #fff url(../img/common/bg_pattern01.png) no-repeat center center/cover;
}

.news-wrap .inner {
	padding: 50px 5%;
	background: #faf5e4;
}

.news-wrap .inner .row .col-1,
.news-wrap .inner .row .col-3 {
	margin: 0;
}

#news .heading_img img {
	height: 72px;
}

.news-wrap .inner ul {
	font-size: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
}

.news-wrap .inner ul > li {
	line-height: 1.6;
	margin: 0;
	margin-bottom: .5em;
	display: flex;
}

.news-wrap .inner ul > li:last-child {
	margin-bottom: 0;
}

.news-wrap .inner ul > li .date,
.news-wrap .inner ul > li .ttl {
	color: #54302e;
	display: inline-block;
}

.news-wrap .inner ul > li .ttl {
	text-decoration: none;
	transition: all .4s;
}

.news-wrap .inner ul > li .ttl:hover {
	opacity: .7;
	text-decoration: underline;
}

.bnr-wrap .row .col-1 {
	margin: 0 !important;
}

.bnr-wrap .inner {
	position: relative;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 550px;
	overflow: hidden;
}

.bnr-wrap .inner .bg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
	transition: all .7s;
}

.bnr-wrap .inner:hover .bg {
	transform: scale(1.2);
}

.bnr-wrap .inner .heading_img {
	position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin: 0 auto;
}

.bnr-wrap .inner.company .heading_img img {
	height: 77px;
}

.bnr-wrap .inner.recruit .heading_img img {
	height: 59px;
}

.bnr-wrap .inner .heading_img .icon {
	display: block;
	width: 70px !important;
	height: 70px !important;
	margin: 0 auto;
	margin-top: 15px;
}

@media screen and (min-width: 769px) {
	.news-wrap .inner .heading-wrap {
		height: 100%;
		padding-right: 5%;
		border-right: 1px dotted #54302e;
	}

	.news-wrap .inner .heading-wrap .heading_img {
		margin-bottom: 0;
	}

	.news-wrap .inner ul {
		padding: .5em 0;
		padding-left: 5%;
	}

	.news-wrap .inner ul > li .date {
		margin-right: 1em;
	}
}

@media screen and (min-width: 1025px) {
	.slide-wrap {
		position: absolute;
		bottom: 0;
	}

	#design .slide-wrap {
		right: 13%;
	}

	#property .slide-wrap {
		left: 13%;
	}
}

@media screen and (min-width: 1551px) {
	.property-wrap .top-img-wrap_property {
		left: 17%;
	}
}

@media screen and (min-width: 1751px) {
	.property-wrap .text-wrap {
    padding-left: 200px;
	}

	.property-wrap .text-wrap .text01 {
    max-width: 740px;
	}

	.property-wrap .top-img-wrap_property {
    width: 30%;
	}
}

@media screen and (min-width: 1851px) {
	.property-wrap .top-img-wrap_property {
		left: 20%;
    width: 23%;
	}
}

@media screen and (max-width: 1920px) {
	.design-wrap .text-wrap {
		padding-left: 10%;
	}

	.property-wrap .text-wrap {
		padding-right: 10%;
	}

	#design .slide-wrap {
    right: 7%;
	}

	#property .slide-wrap {
    left: 5%;
	}
}

@media screen and (max-width: 1800px) {
	.bg-illust_top03 {
    bottom: -45%;
    left: -2%;
    width: 47%;
	}

	.bg-illust_top05 {
    bottom: 40%;
	}

	.bg-illust_top06 {
		bottom: 15%;
		width: 30%;
	}

	.design-wrap .text-wrap {
		padding-left: 5%;
	}

	.property-wrap .text-wrap {
		padding-right: 5%;
	}

	#design .slide-wrap {
    right: 5%;
	}

	.design-wrap {
    padding-bottom: 240px;
	}

	.property-wrap {
    padding-bottom: 330px;
	}
}

@media screen and (max-width: 1600px) {
	.bg-illust_top03 {
    bottom: -35%;
	}
}

@media screen and (max-width: 1520px) {
	.bg-illust_top01 {
		width: 37%;
	}

	.bg-illust_top02 {
		width: 33%;
	}

	.bg-illust_top06 {
		bottom: 30%;
		width: 25%;
	}

	#design .slide-wrap {
    right: 100px;
	}

	#property .slide-wrap {
    left: 100px;
	}

	.property-wrap .text-wrap {
    padding-left: 100px;
	}
}

@media screen and (max-width: 1350px) {
	.design-wrap .text-wrap {
		padding-left: 50px;
	}

	.property-wrap .text-wrap {
		padding-right: 50px;
	}
}

@media screen and (max-width: 1300px) {
	.bg-illust_top04 {
		bottom: 45%;
	}

	.design-wrap {
    padding-bottom: 180px;
	}

	.property-wrap {
    padding-bottom: 270px;
	}

	.slide-wrap {
    max-width: 800px;
	}

	#design .slide-wrap {
    right: 70px;
	}

	#property .slide-wrap {
    left: 70px;
	}

	.slide-button-prev {
	  left: -50px;
	}

	.slide-button-next {
	  right: -50px;
	}
}

@media screen and (max-width: 1250px) {
	.bg-illust_top01 {
    width: 40%;
	}
}

@media screen and (max-width: 1200px) {
	.bg-illust_top02 {
		right: 20px;
		width: 35%;
	}

	.property-wrap .top-img-wrap_property {
    left: 100px;
	}
}

@media screen and (max-width: 1150px) {
	.bg-illust_top04 {
		bottom: 40%;
	}

	.slide-wrap {
    max-width: 700px;
	}

	.design-wrap {
    padding-bottom: 140px;
	}

	.property-wrap {
    padding-bottom: 220px;
	}

	.property-wrap .top-img-wrap_property {
    left: 50px;
	}
}

@media screen and (max-width: 1050px) {
	.property-wrap .top-img-wrap_property {
    left: 20px;
	}
}

@media screen and (max-width: 1024px) {
	.bg-illust_top02 {
		width: 38%;
	}

	.bg-illust_top03 {
		width: 35%;
	}

	.bg-illust_top05 {
    bottom: 35%;
		left: 20px;
		width: 20%;
	}

	.bg-illust_top06 {
		bottom: 40%;
	}

	#message .heading_img img {
    height: 80px;
	}

	#design .heading_img img {
    height: 66px;
	}

	#property .heading_img img {
    height: 65px;
	}

	#news .heading_img img {
    height: 61px;
	}

	.bnr-wrap .inner.company .heading_img img {
    height: 65px;
	}

	.bnr-wrap .inner.recruit .heading_img img {
    height: 50px;
	}

	.design-wrap,
	.property-wrap,
	.news-wrap {
    margin-top: 100px;
	}

	.design-wrap,
	.property-wrap {
    padding-bottom: 0;
	}

	.property-wrap .top-img-wrap_property {
    position: relative;
    bottom: auto;
    left: auto;
		margin-top: -40px;
		width: 40%;
	}

	.design-wrap .text-wrap {
    padding-right: 50px;
	}

	.slide-wrap {
    max-width: 85% !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		margin: 0 auto;
  	margin-top: -60px;
	}

	.news-wrap {
    padding: 70px 50px;
	}

	.news-wrap .inner {
    padding: 30px;
	}

	.bnr-wrap .inner {
    height: 400px;
	}
}

@media screen and (max-width: 850px) {
	.bg-illust_top03 {
    bottom: -25%;
		width: 50%;
	}

	.bg-illust_top04 {
		bottom: -8%;
		right: 20px;
	}

	.bg-illust_top06 {
		bottom: 35%;
	}
}

@media screen and (max-width: 768px) {
	.mv .mv-catch {
		right: 100px;
		font-size: 1.875rem;
	}

	.bg-illust_top01 {
    width: 50%;
	}

	.bg-illust_top02 {
		width: 40%;
	}

	.bg-illust_top04 {
		width: 20%;
	}

	.bg-illust_top05 {
    bottom: 35%;
	}

	.bg-illust_top06 {
		bottom: 40%;
		width: 35%;
	}

	#message .heading_img img {
    height: 68px;
	}

	#design .heading_img img {
    height: 56px;
	}

	#property .heading_img img {
    height: 55px;
	}

	.property-wrap .top-img-wrap_property {
    width: 55%;
		margin-top: -50px;
	}

	#news .heading_img img {
    height: 52px;
	}

	.bnr-wrap .inner.company .heading_img img {
    height: 55px;
	}

	.bnr-wrap .inner.recruit .heading_img img {
    height: 42px;
	}

	.design-wrap .text-wrap,
	.property-wrap .text-wrap {
    padding-top: 60px;
		padding-left: 30px;
		padding-right: 30px;
	}

	.design-wrap .text-wrap .text01,
	.property-wrap .text-wrap .text01 {
		font-size: .875rem;
	}

	.slide-wrap {
    max-width: 75% !important;
	}

	.news-wrap {
    padding: 70px 20px;
	}

	.news-wrap .inner ul > li,
	.news-wrap .inner ul > li .date,
	.news-wrap .inner ul > li .ttl {
    display: block;
	}

	.news-wrap .inner ul > li {
		margin: 0;
		padding: 1em 0;
		border-top: 1px dotted #54302e;
	}

	.news-wrap .inner ul > li:last-child {
		border-bottom: 1px dotted #54302e;
	}

	.news-wrap .inner ul > li .date {
		font-size: .875rem;
		margin-bottom: .3em;
	}

	.bnr-wrap .inner {
    height: 300px;
	}

	.bnr-wrap .inner .heading_img .icon {
    width: 55px !important;
    height: 55px !important;
	}
}

@media screen and (max-width: 650px) {
	.mv .mv-catch {
		right: 50px;
	}

	#message .heading_img img {
    height: 62px;
	}

	#message p {
		font-size: .875rem;
	}

	#design .heading_img img {
    height: 41px;
	}

	#property .heading_img img {
    height: 50px;
	}

	#news .heading_img img {
    height: 47px;
	}

	.bnr-wrap .inner.company .heading_img img {
    height: 50px;
	}

	.bnr-wrap .inner.recruit .heading_img img {
    height: 38px;
	}

	.design-wrap .text-wrap, .property-wrap .text-wrap {
    width: 90%;
	}
}

@media screen and (max-width: 568px) {
	.bg-illust_top02 {
		width: 45%;
	}

	.bg-illust_top04 {
		bottom: -10%;
		width: 25%;
	}
}

@media screen and (max-width: 480px) {
	.mv .mv-catch {
		right: 30px;
		font-size: 1.5625rem;
	}

	.bg-illust_top01 {
    width: 60%;
	}

	.bg-illust_top02 {
		bottom: -5%;
		right: 10px;
		width: 52%;
	}

	.bg-illust_top04 {
		bottom: -7%;
	}

	.bg-illust_top05 {
    bottom: 30%;
	}

	.bg-illust_top06 {
    bottom: 35%;
	}

	#design .heading_img img {
    height: 36px;
	}

	.heading_img .sub {
    font-size: .75rem;
	}

	.design-wrap,
	.property-wrap,
	.news-wrap {
    margin-top: 90px;
	}

	.slide-wrap {
    max-width: 65% !important;
	}

	.slide-button-prev {
    left: -40px;
	}

	.slide-button-next {
    right: -40px;
	}

	.news-wrap .inner {
    padding: 30px 20px;
	}

	.bnr-wrap .inner {
    height: 250px;
	}
}

@media screen and (max-width: 400px) {
	.bg-illust_top05 {
    bottom: 25%;
		width: 30%;
	}

	#message .heading_img img {
    height: 50px;
	}

	#design .heading_img img {
    height: 28px;
	}

	#property .heading_img img {
    height: 40px;
	}

	#news .heading_img img {
    height: 38px;
	}

	.bnr-wrap .inner.company .heading_img img {
    height: 40px;
	}

	.bnr-wrap .inner.recruit .heading_img img {
    height: 31px;
	}
}

@media screen and (max-width: 375px) {
	.mv .mv-catch {
		right: 20px;
	}

	.bg-illust_top03 {
    bottom: -20%;
	}
}

@media screen and (max-width: 350px) {
	.bg-illust_top03 {
    bottom: -15%;
	}

	.bg-illust_top04 {
		bottom: -6%;
		width: 35%;
	}

	#design .heading_img img {
    height: 24px;
	}
}

/************************************
** pages
************************************/
.page-mv {
	width: 100%;
	height: 350px;
	background: #f5f5f5;
}

.greeting .page-mv {
	background: #fff url(../img/page/mv-bg_greeting.png) no-repeat center center/cover;
}

.corporate .page-mv {
	background: #fff url(../img/page/mv-bg_corporate.png) no-repeat center center/cover;
}

.business .page-mv {
	background: #fff url(../img/page/mv-bg_business.png) no-repeat center center/cover;
}

.architectural-design-and-construction .page-mv {
	background: #fff url(../img/page/mv-bg_architectural-design-and-construction.png) no-repeat center center/cover;
}

.reform_renovation_housing-renovation .page-mv {
	background: #fff url(../img/page/mv-bg_reform_renovation_housing-renovation.png) no-repeat center center/cover;
}

.real-estate-development_land-sales .page-mv {
	background: #fff url(../img/page/mv-bg_real-estate-development_land-sales.png) no-repeat center center/cover;
}

.hotel .page-mv {
	background: #fff url(../img/page/mv-bg_hotel.png) no-repeat center center/cover;
}

.recruit .page-mv {
	background: #fff url(../img/page/mv-bg_recruit.png) no-repeat center center/cover;
}

.download .page-mv {
	background: #fff url(../img/page/mv-bg_download.png) no-repeat center center/cover;
}

.contact .page-mv {
	background: #fff url(../img/page/mv-bg_contact.png) no-repeat center center/cover;
}

.privacy-policy .page-mv {
	background: #fff url(../img/page/mv-bg_privacy-policy.png) no-repeat center center/cover;
}

.page-ttl {
	font-size: 1.5625rem;
	font-weight: 400;
	text-align: center;
	line-height: 1;
	letter-spacing: .1em;
	margin: 0 auto;
	margin-bottom: 2em;
}

.page-ttl .sub {
	font-size: .75rem;
	color: #f8b400;
	margin-top: 1.2em;
	display: block;
}

/* greeting */
.bg-illust_greeting01 {
	top: -20px;
	left: 120px;
	width: 80px;
}

.greeting-wrap {
	margin-top: 70px;
}

.greeting-wrap p {
	line-height: 2;
}

.greeting-wrap .name_greeting {
	font-weight: 500;
	text-align: right;
	line-height: 1;
	margin: 0 0 0 auto;
	margin-top: 1em;
}

.img-wrap_greeting01 img {
	height: auto;
}

/* business */
.bg-illust_business01 {
	bottom: 8%;
	right: 10%;
	width: 90px;
}

.bg_business {
	position: relative;
}

.bg_business:before {
	position: absolute;
  top: 50%;
  left: 0;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	content: "";
	width: 100%;
	height: 43%;
	background: #f9f4e3;
}

ul.business-list li a {
	display: block;
}

ul.business-list li .img-wrap {
  overflow: hidden;
}

ul.business-list li a:hover .img-wrap img {
  transform: scale(1.1);
}

ul.business-list li .img-wrap .label {
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: .875rem;
	color: #fff;
	line-height: 1;
  margin: 0;
	padding: .7em 1.5em .6em;
	background: #f7b300;
	border-radius: 0 15px 0 0;
	display: table;
}

/* estate */
.bg-illust_estate01 {
	top: -20px;
	right: -140px;
	width: 90px;
}

.estate-wrap01 {
	position: relative;
}

.estate-wrap01 p {
	line-height: 2;
	margin: 0;
}

.estate-wrap02 {
	margin-top: 100px;
}

ul.estate-list > li .box {
	background: #faf5e4;
	padding: 20px;
}

ul.estate-list > li .box .img-wrap_estate {
  position: relative;
  width: 100%;
}

ul.estate-list > li .box .img-wrap_estate:before {
  content:"";
  display: block;
  padding-top: 141.25%;
}

ul.estate-list > li .box .img-wrap_estate img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
	pointer-events: none;
}

ul.estate-list > li .box .name {
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
	margin-top: 1em;
}

ul.estate-list > li .box .btn {
	font-size: .875rem;
	color: #fff;
	line-height: 1;
	text-decoration: none;
	border: 1px solid #f8b400;
	border-radius: 15px;
	margin: 0 0 0 auto;
	margin-top: 20px;
	padding: .6em 1.5em .5em;
	background: #f8b400;
	display: table;
	transition: all .4s;
}

ul.estate-list > li .box .btn:hover {
	color: #f8b400;
	background: #fff;
}

.real-estate-development_land-sales .link-btn01 {
	margin-top: 70px;
}

/* reform */
.reform_renovation_housing-renovation .page-ttl {
	line-height: 1.5;
}

.reform-wrap01 {
	margin-top: 100px;
}

.reform-box {
	background: #faf5e4;
	margin-top: 70px;
	padding: 40px;
}

.reform-box .ttl {
	font-size: 1.125rem;
	font-weight: 500;
	text-align: center;
	margin: 0 auto 1em;
}

.reform-box ul {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

.reform-box ul > li {
  font-size: 1rem;
  margin: 2%;
  display: inline-block;
  vertical-align: top;
}

.reform-box ul > li .img-wrap_reform {
  padding: 10px;
	background: #fff;
}

.reform-box ul > li .img-wrap_reform .inner {
  position: relative;
  width: 100%;
  line-height: 0;
}

.reform-box ul > li .img-wrap_reform .inner:before {
  content:"";
  display: block;
  padding-top: 70.625%;
}

.reform-box ul > li .img-wrap_reform .inner img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  pointer-events: none;
}

.reform_renovation_housing-renovation .link-btn01 {
	margin-top: 100px;
}

/* hotel */
.hotel-wrap01 {
	margin-top: 100px;
}

ul.hotel-list > li .box {
	background: #faf5e4;
	padding: 20px;
}

ul.hotel-list > li .box .inner {
	background: #fff;
	display: flex;
	width: 100%;
}

ul.hotel-list > li .box .img-wrap_hotel {
	position: relative;
	display: inline-block;
	width: 40%;
	height: 255px;
}

ul.hotel-list > li .box .img-wrap_hotel img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
	pointer-events: none;
}

ul.hotel-list > li .box .text-wrap {
	display: inline-block;
	padding: 30px;
	width: 60%;
}

ul.hotel-list > li .box .text-wrap .name {
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
	margin-bottom: 1em;
}

ul.hotel-list > li .box .text-wrap .info {
	font-size: .875rem;
	margin: 0;
	margin-top: 1em;
}

ul.hotel-list > li .box .text-wrap .btn {
	font-size: .875rem;
	color: #fff;
	line-height: 1;
	text-decoration: none;
	border: 1px solid #f8b400;
	border-radius: 15px;
	margin: 0 0 0 auto;
	margin-top: 20px;
	padding: .6em 1.5em .5em;
	background: #f8b400;
	display: table;
	transition: all .4s;
}

ul.hotel-list > li .box .text-wrap .btn:hover {
	color: #f8b400;
	background: #fff;
}

.hotel .link-btn01 {
	margin-top: 70px;
}

/* contact */
.bg-illust_contact01 {
	bottom: 97%;
	right: 10px;
	width: 110px;
}

/* privacy-policy */
.policy-wrap {
	position: relative;
	margin-top: 70px;
}

.bg-illust_policy01 {
	bottom: -70px;
	right: -80px;
	width: 180px;
}

.policy-wrap p {
	line-height: 2;
	margin: 0;
	margin-top: 2em;
}

@media screen and (min-width: 569px) {
	ul.estate-list > li .box,
	ul.estate-list > li .box .inner {
		height: 100%;
	}
}

@media screen and (min-width: 769px) {
	ul.hotel-list > li .box,
	ul.hotel-list > li .box .inner {
		height: 100%;
	}

	.reform-box ul > li {
	  width: 48%;
	}

	.reform-box ul > li:nth-child(odd) {
	  margin-left: 0;
	}

	.reform-box ul > li:nth-child(even) {
	  margin-right: 0;
	}
}

@media screen and (max-width: 1440px) {
	.bg-illust_business01 {
		right: 4%;
	}
}

@media screen and (max-width: 1350px) {
	.bg-illust_business01 {
		right: 10px;
		bottom: 30px;
	}
}

@media screen and (max-width: 1024px) {
	.page-mv {
    height: 300px;
	}

	.bg-illust_estate01 {
    top: -90px;
    right: -10px;
    width: 70px;
	}

	ul.hotel-list > li .box .inner,
	ul.hotel-list > li .box .img-wrap_hotel,
	ul.hotel-list > li .box .text-wrap {
    display: block;
		width: 100%;
	}

	ul.hotel-list > li .box .img-wrap_hotel {
		height: auto;
	}

	ul.hotel-list > li .box .img-wrap_hotel:before {
    content:"";
    display: block;
    padding-top: 71%;
	}

	ul.hotel-list > li .box .img-wrap_hotel img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	}
}

@media screen and (max-width: 768px) {
	.page-ttl {
		font-size: 1.375rem;
	}

	.bg-illust_greeting01 {
		left: 50px;
		width: 70px;
	}

	.img-wrap_greeting01 {
		max-width: 400px;
		margin: 0 auto;
		margin-top: 20px;
	}

	.bg_business:before {
		width: 25%;
		height: 90%;
	}

	.bg-illust_business01 {
		right: -30px;
	}

	.estate-wrap02 {
    margin-top: 50px;
	}

	.reform-wrap01 {
    margin-top: 70px;
	}

	.reform-box {
    margin-top: 50px;
	}

	.reform-box ul > li {
	  width: 100%;
	  margin: 0 0 40px;
	}

	.reform-box ul > li:last-child {
	  margin: 0 !important;
	}

	.reform_renovation_housing-renovation .link-btn01 {
		margin-top: 70px;
	}

	.hotel-wrap01 {
		margin-top: 70px;
	}

	.policy-wrap {
		margin-top: 50px;
	}

	.bg-illust_policy01 {
		bottom: -70px;
		right: -15px;
		width: 150px;
	}
}

@media screen and (max-width: 568px) {
	.policy-wrap {
		padding-bottom: 100px;
	}

	.reform-box {
    padding: 30px 20px 20px;
	}

	.reform-box ul > li {
    margin: 0 0 20px;
	}

	.bg-illust_policy01 {
		bottom: 0;
		right: 0;
		width: 130px;
	}
}

@media screen and (max-width: 480px) {
	.bg-illust_greeting01 {
		left: 20px;
		width: 60px;
	}

	.bg-illust_estate01 {
    top: -65px;
    right: -25px;
    width: 55px;
	}

	.page-ttl {
    font-size: 1.125rem;
	}

	ul.hotel-list > li .box {
    padding: 10px;
	}

	ul.hotel-list > li .box .text-wrap {
		padding: 20px;
	}

	.bg-illust_contact01 {
		width: 90px;
	}
}

@media screen and (max-width: 375px) {
	.page-ttl .sub {
		letter-spacing: .1em;
	}

	.bg_business:before {
		width: 20%;
		height: 80%;
	}

	ul.business-list li .img-wrap .label {
		font-size: .75rem;
	}
}

@media screen and (max-width: 350px) {
	.bg-illust_contact01 {
		width: 80px;
	}
}

/************************************
** single
************************************/
.post-wrap_single .post-date {
	font-size: .875rem;
	line-height: 1;
	margin: 0;
	margin-bottom: 1.5em;
}

.post-wrap_single .post-ttl {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
	padding-bottom: .7em;
	border-bottom: 1px solid #f8b400;
}

.post-wrap_single .eyecatch {
	margin: 30px 0 40px;
}

.post-wrap_single .eyecatch img {
	height: auto;
}

.post-wrap_single .post-content p {
	margin: 0 0 2em;
}

.post-wrap_single .link-btn02 {
	margin-top: 70px;
}

/************************************
** breadcrumb
************************************/
#breadcrumb {
  width: 100%;
	padding: .5em 0;
	background: #fff;
  border-top: 1px solid #d6d6d6;
}

#breadcrumb ul {
  list-style: none;
  margin: 0;
	padding: 0;
  display: inline-block;
}

#breadcrumb ul > li {
  position: relative;
  margin: 0;
  margin-right: 2em;
  display: inline-block;
}

#breadcrumb ul > li:after {
  position: absolute;
  top: 50%;
  right: -1.2em;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  font-family: FontAwesome;
  content: "\f105";
}

#breadcrumb ul > li:last-child {
  margin-right: 0;
}

#breadcrumb ul > li:last-child:after {
  display: none;
}

#breadcrumb ul > li,
#breadcrumb ul > li a {
  font-size: .875rem;
	color: #3c3c3c;
  line-height: 1.6;
}

#breadcrumb ul > li a {
  text-decoration: none;
  transition: all .4s;
}

#breadcrumb ul > li a:hover {
  text-decoration: underline;
  opacity: .7;
}

@media screen and (max-width: 480px) {
  #breadcrumb ul > li,
  #breadcrumb ul > li a {
    font-size: .75rem;
  }
}

/************************************
** display
************************************/
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

/************************************
** layout
************************************/
.container600,
.container700,
.container1040 {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.container600 {
    max-width: 600px;
}
.container700 {
    max-width: 700px;
}
.container1040 {
    max-width: 1040px;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

.center-left {
    display: table;
    margin: 0 auto;
}

.row,
.row2 {
	display:-webkit-box;
  display: -webkit-flex;
  display:-ms-flexbox;
  display: flex;
  -webkit-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.col-1 {flex:1;}
.col-2 {flex:2;}
.col-3 {flex:3;}
.col-4 {flex:4;}
.col-5 {flex:5;}
.col-6 {flex:6;}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6 {
  margin: 20px;
}

.order-1 {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}
.order-2 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}

@media screen and (min-width: 569px) {
	.row2 > div:first-child {
	    margin-left: 0 !important;
	}
	.row2 > div:last-child {
	    margin-right: 0 !important;
	}
}

@media screen and (min-width: 769px) {
	.row > div:first-child {
	    margin-left: 0 !important;
	}
	.row > div:last-child {
	    margin-right: 0 !important;
	}
}

@media screen and (max-width: 1080px) {
	.container1040 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 740px) {
	.container700 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 768px) {
	.row {
	   -webkit-flex-direction: column;
	   flex-direction: column;
	}

  .row .col-1,
	.row .col-2,
	.row .col-3,
	.row .col-4,
	.row .col-5,
	.row .col-6 {
	    margin: 20px 0;
	}

  .row .order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .row .order-2 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 640px) {
	.container600 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 568px) {
  .row2 {
     -webkit-flex-direction: column;
     flex-direction: column;
  }

  .row2 .col-1,
	.row2 .col-2,
	.row2 .col-3,
	.row2 .col-4,
	.row2 .col-5,
	.row2 .col-6 {
	    margin: 20px 0;
	}

  .row2 .order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .row2 .order-2 {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
}

/************************************
** background
************************************/
.bg_wh {
  position: relative;
  background: #fff;
}
.bg_wh01 {
  padding: 100px 0 150px;
}
.bg_wh02 {
  padding: 170px 0 150px;
}

.bg_ylw {
  position: relative;
  background: #faf5e4;
}
.bg_ylw01 {
  padding: 100px 0 70px;
}
.bg_ylw02 {
  padding: 100px 0;
}

.bg-illust {
	position: absolute;
	height: auto;
	display: block;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
  .bg_wh01 {
    padding: 70px 0 100px;
  }
	.bg_wh02 {
	  padding: 120px 0 100px;
	}

	.bg_ylw01 {
	  padding: 70px 0 50px;
	}
}

/************************************
** box
************************************/
.box_ylw {
	position: relative;
	background: #faf5e4;
}
.box_ylw01 {
	padding: 30px 40px;
}
.box_ylw02 {
	padding: 60px 100px;
}

.box_ylw p {
	font-size: .875rem;
	color: #7f7e81;
	margin: 0;
}

@media screen and (max-width: 768px) {
	.box_ylw01 {
		padding: 20px;
	}
	.box_ylw02 {
		padding: 60px 50px 40px;
	}
}

@media screen and (max-width: 568px) {
	.box_ylw02 {
		padding: 60px 20px 40px;
	}
}

/************************************
** text
************************************/
.ta-l {
    text-align: left;
}

.ta-c {
    text-align: center;
}

.ta-r {
    text-align: right;
}

.lh-2 {
	line-height: 2;
}

@media screen and (min-width: 769px) {
  .ta-l_pc {
    text-align: left;
  }

  .ta-c_pc {
    text-align: center;
  }

  .ta-r_pc {
    text-align: right;
  }
}

/************************************
** heading
************************************/
.heading_band01 {
	font-size: 1.25rem;
	font-weight: 400;
	color: #fff;
	text-align: center;
	margin: 0;
	margin-bottom: 2em;
	padding: .5em 1em;
	border-radius: 25px;
	background: #f8b400;
}

.heading_mid01 {
	font-size: 1.125rem;
	font-weight: 400;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 1em;
}

.heading_img {
	text-align: center;
	color: #54302e;
	line-height: 1;
	margin-top: 0;
	margin-bottom: 1.7em;
}

.heading_img img,
.heading_img .sub {
	display: block;
}

.heading_img img {
	width: auto;
	margin: 0 auto;
	pointer-events: none;
}

.heading_img .sub {
	font-size: .875rem;
	margin-top: 1em;
}

/************************************
** list
************************************/
ul.list_pc-2col {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
	display:-webkit-box;
  display:-moz-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  vertical-align: top;
  width: 100%;
}

ul.list_pc-2col > li {
  font-size: 1rem;
  margin: 2%;
  vertical-align: top;
}

ul.list_pc-2col > li .img-wrap {
  position: relative;
  width: 100%;
  line-height: 0;
}

ul.list_pc-2col > li .img-wrap:before {
  content:"";
  display: block;
  padding-top: 70.625%;
}

ul.list_pc-2col > li .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  pointer-events: none;
	transition: all .7s;
}

ul.list_pc-3col {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
	display:-webkit-box;
  display:-moz-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  width: 100%;
  vertical-align: top;
}

ul.list_pc-3col > li {
  font-size: 1rem;
  margin: 2%;
  vertical-align: top;
}

@media screen and (min-width: 769px) {
	ul.list_pc-2col > li {
	  width: 48%;
	}

	ul.list_pc-2col > li:first-child,
	ul.list_pc-2col > li:nth-child(odd) {
	  margin-left: 0;
	}

	ul.list_pc-2col > li:last-child,
	ul.list_pc-2col > li:nth-child(even) {
	  margin-right: 0;
	}
}

@media screen and (min-width: 1025px) {
  ul.list_pc-3col > li {
    width: 30.6%;
  }

  ul.list_pc-3col > li:nth-child(1),
  ul.list_pc-3col > li:nth-child(4),
  ul.list_pc-3col > li:nth-child(7),
	ul.list_pc-3col > li:nth-child(10),
	ul.list_pc-3col > li:nth-child(13),
	ul.list_pc-3col > li:nth-child(16),
	ul.list_pc-3col > li:nth-child(19),
	ul.list_pc-3col > li:nth-child(22),
	ul.list_pc-3col > li:nth-child(25),
	ul.list_pc-3col > li:nth-child(28),
  ul.list_pc-3col > li:first-child {
    margin-left: 0;
  }

  ul.list_pc-3col > li:nth-child(3),
  ul.list_pc-3col > li:nth-child(6),
  ul.list_pc-3col > li:nth-child(9),
	ul.list_pc-3col > li:nth-child(12),
	ul.list_pc-3col > li:nth-child(15),
	ul.list_pc-3col > li:nth-child(18),
	ul.list_pc-3col > li:nth-child(21),
	ul.list_pc-3col > li:nth-child(24),
	ul.list_pc-3col > li:nth-child(27),
	ul.list_pc-3col > li:nth-child(30),
  ul.list_pc-3col > li:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 569px) and (max-width: 1024px) {
  ul.list_pc-3col > li {
    width: 48%;
  }

  ul.list_pc-3col > li:first-child,
  ul.list_pc-3col > li:nth-child(odd) {
    margin-left: 0;
  }

  ul.list_pc-3col > li:last-child,
  ul.list_pc-3col > li:nth-child(even) {
    margin-right: 0;
    -moz-transition-delay: 400ms;
    -webkit-transition-delay: 400ms;
    -o-transition-delay: 400ms;
    -ms-transition-delay: 400ms;
  }
}

@media screen and (max-width: 768px) {
	ul.list_pc-2col > li {
	  margin: 0 0 40px;
	  width: 100%;
	}

	ul.list_pc-2col > li:last-child {
	  margin: 0;
	}
}

@media screen and (max-width: 568px) {
  ul.list_pc-3col > li {
    width: 100%;
    margin: 0 0 40px;
  }

  ul.list_pc-3col > li:last-child {
    margin: 0;
  }
}

/************************************
** image
************************************/
.img-wrap {
	line-height: 0;
}

.img-wrap img {
	width: 100%;
	display: block;
	pointer-events: none;
}

/************************************
** link
************************************/
.link-btn01 {
  position: relative;
	font-size: 1.5625rem;
  color: #fff;
  text-align: center;
	letter-spacing: .1em;
  text-decoration: none;
  line-height: 1.5;
  width: 100%;
  max-width: 550px;
  border: 1px solid #f8b400;
  background: #f8b400;
  display: table;
  margin: 0 auto;
	padding: 1em 60px;
  transition: all .4s;
}

.link-btn01:after {
	position: absolute;
  top: 50%;
  right: 30px;
  -ms-transform: translate(0,-50%);
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
	content: "";
	width: 25px;
	height: 25px;
	display: block;
	background: transparent url(../img/common/arrow_wh.svg) no-repeat center center/contain;
	transition: all .4s;
}

.link-btn01:hover {
  color: #f8b400;
  background: #fff;
}

.link-btn01:hover:after {
	background: transparent url(../img/common/arrow_org.svg) no-repeat center center/contain;
}

.link-btn02 {
	font-weight: 500;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  width: 100%;
  max-width: 200px;
  border: 1px solid #f8b400;
	border-radius: 21px;
  background: #f8b400;
  display: table;
  margin: 0 auto;
	padding: .7em 1em .6em;
  transition: all .4s;
}

.link-btn02:hover {
  color: #f8b400;
	background: #fff;
}

.link-btn03 {
	font-weight: 500;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  width: 100%;
  max-width: 140px;
  border: 1px solid #f8b400;
	border-radius: 18px;
  background: #f8b400;
  display: table;
  margin: 0 auto;
	padding: .7em 1em .6em;
  transition: all .4s;
}

.link-btn03:hover {
  color: #f8b400;
	background: #fff;
}

@media screen and (max-width: 768px) {
	.link-btn01 {
	  font-size: 1.375rem;
		padding: 1em 50px;
	  transition: all .4s;
	}

	.link-btn01:after {
		right: 20px;
	  width: 20px;
		height: 20px;
	}
}

@media screen and (max-width: 480px) {
	.link-btn01 {
	  font-size: 1.25rem;
	}
}

@media screen and (max-width: 350px) {
	.link-btn01 {
	  font-size: 1rem;
	}
}

/************************************
** table
************************************/
table.table_tr {
  width: 100%;
}

table.table_tr,
table.table_tr tr,
table.table_tr tr th,
table.table_tr tr td {
  background: transparent !important;
  border: 0 !important;
}

table.table_tr tr th,
table.table_tr tr td {
  text-align: left;
  padding: 1em 0;
  vertical-align: top;
}

table.table_tr tr th {
	font-weight: 500;
  width: 25%;
  padding-right: 1em;
}

@media screen and (max-width: 768px) {
  table.table_tr tr th,
  table.table_tr tr td {
    width: 100%;
    display: block;
  }

  @media screen and (max-width: 768px) {
    table.table_tr tr th,
    table.table_tr tr td {
      width: 100%;
      display: block;
    }

    table.table_tr tr th {
      padding-right: 0;
      padding-bottom: .2em;
    }

    table.table_tr tr td {
      padding-top: .2em;
    }
  }
}

/************************************
** margin
************************************/
.m-0 {
	margin: 0 !important;
}

.mt-0 {
	margin-top: 0 !important;
}
.mt-10 {
	margin-top: 10px !important;
}
.mt-20 {
	margin-top: 20px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mt-40 {
	margin-top: 40px !important;
}
.mt-50 {
	margin-top: 50px !important;
}
.mt-60 {
	margin-top: 60px !important;
}
.mt-70 {
	margin-top: 70px !important;
}
.mt-80 {
	margin-top: 80px !important;
}
.mt-90 {
	margin-top: 90px !important;
}
.mt-100 {
	margin-top: 100px !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
.mb-30 {
	margin-bottom: 30px !important;
}
.mb-40 {
	margin-bottom: 40px !important;
}
.mb-50 {
	margin-bottom: 50px !important;
}
.mb-60 {
	margin-bottom: 60px !important;
}
.mb-70 {
	margin-bottom: 70px !important;
}
.mb-80 {
	margin-bottom: 80px !important;
}
.mb-90 {
	margin-bottom: 90px !important;
}
.mb-100 {
	margin-bottom: 100px !important;
}

/************************************
** animation
************************************/
.fadein {
  opacity : 0;
  transition : .7s all;
}

.fadein.ttb {
	transform : translate(0, -40px);
}
.fadein.btt {
	transform : translate(0, 40px);
}
.fadein.ltr {
	transform : translate(-40px, 0);
}
.fadein.rtl {
	transform : translate(40px, 0);
}

.fadein.scrollin {
  opacity : 1;
}

.fadein.ttb.scrollin,
.fadein.btt.scrollin,
.fadein.ltr.scrollin,
.fadein.rtl.scrollin {
	transform : translate(0, 0) !important;
}

.fadein02 {
	-moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
.fadein03 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}
.fadein04 {
  -moz-transition-delay: 800ms;
  -webkit-transition-delay: 800ms;
  -o-transition-delay: 800ms;
  -ms-transition-delay: 800ms;
}
.fadein05 {
  -moz-transition-delay: 1000ms;
  -webkit-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms;
}
.fadein06 {
  -moz-transition-delay: 1200ms;
  -webkit-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms;
}

@media screen and (max-width: 768px) {
  .fadein02,
  .fadein03,
  .fadein04,
  .fadein05,
  .fadein06 {
    -moz-transition-delay: 0s;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    -ms-transition-delay: 0s;
  }
}

/************************************
** customize
************************************/
@supports (-webkit-touch-callout: none) {
  .mv {
    height: -webkit-fill-available;
  }
}
