/*
Theme Name: Elixir
*/

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

html {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	line-height: 1.15;
}

body {
	margin: 0;
}

main {
	display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

dt {
	font-weight: 700;
}

dd {
	margin-left: 0;
}

hr {
	box-sizing: content-box;
	height: 0;
	margin: 0;
	clear: both;
	overflow: visible;
	border: 0;
	border-top: 1px solid;
	color: inherit;
}

pre {
	font-size: inherit;
	font-family: monospace, monospace;
}

address {
	font-style: inherit;
}

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-size: inherit;
	font-family: monospace, monospace;
}

small {
	font-size: 80%;
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
	vertical-align: bottom;
}

embed,
object,
iframe {
	border: 0;
	vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
	vertical-align: middle;
}

[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
	cursor: default;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

option {
	padding: 0;
}

fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

legend {
	display: table;
	max-width: 100%;
	padding: 0;
	color: inherit;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type=checkbox],
[type=radio] {
	padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

label[for] {
	cursor: pointer;
}

details {
	display: block;
}

summary {
	display: list-item;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

td,
th {
	padding: 0;
	vertical-align: top;
}

th {
	font-weight: 700;
	text-align: left;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/*------------------------------------------- PC・SP表示切替 */

.visibility--s,
.visibility--m,
.visibility--l {
	display: none !important;
}

/*------------------------------------------- 初期設定 */

.en__font {
	font-family: "EB Garamond", serif;
}

html {
	font-size: 62.5%;
}

body {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	background: #fff;
	color: #0f0f0f;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.6;
	line-height: 1.9;
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.05em;
}

a {
	display: block;
	color: #0f0f0f;
	text-decoration: none;
	transition: 0.4s;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

::-moz-selection {
	background-color: #b4cebe;
	color: #fff;
}

::selection {
	background-color: #b4cebe;
	color: #fff;
}

/*------------------------------------------- アイコンフォント */

@font-face {
	font-style: normal;
	font-weight: normal;
	src: url("fonts/icomoon.eot?z4v3oc");
	src: url("fonts/icomoon.eot?z4v3oc#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?z4v3oc") format("truetype"), url("fonts/icomoon.woff?z4v3oc") format("woff"), url("fonts/icomoon.svg?z4v3oc#icomoon") format("svg");
	font-family: "icomoon";
	font-display: block;
}

[class^=icon-],
[class*=" icon-"] {
	speak: never;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	font-family: "icomoon" !important;
	text-transform: none;
}

.icon-mail::before {
	content: "\e900";
}

.icon-search::before {
	content: "\e901";
}

.icon-tel::before {
	content: "\e902";
}

.icon-arrow::before {
	content: "\e903";
}

.icon-open::before {
	content: "\e904";
}

.icon-video::before {
	content: "\e905";
}

/*------------------------------------------- pc・sp分ける */

.visibility--s,
.visibility--m,
.visibility--l {
	display: none !important;
}

/*------------------------------------------- コンテンツ幅 */

.content {
	margin-bottom: 60px;
}

.content__bg {
	padding: 60px 0;
}

.content__area {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}

.content__area__min {
	max-width: 1080px;
}

.content__area__s {
	max-width: 1560px;
}

/*------------------------------------------- メイン */

main {
	margin-top: 60px;
}

.body__top main {
	margin-top: 0;
}

/*------------------------------------------- ヘッダー */

.header {
	z-index: 99;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	transition: background-color 0.4s;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 20px;
}

.header__logo {
	display: flex;
	max-width: 93px;
	transition: opacity 0.4s;
}

.header__logo > a {
	display: flex;
}

.header__logo > a img {
	height: 100%;
}

.header__logo > h1,
.header__logo > p {
	line-height: 1;
}

.header__btn {
	display: flex;
}

.header__btn .btn {
	display: none;
}

.header__btn .btn__owner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 60px;
	padding: 0;
	font-size: 1rem;
	letter-spacing: 0.1em;
}

.header__btn .btn__owner::after {
	display: none;
}

.header__btn .btn__owner .btn__txt {
	line-height: 1;
}

.header__btn .btn__owner .icon-owner {
	display: block;
	width: 16px;
	height: 22px;
	margin: 0 auto 8px;
	background-image: url("./img/common/icos_owner_sp.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

_:-ms-lang(x)::-ms-backdrop,
.header__logo > h1,
_:-ms-lang(x)::-ms-backdrop,
.header__logo > p {
	width: 100%;
}

/*------------------------------------------- ハンバーガー */

.hamburger__btn {
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: #0f0f0f;
	transition: background-color 0.4s;
}

.hamburger__btn span {
	display: inline-block;
	position: relative;
	width: 15px;
	height: 1px;
	background-color: #fff;
}

.hamburger__btn span::before,
.hamburger__btn span::after {
	display: inline-block;
	position: absolute;
	width: 15px;
	height: 1px;
	background-color: #fff;
	content: "";
	transition: opacity 0.4s;
}

.hamburger__btn span::before {
	top: -7px;
	left: 0;
}

.hamburger__btn span::after {
	bottom: -7px;
	left: 0;
}

.hamburger__content {
	z-index: 98;
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #0f0f0f;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}

.hamburger__inner {
	padding: 100px 40px;
}

.hamburger__inner > ul > li + li {
	margin-top: 50px;
}

.hamburger__item {
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	text-align: center;
}

.header__nav,
.header__btn .btn {
	display: none;
}

/*------------------------------------------- ハンバーガー状態 */

.j__active__hamburger .header {
	background-color: #0f0f0f;
}

.j__active__hamburger .header__logo {
	opacity: 0;
}

.j__active__hamburger .hamburger__btn {
	background-color: #0f0f0f;
}

.j__active__hamburger .btn__owner {
	opacity: 0;
	pointer-events: none;
}

.j__active__hamburger .hamburger__content {
	opacity: 1;
	pointer-events: all;
}

.j__active__hamburger .hamburger__btn span::before,
.j__active__hamburger .hamburger__btn span::after {
	opacity: 0;
}

body:not(.j__active__hamburger) .header.scroll__active {
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

/*------------------------------------------- レスポンス */

.response__content {
	color: #fff;
}

.response__ttl {
	margin: -7px 0 10px;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
}

.response__ttl + p {
	margin-bottom: 25px;
}

.response__btn__wrap > ul > li + li {
	margin-top: 20px;
}

.response__btn__wrap .btn {
	height: 80px;
	font-size: 1.8rem;
}

.response__btn__wrap .btn .icons__mail {
	margin-right: 20px;
	font-size: 1.5rem;
}

/*------------------------------------------- 電話 */

.btn__tel {
	max-width: 335px;
	margin: 0 auto;
	padding: 20px;
	border: 1px solid #fff;
	color: #fff;
	text-align: center;
}

.tel__txt,
.tel__number,
.tel__time {
	display: block;
	line-height: 1;
}

.tel__txt {
	margin-bottom: 5px;
}

.tel__number {
	margin-bottom: 5px;
	font-size: 2.8rem;
	letter-spacing: 0.1em;
}

.tel__number .icon-tel {
	margin-right: 10px;
	margin-left: -20px;
	font-size: 2rem;
}

.tel__time {
	font-size: 1.2rem;
}

/*------------------------------------------- 固定画像 */

.fixed__img__main {
	padding-top: 53.3333vw;
	background-image: url("./img/response/img_response_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/*------------------------------------------- フッター */

.footer {
	position: relative;
	padding: 80px 0 60px 0;
	background-image: url("./img/footer/img_bg_footer_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
}

.footer__logo {
	max-width: 195px;
	margin: 0 auto 20px;
}

.footer__logo img {
	backface-visibility: hidden;
}

.footer__info {
	text-align: center;
}

.footer__info + .footer__info {
	margin-top: 30px;
}

.footer__info > p {
	margin: -5px 0 10px;
	font-size: 1.6rem;
	line-height: 1.4;
}

.footer__info > p span {
	font-size: 1.2rem;
}

.footer__info > ul > li {
	font-size: 1.2rem;
}

.footer__info__wrap {
	margin-bottom: 30px;
}

.footer__info__wrap > p {
	margin-bottom: 30px;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
}

.footer__info__wrap > p span {
	display: block;
	margin-top: 5px;
	font-size: 1.4rem;
}

.copy {
	display: block;
	color: #4c4c4c;
	font-size: 1.2rem;
	text-align: center;
}

/*------------------------------------------- ページトップ */

.pagetop {
	width: 100%;
	height: 100%;
	padding-top: 35px;
	color: #fff;
	line-height: 1;
	white-space: nowrap;
}

.pagetop__wrap {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.pagetop::before {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 25px;
	background-color: #fff;
	content: "";
	animation: scroll 2s cubic-bezier(0.37, 0, 0.63, 1) infinite;
}

/*------------------------------------------- 固定フッター */

.fixed__footer {
	z-index: 97;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}

.fixed__footer .btn {
	max-width: 100%;
	font-size: 1.6rem;
}

.fixed__footer .btn::after {
	content: none;
}

.fixed__footer .btn .icons__mail {
	margin-right: 20px;
	font-size: 1.4rem;
}

.scroll__active .fixed__footer {
	opacity: 1;
	pointer-events: all;
}

.fixed__end.fixed__footer {
	opacity: 0;
	pointer-events: none;
}

/*------------------------------------------- 背景 */

.bg__1 {
	background-color: #efefef;
}

.bg__2 {
	background-color: #21472f;
}

/*------------------------------------------- タイトル */

.ttl__1 {
	margin: -5px 0 27px;
	font-weight: 500;
	font-size: 3rem;
	line-height: 1.4;
	text-align: center;
}

.ttl__1__en {
	display: block;
	margin-top: 10px;
	font-size: 1.4rem;
}

.ttl__1.ttl__white {
	color: #fff;
}

.ttl__2 {
	margin: -5px 0 5px;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.4;
}

.ttl__c__1 {
	position: relative;
	margin: -5px 0 10px;
	padding-left: 50px;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.4;
}

.ttl__c__1__wrap {
	counter-reset: num;
}

.ttl__c__1 span {
	display: flex;
	position: absolute;
	top: 3px;
	left: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #21472f;
}

.ttl__c__1 span::before {
	content: "0" counter(num);
	color: #21472f;
	font-size: 2rem;
	font-family: "EB Garamond", serif;
	counter-increment: num;
}

.ttl__c__1 span::after {
	display: inline-block;
	position: absolute;
	top: 1px;
	left: 1px;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	border: 1px solid #21472f;
	content: "";
}

/*------------------------------------------- テキスト */

.color__1 {
	color: #21472f;
}

/*------------------------------------------- ボタン */

.btn {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 335px;
	height: 65px;
	margin: 0 auto;
	padding: 10px;
	color: #fff;
	font-size: 1.6rem;
}

.btn::before {
	display: inline-block;
	z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	content: "";
	transition: transform 0.4s;
}

.btn::after {
	display: inline-block;
	position: absolute;
	top: 3px;
	left: 3px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	border: 1px solid #4b4b4b;
	content: "";
}

.btn .icons__mail {
	margin-right: 5px;
}

.btn__1 {
	background-color: #a58c4f;
}

.btn__1::before {
	background-color: #b19a61;
}

.btn__1::after {
	border-color: #c3ad78;
}

.btn__1 .btn__line {
	background-color: #21472f;
}

.btn__2 {
	background-color: #0f0f0f;
}

.btn__2::before {
	background-color: #282828;
}

.btn__3 {
	background-color: #21472f;
}

.btn__3::before {
	background-color: #305840;
}

.btn__txt {
	position: relative;
}

.btn__line {
	display: block;
	position: absolute;
	top: 32px;
	right: 20px;
	width: 20px;
	height: 1px;
	background-color: #a58c4f;
}

.btn__back .btn__line {
	right: auto;
	left: 20px;
}

.btn__video .btn__txt {
	display: flex;
	align-items: center;
}

.btn__video .icon-video {
	margin-right: 10px;
	font-size: 2rem;
}

/*------------------------------------------- モーダル */

.modal__box {
	position: relative;
}

.modal__box__link {
	border: 1px solid #c7c7c7;
}

.modal__img {
	border: 1px solid #c7c7c7;
}

.modal__btn {
	display: flex;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: #21472f;
}

.modal__btn > .icon-search {
	color: #fff;
	font-size: 2.2rem;
}

#lightbox {
	display: flex;
	z-index: 10000;
	position: fixed;
	top: 50% !important;
	left: 50% !important;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
	transform: translate(-50%, -50%);
	font-weight: normal;
	line-height: 0;
	text-align: center;
}

.lb-outerContainer {
	order: 2;
}

.lb-dataContainer {
	order: 1;
}

.lightboxOverlay {
	background: rgba(33, 71, 47, 0.5);
}

.lb-data .lb-close {
	position: relative;
	right: -4px;
	width: 40px;
	height: 40px;
	background-image: none;
	background-color: #21472f;
	opacity: 1;
}

.lb-data .lb-close::before,
.lb-data .lb-close::after {
	display: inline-block;
	position: absolute;
	top: 20px;
	left: 10px;
	width: 20px;
	height: 1px;
	transform: rotate(45deg);
	background-color: #fff;
	content: "";
}

.lb-data .lb-close::after {
	transform: rotate(-45deg);
}

/*------------------------------------------- 画像 */

.img__effect {
	position: relative;
	overflow: hidden;
	text-align: center;
	opacity: 0;
}

.img__effect__wrap {
	position: relative;
	overflow: hidden;
}

.img__effect::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: right;
	backface-visibility: hidden;
	background: #000;
	content: "";
}

.img__effect.img__on {
	animation: effect__1 1s ease both;
}

.img__effect.img__on::after {
	animation: effect__2 1s ease 0.4s both;
}

.img__effect.img__on .img__effect__main {
	animation: effect__3 1s ease both;
}

_:-ms-lang(x)::-ms-backdrop,
.img__on .img__effect__main {
	animation: none !important;
}

/*------------------------------------------- パーツ1 */

.parts__1__img {
	padding-top: 168px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.parts__1 > .img__effect__wrap {
	margin-bottom: 20px;
}

/*------------------------------------------- スライダー */

.swiper__wrap {
	position: relative;
}

.swiper__button__prev,
.swiper__gallery__prev,
.swiper__button__next,
.swiper__gallery__next,
.swiper__reservation__prev,
.swiper__reservation__next {
	display: flex;
	z-index: 1;
	position: absolute;
	top: 65px;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: #21472f;
	color: #fff;
	font-size: 1rem;
}

.swiper__button__prev,
.swiper__gallery__prev,
.swiper__reservation__prev {
	left: -20px;
}

.swiper__button__next,
.swiper__gallery__next,
.swiper__reservation__next {
	right: -20px;
}

.swiper__button__prev:focus,
.swiper__gallery__prev:focus,
.swiper__button__next:focus,
.swiper__gallery__next:focus,
.swiper__reservation__prev:focus,
.swiper__reservation__next:focus {
	outline: none;
}

.swiper__button__prev::before,
.swiper__gallery__prev .icon-arrow::before,
.swiper__reservation__prev .icon-arrow::before {
	transform: translateX(-3px) scale(0.7, 0.7) rotate(90deg);
}

.swiper__button__next::before,
.swiper__gallery__next .icon-arrow::before,
.swiper__reservation__next .icon-arrow::before {
	transform: translateX(3px) scale(0.7, 0.7) rotate(-90deg);
}

.swiper__gallery__prev .icon-arrow,
.swiper__gallery__next .icon-arrow,
.swiper__reservation__prev .icon-arrow,
.swiper__reservation__next .icon-arrow {
	z-index: 1;
}

.swiper__gallery__prev .icon-arrow::before,
.swiper__gallery__next .icon-arrow::before,
.swiper__reservation__prev .icon-arrow::before,
.swiper__reservation__next .icon-arrow::before {
	display: block;
}

.swiper__pagination {
	display: flex;
	bottom: auto;
	left: auto;
	justify-content: center;
	margin-top: 20px;
}

.swiper__pagination > .swiper-pagination-bullet {
	margin: 0 5px;
}

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	display: flex;
	bottom: auto;
	left: auto;
	justify-content: center;
	margin-top: 20px;
}

.swiper-pagination-bullet {
	width: 15px;
	height: 2px;
	border-radius: 0;
	background-color: #d4d3d3;
	opacity: 1;
	transition: background-color 0.4s;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #21472f;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 5px;
}

/*------------------------------------------- footer バナー */

.footer__bnr__area > ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

/*------------------------------------------- 下層 mv */

.page__mv {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	height: 120px;
	margin-bottom: 60px;
	border-bottom: 1px solid #c7c7c7;
}

.page__mv::before {
	display: inline-block;
	position: absolute;
	bottom: -1px;
	left: 50%;
	width: 60px;
	height: 1px;
	transform: translateX(-50%);
	background-color: #21472f;
	content: "";
}

.page__mv .ttl__1 {
	margin-bottom: 0;
}

/*------------------------------------------- ページャー */

.pager {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pager__content {
	margin-top: 60px;
}

.pager > li {
	width: 50px;
	height: 50px;
}

.pager > li + li {
	margin-left: 15px;
}

.pager > li > span,
.pager > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: #0f0f0f;
	color: #fff;
	font-size: 1.8rem;
}

.pager > li > span {
	background-color: #efefef;
	color: #b4b4b4;
}

.pager > li > a > span {
	display: flex;
}

.pager > li .icon-arrow {
	transform: scale(0.6, 0.6);
	font-size: 1rem;
}

.pager > li.pager__front {
	transform: rotate(90deg);
}

.pager > li.pager__next {
	transform: rotate(-90deg);
}

/*------------------------------------------- 下層 タイトル */

.page__ttl__1 {
	margin: -7px 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #21472f;
	color: #21472f;
	font-size: 2rem;
	line-height: 1.4;
}

.page__ttl__2 {
	margin: -7px 0 15px;
	color: #21472f;
	font-size: 2.6rem;
	line-height: 1.4;
}

.page__ttl__3 {
	display: block;
	margin: -7px auto 30px;
	font-size: 2.6rem;
	line-height: 1.4;
	text-align: center;
}

.page__ttl__3 span {
	padding-bottom: 5px;
	border-bottom: 1px solid #000000;
}

.page__ttl__3.c__white {
	color: #fff;
}

.page__ttl__3.c__white span {
	border-bottom-color: #fff;
}

.page__ttl__4 {
	margin: -7px 0 10px;
	color: #21472f;
	font-size: 1.8rem;
	line-height: 1.4;
}

/*------------------------------------------- 下層 テキスト */

.link {
	display: inline-block;
	color: #1f618f;
}

.link span {
	display: inline;
	border-bottom: 1px solid #a8bacc;
}

.link .icon-open {
	margin-left: 10px;
	font-size: 1.5rem;
}

.notes > p {
	position: relative;
	padding-left: 1em;
	color: #686868;
	font-size: 1.4rem;
}

.notes > p::before {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
	color: #686868;
}

.notes > p + p {
	margin-top: 5px;
}

/*------------------------------------------- 下層 404 */

.not-found__content .page__ttl__1 + p {
	margin-bottom: 40px;
}

/*------------------------------------------- 下層 テーブル */

.table th,
.table td {
	display: block;
	padding: 15px;
	font-size: 1.6rem;
}

.table th {
	background-color: #efefef;
	color: #21472f;
	font-weight: normal;
}

/*------------------------------------------- 下層 ボックス */

.box__3 > *:last-child {
	margin-bottom: 0 !important;
}

.box__3 + .box__3 {
	margin-top: 60px;
}

.page__ttl__logo {
	display: flex;
	justify-content: center;
	width: 151px;
	margin: 0 auto 5px;
}

/*------------------------------------------- 下層 guide price */

.guide__price__wrap {
	margin-bottom: 10px;
}

.guide__price__wrap + .table {
	margin-bottom: 15px;
}

.guide__price__wrap__inner {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
}

.guide__price__wrap__inner::before {
	display: inline-block;
	position: absolute;
	top: 55%;
	left: 0;
	width: 100%;
	height: 1px;
	transform: translateY(-50%);
	border-bottom: 2px dotted #c7c7c7;
	content: "";
}

.guide__price__title {
	position: relative;
	padding-right: 10px;
	background-color: #fff;
	color: #21472f;
	font-size: 1.6rem;
	line-height: 1.4;
}

.guide__price__txt {
	display: flex;
	position: relative;
	align-items: center;
	padding-left: 10px;
	background-color: #fff;
	color: #21472f;
	line-height: 1.4;
}

.guide__price__main {
	margin-right: 5px;
	font-size: 3rem;
	line-height: 1;
}

.guide__price__unit {
	font-size: 1.6rem;
}

.guide__price__note {
	color: #21472f;
	line-height: 1.4;
	text-align: right;
}

/*------------------------------------------- 下層 guide ori */

.guide__ori__table {
	margin: 0 -20px 15px 0;
}

.guide__ori__table__inner {
	display: flex;
	padding-right: 20px;
	overflow-x: scroll;
	white-space: nowrap;
}

.guide__ori__table table th {
	border-right: 1px solid #c7c7c7;
	border-bottom: 1px solid #c7c7c7;
	background-color: #efefef;
	font-weight: normal;
}

.guide__ori__table table td {
	border-right: 1px solid #c7c7c7;
	border-bottom: 1px solid #c7c7c7;
}

.guide__ori__table table th,
.guide__ori__table table td {
	padding: 10px;
	vertical-align: middle;
}

.guide__ori__table table tr:first-child th,
.guide__ori__table table tr:first-child td {
	border-top: 1px solid #c7c7c7;
}

.guide__ori__uchiwake {
	display: flex;
	align-items: center;
	border: 1px solid #c7c7c7;
}

.guide__ori__uchiwake > p {
	writing-mode: vertical-rl;
}

.guide__ori__title {
	color: #21472f;
	font-size: 1.2rem;
}

.guide__ori__title span {
	font-size: 1.6rem;
}

.guide__ori__price {
	font-size: 1.4rem;
}

.guide__ori__price span {
	margin-right: 5px;
	color: #21472f;
	font-weight: bold;
	font-size: 1.6rem;
}

/*------------------------------------------- 下層 guide operation */

.guide__operation {
	position: relative;
	padding: 20px;
	border: 1px solid #c7c7c7;
}

.guide__operation .page__ttl__4 {
	text-align: center;
}

.guide__operation__company {
	margin-bottom: 30px;
}

.guide__operation__company span {
	font-weight: bold;
	font-size: 1.6rem;
}

.guide__operation__notes > p {
	margin-bottom: 10px;
}

.guide__operation__notes > p:last-child {
	margin-bottom: 0;
}

/*------------------------------------------- mv */

.mv .img__effect.img__on {
	animation: effect__1 2s ease both;
}

.mv .img__effect.img__on::after {
	animation: effect__2 2s ease 0.4s both;
}

.mv .img__on .img__effect__main {
	animation: effect__3 2s ease both;
}

.mv .img__effect__main {
	width: 100%;
	height: auto;
}

.mv__inner {
	position: relative;
}

.mv__carch {
	position: absolute;
	bottom: 20px;
	left: 0;
	padding: 0 20px;
	opacity: 0;
	transition: opacity 1s ease, transform 1s ease, filter 1s ease;
}

.mv__carch.txt__on {
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	filter: blur(0);
	opacity: 1;
}

.mv__carch img {
	max-width: 325px;
}

.scroll__bar {
	display: none;
}

/*------------------------------------------- 最新のお知らせ */

.t__news {
	padding: 20px;
	background-color: #21472f;
}

.t__news .news__box {
	padding-bottom: 0;
	border-bottom: none;
}

.t__news a:not(.news__box) {
	position: relative;
	padding: 7.5px 30px;
	border: 1px solid #fff;
	background-color: #21472f;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
}

.t__news a:not(.news__box) .icon-arrow {
	display: inline-block;
	position: absolute;
	top: 10px;
	right: 5px;
	transform: translateX(3px) scale(0.3, 0.3) rotate(-90deg);
	color: #a58c4f;
	font-size: 1rem;
}

.t__news .news__ttl {
	line-height: 1.6;
}

.t__news .news__date,
.t__news .news__ttl {
	color: #fff;
	transition: color 0.4s;
}

.t__news__ttl {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.t__news__ttl .ttl__1 {
	display: flex;
	align-items: flex-end;
	margin-bottom: 0;
	color: #fff;
	font-size: 2.4rem;
}

.t__news__ttl .ttl__1__en {
	margin-top: 0;
	margin-left: 15px;
	color: #a58c4f;
	font-size: 1.4rem;
}

_:-ms-lang(x)::-ms-backdrop,
.t__news__ttl {
	min-width: 200px;
}

.t__news__main {
	position: relative;
	overflow: hidden;
}

.t__news__main > ul > li {
	z-index: 1 !important;
	opacity: 0;
	transition: opacity 0.4s;
}

.t__news__main > ul > li.tickerHook {
	opacity: 1;
}

.t__news__list > a {
	display: none;
}

/*------------------------------------------- 最新設備を備えた軽井沢の最高級別荘新プロジェクトが始動いたします。 */

.start__content {
	position: relative;
	padding: 60px 0 57.3333vw;
	background-image: url("./img/top/start/img_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.start__content__inner {
	width: 100%;
	max-width: 100%;
}

.start__ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -6px 0 30px;
}

.start__ttl span {
	display: inline-block;
	z-index: 1;
	position: relative;
	color: #fff;
	font-size: 3rem;
	line-height: 1.3125;
	text-shadow: 0 2px 5px black;
}

.t__start__body > p {
	z-index: 1;
	position: relative;
	margin-bottom: 30px;
	color: #fff;
	text-shadow: 0 2px 5px black;
}

.t__start__body .btn {
	z-index: 1;
}

.start__content__movie {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*------------------------------------------- 軽井沢を包む、 静謐の空間。 理想を追求した 「安らぎ」がここに。 */

.peace__ttl {
	position: relative;
	max-width: 156px;
	margin: 0 auto 60px;
}

.peace__ttl::before {
	display: inline-block;
	position: absolute;
	right: -90px;
	bottom: -50px;
	width: 120px;
	height: 109px;
	background-image: url("./img/top/peace/img_peace_item.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

.peace__ttl__wrap .peace__img {
	display: none;
}

_:-ms-lang(x)::-ms-backdrop,
.peace__ttl__wrap .peace__img {
	width: 100%;
}

/*------------------------------------------- 無限スクロール */

/*------------------------------------------- 「軽井沢エリクシル南原」の特徴 */

.t__feature__body {
	margin-bottom: 30px;
	background-color: #fff;
}

.t__feature__box {
	padding: 20px 20px 30px;
	border-bottom: 1px solid #efefef;
}

.t__feature__box:last-child {
	border-bottom: none;
}

.t__feature__box > p {
	margin-bottom: 15px;
}

.t__feature__img__ttl {
	margin-bottom: 15px;
	padding: 5px 5px;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
}

.t__feature__img__ttl.box__1 {
	background-color: #686868;
}

.t__feature__img__ttl.box__2 {
	background-color: #21472f;
}

.t__feature__box__inner__1 + .t__feature__box__inner__1 {
	margin-top: 20px;
}

.t__feature__modal__wrap + .t__feature__modal__wrap {
	margin-top: 20px;
}

/*------------------------------------------- 予約販売開始 */

.reservation__top {
	margin-bottom: 30px;
}

.reservation__bottom {
	position: relative;
}

.reservation__bottom .swiper__pagination {
	margin-top: 30px;
}

/*------------------------------------------- 「軽井沢エリクシル南原」の付帯設備 */

.t__facility__body .parts__1__img.img__1 {
	background-image: url("./img/top/facility/img_facility_1.jpg");
}

.t__facility__body .parts__1__img.img__2 {
	background-image: url("./img/top/facility/img_facility_2.jpg");
}

.t__facility__body .parts__1__img.img__3 {
	background-image: url("./img/top/facility/img_facility_3.jpg");
}

.t__facility__body .parts__1__img.img__4 {
	background-image: url("./img/top/facility/img_facility_4.jpg");
}

.t__facility__body .parts__1__img.img__5 {
	background-image: url("./img/top/facility/img_facility_5.jpg");
}

.t__facility__body .parts__1__img.img__6 {
	background-image: url("./img/top/facility/img_facility_6.jpg");
}

.t__facility__body .parts__1__img.img__7 {
	background-image: url("./img/top/facility/img_facility_7.jpg");
}

.t__facility__body .parts__1__img.img__8 {
	background-image: url("./img/top/facility/img_facility_8.jpg");
}

.t__facility__body .ttl__2 {
	text-align: center;
}

/*------------------------------------------- 設計士紹介 */

.architect__content {
	position: relative;
	color: #fff;
}

.architect__bg {
	z-index: -1;
	position: sticky;
	top: 0;
	height: calc(100vh + 60px);
	overflow: hidden;
	background: #000;
}

.architect__bg__inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("./img/top/architect/img_bg_architect_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.t__architect__ttl {
	margin: -3px 0 10px;
	line-height: 1.4;
}

.architect__company {
	display: block;
	font-size: 1.4rem;
}

.architect__name {
	display: block;
	margin-top: 10px;
	font-size: 2.6rem;
	line-height: 1.4;
}

.architect__name__en {
	display: inline-block;
	margin-left: 10px;
	font-size: 1.2rem;
}

.architect__history {
	padding: 20px;
	border: 1px solid #fff;
}

.architect__history > p {
	margin-bottom: 5px;
	font-size: 1.2rem;
	line-height: 1.4;
}

.architect__history > table th,
.architect__history > table td {
	display: block;
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 1;
}

.architect__history > table th {
	padding-bottom: 6px;
}

.architect__history > table td {
	letter-spacing: 0.03em;
}

.architect__history > table tr:not(:last-child) td {
	padding-bottom: 10px;
}

.t__architect__txt > p {
	margin-bottom: 15px;
}

/*------------------------------------------- 建設ギャラリー */

.t__gallery_slider {
	position: relative;
}

.t__gallery_slider .swiper__gallery__prev,
.t__gallery_slider .swiper__gallery__next {
	top: calc(22.26665vw - 20px);
}

.gallery__swiper__container {
	margin-bottom: 20px;
}

.gallery__swiper__container .gallery__slider_item span {
	padding-top: 44.8vw;
}

.gallery__swiper__thumbs__container .gallery__slider_item {
	position: relative;
}

.gallery__swiper__thumbs__container .gallery__slider_item img {
	-o-object-fit: cover;
	height: 12.5333vw;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.gallery__swiper__thumbs__container .gallery__slider_item .gallery__thumbs__bg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 15, 15, 0.6);
	pointer-events: none;
	transition: opacity 0.6s;
}

.gallery__swiper__thumbs__container .swiper-slide-thumb-active .gallery__slider_item .gallery__thumbs__bg {
	opacity: 0;
}

/*------------------------------------------- お問い合わせ */

.contact__body {
	margin-bottom: 60px;
}

.contact__txt {
	margin-bottom: 40px;
}

.contact__tel {
	padding: 20px;
	border: 1px solid #c7c7c7;
	text-align: center;
}

.contact__tel__txt__1 {
	margin-bottom: 5px;
	font-size: 1.4rem;
	line-height: 1;
}

.contact__tel__number {
	margin-bottom: 10px;
	font-size: 4rem;
	line-height: 1;
}

.contact__tel__number .icon-tel {
	margin-right: 10px;
	color: #21472f;
	font-size: 3rem;
}

.contact__tel__txt__2 {
	font-size: 1.2rem;
	line-height: 1;
}

.contact__select__wrap {
	position: relative;
}

.contact__select--arrow {
	display: flex;
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 50px;
	background-color: #21472f;
	pointer-events: none;
}

.contact__select--arrow .icon-arrow {
	transform: scale(0.7, 0.7);
	color: #fff;
	font-size: 1rem;
}

.contact__privacy .mwform-checkbox-field {
	display: block;
}

.contact__privacy label {
	display: block;
	position: relative;
	width: 100%;
	padding: 10px 15px 10px 40px;
	border: 1px solid #c7c7c7;
	cursor: pointer;
}

.contact__privacy input[type=checkbox] {
	display: none;
}

.contact__privacy input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
	background-color: #21472f;
}

.contact__privacy input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
	opacity: 1;
}

.contact__privacy .mwform-checkbox-field-text::before {
	display: inline-block;
	position: absolute;
	top: 13px;
	left: 5px;
	width: 26px;
	height: 26px;
	background-color: #c7c7c7;
	content: "";
	transition: background-color 0.4s;
}

.contact__privacy .mwform-checkbox-field-text::after {
	display: block;
	position: absolute;
	top: 22px;
	left: 13px;
	width: 11px;
	height: 6px;
	transform: rotate(-45deg);
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	content: "";
	opacity: 0;
	transition: opacity 0.4s;
}

.contact__warning input,
.contact__warning input[type=text],
.contact__warning input[type=email],
.contact__warning input[type=tel] {
	background-color: #ffeded;
}

.contact__warning input::-moz-placeholder {
	color: #b52020;
}

.contact__warning input::placeholder {
	color: #b52020;
}

/*------------------------------------------- お問い合わせ フォーム */

.form__table {
	margin-bottom: 40px;
}

.form__table th,
.form__table td {
	display: block;
	font-weight: normal;
	font-size: 1.6rem;
}

.form__table tr + tr th {
	padding-top: 15px;
}

.form__table th {
	padding-bottom: 15px;
}

.form__table th label {
	line-height: 1.4;
}

.form__table td {
	padding-bottom: 15px;
	border-bottom: 1px solid #c7c7c7;
}

.form__table input,
.form__table input[type=text],
.form__table input[type=email],
.form__table input[type=tel],
.form__table textarea {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid transparent;
	border-radius: 0;
	outline: none;
	background-color: #efefef;
	box-shadow: none;
	font-size: 1.6rem;
	transition: border-color 0.4s, background-color 0.4s;
}

.form__table input:focus,
.form__table input[type=text]:focus,
.form__table input[type=email]:focus,
.form__table input[type=tel]:focus,
.form__table textarea:focus {
	border-color: #21472f;
	background-color: #fff;
}

.form__table input::-moz-placeholder {
	color: #adadad;
}

.form__table input::placeholder {
	color: #adadad;
}

.form__table select {
	width: 100%;
	height: 50px;
	padding-left: 15px;
	border: none;
	border-radius: 0;
	background-color: #efefef;
	font-size: 1.6rem;
}

.must,
.any {
	display: inline-block;
	margin-right: 15px;
	padding: 4px 7px;
	border: 1px solid #b52020;
	color: #b52020;
	font-size: 1.2rem;
	line-height: 1;
}

.any {
	border-color: #686868;
	color: #686868;
}

.radio__check {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 -10px;
}

.radio__check > li {
	position: relative;
	width: calc(50% - 10px);
	margin: 10px 0 0 10px;
	padding-left: 1.5em;
}

.radio__check > li input[type=radio],
.radio__check > li input[type=checkbox] {
	display: none;
}

.radio__check > li input[type=radio]:checked + .mwform-radio-field-text::before,
.radio__check > li input[type=radio]:checked + .mwform-checkbox-field-text::before,
.radio__check > li input[type=checkbox]:checked + .mwform-radio-field-text::before,
.radio__check > li input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
	background-color: #21472f;
}

.radio__check > li input[type=radio]:checked + .mwform-radio-field-text::after,
.radio__check > li input[type=radio]:checked + .mwform-checkbox-field-text::after,
.radio__check > li input[type=checkbox]:checked + .mwform-radio-field-text::after,
.radio__check > li input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
	opacity: 1;
}

.radio__check > li label,
.radio__check > li .mwform-radio-field-text,
.radio__check > li .mwform-checkbox-field-text {
	cursor: pointer;
}

.radio__check > li label::before,
.radio__check > li .mwform-radio-field-text::before,
.radio__check > li .mwform-checkbox-field-text::before {
	display: inline-block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	background-color: #c7c7c7;
	content: "";
	transition: background-color 0.4s;
}

.radio__check > li label::after,
.radio__check > li .mwform-radio-field-text::after,
.radio__check > li .mwform-checkbox-field-text::after {
	display: inline-block;
	position: absolute;
	top: 12px;
	left: 4px;
	width: 7px;
	height: 7px;
	border-radius: 100%;
	background-color: #fff;
	content: "";
	opacity: 0;
	transition: opacity 0.4s;
}

.radio__check > li label::before,
.radio__check > li label::after {
	content: none;
}

.radio__check.checkbox-style > li .mwform-checkbox-field-text::before {
	border-radius: 0;
}

.radio__check.checkbox-style > li .mwform-checkbox-field-text::after {
	display: block;
	position: absolute;
	top: 12px;
	left: 3px;
	width: 9px;
	height: 6px;
	transform: rotate(-45deg);
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	border-radius: 0;
	background-color: transparent;
	content: "";
	opacity: 0;
	transition: opacity 0.4s;
}

.form__wrap + .form__wrap {
	margin-top: 10px;
}

.form__wrap > p {
	margin-bottom: 5px;
	line-height: 1.4;
}

.radio__check > li > .error {
	display: none;
}

.radio__check + .error {
	display: block;
	margin-top: 5px;
}

.error-text {
	color: #b52020;
	font-size: 1.2rem;
}

.form__btn__box .btn p {
	margin: 0;
	line-height: 1;
}

.form__btn__box .btn p:empty {
	display: none;
}

/*------------------------------------------- MW WP Form ボタン表示制御 */

.mw_wp_form_input .btn_back,
.mw_wp_form_input .btn_send {
	display: none !important;
}

.mw_wp_form_confirm .btn_confirm {
	display: none !important;
}

.mw_wp_form_confirm .form__btn__box {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 10px;
}

.mw_wp_form_confirm .form__btn__box > p:empty,
.mw_wp_form_confirm .form__btn__box > button.btn_confirm {
	display: none !important;
}

.mw_wp_form_confirm .form__btn__box > p {
	flex: 1;
	min-width: 0;
	max-width: 200px;
	margin: 0;
}

.mw_wp_form_confirm .form__btn__box .btn_back,
.mw_wp_form_confirm .form__btn__box .btn_send {
	width: 100%;
	max-width: none;
	height: 55px;
}

.mw_wp_form_confirm .contact__select--arrow {
	display: none;
}

.mw_wp_form_confirm .form__table input,
.mw_wp_form_confirm .form__table select,
.mw_wp_form_confirm .form__table textarea {
	padding: 0;
	border: none;
	background-color: transparent;
}

.mw_wp_form_complete .btn_confirm,
.mw_wp_form_complete .btn_back,
.mw_wp_form_complete .btn_send {
	display: none !important;
}

/*------------------------------------------- 確認画面 */

.confirm__btn .form-btn + .form-btn {
	margin-top: 20px;
}

/*------------------------------------------- 完了画面 */

.thanks__content .page__ttl__1 + p {
	margin-bottom: 40px;
}

/*------------------------------------------- 「軽井沢エリクシル南原」は、所有権を分譲する、新しいタイムシェア方式。 */

.guide__1 > .content__area {
	margin-bottom: 40px;
}

.guide__1__img {
	width: 100%;
	padding-top: 180px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.guide__1__img.img__01 {
	background-image: url("./img/guide/img_guide_1.jpg");
}

.guide__1__img.img__02 {
	background-image: url("./img/guide/img_guide_2.jpg");
}

.guide__1__img.img__03 {
	background-image: url("./img/guide/img_guide_3.jpg");
}

.guide__1__img.img__04 {
	background-image: url("./img/guide/img_guide_4.jpg");
}

/*------------------------------------------- オーナー概要 */

.guide__2__box + .guide__2__box {
	margin-top: 40px;
}

/*------------------------------------------- 特徴 */

.guide__3 .ttl__2 {
	text-align: center;
}

.guide__3 .ttl__2 + p {
	font-size: 1.4rem;
}

/*------------------------------------------- 充実した付帯設備 */

.guide__4 .notes {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.guide__4__img > p {
	margin-top: 10px;
	line-height: 1.4;
	text-align: center;
}

.guide__4__txt {
	margin-top: 40px;
	font-size: 1.8rem;
}

/*------------------------------------------- 周辺環境 */

.guide__5 .ttl__2,
.guide__5 .ttl__2 + p {
	color: #fff;
}

.guide__5__box {
	position: relative;
}

.guide__5__box .img__effect__wrap {
	margin-bottom: 20px;
}

.guide__5__number {
	display: block;
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	background-color: #a58c4f;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
}

.guide__5__number span {
	display: block;
	font-size: 1.4rem;
}

/*------------------------------------------- ご契約について */

.guide__6__box + .guide__6__box {
	margin-top: 60px;
}

.guide__6__box > p {
	margin-bottom: 20px;
}

.guide__6__different__ttl {
	margin-bottom: 15px;
	padding: 5px 5px;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
}

.guide__6__different__ttl.box__1 {
	background-color: #686868;
}

.guide__6__different__ttl.box__2 {
	background-color: #21472f;
}

.guide__6__different__inner {
	max-width: 400px;
	margin: 0 auto;
}

/*------------------------------------------- ご契約について 費用 */

.guide__6__price__txt {
	display: flex;
	align-items: flex-end;
	margin-bottom: 20px;
	line-height: 1;
}

.guide__6__price__txt .icon {
	margin-right: 10px;
	padding: 5px 15px;
	border: 1px solid #21472f;
	color: #21472f;
}

.guide__6__price__txt .price {
	margin-bottom: -5px;
	font-size: 4rem;
}

.guide__6__price__txt .unit {
	font-size: 2rem;
}

.guide__6__price__txt .tax {
	font-size: 1.4rem;
}

.guide__6__price__inner + .guide__6__price__inner {
	margin-top: 25px;
}

.guide__6__price__inner > p {
	position: relative;
	margin-bottom: 10px;
	padding: 5px 30px;
	background-color: #efefef;
	font-size: 1.8rem;
}

.guide__6__price__inner > p::before {
	display: inline-block;
	position: absolute;
	top: 20px;
	left: 10px;
	width: 6px;
	height: 6px;
	background-color: #21472f;
	content: "";
}

.guide__6__price__item {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
}

.guide__6__price__item::before {
	display: inline-block;
	position: absolute;
	top: 14px;
	left: 0;
	width: 100%;
	height: 1px;
	border-bottom: 1px dotted #c7c7c7;
	content: "";
}

.guide__6__price__item span {
	z-index: 1;
	background-color: #fff;
}

.guide__6__price__item span:first-child {
	padding-right: 10px;
}

.guide__6__price__item span:last-child {
	padding-left: 10px;
}

_:-ms-lang(x)::-ms-backdrop,
.guide__6__price__item span:first-child {
	display: block;
	margin-right: auto;
}

.guide__6__price__list .notes {
	margin-top: 10px;
}

/*------------------------------------------- ご契約について 設備概要 */

.guide__6__table th,
.guide__6__table td {
	display: block;
	padding: 15px;
	font-size: 1.6rem;
}

.guide__6__table th {
	background-color: #efefef;
	color: #21472f;
	font-weight: normal;
}

/*------------------------------------------- お知らせ 一覧 */

.news__box {
	margin-top: -3px;
	padding-bottom: 15px;
	border-bottom: 1px solid #c7c7c7;
}

.news__box::before {
	display: inline-block;
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scaleX(0);
	transform-origin: left;
	background-color: #21472f;
	content: "";
}

.news__box:hover::before {
	animation-duration: 1s;
	animation-name: btn__line__hover;
}

.news__box:hover .news__ttl {
	color: #21472f;
}

.news__list li + li .news__box {
	padding-top: 15px;
}

.news__date {
	display: block;
	margin-bottom: 5px;
	line-height: 1;
}

/*------------------------------------------- お知らせ 詳細 */

.news__detail__ttl {
	margin-bottom: 10px;
}

.news__detail__ttl .news__ttl {
	font-size: 2.8rem;
	line-height: 1.4;
}

.news__detail__body {
	margin-bottom: 60px;
}

.news__detail__body > * {
	margin-bottom: 15px;
}

.news__detail__body h2 {
	margin-top: 40px;
	padding-bottom: 10px;
	border-bottom: 1px solid #21472f;
	color: #21472f;
	font-size: 2.4rem;
	line-height: 1.4;
}

.news__detail__body a {
	display: inline-block;
	position: relative;
	border-bottom: 1px solid #1f618f;
	color: #1f618f;
}

.news__detail__body a[target]::before {
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: -1px;
	width: 1.5em;
	height: 1px;
	background-color: #fff;
	content: "";
}

.news__detail__body a[target]::after {
	speak: never;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
	margin-left: 5px;
	content: "\e904";
	color: #1f618f;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 1.3rem;
	line-height: 1;
	font-family: "icomoon" !important;
	text-transform: none;
}

.news__detail__body em {
	color: #b52020;
	font-style: normal;
}

/*------------------------------------------- テスト */

.start__content {
	padding: 60px 0 57.3333vw;
	background-image: url("./img/top/start/img_sp.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.start__content__inner {
	position: static;
}

.start__content__movie {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.start__ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -6px 0 30px;
}

.start__ttl span {
	display: inline-block;
	z-index: 1;
	position: relative;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1.3125;
	text-shadow: 0 2px 5px black;
}

.t__start__body > p {
	z-index: 1;
	position: relative;
	text-shadow: 0 2px 5px black;
}

/*------------------------------------------- ギャラリースライダー */

.t__gallery_slider {
	position: relative;
}

.t__gallery_slider .swiper__gallery__prev,
.t__gallery_slider .swiper__gallery__next {
	top: calc(22.26665vw - 20px);
}

.gallery__swiper__container {
	margin-bottom: 20px;
}

.gallery__swiper__container .gallery__slider_item span {
	padding-top: 44.8vw;
}

.gallery__swiper__thumbs__container .gallery__slider_item {
	position: relative;
}

.gallery__swiper__thumbs__container .gallery__slider_item img {
	-o-object-fit: cover;
	height: 12.5333vw;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.gallery__swiper__thumbs__container .gallery__slider_item .gallery__thumbs__bg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 15, 15, 0.6);
	pointer-events: none;
	transition: opacity 0.6s;
}

.gallery__swiper__thumbs__container .swiper-slide-thumb-active .gallery__slider_item .gallery__thumbs__bg {
	opacity: 0;
}

/*------------------------------------------- ボタン */

/*------------------------------------------- ヘッダー */

/*------------------------------------------- モーダル */

.ticker {
	position: relative;
	width: 600px;
	margin: 0 auto;
	padding: 10px;
	overflow: hidden;
	border: #ccc 1px solid;
	background-color: #ffffff;
	text-align: left;
}

.ticker ul {
	position: relative;
	width: 100%;
}

.ticker ul li {
	display: none;
	width: 100%;
}

.fx-row {
	display: flex;
	flex-wrap: wrap;
}

.fx-row-3-xs {
	margin-top: -3px;
	margin-right: -1.5px;
	margin-left: -1.5px;
}

.fx-row-5-xs {
	margin-top: -5px;
	margin-right: -2.5px;
	margin-left: -2.5px;
}

.fx-row-10-xs {
	margin-top: -10px;
	margin-right: -5px;
	margin-left: -5px;
}

.fx-row-15-xs {
	margin-top: -15px;
	margin-right: -7.5px;
	margin-left: -7.5px;
}

.fx-row-20-xs {
	margin-top: -20px;
	margin-right: -10px;
	margin-left: -10px;
}

.fx-row-30-xs {
	margin-top: -30px;
	margin-right: -15px;
	margin-left: -15px;
}

.fx-row-40-xs {
	margin-top: -40px;
	margin-right: -20px;
	margin-left: -20px;
}

.fx-row-50-xs {
	margin-top: -50px;
	margin-right: -25px;
	margin-left: -25px;
}

.fx-row-60-xs {
	margin-top: -60px;
	margin-right: -30px;
	margin-left: -30px;
}

.fx-row-start-xs {
	justify-content: flex-start;
}

.fx-row-center-xs {
	justify-content: center;
}

.fx-row-end-xs {
	justify-content: flex-end;
}

.fx-row-between-xs {
	justify-content: space-between;
}

.fx-row-around-xs {
	justify-content: space-around;
}

.fx-row-reverse-xs {
	flex-direction: row-reverse;
}

.fx-row-align-center-xs {
	align-items: center;
}

[class*=fx-col] {
	flex-grow: 1;
}

.fx-row-3-xs > [class*=fx-col] {
	margin-top: 3px;
	padding-right: 2.5px;
	padding-left: 1.5px;
}

.fx-row-5-xs > [class*=fx-col] {
	margin-top: 5px;
	padding-right: 2.5px;
	padding-left: 2.5px;
}

.fx-row-10-xs > [class*=fx-col] {
	margin-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.fx-row-15-xs > [class*=fx-col] {
	margin-top: 15px;
	padding-right: 7.5px;
	padding-left: 7.5px;
}

.fx-row-20-xs > [class*=fx-col] {
	margin-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
}

.fx-row-30-xs > [class*=fx-col] {
	margin-top: 30px;
	padding-right: 15px;
	padding-left: 15px;
}

.fx-row-40-xs > [class*=fx-col] {
	margin-top: 40px;
	padding-right: 20px;
	padding-left: 20px;
}

.fx-row-50-xs > [class*=fx-col] {
	margin-top: 50px;
	padding-right: 25px;
	padding-left: 25px;
}

.fx-row-60-xs > [class*=fx-col] {
	margin-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}

.fx-col-10-xs {
	flex-basis: 10%;
	max-width: 10%;
}

.fx-col-20-xs {
	flex-basis: 20%;
	max-width: 20%;
}

.fx-col-25-xs {
	flex-basis: 25%;
	max-width: 25%;
}

.fx-col-30-xs {
	flex-basis: 30%;
	max-width: 30%;
}

.fx-col-33-xs {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.fx-col-40-xs {
	flex-basis: 40%;
	max-width: 40%;
}

.fx-col-50-xs {
	flex-basis: 50%;
	max-width: 50%;
}

.fx-col-60-xs {
	flex-basis: 60%;
	max-width: 60%;
}

.fx-col-66-xs {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}

.fx-col-70-xs {
	flex-basis: 70%;
	max-width: 70%;
}

.fx-col-75-xs {
	flex-basis: 75%;
	max-width: 75%;
}

.fx-col-80-xs {
	flex-basis: 80%;
	max-width: 80%;
}

.fx-col-90-xs {
	flex-basis: 90%;
	max-width: 90%;
}

.fx-col-100-xs {
	flex-basis: 100%;
	max-width: 100%;
}

@media screen and (min-width: 768px) {

.hidden--s {
	display: none !important;
}

.visibility--s {
	display: block !important;
}

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

.visibility--s {
	display: block !important;
}

.hidden--s {
	display: none !important;
}

.content__area {
	padding: 0 60px;
}

.header__nav > ul {
	display: flex;
}

.header__nav > ul > li {
	display: flex;
	position: relative;
	align-items: center;
	height: 65px;
	cursor: pointer;
}

.header__nav > ul > li::before {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 25px;
	transform: translateX(-50%) scaleY(0);
	transform-origin: top;
	background-color: #557e64;
	content: "";
	transition: transform 0.4s;
}

.header__nav > ul > li:hover::before {
	transform: scaleY(1);
	animation: nav__hover 0.4s linear 0s alternate none;
}

.header__nav > ul > li + li {
	margin-left: 10px;
}

.header__nav > ul > li:hover .header__nav__item {
	color: #557e64;
}

.header__nav__item {
	color: #0f0f0f;
	font-size: 1.2rem;
}

.header__btn {
	display: flex;
}

.header__btn .btn {
	min-width: 170px;
	padding: 10px;
	font-size: 1.2rem;
}

.header__btn .btn::after {
	content: none;
}

.header__btn .btn .btn__txt {
	display: flex;
	align-items: center;
}

.header__btn .btn .icon-video {
	margin-right: 10px;
	font-size: 1.8rem;
}

.header__btn .btn__owner .icon-owner {
	width: 12px;
	height: 18px;
	margin: 0 10px 0 0;
	background-image: url("./img/common/icos_owner_pc.png");
}

.response__btn__wrap > ul {
	margin: 0 -10px;
}

.response__btn__wrap > ul > li {
	width: 100%;
	margin: 0 10px;
}

.response__btn__wrap .btn,
.response__btn__wrap .btn__tel {
	max-width: 100%;
	height: 107px;
}

.fixed__img__main {
	padding-top: 26.0416vw;
	background-image: url("./img/response/img_response_pc.jpg");
	background-attachment: fixed;
}

.footer__logo img {
	margin: 0 auto;
}

.footer__info {
	flex-basis: 50%;
	max-width: 50%;
	padding: 20px 10px 0;
}

.footer__info + .footer__info {
	margin-top: 0;
}

.footer__info > p span {
	margin-right: 15px;
}

.footer__info__wrap > p span {
	display: inline-block;
	margin-top: 0;
	margin-left: 25px;
}

.footer__info__wrap__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -20px -10px 0;
}

.pagetop::before {
	transition: background-color 0.4s;
}

.pagetop:hover {
	color: #a58c4f;
}

.pagetop:hover::before {
	background-color: #a58c4f;
}

.fixed__footer {
	display: none;
}

.btn__line::before {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scaleX(0);
	transform-origin: left;
	background-color: #fff;
	content: "";
}

.btn:hover::before {
	transform: scale(1, 1);
	transform-origin: left top;
}

.btn:hover .btn__line::before {
	animation-duration: 0.4s;
	animation-name: btn__line__hover;
}

.swiper__gallery__prev::before,
.swiper__gallery__next::before {
	z-index: 1;
}

.swiper__gallery__prev::after,
.swiper__gallery__next::after {
	display: inline-block;
	z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	background-color: #305840;
	content: "";
	transition: transform 0.4s;
}

.swiper__gallery__prev:hover::after,
.swiper__gallery__next:hover::after {
	transform: scale(1, 1);
	transform-origin: left top;
}

.footer__bnr__area > ul {
	grid-template-columns: 1fr 1fr;
}

.footer__bnr__item {
	position: relative;
}

.footer__bnr__item::before {
	display: inline-block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	content: "";
	opacity: 0;
	transition: opacity 0.4s;
}

.footer__bnr__item:hover::before {
	opacity: 1;
}

.footer__bnr__item1::before {
	background-image: url("./img/footer/footer_bnr01_hover.jpg");
}

.footer__bnr__item2::before {
	background-image: url("./img/footer/footer_bnr02_hover.jpg");
}

.pager > li > a:hover {
	background-color: #282828;
}

.page__ttl__2 {
	text-align: center;
}

.link span {
	transition: border-bottom 0.4s;
}

.link:hover span {
	border-bottom-color: transparent;
}

.table th,
.table td {
	display: table-cell;
	border-top: 1px solid #c7c7c7;
}

.table th {
	width: 190px;
	border-left: 1px solid #c7c7c7;
	white-space: nowrap;
}

.table td {
	border-right: 1px solid #c7c7c7;
}

.table tr:last-child th,
.table tr:last-child td {
	border-bottom: 1px solid #c7c7c7;
}

.page__ttl__1__logo {
	display: flex;
	align-items: center;
}

.guide__price__title br {
	display: none;
}

.guide__ori__table {
	margin: 0 0 15px;
}

.guide__ori__table__inner {
	padding-right: 0;
	overflow-x: auto;
	white-space: normal;
}

.guide__ori__table table th {
	width: 25%;
}

.guide__ori__table table td:last-child {
	width: 30%;
}

.guide__ori__txt .sp- {
	display: none;
}

.guide__operation .page__ttl__logo {
	margin: 0 20px 0 0;
}

.mv {
	position: relative;
	overflow: hidden;
}

.mv__carch {
	bottom: 30px;
	left: 12.2395vw;
	max-width: 72.1354vw;
}

.mv__carch img {
	width: 100%;
	max-width: none;
}

.scroll__bar {
	display: block;
	z-index: 1;
	position: absolute;
	bottom: -70px;
	left: 20px;
	width: 15px;
	height: 250px;
	overflow: hidden;
	line-height: 1;
}

.scroll__bar::before,
.scroll__bar::after {
	display: block;
	position: absolute;
	left: 50%;
	width: 1px;
	content: "";
}

.scroll__bar::before {
	z-index: 0;
	bottom: 0;
	height: 150px;
	background: rgba(255, 255, 255, 0.3);
}

.scroll__bar::after {
	z-index: 1;
	bottom: 50px;
	height: 0;
	background: rgba(255, 255, 255, 0.5);
	animation-duration: 2.5s;
	animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	animation-iteration-count: infinite;
	animation-name: scrollBar;
}

.scroll__bar .scroll__bar__txt {
	color: #fff;
	font-size: 1.6rem;
	white-space: nowrap;
	cursor: pointer;
	writing-mode: vertical-rl;
}

.t__news a:not(.news__box):hover {
	background-color: #fff;
	color: #21472f;
}

.t__news .news__box:hover .news__date,
.t__news .news__box:hover .news__ttl {
	color: #557e64;
}

.start__content {
	padding: 60px 0 17.7083vw;
	overflow: hidden;
	background: none;
}

.start__ttl span br.sp {
	display: none;
}

.start__ttl img {
	max-width: calc(100% - 60px);
	margin: 0 auto;
}

.t__start__body > p {
	text-align: center;
}

.peace__ttl::before {
	top: -115px;
	right: -25px;
}

.peace__ttl__wrap {
	display: flex;
}

.peace__ttl__wrap .peace__ttl {
	order: 2;
	margin-left: 30px;
}

.peace__ttl__wrap .peace__img {
	display: block;
	order: 1;
}

.t__peace__body > ul > li:first-child {
	flex-basis: 57%;
	max-width: 57%;
}

.t__peace__body > ul > li:last-child {
	flex-basis: 43%;
	max-width: 43%;
}

.t__peace__body .peace__txt {
	margin-top: 90px;
}

.t__peace__body {
	margin-top: -90px;
}

.t__feature__body .ttl__c__1 span {
	top: -7px;
}

.t__feature__box:nth-child(2) .t__feature__box__inner > ul > li:first-child,
.t__feature__box:last-child .t__feature__box__inner > ul > li:first-child {
	flex-basis: 61.7%;
	max-width: 61.7%;
}

.t__feature__box:nth-child(2) .t__feature__box__inner > ul > li:last-child,
.t__feature__box:last-child .t__feature__box__inner > ul > li:last-child {
	flex-basis: 38.3%;
	max-width: 38.3%;
}

.t__feature__box {
	padding: 40px;
}

.reservation__img__list {
	display: flex;
	flex-wrap: wrap;
	margin: -30px -15px 0;
}

.reservation__img__list li {
	width: 50%;
	padding: 30px 15px 0;
}

.architect__content {
	background-image: url("./img/top/architect/img_bg_architect_pc.jpg");
	background-position: top;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.architect__bg {
	display: none;
}

.t__architect__body > ul {
	align-items: center;
}

.gallery__content .content__area {
	max-width: 1260px;
}

.gallery__swiper__thumbs__container .gallery__slider_item img {
	height: 4.2187vw;
}

.gallery__swiper__thumbs__container .swiper-wrapper {
	flex-wrap: wrap;
	width: auto;
	margin: -3px 0 0;
}

.gallery__swiper__thumbs__container .swiper-wrapper .swiper-slide {
	width: 10% !important;
	padding: 3px 0 0;
}

.contact__txt {
	text-align: center;
}

.contact__input--s {
	max-width: 500px;
}

.form__table th,
.form__table td {
	display: table-cell;
}

.form__table th {
	position: relative;
	width: 250px;
	padding-right: 40px;
	border-bottom: 1px solid #c7c7c7;
	text-align: right;
}

.form__table th > span:not(.must):not(.any) {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.form__table th > span .must,
.form__table th > span .any {
	order: 2;
	margin-right: 0;
	margin-left: 20px;
}

.form__table th label {
	cursor: auto;
}

.form__table tr + tr td {
	padding-top: 15px;
}

.radio__check.checkbox-style > li .mwform-checkbox-field-text::after {
	top: 15px;
	left: 8px;
	width: 11px;
}

.th__middle {
	vertical-align: middle;
}

.form__wrap > p {
	margin-right: 15px;
	margin-bottom: 0;
	white-space: nowrap;
}

.form__wrap {
	display: flex;
	align-items: center;
}

.form__box {
	width: 100%;
}

.form__box input:not([type=text]),
.form__box .contact__select__wrap {
	max-width: 300px;
}

.mw_wp_form_confirm .form__btn__box {
	gap: 30px;
}

.mw_wp_form_confirm .form__btn__box > p {
	flex: 0 0 auto;
	max-width: none;
}

.mw_wp_form_confirm .form__btn__box .btn_back,
.mw_wp_form_confirm .form__btn__box .btn_send {
	width: 280px;
	height: 65px;
}

.confirm__btn {
	display: flex;
	align-items: center;
	justify-content: center;
}

.confirm__btn .form-btn {
	min-width: 300px;
}

.confirm__btn .form-btn + .form-btn {
	margin-top: 0;
	margin-left: 30px;
}

.guide__1 .page__ttl__2 + p {
	text-align: center;
}

.guide__1__img {
	padding-top: 340px;
}

.guide__4__txt {
	text-align: center;
}

.guide__6__table th,
.guide__6__table td {
	display: table-cell;
	border-top: 1px solid #c7c7c7;
}

.guide__6__table th {
	width: 190px;
	border-left: 1px solid #c7c7c7;
	white-space: nowrap;
}

.guide__6__table td {
	border-right: 1px solid #c7c7c7;
}

.guide__6__table tr:last-child th,
.guide__6__table tr:last-child td {
	border-bottom: 1px solid #c7c7c7;
}

.news__box {
	display: flex;
	position: relative;
	align-items: center;
	padding-bottom: 20px;
}

.news__list li + li .news__box {
	padding-top: 20px;
}

.news__date {
	margin-right: 60px;
	margin-bottom: 0;
	white-space: nowrap;
}

.news__ttl {
	transition: color 0.4s;
}

.news__detail__ttl .news__date {
	margin-right: 0;
	margin-bottom: 5px;
}

.news__detail__body a:hover {
	border-bottom-color: transparent;
}

.start__content {
	padding: 60px 0 17.7083vw;
	overflow: hidden;
	background: none;
}

.start__ttl span br.sp {
	display: none;
}

.gallery__content .content__area {
	max-width: 1260px;
}

.gallery__swiper__thumbs__container .gallery__slider_item img {
	height: 4.2187vw;
}

.gallery__swiper__thumbs__container .swiper-wrapper {
	flex-wrap: wrap;
	width: auto;
	margin: -3px 0 0;
}

.gallery__swiper__thumbs__container .swiper-wrapper .swiper-slide {
	width: 10% !important;
	padding: 3px 0 0;
}

.header__btn {
	display: flex;
}

.header__btn .btn {
	min-width: 190px;
	padding: 10px;
	font-size: 1.2rem;
}

.header__btn .btn .btn__txt {
	display: flex;
	align-items: center;
}

.header__btn .btn .icon-video {
	margin-right: 10px;
	font-size: 1.8rem;
}

.fx-row-0-s {
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
}

.fx-row-3-s {
	margin-top: -3px;
	margin-right: -1.5px;
	margin-left: -1.5px;
}

.fx-row-5-s {
	margin-top: -5px;
	margin-right: -2.5px;
	margin-left: -2.5px;
}

.fx-row-10-s {
	margin-top: -10px;
	margin-right: -5px;
	margin-left: -5px;
}

.fx-row-15-s {
	margin-top: -15px;
	margin-right: -7.5px;
	margin-left: -7.5px;
}

.fx-row-20-s {
	margin-top: -20px;
	margin-right: -10px;
	margin-left: -10px;
}

.fx-row-30-s {
	margin-top: -30px;
	margin-right: -15px;
	margin-left: -15px;
}

.fx-row-40-s {
	margin-top: -40px;
	margin-right: -20px;
	margin-left: -20px;
}

.fx-row-50-s {
	margin-top: -50px;
	margin-right: -25px;
	margin-left: -25px;
}

.fx-row-60-s {
	margin-top: -60px;
	margin-right: -30px;
	margin-left: -30px;
}

.fx-row-start-s {
	justify-content: flex-start;
}

.fx-row-center-s {
	justify-content: center;
}

.fx-row-end-s {
	justify-content: flex-end;
}

.fx-row-between-s {
	justify-content: space-between;
}

.fx-row-around-s {
	justify-content: space-around;
}

.fx-row-reverse-s {
	flex-direction: row-reverse;
}

.fx-row-align-center-s {
	align-items: center;
}

.fx-row-0-s > [class*=fx-col] {
	margin-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.fx-row-3-s > [class*=fx-col] {
	margin-top: 3px;
	padding-right: 2.5px;
	padding-left: 1.5px;
}

.fx-row-5-s > [class*=fx-col] {
	margin-top: 5px;
	padding-right: 2.55px;
	padding-left: 2.5px;
}

.fx-row-10-s > [class*=fx-col] {
	margin-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.fx-row-15-s > [class*=fx-col] {
	margin-top: 15px;
	padding-right: 7.5px;
	padding-left: 7.5px;
}

.fx-row-20-s > [class*=fx-col] {
	margin-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
}

.fx-row-30-s > [class*=fx-col] {
	margin-top: 30px;
	padding-right: 15px;
	padding-left: 15px;
}

.fx-row-40-s > [class*=fx-col] {
	margin-top: 40px;
	padding-right: 20px;
	padding-left: 20px;
}

.fx-row-50-s > [class*=fx-col] {
	margin-top: 50px;
	padding-right: 25px;
	padding-left: 25px;
}

.fx-row-60-s > [class*=fx-col] {
	margin-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}

.fx-col-10-s {
	flex-basis: 10%;
	max-width: 10%;
}

.fx-col-20-s {
	flex-basis: 20%;
	max-width: 20%;
}

.fx-col-25-s {
	flex-basis: 25%;
	max-width: 25%;
}

.fx-col-30-s {
	flex-basis: 30%;
	max-width: 30%;
}

.fx-col-33-s {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.fx-col-40-s {
	flex-basis: 40%;
	max-width: 40%;
}

.fx-col-45-s {
	flex-basis: 45%;
	max-width: 45%;
}

.fx-col-50-s {
	flex-basis: 50%;
	max-width: 50%;
}

.fx-col-55-s {
	flex-basis: 55%;
	max-width: 55%;
}

.fx-col-60-s {
	flex-basis: 60%;
	max-width: 60%;
}

.fx-col-66-s {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}

.fx-col-70-s {
	flex-basis: 70%;
	max-width: 70%;
}

.fx-col-75-s {
	flex-basis: 75%;
	max-width: 75%;
}

.fx-col-80-s {
	flex-basis: 80%;
	max-width: 80%;
}

.fx-col-90-s {
	flex-basis: 90%;
	max-width: 90%;
}

.fx-col-100-s {
	flex-basis: 100%;
	max-width: 100%;
}

}

@media screen and (min-width: 768px) and (max-width: 1199px) {

.response__btn__wrap:last-child > ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

.response__btn__wrap > ul > li + li {
	margin-top: 0;
}

}

@media screen and (min-width: 768px) and (max-width: 1399px) {

.start__content {
	background-image: url("./img/top/start/img_bg_pc.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.start__content__img {
	opacity: 0;
}

}

@media screen and (min-width: 992px) {

.hidden--m {
	display: none !important;
}

.visibility--m {
	display: block !important;
}

body {
	font-size: 1.6rem;
}

.visibility--m {
	display: block !important;
}

.hidden--m {
	display: none !important;
}

.content {
	margin-bottom: 120px;
}

.content__bg {
	padding: 120px 0;
}

.header__logo {
	max-width: 146px;
}

.header__nav {
	display: block;
}

.header__nav > ul > li + li {
	margin-left: 30px;
}

.header__nav__item {
	font-size: 1.4rem;
}

.header__btn {
	margin-left: 30px;
}

.header__btn .btn .icons__mail {
	margin-right: 10px;
	font-size: 1.3rem;
}

.header__btn .btn__owner {
	height: 65px;
}

.header__menu {
	display: flex;
	align-items: center;
}

.hamburger__btn {
	width: 65px;
	height: 65px;
}

.hamburger__btn::before {
	display: inline-block;
	z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	background-color: #282828;
	content: "";
	transition: transform 0.4s;
}

.hamburger__btn:hover:before {
	transform: scale(1, 1);
	transform-origin: left top;
}

.response__ttl {
	margin: -10px 0 15px;
	font-size: 3.4rem;
	letter-spacing: 0.045em;
}

.response__ttl + p {
	text-align: center;
}

.response__btn__wrap .btn,
.response__btn__wrap .btn__tel {
	min-width: 400px;
}

.response__btn__wrap .btn .icons__mail {
	font-size: 1.7rem;
}

.content__bg.response__content {
	padding: 84px 0;
}

.footer {
	padding: 100px 0 70px;
	background-image: url("./img/footer/img_bg_footer_pc.jpg");
}

.footer__info > p {
	font-size: 1.8rem;
}

.footer__info > p span {
	font-size: 1.4rem;
}

.footer__info > ul > li {
	font-size: 1.4rem;
	line-height: 1.6;
}

.footer__info__wrap > p {
	font-size: 2rem;
}

.footer__info__wrap > p span {
	font-size: 1.6rem;
}

.ttl__1__en {
	margin-top: 15px;
	font-size: 1.6rem;
	letter-spacing: 0.09em;
}

.ttl__1 {
	margin: -11px 0 50px;
	font-size: 4rem;
	letter-spacing: 0.05em;
}

.ttl__2 {
	margin: -9px 0 10px;
	font-size: 3rem;
	letter-spacing: 0.05em;
}

.ttl__c__1 span {
	width: 60px;
	height: 60px;
}

.ttl__c__1 span::before {
	font-size: 3rem;
}

.ttl__c__1 {
	margin: -5px 0 35px;
	padding-top: 5px;
	padding-left: 85px;
	font-size: 3.4rem;
	letter-spacing: 0.05em;
}

.btn__line {
	top: 39px;
}

.btn {
	height: 80px;
}

.parts__1__img {
	padding-top: 285px;
}

.parts__1 > .img__effect__wrap {
	margin-bottom: 25px;
}

.page__mv {
	height: 180px;
	margin-bottom: 90px;
}

.page__mv::before {
	width: 90px;
}

.pager__content {
	margin-top: 90px;
}

.page__ttl__1 {
	margin: -8px 0 20px;
	padding-bottom: 13px;
	font-size: 2.8rem;
}

.page__ttl__2 {
	font-size: 4rem;
}

.page__ttl__3 {
	margin: -13px auto 65px;
	font-size: 3.8rem;
}

.page__ttl__4 {
	margin: -8px 0 15px;
	font-size: 2.4rem;
}

.notes > p {
	font-size: 1.6rem;
}

.not-found__content .page__ttl__1 + p {
	margin-bottom: 60px;
}

.table th,
.table td {
	padding: 20px;
	font-size: 1.8rem;
}

.table th {
	width: 300px;
}

.box__3 + .box__3 {
	margin-top: 90px;
}

.guide__price__wrap {
	margin-bottom: 20px;
}

.guide__price__wrap__inner {
	margin-bottom: 5px;
}

.guide__price__title {
	padding-right: 30px;
	font-size: 3rem;
}

.guide__price__txt {
	padding-left: 30px;
}

.guide__price__main {
	font-size: 5rem;
}

.guide__price__unit {
	font-size: 3rem;
}

.guide__ori__table table th,
.guide__ori__table table td {
	padding: 20px;
}

.guide__ori__table table th {
	width: 250px;
}

.guide__ori__table table td:last-child {
	width: 250px;
}

.guide__ori__title {
	font-size: 1.4rem;
}

.guide__ori__title span {
	font-size: 2rem;
}

.guide__ori__price {
	font-size: 1.6rem;
}

.guide__ori__price span {
	font-size: 2rem;
}

.guide__operation {
	padding: 40px;
}

.guide__operation__company span {
	font-size: 2rem;
}

.mv__carch {
	padding: 0;
}

.t__news a:not(.news__box) {
	margin-left: 30px;
}

.t__news {
	display: flex;
	padding: 0;
}

.t__news__ttl .ttl__1 {
	white-space: nowrap;
}

.t__news__ttl > a {
	display: none;
}

.t__news__ttl {
	align-items: center;
	margin-right: 30px;
	margin-bottom: 0;
	padding: 20px;
}

.t__news__main {
	width: calc(100% - 140px);
}

.t__news__list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 20px 30px 20px 0;
}

.t__news__list > a {
	display: block;
	min-width: 140px;
}

.start__content {
	padding: 100px 0 17.7083vw;
}

.start__content__inner {
	top: 100px;
}

.start__ttl span {
	font-size: 4rem;
}

.start__ttl {
	margin: -9px 0 60px;
}

.t__start__body > p {
	margin-bottom: 55px;
}

.peace__ttl::before {
	top: -205px;
	right: -55px;
	width: 219px;
	height: 200px;
}

.t__feature__body .ttl__c__1 span {
	top: 0;
}

.t__feature__body {
	margin-bottom: 60px;
}

.t__feature__box > p {
	margin-bottom: 35px;
}

.t__feature__box > .ttl__c__1 {
	font-size: 3rem;
}

.t__feature__box {
	padding: 60px;
}

.t__feature__img__ttl {
	padding: 7px 5px;
	font-size: 2rem;
}

.t__feature__box__inner__1 + .t__feature__box__inner__1 {
	margin-top: 40px;
}

.t__feature__box__inner__1:first-child > ul > li:nth-child(n+3) {
	margin-top: 30px;
}

.t__feature__modal__wrap + .t__feature__modal__wrap {
	margin-top: 40px;
}

.t__feature__modal__wrap .ttl__2 {
	margin: -9px 0 24px;
	font-size: 2.6rem;
}

.reservation__top {
	margin-bottom: 60px;
}

.reservation__img__list {
	margin: -60px -30px 0;
}

.reservation__img__list li {
	padding: 60px 30px 0;
}

.t__facility__body .ttl__2 {
	font-size: 2.4rem;
}

.architect__company {
	font-size: 1.6rem;
}

.architect__name {
	font-size: 3.4rem;
}

.architect__name__en {
	margin-left: 20px;
	font-size: 1.4rem;
}

.t__architect__txt > p {
	margin-bottom: 30px;
}

.contact__body {
	margin-bottom: 90px;
}

.contact__txt {
	margin-bottom: 55px;
}

.contact__tel {
	padding: 29px 20px;
}

.contact__tel__txt__1 {
	margin-bottom: 9px;
	font-size: 2rem;
}

.contact__tel__number .icon-tel {
	margin-right: 20px;
}

.contact__tel__number {
	font-size: 5rem;
	letter-spacing: 3px;
}

.contact__tel__txt__2 {
	font-size: 1.6rem;
}

.contact__privacy label {
	padding: 10px 15px 10px 55px;
}

.contact__privacy .mwform-checkbox-field-text::before {
	top: 15px;
	left: 15px;
	width: 26px;
	height: 26px;
}

.contact__privacy .mwform-checkbox-field-text::after {
	top: 24px;
	left: 22px;
}

.form__table {
	margin-bottom: 60px;
}

.form__table th,
.form__table td {
	font-size: 1.8rem;
}

.form__table th {
	width: 275px;
}

.form__table td {
	padding-bottom: 30px;
}

.form__table tr + tr th {
	padding-top: 20px;
}

.form__table tr + tr td {
	padding-top: 30px;
}

.form__table input,
.form__table input[type=text],
.form__table input[type=email],
.form__table input[type=tel],
.form__table textarea {
	font-size: 1.8rem;
}

.form__table select {
	padding-left: 20px;
}

.form__table.confirm__table th {
	padding-bottom: 30px;
}

.form__table.confirm__table tr + tr th {
	padding-top: 30px;
}

.must,
.any {
	font-size: 1.4rem;
}

.radio__check > li {
	padding-left: 2em;
	font-size: 1.8rem;
}

.radio__check > li .mwform-radio-field-text::before,
.radio__check > li .mwform-checkbox-field-text::before {
	top: 7px;
	width: 24px;
	height: 24px;
}

.radio__check > li .mwform-radio-field-text::after,
.radio__check > li .mwform-checkbox-field-text::after {
	top: 13px;
	left: 6px;
	width: 12px;
	height: 12px;
}

.form__wrap + .form__wrap {
	margin-top: 20px;
}

.form__wrap > p {
	margin-right: 25px;
}

.error-text {
	margin-top: 5px;
	font-size: 1.4rem;
}

.mw_wp_form_confirm .form__btn__box .btn_back,
.mw_wp_form_confirm .form__btn__box .btn_send {
	width: 300px;
}

.confirm__btn .form-btn {
	min-width: 335px;
}

.confirm__btn .form-btn + .form-btn {
	margin-left: 60px;
}

.thanks__content .page__ttl__1 + p {
	margin-bottom: 60px;
}

.guide__1 > .content__area {
	margin-bottom: 50px;
}

.guide__2 .page__ttl__3 {
	margin: -15px auto 65px;
}

.guide__2__box + .guide__2__box {
	margin-top: 60px;
}

.guide__3 .ttl__2 + p {
	font-size: 1.6rem;
}

.guide__3 .ttl__2 {
	font-size: 2.2rem;
}

.guide__4__txt {
	margin-top: 45px;
	font-size: 2.6rem;
}

.guide__5__number span {
	font-size: 1.8rem;
}

.guide__5__number {
	width: 65px;
	height: 65px;
	font-size: 2.4rem;
}

.guide__6__box + .guide__6__box {
	margin-top: 90px;
}

.guide__6__box > p {
	margin-bottom: 35px;
}

.guide__6__different__ttl {
	padding: 7px 5px;
	font-size: 2.6rem;
}

.guide__6__price__txt .icon {
	margin-right: 20px;
	padding: 9px 12px;
	font-size: 2rem;
}

.guide__6__price__txt .price {
	margin-bottom: -1px;
	font-size: 5rem;
}

.guide__6__price__txt .unit {
	margin-bottom: 7px;
	font-size: 2.6rem;
}

.guide__6__price__txt .tax {
	margin-bottom: 7px;
}

.guide__6__price__txt {
	margin-top: -8px;
	margin-bottom: 30px;
}

.guide__6__price__inner > p::before {
	top: 24px;
}

.guide__6__price__inner > p {
	margin-bottom: 15px;
	padding: 6px 30px;
	font-size: 2rem;
}

.guide__6__price__list {
	font-size: 1.6rem;
}

.guide__6__table th,
.guide__6__table td {
	padding: 20px;
	font-size: 1.8rem;
}

.guide__6__table th {
	width: 300px;
}

.news__detail__ttl {
	margin-bottom: 15px;
}

.news__detail__ttl .news__ttl {
	font-size: 3.4rem;
}

.news__detail__body {
	margin-bottom: 90px;
}

.news__detail__body h2 {
	margin-top: 70px;
	padding-bottom: 13px;
	font-size: 2.8rem;
}

.news__detail__body a[target]::after {
	font-size: 1.5rem;
}

.start__content {
	padding: 100px 0 17.7083vw;
}

.start__ttl span {
	font-size: 4rem;
}

.start__ttl {
	margin: -9px 0 60px;
}

.fx-row-0-m {
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
}

.fx-row-3-m {
	margin-top: -3px;
	margin-right: -1.5px;
	margin-left: -1.5px;
}

.fx-row-5-m {
	margin-top: -5px;
	margin-right: -2.5px;
	margin-left: -2.5px;
}

.fx-row-10-m {
	margin-top: -10px;
	margin-right: -5px;
	margin-left: -5px;
}

.fx-row-15-m {
	margin-top: -15px;
	margin-right: -7.5px;
	margin-left: -7.5px;
}

.fx-row-20-m {
	margin-top: -20px;
	margin-right: -10px;
	margin-left: -10px;
}

.fx-row-30-m {
	margin-top: -30px;
	margin-right: -15px;
	margin-left: -15px;
}

.fx-row-40-m {
	margin-top: -40px;
	margin-right: -20px;
	margin-left: -20px;
}

.fx-row-50-m {
	margin-top: -50px;
	margin-right: -25px;
	margin-left: -25px;
}

.fx-row-60-m {
	margin-top: -60px;
	margin-right: -30px;
	margin-left: -30px;
}

.fx-row-start-m {
	justify-content: flex-start;
}

.fx-row-center-m {
	justify-content: center;
}

.fx-row-end-m {
	justify-content: flex-end;
}

.fx-row-between-m {
	justify-content: space-between;
}

.fx-row-around-m {
	justify-content: space-around;
}

.fx-row-reverse-m {
	flex-direction: row-reverse;
}

.fx-row-align-center-m {
	align-items: center;
}

.fx-row-0-m > [class*=fx-col] {
	margin-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.fx-row-3-m > [class*=fx-col] {
	margin-top: 3px;
	padding-right: 2.5px;
	padding-left: 1.5px;
}

.fx-row-5-m > [class*=fx-col] {
	margin-top: 5px;
	padding-right: 2.55px;
	padding-left: 2.5px;
}

.fx-row-10-m > [class*=fx-col] {
	margin-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.fx-row-15-m > [class*=fx-col] {
	margin-top: 15px;
	padding-right: 7.5px;
	padding-left: 7.5px;
}

.fx-row-20-m > [class*=fx-col] {
	margin-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
}

.fx-row-30-m > [class*=fx-col] {
	margin-top: 30px;
	padding-right: 15px;
	padding-left: 15px;
}

.fx-row-40-m > [class*=fx-col] {
	margin-top: 40px;
	padding-right: 20px;
	padding-left: 20px;
}

.fx-row-50-m > [class*=fx-col] {
	margin-top: 50px;
	padding-right: 25px;
	padding-left: 25px;
}

.fx-row-60-m > [class*=fx-col] {
	margin-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}

.fx-col-10-m {
	flex-basis: 10%;
	max-width: 10%;
}

.fx-col-14-m {
	flex-basis: 14%;
	max-width: 14%;
}

.fx-col-20-m {
	flex-basis: 20%;
	max-width: 20%;
}

.fx-col-25-m {
	flex-basis: 25%;
	max-width: 25%;
}

.fx-col-30-m {
	flex-basis: 30%;
	max-width: 30%;
}

.fx-col-33-m {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.fx-col-40-m {
	flex-basis: 40%;
	max-width: 40%;
}

.fx-col-50-m {
	flex-basis: 50%;
	max-width: 50%;
}

.fx-col-60-m {
	flex-basis: 60%;
	max-width: 60%;
}

.fx-col-66-m {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}

.fx-col-70-m {
	flex-basis: 70%;
	max-width: 70%;
}

.fx-col-75-m {
	flex-basis: 75%;
	max-width: 75%;
}

.fx-col-80-m {
	flex-basis: 80%;
	max-width: 80%;
}

.fx-col-90-m {
	flex-basis: 90%;
	max-width: 90%;
}

.fx-col-100-m {
	flex-basis: 100%;
	max-width: 100%;
}

}

@media screen and (min-width: 1200px) {

.hidden--l {
	display: none !important;
}

.visibility--l {
	display: block !important;
}

body {
	font-size: 1.8rem;
}

.visibility--l {
	display: block !important;
}

.hidden--l {
	display: none !important;
}

.header__logo {
	max-width: 170px;
}

.header__nav > ul > li {
	height: 80px;
}

.header__btn .btn {
	display: flex;
	min-width: 220px;
	height: 80px;
	font-size: 1.3rem;
}

.header__btn .btn .icons__mail {
	margin-right: 20px;
	font-size: 1.3rem;
}

.header__btn .btn .icon-video {
	margin-right: 20px;
	font-size: 2rem;
}

.header__btn .btn__owner {
	min-width: 180px;
}

.header__btn .btn__video {
	min-width: 128px;
}

.header__btn .btn__video .icon-video2 {
	display: block;
	width: 23px;
	height: 16px;
	margin-right: 10px;
	background-image: url("./img/common/icon_video.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.hamburger__btn {
	display: none;
}

.response__ttl {
	text-align: left;
}

.response__ttl + p {
	margin-bottom: 0;
	text-align: left;
}

.response__body {
	display: flex;
	justify-content: space-between;
}

.response__btn__wrap {
	min-width: 500px;
	margin-left: 30px;
}

.response__btn__wrap > ul {
	margin: 0;
}

.response__btn__wrap > ul > li {
	margin: 0;
}

.response__btn__wrap .btn {
	font-size: 2rem;
}

.response__btn__wrap .btn__tel {
	display: flex;
	align-items: center;
	max-width: 100%;
	height: auto;
	padding: 0;
	border: none;
}

.tel__txt {
	display: none;
	margin-right: 15px;
	margin-bottom: 0;
	font-size: 1.4rem;
}

.tel__number {
	margin-right: 20px;
	margin-bottom: 0;
	font-size: 2.6rem;
}

.tel__number .icon-tel {
	margin-right: 5px;
	margin-left: 0;
	font-size: 1.6rem;
}

.tel__time {
	font-size: 1.4rem;
}

.footer__info {
	position: relative;
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.footer__info + .footer__info::before {
	display: inline-block;
	position: absolute;
	top: 20px;
	left: 0;
	width: 1px;
	height: calc(100% - 20px);
	background-color: #414141;
	content: "";
}

.footer__info__wrap > p {
	margin-bottom: 45px;
}

.footer__info__wrap {
	margin-bottom: 55px;
}

.lb-data .lb-close {
	width: 100px;
	height: 100px;
}

.lb-data .lb-close::before,
.lb-data .lb-close::after {
	top: 50px;
	left: 27px;
	width: 44px;
}

.footer__bnr__area > ul {
	gap: 60px;
}

.t__news .news__box {
	display: flex;
}

.t__news .news__date {
	margin-right: 20px;
	font-size: 1.6rem;
}

.t__news .news__ttl {
	font-size: 1.6rem;
}

.t__news__ttl .ttl__1 {
	margin-bottom: -5px;
}

.start__ttl img {
	max-width: 100%;
}

.peace__ttl__wrap .peace__ttl {
	max-width: 261px;
	margin-left: 90px;
}

.t__feature__box > .ttl__c__1 {
	font-size: 3.4rem;
}

.t__facility__body .ttl__2 {
	font-size: 3rem;
}

.architect__history > p {
	margin-bottom: 10px;
	font-size: 1.4rem;
}

.architect__history > table th,
.architect__history > table td {
	display: table-cell;
	font-size: 1.4rem;
}

.architect__history > table th {
	white-space: nowrap;
}

.architect__history {
	padding: 25px 30px;
}

.t__gallery_slider .swiper__gallery__prev,
.t__gallery_slider .swiper__gallery__next {
	width: 60px;
	height: 60px;
	font-size: 1.5rem;
}

.t__gallery_slider .swiper__gallery__prev {
	left: -30px;
}

.t__gallery_slider .swiper__gallery__next {
	right: -30px;
}

.gallery__swiper__container {
	margin-bottom: 40px;
}

.t__gallery_slider .swiper__gallery__prev,
.t__gallery_slider .swiper__gallery__next {
	width: 60px;
	height: 60px;
	font-size: 1.5rem;
}

.t__gallery_slider .swiper__gallery__prev {
	left: -30px;
}

.t__gallery_slider .swiper__gallery__next {
	right: -30px;
}

.gallery__swiper__container {
	margin-bottom: 40px;
}

.header__btn .btn {
	min-width: 220px;
	font-size: 1.3rem;
}

.header__btn .btn .icons__mail {
	font-size: 1.3rem;
}

.header__btn .btn .icon-video {
	margin-right: 20px;
	font-size: 2rem;
}

.fx-row-0-l {
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
}

.fx-row-3-l {
	margin-top: -3px;
	margin-right: -1.5px;
	margin-left: -1.5px;
}

.fx-row-5-l {
	margin-top: -5px;
	margin-right: -2.5px;
	margin-left: -2.5px;
}

.fx-row-10-l {
	margin-top: -10px;
	margin-right: -5px;
	margin-left: -5px;
}

.fx-row-15-l {
	margin-top: -15px;
	margin-right: -7.5px;
	margin-left: -7.5px;
}

.fx-row-20-l {
	margin-top: -20px;
	margin-right: -10px;
	margin-left: -10px;
}

.fx-row-30-l {
	margin-top: -30px;
	margin-right: -15px;
	margin-left: -15px;
}

.fx-row-40-l {
	margin-top: -40px;
	margin-right: -20px;
	margin-left: -20px;
}

.fx-row-50-l {
	margin-top: -50px;
	margin-right: -25px;
	margin-left: -25px;
}

.fx-row-60-l {
	margin-top: -60px;
	margin-right: -30px;
	margin-left: -30px;
}

.fx-row-start-l {
	justify-content: flex-start;
}

.fx-row-center-l {
	justify-content: center;
}

.fx-row-end-l {
	justify-content: flex-end;
}

.fx-row-between-l {
	justify-content: space-between;
}

.fx-row-around-l {
	justify-content: space-around;
}

.fx-row-reverse-l {
	flex-direction: row-reverse;
}

.fx-row-reverse-xl {
	flex-direction: row-reverse;
}

.fx-row-align-center-l {
	align-items: center;
}

.fx-row-align-center-xl {
	align-items: center;
}

.fx-row-0-l > [class*=fx-col] {
	margin-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.fx-row-3-l > [class*=fx-col] {
	margin-top: 3px;
	padding-right: 2.5px;
	padding-left: 1.5px;
}

.fx-row-5-l > [class*=fx-col] {
	margin-top: 5px;
	padding-right: 2.55px;
	padding-left: 2.5px;
}

.fx-row-10-l > [class*=fx-col] {
	margin-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.fx-row-15-l > [class*=fx-col] {
	margin-top: 15px;
	padding-right: 7.5px;
	padding-left: 7.5px;
}

.fx-row-20-l > [class*=fx-col] {
	margin-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
}

.fx-row-30-l > [class*=fx-col] {
	margin-top: 30px;
	padding-right: 15px;
	padding-left: 15px;
}

.fx-row-40-l > [class*=fx-col] {
	margin-top: 40px;
	padding-right: 20px;
	padding-left: 20px;
}

.fx-row-50-l > [class*=fx-col] {
	margin-top: 50px;
	padding-right: 25px;
	padding-left: 25px;
}

.fx-row-60-l > [class*=fx-col] {
	margin-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}

.fx-col-10-l {
	flex-basis: 10%;
	max-width: 10%;
}

.fx-col-16-l {
	flex-basis: 16.6666%;
	max-width: 16.6666%;
}

.fx-col-20-l {
	flex-basis: 20%;
	max-width: 20%;
}

.fx-col-25-l {
	flex-basis: 25%;
	max-width: 25%;
}

.fx-col-30-l {
	flex-basis: 30%;
	max-width: 30%;
}

.fx-col-33-l {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.fx-col-40-l {
	flex-basis: 40%;
	max-width: 40%;
}

.fx-col-50-l {
	flex-basis: 50%;
	max-width: 50%;
}

.fx-col-60-l {
	flex-basis: 60%;
	max-width: 60%;
}

.fx-col-66-l {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}

.fx-col-70-l {
	flex-basis: 70%;
	max-width: 70%;
}

.fx-col-75-l {
	flex-basis: 75%;
	max-width: 75%;
}

.fx-col-80-l {
	flex-basis: 80%;
	max-width: 80%;
}

.fx-col-90-l {
	flex-basis: 90%;
	max-width: 90%;
}

.fx-col-100-l {
	flex-basis: 100%;
	max-width: 100%;
}

}

@media screen and (min-width: 1400px) {

main {
	margin-top: 100px;
}

.header__inner {
	padding-left: 60px;
}

.header__nav > ul > li {
	height: 100px;
}

.header__nav > ul > li + li {
	margin-left: 35px;
}

.header__nav__item {
	font-size: 1.5rem;
}

.header__btn {
	margin-left: 35px;
}

.header__btn .btn {
	min-width: 250px;
	height: 100px;
	font-size: 1.6rem;
}

.header__btn .btn .icons__mail {
	font-size: 1.5rem;
}

.header__btn .btn__video {
	min-width: 158px;
}

.header__btn .btn.btn__owner {
	width: 218px;
	min-width: 218px;
}

.header__btn .btn.btn__owner .icon-owner {
	width: 16px;
	height: 22px;
	margin: -2px 13px 0 0;
}

.header__btn .btn.btn__video {
	width: 168px;
	min-width: 168px;
}

.header__btn .btn.btn__video .icon-video2 {
	margin-right: 15px;
}

.response__btn__wrap {
	margin-left: 90px;
}

.mv__carch {
	bottom: 90px;
}

.scroll__bar {
	bottom: 0;
	left: 55px;
}

.t__news__ttl {
	padding-left: 12.5%;
}

.t__news__list {
	padding-right: 12.5%;
}

.start__ttl span {
	font-size: 5.4rem;
	line-height: 1.2962;
}

.start__ttl {
	margin: -13px 0 60px;
}

.t__peace__body > ul {
	align-items: center;
}

.t__peace__body .peace__txt {
	margin-top: 0;
}

.start__ttl span {
	font-size: 5.4rem;
	line-height: 1.2962;
}

.start__ttl {
	margin: -13px 0 60px;
}

.header__btn .btn {
	min-width: 260px;
	font-size: 1.6rem;
}

.header__btn .btn .icons__mail {
	font-size: 1.5rem;
}

.header__btn .btn .icon-video {
	font-size: 2.2rem;
}

}

@media screen and (min-width: 1500px) {

.fx-row-0-xl {
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
}

.fx-row-3-xl {
	margin-top: -3px;
	margin-right: -1.5px;
	margin-left: -1.5px;
}

.fx-row-5-xl {
	margin-top: -5px;
	margin-right: -2.5px;
	margin-left: -2.5px;
}

.fx-row-10-xl {
	margin-top: -10px;
	margin-right: -5px;
	margin-left: -5px;
}

.fx-row-15-xl {
	margin-top: -15px;
	margin-right: -7.5px;
	margin-left: -7.5px;
}

.fx-row-20-xl {
	margin-top: -20px;
	margin-right: -10px;
	margin-left: -10px;
}

.fx-row-30-xl {
	margin-top: -30px;
	margin-right: -15px;
	margin-left: -15px;
}

.fx-row-40-xl {
	margin-top: -40px;
	margin-right: -20px;
	margin-left: -20px;
}

.fx-row-50-xl {
	margin-top: -50px;
	margin-right: -25px;
	margin-left: -25px;
}

.fx-row-60-xl {
	margin-top: -60px;
	margin-right: -30px;
	margin-left: -30px;
}

.fx-row-90-xl {
	margin-top: -90px;
	margin-right: -45px;
	margin-left: -45px;
}

.fx-row-start-xl {
	justify-content: flex-start;
}

.fx-row-center-xl {
	justify-content: center;
}

.fx-row-end-xl {
	justify-content: flex-end;
}

.fx-row-between-xl {
	justify-content: space-between;
}

.fx-row-around-xl {
	justify-content: space-around;
}

.fx-row-0-xl > [class*=fx-col] {
	margin-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.fx-row-3-xl > [class*=fx-col] {
	margin-top: 3px;
	padding-right: 2.5px;
	padding-left: 1.5px;
}

.fx-row-5-xl > [class*=fx-col] {
	margin-top: 5px;
	padding-right: 2.55px;
	padding-left: 2.5px;
}

.fx-row-10-xl > [class*=fx-col] {
	margin-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
}

.fx-row-15-xl > [class*=fx-col] {
	margin-top: 15px;
	padding-right: 7.5px;
	padding-left: 7.5px;
}

.fx-row-20-xl > [class*=fx-col] {
	margin-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
}

.fx-row-30-xl > [class*=fx-col] {
	margin-top: 30px;
	padding-right: 15px;
	padding-left: 15px;
}

.fx-row-40-xl > [class*=fx-col] {
	margin-top: 40px;
	padding-right: 20px;
	padding-left: 20px;
}

.fx-row-50-xl > [class*=fx-col] {
	margin-top: 50px;
	padding-right: 25px;
	padding-left: 25px;
}

.fx-row-60-xl > [class*=fx-col] {
	margin-top: 60px;
	padding-right: 30px;
	padding-left: 30px;
}

.fx-row-90-xl > [class*=fx-col] {
	margin-top: 90px;
	padding-right: 45px;
	padding-left: 45px;
}

.fx-col-10-xl {
	flex-basis: 10%;
	max-width: 10%;
}

.fx-col-16-xl {
	flex-basis: 16.6666%;
	max-width: 16.6666%;
}

.fx-col-20-xl {
	flex-basis: 20%;
	max-width: 20%;
}

.fx-col-25-xl {
	flex-basis: 25%;
	max-width: 25%;
}

.fx-col-30-xl {
	flex-basis: 30%;
	max-width: 30%;
}

.fx-col-33-xl {
	flex-basis: 33.3333%;
	max-width: 33.3333%;
}

.fx-col-40-xl {
	flex-basis: 40%;
	max-width: 40%;
}

.fx-col-50-xl {
	flex-basis: 50%;
	max-width: 50%;
}

.fx-col-60-xl {
	flex-basis: 60%;
	max-width: 60%;
}

.fx-col-66-xl {
	flex-basis: 66.6666%;
	max-width: 66.6666%;
}

.fx-col-70-xl {
	flex-basis: 70%;
	max-width: 70%;
}

.fx-col-75-xl {
	flex-basis: 75%;
	max-width: 75%;
}

.fx-col-80-xl {
	flex-basis: 80%;
	max-width: 80%;
}

.fx-col-90-xl {
	flex-basis: 90%;
	max-width: 90%;
}

.fx-col-100-xl {
	flex-basis: 100%;
	max-width: 100%;
}

}

@media screen and (min-width: 1600px) {

.header__nav > ul > li + li {
	margin-left: 60px;
}

.header__nav__item {
	font-size: 1.6rem;
}

.header__btn {
	margin-left: 60px;
}

.header__btn .btn {
	width: 276px;
	min-width: 276px;
}

.header__btn .btn .icons__mail {
	font-size: 1.7rem;
}

.t__news a:not(.news__box) {
	padding: 12px 44px;
	font-size: 1.4rem;
	white-space: nowrap;
}

.t__news a:not(.news__box) .icon-arrow {
	top: 15px;
	right: 10px;
	transform: translateX(3px) scale(0.5, 0.5) rotate(-90deg);
}

.t__news .news__date {
	margin-right: 35px;
}

.t__news__ttl .ttl__1 {
	margin-bottom: -10px;
}

.t__news__ttl .ttl__1__en {
	margin-left: 20px;
}

.t__news__ttl {
	margin-right: 60px;
	padding-right: 8.177%;
}

.peace__ttl::before {
	top: -205px;
	right: -135px;
}

.t__peace__body .peace__txt {
	margin-top: 50px;
}

.t__peace__body {
	margin-top: -150px;
}

.header__btn .btn {
	width: 300px;
	min-width: 300px;
	font-size: 1.8rem;
}

.header__btn .btn .icons__mail {
	font-size: 1.7rem;
}

.header__btn .btn .icon-video {
	font-size: 2.5rem;
}

}

@media screen and (min-width: 1800px) {

.peace__ttl::before {
	top: -165px;
	right: -265px;
}

.header__btn .btn {
	width: 350px;
	min-width: 350px;
}

.fx-row-120-xll {
	margin-top: -120px;
	margin-right: -60px;
	margin-left: -60px;
}

.fx-row-120-xll > [class*=fx-col] {
	margin-top: 120px;
	padding-right: 60px;
	padding-left: 60px;
}

}

@media screen and (max-width: 767px) {

.hamburger__btn _::-webkit-full-page-media,
.hamburger__btn _:future,
:root .hamburger__btn {
	margin-right: -1px;
}

.ttl__s {
	display: block;
	font-size: 2.2rem;
}

.modal-video-close-btn {
	right: 0;
}

.page__ttl__3 .ttl__s {
	border-bottom: none;
}

.table th {
	border-top: 1px solid #c7c7c7;
	border-right: 1px solid #c7c7c7;
	border-left: 1px solid #c7c7c7;
}

.table td {
	border-right: 1px solid #c7c7c7;
	border-left: 1px solid #c7c7c7;
}

.table tr:last-child td {
	border-bottom: 1px solid #c7c7c7;
}

.start__ttl img {
	max-width: 310px;
}

.t__start__body > p {
	letter-spacing: 0.037em;
}

.t__peace__body > ul > li:first-child {
	order: 2;
}

.t__peace__body > ul > li:last-child {
	order: 1;
}

.infiniteslide__item li {
	max-width: 180px;
}

.architect__content .content__area {
	margin-top: -107.5vh;
	padding-top: 60px;
	padding-bottom: 60px;
}

.architect__content.content__bg {
	padding: 0;
}

.form__table th br {
	display: none;
}

.radio__check.radio__check__2 {
	margin: 0;
}

.radio__check.radio__check__2 > li {
	width: 100%;
	margin: 0;
}

.radio__check.radio__check__2 > li + li {
	margin-top: 10px;
}

.guide__6__table th {
	border-top: 1px solid #c7c7c7;
	border-right: 1px solid #c7c7c7;
	border-left: 1px solid #c7c7c7;
}

.guide__6__table td {
	border-right: 1px solid #c7c7c7;
	border-left: 1px solid #c7c7c7;
}

.guide__6__table tr:last-child td {
	border-bottom: 1px solid #c7c7c7;
}

.modal-video-close-btn {
	right: 0;
}

}

@keyframes scroll {

0% {
	transform: scaleY(0);
	transform-origin: bottom center;
}

50% {
	transform: scaleY(1);
	transform-origin: bottom center;
}

51% {
	transform: scaleY(1);
	transform-origin: top center;
}

100% {
	transform: scaleY(0);
	transform-origin: top center;
}

}

@keyframes btn__line__hover {

50% {
	transform: scaleX(1);
	transform-origin: left;
}

51% {
	transform-origin: right;
}

100% {
	transform: scaleX(0);
	transform-origin: right;
}

}

@keyframes effect__1 {

0% {
	transform: translate3d(-100%, 0, 0);
	opacity: 1;
}

40%,100% {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

}

@keyframes effect__2 {

0%,1% {
	transform: scale3d(1, 1, 1);
}

40%,100% {
	transform: scale3d(0, 1, 1);
}

}

@keyframes effect__3 {

40% {
	transform: scale3d(1.2, 1.2, 1.2);
}

100% {
	transform: scale3d(1, 1, 1);
}

}

@keyframes effect__3_2 {

0% {
	transform: scale3d(1.2, 1.2, 1.2);
}

40% {
	transform: scale3d(1.2, 1.2, 1.2);
}

100% {
	transform: scale3d(1, 1, 1);
}

}

@keyframes nav__hover {

0% {
	transform: scaleY(0);
}

100% {
	transform: scaleY(1);
}

}

@keyframes scrollBar {

0% {
	bottom: 150px;
	height: 0;
}

5% {
	bottom: 70px;
	height: 80px;
}

100% {
	bottom: -80px;
	height: 80px;
}

}

