@charset "UTF-8";
/* Scss Document */
/* Scss Document */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

html { font-size: 62.5%; }

body { line-height: 1; }

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

ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

input, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; outline: none; }

/* Scss Document */
/* Scss Document */
html { position: relative; min-height: 100vh; }

body { min-height: 100vh; box-sizing: border-box; background: #fff; font-family: "リュウミン M-KL", "Ryumin Medium KL", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; color: #313116; font-size: clamp(1.2rem, 1.6927083333vw, 1.5rem); line-height: 2; letter-spacing: 0.2em; word-wrap: break-word; text-align: justify; -webkit-text-size-adjust: 100%; }

.typesquare_option { opacity: 1 !important; }

.t-center { text-align: center; }

.t-left { text-align: left; }

.t-right { text-align: right; }

.sp { display: revert; }
@media screen and (min-width: 769px) { .sp { display: none; } }
@media screen and (min-width: 981px) { .sp { display: none; } }

.tab { display: none; }
@media screen and (min-width: 769px) { .tab { display: revert; } }
@media screen and (min-width: 981px) { .tab { display: revert; } }
@media screen and (min-width: 1180px) { .tab { display: none; } }

.sp-tab { display: revert; }
@media screen and (min-width: 769px) { .sp-tab { display: revert; } }
@media screen and (min-width: 981px) { .sp-tab { display: revert; } }
@media screen and (min-width: 1180px) { .sp-tab { display: none; } }

.pc-tab { display: none; }
@media screen and (min-width: 769px) { .pc-tab { display: revert; } }
@media screen and (min-width: 981px) { .pc-tab { display: revert; } }
@media screen and (min-width: 1180px) { .pc-tab { display: revert; } }

.pc { display: none; }
@media screen and (min-width: 769px) { .pc { display: none; } }
@media screen and (min-width: 981px) { .pc { display: none; } }
@media screen and (min-width: 1180px) { .pc { display: revert; } }

a, button { text-decoration: none; color: inherit; transition: .4s; -webkit-backface-visibility: hidden; backface-visibility: hidden; overflow: hidden; }

button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-family: Hiragino Sans, ヒラギノ角ゴシック, Meiryo, "sans-serif"; color: #fff; }

a[href*="tel:"] { display: block; }

.event-none { pointer-events: none !important; }

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

.inner { box-sizing: border-box; width: 100%; max-width: 1280px; margin: auto; padding: 0% 5.33% 0% 5.33%; }
@media screen and (min-width: 769px) { .inner { padding: 0% 1.56% 0% 1.56%; } }
@media screen and (min-width: 1340px) { .inner { padding: 0; } }

.s-inner { box-sizing: border-box; width: 100%; max-width: 980px; margin: auto; padding: 0% 5.33% 0% 5.33%; }
@media screen and (min-width: 769px) { .s-inner { padding: 0% 1.56% 0% 1.56%; } }
@media screen and (min-width: 1340px) { .s-inner { padding: 0; } }
@media screen and (min-width: 980px) { .s-inner { padding: 0; } }

.mb-box { margin-bottom: clamp(4rem, 7.8125vw, 8rem); }

.cotents__bottom { margin-bottom: 20%; }

.no_data_txt { margin-bottom: 30px; font-size: 1.6rem; text-align: center; }

h1, h2, h3, h4 { font-weight: normal; line-height: 1.8; }

p { font-size: 100%; }

address { font-style: normal; }

rp { display: block; }

.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-25 { margin-bottom: 25px; }
.mb-30 { margin-bottom: 30px; }

.s-txt { font-size: 70%; }

.l-txt { font-size: 140%; }

.fs-10 { font-size: 1.0rem; }
.fs-11 { font-size: 1.1rem; }
.fs-12 { font-size: 1.2rem; }
.fs-13 { font-size: 1.3rem; }
.fs-14 { font-size: 1.4rem; }
.fs-15 { font-size: 1.5rem; }
.fs-16 { font-size: 1.6rem; }
.fs-17 { font-size: 1.7rem; }
.fs-18 { font-size: 1.8rem; }

#contents { padding-top: clamp(6rem, 10.4031209363vw, 10rem); overflow: hidden; background: url(/geogarden/tokyo/img/common/bg_content.jpg) center/contain repeat; }

::selection { color: #fff; background: #d7cab2; }

.en { font-family: "Garamond", "Times New Roman", Times, serif; letter-spacing: 0.2em; }

.num { font-family: "Garamond", "Times New Roman", Times, serif; letter-spacing: 0.2em; }

.mincho { font-family: "リュウミン M-KL", "Ryumin Medium KL", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; }

.icon { margin-right: 5px; }

.attent, .attent--r { display: block; margin-top: .5rem; font-size: 1.1rem; letter-spacing: normal; line-height: 1.4; }
.attent--r { text-align: right; }

.foot-attent { margin-bottom: 1rem; }

.link { color: #826552; text-decoration: underline; }

.capimg { position: relative; }
.capimg__txt, .capimg__txt--wh { display: block; position: absolute; right: 5px; bottom: 5px; font-size: 1.1rem; line-height: 1.4; letter-spacing: normal; text-align: right; }
.capimg__txt--wh { color: #fff; }

.page__ttl { position: relative; margin-bottom: 8vw; color: #826552; font-family: "Garamond", "Times New Roman", Times, serif; font-size: clamp(1.5rem, 4.2vw, 3.6rem); text-align: center; line-height: 1; letter-spacing: 0.5rem; }

.fit { object-fit: cover; object-position: center; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) { #contents { background-size: contain; background-repeat: repeat; background-attachment: fixed; }
  .page__ttl { margin-bottom: clamp(30px, 4vw, 60px); padding-bottom: 10px; font-size: clamp(1.8rem, 2.8vw, 3.9rem); }
  .page__ttl span { padding: 0 3vw .7vw; border-bottom: 1px solid rgba(0, 0, 0, 0.3); } }
/*------------------------------
		861px以上
------------------------------*/
@media screen and (min-width: 981px) { a { transition: all .4s; }
  a:hover { opacity: .7; }
  a[href*="tel:"] { pointer-events: none; cursor: default; text-decoration: none; }
  a[href*="fax:"] { pointer-events: none; cursor: default; text-decoration: none; } }
/*------------------------------
		1041px以上
------------------------------*/
/* Scss Document */
header { position: fixed; left: 0; top: 0; z-index: 1000; width: 100vw; height: clamp(6rem, 10.4031209363vw, 10rem); background: #FFF; letter-spacing: 0; }
header .header__logo { display: flex; flex-flow: row wrap; align-content: flex-start; justify-content: space-between; justify-content: flex-start; align-items: center; position: absolute; top: 50%; left: clamp(1.5rem, 2.6007802341vw, 2rem); transform: translate(0, -50%); z-index: 1000; width: auto; }
header .header__logo .header__logo-img a { display: block; width: clamp(6.5rem, 13.0039011704vw, 12.5rem); }
header .header__logo .header__logo-ttl { margin-left: clamp(1.5rem, 2.8608582575vw, 3rem); font-size: clamp(1.1rem, 1.9505851756vw, 1.8rem); line-height: 1.4; }
header .header__logo .header__logo-ttl span { color: #7E334B; font-size: 1.38em; }
header .header__menubtn { position: absolute; width: 100%; top: 50%; transform: translateY(-50%); z-index: 1000; right: clamp(1.5rem, 2.6007802341vw, 2rem); width: 32px; height: 22px; }
header .header__menubtn span { display: block; position: absolute; height: 1px; width: 100%; background: #707070; transition: .4s; }
header .header__menubtn span:nth-child(1) { top: 0; }
header .header__menubtn span:nth-child(2) { top: 0; bottom: 0; margin: auto; }
header .header__menubtn span:nth-child(3) { bottom: 0; }
header .header__nav-menu { display: none; position: absolute; left: 0; top: 0; z-index: 0; height: 100vh; width: 100%; padding: 100px clamp(1.5rem, 2.6007802341vw, 2rem) 20px; box-sizing: border-box; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(5px); }
header .header__nav-menu li { text-align: center; border-bottom: 1px solid #c2aa9a; }
header .header__nav-menu li a { display: block; padding: 15px; font-size: clamp(1.4rem, 1.8205461638vw, 1.4rem); }
header .header__nav-menu li.active { color: #C9B083; }
header .header__bg { position: absolute; left: 0; top: 0; z-index: -1; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); }

.open header .header__menubtn span:first-of-type { top: 50%; transform: translateY(-50%) rotate(-45deg); }
.open header .header__menubtn span:nth-of-type(2) { opacity: 0; }
.open header .header__menubtn span:last-of-type { bottom: 50%; transform: translateY(50%) rotate(45deg); }

/*------------------------------
		769px以上
------------------------------*/
/*------------------------------
		961px以上
------------------------------*/
/*------------------------------
		1181px以上
------------------------------*/
@media screen and (min-width: 1241px) { header .header__menubtn { display: none; }
  header .header__nav-menu { display: flex !important; align-items: center; top: auto; left: auto; bottom: 0; right: clamp(34rem, 44.2132639792vw, 38rem); width: auto; background: transparent; height: auto; padding: 0; backdrop-filter: none; right: clamp(1.5rem, 2.6007802341vw, 2rem); }
  header .header__nav-menu li { border-bottom: none; }
  header .header__nav-menu li a { position: relative; padding: 0 15px; }
  header .header__nav-menu li a:hover { color: #C9B083; }
  header .header__nav-menu li a:hover::before { opacity: 1; }
  header .header__nav-menu li a::before { display: block; position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 0); width: calc(100% - 20px); height: 1px; background: #C9B083; opacity: 0; transition: .3s; content: ''; }
  header .header__nav-menu li.active a::before { opacity: 1; }
  header .header__nav-menu li.property a { display: grid; place-content: center; background: #C9B083; padding: 0 30px; margin-right: 15px; border: 1px solid #C9B083; color: #FFF; height: 40px; box-sizing: border-box; }
  header .header__nav-menu li.property a:hover { background: #FFF; color: #C9B083; }
  header .header__nav-menu li.property a::before { display: none; } }
/* Scss Document */
footer { padding: clamp(2.5rem, 3.9011703511vw, 3.5rem) 0 0 0; background: #f2f2f2; }
footer #gotop { display: block; position: fixed; bottom: 2.5vw; right: 2.5vw; z-index: 1000; }
footer #gotop a { display: grid; place-content: center; width: clamp(5rem, 7.1521456437vw, 6rem); height: clamp(5rem, 7.1521456437vw, 6rem); background: #C9B083; color: #FFF; border: 1px solid #C9B083; box-sizing: border-box; border-radius: 50px; line-height: 1; letter-spacing: 0; }
footer .footer__hankyu-logo { margin-bottom: clamp(2rem, 3.2509752926vw, 3rem); }
footer .footer__hankyu-logo .footer__hankyu-logo-img { width: 60%; max-width: 380px; margin: 0 auto; }
footer .footer__hankyu-logo .footer__hankyu-logo-img a { display: block; }
footer .footer__hankyu-com { margin: 0 auto 25px; text-align: center; }
footer .footer__hankyu-com .footer__hankyu-com-img { margin: 0 auto 15px; width: 80%; max-width: 350px; }
footer .footer__hankyu-com .footer__hankyu-txt-wp { letter-spacing: 0; display: inline-block; text-align: left; }
footer .footer__hankyu-com .footer__hankyu-txt-wp .footer__hankyu-name { font-size: clamp(1.3rem, 1.8205461638vw, 1.5rem); }
footer .footer__hankyu-com .footer__hankyu-txt-wp .footer__hankyu-adress { line-height: normal; font-size: clamp(1.1rem, 1.5604681404vw, 1.3rem); line-height: 1.4; }
footer .g-Body { color: #050f1e; font-size: 1.4rem; font-weight: 400; line-height: 1; -webkit-font-feature-settings: 'pkna'; font-feature-settings: 'pkna'; letter-spacing: .025em; width: 100%; height: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; -webkit-transition: all 0.2s; transition: all 0.2s; }
footer .g-hapia-nav { width: 100%; background: #f5f5f5; border-top: 1px solid #050f1e; }
footer .g-hapia-nav { width: 100%; display: block; position: relative; bottom: auto; left: auto; }
footer .g-footer_inner { max-width: 1080px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; }
footer .g-hapia-nav-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; margin: 0 auto; }
footer .g-hapia-nav-item { position: relative; width: 100%; }
footer .g-hapia-nav-item:last-of-type .e-link:last-of-type { border: none; }
footer .g-hapia-nav-item::after { content: ''; width: 6px; height: 6px; border-top: solid 1px #050f1e; border-right: solid 1px #050f1e; position: absolute; left: -5px; top: 6px; transform: rotate(45deg); left: 0; top: 22px; }
footer .g-hapia-nav-item .e-link { font-size: clamp(1.2rem, 1.5604681404vw, 1.3rem); text-decoration: none; padding: 20px 15px; border-bottom: 1px solid #cdcdcd; display: block; }
footer .g-hapia-nav-copyright { color: #fff; float: none; padding: 10px 0; background: #050f1e; display: block; width: 100%; text-align: center; font-size: 1.1rem; display: block; float: none; }
footer .header__nav { display: block; position: fixed; z-index: 1000; bottom: 0; width: 100%; box-sizing: border-box; height: auto; background: #fff; }
footer .header__nav-list { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-align-content: flex-start; -ms-flex-line-pack: start; align-content: flex-start; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
footer .header__nav-list li { flex: 0 1 50%; width: 50%; max-width: 50%; box-sizing: border-box; text-align: center; }
footer .header__nav-list li a { position: relative; color: #fff; }
footer .header__nav-list li a .txt_box { position: absolute; top: 50%; left: 0; width: 100%; letter-spacing: normal; transform: translate(0, -50%); font-size: 14px; }
footer .header__nav-list .new a { font-size: 14px; background: #863036; text-shadow: -1px -1px 0 #000; z-index: 1; display: block; height: 50px; }
footer .header__nav-list .new a::after { position: absolute; content: ""; display: block; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(-135deg, #863036 0%, #ad4a50 100%); z-index: -1; opacity: 0; transition: .4s; }
footer .header__nav-list .new a .arrow { position: absolute; top: 47%; right: 20px; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 7px; border-color: transparent transparent transparent #000; transform: translate(0, -50%); z-index: 1; }
footer .header__nav-list .tel a { font-size: 35px; color: #fff; background: #947d4b; z-index: 1; line-height: 1.2; }
footer .header__nav-list .tel a::before { position: absolute; content: ""; display: block; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #947d4b 0%, #c3ae7c 100%); z-index: -1; opacity: 1; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) { footer #gotop a:hover { background: #FFF; color: #C9B083; }
  footer .footer__hankyu-com { display: grid; place-content: center; place-items: center; max-width: 990px; }
  footer .footer__hankyu-com .footer__hankyu-com-img { margin-bottom: 30px; }
  footer .footer__hankyu-com .footer__hankyu-com-img a { display: block; }
  footer .g-hapia-nav-item { width: auto; margin: 0 10px; } }
/*------------------------------
		961px以上
------------------------------*/
@media screen and (min-width: 981px) { footer .footer__hankyu-com { display: flex; justify-content: center; align-items: center; }
  footer .footer__hankyu-com .footer__hankyu-com-img { margin: 0 30px 0 0; }
  footer .g-hapia-nav-wrap { padding: 20px 0; }
  footer .g-hapia-nav-item { display: inline-block; width: auto; margin: 0 35px; padding: 5px 10px 0 10px; }
  footer .g-hapia-nav-item::after { top: 8px; left: -5px; }
  footer .g-hapia-nav-item .e-link { padding: 0; border: 0; }
  footer .g-hapia-nav-item .e-link::after { display: none; } }
/*------------------------------
		1181px以上
------------------------------*/
/* Scss Document */
/*------------------------------
		ボタン
------------------------------*/
.frame-btn, .btn a, .btn button, .btn .btn__input, .btn input, .btn .btn__deco, .btn-request a { display: grid; place-content: center; position: relative; width: 100%; max-width: 450px; box-sizing: border-box; margin: auto; height: clamp(7rem, 9.765625vw, 8.5rem); background: #7E334B; border: 1px solid; border-radius: 45px; color: #fff; text-align: center; font-size: clamp(1.4rem, 2.0833333333vw, 1.8rem); letter-spacing: 0em; }

.btn-request a { background: #C9B083; }

/*------------------------------
		各ページタイトル
------------------------------*/
.pagettl__bg { position: relative; width: 100%; max-width: 1080px; aspect-ratio: 360/100; margin: clamp(4rem, 7.8023407022vw, 9rem) auto clamp(2rem, 6.5019505852vw, 7rem); background: url("/geogarden/tokyo/img/common/pagettl-sp.png") center/cover no-repeat; }
.pagettl__bg .pagettl__ttl { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; color: #C9B083; font-size: clamp(2.2rem, 3.3810143043vw, 3.2rem); text-align: center; letter-spacing: 0.04em; }

/*------------------------------
		各コンテンツタイトル
------------------------------*/
.sec__ttl { margin-bottom: clamp(2rem, 3.9011703511vw, 4rem); font-size: clamp(2rem, 2.8608582575vw, 2.6rem); text-align: center; letter-spacing: 0.05em; }

/*------------------------------
　　　　　	　各コピー
------------------------------*/
/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) { /*------------------------------ 		ボタン ------------------------------*/
  .btn a:hover, .btn button:hover, .btn .btn__input:hover, .btn input:hover, .btn .btn__deco:hover { background: #fff; color: #7E334B; opacity: 1; }
  .btn.yet a { cursor: default; }
  .btn.yet a:hover { background: #fff; color: #313116; opacity: 1; }
  /*------------------------------ 各ページタイトル ------------------------------*/
  .pagettl__bg { aspect-ratio: 1140/155; background: url("/geogarden/tokyo/img/common/pagettl.png") center/cover no-repeat; } }
/*------------------------------
		1041px以上
------------------------------*/
/*------------------------------
		1281px以上
------------------------------*/
/*//////////////////////////////////////////////////////

	flex設定

//////////////////////////////////////////////////////*/
.layout__flex { display: flex; flex-flow: row wrap; align-content: flex-start; justify-content: space-between; }
.layout__flex.option-justify_end { justify-content: flex-end; }
.layout__flex.option-justify_center { justify-content: center; }
.layout__flex.option-align_center { align-items: center; }
.layout__flex.option-align_end { align-items: flex-end; }
.layout__flex .layout__flex-col { box-sizing: border-box; width: 48%; }
.layout__flex .layout__flex-col.col-none { display: none; }
.layout__flex .layout__flex-col.col-1 { width: calc((100% / 12) * 1); }
.layout__flex .layout__flex-col.col-2 { width: calc((100% / 12) * 2); }
.layout__flex .layout__flex-col.col-3 { width: calc((100% / 12) * 3); }
.layout__flex .layout__flex-col.col-4 { width: calc((100% / 12) * 4); }
.layout__flex .layout__flex-col.col-5 { width: calc((100% / 12) * 5); }
.layout__flex .layout__flex-col.col-6 { width: calc((100% / 12) * 6); }
.layout__flex .layout__flex-col.col-7 { width: calc((100% / 12) * 7); }
.layout__flex .layout__flex-col.col-8 { width: calc((100% / 12) * 8); }
.layout__flex .layout__flex-col.col-9 { width: calc((100% / 12) * 9); }
.layout__flex .layout__flex-col.col-10 { width: calc((100% / 12) * 10); }
.layout__flex .layout__flex-col.col-11 { width: calc((100% / 12) * 11); }
.layout__flex .layout__flex-col.col-12 { width: 100%; }
.layout__flex .layout__flex-col.order-1 { order: 1; }
.layout__flex .layout__flex-col.order-2 { order: 2; }

@media screen and (min-width: 981px) { .layout__flex .layout__flex-col.col-none_pc { display: none; }
  .layout__flex .layout__flex-col.col-1_pc { width: calc((100% / 12) * 1); }
  .layout__flex .layout__flex-col.col-2_pc { width: calc((100% / 12) * 2); }
  .layout__flex .layout__flex-col.col-3_pc { width: calc((100% / 12) * 3); }
  .layout__flex .layout__flex-col.col-4_pc { width: calc((100% / 12) * 4); }
  .layout__flex .layout__flex-col.col-5_pc { width: calc((100% / 12) * 5); }
  .layout__flex .layout__flex-col.col-6_pc { width: calc((100% / 12) * 6); }
  .layout__flex .layout__flex-col.col-7_pc { width: calc((100% / 12) * 7); }
  .layout__flex .layout__flex-col.col-8_pc { width: calc((100% / 12) * 8); }
  .layout__flex .layout__flex-col.col-9_pc { width: calc((100% / 12) * 9); }
  .layout__flex .layout__flex-col.col-10_pc { width: calc((100% / 12) * 10); }
  .layout__flex .layout__flex-col.col-11_pc { width: calc((100% / 12) * 11); }
  .layout__flex .layout__flex-col.col-12_pc { width: 100%; }
  .layout__flex .layout__flex-col.order-1 { order: 1; }
  .layout__flex .layout__flex-col.order-2 { order: 2; } }
