@charset "UTF-8";
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&family=Noto+Serif+JP:wght@300;400;500;600&display=swap");
* {
  box-sizing: border-box; }

::before,
::after {
  box-sizing: inherit; }

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/ }

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

address {
  font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom; }

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom; }

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox; }

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none; }

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none; }

/**
 * Remove padding
 */
option {
  padding: 0; }

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer; }

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none; }

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/******************************************************

base

******************************************************/
html {
  font-size: 10px; }

body {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "Sawarabi Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  background: #fff;
  color: #333333;
  font-size: 1.4rem; }

.block-catch {
  font-family: 'EB Garamond', serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased; }

a {
  color: #333333;
  text-decoration: none;
  transition: 200ms linear; }
  a[href*="tel:"] {
    pointer-events: none; }

.aw {
  display: inline-block; }

.note {
  font-size: 12px;
  line-height: 1.6; }

.sp {
  display: none !important; }

ul {
  letter-spacing: -0.4em;
  font-size: 0; }
  ul li {
    letter-spacing: 0;
    font-size: 1rem; }

.pic img {
  width: 100%;
  height: auto; }

@media screen and (max-width: 640px) {
  body {
    padding-bottom: 50px; }

  a[href*="tel:"] {
    pointer-events: initial; }

  .sp {
    display: block !important; }

  .pc {
    display: none !important; } }
/******************************************************

daiwahouse_common

******************************************************/
#daiwahouse_head {
  padding: 10px 0;
  border-bottom: 1px solid #eaeaea; }
  #daiwahouse_head .daiwahouse_inner {
    max-width: 1300px;
    width: 100%;
    margin: auto;
    overflow: hidden; }
  #daiwahouse_head .daiwa_head_txt {
    float: left;
    margin-top: 14px;
    margin-left: 10px; }
    #daiwahouse_head .daiwa_head_txt img {
      height: 17px;
      width: auto; }
  #daiwahouse_head .logo_daiwahouse {
    float: right;
    margin-right: 10px; }
    #daiwahouse_head .logo_daiwahouse img {
      height: 45px;
      width: auto; }
  @media screen and (max-width: 930px) {
    #daiwahouse_head .daiwahouse_inner {
      width: 96%; }
    #daiwahouse_head .daiwa_head_txt {
      margin-top: 0; }
      #daiwahouse_head .daiwa_head_txt img {
        height: 11px; }
    #daiwahouse_head .logo_daiwahouse img {
      height: 22px; } }

#kyoka,
#socialArea {
  max-width: 950px;
  width: 90%;
  margin: 1.5em auto;
  text-align: left; }
  #kyoka em,
  #socialArea em {
    font-weight: 600;
    font-style: normal; }

#kyoka {
  font-size: 1.2rem; }
  #kyoka p {
    line-height: 1.8em;
    text-align: left; }

#socialArea {
  overflow: hidden; }
  #socialArea li {
    line-height: 1;
    float: left;
    margin-right: 11px;
    vertical-align: top; }

.cvBlock {
  /*min-width: 1200px;*/
  padding: 56px 0;
  position: relative;
  background: url(https://www.daiwahouse.co.jp/bunjo/common/images/bg_cv.jpg) no-repeat;
  background-size: cover; }
  .cvBlock .inner {
    max-width: 1120px;
    margin: 0 auto;
    text-align: center; }
    .cvBlock .inner > div {
      display: inline-block;
      max-width: 544px;
      width: 47%;
      margin: 1%; }
      .cvBlock .inner > div a {
        width: 100%;
        display: block;
        height: 105px;
        padding: 5px 0 0;
        border: 1px solid #fff;
        font-size: 28px;
        line-height: 1.4;
        color: #fff;
        text-align: center;
        text-decoration: none;
        vertical-align: middle;
        position: relative; }
        .cvBlock .inner > div a span {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          width: 100%; }
        .cvBlock .inner > div a small {
          font-size: 57%;
          display: block; }
  @media screen and (max-width: 930px) {
    .cvBlock .inner > div a {
      font-size: 3.2vw; } }
  @media screen and (max-width: 640px) {
    .cvBlock {
      padding: 20px 0 10px; }
      .cvBlock .inner > div {
        width: 90%;
        max-width: none;
        margin: 0 auto 20px; }
        .cvBlock .inner > div a {
          font-size: 5.2vw; } }

#subFooter {
  width: auto;
  padding: 32px 40px;
  background-color: #fff;
  border-top: 1px solid #e6e6e6;
  clear: both;
  font-size: 1.2rem; }
  #subFooter::after {
    content: '';
    display: block;
    clear: both; }
  #subFooter .baseIn {
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 0;
    border-top: none;
    clear: both; }
    #subFooter .baseIn::after {
      content: '';
      display: block;
      clear: both; }
  #subFooter dl::after {
    content: '';
    display: block;
    clear: both; }
  #subFooter dt {
    width: 160px;
    font-size: 124%;
    display: table-cell;
    vertical-align: middle; }
  #subFooter dd {
    width: 927px;
    padding-left: 32px;
    border-left: 1px solid #e6e6e6;
    display: table-cell; }
    #subFooter dd li {
      margin: 8px 0;
      margin-right: 48px;
      float: left; }
      #subFooter dd li a {
        padding-right: 14px;
        background: url(https://www.daiwahouse.co.jp/bunjo/common/images/ico_arrow03.png) right center no-repeat;
        -webkit-background-size: 6px 12px;
        -moz-background-size: 6px 12px;
        background-size: 6px 12px;
        color: #333;
        text-decoration: none;
        display: inline-block; }
  @media screen and (max-width: 930px) {
    #subFooter dt {
      width: 100%;
      display: block;
      margin-bottom: 20px; }
    #subFooter dd {
      width: 100%;
      display: block;
      padding-left: 0;
      border-left: 0; } }

#footerArea {
  padding: 0;
  border-top: 1px solid #e6e6e6;
  overflow: visible;
  position: relative; }
  #footerArea a {
    color: #4d4d4f;
    text-decoration: none; }
  #footerArea::after {
    content: '';
    display: block;
    clear: both; }
  #footerArea #ftBtn_toTop {
    max-width: 1120px;
    margin: 0 auto;
    position: relative; }
    #footerArea #ftBtn_toTop > div {
      position: absolute;
      top: -64px;
      right: 0; }
      #footerArea #ftBtn_toTop > div a {
        background-color: #000;
        display: block; }
  #footerArea .areaInner {
    position: relative;
    max-width: 1120px;
    width: 90%;
    min-height: 100px;
    margin: 0 auto; }
    #footerArea .areaInner .column1 {
      float: left;
      width: 460px;
      padding: 24px 0 0 0; }
      #footerArea .areaInner .column1 ul {
        line-height: 1.3;
        margin-bottom: 12px;
        overflow: hidden; }
      #footerArea .areaInner .column1 li {
        float: left;
        margin: 0 15px 0 -7px;
        padding-left: 8px;
        border-left: 1px solid #4d4d4f;
        font-size: 12px; }
    #footerArea .areaInner .column2 {
      float: right;
      width: 375px;
      line-height: 1;
      padding-top: 24px;
      text-align: right; }
      #footerArea .areaInner .column2 p {
        line-height: 1.1;
        color: #4D4D4F;
        font-size: 11px;
        margin-bottom: 13px; }
    @media screen and (max-width: 930px) {
      #footerArea .areaInner .column1 {
        float: none;
        width: 100%; }
      #footerArea .areaInner .column2 {
        float: none;
        width: 100%; } }
  #footerArea .devSmp {
    display: none; }

/******************************************************

header

******************************************************/
.js-floating {
  position: relative;
  z-index: 100; }
  .js-floating.sp_menu_btn_fixed {
    position: static; }

.js-floating-floater.fixed {
  position: fixed;
  z-index: 100; }

#head {
  background: #000;
  color: #fff;
  position: relative; }
  #head .bukken_name {
    padding: 35px 0 35px 40px; }
    #head .bukken_name img {
      height: 20px;
      width: auto; }
    @media screen and (max-width: 640px) {
      #head .bukken_name {
        padding: 35px 0 35px 10px; }
        #head .bukken_name img {
          height: 3.6vw; } }
  #head .head_nav {
    position: absolute;
    top: 20px;
    right: 15px;
    letter-spacing: -0.4em;
    font-size: 0; }
    #head .head_nav li {
      font-size: 12px;
      letter-spacing: 0.1em;
      display: inline-block;
      vertical-align: middle; }
      #head .head_nav li a {
        color: #fff; }
      #head .head_nav li.map, #head .head_nav li.outline {
        margin-right: 20px; }
      #head .head_nav li.req, #head .head_nav li.res {
        width: 160px;
        margin-left: 1px;
        font-size: 15px; }
        #head .head_nav li.req a, #head .head_nav li.res a {
          background: #aa9765;
          color: #fff;
          display: block;
          width: 100%;
          text-align: center;
          position: relative;
          padding: 12px 0; }
          #head .head_nav li.req a span, #head .head_nav li.res a span {
            position: relative;
            z-index: 2; }
          #head .head_nav li.req a::before, #head .head_nav li.res a::before {
            background: #dab961;
            content: "";
            display: block;
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            bottom: 0;
            margin: auto;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s;
            z-index: 1; }
          #head .head_nav li.req a:hover::before, #head .head_nav li.res a:hover::before {
            transform-origin: left top;
            transform: scale(1, 1); }
    @media screen and (max-width: 930px) {
      #head .head_nav {
        display: none; } }

.js-floating-floater.fixed #sp_menu_btn {
  top: 0px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.9);
  border-radius: 0 0 0 10px; }

#sp_menu_btn {
  position: absolute;
  top: 58px;
  right: 0px;
  padding-right: 10px;
  display: none;
  cursor: pointer;
  z-index: 99; }
  #sp_menu_btn img {
    width: 50px;
    height: auto; }
  @media screen and (max-width: 930px) {
    #sp_menu_btn {
      display: block; } }

#sp_menu_close {
  text-align: right;
  margin: 20px;
  cursor: pointer; }
  #sp_menu_close img {
    height: 50px;
    width: auto; }

#sp_fixnav {
  position: fixed;
  top: -150%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 100;
  transition: .4s; }
  #sp_fixnav.on {
    top: 0; }
  #sp_fixnav ul {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  #sp_fixnav li {
    width: 50%;
    text-align: center;
    padding: 5px; }
    #sp_fixnav li:hover a {
      background: #aa9765; }
    #sp_fixnav li.current a {
      background: #aa9765; }
    #sp_fixnav li.req a, #sp_fixnav li.res a {
      background: #aa9765;
      color: #fff;
      display: block;
      width: 100%;
      text-align: center;
      position: relative;
      padding: 20px 0;
      font-size: 1.8rem; }
      #sp_fixnav li.req a span, #sp_fixnav li.res a span {
        position: relative;
        z-index: 2; }
      #sp_fixnav li.req a::before, #sp_fixnav li.res a::before {
        background: #dab961;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
        margin: auto;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s;
        z-index: 1; }
      #sp_fixnav li.req a:hover::before, #sp_fixnav li.res a:hover::before {
        transform-origin: left top;
        transform: scale(1, 1); }
  #sp_fixnav a {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 0 11px;
    box-sizing: border-box;
    border: 1px solid #5A5A5A;
    font-size: 14px; }
    #sp_fixnav a .en {
      display: block;
      font-family: 'EB Garamond', serif;
      font-weight: 300;
      font-style: normal;
      letter-spacing: 0.05em;
      -webkit-font-smoothing: antialiased;
      font-size: 10px;
      margin-top: 4px; }

#headNavArea {
  background: #000;
  color: #fff;
  border-bottom: 6px solid #aa9765; }
  #headNavArea ul {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  #headNavArea li {
    width: 14.285%;
    text-align: center; }
    #headNavArea li:hover a {
      color: #aa9765; }
    #headNavArea li.current a {
      background: #aa9765; }
    #headNavArea li.current:hover a {
      color: #fff; }
  #headNavArea a {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 0 11px;
    box-sizing: border-box;
    border-right: 1px solid #5A5A5A;
    font-size: 14px; }
    #headNavArea a .en {
      display: block;
      font-family: 'EB Garamond', serif;
      font-weight: 300;
      font-style: normal;
      letter-spacing: 0.05em;
      -webkit-font-smoothing: antialiased;
      font-size: 10px;
      margin-top: 4px; }
  @media screen and (max-width: 930px) {
    #headNavArea {
      display: none; }
      #headNavArea.on {
        display: block; } }

/******************************************************

global nav

******************************************************/
/******************************************************

container

******************************************************/
section {
  position: relative;
  margin-top: 80px; }
  section > .inner {
    max-width: 1080px;
    width: 90%;
    margin: auto;
    padding-top: 270px; }
  @media screen and (max-width: 640px) {
    section > .inner {
      padding-top: 150px; } }

.lead {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.05em; }

.category {
  font-family: 'EB Garamond', serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  font-size: 2.0rem;
  color: #aa9765;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  margin: auto; }
  .category::before {
    content: "";
    width: 1px;
    height: 200px;
    background: #aa9765;
    display: block;
    margin: 0 auto 20px; }
  @media screen and (max-width: 640px) {
    .category::before {
      height: 110px; } }

h4.maincopy {
  text-align: center;
  font-size: 3.2rem;
  color: #aa9765;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 3rem; }
  @media screen and (max-width: 640px) {
    h4.maincopy {
      font-size: 2.3rem; } }

.column {
  background: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  padding: 10px; }
  .column .column_inner {
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.4);
    padding: 5rem 6rem; }
  @media screen and (max-width: 640px) {
    .column .column_inner {
      padding: 2rem 3rem; } }

@media screen and (max-width: 640px) {
  .lead {
    font-size: 1.3rem; }

  .category {
    font-size: 1.5rem; } }
/* main
----------------------------*/
#main {
  background: #efefef; }
  #main img {
    width: 100%;
    height: auto; }
  #main > .note {
    padding: 10px; }
  #main li .note {
    padding: 10px; }
  @media screen and (max-width: 640px) {
    #main > .note {
      padding-top: 25px; } }

/* merit
----------------------------*/
#merit {
  margin-top: 4rem;
  margin-bottom: 8rem; }
  #merit .inner {
    max-width: 1000px;
    padding-top: 0; }
  #merit ul {
    display: flex;
    justify-content: space-between; }
  #merit li {
    width: 49%; }
    #merit li img {
      width: 100%;
      height: auto; }
  @media screen and (max-width: 640px) {
    #merit ul {
      flex-direction: column; }
    #merit li {
      width: 100%; }
      #merit li:last-child {
        margin-top: 2rem; } }

/* intro
----------------------------*/
#intro {
  text-align: center;
  padding: 3rem 0;
  margin-top: 0; }
  #intro > .inner {
    padding-top: 0; }
  #intro .category {
    color: #9fa0a0;
    position: static; }
    #intro .category::before {
      content: none; }
  #intro .bukken_copy {
    padding: 6rem 0;
    /*
    .machinaka_ttl {
      margin-bottom: 5rem;
      img { height: 5rem; width: auto; }
    }
    */ }
    #intro .bukken_copy .bukken {
      max-width: 680px;
      width: 90%;
      margin: auto; }
      #intro .bukken_copy .bukken img {
        width: 100%;
        height: auto; }
  #intro h4 {
    color: #aa9765;
    border: 1px solid #aa9765;
    padding: 10px 9em;
    display: inline-block;
    margin: auto; }
  @media screen and (max-width: 930px) {
    #intro .bukken_copy .machinaka_ttl {
      max-width: 500px;
      margin: 0 auto 3rem; }
      #intro .bukken_copy .machinaka_ttl img {
        height: auto;
        width: 100%; }
    #intro .bukken_copy .bukken {
      max-width: 500px;
      margin: auto; }
      #intro .bukken_copy .bukken img {
        height: auto;
        width: 70%; } }

/* concept
----------------------------*/

#concept,
#concept_detail {
  --concept-gold: #aa9765;
  --concept-gold-light: #d9d1b8;
  --concept-ivory: #f5f3e9;
  --concept-text: #333333;
}


/* =====================================================
   CONCEPT
===================================================== */

#concept {
  position: relative;
  margin-top: 100px;
  padding: 215px 20px 115px;
  overflow: visible;
  color: #fff;
  background:
    linear-gradient(
      rgba(35, 30, 24, 0.80),
      rgba(35, 30, 24, 0.84)
    ),
    url("../img/contents/bg_concept.jpg")
    center center / cover no-repeat;
}

#concept,
#concept * {
  box-sizing: border-box;
}

#concept .concept_inner {
  width: 100%;
  max-width: 1000px;
  margin: 85px auto 0;
}


/* =====================================================
   CONCEPT STATEMENT
===================================================== */

#concept .concept_statement {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

#concept .concept_en {
  margin: 0 0 25px;
  color: #d5c8a4;
  font-family: "EB Garamond", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.25em;
}

#concept h4.concept_copy {
  margin: 0;
  color: #fff;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.12em;
  text-shadow: 0 2px 9px rgba(0, 0, 0, 0.28);
}

#concept .concept_subcopy {
  margin: 21px 0 0;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.12em;
}

#concept .concept_line {
  width: 80px;
  height: 1px;
  margin: 38px auto;
  background: var(--concept-gold);
}

#concept .concept_lead {
  color: rgba(255, 255, 255, 0.94);
  font-size: 14px;
  font-weight: 300;
  line-height: 2.15;
  letter-spacing: 0.045em;
}

#concept .concept_lead p {
  margin: 0 0 8px;
}

#concept .concept_lead p:last-child {
  margin-bottom: 0;
}


/* =====================================================
   CONCEPT DETAIL
===================================================== */

#concept_detail {
  position: relative;
  margin-top: 0;
  padding: 105px 20px 135px;
  color: var(--concept-text);
  background:
    linear-gradient(
      rgba(255, 255, 255, 0.97),
      rgba(255, 255, 255, 0.97)
    ),
    url("../img/common/bg1.jpg");
}

#concept_detail,
#concept_detail * {
  box-sizing: border-box;
}

#concept_detail figure {
  margin: 0;
}

#concept_detail figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* =====================================================
   SEPARATOR
===================================================== */

#concept_detail .concept_detail_separator {
  position: relative;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 100px;
  text-align: center;
}

#concept_detail .concept_detail_separator::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--concept-gold-light);
  transform: translateY(-50%);
}

#concept_detail .concept_detail_separator span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 32px;
  background: #fff;
  color: var(--concept-gold);
  font-family: "EB Garamond", serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
}


/* =====================================================
   STORY
===================================================== */

#concept_detail .minamino_story {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}


/* =====================================================
   STORY HEADING
===================================================== */

#concept_detail .story_heading {
  max-width: 930px;
  margin: 0 auto 80px;
  text-align: center;
}

#concept_detail .story_en,
#concept_detail .story_small {
  color: var(--concept-gold);
  font-family: "EB Garamond", serif;
  font-weight: 600;
  letter-spacing: 0.16em;
}

#concept_detail .story_en {
  margin: 0 0 22px;
  font-size: 14px;
}

#concept_detail .story_heading h4 {
  margin: 0;
  color: #3e3a33;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.09em;
}

#concept_detail .story_lead {
  margin: 30px 0 0;
  color: #555;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}


/* =====================================================
   COMMON
===================================================== */

#concept_detail .story_number {
  display: block;
  margin-bottom: 13px;
  color: var(--concept-gold);
  font-family: "EB Garamond", serif;
  font-size: 41px;
  font-weight: 400;
  line-height: 1;
}

#concept_detail .story_small {
  margin: 0 0 13px;
  font-size: 11px;
  line-height: 1.3;
}

#concept_detail .story_scene h5,
#concept_detail .story_map_message h5,
#concept_detail .story_gallery h5,
#concept_detail .story_nature h5,
#concept_detail .story_family h5 {
  margin: 0 0 20px;
  color: #3d3931;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

#concept_detail figcaption {
  position: absolute;
  right: 5px;
  bottom: 4px;
  z-index: 3;
  color: #fff;
  font-family: Arial, "Yu Gothic", sans-serif;
  font-size: 12px;
  text-shadow:
    0 0 3px #000,
    0 0 5px #000;
}


/* =====================================================
   MAP
===================================================== */

#concept_detail .story_map {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(0, 1.65fr)
    minmax(280px, 0.7fr);
  align-items: center;
  max-width: 1030px;
  margin: 0 auto 145px;
}

#concept_detail .story_map_image {
  position: relative;
  z-index: 1;
  padding: 22px;
  border: 1px solid #ded8c6;
  background: #fff;
  box-shadow: 0 12px 32px rgba(55, 47, 32, 0.08);
}

#concept_detail .story_map_image::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  bottom: -12px;
  left: -12px;
  z-index: -1;
  background: #f0eedc;
}

#concept_detail .story_map_image figure {
  width: 100%;
}

#concept_detail .story_map_image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

#concept_detail .story_map_message {
  position: relative;
  z-index: 3;
  margin-left: -30px;
  padding: 45px 38px;
  background: #fff;
  border-top: 3px solid var(--concept-gold);
  box-shadow: 0 12px 35px rgba(55, 47, 32, 0.11);
}

#concept_detail .story_map_message p:last-child {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.9;
}


/* =====================================================
   STATION
===================================================== */

#concept_detail .story_scene {
  display: grid;
  grid-template-columns:
    minmax(0, 1.5fr)
    minmax(280px, 0.8fr);
  align-items: center;
  gap: 65px;
  margin-bottom: 150px;
}

#concept_detail .story_scene_reverse {
  grid-template-columns:
    minmax(0, 1.5fr)
    minmax(280px, 0.8fr);
}

#concept_detail .story_scene_photo figure {
  position: relative;
  width: 100%;
  height: 390px;
  overflow: hidden;
}

#concept_detail .story_scene_photo figure::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--concept-gold);
}

#concept_detail .story_scene_text {
  padding-right: 20px;
}

#concept_detail .story_scene_text > p:last-child {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.95;
}


/* =====================================================
   SHOPPING
===================================================== */

#concept_detail .story_gallery {
  margin-bottom: 155px;
}

#concept_detail .story_gallery_title {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 35px;
}

#concept_detail .story_gallery_title .story_number {
  margin: 0;
  padding-right: 25px;
  border-right: 1px solid var(--concept-gold-light);
}

#concept_detail .story_gallery_photos {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 190px 190px;
  gap: 10px;
}

#concept_detail .story_gallery_photos figure {
  position: relative;
  overflow: hidden;
}

#concept_detail .story_gallery_large {
  grid-row: 1 / 3;
}

#concept_detail .story_gallery_photos img {
  transition: transform 0.6s ease;
}

#concept_detail .story_gallery_photos figure:hover img {
  transform: scale(1.025);
}

#concept_detail .story_gallery_description {
  max-width: 820px;
  margin: 25px 0 0;
  color: #555;
  font-size: 16px;
  line-height: 1.95;
}


/* =====================================================
   NATURE
===================================================== */

#concept_detail .story_nature {
  display: grid;
  grid-template-columns: 0.72fr 1.48fr;
  align-items: center;
  gap: 70px;
  margin-bottom: 155px;
  padding: 80px 70px;
  background: #f5f5ef;
}

#concept_detail .story_nature_heading > p:last-child {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.95;
}

#concept_detail .story_nature_photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#concept_detail .story_nature_photos figure {
  position: relative;
  height: 165px;
  overflow: hidden;
}

#concept_detail .story_nature_photos .nature_main {
  grid-column: 1 / -1;
  height: 290px;
}


/* =====================================================
   FAMILY
===================================================== */

#concept_detail .story_family {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  align-items: center;
  gap: 70px;
  max-width: 1040px;
  margin: 0 auto 150px;
}

#concept_detail .story_family_photo figure {
  position: relative;
  height: 390px;
  overflow: hidden;
}

#concept_detail .story_family_photo::after {
  content: "";
  display: block;
  width: 70%;
  height: 1px;
  margin-top: 16px;
  background: var(--concept-gold);
}

#concept_detail .story_family_text > p:last-child {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.95;
}

#concept_detail .photo_image {
  position: absolute;
  right: 5px;
  bottom: 4px;
  z-index: 3;
  color: #fff;
  font-family: Arial, "Yu Gothic", sans-serif;
  font-size: 12px;
  text-shadow:
    0 0 3px #000,
    0 0 5px #000;
}


/* =====================================================
   CLOSING
===================================================== */

#concept_detail .story_closing {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  padding: 75px 50px;
  text-align: center;
  border-top: 1px solid var(--concept-gold-light);
  border-bottom: 1px solid var(--concept-gold-light);
}

#concept_detail .story_closing::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 90px;
  height: 3px;
  background: var(--concept-gold);
  transform: translateX(-50%);
}

#concept_detail .story_closing_en {
  margin: 0 0 25px;
  color: var(--concept-gold);
  font-family: "EB Garamond", serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
}

#concept_detail .story_closing h4 {
  margin: 0 0 30px;
  color: #3d3931;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.09em;
}

#concept_detail .story_closing h4 span {
  color: var(--concept-gold);
}

#concept_detail .story_closing > p:last-child {
  margin: 0;
  color: #555;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
}


/* =====================================================
   TABLET
===================================================== */

@media screen and (max-width: 930px) and (min-width: 641px) {

  #concept h4.concept_copy {
    font-size: 28px;
  }

  #concept_detail .story_map {
    grid-template-columns: 1.45fr 0.75fr;
  }

  #concept_detail .story_map_message {
    padding: 35px 28px;
  }

  #concept_detail .story_scene {
    gap: 40px;
  }

  #concept_detail .story_nature {
    gap: 40px;
    padding: 60px 40px;
  }

  #concept_detail .story_family {
    gap: 40px;
  }
}


/* =====================================================
   SMARTPHONE
===================================================== */

@media screen and (max-width: 640px) {

  #concept {
    margin-top: 60px;
    padding: 115px 15px 75px;
    background:
      linear-gradient(
        rgba(35, 30, 24, 0.82),
        rgba(35, 30, 24, 0.87)
      ),
      url("../img/contents/bg_concept_sp.jpg")
      center top / cover no-repeat;
  }

  #concept .concept_inner {
    margin-top: 35px;
  }

  #concept .concept_en {
    margin-bottom: 20px;
    font-size: 11px;
  }

  #concept h4.concept_copy {
    font-size: 23px;
    line-height: 1.8;
    letter-spacing: 0.07em;
  }

  #concept .concept_subcopy {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.8;
  }

  #concept .concept_line {
    margin: 30px auto;
  }

  #concept .concept_lead {
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
  }

  #concept .concept_lead p {
    margin-bottom: 16px;
  }


  /* DETAIL */

  #concept_detail {
    padding: 75px 15px 90px;
  }

  #concept_detail .concept_detail_separator {
    margin-bottom: 70px;
  }

  #concept_detail .concept_detail_separator span {
    padding: 0 12px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  #concept_detail .story_heading {
    margin-bottom: 55px;
  }

  #concept_detail .story_heading h4 {
    font-size: 21px;
    line-height: 1.8;
  }

  #concept_detail .story_lead {
    text-align: left;
    font-size: 16px;
    line-height: 1.9;
  }


  /* MAP */

  #concept_detail .story_map {
    display: block;
    margin-bottom: 90px;
  }

  #concept_detail .story_map_image {
    padding: 10px;
  }

  #concept_detail .story_map_image::before {
    top: 7px;
    right: 7px;
    bottom: -7px;
    left: -7px;
  }

  #concept_detail .story_map_message {
    width: 92%;
    margin: 25px 0 0 auto;
    padding: 30px 25px;
  }


  /* COMMON */

  #concept_detail .story_number {
    font-size: 34px;
  }

  #concept_detail .story_scene h5,
  #concept_detail .story_map_message h5,
  #concept_detail .story_gallery h5,
  #concept_detail .story_nature h5,
  #concept_detail .story_family h5 {
    font-size: 19px;
    line-height: 1.7;
  }


  /* STATION */

  #concept_detail .story_scene,
  #concept_detail .story_scene_reverse {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 95px;
  }

  #concept_detail .story_scene_photo {
    width: 100%;
  }

  #concept_detail .story_scene_photo figure {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  #concept_detail .story_scene_text {
    width: 100%;
    padding: 0 10px;
  }


  /* SHOPPING */

  #concept_detail .story_gallery {
    margin-bottom: 95px;
  }

  #concept_detail .story_gallery_title {
    gap: 16px;
    margin-bottom: 25px;
  }

  #concept_detail .story_gallery_title .story_number {
    padding-right: 16px;
  }

  #concept_detail .story_gallery_photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 7px;
  }

  #concept_detail .story_gallery_large {
    grid-column: 1 / -1;
    grid-row: auto;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  #concept_detail
  .story_gallery_photos
  figure:not(.story_gallery_large) {
    height: 130px;
  }


  /* NATURE */

  #concept_detail .story_nature {
    display: block;
    margin: 0 -15px 95px;
    padding: 55px 25px;
  }

  #concept_detail .story_nature_heading {
    margin-bottom: 35px;
  }

  #concept_detail .story_nature_photos {
    gap: 7px;
  }

  #concept_detail .story_nature_photos .nature_main {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  #concept_detail
  .story_nature_photos
  figure:not(.nature_main) {
    height: 125px;
  }


  /* FAMILY */

  #concept_detail .story_family {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin-bottom: 95px;
  }

  #concept_detail .story_family_photo {
    width: 100%;
  }

  #concept_detail .story_family_photo figure {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  #concept_detail .story_family_text {
    padding: 0 10px;
  }


  /* CLOSING */

  #concept_detail .story_closing {
    padding: 55px 15px;
  }

  #concept_detail .story_closing h4 {
    font-size: 21px;
  }

  #concept_detail .story_closing > p:last-child {
    font-size: 13px;
  }
}



/* gallery
----------------------------*/

#gallery {
  position: relative;
  margin-top: 0;
  border-top: 6px solid #454545;
}

#gallery > .inner {
  padding-top: 210px;
}


/* =========================================
   ギャラリー全体
========================================= */

#gallery .photo {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
}

#gallery .photo * {
  box-sizing: border-box;
}


/* =========================================
   写真ブロック
========================================= */

/* photo01・photo02は横幅100% */
#gallery .photo .photo01,
#gallery .photo .photo02 {
  width: 100%;
}

/* photo04・photo05は2枚並び */
#gallery .photo .photo04,
#gallery .photo .photo05 {
  width: 50%;
}


/* =========================================
   写真
========================================= */

#gallery .photo .pic {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
}

#gallery .photo .pic img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================
   写真注釈
========================================= */

#gallery .photo .note {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;

  display: block;
  width: auto;
  max-width: 90%;

  margin: 0;
  padding: 4px 8px;

  color: #fff;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    Meiryo,
    sans-serif;

  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;

  background: rgba(0, 0, 0, 0.65);
  text-align: right;
}


/* =========================================
   タブレット
========================================= */

@media screen and (max-width: 930px) {

  #gallery > .inner {
    padding-top: 170px;
  }

  #gallery .photo .note {
    font-size: 11px;
    padding: 4px 7px;
  }

}


/* =========================================
   スマートフォン
========================================= */

@media screen and (max-width: 640px) {

  #gallery > .inner {
    padding-top: 140px;
  }

  /* 大きい写真 */
  #gallery .photo .photo01,
  #gallery .photo .photo02 {
    width: 100%;
  }

  /* 小さい2枚はスマホでも横並び */
  #gallery .photo .photo04,
  #gallery .photo .photo05 {
    width: 50%;
  }

  #gallery .photo .note {
    right: 0;
    bottom: 0;

    max-width: 95%;
    padding: 3px 5px;

    font-size: 10px;
    line-height: 1.4;
  }

}



/* plan
----------------------------*/
#plan {
  margin-top: 0;
  background: url("../img/common/bg1.jpg");
  border-top: 6px solid #aa9765;
  padding-bottom: 8rem; }
  #plan .gallery_note {
    color: #aa9765;
    margin: 10px 0 0 10px; }
  #plan > .inner {
    padding-top: 170px; }
    #plan > .inner > .note {
      text-align: center;
      color: #aa9765;
      padding: 3rem 0 10rem; }
  #plan .column {
    color: #aa9765; }
  #plan .specArea {
    overflow: hidden; }
    #plan .specArea .ldk {
      float: left;
      margin-right: 20px;
      font-size: 2.8rem;
      background: #aa9765;
      color: #fff;
      text-align: center;
      padding: 10px 30px;
      font-family: 'EB Garamond', serif;
      font-weight: 300;
      font-style: normal;
      letter-spacing: 0.05em;
      -webkit-font-smoothing: antialiased; }
    #plan .specArea ul {
      overflow: hidden; }
    #plan .specArea li {
      display: inline-block;
      font-size: 1.6rem;
      line-height: 1.5; }
/* 号地 */
#plan .specArea .number {
  float: left;
  margin-right: 10px;
  font-size: 2.8rem;
  background: #333;
  color: #fff;
  text-align: center;
  padding: 10px 25px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.2;
}

/* 3LDK */
#plan .specArea .ldk {
  float: left;
  margin-right: 20px;
  font-size: 2.8rem;
  background: #aa9765;
  color: #fff;
  text-align: center;
  padding: 10px 30px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

#plan .mensekiArea {
    margin: 3rem auto; }
    #plan .mensekiArea li {
      display: inline-block;
      font-size: 1.6rem;
      margin-right: 20px; }
      #plan .mensekiArea li .sizeL {
        font-size: 2em; }
      #plan .mensekiArea li .sizeM {
        font-size: 1.5em; }
  #plan .meritCopy {
    font-size: 2.2rem;
    line-height: 1.5;
    margin-bottom: 3rem; }
  #plan .pic {
    /*max-width: 580px;*/
    margin: 0 auto 3rem; }
    #plan .pic img.sp {
      display: none; }
    @media screen and (max-width: 640px) {
      #plan .pic img.pc {
        display: none; }
      #plan .pic img.sp {
        display: block; } }
  @media screen and (max-width: 640px) {
    #plan .category {
      top: 110px; }
    #plan .specArea .ldk {
      float: none;
      margin-right: auto;
      width: 100%;
      padding: 10px 0; }
    #plan .specArea ul {
      margin-top: 1rem; }
    #plan .specArea li {
      font-size: 1.4rem; }
    #plan .mensekiArea li {
      font-size: 1.4rem; }
    #plan .meritCopy {
      font-size: 1.7rem; } }
  #plan .pdf_link {
    max-width: 300px;
    margin: 3rem auto 5rem; }
    #plan .pdf_link a {
      display: block;
      width: 100%;
      padding: 14px 0 16px;
      text-align: center;
      color: #fff;
      background: #000;
      font-size: 1.6rem;
      transition: .3s;
      position: relative; }
      #plan .pdf_link a small {
        display: block; }
      #plan .pdf_link a:hover {
        opacity: 0.7; }
      #plan .pdf_link a::before, #plan .pdf_link a::after {
        content: "";
        display: block;
        position: absolute;
        width: 11px;
        height: 10px;
        box-sizing: border-box;
        border: 1px solid #fff; }
      #plan .pdf_link a::before {
        top: 23px;
        right: 8px; }
      #plan .pdf_link a::after {
        top: 27px;
        right: 12px; }

    #plan h4.maincopy{
        margin-top:30px;
    }

#vr_modelroom {
  background: #e5e0d8;
  color: #7e3940;
  text-align: center;
  margin-top: 3rem; }
  #vr_modelroom .category {
    position: static;
    color: #7e3940;
    padding: 4rem 0 6rem; }
    #vr_modelroom .category::before {
      content: none; }
  #vr_modelroom .ttl {
    font-size: 5rem;
    margin-bottom: 2rem; }
    #vr_modelroom .ttl small {
      display: block;
      font-size: 0.7em; }
  #vr_modelroom p {
    font-size: 1.7rem;
    line-height: 1.6;
    margin-bottom: 3rem; }
  #vr_modelroom #vrBox {
    position: relative; }
    #vr_modelroom #vrBox::before {
      content: "";
      display: block;
      width: 100%;
      padding-bottom: 60%; }
    #vr_modelroom #vrBox iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  @media screen and (max-width: 640px) {
    #vr_modelroom .category {
      padding-bottom: 4px; }
    #vr_modelroom .ttl {
      font-size: 3rem; }
    #vr_modelroom p {
      font-size: 1.4rem; } }

/* equipment
----------------------------*/
#equipment {
  margin-top: 0;
  background: #000 url("../img/common/bg_eq.jpg") bottom center no-repeat;
  background-size: 100% auto;
  color: #fff;
  padding-bottom: 14rem; }
  #equipment h4.maincopy {
    color: #fff; }
  #equipment p.lead {
    text-align: center;
    font-size: 1.7rem; }
#equipment .roomno {
  text-align: center;
  margin-top: 5rem;
}

#equipment .roomno .txt {
  display: inline-block;
  padding: .5rem 2rem;
  font-size: 1.5rem;
  line-height: 1;
  border: 1px solid #aa9765;
  color: #aa9765;
  background: rgba(0, 0, 0, 0.7);
}
  #equipment ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 8rem auto 0; }
    #equipment ul li {
      width: 32%;
      box-sizing: border-box;
      border: 1px solid #aa9765;
      color: #aa9765;
      padding: 14px 0;
      text-align: center;
      font-size: 1.5rem;
      margin-bottom: 15px;
      background: rgba(0, 0, 0, 0.7); }
      #equipment ul li:nth-of-type(1) {
        background: #aa9765;
        color: #000; }
  @media screen and (max-width: 930px) {
    #equipment ul li {
      width: 49%;
      font-size: 1.4rem; } }



/* access
----------------------------*/

#access {
  position: relative;
  margin-top: 0;
  padding-bottom: 0;
  border-top: 6px solid #aa9765;
  background: #fff;
}

#access,
#access * {
  box-sizing: border-box;
}

#access > .inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  padding-top: 210px;
}


/* =========================================
   INTRO
========================================= */

#access .access_heading {
  max-width: 900px;
  margin: 0 auto 80px;
  text-align: center;
}

#access .access_en {
  margin: 0 0 15px;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
}

#access .access_lead {
  margin: 25px 0 0;
  color: #555;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
}


/* =========================================
   COMMON TITLE
========================================= */

#access .access_section_title {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 35px;
}

#access .access_number {
  display: block;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
}

#access .access_section_title .access_number {
  padding-right: 22px;
  border-right: 1px solid #d9d1b8;
}

#access .access_small {
  margin: 0 0 8px;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.15em;
}

#access h5 {
  margin: 0;
  color: #3d3931;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}


/* =========================================
   ROUTE MAP
========================================= */

#access .access_route {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 80px;
}

#access .accessmap {
  width: 100%;
  padding: 25px;
  border: 1px solid #ded8c6;
  background: #fff;
  box-shadow: 0 10px 30px rgba(55, 47, 32, 0.08);
}

#access .accessmap img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================
   TRAIN ACCESS
========================================= */

#access .access_train {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 120px;
}

#access .access_train_title {
  margin-bottom: 15px;
  padding: 14px 20px;
  border: 1px solid #aa9765;
  color: #786a45;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
}


/* =========================================
   所要時間一覧
========================================= */

#access .access_time_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  border-top: 1px solid #ddd5c5;
  border-left: 1px solid #ddd5c5;
}

#access .access_time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 190px;
  padding: 26px 20px;
  border-right: 1px solid #ddd5c5;
  border-bottom: 1px solid #ddd5c5;
  background: #fff;
}


/* 駅名 */

#access .access_time .station {
  margin: 0;
  color: #3d3931;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
}


/* 所要時間 */

#access .access_time .time {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  margin: 10px 0;
  color: #444;
  font-size: 21px;
  line-height: 1.2;
}


/* 直通 */

#access .access_time .time span {
  margin-right: 6px;
  color: #aa9765;
  font-size: 17px;
  font-weight: 500;
}


/* 時間の数字 */

#access .access_time .time strong {
  margin: 0 4px;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 0.95;
}


/* 使用路線 */

#access .access_time .route {
  margin: 0;
  color: #666;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    Meiryo,
    sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
}


/* =========================================
   STATION PHOTO
========================================= */

#access .access_station_photo {
  width: 100%;
  margin-top: 35px;
}

#access .access_station_photo figure {
  position: relative;
  width: 100%;
  height: 330px;
  margin: 0;
  overflow: hidden;
}

#access .access_station_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#access .access_station_photo figcaption {
  position: absolute;
  right: 6px;
  bottom: 5px;
  z-index: 3;
  margin: 0;
  color: #fff;
  font-family: Arial, "Yu Gothic", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  text-shadow:
    0 0 3px #000,
    0 0 5px #000;
}

#access .access_note {
  margin: 15px 0 0;
  color: #777;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    Meiryo,
    sans-serif;
  font-size: 11px;
  line-height: 1.7;
}


/* =========================================
   CAR ACCESS
========================================= */

#access .access_car {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(240px, 0.85fr)
    minmax(390px, 1.4fr);
  align-items: center;
  gap: 45px;

  width: 100%;
  min-height: 350px;
  padding: 55px 250px 55px 50px;

  background: #f5f3e9;
}


/* 左：説明 */

#access .access_car_text {
  align-self: center;
}

#access .access_car_text .access_small {
  margin-top: 12px;
}

#access .access_car_text h5 {
  margin-top: 15px;
}

#access .access_car_lead {
  margin: 20px 0 0;
  color: #555;
  font-size: 15px;
  line-height: 2;
}


/* =========================================
   IC LIST
========================================= */

#access .access_car_info {
  align-self: center;
  min-width: 0;
}

#access .access_ic {
  margin: 0 0 15px;
  padding: 11px 10px;
  background: #aa9765;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}

#access .access_car_info ul {
  margin: 0;
  padding: 0;
  font-size: inherit;
  letter-spacing: 0;
}

#access .access_car_info li {
  position: relative;
  padding: 13px 0 13px 18px;
  border-bottom: 1px solid #d8d0bd;
  font-size: 16px;
  line-height: 1.5;
}

#access .access_car_info li::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #aa9765;
}

#access .destination {
  color: #444;
}

#access .car_time {
  margin-left: 5px;
  color: #444;
}

#access .car_time strong {
  margin: 0 2px;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1;
}

#access .access_car_info small {
  margin-left: 4px;
  color: #777;
  font-size: 10px;
}


/* =========================================
   CAR IMAGE 右下
========================================= */

#access .access_car_photo {
  position: absolute;
  right: 25px;
  bottom: 25px;
  width: 190px;
  height: 125px;
}

#access .access_car_photo figure {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

#access .access_car_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#access .access_car_photo figcaption {
  position: absolute;
  right: 5px;
  bottom: 4px;
  z-index: 3;
  color: #fff;
  font-family: Arial, "Yu Gothic", sans-serif;
  font-size: 10px;
  line-height: 1.4;
  text-shadow:
    0 0 3px #000,
    0 0 5px #000;
}


/* =========================================
   ACCESS CITY GALLERY
========================================= */

#access .access_city_gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  margin-top: 100px;
  background: #000;
}

#access .access_city_gallery figure {
  position: relative;
  height: 480px;
  margin: 0;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.45);
}

#access .access_city_gallery figure:last-child {
  border-right: 0;
}

#access .access_city_gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}


/* 文字を見やすくする薄い暗幕 */

#access .access_city_gallery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.2) 0%,
      rgba(0, 0, 0, 0) 38%,
      rgba(0, 0, 0, 0.08) 100%
    );
  pointer-events: none;
}


/* 都市名 */

#access .access_city_gallery .city_name {
  position: absolute;
  top: 25px;
  left: 25px;
  z-index: 3;

  color: #fff;

  font-family: "EB Garamond", serif;
  font-size: clamp(28px, 3.2vw, 52px);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: 0.01em;

  white-space: nowrap;

  text-shadow:
    0 2px 5px rgba(0, 0, 0, 0.5);
}


/* ギャラリー注釈 */

#access .access_city_gallery figcaption {
  position: absolute;
  right: auto;
  bottom: 8px;
  left: 8px;
  z-index: 3;

  color: #fff;

  font-family: Arial, "Yu Gothic", sans-serif;
  font-size: 10px;
  line-height: 1.4;

  text-shadow:
    0 0 3px #000,
    0 0 5px #000;
}


/* PCホバー */

@media screen and (min-width: 931px) {

  #access .access_city_gallery figure:hover img {
    transform: scale(1.025);
  }

}


/* =========================================
   TABLET
========================================= */

@media screen and (max-width: 930px) and (min-width: 641px) {

  #access .access_time {
    padding-right: 15px;
    padding-left: 15px;
  }

  #access .access_time .station {
    font-size: 19px;
  }

  #access .access_time .time {
    font-size: 18px;
  }

  #access .access_time .time strong {
    font-size: 43px;
  }


  /* CAR */

  #access .access_car {
    grid-template-columns:
      minmax(180px, 0.8fr)
      minmax(280px, 1.2fr);

    gap: 30px;
    min-height: 380px;
    padding: 45px 185px 45px 35px;
  }

  #access .access_car_info li {
    font-size: 14px;
  }

  #access .car_time strong {
    font-size: 30px;
  }

  #access .access_car_photo {
    right: 20px;
    bottom: 20px;
    width: 145px;
    height: 105px;
  }


  /* CITY */

  #access .access_city_gallery {
    margin-top: 80px;
  }

  #access .access_city_gallery figure {
    height: 390px;
  }

  #access .access_city_gallery .city_name {
    top: 18px;
    left: 15px;
    font-size: 30px;
  }

}


/* =========================================
   SMARTPHONE
========================================= */

@media screen and (max-width: 640px) {

  #access > .inner {
    width: 92%;
    padding-top: 150px;
  }


  /* INTRO */

  #access .access_heading {
    margin-bottom: 55px;
  }

  #access .access_en {
    font-size: 11px;
  }

  #access .access_lead {
    font-size: 14px;
    line-height: 1.9;
    text-align: left;
  }


  /* COMMON */

  #access .access_section_title {
    gap: 15px;
    margin-bottom: 25px;
  }

  #access .access_number {
    font-size: 33px;
  }

  #access .access_section_title .access_number {
    padding-right: 15px;
  }

  #access .access_small {
    font-size: 10px;
  }

  #access h5 {
    font-size: 19px;
  }


  /* ROUTE MAP */

  #access .access_route {
    margin-bottom: 60px;
  }

  #access .accessmap {
    padding: 10px;
  }


  /* TRAIN */

  #access .access_train {
    margin-bottom: 80px;
  }

  #access .access_train_title {
    padding: 12px 7px;
    font-size: 15px;
  }

  #access .access_time_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #access .access_time {
    min-height: 165px;
    padding: 20px 12px;
  }

  #access .access_time .station {
    font-size: 17px;
  }

  #access .access_time .time {
    margin: 8px 0;
    font-size: 17px;
  }

  #access .access_time .time span {
    margin-right: 4px;
    font-size: 14px;
  }

  #access .access_time .time strong {
    margin: 0 3px;
    font-size: 39px;
  }

  #access .access_time .route {
    font-size: 10px;
    line-height: 1.55;
  }


  /* STATION PHOTO */

  #access .access_station_photo {
    margin-top: 25px;
  }

  #access .access_station_photo figure {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  #access .access_station_photo figcaption {
    font-size: 11px;
  }

  #access .access_note {
    font-size: 10px;
  }


  /* CAR ACCESS */

  #access .access_car {
    display: block;
    width: auto;
    min-height: 0;
    margin-right: -4%;
    margin-left: -4%;
    padding: 50px 25px 165px;
  }

  #access .access_car_text {
    margin-bottom: 35px;
  }

  #access .access_car_lead {
    font-size: 14px;
    line-height: 1.9;
  }

  #access .access_ic {
    font-size: 15px;
  }

  #access .access_car_info li {
    padding: 13px 0 13px 16px;
    font-size: 14px;
  }

  #access .access_car_info li::before {
    top: 21px;
  }

  #access .car_time strong {
    font-size: 30px;
  }

  #access .access_car_info small {
    display: block;
    margin: 2px 0 0;
    font-size: 9px;
  }


  /* 車写真はスマホも右下 */

  #access .access_car_photo {
    right: 20px;
    bottom: 20px;
    width: 145px;
    height: 100px;
  }


  /* CITY GALLERY */

  #access .access_city_gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 65px;
  }

  #access .access_city_gallery figure {
    height: 280px;
    border-right: 1px solid rgba(255, 255, 255, 0.45);
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  }

  #access .access_city_gallery figure:nth-child(2n) {
    border-right: 0;
  }

  #access .access_city_gallery figure:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  #access .access_city_gallery .city_name {
    top: 15px;
    left: 12px;
    font-size: 27px;
    line-height: 0.95;
    white-space: normal;
  }

  #access .access_city_gallery figcaption {
    bottom: 5px;
    left: 5px;
    font-size: 9px;
  }

}

/* location
----------------------------*/

#location {
  margin-top: 0;
  padding-bottom: 0;
  background: url("../img/common/bg1.jpg");
  border-top: 6px solid #aa9765;
}

#location,
#location * {
  box-sizing: border-box;
}

#location > .inner {
  padding-top: 210px;
}


/* メインリード
----------------------------*/

#location .location_lead {
  margin: -5px auto 55px;
  color: #555;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}


/* カテゴリナビ
----------------------------*/

#location .location_category_nav {
  width: 100%;
  margin: 0 auto 45px;
}

#location .location_category_nav ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  letter-spacing: 0;
}

#location .location_category_nav li {
  min-width: 0;
  font-size: 1rem;
}

#location .location_category_nav a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 84px;
  padding: 15px 8px 19px;
  overflow: hidden;
  border: 1px solid #aa9765;
  background: rgba(255, 255, 255, 0.92);
  color: #786a45;
  text-align: center;
}

#location .location_category_nav a::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0;
  background: #aa9765;
  transition: height 0.3s ease;
}

#location .location_category_nav a::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 50%;
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
}

#location .location_category_nav a:hover::before {
  height: 100%;
}

#location .location_category_nav a:hover {
  color: #fff;
}

#location .location_category_nav .en,
#location .location_category_nav .jp {
  position: relative;
  z-index: 1;
  display: block;
}

#location .location_category_nav .en {
  margin-bottom: 7px;
  font-family: "EB Garamond", serif;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.12em;
}

#location .location_category_nav .jp {
  font-family:
    "游ゴシック",
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
}


/* 施設リスト外枠
----------------------------*/

#location .location_column {
  background: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.32);
  padding: 10px;
}

#location .location_column .column_inner {
  padding: 0 6rem 5rem;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.32);
}


/* カテゴリ本体
----------------------------*/

#location .location_group {
  margin: 0;
  padding: 65px 0 55px;
  border-bottom: 1px solid #ddd5c5;
  scroll-margin-top: 110px;
}

#location .location_group:last-of-type {
  border-bottom: 0;
}

#location .location_group_heading {
  position: relative;
  margin: 0 0 35px;
  padding-bottom: 17px;
  text-align: center;
}

#location .location_group_heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 45px;
  height: 1px;
  background: #aa9765;
  transform: translateX(-50%);
}

#location .location_group_en {
  display: block;
  margin-bottom: 8px;
  color: #aa9765;
  font-family: "EB Garamond", serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.16em;
}

#location .location_group h5 {
  margin: 0;
  color: #333;
  font-family:
    "Noto Serif JP",
    "游明朝",
    "Yu Mincho",
    serif;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
}


/* 施設カード一覧
----------------------------*/

#location .location_facility_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 22px;
  width: 100%;
  letter-spacing: 0;
}

#location .location_facility_list::after {
  content: none;
}

#location .column .location_facility_list li {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  font-family:
    "游ゴシック",
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

#location .location_facility_list .pic {
  width: 100%;
  overflow: hidden;
  background: #eee;
}

#location .location_facility_list .pic img {
  display: block;
  width: 100%;
  height: 145px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

#location .location_facility_list li:hover .pic img {
  transform: scale(1.035);
}

#location .column .location_facility_list .facility {
  margin-top: 10px;
  color: #555;
  font-size: 1.2rem;
  line-height: 1.65;
}

#location .column .location_facility_list .facility b {
  color: #333;
  font-weight: 600;
}


/* 注釈
----------------------------*/

#location .location_note {
  margin-top: 0;
  padding-top: 15px;
  color: #666;
  text-align: center;
}


/* 下部イメージギャラリー
----------------------------*/

#location .category_main {
  margin-top: 9rem;
}

#location .category_main ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#location .category_main ul li {
  position: relative;
  width: 33.333%;
}

#location .category_main ul li .note {
  position: absolute;
  right: 5px;
  bottom: 5px;
  color: #fff;
  text-shadow:
    0 0 5px #000,
    0 0 5px #000;
}


/* タブレット
----------------------------*/

@media screen and (max-width: 930px) and (min-width: 641px) {

  #location .location_category_nav ul {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
  }

  #location .location_category_nav a {
    min-height: 78px;
    padding-right: 4px;
    padding-left: 4px;
  }

  #location .location_category_nav .en {
    font-size: 1.05rem;
  }

  #location .location_category_nav .jp {
    font-size: 1.25rem;
  }

  #location .location_column .column_inner {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  #location .location_facility_list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #location .location_facility_list .pic img {
    height: 145px;
  }

}


/* スマートフォン
----------------------------*/

@media screen and (max-width: 640px) {

  #location > .inner {
    width: 92%;
    padding-top: 150px;
  }

  #location .location_lead {
    margin-bottom: 35px;
    font-size: 1.3rem;
    line-height: 1.9;
    text-align: left;
  }

  #location .location_category_nav {
    margin-bottom: 30px;
  }

  #location .location_category_nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  #location .location_category_nav li:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 3.5px);
    margin-right: auto;
    margin-left: auto;
  }

  #location .location_category_nav a {
    min-height: 72px;
    padding: 12px 5px 18px;
  }

  #location .location_category_nav .en {
    margin-bottom: 5px;
    font-size: 1.05rem;
  }

  #location .location_category_nav .jp {
    font-size: 1.3rem;
  }

  #location .location_column {
    padding: 6px;
  }

  #location .location_column .column_inner {
    padding: 0 18px 35px;
  }

  #location .location_group {
    padding: 48px 0 42px;
    scroll-margin-top: 85px;
  }

  #location .location_group_heading {
    margin-bottom: 27px;
  }

  #location .location_group_en {
    font-size: 1.2rem;
  }

  #location .location_group h5 {
    font-size: 2.2rem;
  }

  #location .location_facility_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 10px;
  }

  #location .location_facility_list .pic img {
    height: 115px;
  }

  #location .column .location_facility_list .facility {
    margin-top: 7px;
    font-size: 1.1rem;
    line-height: 1.55;
  }

  #location .location_note {
    padding-top: 5px;
    text-align: left;
  }

  #location .category_main {
    margin-top: 6rem;
  }

  #location .category_main ul li {
    width: 50%;
  }

}
/* map
----------------------------*/
#map {
  margin-top: 0;
  border-top: 6px solid #aa9765; }
  #map > .inner {
    padding-top: 210px; }
  #map .category2 {
    text-align: center;
    color: #aa9765;
    font-size: 2.7rem;
    letter-spacing: 0.2em;
    margin-bottom: 4rem; }
  #map .address {
    background: #000;
    color: #aa9765;
    text-align: center;
    padding: 20px 0;
    font-size: 2.5rem;
    max-width: 800px;
    margin: auto; }
  #map .pic {
    max-width: 800px;
    margin: auto;
    box-sizing: border-box;
    border: 1px solid #ccc; }
  #map .mapImg2 {
    margin-top: 4rem; }
  @media screen and (max-width: 640px) {
    #map .address {
      font-size: 2.0rem; } }

/* contact
----------------------------*/
#contact {
  background: #000;
  color: #aa9765;
  text-align: center;
  padding-bottom: 10rem; }
  #contact > .inner {
    padding-top: 210px; }
  #contact h4.maincopy {
    letter-spacing: 0.2em;
    font-size: 3.5rem; }
  #contact ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 3rem auto; }
    #contact ul li {
      width: 48%;
      font-size: 20px; }
      #contact ul li a {
        background: #aa9765;
        color: #fff;
        display: block;
        width: 100%;
        text-align: center;
        position: relative;
        padding: 30px 0; }
        #contact ul li a span {
          position: relative;
          z-index: 2; }
        #contact ul li a::before {
          background: #dab961;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          bottom: 0;
          margin: auto;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s;
          z-index: 1; }
        #contact ul li a:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
  #contact .bnr {
    max-width: 800px;
    margin: auto; }
    #contact .bnr img {
      width: 100%;
      height: auto; }
  @media screen and (max-width: 640px) {
    #contact {
      padding-bottom: 5rem; }
      #contact ul {
        margin-bottom: 0; }
        #contact ul li {
          width: 100%;
          margin-bottom: 20px; }
          #contact ul li a {
            padding: 20px 0; } }

/* pagetop
----------------------------*/
#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  font-size: 14px;
  display: none;
  letter-spacing: 0.1em;
  z-index: 201; }
  #pagetop a {
    text-decoration: none;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    padding: 10px 30px 10px 20px;
    display: block;
    border-radius: 10px 0 0 0;
    position: relative; }
    #pagetop a::after {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      position: absolute;
      top: 45%;
      right: 10px;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

/* fixed_info
----------------------------*/
#fixed_info {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 0;
  z-index: 200; }
  #fixed_info ul {
    text-align: center; }
  #fixed_info li {
    display: inline-block;
    vertical-align: middle;
    margin: 5px 10px; }
    #fixed_info li.tel p {
      display: inline-block;
      vertical-align: middle;
      font-size: 12px;
      text-align: left; }
      #fixed_info li.tel p:last-child {
        font-size: 28px;
        margin-left: 10px; }
    #fixed_info li.req, #fixed_info li.res {
      width: 200px;
      font-size: 14px; }
      #fixed_info li.req a, #fixed_info li.res a {
        background: #aa9765;
        color: #fff;
        display: block;
        width: 100%;
        text-align: center;
        position: relative;
        padding: 10px 0; }
        #fixed_info li.req a span, #fixed_info li.res a span {
          position: relative;
          z-index: 2; }
        #fixed_info li.req a::before, #fixed_info li.res a::before {
          background: #dab961;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          bottom: 0;
          margin: auto;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s;
          z-index: 1; }
        #fixed_info li.req a:hover::before, #fixed_info li.res a:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
  @media screen and (max-width: 930px) {
    #fixed_info ul {
      width: 90%;
      margin: auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
    #fixed_info li {
      margin: 10px auto; }
      #fixed_info li.tel {
        width: 100%; }
      #fixed_info li.req, #fixed_info li.res {
        width: 49%; } }
  @media screen and (max-width: 480px) {
    #fixed_info li.tel p {
      font-size: 10px; }
      #fixed_info li.tel p:last-child {
        font-size: 22px; } }

/******************************************************

footer

******************************************************/
#txtLink {
  background: #f4f4f4;
  border: 1px solid #d1d1d1;
  border-width: 1px 0;
  padding: 25px 0 10px;
  margin: 0px auto 20px; }
  #txtLink ul {
    text-align: center; }
  #txtLink li {
    display: inline-block;
    margin: 0 20px 20px;
    font-size: 1.2rem;
    /*&.location {
    	pointer-events: none;
    	a {
    		color: #ccc;
    	}
    }*/ }
    #txtLink li.current a {
      color: #c31831; }
    #txtLink li .soon {
      color: #aeaeae; }

/* footerConversion
----------------------------*/
#bukken_tel ul {
  text-align: center; }
#bukken_tel li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 10px; }
  #bukken_tel li:nth-of-type(1), #bukken_tel li:nth-of-type(3) {
    text-align: left;
    font-size: 12px;
    line-height: 1.5; }
  #bukken_tel li:nth-of-type(2) {
    font-size: 48px;
    line-height: 1.2; }
@media screen and (max-width: 640px) {
  #bukken_tel li {
    display: block; }
    #bukken_tel li:nth-of-type(1), #bukken_tel li:nth-of-type(3) {
      text-align: center; } }

/* footerConversion
----------------------------*/
#footerConversion {
  text-align: center;
  width: 100%;
  margin: auto;
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 3rem; }
  #footerConversion ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 600px;
    width: 90%;
    margin: 1.5rem auto 0; }
    #footerConversion ul li {
      width: 48%;
      font-size: 20px; }
      #footerConversion ul li a {
        background: #aa9765;
        color: #fff;
        display: block;
        width: 100%;
        text-align: center;
        position: relative;
        padding: 20px 0; }
        #footerConversion ul li a span {
          position: relative;
          z-index: 2; }
        #footerConversion ul li a::before {
          background: #dab961;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          bottom: 0;
          margin: auto;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s;
          z-index: 1; }
        #footerConversion ul li a:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
  @media screen and (max-width: 640px) {
    #footerConversion ul li {
      width: 100%;
      margin-bottom: 20px; }
      #footerConversion ul li a {
        padding: 20px 0; } }

#float {
  position: fixed;
  bottom: 80px;
  right: 20px;
  z-index: 99;
  width: 60%;
  max-width: 350px;
  border: solid 1px #fff; }
  #float .close {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #000;
    width: 30px;
    height: 30px;
    z-index: 3;
    border-radius: 50%;
    cursor: pointer;
    border: solid 1px #fff; }
    #float .close .txt {
      text-align: center;
      color: #fff;
      font-size: 26px;
      line-height: 26px; }
  #float a {
    display: block;
    background: #000; }
    #float a img {
      width: 100%;
      height: auto;
      transition: .3s; }
    #float a:hover img {
      opacity: .6; }
  @media screen and (max-width: 930px) {
    #float {
      bottom: 150px; } }
  @media screen and (max-width: 640px) {
    #float {
      bottom: 160px; } }


#plan .movieArea {
  text-align: center;
  margin-top: 30px;
}

#plan .movieArea .ldk {
  display: inline-block;
  float: none;
  margin: 0 auto 20px;
  padding: 10px 30px;

  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;

  color: #fff;
  background: #aa9765;
  text-align: center;
}

#plan .movieArea iframe,
#plan .movieArea object,
#plan .movieArea video {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}