
/* ##############################################################################

    COMMON

############################################################################## */

  body {
    font-family: garamond-premier-pro, '?ҥ饮??D??? W4 JIS2004', 'Hiragino UD Serif W4 JIS2004', 'YuGothic', '??????å?', '?ҥ饮?νǥ? Pro W3', 'Hiragino Kaku Gothic ProN', serif;
    line-height: 1.75;
    font-weight: 500;
    letter-spacing: .04em;
  }

  h1, h2, h3, h4, h5 {
    line-height: 1.4;
    font-weight: 500;
  }

/* font
*************************************************** */
  .f-garamond {
    font-family: garamond-premier-pro, '?ҥ饮??D??? W4 JIS2004', 'Hiragino UD Serif W4 JIS2004', 'YuGothic', '??????å?', '?ҥ饮?νǥ? Pro W3', 'Hiragino Kaku Gothic ProN', serif;
  }
  .f-ten,
  .heading-1,
  .heading-2,
  .f-trajan,
  .btn,
  .section_ttl { 
    font-family: trajan-pro-3, '?ҥ饮??D??? W4 JIS2004', 'Hiragino UD Serif W4 JIS2004', 'YuGothic', '??????å?', '?ҥ饮?νǥ? Pro W3', 'Hiragino Kaku Gothic ProN', serif;
  }
  .txt-lg {
    letter-spacing: .06em;
    line-height: 1.8;
  }
  .txt-sm {
    line-height: 1.5;
  }
  .small {
    letter-spacing: .03em;
    font-size: 82%;
    font-weight: 300;
  }

/* ttl
*************************************************** */
  .page-news .page_ttl { background-image: url(../../original_theme/images/pagettl/pagettl-news.jpg); }
  .page_ttl .inner img {
    margin-bottom: 32px;
  }
  .page_ttl .inner {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    font-size: 112%;
    font-family: trajan-pro-3, '?ҥ饮??D??? W4 JIS2004', 'Hiragino UD Serif W4 JIS2004', 'YuGothic', '??????å?', '?ҥ饮?νǥ? Pro W3', 'Hiragino Kaku Gothic ProN', serif;
    letter-spacing: .1em;
    line-height: 1;
  }
  .heading-1,
  .heading-2,
  .heading-3,
  .heading-4 {
    letter-spacing: .075em;
  }
  .heading-1 {
    letter-spacing: .05em;
    line-height: 1.25;
  }
  .heading-2 small {
    letter-spacing: .05em;
  }
  .hy {
    line-height: 1.25;
  }

  @media screen and (max-width: 767px) {
    .page-news .page_ttl { background-image: url(../../original_theme/images/pagettl/pagettl-news_sp.jpg); }
    .page_ttl .inner {
      padding-top: 48px;
      padding-bottom: 16px;
    }
    .page_ttl .inner::before {
      top: 16px;
    }
    .page_ttl .inner img {
      margin-bottom: 16px;
      width: 20px !important;
    }
    .page_ttl .inner span {
      letter-spacing: 0;
      line-height: 1.25;
    }
    .heading-1 {
      font-size: 200%;
    }
  }

/* list, table
*************************************************** */
  .txt-attention {
    padding-left: .4em;
    text-indent: -.4em;
    line-height: 1.4;
    letter-spacing: .025em;
  }
  .txt-attention::before {
    display: none;
  }
  .mce-content-body li, .list li {
    line-height: 1.5;
  }


/* ##############################################################################

    HEADER

############################################################################## */

/* header
*************************************************** */
  .home header {
    border-bottom: .5px solid #29262d;
  }

/* hero
*************************************************** */
  #hero {
    padding: 0;
    height: 100vh;
  }
  .hero--ttl {
    top: 48px;
    transform: translate(0);
    left: auto;
    right: 48px;
  }
  #hero .header--sns_lang {
    right: 140px;
    top: 48px;
  }
  .home .hero .header--nav {
    position: absolute;
    top: 84px;
    right: 140px;
    width: calc(100% - 188px);
    border-top: .5px solid rgba(255,255,255,.75);
    border-bottom: .5px solid rgba(255,255,255,.75);
  }
  .home .hero .gnav {
    margin-right: 0;
  }
  .home .hero .gnav--list a.home--gnavlink {
    height: 48px;
    color: #fff;
    font-size: 83%;
  }
  .home .hero .gnav--list a.home--gnavlink:hover {
    color: #decc78;
  }
  .home .hero .gnav--list a::before {
    display: none;
  }
  .home .hero .snav {
    top: 42px;
    background: rgba(255,255,255,.9);
    border: .5px solid #fff;
  }
  .hero--catch-en {
    color: #fff;
    z-index: 10;
    position: absolute;
    width: 720px;
    -ms-text-justify: inter-ideograph;
    text-justify: inter-ideograph;
    text-align: left;
    letter-spacing: 0;
    bottom: 72px;
    left: 48px;
    line-height: 1.7;
    margin-bottom: 0;
  }

  @media screen and (min-width: 768px) {
    .hero--konzatsu {
      right: auto;
      left: 48px;
      top: 42px;
      background: transparent;
      color: #fff;
    }
    .hero--konzatsu::after {
      border-color: #fff;
    }
  }
  @media screen and (max-width: 767px) {
    #hero {
      padding: 64px 0 0;
      height: 560px;
    }
    
    #hero .header--sns_lang {
      right: 0;
      top: auto;
    }
    .home .hero .header--nav {
      border: none;
    }
    .home .hero .gnav--list a.home--gnavlink {
      color: #29262d;
    }
    .home .hero .gnav--list a.home--gnavlink {
      color: #29262d;
      letter-spacing: .04em;
      padding: 1em;
      line-height: 1.4;
      font-size: 100%;
      height: auto;
    }
    .header--lang .c-wh a {
      border-color: rgba(191, 167, 54 ,.75);
      color: rgb(191, 167, 54);
    }
    .hero--konzatsu {
      left: calc(50% - 94px);
    }
    .hero--ttl {
      display: none;
    }
    .hero--catch-en {
      width: 84%;
      font-size: 140%;
      margin: 0 auto;
      left: 8%;
      bottom: 8%;
    }
  }

/* gnav
*************************************************** */

  .header-fx .gnav--list a,
  .gnav--list a {
    letter-spacing: .04em;
    padding: 0 1em;
    line-height: 1.4;
  }
  .snav {
    width: 386px;
    left: -59px;
  }
  .has_snav::after {
    right: 4px;
  }

  @media screen and (max-width: 767px) {
    .header-fx .gnav--list a,
    .gnav--list a {
      padding: 1em;
      height: auto;
    }
    .snav {
      width: 100%;
    }
  }


/* ##############################################################################

    INDEX

############################################################################## */

  /* .home_video
*************************************************** */
.home_video { padding-bottom: 104px; }
.home_video h5 { margin-bottom: 1.4em; }
.home_video--links .flex {
  margin-left: auto;
  width: 300px;
}
.home_video--links .flex a {
  width: 18%;
  padding-top: 8px;
  padding-bottom: 8px;
}
.home_video--links .flex a,
.home_video .btn {
  background: #fff;
  border: 1px solid #ddd;
}
.home_video--links .flex a:hover { color: #BFA736; }
.home_video .btn { margin-right: 0; }

@media screen and (max-width: 767px) {
  .home_video { padding-bottom: 40px; }
  .home_video .btn { margin-right: auto; }
  .home_video--links .flex { 
    width: 230px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12px;
  }
  .home_video--links .flex a {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .home_video .btn {
    background: none;
    border: none;
  }
}

/* home_grid
*************************************************** */
  .home_overview--content {
    padding-top: 480px;
  }
  .home_overview--img {
    left: 0;
    width: 70%;
  }
  .home_history--content {
    width: 38%;
  }
  .section_pdg:last-child.home_history--content {
    padding: 144px 0;
  }
  .home_grid--ttl {
    font-size: 145%;
    padding-bottom: 40px;
  }
  .home_grid--ttl::before {
    bottom: 0;
  }
  .home_grid--ttl img {
    margin-top: 80px;
  }
  .home_grid--txt {
    line-height: 1.75;
    text-align: left;
  }

  @media screen and (max-width: 767px) {
    .home_history--content {
      width: 100%;
    }
    .home_grid .inner {
      width: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .home_grid--img {
      position: relative;
      height: auto;
      order: 2;
    }
    .home_grid--img img {
      position: relative;
      top: auto;
      bottom: auto;
      left: auto;
      right: auto;
      transform: translate(0);
    }
    .home_overview--img {
      width: 100%;
    }
    .home_overview--content,
    .section_pdg:last-child.home_history--content {
      padding: 40px 7%;
      margin-bottom: 0;
    }
    .home_grid--ttl {
      padding-bottom: 24px;
      text-align: left;
    }
    .home_overview .home_grid--ttl {
      padding: 0;
      margin: 0;
      text-align: right;
    }
  }

/* home_hightlight
*************************************************** */
  .home_highlight--link {
    height: 30vw;
    min-height: 560px;
  }
  .home_highlight--ttl {
    font-size: 100%;
    width: 100%;
  }
  .home_highlight--ttl-en {
    display: block;
    margin-top: 32px;
    color: #decc78;
    letter-spacing: .1em;
    text-transform: lowercase;
    line-height: 1.6;
  }
  .home_highlight--ttl-en small {
    letter-spacing: .05em;
    display: block;
    text-transform: lowercase;
  }

  @media screen and (max-width: 767px) {
    .home_highlight--ttl {
      font-size: 156%;
    }
    .home_highlight--ttl-en {
      font-size: 70%;
      margin-top: 12px;
    }
    .home_highlight--img {
      width: 200%;
    }
  }

/* home_value
*************************************************** */
  .home_value {
    min-height:10vh;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .home_value .heading-1 small {
    line-height: 1.6;
    display: block;
    margin-bottom: 32px;
    letter-spacing: .05em;
  }

  @media screen and (max-width: 767px) {
    .home_value .heading-1 small {
      margin-bottom: 16px;
    }
  }

/* ##############################################################################

    PAGE

############################################################################## */

/* page-highlight
*************************************************** */
  @media screen and (max-width: 767px) {
    .highlight_menu h4 {
      line-height: 1.2;
    }
  }

/* page-architecture
*************************************************** */
  .map--list li {
    transition: all .6s cubic-bezier(0,0,.33,.99);
    z-index:1;
  }
  .map--list li:hover {
    z-index: 5;
  }
  .map--list .map--link03 { bottom: 52.5%; }
  .map--list .map--link04 { bottom: 62%; }
  .map--list .map--link05 { bottom: 60%; }
  .map--list .map--link06 { bottom: 56%; }
  .map--list .map--link12 { bottom: 78%; }
  .map--list .map--link16 { bottom: 58%; }
  .map--txt {
    letter-spacing: 0;
    padding: 0 10px;
  }
  .map--content .heading-2 {
    margin-bottom: 2.5em;
    font-size: 149%;
    text-indent: -1.8em;
    padding-left: 1.8em;
  }
  .slick-archit--thumb {
    top: -46px;
  }
  .map--content .map-up .kigo {
    width: 5px;
    display: inline-block;
    height: 5px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(-45deg);
    margin-right: 4px;
  }

  @media screen and (max-width: 767px) {
    .map--list .map--link03 { bottom: 54.5%; }
    .map--list .map--link04 { bottom: 60.5%; }
    .map--list .map--link05 { bottom: 59%; }
    .map--list .map--link06 { bottom: 58%; }
    .map--list .map--link12 { bottom: 79%; }
    .map--list .map--link16 { bottom: 59%; }
    .map--content .heading-2 {
      margin-bottom: 16px;
      font-size: 172%;
    }
  }

/* [guide] page-info
*************************************************** */
  .fee--table.table_line th,
  .fee--table.table_line td {
    line-height: 1.5;
  }

/* [guide] page-access
*************************************************** */
  .hours-box .btn {
    font-size: 100%;
    line-height: 1.25;
  }
  .public--area {
    height: 80px;
    line-height: 80px;
  }
  .public--area.osaka {
    line-height: 1;
    padding: .5em .5em;
  }
  .public--area.sentorea {
    padding-top: 1.2em;
  }
  .tokyo .public--area2 {
    line-height: 1.2;
  }

  @media screen and (max-width: 767px) {
    .public--area.osaka {
      line-height: 1;
      padding: 1.4em 3.5em;
    }
    .public--area.sentorea {
      padding-top: 1.6em;
    }
    .car--dl dt {
      width: 13em;
    }
    .car--dl dd {
      width: calc(100% - 13em);
    }
    .car--dl dd::before {
      right: 108px;
    }
  }

/* [guide] page-guidetour
*************************************************** */
  .guidetour--txtarea {
    width: calc(100% - 460px);
  }
  .hours--table.table_default th,
  .fee--table.table_line th {
    width: 14em;
  }
  .fee--table.table_line th .small {
    padding: 0;
  }

  @media screen and (max-width: 767px) {
    .txtarea.guidetour--txtarea {
      width: 100%;
    }
    .hours--table.table_default th {
      width: 100%;
    }
    .fee--table.table_line th {
      width: 33%;
      line-height: 1.25;
    }
  }


/* ##############################################################################

    editor-style

############################################################################## */

/* table & list
**************************************** */
  .mce-content-body ol, 
  .list-num {
    padding-left: 1em;
  }