@charset "UTF-8";

/*----------------------------------------------------------------
	Noto Sans JP weight
	300: Light
	400: Regular
	500: Medium
	700: Bold
----------------------------------------------------------------*/

/*----------------------------------------------------------------
  HTML Elements
  ----------------------------------------------------------------*/
*, *::after, *::before {
	box-sizing: border-box;
}

html {
	font: 400 62.5% / 1.5 "Noto Sans JP", sans-serif;
}

body {
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #000;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

h1, h2, h3, p, ol, ul, li, dl, dt, dd, figure {
	margin: 0;
	padding: 0;
}

address {
	display: block;
	font-style: normal;
}

iframe {
	display: block;
	width: 100%;
	border: none;
}

input, select, textarea {
	font-family: inherit;
}

textarea {
	display: block;
	resize: vertical;
	width: 100%;
}

input:focus,
select:focus,
textarea:focus {
	outline: none;
}

/*----------------------------------------------------------------
  Common Styles
  ----------------------------------------------------------------*/
.btn-green {
	display: block;
	position: relative;
	background-color: #126f90;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border-radius: 35px;
}

.btn-green::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: -165px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

.btn-orange {
/*	background-color: #ffa200;*/
	background-color: #126f90;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #fff;
}
.top_contents .box1 .btn::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	/* left: 0; */
	right: calc(20/1366 * 100vw);
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}
@media screen and (max-width: 1024px) {
	.top_contents .box1 .btn::after {
		right: calc(30/750 * 100vw);
	}
}
@media screen and (min-width: 1367px) {
	.top_contents .box1 .btn::after {
		right: calc(20/1 * 1px);
	}
}
.c-inherit {
	color: inherit;
}

.cur-p:hover,
.cur-p:active {
	cursor: pointer;
}

.fw-b {
	font-weight: 700;
}

.hover-op {
	opacity: 1;
	transition: opacity 0.3s;
}

.hover-op:hover,
.hover-op:active {
	opacity: 0.7;
}

.hover-text-large {
	display: inline-block;
}

.hover-text-large:hover,
.hover-text-large:active {
	animation: textPopUp 0.5s ease;
}

.hover-ul {
	text-decoration: none;
}

.hover-ul:hover,
.hover-ul:active {
	text-decoration: underline;
}

.marker-kakko {
	counter-reset: mk;
	margin: 0 0 25px 1.6rem;
}

.marker-kakko li {
	position: relative;
	counter-increment: mk;
	padding-left: 40px;
}

.marker-kakko li::before {
	content: "("counter(mk)")";
	position: absolute;
	top: 0;
	left: 0;
}

.no-marker {
	list-style-type: none;
}
@media only screen and (max-width: 1024px) {
	.no-marker {
		list-style-type: none;
		order: 1
	}	
}
.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pagination li {
	margin: 0 5px 5px;
}

.pagination-arrow {
	width: 26px;
}

.pagination a {
	display: block;
	min-width: 26px;
	padding: 0 5px;
	border: 1px solid #27520e;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.3s;
}

.pagination-number a,
.pagination-arrow a:hover,
.pagination-arrow a:active {
	background-color: #fff;
	color: #27520e;
}

.pagination-arrow a,
.pagination-number .current,
.pagination-number a:hover,
.pagination-number a:active {
	background-color: #27520e;
	color: #fff;
}

.ta-c {
	text-align: center;
}

.ta-r {
	text-align: right;
}

.w-25 {
	width: 25%;
}

.w-45 {
	width: 45%;
}

.w-50 {
	width: 50%;
}

.w-100 {
	width: 100%;
}

@keyframes textPopUp {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.1);
	}

	100% {
		transform: scale(1);
	}
}

/*----------------------------------------------------------------
  Home
  ----------------------------------------------------------------*/
.top-slider-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 102;
}

.top-case-text p a {
	display: block;
	background-color: #27520e;
	text-align: center;
	text-decoration: none;
	color: #fff;
}

.top-slider-wrapper img {
	max-width: unset;
}

/*----------------------------------------------------------------
  Page Header
  ----------------------------------------------------------------*/
.title-header {
	text-align: center;
	font-weight: normal;
}

.title-header::after {
	content: attr(data-en);
	display: block;
}

.breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumbs li {
	display: flex;
	margin-right: 15px;
}

.breadcrumbs li:nth-of-type(n+2)::before {
	content: ">";
	margin-right: 15px;
}

.breadcrumbs a {
	color: inherit;
}

/*----------------------------------------------------------------
  Template
  ----------------------------------------------------------------*/
.template h2 {
	background-color: #f2f4f5;
	font-weight: normal;
	color: inherit;
}
.template .h2g {
	background-color: #f2f4f5;
	font-weight: normal;
	color: inherit;
}

/*----------------------------------------------------------------
  Company
  ----------------------------------------------------------------*/
.title-header-company {
	background: transparent url(../img/company/bg_header_company.jpg) center / cover no-repeat;
	color: #fff;
}

.company-table dt {
	border-bottom: 1px solid #fff;
	background-color: #126f90;
	text-align: center;
	color: #fff;
}

.company-table td {
	vertical-align: top;
}

.company-greeting-text {
	margin-top: 15px;
}

.company-greeting-text p {
	margin-top: 20px;
}

/*----------------------------------------------------------------
  Contact
  ----------------------------------------------------------------*/
.title-header-contact {
	background: transparent url(../img/contact/bg_header_contact.jpg) center / cover no-repeat;
	color: #fff;
}

.contact-step {
	display: flex;
	justify-content: center;
	counter-reset: cs;
}

.contact-step li {
	counter-increment: cs;
	position: relative;
	background-color: #c6d0e1;
	color: #666;
}

.contact-step li::before {
	content: "STEP 0"counter(cs);
	display: block;
}

.contact-step li::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 1;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	background-color: #c6d0e1;
	color: #666;
	transform: translate(50%, -50%) rotate(45deg) skew(30deg, 30deg);
}

.contact-step li:last-of-type::after {
	display: none;
}

.contact-step .step-current,
.contact-step .step-current::after {
	background-color: #1c4587;
	color: #fff;
}

.contact-table dt {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.contact-table dt .required {
	background-color: #fff;
	color: #23657c;
}

.contact-table input[type=text],
.contact-table input[type=email],
.contact-table input[type=tel],
.contact-table select,
.contact-table textarea {
	display: block;
	padding: 4px;
	border: 1px solid #23657c;
	border-radius: 5px;
	background-color: #fff;
	font-family: inherit;
	font-size: inherit;
}

.form-btn-wrapper button {
	display: flex;
	align-items: center;
	border: 1px solid #23657c;
	font-family: inherit;
	font-weight: bold;
}

.form-btn-wrapper button::before,
.form-btn-wrapper button::after {
	content: "";
	position: relative;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
}

.form-btn-submit {
	background-color: #23657c;
	color: #fff;
}

.form-btn-submit::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.form-btn-common,
.form-btn-reset {
	background-color: #fff;
	color: #23657c;
}

.form-btn-common::before {
	border-bottom: 2px solid #23657c;
	border-left: 2px solid #23657c;
}

.mw_wp_form_preview h3,
.mw_wp_form_preview .privacy-text,
.mw_wp_form_preview .privacy-text + p,
.mw_wp_form_preview .form-btn-reset {
	display: none;
}

/*----------------------------------------------------------------
  Online
  ----------------------------------------------------------------*/
.title-header-online {
	background: transparent url(../img/online/bg_header_online.jpg) center / cover no-repeat;
	color: #fff;
}

.online h2 {
	background: transparent url(../img/online/icon_pc.png) top left 10px no-repeat;
	font-weight: bold;
}
/*----------------------------------------------------------------
  landory
  ----------------------------------------------------------------*/
.title-header-laundry {
	background: transparent url(../img/laundry/bg_header_laundry.jpg) center / cover no-repeat;
	color: #fff;
}

/*----------------------------------------------------------------
  Privacy
  ----------------------------------------------------------------*/
.title-header-privacy {
	background: transparent url(../img/privacy/bg_header_privacy.jpg) center / cover no-repeat;
	color: #fff;
}

.privacy-header {
	margin-top: 30px;
	font-weight: normal;
	font-size: 1.6rem;
}

.privacy ul {
	margin: 25px 0 25px 25px;
}

.privacy p {
	word-break: break-all;
}

.indent {
	text-indent: 1.6rem;
}

.line-break {
	margin-bottom: 25px;
}

/*----------------------------------------------------------------
  Property (Archive)
  ----------------------------------------------------------------*/
.title-header-property {
	background: transparent url(../img/property/bg_header_property.jpg) center / cover no-repeat;
	color: #fff;
}

.estate-index-title a {
	color: #000;
}

.estate-index-btn {
	background-color: #27520e;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	color: #fff;
}

.estate-index-table table {
	width: 100%;
	table-layout: fixed;
}

.estate-index-table tr {
	border-bottom: 10px solid #fff;
}

.estate-index-table th {
	width: 100px;
	padding: 1px 5px;
	background-color: #126f90;
	color: #fff;
}

.estate-index-table td {
	padding: 1px 5px;
}

.estate-index-abstract br {
	display: none;
}

/*----------------------------------------------------------------
  Property (Single)
  ----------------------------------------------------------------*/
.estate-single-lead br {
	display: none;
}

.estate-single-gallery-switch {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.estate-single-gallery-switch button {
	padding: 0;
	border: none;
	background-color: transparent;
}

.estate-single-data table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.estate-single-data table tr {
	border-bottom: 1px solid #fff;
}

.estate-single-data table th {
	border-right: 1px solid #fff;
	background-color: #126f90;
	text-align: left;
	color: #fff;
}

.estate-single-data table .subitem {
	border-right: 1px solid #fff;
	background-color: #cef1fd;
}

/*----------------------------------------------------------------
  Page Footer
  ----------------------------------------------------------------*/
.page-footer {
	background-color: #242424;
	text-align: center;
	color: #fff;
}
