@charset "UTF-8";

/* ==========================================================================
   common
   ========================================================================== */

/* reset
   ========================================================================== */

html { font-size: 62.5%; margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr,
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, main, menu, nav, section, summary, button,
time, mark, audio, video { margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body { height: 100%; font-family: 'Noto Sans JP', sans-serif; font-weight: 300; font-feature-settings: 'palt'; line-height: 1; background-color: #486535; }
@media (min-width: 320px) and (max-width: 1023px) {
body { font-size: 1.4rem; }
}
@media (min-width: 1024px) {
body { font-size: 1.6rem; }
}
body, input, textarea, legend { color: #000; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
input, select, textarea { padding: 0; margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { display: block; }
nav ul { list-style: none; }
li { list-style-position: outside; }
ul li { list-style-type: none; }
ol li { list-style-type: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; }
a { margin: 0; padding: 0; vertical-align: baseline; background: transparent; }
a, a img { border: none; }
a:link,
a:visited,
a:hover,
a:active { color: #000; text-decoration: none; }
a:focus { outline: none; }
a, label { cursor: pointer; }
address, optgroup, cite { font-style: normal; }
abbr { border-bottom: .1em dotted; cursor: help; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th, td { text-align: left; vertical-align: top; border: 1px solid #000; }
caption { text-align: left; }
input, select { vertical-align: middle; border-radius: 0; }
em { font-style: normal; }
pre { overflow-x: auto; }
textarea { width: 99%; overflow: auto; }
iframe { display: block; width: 100%; overflow: hidden; }
sup { font-size: 1rem; vertical-align: baseline; position: relative; bottom: .7em; }
sub { font-size: 1rem; vertical-align: baseline; position: relative; top: .1em; }
img { max-width: 100%; vertical-align : middle; }
a img { opacity: 1; transition: opacity .25s ease 0s; }
a:hover img { opacity: .8; }



/* container
   ========================================================================== */

div.body { position: relative; }
main { background-color: #fff; position: relative; }

@media (min-width: 320px) and (max-width: 1023px) {

main { padding: 75px 0 50px; }
main::after { content: ''; display: block; width: 100%; height: 100%; background-color: #000; position: fixed; top: 0; right: 0; visibility: hidden; opacity: 0; transition: .25s; }
main.overlaid::after { visibility: visible; opacity: .4; }

.section-body { padding: 0 15px; }
article { padding: 0 10px; }

}
@media (min-width: 1024px) {

main { padding-bottom: 100px; }

}



/* utilities
   ========================================================================== */

/* clearfix */
.wrapper::after { content: ''; display: block; clear: both; }

/* replace text */
.replace { display: block; color: rgba(0, 0, 0, 0); text-align: center; overflow: hidden; position: relative; }
a.replace:link, a.replace:visited, a.replace:hover, a.replace:active, a.replace:focus { color: rgba(0, 0, 0, 0); }
.replace::after { content: ''; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-color: transparent; background-position: 0 0; background-size: contain; position: absolute; left: 0; top: 0; z-index: 1; }

@media all and (-ms-high-contrast:none){

/* object-fit */
.object-fit { font-family: 'object-fit: cover;'; } /* ie11 */

}



/* ==========================================================================
   parts
   ========================================================================== */

/* header
   ========================================================================== */

#header { display: block; width: 100%; background-color: #486535; position: fixed; left: 0; top: 0; z-index: 2; transition: .1s; }

/* gnav */
#gnav { display: flex; }
#gnav a.logo { display: flex; align-items: center; position: relative; }
#gnav a.logo.garden { background-color: #740030; }
#gnav a.logo.resorts::before { content: ''; display: block; background-color: #740030; position: absolute; top: 0; transform: skewX(45deg); transform-origin: bottom right; }
#gnav a.logo.resorts .replace::after { background-image: url(/media/common/logo_resorts.svg); }
#gnav a.logo.garden .replace { position: absolute; }
#gnav a.logo.garden .replace::after { background-image: url(/media/common/logo_garden_text.svg); transition: .25s; }
#gnav a.logo.garden:hover .replace::after { background-image: url(/media/common/logo_garden_text_w.svg); }

/* lnav */
#lnav { display: flex; justify-content: flex-end; align-items: center; width: 100%; background-color: #486535; position: absolute; transition: .1s; z-index: 2; }
#lnav a.logo.replace::after { background-image: url(/media/common/logo_resorts.svg); }
#lnav a.contact { display: block; color: #fff; background: url(/media/common/icon_contact.svg) no-repeat center center #67b200; font-size: 0; line-height: 0; padding: 0; }

/* tabs */
#tabs { position: fixed; right: 0; }
#tabs a.tab { display: flex; justify-content: center; align-items: center; border-radius: 10px 0 0 10px; transition: .25s; }
#tabs a.tab:hover { opacity: .8; }
#tabs a.tab span { display: inline-block; color: #fff; font-weight: 500; text-align: center; background: url(/media/common/icon_contact.svg) no-repeat center bottom; }
#tabs a.tab.property { background-color: #486535; }

@media (min-width: 320px) and (max-width: 1023px) {

#header { height: 75px; }
#header.tiny { height: 40px; }

/* gnav */
#gnav { height: 35px; }
#gnav a.logo.resorts { width: calc(50% + 25px); }
#gnav a.logo.resorts::before { width: 35px; height: 35px; right: -35px; }
#gnav a.logo.resorts .replace { width: 130px; height: 17px; margin-left: 15px; }
#gnav a.logo.garden { width: calc(50% - 25px); }
#gnav a.logo.garden .replace { width: 112px; height: 12px; right: 15px; }
#gnav a.logo.garden .replace::after { transition: none; }

/* lnav */
#lnav { height: 40px; top: 35px; }
#header.tiny #lnav { justify-content: space-between; background-color: #486535; position: fixed; top: 0; }

#lnav a.logo { display: none; width: 130px; height: 17px; flex: 0 0 130px; margin-left: 15px; }
#header.tiny #lnav a.logo { display: block; }
#lnav a.contact { background-size: 18px; width: 40px; height: 40px; margin-right: 40px; }

#menus { width: 220px; height: 100%; background-color: #486535; margin-top: 75px; position: fixed; right: -220px; top: 0; transform: translateX(0); transition: transform .25s ease-in-out; }
input#hamburger[type="checkbox"]:checked ~ #menus { transform: translateX(-220px); }
#menus ul a { display: block; width: 220px; height: 50px; color: #fff; font-size: 1.5rem; font-weight: 300; line-height: 1; border-bottom: 1px solid #707070; padding: 20px; box-sizing: border-box; }
input#hamburger[type=checkbox] { display: none; }
#lnav .hamburger { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background-color: #000; cursor: pointer; position: absolute; top: 0; right: 0; }
#lnav .hamburger span { display: block; }
#lnav .hamburger .inner { width: 15px; height: 15px; }
#lnav .line { width: 100%; height: 1px; background-color: #fff; box-sizing: border-box; }
#lnav .horizontal { width: 10px; float: left; margin-top: 5px; position: relative; transition: all 0.3s; }
#lnav .diagonal-01 { width: 15px; float: left; position: relative; transition: all 0.3s; }
#lnav .diagonal-02 { width: 13px; float: left; margin-top: 5px; position: relative; transition: all 0.3s; }
input#hamburger[type=checkbox]:checked ~ .hamburger .horizontal { opacity: 0; }
input#hamburger[type=checkbox]:checked ~ .hamburger .diagonal-01 { margin-top: 6px; transform: rotate(135deg); }
input#hamburger[type=checkbox]:checked ~ .hamburger .diagonal-02 { width: 15px; margin-top: -7px; transform: rotate(-135deg); }

#header.tiny #menus { margin-top: 40px; }

/* tabs */
#tabs { top: 185px; }
#tabs a.tab { width: 56px; height: 50px; }
#tabs a.tab span { height: 35px; font-size: 1rem; }

}
@media (min-width: 1024px) {

#hamburger,
#header .hamburger { display: none; }

#header { height: 95px; }
#header.tiny { height: 50px; }

/* gnav */
#gnav { height: 45px; }
#gnav a.logo.resorts { width: calc(50% + 45px); }
#gnav a.logo.resorts::before { width: 45px; height: 45px; right: -45px; }
#gnav a.logo.resorts .replace { width: 233px; height: 30px; margin-left: 20px; }

#gnav a.logo.garden { width: calc(50% + 45px); }
#gnav a.logo.garden .replace { width: 203px; height: 20px; right: 30px; }

/* lnav */
#lnav { height: 50px; background-color: transparent; position: absolute; top: 45px; }
#header.tiny #lnav { justify-content: space-between; background-color: #486535; position: fixed; top: 0; }

#lnav a.logo { display: none; width: 233px; height: 30px; flex: 0 0 233px; margin-left: 20px; }
#header.tiny #lnav a.logo { display: block; }

#lnav ul { display: flex; justify-content: space-between; align-items: center; margin-right: 70px; }
#lnav ul a { display: inline-flex; align-items: center; height: 50px; color: #fff; font-size: 1.4rem; padding: 0 15px; transition: .25s; }
#lnav ul a:hover { opacity: .6; }
#lnav a.contact { background-size: 20px; width: 50px; height: 50px; position: absolute; right: 0; }

/* tabs */
#tabs { top: 600px; }
#tabs a.tab { width: 85px; height: 70px; }
#tabs a.tab span { height: 40px; font-size: 1.1rem; }

}
@media (min-width: 1025px) and (max-width: 1365px) {
#lnav ul { margin-right: 60px; }
#lnav ul a { padding: 0 7px; }
}
@media (width: 1024px) {
#lnav ul { margin-right: 60px; }
#header.tiny #lnav ul a { font-size: 1.3rem; padding: 0 8px; }
#header.tiny #lnav a.logo { width: 150px; height: 20px; flex: 0 0 150px; }
}



/* footer
   ========================================================================== */

footer { width: 100%; background-color: #486535; }
footer .copy { color: #fff; text-align: center; }

/* pagetop */
#pagetop { display: none; color: #fff; background: url(/media/common/icon_pagetop.svg) no-repeat center center #486535; box-sizing: border-box; position: fixed; opacity: .6; z-index: 1; font-size: 0; line-height: 0; right: 0; }

@media (min-width: 320px) and (max-width: 1023px) {

footer { padding: 15px 0; }
footer nav.sub { display: none; }
footer .copy { font-size: 1rem; }
#pagetop { background-size: 17px auto; width: 40px; height: 40px; bottom: 0; }

}
@media (min-width: 1024px) {

footer { width: 100%; background-color: #486535; padding: 25px 0; }

footer nav.sub > ul { display: flex; justify-content: space-between; align-items: flex-start; width: 1100px; padding-right: 60px; box-sizing: border-box; margin: 0 auto 50px; }
footer nav.sub ul a { display: inline-block; color: #fff; font-size: 1.4rem; transition: .25s; }
footer nav.sub ul a:hover { opacity: .6; }
footer nav.sub ul a span { display: inline-block; padding: 20px 15px; }

footer .copy { font-size: 1.2rem; }

#pagetop { background-size: 20px auto; width: 60px; height: 60px; bottom: 60px; }

}
@media (width: 1024px) {
footer nav.sub > ul { width: 1000px; }
footer nav.sub ul a { font-size: 1.3rem; }
footer nav.sub ul a span { padding: 20px 10px; }
}



/* nav highlighting
   ========================================================================== */

body.information nav ul li a.information,
body.about-resort nav ul li a.about-resort,
body.find-property.property_lot nav ul li a.find-lot,
body.find-property.property_house nav ul li a.find-house,
body.services nav ul li a.services,
body.documents nav ul li a.documents,
body.company nav ul li a.company,
body.residents nav ul li a.residents,
body.contact.general nav ul li a.contact { opacity: .6; }



/* general
   ========================================================================== */

.columned { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; position: relative; }

.extras .badge { display: flex; justify-content: center; align-items: center; background-color: #ddd; }
.extras .date { font-weight: 500; }

a.sns.replace { width: 20px; height: 20px; transition: .25s; }
a.sns.replace.instagram::after { background-image: url(/media/common/icon_instagram.svg); }
a.sns.replace.twitter::after { background-image: url(/media/common/icon_twitter.svg); }
a.sns.replace.facebook::after { background-image: url(/media/common/icon_facebook.svg); }
a.sns.replace:hover { opacity: .6; }

/* button */
a.button { display: inline-block; border: 1px solid #000; background: url(/media/common/arrow_next.svg) no-repeat calc(100% - 10px) center; background-size: 16px auto; color: #000; transition: .25s; box-sizing: border-box; }
a.button span { display: block; font-weight: 500; line-height: 1; }
a.button:hover { background-color: rgba(72, 101, 53, .1); }
a.button.pdf { background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center; background-size: 15px; }
.buttons { display: flex; justify-content: center; align-items: center; }

/* index-list */
ul.index-list li > span,
ul.index-list li a { padding: 10px; box-sizing: border-box; }
ul.index-list li a { background-image: url(/media/common/arrow_next.svg); background-repeat: no-repeat; background-position: calc(100% - 15px) center; background-color: transparent; background-size: 16px 9px; padding-right: 45px; transition: .25s; }
ul.index-list li a:hover { background-color: rgba(72, 101, 53, .1); }
ul.index-list li > span span,
ul.index-list li a span { display: inline-block; }
ul.index-list li > span .extras,
ul.index-list li a .extras { display: flex; align-items: center; }
ul.index-list li .badge { margin-right: 20px; }
ul.index-list li .heading { line-height: 1.4; }

/* expandable list */
.expandable-list h4 { font-weight: 500; cursor: pointer; border-bottom: 1px solid #486535; }
.expandable-list .block h5 { font-weight: 500; }
.expandable-list .block ul li span { display: inline-block; vertical-align: middle; width: auto; }
.expandable-list > ul li .block { max-height: 2500px; margin: 0 auto; position: relative; overflow: hidden; opacity: 1; z-index: 2; }
.expandable-list > ul { perspective: 1000px; }
.expandable-list > ul li { position: relative; }
.expandable-list > ul li i { position: absolute; }
.expandable-list > ul li i::before,
.expandable-list > ul li i::after { content: ''; position: absolute; background-color: #486535; width: 2px; height: 12px; }
.expandable-list > ul li i::before { transform: translate(-4px, 0) rotate(45deg); }
.expandable-list > ul li i::after { transform: translate(4px, 0) rotate(-45deg); }
.expandable-list > ul li input[type=checkbox]:checked ~ i::before { transform: translate(4px, 0) rotate(45deg); }
.expandable-list > ul li input[type=checkbox]:checked ~ i::after { transform: translate(-4px, 0) rotate(-45deg); }
.expandable-list > ul li input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 1; opacity: 0; }
.expandable-list > ul li input[type=checkbox]:checked ~ div { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); }
.expandable-list > ul li .block,
.expandable-list > ul li i::before,
.expandable-list > ul li i::after { transition: all .25s ease-in-out; }

/* section-header */
.section-header { display: flex; justify-content: center; align-items: center; flex-direction: column; background: no-repeat center center; background-size: cover; }
.section-header h1 span { display: block; }
.section-header h1 .heading { display: flex; justify-content: center; align-items: center; flex-direction: column; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; }
.section-header h1 .sub { color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; border-top: 1px solid #fff; }

@media (min-width: 320px) and (max-width: 1023px) {

.extras .badge { width: 54px; height: 20px; font-size: 1.1rem; border-radius: 7px; }
.extras .date { font-size: 1.6rem; }

/* button */
a.button { padding: 15px 45px; }
a.button span { font-size: 1.7rem; }

/* index-list */
ul.index-list li > span,
ul.index-list li a { display: flex; justify-content: center; flex-direction: column; min-height: 80px; font-weight: 300; background-position: calc(100% - 15px) calc(100% - 15px); border-bottom: 1px solid #ddd; padding: 10px 45px 10px 15px; }
ul.index-list li > span .extras,
ul.index-list li a .extras { margin-bottom: 5px; }
ul.index-list li .heading { font-size: 1.6rem; }

/* expandable list */
.expandable-list > ul li i { right: 30px; top: 36px; }
.expandable-list h4 { font-size: 1.7rem; padding: 30px 50px 30px 20px; }
.expandable-list .block h5 { font-size: 1.6rem; }
.expandable-list .block p { font-size: 1.6rem; }
.expandable-list .block ul li { margin-bottom: 10px; }
.expandable-list .block > * { padding: 0 30px; margin-top: 20px; margin-bottom: 40px; }

/* section-header */
.section-header.billboard { height: 440px; }
.section-header h1 .heading { font-size: 2.2rem; line-height: 1.3; }
.section-header h1 .sub { font-size: 1.8rem; padding-top: 15px; margin-top: 15px; }

}
@media (min-width: 1024px) {

.extras .badge { width: 100px; height: 26px; font-size: 1.3rem; border-radius: 10px; }
.extras .date { font-size: 1.6rem; }

/* button */
a.button { padding: 25px 75px; }
a.button span { font-size: 2rem; }

/* index-list */
ul.index-list li > span,
ul.index-list li a { display: flex; align-items: center; min-height: 70px; transition: .25s; }
ul.index-list li .date { margin-right: 40px; }
ul.index-list li .heading { font-size: 1.6rem; }

/* expandable list */
.expandable-list > ul li i { right: 40px; top: 40px; }
.expandable-list > ul li .block { width: 900px; }
.expandable-list h4 { font-size: 2rem; padding: 30px 40px; }
.expandable-list .block h5 { font-size: 1.9rem; }
.expandable-list .block p { font-size: 1.9rem; }
.expandable-list .block ul li { margin-bottom: 10px; }
.expandable-list .block > * { margin-top: 20px; margin-bottom: 40px; }

/* section-header */
.section-header { margin-top: 95px; }
.section-header.billboard { height: 575px; }
.section-header h1 .heading { font-size: 3rem; line-height: 1.5; padding: 0 30px 15px; }
.section-header h1 .sub { min-width: 260px; font-size: 2.4rem; padding: 20px 30px 0; box-sizing: border-box; }

}



/* ==========================================================================
   article
   ========================================================================== */

article p { font-weight: 300; position: relative; }
article p.note { font-size: 1.1rem; }

/* article-header */
.article-header h1 { font-weight: 500; line-height: 1.5; }
.article-header h2 { position: relative; }
.article-header h1.boxed { display: flex; justify-content: center; align-items: center; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; line-height: 1.4; text-align: center; background-color: #486535; box-sizing: border-box; }

/* article-body */
.article-body h3 { font-weight: 700; line-height: 1.4; }
.article-body h3 .sub { font-weight: 500; }

.article-body table.mini td { font-weight: 300; line-height: 1.5; border: none; padding: 3px 3px 3px 0; }
.article-body table a { text-decoration: underline; }
.article-body table a:hover { text-decoration: none; }

@media (min-width: 320px) and (max-width: 1023px) {

article p { font-size: 1.6rem; line-height: 1.8; margin-top: 15px; }
article h4 { font-size: 2rem; font-weight: 500; }

/* article-header */
.article-header { padding-top: 60px; margin-bottom: 60px; }
.article-header h1 { font-size: 2.2rem; }
.article-header h1.boxed { width: 200px; min-height: 40px; font-size: 2.2rem; line-height: 1.2; padding: 10px 20px; margin: 0 auto 30px; }

/* article-body */
.article-body h3 { font-size: 1.8rem; }
.article-body h3 .sub { font-size: 1.6rem; }
.article-body table.mini { margin: 20px 0; }
.article-body table.mini td { font-size: 1.5rem; }

}
@media (min-width: 1024px) {

article p { font-size: 1.9rem; font-weight: 300; line-height: 2; margin-top: 15px; position: relative; }
article p.note { font-size: 1.1rem; }

/* article-header */
.article-header { width: 670px; padding-top: 95px; margin: 0 auto 150px; position: relative; }
body.contact .article-header,
body.access .article-header,
body.documents .article-header,
body.find-property .article-header,
body.common .article-header { margin-top: 95px; }

.article-header h1 { font-size: 2rem; font-weight: 500; line-height: 1.5; }
.article-header h2 { position: relative; }
.article-header h1.boxed { width: 360px; height: 80px; font-size: 2.6rem; margin: 0 auto 50px; }
.article-header h1.boxed br { display: none; }

/* article-body */
.article-body { width: 980px; margin: 0 auto; }

.article-body h3 { font-size: 2.4rem; font-weight: 700; line-height: 1.4; }
.article-body h3 .sub { font-size: 2rem; font-weight: 500; }
.article-body h4 { font-size: 2.4rem; font-weight: 700; }

.article-body table.mini { margin: 25px 0 35px; }
.article-body table.mini td { font-size: 1.4rem; font-weight: 300; line-height: 1.5; border: none; padding: 3px 3px 3px 0; }
.article-body table a { text-decoration: underline; }
.article-body table a:hover { text-decoration: none; }

}



/* home: billboard
   ========================================================================== */

#home-header.section-header { display: block; height: 100vh; background-image: url(/media/section-header/bg_home_01.jpg); background-color: #486535; margin-top: 0; }

#home-billboard { height: 100vh; position: relative; }

/* copy: intro */
#home-copy-intro { display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #486535; position: relative; }
#home-copy-intro::before { content: ''; display: block; width: 100%; height: 100vh; background: url(/media/common/bg_leaf_01.svg) no-repeat; position: absolute; left: 0; top: 0; opacity: .2; }
#home-copy-intro::after { content: ''; display: block; width: 100%; height: 100vh; background: url(/media/common/bg_leaf_02.svg) no-repeat; position: absolute; left: 0; top: 0; opacity: .2; }

#home-copy-intro .inner { display: flex; justify-content: center; align-items: center; background-color: #fff; position: relative; }
#home-copy-intro span { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; writing-mode: vertical-rl; -ms-writing-mode: tb-rl; }

#home-copy-intro .inner::after { content: ''; display: block; position: absolute; right: 0; top: 0; border-top: 0 solid transparent; border-bottom: 0 solid transparent; }
#home-copy-intro .inner::before { content: ''; display: block; background-color: #486535; border-radius: 50%; position: absolute; }

/* copy: main */
#home-copy-main { display: flex; justify-content: center; align-items: center; width: 100%; height: 100vh; background: url(/media/section-header/bg_home_02.jpg) no-repeat center center; background-size: cover; position: absolute; left: 0; top: 0; }
#home-copy-main span { display: inline-block; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; position: relative; }

/* animation */
#home-copy-intro .inner::after { animation: door 1s ease 1.5s forwards; }
#home-copy-intro { animation: fadeout 1s ease 4s forwards; }
#home-copy-main { opacity: 0; animation: fadein 1.5s ease 5s forwards; }
@keyframes fadein { 100% { opacity: 1; } }
@keyframes fadeout { 100% { opacity: 0; } }

@media (min-width: 320px) and (max-width: 1023px) {

body.home #header,
body.home #lnav { background-color: transparent; }

/* copy: intro */
#home-copy-intro::before { background-position: -30px -30px; background-size: 175px; }
#home-copy-intro::after { background-position: calc(100% + 50px) calc(100% + 50px); background-size: 250px 190px; }

#home-copy-intro .inner { width: 160px; height: 290px; }
#home-copy-intro span { font-size: 2.5rem; }

#home-copy-intro .inner::after { width: 0; height: 290px; border-right: 160px solid #486535; }
#home-copy-intro .inner::before { width: 6px; height: 12px; right: 37px; top: calc(50% - 6px); }

/* copy: main */
#home-copy-main span { font-size: 2.2rem; line-height: 1.3; margin-bottom: 100px; }

/* animation */
body.home #header,
body.home #lnav { animation: fadein_bg 1s ease 4s forwards; }
@keyframes door { 100% { height: 230px; border-top: 30px solid transparent; border-bottom: 30px solid transparent; border-right: 40px solid #486535; } }
@keyframes fadein_bg { 100% { background-color: #486535; } }

}
@media (min-width: 1024px) {

/* copy: intro */
#home-copy-intro::before { background-position: -20px 0; }
#home-copy-intro::after { background-position: calc(100% + 30px) calc(100% + 50px); }

#home-copy-intro .inner { width: 200px; height: 360px; }
#home-copy-intro span { font-size: 3rem; }

#home-copy-intro .inner::after { width: 0; height: 360px; border-right: 200px solid #486535; }
#home-copy-intro .inner::before { width: 8px; height: 16px; right: 46px; top: calc(50% - 8px); }

/* copy: main */
#home-copy-main span { font-size: 3rem; line-height: 1.5; margin-bottom: 150px; }

/* animation */
@keyframes door { 100% { height: 280px; border-top: 40px solid transparent; border-bottom: 40px solid transparent; border-right: 50px solid #486535; } }

}



/* home: other
   ========================================================================== */

/* article */
body.home article { position: relative; }
body.home .article-header { padding-top: 0; }
body.home article h2 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 600; text-align: center; margin-bottom: 20px; position: relative; }

body.home article a.button { background-image: url(/media/common/arrow_next.svg); background-color: #fff; margin: 0 auto; }
body.home article a.button:hover { background-color: rgba(72, 101, 53, .1); }

/* information */
body.home article.information h2 { display: flex; justify-content: center; align-items: center; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
body.home article.information h3 { color: #486535; font-weight: 700; }
body.home article.information ul.index-list { background-color: #fff; box-sizing: border-box; }

/* statement */
body.home article.statement { background: url(/media/common/bg_leaf_01.svg) no-repeat; }
body.home article.statement .inner { height: 100%; background: url(/media/common/logo_resorts_g.svg) no-repeat center bottom rgba(255, 255, 255, .8); box-sizing: border-box; }
body.home article.statement h5 { font-weight: 300; }

/* services */
body.home article.services { background: url(/media/common/bg_leaf_02.svg) no-repeat; }
body.home article.services .inner { height: 100%; background-color: rgba(255, 255, 255, .8); box-sizing: border-box; }
body.home article.services h5,
body.home article.services ul,
body.home article.services .buttons { margin: 0 auto; box-sizing: border-box; }
body.home article.services h5 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; line-height: 1.4; text-align: center; border: 1px solid #707070; }
body.home article.services ul { display: flex; flex-wrap: wrap; }
body.home article.services ul li { width: 50%; }

@media (min-width: 320px) and (max-width: 1023px) {

body.home main { padding: 0; }

/* section-body */
body.home .section-body { padding: 0; }

/* article */
body.home article { padding: 0; margin: 0 auto 100px; }
body.home article h2 { font-size: 3rem; }

/* information */
body.home article.information { margin-bottom: 0; }
body.home article.information h2 { height: 30px; font-size: 1.2rem; background-color: #486535; margin-bottom: 0; }
body.home article.information h3 { font-size: 1.6rem; margin: 15px 0 5px 15px; }
body.home article.information ul.index-list li > span,
body.home article.information ul.index-list li a { min-height: 80px; }

/* statement */
body.home article.statement { background-position: -30px -30px; background-size: 175px; }
body.home article.statement .inner { background-size: 220px 30px; padding: 100px 30px 70px; }
body.home article.statement h5,
body.home article.statement p { font-size: 1.7rem; line-height: 1.8; }

/* services */
body.home article.services { background-position: calc(100% + 50px) calc(100% + 50px); background-size: 250px 190px; margin-bottom: 0; }
body.home article.services .inner { padding: 0 15px 100px; }
body.home article.services h5 { font-size: 1.8rem; text-align: left; padding: 10px; margin-bottom: 25px; }
body.home article.services ul li { font-size: 2rem; margin-bottom: 30px; }
body.home article.services .buttons { margin: 45px 30px 0; }

}
@media (min-width: 1024px) {

body.home #header { background: linear-gradient(to bottom, rgba(72, 101, 53, 1) 10%, rgba(72, 101, 53, .3) 90%, rgba(72, 101, 53, 0) 100%); }
body.home #header #lnav { background-color: transparent; }
body.home #header.tiny #lnav { background-color: #486535; }

body.home main { padding-bottom: 0; }

/* article */
body.home article { margin: 0 auto; position: relative; }
body.home .article-header { padding-top: 0; }
body.home article h2 { color: #486535; font-family: 'Noto Serif JP', serif; font-size: 3.6rem; font-weight: 600; text-align: center; margin-bottom: 20px; position: relative; }

/* information */
body.home article.information { display: flex; margin: 10px 0 15px; }
body.home article.information h2 { width: 200px; height: 90px; font-size: 1.6rem; background-color: #486535; }
body.home article.information h3 { font-size: 1.8rem; margin: 20px 0 15px 60px; }
body.home article.information .inner { width: calc(100% - 200px); }
body.home article.information ul.index-list { background-color: #fff; padding: 0 100px 0 60px; box-sizing: border-box; }
body.home article.information ul.index-list li > span,
body.home article.information ul.index-list li a { min-height: 50px; }

/* statement */
body.home article.statement { height: 700px; border-top: 1px solid #ddd; background-position: -20px -20px; }
body.home article.statement .inner { padding-top: 170px; }
body.home article.statement h5,
body.home article.statement p { font-size: 1.9rem; width: 670px; margin: 0 auto 50px; }
body.home article.statement h5 { line-height: 2; }

/* services */
body.home article.services { background-position: calc(100% + 30px) calc(100% + 50px); }
body.home article.services .inner { padding: 200px 0; }
body.home article.services h5,
body.home article.services ul,
body.home article.services .buttons { width: 670px; }
body.home article.services h5 { font-size: 2.6rem; padding: 20px; margin-bottom: 50px; }
body.home article.services ul li { font-size: 2.8rem; margin-bottom: 50px; }
body.home article.services .buttons { margin-top: 60px; }

}



/* home: property map
   ========================================================================== */

body.home article.property-map { background: #486535; }

body.home article.property-map h2,
body.home article.property-map h3,
body.home article.property-map .inner p { color: #fff; }
body.home article.property-map h2,
body.home article.property-map h3 { text-align: center; }
body.home article.property-map h2 { font-family: 'Noto Serif JP', serif; font-weight: 500; }
body.home article.property-map h3 { font-weight: 700; }

body.home article.property-map .buttons { flex-wrap: wrap; position: relative; }
body.home article.property-map .buttons a.button { display: flex; justify-content: center; align-items: center; width: 50%; background: #fff; border-color: #486535; padding: 0; }
body.home article.property-map .buttons a.button:hover { opacity: .6; }
body.home article.property-map .buttons a.button span { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; }
body.home article.property-map .buttons p { display: flex; justify-content: center; align-items: center; width: 100%; font-weight: 500; background-color: #67b200; position: relative; }
body.home article.property-map .buttons p::after { content: ''; display: block; width: 0; height: 0; border-style: solid; border-color: #67b200 transparent transparent transparent; position: absolute; z-index: 1; }

body.home article.property-map .map { background: url(/media/home/property-map_common.png) no-repeat center center; background-size: contain; position: relative; }

body.home article.property-map .map a { display: flex; justify-content: center; align-items: center; background-color: rgba(103, 178, 0, .8); box-shadow: 1px 1px 2px rgba(0, 0, 0, .5); transition: .25s; }
body.home article.property-map .map a:hover { background-color: #67b200; box-shadow: none; }
body.home article.property-map .map a span { color: #fff; font-weight: 700; }
body.home article.property-map .map > span { background-color: rgba(255, 255, 255, .8); }
body.home article.property-map .map a,
body.home article.property-map .map > span { position: absolute; }

body.home .map-spot .buttons { justify-content: space-between; }
body.home .map-spot a.button { display: flex; justify-content: center; align-items: center; background: #fff; border-color: #486535; padding: 0; }
body.home .map-spot a.button:hover { background-color: rgba(72, 101, 53, .1); }
body.home .map-spot a.button span { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; }

/* modaal */
body.home .modaal-close { position: absolute; top: auto; width: 50px; height: 50px; background: transparent; right: 0; top: 0; }
body.home .modaal-close:after,
body.home .modaal-close:before { width: 1px; height: 30px; border-radius: 1px; background: #707070; }
body.home .modaal-close:focus,
body.home .modaal-close:hover { background: transparent }
body.home .modaal-close:focus:after,
body.home .modaal-close:focus:before,
body.home .modaal-close:hover:after,
body.home .modaal-close:hover:before { background: #d00053; }
body.home .map-spot h4 { font-weight: 700; text-align: center; }

@media (min-width: 320px) and (max-width: 1023px) {

body.home article.property-map { margin-bottom: 0; }
body.home article.property-map .inner { padding: 30px 15px; }

body.home article.property-map h2,
body.home article.property-map h3,
body.home article.property-map .inner p { padding: 0 15px; margin-bottom: 20px; }
body.home article.property-map h2 { font-size: 2.4rem; line-height: 1.2; }
body.home article.property-map h3 { font-size: 1.8rem; line-height: 1.3; text-align: left; }
body.home article.property-map p { font-size: 1.7rem; line-height: 1.8; }

body.home article.property-map .buttons a.button { height: 56px; }
body.home article.property-map .buttons a.button span { font-size: 1.9rem; }
body.home article.property-map .buttons p { height: 30px; font-size: 1.7rem; margin: 0 0 16px; }
body.home article.property-map .buttons p::after { border-width: 16px 10px 0 10px; top: 30px; }

body.home article.property-map .map { width: 345px; height: 400px; margin: -16px auto 0; }

body.home article.property-map .map a { padding: 6px 8px; }
body.home article.property-map .map a span { font-size: 1.6rem; }
body.home article.property-map .map > span { font-size: .9rem; padding: 5px; }
body.home article.property-map .map .spot-01 { right: 15px; bottom: 50px; }
body.home article.property-map .map .spot-02 { left: 50px; top: 175px; }
body.home article.property-map .map .spot-03 { left: 15px; bottom: 50px; }
body.home article.property-map .map .spot-04 { right: 50px; top: 30px; }
body.home article.property-map .map .spot-05 { right: 60px; bottom: 110px; }
body.home article.property-map .map .spot-06 { right: 85px; top: 80px; }
body.home article.property-map .map .spot-07 { left: 45px; top: 60px; }
body.home article.property-map .map .spot-08 { right: 25px; bottom: 15px; }

body.home .modaal-container { width: 330px; }
body.home .modaal-content-container { padding: 15px; }
body.home .map-spot figure { width: 300px; }
body.home .map-spot figcaption { margin-top: 15px; }
body.home .map-spot figcaption p { font-size: 1.7rem; line-height: 1.8; }
body.home .map-spot h4 { font-size: 1.8rem; margin-bottom: 15px; }
body.home .map-spot .buttons { margin-top: 40px; }
body.home .map-spot a.button { width: 144px; height: 55px; }
body.home .map-spot a.button span { font-size: 1.9rem; }

}
@media (min-width: 1024px) {

body.home article.property-map { height: 1200px; position: relative; }
body.home article.property-map::before { content: ''; display: block; width: 100%; height: 100%; background: url(/media/home/bg_tree.png) no-repeat -150px center; background-size: contain; position: absolute; right: 0; top: 0; opacity: .8; }
body.home article.property-map::after { content: ''; display: block; width: 100%; height: 100%; background: url(/media/home/bg_tree.png) no-repeat -150px center; background-size: contain; transform: scale(-1, 1); position: absolute; right: 0; top: 0; opacity: .8; }
body.home article.property-map .inner { width: 600px; height: 100%; padding-top: 60px; margin: 0 auto; box-sizing: border-box; position: relative; z-index: 1; }

body.home article.property-map h2,
body.home article.property-map h3,
body.home article.property-map .inner p { margin-bottom: 30px; }
body.home article.property-map h2 { font-size: 4rem; }
body.home article.property-map h2 br { display: none; }
body.home article.property-map h3 { font-size: 2.4rem; }

body.home article.property-map .buttons a.button { height: 84px; }
body.home article.property-map .buttons a.button span { font-size: 2.6rem; }
body.home article.property-map .buttons p { height: 50px; font-size: 2rem; margin: 0 0 28px; }
body.home article.property-map .buttons p::after { border-width: 28px 18px 0 18px; top: 50px; }

body.home article.property-map .map { height: 700px; margin-top: -28px; }

body.home article.property-map .map a { padding: 10px; }
body.home article.property-map .map a span { font-size: 2.9rem; }
body.home article.property-map .map > span { font-size: 1.4rem; padding: 5px; }
body.home article.property-map .map .spot-01 { left: 300px; top: 560px; }
body.home article.property-map .map .spot-02 { left: 90px; top: 300px; }
body.home article.property-map .map .spot-03 { left: 20px; top: 570px; }
body.home article.property-map .map .spot-04 { left: 320px; top: 50px; }
body.home article.property-map .map .spot-05 { left: 320px; top: 460px; }
body.home article.property-map .map .spot-06 { left: 380px; top: 155px; }
body.home article.property-map .map .spot-07 { left: 90px; top: 115px; }
body.home article.property-map .map .spot-08 { left: 450px; top: 640px; }

body.home .modaal-container { width: 600px; }
body.home .map-spot figure { width: 540px; }
body.home .map-spot figcaption { font-size: 1.8rem; margin-top: 20px; }
body.home .map-spot figcaption p { line-height: 2; }
body.home .map-spot h4 { font-size: 2.4rem; margin-bottom: 30px; }
body.home .map-spot .buttons { margin-top: 80px; }
body.home .map-spot a.button { width: 250px; height: 100px; }
body.home .map-spot a.button span { font-size: 2.6rem; }

}



/* information
   ========================================================================== */

body.information .section-header { background-image: url(/media/section-header/bg_information.jpg); }

body.information .article-header { border-bottom: 1px solid #486535; }
body.information .article-header .extras { display: flex; justify-content: space-between; align-items: center; }
body.information .article-header .extras .badge { flex: 0 0 auto; margin-right: 20px; }

body.information.publication .article-header .extras .badge { background-color: #ff81a8; }
body.information.events .article-header .extras .badge { color: #fff; background-color: #d00053; }

body.information .article-header .extras .date { flex: 1 0 auto; }
body.information .article-header .extras .badge.pdf { flex: 0 0 70px; width: 70px; font-size: 1.1rem; background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center #fff; background-size: 15px; border: 1px solid #000; padding-right: 20px; box-sizing: border-box; }

body.information .article-footer { display: flex; justify-content: center; align-items: flex-end; background: url(/media/common/logo_resorts_g.svg) no-repeat right top; margin: 100px 0 0; }

@media (min-width: 320px) and (max-width: 1023px) {

body.information .section-header.billboard { height: 150px; }
body.information .section-header div.heading { min-width: 180px; }
body.information .article-header { padding: 30px 0 30px; margin-bottom: 40px; }
body.information .article-header .extras { margin-bottom: 10px; }
body.information article { padding: 0 15px; }
body.information .article-footer { height: 125px; background-size: 150px auto; }
body.information.index .section-body { padding: 0; }
body.information.index article { padding: 0; }

}
@media (min-width: 1024px) {

body.information article { width: 760px; margin: 0 auto; }
body.information.index article { width: 900px; }
body.information .section-header.billboard { height: 300px; }
body.information .article-header { width: 100%; padding-bottom: 30px; margin-bottom: 30px; }
body.information .article-header .extras { margin-bottom: 20px; }
body.information .article-body { width: 100%; }
body.information .article-footer { height: 200px; background-size: 250px auto; }
body.information.index .section-header { margin-bottom: 80px; }
body.information.index ul.index-list { width: 900px; }

}



/* about-resort
   ========================================================================== */

body.about-resort .section-header { background-image: url(/media/section-header/bg_about-resort.jpg); }

body.about-resort .buttons { justify-content: space-between; }
body.about-resort a.button { display: flex; justify-content: center; align-items: center; background: #fff; border-color: #486535; padding: 0; transition: .25s; }
body.about-resort a.button:hover { background-color: rgba(72, 101, 53, .1); }
body.about-resort a.button span { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; }

@media (min-width: 320px) and (max-width: 1023px) {

body.about-resort .section-header div.heading { line-height: 1.2; }
body.about-resort .article-body > .block { margin-bottom: 40px; }
body.about-resort .article-body > .block .columned .text { margin-top: 20px; }

body.about-resort .buttons { margin-top: 30px; }
body.about-resort a.button { width: 144px; height: 55px; }
body.about-resort a.button span { font-size: 1.9rem; }

}
@media (min-width: 1024px) {

body.about-resort main { padding-bottom: 0; }

body.about-resort .section-body { padding-bottom: 100px; position: relative; }
body.about-resort .section-body::before { content: ''; display: block; width: 100%; height: 100%; background: url(/media/common/bg_leaf_01.svg) no-repeat -30px -25px; position: absolute; right: 0; top: 0; opacity: .2; }
body.about-resort .section-body::after { content: ''; display: block; width: 100%; height: 100%; background: url(/media/common/bg_leaf_02.svg) no-repeat calc(100% + 35px) calc(100% + 50px); position: absolute; right: 0; top: 0; opacity: .2; }

body.about-resort article { position: relative; z-index: 1; }

body.about-resort .article-body > .block { margin-bottom: 80px; position: relative; }
body.about-resort .article-body > .block .columned { width: 980px; margin: 0 auto; }
body.about-resort .article-body > .block .columned figure,
body.about-resort .article-body > .block .columned figure img,
body.about-resort .article-body > .block .columned .text { width: 470px; height: 350px; }
body.about-resort .article-body > .block .columned figure img { object-fit: cover; }
body.about-resort .article-body > .block .columned .text { display: flex; flex-direction: column; justify-content: space-between; }

body.about-resort .article-body > .block:nth-of-type(2) .columned,
body.about-resort .article-body > .block:nth-of-type(4) .columned { flex-direction: row-reverse; }

body.about-resort a.button { width: 220px; height: 84px; }
body.about-resort a.button span { font-size: 2.6rem; }

}



/* property: find property
   ========================================================================== */

body.find-property.property_lot .section-header { background-image: url(/media/section-header/bg_find-property_lot.jpg); }
body.find-property.property_house .section-header { background-image: url(/media/section-header/bg_find-property_house.jpg); }

body.find-property.property_division_01 .section-header,
body.find-property.property_division_02 .section-header,
body.find-property.property_division_03 .section-header,
body.find-property.property_division_04 .section-header,
body.find-property.property_division_05 .section-header { background-image: url(/media/section-header/bg_find-property.jpg); }
body.find-property.property_division_01 .section-header h1,
body.find-property.property_division_02 .section-header h1,
body.find-property.property_division_03 .section-header h1,
body.find-property.property_division_04 .section-header h1,
body.find-property.property_division_05 .section-header h1 { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #486535; background-repeat: no-repeat; background-position: center center; background-size: cover; box-sizing: border-box; }
body.find-property.property_division_01 .section-header h1 { background-image: url(/media/about-resort/lake_newtown.jpg); }
body.find-property.property_division_02 .section-header h1 { background-image: url(/media/about-resort/nanpeidai.jpg); }
body.find-property.property_division_03 .section-header h1 { background-image: url(/media/about-resort/happu_no_sato.jpg); }
body.find-property.property_division_04 .section-header h1 { background-image: url(/media/about-resort/seseragi_no_mori.jpg); }
body.find-property.property_division_05 .section-header h1 { background-image: url(/media/about-resort/akashiya_dori.jpg); }

body.find-property .section-header h1 .sub { text-align: center; }

body.find-property a.pdf { display: flex; justify-content: flex-end; align-items: center; }
body.find-property a.pdf::after { content: 'PDF'; display: inline-flex; justify-content: center; align-items: center; width: 70px; height: 26px; font-size: 1.1rem; font-weight: 400; border: 1px solid #000; border-radius: 10px; background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center #fff; background-size: 15px; padding-right: 15px; margin-left: 10px; box-sizing: border-box; transition: .25s; }
body.find-property a.pdf:hover::after { background-color: rgba(72, 101, 53, .1); }

body.find-property .article-header.featured { margin-top: 0; margin-bottom: 0; }
body.find-property .article-header h2 { display: flex; justify-content: center; align-items: center; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; background-color: #486535; }

body.find-property .items.columned { justify-content: flex-start; }
body.find-property .items .item { transition: .25s; }
body.find-property .items a.item:hover { background-color: rgba(72, 101, 53, .2); }
body.find-property .items .item p { font-weight: 700; }
body.find-property .items .item figure img { object-fit: cover; }
body.find-property .items .item figure span { display: flex; justify-content: center; align-items: center; color: #fff; background-color: #ddd; }
body.find-property .items .item .spec b { display: flex; justify-content: space-between; align-items: flex-start; font-weight: 700; min-height: 26px; }
body.find-property .items .item .spec > span { display: block; }
body.find-property .items .item .spec > span .sub { display: inline-block; margin-right: 5px; }

body.find-property .items .item.new b::after,
body.find-property .items .item.updated b::after { display: flex; justify-content: center; align-items: center; width: 70px; height: 26px; color: #fff; font-size: 1.3rem; font-weight: 300; border: 1px solid #000; border-radius: 10px;}
body.find-property .items .item.new b::after { content: 'NEW'; background-color: #486535; }
body.find-property .items .item.updated b::after { content: '更新！'; background-color: #67b200; }

body.find-property .article-body.columned { justify-content: space-between; }

#results .extras .block:first-of-type { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #486535; }
#results .extras .block:first-of-type span { display: block; color: #fff; vertical-align: bottom; }
#results .extras .block:first-of-type span b { font-weight: 100; }

#results .extras .block:last-of-type { display: flex; align-items: center; box-sizing: border-box; }
#results .extras .block:last-of-type b { display: inline-flex; justify-content: center; align-items: center; width: 100px; height: 40px; color: #fff; font-weight: 300; background-color: #486535; margin-right: 10px; }
#results .extras .block:last-of-type span { color: #666; line-height: 1.5; }

#results > div.items p { width: 100%; text-align: center; margin: 0; }

@media (min-width: 320px) and (max-width: 1023px) {

body.find-property.property_division_01 .section-header h1,
body.find-property.property_division_02 .section-header h1,
body.find-property.property_division_03 .section-header h1,
body.find-property.property_division_04 .section-header h1,
body.find-property.property_division_05 .section-header h1 { width: 80%; height: 200px; border: 5px solid #fff; }
body.find-property .section-header h1 span { width: 160px; }

body.find-property .section-extras { margin: 15px 10px; }

body.find-property .section-body,
body.find-property article { padding: 0; }

body.find-property .items.columned { display: block; width: 300px; margin: 0 auto 60px; }
body.find-property .article-header.featured { padding-top: 0; }
body.find-property .article-header.featured h2 { line-height: 1.2; text-align: center; padding: 15px 30px; }

body.find-property .article-body.columned { display: block; }

body.find-property .items .item { display: block; margin-bottom: 60px; }
body.find-property .items .item p { font-size: 1.8rem; line-height: 1.3; margin: 20px 0 15px; }
body.find-property .items .item figure { margin-bottom: 15px; }
body.find-property .items .item figure img,
body.find-property .items .item figure span { width: 300px; height: 230px; }
body.find-property .items .item .spec b,
body.find-property .items .item .spec span { line-height: 1.2; margin-bottom: 5px; }
body.find-property .items .item .spec b { font-size: 1.8rem; }
body.find-property .items .item .spec > span { font-size: 1.8rem; }

#results .extras .block:first-of-type { width: 40%; height: 80px; }
#results .extras .block:first-of-type span span:first-child { font-size: 1.2rem; }
#results .extras .block:first-of-type span span:last-child { font-size: 1.6rem; text-align: right; }
#results .extras .block:first-of-type span b { font-size: 4rem; }

#results .extras .block:last-of-type { margin: 40px 15px; }
#results .extras .block:last-of-type b { font-size: 1.2rem; }
#results .extras .block:last-of-type span { font-size: 1rem; }

#result-list { margin-bottom: 10px; }
#result-list .item:last-of-type { margin-bottom: 0; } 

}
@media (min-width: 1024px) {

body.find-property.property_division_01 .section-header h1,
body.find-property.property_division_02 .section-header h1,
body.find-property.property_division_03 .section-header h1,
body.find-property.property_division_04 .section-header h1,
body.find-property.property_division_05 .section-header h1 { width: 500px; height: 360px; border: 10px solid #fff; }

body.find-property .section-extras { width: 980px; margin: 10px auto 0; }
body.find-property a.pdf { font-size: 1.8rem; }

body.find-property .article-header.featured { width: 1020px; }
body.find-property .article-header h2 { width: 980px; height: 80px; font-size: 4rem; margin: 0 auto 40px; }
body.find-property .article-header h2 br { display: none; }

body.find-property .items .item { width: 300px; margin: 0 20px 40px; }
body.find-property .items .item p { min-height: 66px; font-size: 1.7rem; line-height: 1.3; margin: 0 0 40px; }
body.find-property .items .item figure { margin-bottom: 20px; }
body.find-property .items .item figure img,
body.find-property .items .item figure span { width: 300px; height: 230px; }
body.find-property .items .item .spec b,
body.find-property .items .item .spec span { margin-bottom: 10px; }
body.find-property .items .item .spec b { font-size: 1.6rem; }
body.find-property .items .item .spec > span { font-size: 1.8rem; }

body.find-property .article-body.columned { margin-top: 100px; }

#results .item { margin: 0 0 40px 40px; }

#results .extras .block:first-of-type { width: 300px; height: 130px; }
#results .extras .block:first-of-type span span:first-child { font-size: 1.6rem; }
#results .extras .block:first-of-type span span:last-child { font-size: 3rem; }
#results .extras .block:first-of-type span b { font-size: 7rem; }

#results .extras .block:last-of-type { width: 680px; padding-left: 40px; margin-bottom: 60px; }
#results .extras .block:last-of-type b { font-size: 1.6rem; }
#results .extras .block:last-of-type span { font-size: 1.1rem; }

#results { position: relative; }
#results > .extras { display: flex; align-items: flex-start; width: 980px; height: 130px; position: absolute; left: -300px; top: 0; }

#result-list { width: 680px; margin-top: 131px; }
#results > div.items { width: 680px; margin-top: 131px; }

}



/* property: search box
   ========================================================================== */

.search-box-opener { display: none; }
input#search-box-opener{ display: none; }

#search-box .searchandfilter ul li { padding: 0; }
#search-box .searchandfilter ul li li { display: flex; align-items: center; border-top: 1px solid #e6e6e6; padding: 12px; }
#search-box form { background-color: #fff; }
#search-box form > ul > li:nth-last-child(2) { margin-top: 10px; }
#search-box form input { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
#search-box form input[type="submit"] { display: flex; justify-content: center; align-items: center; color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; border: 1px solid #486535; background-color: #fff; cursor: pointer; transition: .25s; }
#search-box input.search-filter-reset { border-top: none !important; }
#search-box form input[type="submit"]:hover,
#search-box form input[type="submit"]:active { background-color: rgba(72, 101, 53, .1); }
#search-box form h4 { display: block; width: 100%; font-size: 1.8rem; font-weight: 700; border-top: 1px solid #e6e6e6; padding: 20px 20px 20px 12px; box-sizing: border-box; }
#search-box form ul:first-of-type li.sf-field-taxonomy-property_class > h4 { border-top: none; }
#search-box form label { font-size: 1.8rem; font-weight: 300; }
#search-box form label { margin-left: 10px; }
#search-box form input[type="checkbox"],
#search-box form input[type="radio"] { display: inline-block; width: 15px; height: 15px; background-color: #fff; border: 1px solid #000; box-sizing: border-box; transition: .25s; }
#search-box form input[type="radio"] { border-radius: 50%; }
#search-box form input[type="checkbox"]:checked,
#search-box form input[type="radio"]:checked { background-color: #486535; }
#search-box .sf-count { color: #a0a0a0; }
#search-box .sf-meta-range.sf-meta-range-slider { padding: 10px 15px; }
#search-box .sf-meta-range.sf-meta-range-slider span { font-size: 1.8rem; font-weight: 300; }
#search-box .meta-slider.noUi-target.noUi-ltr.noUi-horizontal { max-width: 95%; margin: 30px 0 20px; }
#search-box .searchandfilter .noUi-connect { background-color: #486535 !important; }

@media (min-width: 320px) and (max-width: 1023px) {

#search-box { width: 100%; position: absolute; z-index: 0; }
#search-box.overlaid { z-index: 1; }
#search-box form { width: 100%; margin: 0 0 0 auto; transform: scaleY(0); transform-origin: top; transition: .25s; }
#search-box form input[type="submit"] { width: 100%; height: 60px; font-size: 2.2rem; }

.search-box-opener { display: block; }
input#search-box-opener[type="checkbox"]:checked ~ form { transform: scaleY(1); box-shadow: 0px 1px 60px rgba(0, 0, 0, .8); }
.search-box-opener { display: flex; justify-content: center; align-items: center; width: 60%; height: 80px; background-color: #000; font-family: 'Noto Serif JP', serif; font-weight: 500; color: #fff; font-size: 1.9rem; font-weight: 500; margin-left: 40%; cursor: pointer; }
.search-box-opener span { display: block; }
.search-box-opener .inner { width: 15px; height: 15px; margin: 4px 5px 0 0; }
.search-box-opener .line { width: 100%; height: 1px; background-color: #fff; box-sizing: border-box; }
.search-box-opener .horizontal { width: 10px; float: left; margin-top: 5px; position: relative; transition: all 0.3s; }
.search-box-opener .diagonal-01 { width: 15px; float: left; position: relative; transition: all 0.3s; }
.search-box-opener .diagonal-02 { width: 13px; float: left; margin-top: 5px; position: relative; transition: all 0.3s; }
input#search-box-opener[type="checkbox"]:checked ~ .search-box-opener .horizontal { opacity: 0; }
input#search-box-opener[type="checkbox"]:checked ~ .search-box-opener .diagonal-01 { margin-top: 6px; transform: rotate(135deg); }
input#search-box-opener[type="checkbox"]:checked ~ .search-box-opener .diagonal-02 { width: 15px; margin-top: -7px; transform: rotate(-135deg); }

}
@media (min-width: 1024px) {

#search-box { width: 300px; margin-top: 131px; }
#search-box form input[type="submit"] { width: 300px; height: 80px; font-size: 3rem; }
#search-box form ul li:last-child input[type="submit"] { height: 60px; font-size: 2.4rem; }

}



/* property: single page
   ========================================================================== */

body.property .article-header h1 { font-weight: 700; }
body.property .article-footer > a { display: block; font-weight: 500; text-decoration: underline; text-align: center; }
body.property .article-footer > a:hover { text-decoration: none; }

body.property .article-header .extras:first-of-type { display: flex; align-items: center; }
body.property .article-header .extras:first-of-type b { display: inline-flex; justify-content: center; align-items: center; width: 100px; height: 40px; color: #fff; font-weight: 300; background-color: #486535; margin-right: 10px; }
body.property .article-header .extras:first-of-type span { color: #666; }

body.property .article-header .extras.columned .badges { display: flex; }
body.property .article-header .extras.columned .badge { color: #fff; font-weight: 300; background-color: #486535; border: 1px solid #000; }
body.property .article-header .extras.columned .summary { font-weight: 700; line-height: 1.3; }
body.property .article-header .extras.columned .price { font-weight: 100; }
body.property .article-header .extras.columned .price .sub { font-weight: 300; }

body.property table { border-bottom: 1px solid #ebebeb; }
body.property table caption { background-color: #486535; }
body.property table caption span { color: #fff; font-weight: 500; }
body.property table th,
body.property table td { font-weight: 300; vertical-align: middle; border: none; }
body.property table th { background-color: #ddd; border-top: 1px solid #fff; }
body.property table td { border-top: 1px solid #ebebeb; }
body.property table tr:first-child td { border: none; }

body.property a.mini-button.pdf { display: inline-flex; justify-content: center; align-items: center; width: 70px; height: 26px; font-size: 1.1rem; font-weight: 400; text-decoration: none; border: 1px solid #000; border-radius: 10px; background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center #fff; background-size: 15px; padding-right: 15px; box-sizing: border-box; transition: .25s; }
body.property a.mini-button.pdf:hover { background-color: rgba(72, 101, 53, .1); }

body.property .video { width:100%; height: 0px; background-color: #ccc; padding-bottom: 56.25%; position: relative; }
body.property .video iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

/* slide */
body.property .slide figure { display: flex; justify-content: center; align-items: center; flex-direction: column; }
body.property .slide figure figcaption { min-height: 25px; color: #666; font-weight: 500; line-height: 1.3; text-align: center; margin-top: 10px; }
body.property .slide figure img { border: 1px solid #838383; box-sizing: border-box; object-fit: contain; }
body.property .slick-prev,
body.property .slick-next { background: no-repeat center center; transition: .25s; }
body.property .slick-prev:before,
body.property .slick-next:before { font-size: 0; color: transparent; }
body.property .slick-prev:hover,
body.property .slick-prev:focus,
body.property .slick-next:hover,
body.property .slick-next:focus { background: no-repeat center center; opacity: .4; }
body.property .slick-prev,
body.property .slick-prev:hover,
body.property .slick-prev:focus { background-image: url(/media/common/arrow_prev_slide.svg); }
body.property .slick-next,
body.property .slick-next:hover,
body.property .slick-next:focus { background-image: url(/media/common/arrow_next_slide.svg); }

body.property .slick-dots { bottom: -30px; }
body.property .slick-dots li,
body.property .slick-dots li button { width: 20px; height: 20px; }
body.property .slick-dots li button:before { font-size: 10px; color: #486535; line-height: 20px; width: 20px; height: 20px; }

@media (min-width: 320px) and (max-width: 1023px) {

body.property .article-header { padding-top: 30px; margin-bottom: 30px; }
body.property .article-header h1 { font-size: 1.8rem; margin-bottom: 30px; }
body.property .article-footer .buttons { margin-bottom: 40px; }
body.property .article-footer { margin-top: 30px; }

body.property .article-header .extras:first-of-type { margin-bottom: 20px; }
body.property .article-header .extras:first-of-type b { font-size: 1.2rem; }
body.property .article-header .extras:first-of-type span { font-size: 1rem; }

body.property .article-header .extras.columned .badge { margin-bottom: 15px; }
body.property .article-header .extras.columned .badge:nth-of-type(n + 2) { margin-left: 10px; }
body.property .article-header .extras.columned .summary { width: 100%; font-size: 1.8rem; margin-bottom: 30px; }
body.property .article-header .extras.columned .price { width: 100%; font-size: 4rem; text-align: right; }
body.property .article-header .extras.columned .price .sub { font-size: 1.6rem; }

body.property table caption { padding: 10px 15px; }
body.property table caption span { font-size: 1.4rem; }
body.property table th,
body.property table td { font-size: 1.6rem; line-height: 1.6; padding: 10px 15px; }
body.property table th { width: 30%; }

body.property .video { margin-top: 30px; }

/* slide */
body.property .slide { width: 290px; margin: 0 auto 60px; }
body.property .slide figure { width: 290px; }
body.property .slide figcaption { font-size: 1.2rem; }
body.property .slide figure img { max-width: 290px; max-height: 203px; }
body.property .slick-prev,
body.property .slick-next { width: 15px; height: 30px; background-size: 15px 30px; top: calc(50% - 15px); }
body.property .slick-prev { left: -25px; }
body.property .slick-next { right: -25px; }
body.property .slick-prev:hover,
body.property .slick-prev:focus,
body.property .slick-next:hover,
body.property .slick-next:focus { background-size: 15px 30px; }
body.property .slick-dots li,
body.property .slick-dots li button { width: 15px; height: 15px; }
body.property .slick-dots li button:before { line-height: 15px; width: 15px; height: 15px; }

}
@media (min-width: 1024px) {

body.property .article-header,
body.property .article-body,
body.property .article-footer { width: 800px; margin: 50px auto 0; }
body.property .article-header h1 { font-size: 2.4rem; margin: 0 0 30px; }
body.property .article-footer .buttons { margin-bottom: 40px; }

body.property .article-header .extras:first-of-type { margin-bottom: 30px; }
body.property .article-header .extras:first-of-type b { font-size: 1.6rem; }
body.property .article-header .extras:first-of-type span { font-size: 1.1rem; }

body.property .article-header .extras.columned .badge { margin-bottom: 15px; }
body.property .article-header .extras.columned .badge:nth-of-type(n + 2) { margin-left: 10px; }
body.property .article-header .extras.columned .summary { width: 60%; font-size: 2.4rem; }
body.property .article-header .extras.columned .price { font-size: 7rem; }
body.property .article-header .extras.columned .price .sub { font-size: 3rem; }

body.property table caption { padding: 16px 20px; }
body.property table caption span { font-size: 2rem; }
body.property table th,
body.property table td { font-size: 1.8rem; line-height: 1.6; padding: 16px 20px; }
body.property table th { width: 20%; }

body.property .video { margin-top: 50px; }

/* slide */
body.property .slide { width: 500px; margin: 0 auto 80px; }
body.property .slide figure { width: 500px; }
body.property .slide figcaption { font-size: 1.4rem; }
body.property .slide figure img { max-width: 500px; max-height: 350px; }
body.property .slick-prev,
body.property .slick-next { width: 33px; height: 66px; background-size: 33px 66px; }
body.property .slick-prev { left: -133px; }
body.property .slick-next { right: -133px; }
body.property .slick-prev:hover,
body.property .slick-prev:focus,
body.property .slick-next:hover,
body.property .slick-next:focus { background-size: 33px 66px; }

}



/* services
   ========================================================================== */

body.services .section-header { background-image: url(/media/section-header/bg_services.jpg); }

body.services .article-header h5 { font-weight: 500; line-height: 1.5; }

body.services .article-body h3 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; }

body.services .block { margin-bottom: 50px; }

body.services .article-body .block h4 { font-weight: 700; }
body.services .article-body .block li { display: flex; }
body.services .article-body .block li::before { content: '●'; display: inline-block; margin-right: 5px; }

@media (min-width: 320px) and (max-width: 1023px) {

body.services .article-header h5 { font-size: 1.7rem; }
body.services .article-header h5 br { display: none; }

body.services .article-body { margin-bottom: 60px; }

body.services .article-body h3 { font-size: 2.2rem; margin-bottom: 40px; }

body.services .article-body .block h4 { font-size: 1.8rem; margin-bottom: 15px; }
body.services .article-body .block p { font-size: 1.6rem; }
body.services .article-body .block ul { margin-top: 20px; }
body.services .article-body .block li { font-size: 1.6rem; line-height: 1.8; }

body.services .block .columned figure img { margin-bottom: 15px; }

body.services .service-01 .block,
body.services .service-01 p.align-right { border-top: 1px solid #707070; padding-top: 10px; }
body.services .service-01 p.align-right { margin-top: 0; }

body.services .service-04 { margin-bottom: 0; }
body.services .service-04 .block { border-top: 1px solid #707070; padding-top: 10px; }
body.services .service-04 .block:last-of-type { margin-bottom: 0; }

}
@media (min-width: 1024px) {

body.services .article-header h5 { font-size: 2rem; }

body.services .article-body { margin-bottom: 150px; }

body.services .article-body h3 { font-size: 3rem; margin-bottom: 80px; }

body.services .columned .block,
body.services .block .columned figure,
body.services .block .columned .text { width: 470px; }
body.services .columned .block { border-top: 1px solid #707070; padding-top: 10px; }
body.services .service-01 .columned { border-bottom: 1px solid #707070; }

body.services .article-body .block h4 { font-size: 2.4rem; margin-bottom: 30px; }
body.services .article-body .block ul { margin-top: 40px; }
body.services .article-body .block li { font-size: 1.9rem; line-height: 2; }

body.services .block .columned figure img:nth-child(n + 2) { margin-top: 20px; }

}



/* residents
   ========================================================================== */

body.residents .section-header { background-image: url(/media/section-header/bg_residents.jpg); }

body.residents .article-body h3 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; }
body.residents .article-body h3 .sub { display: block; font-family: 'Noto Sans JP', sans-serif; }

body.residents .article-body .block h4 { font-weight: 700; margin-bottom: 30px; }
body.residents .article-body .block li { display: flex; }
body.residents .article-body .block li::before { content: '●'; display: inline-block; margin-right: 5px; }

body.residents .services h4,
body.residents .faq h4 { font-weight: 500; }

body.residents .services .columned { justify-content: flex-start; }

body.residents .services .columned b,
body.residents .services .columned span { display: inline-block; box-sizing: border-box; }
body.residents .services .columned b { font-weight: 700; }

body.residents .misc .columned .block a::after { content: 'PDF'; display: flex; justify-content: center; align-items: center; width: 70px; height: 26px; font-size: 1.1rem; font-weight: 400; border: 1px solid #000; border-radius: 10px; background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center #fff; background-size: 15px; padding-right: 15px; box-sizing: border-box; transition: .25s; }
body.residents .misc .columned .block a:hover::after { background-color: rgba(72, 101, 53, .1); }

body.residents .misc .columned .block:first-of-type a { display: flex; justify-content: center; flex-wrap: wrap; }
body.residents .misc .columned .block:first-of-type a img { border: 1px solid #707070; }
body.residents .misc .columned .block:last-of-type a { display: flex; justify-content: space-between; align-items: center; color: #fff; background-color: #9f9f9f; box-sizing: border-box; }
body.residents .misc .columned .block:last-of-type a::after { color: #000; }

body.residents .faq .expandable-list > ul > li h4 { display: flex; }
body.residents .faq .expandable-list > ul > li h4::before { display: inline-block; }
body.residents .faq .block > :first-child { position: relative; }
body.residents .faq .block > :first-child::before { display: inline-block; font-weight: 500; position: absolute; left: 0; top: 0; }
body.residents .faq .block > ul > li::before { content: '・'; }

body.residents .faq .expandable-list > ul > li:nth-child(1) h4::before { content: 'Q1：'; }
body.residents .faq .expandable-list > ul > li:nth-child(1) .block > :first-child::before { content: 'A1：'; }
body.residents .faq .expandable-list > ul > li:nth-child(2) h4::before { content: 'Q2：'; }
body.residents .faq .expandable-list > ul > li:nth-child(2) .block > :first-child::before { content: 'A2：'; }
body.residents .faq .expandable-list > ul > li:nth-child(3) h4::before { content: 'Q3：'; }
body.residents .faq .expandable-list > ul > li:nth-child(3) .block > :first-child::before { content: 'A3：'; line-height: 1.8; }
body.residents .faq .expandable-list > ul > li:nth-child(4) h4::before { content: 'Q4：'; }
body.residents .faq .expandable-list > ul > li:nth-child(4) .block > :first-child::before { content: 'A4：'; }
body.residents .faq .expandable-list > ul > li:nth-child(5) h4::before { content: 'Q5：'; }
body.residents .faq .expandable-list > ul > li:nth-child(5) .block > :first-child::before { content: 'A5：'; }
body.residents .faq .expandable-list > ul > li:nth-child(6) h4::before { content: 'Q6：'; }
body.residents .faq .expandable-list > ul > li:nth-child(6) .block > :first-child::before { content: 'A6：'; }
body.residents .faq .expandable-list > ul > li:nth-child(7) h4::before { content: 'Q7：'; }
body.residents .faq .expandable-list > ul > li:nth-child(7) .block > :first-child::before { content: 'A7：'; }
body.residents .faq .expandable-list > ul > li:nth-child(8) h4::before { content: 'Q8：'; }
body.residents .faq .expandable-list > ul > li:nth-child(8) .block > :first-child::before { content: 'A8：'; }
body.residents .faq .expandable-list > ul > li:nth-child(9) h4::before { content: 'Q9：'; }
body.residents .faq .expandable-list > ul > li:nth-child(9) .block > :first-child::before { content: 'A9：'; }
body.residents .faq .expandable-list > ul > li:nth-child(10) h4::before { content: 'Q10：'; }
body.residents .faq .expandable-list > ul > li:nth-child(10) .block > :first-child::before { content: 'A10：'; line-height: 1.8; }

body.residents .faq .expandable-list .columned .item b,
body.residents .faq .expandable-list .columned .item span { display: block; line-height: 1.5; }
body.residents .faq .expandable-list .columned .item a { text-decoration: underline; }
body.residents .faq .expandable-list .columned .item a:hover { text-decoration: none; }

@media (min-width: 320px) and (max-width: 1023px) {

body.residents .section-body,
body.residents .section-body article { padding: 0; }

body.residents .article-body { padding: 0; margin-bottom: 60px; }
body.residents .info-common { margin-top: 50px; margin-bottom: 60px; }
body.residents .faq { margin-bottom: 10px; }
body.residents .caretaker,
body.residents .misc { padding: 0 30px; }

body.residents .article-body h3 { font-size: 2.2rem; margin-bottom: 10px; }
body.residents .caretaker h3,
body.residents .misc h3 { margin-bottom: 40px; }

body.residents .block { margin-bottom: 50px; }

body.residents .article-body .block h4 { font-size: 1.8rem; margin-bottom: 15px; }
body.residents .article-body .block ul { margin-top: 20px; }
body.residents .article-body .block li { font-size: 1.6rem; line-height: 1.8; }

body.residents .block .columned figure img { margin-bottom: 20px; }

body.residents .services h4,
body.residents .faq h4 { line-height: 1.4; }

body.residents .services ul li .block > * { margin: 0 0 5px; }
body.residents .services ul li .block > :first-child { margin-top: 10px; }
body.residents .services ul li .block:first-of-type > :first-child { margin-top: 20px; }
body.residents .services ul li .block > :last-child { margin-bottom: 10px; }

body.residents .services .columned b,
body.residents .services .columned span { width: 100%; line-height: 32px; padding-right: 20px; }
body.residents .services .columned b { font-size: 1.8rem; }
body.residents .services .columned span { font-size: 1.6rem; }

body.residents .misc .columned .block { width: 100%; }
body.residents .misc .columned .block h3 { margin-bottom: 40px; }
body.residents .misc .columned .block:first-of-type a { width: 215px; margin: 35px auto 0; }
body.residents .misc .columned .block:first-of-type a::after { margin-top: 20px; }
body.residents .misc .columned .block:first-of-type a img { width: 100%; height: 300px; }
body.residents .misc .columned .block:last-of-type a { height: 40px; font-size: 1.6rem; padding: 20px 10px; margin-bottom: 30px; }
body.residents .misc .columned .block:last-of-type,
body.residents .misc .columned .block:last-of-type a:last-of-type { margin-bottom: 0; }

body.residents .faq h4::before { width: 45px; }
body.residents .faq h4 span { width: calc(100% - 45px); }
body.residents .faq .block > :first-child { padding-left: 60px; }
body.residents .faq .block > :first-child::before { width: 50px; font-size: 1.6rem; display: inline-flex; justify-content: flex-end; }

body.residents .faq .expandable-list .columned .item { width: 100%; margin: 0 0 30px 30px; }
body.residents .faq .expandable-list .columned .item b,
body.residents .faq .expandable-list .columned .item span { font-size: 1.7rem; }
body.residents .faq .expandable-list .columned .item span:last-child { font-size: 1.6rem; word-break: break-all; }

}
@media (min-width: 1024px) {

body.residents .section-header h1 .heading br { display: none; }

body.residents .article-body { margin-bottom: 150px; }
body.residents .info-common { margin-top: 100px; margin-bottom: 100px; }

body.residents .article-body h3 { font-size: 3rem; margin-bottom: 50px; }

body.residents .columned .block,
body.residents .block .columned figure,
body.residents .block .columned .text { width: 470px; }
body.residents .block { margin-bottom: 50px; }

body.residents .article-body .block h4 { font-size: 2.4rem; margin-bottom: 30px; }
body.residents .article-body .block ul { margin-top: 40px; }
body.residents .article-body .block li { font-size: 1.9rem; line-height: 1.8; }

body.residents .block .columned figure img:nth-child(n + 2) { margin-top: 20px; }

body.residents .services h4,
body.residents .faq h4 { font-size: 2rem; }

body.residents .services ul li .block.columned:first-of-type > * { margin-bottom: 20px; }
body.residents .services ul li .block.columned:nth-of-type(n + 2) > * { margin-top: 0; margin-bottom: 20px; }
body.residents .services ul li .block.columned:last-of-type > * { margin-bottom: 40px; }

body.residents .services .columned b,
body.residents .services .columned span { width: 25%; line-height: 32px; padding-right: 20px; }
body.residents .services .columned b { font-size: 1.8rem; }
body.residents .services .columned span { font-size: 1.8rem; }

body.residents .misc .columned .block h3 { margin-bottom: 50px; }
body.residents .misc .columned .block { width: 360px; }

body.residents .misc .columned .block:first-of-type a { width: 215px; margin: 35px auto 0; }
body.residents .misc .columned .block:first-of-type a::after { margin-top: 20px; }
body.residents .misc .columned .block:first-of-type a img { width: 100%; height: 300px; }
body.residents .misc .columned .block:last-of-type a { width: 360px; height: 40px; font-size: 1.7rem; padding: 0 20px; margin-bottom: 40px; }

body.residents .faq h4::before { width: 50px; }
body.residents .faq .block > :first-child { padding-left: 50px; }
body.residents .faq .block > :first-child::before { width: 50px; font-size: 1.9rem; }

body.residents .faq .expandable-list h5,
body.residents .faq .expandable-list .columned .item { margin-bottom: 20px; }
body.residents .faq .expandable-list .columned .item { width: 45%; }
body.residents .faq .expandable-list .columned .item b,
body.residents .faq .expandable-list .columned .item span { font-size: 1.9rem; }
body.residents .faq .expandable-list > ul li ul { margin-top: 20px; }
body.residents .faq .expandable-list > ul li:nth-child(4) .block > h5,
body.residents .faq .expandable-list > ul li:nth-child(4) .block > .columned { padding-left: 50px; }

}



/* documents
   ========================================================================== */

body.documents .article-header { padding-top: 40px; margin-bottom: 40px; }
body.documents .article-header h1 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; margin-bottom: 40px; }

body.documents .columned { justify-content: flex-start; }
body.documents .columned a { display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid #707070; box-sizing: border-box; transition: .25s; }
body.documents .columned a:hover { background-color: rgba(72, 101, 53, .1); }
body.documents .columned a span { text-align: center; }
body.documents .columned a::after { content: 'PDF'; display: flex; justify-content: center; align-items: center; width: 70px; height: 26px; font-size: 1.1rem; font-weight: 400; border: 1px solid #000; border-radius: 10px; background: url(/media/common/icon_pdf.svg) no-repeat calc(100% - 10px) center #fff; background-size: 15px; padding-right: 15px; margin-top: 10px; box-sizing: border-box; }

@media (min-width: 320px) and (max-width: 1023px) {

body.documents .article-header h1 { font-size: 2.2rem; }
body.documents .columned a { width: 280px; height: 110px; margin: 0 auto 20px; }
body.documents .columned a span { font-size: 1.6rem; line-height: 1.4; }

}
@media (min-width: 1024px) {

body.documents .article-header h1 { font-size: 3rem; }
body.documents .article-header h1 br { display: none; }
body.documents .columned a { width: 300px; height: 128px; margin: 0 40px 50px 0; }
body.documents .columned a:nth-of-type(3),
body.documents .columned a:nth-of-type(6) { margin-right: 0; }
body.documents .columned a span { font-size: 1.7rem; line-height: 1.6; }

}



/* company
   ========================================================================== */

body.company .section-header { line-height: 1.4; background-image: url(/media/section-header/bg_company.jpg); }

body.company article > div { position: relative; }
body.company article > div::before { content: ''; color: #486535; font-weight: 100; }
body.company article > div h1 { display: flex; justify-content: center; align-items: center; color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; border: 2px solid #486535; box-sizing: border-box; }
body.company .philosophy::before { content: 'PHILOSOPHY'; }

body.company .history::before { content: 'HISTORY'; }
body.company .history table th,
body.company .history table td { border: none; }
body.company .history table th { font-weight: 500; padding-top: 5px; }
body.company .history table td { font-weight: 300; }
body.company .history table tr:last-child td { padding-bottom: 0; }

body.company .profile::before { content: 'PROFILE'; }

body.company .profile table { border-top: 1px solid #000; }
body.company .profile table caption { font-weight: 700; margin-bottom: 20px; }

body.company .profile table th,
body.company .profile table td { line-height: 1.4; border: none; }
body.company .profile table tr:nth-child(6) td { padding: 0; }
body.company .profile table th { font-weight: 300; }
body.company .profile table td { font-weight: 500; }
body.company .profile table:nth-of-type(2) td > span { display: block; }
body.company .profile table:nth-of-type(2) td > span.sub { font-weight: 300; margin-top: 10px; }
body.company .profile table:nth-of-type(2) td a.button { margin-top: 20px; }

@media (min-width: 320px) and (max-width: 1023px) {

body.company .section-header { margin-bottom: 40px; }
body.company .section-header div.heading { width: 340px; font-size: 1.7rem; }
body.company article > div { padding: 0; margin-bottom: 60px; }
body.company article > div::before { display: block; font-size: 5rem; margin-bottom: 15px; }
body.company article > div h1 { width: 200px; height: 40px; font-size: 2.2rem; border-width: 1px; margin: 0 0 30px; }
body.company .philosophy figure { width: 155px; }
body.company .philosophy figure.right { margin: 30px 0 0; }
body.company .history table { width: calc(100% - 155px); }
body.company .history table th,
body.company .history table td { display: block; }
body.company .history table th { font-size: 1.6rem; margin-bottom: 10px; }
body.company .history table td { font-size: 1.6rem; line-height: 1.6; padding-bottom: 20px; }
body.company .history figure { width: 135px; }
body.company .history figure img { margin-bottom: 220px; }
body.company .profile table { margin-top: 30px; }
body.company .profile table caption { font-size: 1.8rem; }
body.company .profile table th,
body.company .profile table td { font-size: 1.6rem; border: none; padding: 20px 0 0; }
body.company .profile table th { width: 25%; }

}
@media (min-width: 1024px) {

body.company .section-header { margin-bottom: 100px; }
body.company .section-header h1 .heading br:nth-of-type(2) { display: none; }

body.company article > div { width: 870px; margin: 0 auto 150px; }
body.company article > div::before { display: inline-block; font-size: 7rem; transform: rotate(90deg); position: absolute; }
body.company article > div h1 { width: 360px; height: 80px; font-size: 3rem; margin-bottom: 50px; }
body.company .philosophy .styled { width: 760px; }
body.company .philosophy::before { left: -270px; top: 161px; }
body.company .philosophy figure { width: 220px; }
body.company .history::before { left: -201px; top: 92px; }
body.company .history table { width: 536px; }
body.company .history table th { width: 20%; font-size: 2rem; }
body.company .history table td { font-size: 1.6rem; line-height: 1.75; padding-bottom: 40px; }
body.company .history figure { width: 240px; }
body.company .history figure img { margin-bottom: 40px; }
body.company .profile::before { left: -198px; top: 88px; }
body.company .profile table { margin-top: 50px; }
body.company .profile table caption { font-size: 2rem; }
body.company .profile table th,
body.company .profile table td { font-size: 1.6rem; line-height: 1.4; border: none; padding: 50px 0 0; }
body.company .profile table th { width: 25%; }

}



/* access
   ========================================================================== */

body.access .article-header h1 { font-weight: 700; text-align: center; }
body.access .article-header p { font-weight: 500; text-align: center; }
body.access .article-body h3 { font-weight: 300; }
body.access .article-body .heading { font-weight: 500; }
body.access .article-body .enlarged { color: #666; font-weight: 700; }
body.access .article-body .google-map { border: 1px solid #707070; }
body.access.garden .article-header h1 { background: url(/media/common/logo_garden.svg) no-repeat center top; }
body.access.garden .article-header h1 .replace::after { background-image: url(/media/common/logo_garden_text.svg); }

@media (min-width: 320px) and (max-width: 1023px) {

body.access .article-header { width: 100%; margin-bottom: 30px; }
body.access .article-header h1 { font-size: 1.8rem; }
body.access .article-header p { font-size: 1.6rem; }
body.access .article-header p span { display: block; }
body.access .article-body > .block { margin-bottom: 50px; }
body.access .article-body h3 { font-size: 2rem; }
body.access .article-body p { line-height: 1; }
body.access .article-body .heading { font-size: 1.6rem; margin-bottom: 10px; }
body.access .article-body .sub { line-height: 1.5; }
body.access .article-body .enlarged { font-size: 1.6rem; margin-top: 20px; }
body.access .article-body .google-map { margin-bottom: 40px; }
body.access.garden .article-header { margin-bottom: 30px; }
body.access.garden .article-header h1 { background-size: 160px auto; padding-top: 40px; }
body.access.garden .article-header h1 .replace { width: 160px; height: 16px; margin: 0 auto; }
body.access.garden .article-body figure { width: 100%; text-align: right; margin-top: 30px; }
body.access.garden .article-body figure img { width: 250px; }

}
@media (min-width: 1024px) {

body.access .article-header { width: 100%; margin-bottom: 90px; }
body.access .article-header h1 { font-size: 2.4rem; }
body.access .article-header p { font-size: 1.8rem; }
body.access .article-header p span:first-child { margin-right: 20px; }
body.access .article-body > .block { margin-bottom: 60px; }
body.access .article-body h3 { font-size: 3rem; margin-bottom: 20px; }
body.access .article-body p { line-height: 1; }
body.access .article-body .heading { font-size: 2rem; margin-bottom: 15px; }
body.access .article-body .sub { line-height: 1.75; }
body.access .article-body .enlarged { font-size: 2.4rem; margin-top: 20px; }
body.access .article-body .google-map { margin-bottom: 50px; }
body.access.garden .article-header { margin-bottom: 50px; }
body.access.garden .article-header h1 { background-size: 200px auto; padding-top: 60px; }
body.access.garden .article-header h1 .replace { width: 200px; height: 20px; margin: 0 auto; }
body.access.garden .article-body .google-map { margin-bottom: 100px; }
body.access.garden .article-body > .block .text { width: 500px; }
body.access.garden .article-body figure { width: 400px; }

}



/* ==========================================================================
   contact
   ========================================================================== */

body.contact .article-header .block h4 { display: block; font-weight: 700; line-height: 1; text-align: center; margin-bottom: 15px; }
body.contact .article-header .block p { text-align: center; }
body.contact .article-header .block p.enlarged { color: #486535; font-family: 'Noto Serif CJK JP', serif; font-weight: 500; line-height: 1; }

body.contact .article-body .confirm h4 { font-weight: 500; line-height: 1; margin-bottom: 30px; }

body.contact .article-body .label { font-weight: 500; line-height: 1.2; }
body.contact .article-body p.note { font-weight: 300; margin-top:5px; }
body.contact .article-body p.note,
body.contact .article-body .label .sub { color: #ff0000; }
body.contact .article-body .label .sub { display: inline-block; font-weight: 700; margin-left: .25em; }

body.contact .button { min-height: 32px; display: inline-flex; justify-content: center; align-items: center; text-decoration: none; background-color: #fff; border-radius: 4px; padding: 8px 24px; box-sizing: border-box; transition: .25s; box-shadow: 1px 1px 2px rgba(0, 0, 0, .2); margin: 0; }
body.contact .button span { font-weight: 300; line-height: 1; background-repeat: no-repeat; background-position: right center; background-size: auto 16px; }
body.contact .button:hover { background-color: rgba(255, 255, 255, .6); box-shadow: none; }
body.contact .article-body .buttons { display: flex; justify-content: center; }
body.contact.club .article-body .buttons,
body.contact.group-reduction .article-body .buttons { flex-direction: row; }

body.contact .article-body label { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; padding-bottom: 30px; position: relative; }
body.contact .article-body form > label:first-of-type { margin-top: 30px; }
body.contact .article-body label.textarea { padding-bottom: 40px; }
body.contact .article-body label.textarea { align-items: flex-start; }
body.contact .article-body label.textarea .label { padding-top: 10px; }
body.contact .article-body label.radio > span.radio { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; }
body.contact .article-body label.radio > span.radio.vertical { flex-direction: column; align-items: flex-start; }

body.contact .article-body label.radio label { padding-bottom: 0; }
body.contact .article-body label.select { padding-bottom: 20px; }
body.contact .article-body label.select ~ label.select { padding-bottom: 40px; }
body.contact .article-body label.text.short > span.text { display: flex; justify-content: flex-start; align-items: center; }

body.contact .article-body label input::placeholder,
body.contact .article-body label textarea::placeholder { color: rgba(89, 87, 87, .25); }
body.contact .article-body label input::-webkit-input-placeholder,
body.contact .article-body label textarea::-webkit-input-placeholder { color: rgba(89, 87, 87, .25); }
body.contact .article-body label input:-ms-input-placeholder,
body.contact .article-body label textarea:-ms-input-placeholder { color: rgba(89, 87, 87, .25); }

body.contact .article-body label.radio input.radio { display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; vertical-align: middle; background-color: #fff; border: 1px solid #707070; border-radius: 12px; -webkit-appearance: none; -moz-appearance: none; appearance: none; margin-right: 10px; box-sizing: border-box; }
body.contact .article-body label.radio input.radio::after { content: ''; display: block; width: 18px; height: 18px; background-color: #fff; border-radius: 9px; transition: .25s; }
body.contact .article-body label.radio input.radio:checked::after { background-color: #486535; }
body.contact .article-body label.radio .mwform-radio-field-text { font-weight: 500; }
body.contact .article-body label.radio .mwform-radio-field.horizontal-item { padding: 10px 0; }

body.contact .article-body label input.text,
body.contact .article-body label input.phone,
body.contact .article-body label select,
body.contact .article-body label textarea { font-weight: 500; border-radius: 0; padding: 10px; box-sizing: border-box; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
body.contact .article-body label input.text,
body.contact .article-body label textarea { border: 1px solid #b7b7b7; }
body.contact .article-body label.short input.text[type="number"] { width: 80px; }
body.contact .article-body label.short span.text span { display: inline-block; font-weight: 500; margin: 0 10px; }
body.contact .article-body label.short span.text .error { margin: 0; }
body.contact .article-body label.short span.note { font-weight: 300; line-height: 1.4; position: absolute; } 
body.contact .article-body label.half input.text[type="text"] { width: 180px; }

body.contact .article-body label .select { display: block; border-radius: 4px; overflow: hidden; box-shadow: 1px 1px 2px rgba(0, 0, 0, .2); transition: .25s; }
body.contact .article-body label .select:hover { box-shadow: none; }
body.contact .article-body label select { text-overflow: ellipsis; background: url(/media/common/bg_select.svg) no-repeat; background-position: calc(100% - 10px) center; background-size: 10px; border: none; padding: 10px; }
body.contact .article-body label select::-ms-expand { display: none; }

body.contact .article-body .mw_wp_form { margin-left: auto; margin-right: auto; }
.mw_wp_form_confirm label { cursor: default; }
.mw_wp_form_confirm label.text .text,
.mw_wp_form_confirm label.radio .radio,
.mw_wp_form_confirm label.select .select,
.mw_wp_form_confirm label.textarea .textarea { display: block; color: #000; padding: 15px; box-sizing: border-box; }
.mw_wp_form_confirm label span:last-of-type { font-weight: 500; }
body.contact .article-body .mw_wp_form_confirm label.select span.select ~ span { margin-top: 0; }
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 0 !important; }
.mw_wp_form_confirm .label { opacity: .5; }
.mw_wp_form_confirm .label .sub { visibility: hidden; }
body.contact .mw_wp_form_confirm label.textarea .label { padding-top: 15px; }
body.contact .mw_wp_form .error { display: block; color: #ff0000; font-weight: 500; position: absolute; }
body.contact .mw_wp_form label.textarea .error { bottom: 20px; }
body.contact .mw_wp_form label.select .error { position: relative; left: 10px; bottom: 5px; }
body.contact .article-body .mw_wp_form_confirm label .select { box-shadow: none; }
.mw_wp_form_input .confirm { display: block; }
.mw_wp_form_input .back { display: none; }
.mw_wp_form_confirm .confirm { display: none; }
.mw_wp_form_confirm .back { display: block; }
.mw_wp_form_preview label { border-bottom: 1px solid #ddd; margin-top: 30px; }
body.contact .mw_wp_form_complete p.enlarged { text-align: center; margin-top: 30px; }
.mw_wp_form_send_error { font-weight: 300; line-height: 2; margin-bottom: 32px; }

@media (min-width: 320px) and (max-width: 1023px) {

body.contact.club article { padding: 0 15px; }

body.contact .article-header { margin-bottom: 40px; }
body.contact .article-header .block h4 { font-size: 1.6rem; }
body.contact .article-header .block p { font-size: 1.6rem; }
body.contact .article-header .block p.enlarged { font-size: 4rem; }
body.contact .article-body .confirm { margin: 20px 0; }
body.contact .article-body .label { font-size: 1.5rem; margin-bottom: 10px; }
body.contact .article-body .label br { display: none; }
body.contact .article-body p { font-size: 1.6rem; }
body.contact .article-body p.note { font-size: 1.1rem; }
body.contact .article-body p.enlarged { font-size: 2rem; }
body.contact .button span { font-size: 1.5rem; }
body.contact .article-body .buttons { margin: 0; }
body.contact .article-body button ~ button { margin-left: 10px; }
body.contact .article-body .buttons ~ p { margin-top: 30px; }
body.contact .article-body label.radio > span.radio { width: 100%; }
body.contact .article-body label.radio label { margin-right: 20px; }
body.contact .article-body label.text.short > span.text { width: 100%; }
body.contact .article-body label.radio .mwform-radio-field-text { font-size: 1.5rem; line-height: 1.4; }
body.contact .article-body label input.text,
body.contact .article-body label input.phone,
body.contact .article-body label select,
body.contact .article-body label textarea { width: 100%; font-size: 1.5rem; }
body.contact .article-body label.short span.note { color: #666; font-size: 1.1rem; top: 27px; left: 120px; } 
body.contact .article-body label .select { width: 100%; }
body.contact .article-body label.headles .label { margin-bottom: 0; }
body.contact .article-body .mw_wp_form { width: 100%; }
body.contact .mw_wp_form .error { font-size: 1.1rem; bottom: 15px; left: 10px; }

}
@media (min-width: 1024px) {

body.contact .article-header { margin-bottom: 100px; }
body.contact .article-header .block h4 { font-size: 2rem; }
body.contact .article-header .block p.enlarged { font-size: 4.8rem; }
body.contact .article-body .confirm { margin: 60px 0; }
body.contact .article-body .confirm h4 { font-size: 2.4rem; }
body.contact .article-body .label { font-size: 1.6rem; }
body.contact .article-body p.note { font-size: 1.4rem; }
body.contact .article-body p.enlarged { font-size: 3rem; }
body.contact .button span { font-size: 1.6rem; }
body.contact .article-body .buttons { margin: 100px 0; }
body.contact .article-body button ~ button { margin-left: 20px; }
body.contact .article-body label.radio > span.radio { width: 500px; }
body.contact .article-body label.radio label { margin-right: 60px; }
body.contact .article-body label.text.short > span.text,
body.contact .article-body label.text.half > span.text { width: 500px; }
body.contact .article-body label.radio .mwform-radio-field-text { font-size: 1.8rem; }
body.contact .article-body label.radio .mwform-radio-field-text br { display: none }
body.contact .article-body label input.text,
body.contact .article-body label input.phone,
body.contact .article-body label select,
body.contact .article-body label textarea { width: 500px; font-size: 1.8rem; }
body.contact .article-body label.short span.note { font-size: 1.4rem; top: 0; left: 280px; } 
body.contact .article-body label .select { width: 500px; }
body.contact .article-body .mw_wp_form { width: 660px; }
.mw_wp_form_confirm label.text .text,
.mw_wp_form_confirm label.radio .radio,
.mw_wp_form_confirm label.select .select,
.mw_wp_form_confirm label.textarea .textarea { width: 500px; }
.mw_wp_form_confirm label span:last-of-type { font-size: 1.8rem; }
body.contact .mw_wp_form .error { font-size: 1.4rem; bottom: 10px; left: 170px; }
.mw_wp_form_send_error { font-size: 3.2rem; }

}



/* ==========================================================================
   styled
   ========================================================================== */

.styled h1 { font-weight: 500; line-height: 1.2; }
.styled h2 { color: #486535; font-family: 'Noto Serif JP', serif; font-weight: 500; line-height: 1.2; }
.styled h3 { display: inline-block; border-bottom: 1px solid #000; font-weight: 500; line-height: 1.5; }
.styled h3::after { content: '\A'; white-space: pre; }
.styled h4 { font-weight: 700; }
.styled h5 { font-weight: 500; }

.styled p { font-weight: 300; }

.styled blockquote { border-left: 2px solid #ddd; padding-left: 1em; }

.styled a { text-decoration: underline; }
.styled a:hover { text-decoration: none; }

.styled b { font-weight: 500; }
.styled strong { font-weight: 700; }

.styled .left { margin-right: 20px; margin-bottom: 20px; }
.styled .right { margin-left: 20px; margin-bottom: 20px; }

.styled figcaption { font-weight: 300; margin-top: 10px; }

.styled li { line-height: 1.5; position: relative; }
.styled li::before { display: inline-block; position: absolute; left: 0; }
.styled ul li::before { content: '●'; color: #ddd; }
.styled ol li:nth-child(1)::before { content: '①'; }
.styled ol li:nth-child(2)::before { content: '②'; }
.styled ol li:nth-child(3)::before { content: '③'; }
.styled ol li:nth-child(4)::before { content: '④'; }
.styled ol li:nth-child(5)::before { content: '⑤'; }

.styled table th,
.styled table td { border: none; border-bottom: 1px solid #ddd; line-height: 1.5; }
.styled table caption { font-weight: 500; }

.styled .boxed { border: 1px solid #707070; }

@media (min-width: 320px) and (max-width: 1023px) {

.styled h1 { font-size: 3rem; margin: 30px 0; }
.styled h2 { font-size: 2.2rem; margin: 30px 0 15px; }
.styled h3 { font-size: 1.7rem; margin: 15px 0 0; }
.styled h4 { font-size: 1.6rem; margin: 15px 0; }
.styled h5 { font-size: 1.6rem; margin: 15px 0 -10px; }
.styled p { font-size: 1.6rem; line-height: 1.8; margin-top: 15px; }
.styled p.enlarged { font-size: 2rem; }
.styled figure { margin: 40px auto; }
.styled figcaption { font-size: 1.2rem; line-height: 1.4; }
.styled ul,
.styled ol { margin: 20px 0; }
.styled li { padding-left: 20px; margin-top: 10px; }
.styled li::before { width: 20px; }
.styled table { margin: 40px 0; }
.styled table th,
.styled table td { padding: 5px; }
.styled table caption { font-size: 1.6rem; margin-bottom: 10px; }
.styled .boxed { padding: 0 15px 15px; margin: 15px 0; }

}
@media (min-width: 1024px) {

.styled h1 { font-size: 4rem; margin: 60px 0; }
.styled h2 { font-size: 3rem; margin: 60px 0 30px; }
.styled h3 { font-size: 2rem; margin: 30px 0 0; }
.styled h4 { font-size: 2rem; margin: 30px 0; }
.styled h5 { font-size: 1.7rem; margin: 30px 0 -10px; }
.styled p { font-size: 1.7rem; line-height: 2; }
.styled p.enlarged { font-size: 2rem; }
.styled figure { margin: 60px auto; }
.styled figure.half { width: 50%; }
.styled figcaption { font-size: 1.4rem; line-height: 1.6; }
.styled ul,
.styled ol { margin: 30px 0; }
.styled li { padding-left: 25px; margin-top: 15px; }
.styled li::before { width: 25px; }
.styled table { margin: 60px 0; }
.styled table th,
.styled table td { padding: 10px; }
.styled table caption { font-size: 1.6rem; margin-bottom: 15px; }
.styled .boxed { padding: 0 30px 30px; margin: 30px 0; }
}



/* ==========================================================================
   handy
   ========================================================================== */

.left { float: left; }
.right { float: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.disabled { cursor: default; pointer-events: none; opacity: .25; }
.no-padding { padding: 0; }
.no-margin { margin: 0; }
.no-padding-top { padding-top: 0; }
.no-margin-top { margin-top: 0; }
.no-wrap { white-space: nowrap; }

.sans { font-family: 'Noto Sans JP', sans-serif; }
.serif { font-family: 'Noto Serif JP', serif; }
.smaller { font-size: smaller; }
.larger { font-size: larger; }
.lighter { font-weight: lighter; }
.bolder { font-weight: bolder; }

.hidden { display: none; }



