@charset "UTF-8";
/*------------------------------------------
 *	Reset
------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, icenter, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

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

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

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

img {
  line-height: 1;
  vertical-align: bottom; }

input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px; }

input[type="number"] {
  -moz-appearance: textfield; }
  input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
  color: #121212;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.is-menu-open {
  overflow: hidden; }

/*------------------------------------------
 *	fonts
------------------------------------------*/
.ff-mincho {
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

.ff-mincho-r {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

.ff-times {
  font-family: Times, Times New Roman, Georgia, serif; }

.ff-playfair {
  font-family: 'Playfair Display', serif; }

/*------------------------------------------
 *	defaults
------------------------------------------*/
img {
  max-width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: #121212; }

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none; } }

h1 {
  font-size: 2.133em; }

h2 {
  font-size: 1.733em;
  line-height: 1.4; }

h3 {
  font-size: 1.6em;
  letter-spacing: 0.02em; }

h4 {
  font-size: 1.333em; }

/*------------------------------------------
 *	Responsive
------------------------------------------*/
@media screen and (min-width: 768px), print {
  .is-sp {
    display: none; } }

@media screen and (max-width: 767px) {
  .is-sp {
    display: block; } }

@media screen and (min-width: 768px), print {
  .is-pc {
    display: block; } }

@media screen and (max-width: 767px) {
  .is-pc {
    display: none; } }

.ico {
  position: relative;
  display: inline-block; }
  .ico__arrow-top {
    width: 10px;
    height: 14px;
    background-size: 10px 14px;
    background-image: url(../../images/common/arrow.svg); }
  .ico__arrow-top-gray {
    width: 10px;
    height: 14px;
    background-size: 10px 14px;
    background-image: url(../../images/common/ico_arrow_top_gray.svg); }
  .ico__linen {
    width: 19px;
    height: 24px;
    background-size: 19px 24px;
    background-image: url(../../images/common/ico_linen.svg); }
  .ico__guestbook {
    width: 19px;
    height: 24px;
    background-size: 19px 24px;
    background-image: url(../../images/common/ico_guests.svg); }
  .ico__trashcan {
    width: 20px;
    height: 24px;
    background-size: 20px 24px;
    background-image: url(../../images/common/ico_trash.svg); }
  .ico__meal {
    width: 24px;
    height: 20px;
    background-size: 24px 20px;
    background-image: url(../../images/common/ico_meal.svg); }
  .ico__personnel {
    width: 24px;
    height: 20px;
    background-size: 24px 20px;
    background-image: url(../../images/common/ico_personnel.svg); }
  .ico__lock {
    width: 24px;
    height: 21px;
    background-size: 24px 21px;
    background-image: url(../../images/common/ico_lock.svg); }
  .ico__hire {
    width: 22px;
    height: 25px;
    background-size: 22px 25px;
    background-image: url(../../images/common/ico_hiring.svg); }
  .ico__list {
    width: 24px;
    height: 23px;
    background-size: 24px 23px;
    background-image: url(../../images/common/ico_list.svg); }
  .ico__reception {
    width: 27px;
    height: 27px;
    background-size: 27px 27px;
    background-image: url(../../images/common/ico_reception.svg); }
  .ico__luggage {
    width: 24px;
    height: 22px;
    background-size: 24px 22px;
    background-image: url(../../images/common/ico_luggage.svg); }
  .ico__bottle {
    width: 12px;
    height: 26px;
    background-size: 12px 26px;
    background-image: url(../../images/common/ico_bottle.svg); }
  .ico__tree {
    width: 19px;
    height: 24px;
    background-size: 19px 24px;
    background-image: url(../../images/common/ico_tree.svg); }
  .ico__map {
    width: 10px;
    height: 9px;
    background-size: 10px 9px;
    background-image: url(../../images/common/ico_map.svg); }
  .ico__small-house {
    width: 13px;
    height: 13px;
    background-size: 13px 13px;
    background-image: url(../../images/common/ico_small_house.svg); }
  .ico__arrow-black-right {
    width: 9px;
    height: 7px;
    background-size: 9px 7px;
    background-image: url(../../images/common/ico_arrow_black_right.svg); }
  .ico__sp-nav-arrow {
    width: 4px;
    height: 3px;
    background-size: 4px 3px;
    background-image: url(../../images/common/ico_sp_menu_arrow.svg); }
  .ico__sp-form-arrow {
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-image: url(../../images/common/ico_sp_form_arrow.svg); }
  .ico__mail {
    width: 20px;
    height: 15px;
    background-size: 20px 15px;
    background-image: url(../../images/common/ico_mail.svg); }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.l-footer {
  margin: auto 0 0 0;
  width: 100%; }
  .l-footer--area--col2 {
    display: flex;
    justify-content: flex-end;
    margin: 0 40px 30px 0; }
    .l-footer--area--col2 .ico {
      margin: 0 0 8px; }
    .l-footer--area--col2 a {
      display: inline-block;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .l-footer--area--col2 a {
          display: none; } }
      @media screen and (min-width: 768px), print {
        .l-footer--area--col2 a {
          transition: all 0.3s ease; }
          .l-footer--area--col2 a:hover {
            opacity: 0.6; } }
    .l-footer--area--col2--txt {
      display: block;
      font-size: 0.733em; }
  .l-footer--inner {
    background-color: #FCCA0D;
    width: 100%;
    margin: 0 auto;
    padding: 40px 4% 59px; }
    @media screen and (max-width: 767px) {
      .l-footer--inner {
        padding: 35px 4% 30px; } }
  .l-footer--content {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto; }
    .l-footer--content--col2 {
      margin: 0 0 46px;
      display: flex;
      justify-content: space-between; }
      .l-footer--content--col2 p {
        color: #BBBBBB; }
      .l-footer--content--col2 .address {
        font-size: 14px;
        line-height: 1.4; }
        @media screen and (max-width: 767px) {
          .l-footer--content--col2 .address {
            font-size: 0.8em;
            color: #fff;
            letter-spacing: 0.1em; } }
      .l-footer--content--col2 .tel-num {
        color: #fff;
        letter-spacing: 0.1em;
        font-size: 1.2em; }
        .l-footer--content--col2 .tel-num a {
          font-size: 2.133em;
          color: #fff; }
        @media screen and (max-width: 767px) {
          .l-footer--content--col2 .tel-num {
            margin: 0 0 30px; }
            .l-footer--content--col2 .tel-num a {
              font-size: 1.867em; } }
      @media screen and (max-width: 767px) {
        .l-footer--content--col2 {
          display: block; } }
      @media screen and (max-width: 767px) {
        .l-footer--content--col2 .l-footer__links-pc {
          display: none; } }
      .l-footer--content--col2 .l-footer__links-sp {
        display: none; }
        @media screen and (max-width: 767px) {
          .l-footer--content--col2 .l-footer__links-sp {
            margin: 35px 0 0;
            display: flex; }
            .l-footer--content--col2 .l-footer__links-sp li {
              margin: 0 30px 0 0; }
              .l-footer--content--col2 .l-footer__links-sp li:last-child {
                margin: 0; }
            .l-footer--content--col2 .l-footer__links-sp a {
              color: #BBBBBB;
              font-size: 0.8em; } }
    .l-footer--content .top-btn-sp {
      display: none; }
      @media screen and (max-width: 767px) {
        .l-footer--content .top-btn-sp {
          display: inline-block;
          position: absolute;
          right: 20px;
          bottom: 30px;
          text-align: center; }
          .l-footer--content .top-btn-sp span {
            color: #BBBBBB;
            display: block; } }
    @media screen and (min-width: 768px), print {
      .l-footer--content--pc-col2 {
        display: flex;
        width: 56%;
        justify-content: space-between;
        align-items: flex-end; }
        .l-footer--content--pc-col2 .contact-info {
          width: 49%; }
        .l-footer--content--pc-col2 .c-btn-contact {
          width: 46.4%; } }
    @media screen and (min-width: 768px), print {
      .l-footer--content .content-logo {
        width: 35%; } }
    @media screen and (min-width: 768px), print {
      .l-footer--content--copy-col2 {
        display: flex;
        justify-content: space-between;
        align-items: center; } }
  .l-footer__copy {
    color: #5D5D5D;
    text-align: right;
    font-size: 0.8em; }
    .l-footer__copy span {
      display: inline-block;
      margin: 0 0 0 10px;
      color: #782014; }
      .l-footer__copy span a {
        color: #782014; }
    @media screen and (max-width: 767px) {
      .l-footer__copy {
        text-align: left; }
        .l-footer__copy span {
          display: block;
          margin: 5px 0 0 0; } }
  .l-footer__service-index {
    max-width: 1080px;
    width: 100%;
    margin: 60px auto 42px;
    display: flex;
    justify-content: space-between; }
    .l-footer__service-index--title {
      color: #BBBBBB;
      font-size: 1.933em;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 767px) {
        .l-footer__service-index--title {
          font-size: 1.667em;
          margin: 0 0 40px;
          color: #fff; } }
    .l-footer__service-index--list {
      max-width: 600px;
      width: 100%; }
      .l-footer__service-index--list li {
        margin: 0 0 6px;
        border: 1px solid #4A4A4A; }
        @media screen and (max-width: 767px) {
          .l-footer__service-index--list li {
            margin: 0 0 15px; }
            .l-footer__service-index--list li:last-child {
              margin: 0; } }
        .l-footer__service-index--list li:last-child {
          margin: 0; }
        .l-footer__service-index--list li a {
          color: #fff;
          display: flex;
          justify-content: space-between;
          align-items: center;
          transition: opacity 0.3s ease; }
          @media screen and (min-width: 768px), print {
            .l-footer__service-index--list li a:hover {
              opacity: 0.6; } }
          .l-footer__service-index--list li a .img {
            max-width: 230px;
            width: 100%;
            background-color: rgba(18, 18, 18, 0.4); }
            @media screen and (max-width: 767px) {
              .l-footer__service-index--list li a .img {
                max-width: 120px; } }
          .l-footer__service-index--list li a .link-name {
            margin: 0 0 0 30px; }
            .l-footer__service-index--list li a .link-name .ff-times {
              display: block;
              font-size: 1.6em; }
            .l-footer__service-index--list li a .link-name .ff-mincho {
              display: block;
              margin: 6px 0 0; }
            @media screen and (max-width: 767px) {
              .l-footer__service-index--list li a .link-name {
                margin: 0 0 0 15px; }
                .l-footer__service-index--list li a .link-name .ff-times {
                  font-size: 1.3em; }
                .l-footer__service-index--list li a .link-name .ff-mincho {
                  font-size: 0.8em; } }
    @media screen and (max-width: 767px) {
      .l-footer__service-index {
        display: block;
        margin: 70px auto 80px; } }
  @media screen and (max-width: 767px) {
    .l-footer__logo {
      margin: 0 0 30px; } }
  .l-footer__additional-links {
    display: flex; }
    @media screen and (max-width: 767px) {
      .l-footer__additional-links {
        margin: 0 0 20px; } }
    .l-footer__additional-links li {
      margin: 0 30px 0 0; }
      .l-footer__additional-links li:last-child {
        margin: 0; }
    .l-footer__additional-links a {
      color: #BBBBBB;
      font-size: 0.9em; }
      @media screen and (min-width: 768px), print {
        .l-footer__additional-links a:hover {
          text-decoration: underline; } }
      @media screen and (max-width: 767px) {
        .l-footer__additional-links a {
          font-size: 0.8em; } }

#page-villa-karuizawa .l-footer__service-index--list--karuizawa a {
  opacity: 0.6; }

#page-villa-shonan .l-footer__service-index--list--shonan a {
  opacity: 0.6; }

#page-real_estate .l-footer__service-index--list--real-estate a {
  opacity: 0.6; }

#page-hotel .l-footer__service-index--list--hotel a {
  opacity: 0.6; }

#page-company .l-footer__service-index--list--company a {
  opacity: 0.6; }

.l-breadcrumbs {
  max-width: 1080px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .l-breadcrumbs {
      padding: 0 20px; } }
  .l-breadcrumbs__list {
    margin: 0 auto; }
    .l-breadcrumbs__list .breadcrumb {
      font-size: 12px; }
      .l-breadcrumbs__list .breadcrumb a {
        display: inline-block;
        padding: 0 33px 0 0;
        text-decoration: underline;
        position: relative; }
        .l-breadcrumbs__list .breadcrumb a:after {
          position: absolute;
          content: '';
          background-image: url(../../images/common/ico_arrow_breadcrumb.svg);
          width: 4px;
          height: 8px;
          background-size: 4px 8px;
          right: 15px;
          top: 50%;
          margin-top: -3px; }
        @media screen and (min-width: 768px), print {
          .l-breadcrumbs__list .breadcrumb a:hover {
            text-decoration: none; } }
        @media screen and (max-width: 767px) {
          .l-breadcrumbs__list .breadcrumb a {
            line-height: 2; } }

.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  background-color: #fff;
  color: #81BF35; }
  .l-header--inner {
    height: 59px;
    padding: 0 4%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .l-header--inner {
        height: 50px;
        padding: 0 10px; } }
  .l-header__logo {
    font-size: 1em; }
    @media screen and (max-width: 767px) {
      .l-header__logo {
        width: 138px; } }
  .l-header__logo__top {
    display: none; }
    @media screen and (max-width: 767px) {
      .l-header__logo__top {
        display: block; } }
  @media screen and (max-width: 767px) {
    .l-header__logo__common {
      display: none; } }
  .l-header__nav {
    display: flex;
    align-items: center; }
    .l-header__nav ul {
      display: flex; }
      .l-header__nav ul li {
        margin: 0 40px 0 0; }
        .l-header__nav ul li:last-child {
          margin: 0; }
    .l-header__nav a {
      color: #81BF35;
      font-size: 14px;
      letter-spacing: .12em; }
      @media screen and (min-width: 768px), print {
        .l-header__nav a {
          transition: all 0.3s ease; }
          .l-header__nav a:hover {
            color: #777777; } }
    .l-header__nav span {
      margin: 0 0 0 30px;
      display: inline-block;
      position: relative; }
      .l-header__nav span:before {
        position: absolute;
        content: '';
        height: 8px;
        width: 1px;
        background-size: 1px 8px;
        background-color: #BBBBBB;
        top: 3px;
        left: 0; }
      .l-header__nav span a {
        color: #BBBBBB;
        font-size: 14px;
        display: inline-block;
        padding: 0 0 0 20px; }
    @media screen and (max-width: 767px) {
      .l-header__nav {
        display: none; } }
  .l-header--sp-nav {
    display: none; }
    @media screen and (max-width: 767px) {
      .l-header--sp-nav {
        display: flex; } }
    .l-header--sp-nav .lang {
      display: flex;
      padding: 0 54px 0 0; }
      .l-header--sp-nav .lang li a {
        color: #A3A3A3;
        font-size: 0.933em; }
      .l-header--sp-nav .lang li:first-child {
        margin: 0 15px 0 0; }
      .l-header--sp-nav .lang .lang--current a {
        color: #fff; }
    .l-header--sp-nav .l-header__nav--btn {
      height: 17px;
      width: 24px;
      position: absolute;
      right: 10px;
      top: 15px; }
      .l-header--sp-nav .l-header__nav--btn span {
        background-color: #fff;
        width: 100%;
        height: 2px;
        display: block;
        position: relative;
        transition: all 0.3s ease; }
        .l-header--sp-nav .l-header__nav--btn span:before, .l-header--sp-nav .l-header__nav--btn span:after {
          position: absolute;
          content: '';
          width: 100%;
          height: 2px;
          background-color: #fff;
          background-size: 100% 2px;
          left: 0;
          transition: all 0.3 ease; }
        .l-header--sp-nav .l-header__nav--btn span:before {
          top: -8px; }
        .l-header--sp-nav .l-header__nav--btn span:after {
          top: 8px; }
    .l-header--sp-nav .close-btn {
      z-index: 2; }
      .l-header--sp-nav .close-btn span {
        background-color: #121212; }
        .l-header--sp-nav .close-btn span:before {
          transform: rotate(-45deg);
          top: 0; }
        .l-header--sp-nav .close-btn span:after {
          transform: rotate(45deg);
          top: 0; }
    .l-header--sp-nav__wrapper {
      display: none;
      position: fixed;
      width: 100%;
      height: 100vh;
      overflow: scroll;
      top: 0;
      background-color: rgba(0, 0, 0, 0.5); }
    .l-header--sp-nav__menu {
      position: absolute;
      background-color: #121212;
      width: 92%;
      padding: 50px 35px 150px;
      z-index: 1;
      top: 0;
      right: 0;
      overflow: scroll; }
      .l-header--sp-nav__menu--list li {
        margin: 0 0 30px; }
        .l-header--sp-nav__menu--list li:last-child {
          margin: 0; }
        .l-header--sp-nav__menu--list li a {
          color: #fff;
          font-size: 1.067em;
          display: flex;
          align-items: center;
          letter-spacing: 0.12em; }
          .l-header--sp-nav__menu--list li a .ico {
            margin: 0 10px 0 0; }
      .l-header--sp-nav__menu--list .service-link {
        padding: 0 0 0 35px; }
      .l-header--sp-nav__menu .top-page {
        margin: 0 0 30px; }
        .l-header--sp-nav__menu .top-page li {
          margin: 0; }
          .l-header--sp-nav__menu .top-page li a {
            font-size: 1.2em; }
      .l-header--sp-nav__menu .nav-list-title {
        font-size: 1.2em;
        color: #777777;
        letter-spacing: 0.12em;
        margin: 0 0 15px; }
      .l-header--sp-nav__menu .c-btn-contact {
        margin: 54px 0 0; }
      .l-header--sp-nav__menu .additional-links {
        margin: 40px 0 0;
        display: flex;
        flex-wrap: wrap; }
        .l-header--sp-nav__menu .additional-links li {
          width: 47%;
          margin: 0 0 30px; }
          .l-header--sp-nav__menu .additional-links li:last-child {
            margin: 0; }
          .l-header--sp-nav__menu .additional-links li a {
            font-size: 0.8em;
            color: #fff; }

#page-home .l-header--inner {
  height: 90px; }
  @media screen and (max-width: 767px) {
    #page-home .l-header--inner {
      height: 50px; } }

#page-home .l-header__logo__top {
  display: block; }
  @media screen and (max-width: 767px) {
    #page-home .l-header__logo__top {
      width: 138px; } }

#page-home .l-header__logo__common {
  display: none; }

#page-company .l-header__nav--company a {
  color: #777777; }

#page-recruit .l-header__nav--recruit a {
  color: #777777; }

.l-main {
  width: 100%;
  overflow: hidden; }
  .l-main__content {
    padding: 140px 0; }
    #page-real_estate .l-main__content {
      padding: 120px 0; }
      @media screen and (max-width: 767px) {
        #page-real_estate .l-main__content {
          padding: 70px 0 100px; } }
    @media screen and (max-width: 767px) {
      .l-main__content {
        padding: 70px 0 100px; } }
    .l-main__content--slim {
      max-width: 1188px;
      width: 100%;
      margin: 0 auto;
      padding: 0 4%; }
    @media screen and (max-width: 767px) {
      .l-main__content--full-width-sp {
        padding: 0; } }
  .l-main--bg-black {
    background-color: #222222; }

.l-heading {
  height: 500px;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .l-heading {
      padding-top: 90px; } }
  .l-heading__title-area {
    color: #fff;
    text-align: center; }
  .l-heading--title {
    letter-spacing: 0.06em;
    font-size: 2.267em; }
    @media screen and (max-width: 767px) {
      .l-heading--title {
        font-size: 1.533em; } }
  .l-heading--subtitle {
    font-size: 1.33em;
    margin: 28px 0 0 0;
    letter-spacing: 0.03em; }
    @media screen and (max-width: 767px) {
      .l-heading--subtitle {
        margin: 10px 0 0;
        font-size: 0.933em; } }
  .l-heading .c-amp {
    margin: 0 10px 0 0; }
    @media screen and (max-width: 767px) {
      .l-heading .c-amp {
        margin: 0 5px 0 0; } }
  @media screen and (max-width: 767px) {
    .l-heading {
      height: 250px;
      padding: 50px 0 0; } }

#page-villa-karuizawa .l-heading {
  background-image: url(../../images/villa-karuizawa/mv_bg.jpg); }
  @media screen and (max-width: 767px) {
    #page-villa-karuizawa .l-heading {
      background-image: url(../../images/villa-karuizawa/mv_bg_sp.jpg);
      background-position: center; } }

#page-villa-shonan .l-heading {
  background-image: url(../../images/villa-shonan/mv_bg.jpg); }
  @media screen and (max-width: 767px) {
    #page-villa-shonan .l-heading {
      background-image: url(../../images/villa-shonan/mv_bg_sp.jpg);
      background-position: center; } }

#page-hotel .l-heading {
  background-image: url(../../images/hotel/mv_bg.jpg); }
  @media screen and (max-width: 767px) {
    #page-hotel .l-heading {
      background-image: url(../../images/hotel/mv_bg_sp.jpg);
      background-position: center; } }

#page-company .l-heading {
  background-image: url(../../images/company/mv_bg.jpg); }
  @media screen and (max-width: 767px) {
    #page-company .l-heading {
      background-image: url(../../images/company/mv_bg_sp.jpg);
      background-position: center; } }

.p-real-estate {
  background-image: url(../../images/real-estate/mv_bg.jpg); }
  @media screen and (max-width: 767px) {
    .p-real-estate {
      background-image: url(../../images/real-estate/mv_bg_sp.jpg);
      background-position: center; } }

#page-sitemap .l-heading, #page-error .l-heading {
  background-image: url(../../images/sitemap/mv_bg.jpg); }
  @media screen and (min-width: 768px), print {
    #page-sitemap .l-heading, #page-error .l-heading {
      height: 340px; } }
  @media screen and (max-width: 767px) {
    #page-sitemap .l-heading, #page-error .l-heading {
      background-image: url(../../images/sitemap/mv_bg_sp.jpg);
      background-position: center; } }

#page-blog .l-heading {
  background-image: url(../../images/blog/mv_bg.jpg); }
  @media screen and (min-width: 768px), print {
    #page-blog .l-heading {
      height: 340px; } }

#page-contact .l-heading {
  background-image: url(../../images/contact/mv_bg.jpg); }
  @media screen and (min-width: 768px), print {
    #page-contact .l-heading {
      height: 340px; } }

#page-privacy .l-heading {
  background-image: url(../../images/privacy/mv_bg.jpg); }
  @media screen and (min-width: 768px), print {
    #page-privacy .l-heading {
      height: 340px; } }

.c-text--fts13 {
  font-size: 0.867em;
  line-height: 1.7; }

.c-text--fts16 {
  font-size: 1.067em;
  line-height: 1.8; }

.c-text--fts18 {
  font-size: 1.2em;
  line-height: 2; }

.c-text--centered {
  text-align: center; }

.c-text--paragraph {
  margin: 40px 0 0; }

.c-bigger-letter {
  font-size: 1.3em; }

.all-caps {
  font-variant: small-caps; }

.c-page__intro {
  margin: 0 auto 160px; }
  @media screen and (max-width: 767px) {
    .c-page__intro {
      margin: 0 auto 90px; } }
  .c-page__intro--centered {
    text-align: center; }
  .c-page__intro h2 {
    letter-spacing: 0.02em;
    margin: 0 0 40px; }
    @media screen and (max-width: 767px) {
      .c-page__intro h2 {
        font-size: 1.267em;
        margin: 0 0 30px; } }
  @media screen and (max-width: 767px) {
    .c-page__intro .c-text {
      font-size: 1em; } }

.c-title__section {
  font-size: 1.867em; }
  .c-title__section--centered {
    text-align: center; }
  .c-title__section .reading {
    font-size: 0.643em;
    letter-spacing: 0.02em; }

.c-title--smaller {
  font-size: 0.833em;
  margin: 0 0 0 14px; }

.c-amp {
  margin: 0 5px 0 0; }

.c-list--unordered li {
  padding: 0 0 0 13px;
  position: relative;
  margin: 0 0 15px; }
  .c-list--unordered li:before {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    background-size: 6px 6px;
    background-color: #555555;
    border-radius: 50%;
    left: 0;
    top: 5px; }
  @media screen and (max-width: 767px) {
    .c-list--unordered li {
      margin: 0 0 14px;
      font-size: 0.933em; }
      .c-list--unordered li:last-child {
        margin: 0; } }

.c-property-list {
  display: flex; }
  .c-property-list li {
    width: 24.07%;
    margin: 0 13px 0 0; }
    .c-property-list li:nth-child(4n) {
      margin: 0; }
    .c-property-list li a {
      position: relative;
      display: block; }
      .c-property-list li a .img {
        position: relative;
        width: 100%;
        padding-top: 61.6279%; }
        .c-property-list li a .img img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      @media screen and (min-width: 768px), print {
        .c-property-list li a {
          transition: all 0.3s ease; }
          .c-property-list li a .img {
            transition: opacity 0.3s ease;
            opacity: 1; } }
      .c-property-list li a .type {
        margin: 10px 0 0 0;
        color: #A3A3A3;
        font-weight: 600;
        font-size: 0.667em;
        display: inline-block; }
        .c-property-list li a .type .ico {
          margin: 0 7px 0 0;
          top: 2px; }
      .c-property-list li a .property-name {
        font-size: 1.2em;
        line-height: 1.5;
        margin: 20px 0; }
      .c-property-list li a .info {
        font-size: 0.933em;
        margin: 0 0 8px;
        letter-spacing: 0.06em;
        line-height: 1.5; }
        .c-property-list li a .info-price {
          margin: 0; }
          .c-property-list li a .info-price--req {
            color: #777777; }
      @media screen and (min-width: 768px), print {
        .c-property-list li a:after {
          position: absolute;
          content: '';
          width: 0;
          height: 1px;
          background-size: 50px 1px;
          transition: all 0.3s ease;
          background-color: #121212;
          bottom: -24px;
          left: 208px; }
        .c-property-list li a:before {
          position: absolute;
          content: '';
          width: 0px;
          height: 5px;
          background-size: 8px 5px;
          background-image: url(../../images/common/ico_link_arrow.svg);
          bottom: -24px;
          left: 208px;
          transition: all 0.3s ease; }
        .c-property-list li a:hover .img {
          opacity: 0.6; }
        .c-property-list li a:hover:before {
          width: 8px;
          left: 258px; }
        .c-property-list li a:hover:after {
          width: 50px; } }

.c-btn {
  margin: 40px 0 0; }
  .c-btn a {
    position: relative;
    border: 1px solid #222222;
    text-align: center;
    display: inline-block;
    width: 100%;
    padding: 16px 0;
    font-size: 1.067em;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 768px), print {
      .c-btn a {
        max-width: 300px;
        transition: 0.3s all ease; }
        .c-btn a:hover {
          color: #fff;
          background-color: #222222; }
          .c-btn a:hover:after {
            background-image: url(../../images/common/ico_arrow_white_right.svg); } }
    @media screen and (max-width: 767px) {
      .c-btn a {
        font-size: 1em; } }
    .c-btn a:after {
      position: absolute;
      content: '';
      width: 14px;
      height: 11px;
      background-size: 14px 11px;
      background-image: url(../../images/common/ico_arrow_black_right.svg);
      right: 20px;
      top: 20px; }
  .c-btn--align-right {
    text-align: right; }
  .c-btn--red a {
    border: 1px solid #E23A23;
    background-color: #E23A23;
    font-weight: 600;
    font-size: 1em;
    letter-spacing: 0.04em;
    line-height: 1.5;
    color: #fff; }
    .c-btn--red a:before {
      position: absolute;
      content: '';
      width: 30px;
      height: 21px;
      background-size: 30px 21px;
      background-image: url(../../images/common/ico_envelope_white.svg);
      left: 20px;
      top: 27px; }
    .c-btn--red a:after {
      background-image: url(../../images/common/ico_arrow_white_right.svg);
      top: 32px; }
    @media screen and (min-width: 768px), print {
      .c-btn--red a {
        max-width: 470px; }
        .c-btn--red a:hover {
          color: #E23A23;
          background-color: #fff; }
          .c-btn--red a:hover:after {
            background-image: url(../../images/common/ico_arrow_right_red.svg); }
          .c-btn--red a:hover:before {
            background-image: url(../../images/common/ico_envelope_red.svg); } }
  .c-btn--back {
    margin: 30px auto 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .c-btn--back {
        margin: 50px auto 0;
        max-width: 300px; } }
    .c-btn--back a {
      font-size: 1em; }
      @media screen and (max-width: 767px) {
        .c-btn--back a {
          font-size: 1.067em; } }
      .c-btn--back a:after {
        display: none; }

.c-btn-wht-border {
  margin: 40px 0 0;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .c-btn-wht-border {
      margin: 50px 0 0; } }
  .c-btn-wht-border a {
    position: relative;
    color: #fff;
    border: 1px solid #fff;
    text-align: center;
    display: inline-block;
    width: 100%;
    padding: 16px 0;
    font-size: 1.067em;
    letter-spacing: 0.1em; }
    .c-btn-wht-border a:before, .c-btn-wht-border a:after {
      position: absolute;
      content: '';
      width: 18px;
      height: 1px;
      background-color: #fff;
      background-size: 18px 1px;
      right: 20px;
      top: 50%; }
    .c-btn-wht-border a:after {
      transform: rotate(90deg); }
    @media screen and (min-width: 768px), print {
      .c-btn-wht-border a {
        max-width: 300px;
        transition: 0.3s all ease; }
        .c-btn-wht-border a:hover {
          color: #121212;
          background-color: #fff; }
          .c-btn-wht-border a:hover:before, .c-btn-wht-border a:hover:after {
            background-color: #121212; } }
    @media screen and (max-width: 767px) {
      .c-btn-wht-border a {
        max-width: 223px;
        border: 1px solid #121212;
        color: #121212;
        padding: 10px 0;
        font-size: 1em; }
        .c-btn-wht-border a:before, .c-btn-wht-border a:after {
          background-color: #121212;
          width: 12px; } }

.c-dec-btn a {
  padding: 0 20px 20px;
  transition: all 0.3s ease;
  display: inline-block;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .c-dec-btn a {
      width: 520px; }
      .c-dec-btn a:hover .hotel-name, .c-dec-btn a:hover .japanese {
        opacity: 0.7; }
      .c-dec-btn a:hover:before {
        width: 520px; }
      .c-dec-btn a:hover:after {
        right: -1px; } }
  @media screen and (max-width: 767px) {
    .c-dec-btn a {
      padding: 0 0 20px;
      display: block; } }
  .c-dec-btn a:before {
    position: absolute;
    content: '';
    width: 500px;
    height: 1px;
    background-color: #121212;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      .c-dec-btn a:before {
        width: 100%; } }
  .c-dec-btn a:after {
    position: absolute;
    content: '';
    width: 8px;
    height: 5px;
    background-size: 8px 5px;
    background-image: url(../../images/common/ico_link_arrow.svg);
    bottom: 0;
    right: 18px;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      .c-dec-btn a:after {
        right: -1px; } }
  .c-dec-btn a .hotel-name {
    position: relative;
    display: block;
    font-size: 1.2em;
    margin: 0 0 8px; }
    .c-dec-btn a .hotel-name:after {
      position: absolute;
      content: '';
      width: 12px;
      height: 12px;
      background-size: 12px 12px;
      background-image: url(../../images/common/ico_external.svg);
      right: 20px;
      top: 3px; }
      @media screen and (max-width: 767px) {
        .c-dec-btn a .hotel-name:after {
          top: 20px;
          right: 7px; } }
  .c-dec-btn a .japanese {
    font-size: 0.813em; }

.c-btn-contact a {
  color: #DDDDDD;
  display: inline-block;
  max-width: 280px;
  width: 100%;
  text-align: center;
  padding: 12px 0 9px;
  position: relative;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  border: 1px solid #AAAAAA; }
  .c-btn-contact a:before {
    position: absolute;
    content: '';
    width: 22px;
    height: 16px;
    background-size: 22px 16px;
    background-image: url(../../images/common/ico_envelope.svg);
    top: 12px;
    left: 20px; }

@media screen and (max-width: 767px) {
  .c-btn-contact a {
    max-width: 100%;
    padding: 14px 0 16px; }
    .c-btn-contact a:before {
      top: 16px; } }

@media screen and (min-width: 768px), print {
  .c-btn-contact a {
    transition: all 0.3s ease; }
    .c-btn-contact a:hover {
      color: #121212;
      background-color: #fff; }
      .c-btn-contact a:hover:before {
        background-image: url(../../images/common/ico_envelope_black.svg); } }

.c-map-link {
  margin: 17px 0 0;
  display: inline-block;
  letter-spacing: 0.06em; }
  .c-map-link .ico {
    margin: 0 0 0 10px; }
  @media screen and (min-width: 768px), print {
    .c-map-link:hover {
      text-decoration: underline; } }
  @media screen and (max-width: 767px) {
    .c-map-link {
      border: 1px solid #121212;
      max-width: 115px;
      display: block;
      text-align: center;
      width: 100%;
      padding: 9px 0; } }

.slider-controls {
  position: relative;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  max-width: 945px;
  width: 100%;
  top: -200px; }
  @media screen and (min-width: 768px) and (max-width: 1300px) {
    .slider-controls {
      max-width: 890px;
      top: -235px; } }
  .slider-controls li {
    cursor: pointer;
    position: relative;
    height: 24px;
    width: 13px; }
    .slider-controls li:before {
      position: absolute;
      content: '';
      background: url(../../images/top/slider-arrow.svg);
      height: 24px;
      width: 12px;
      background-size: 13px 24px;
      opacity: 1;
      transition: all 0.3s ease; }
  .slider-controls .next:before {
    transform: rotate(180deg); }
    @media screen and (max-width: 767px) {
      .slider-controls .next:before {
        left: 0; } }
  @media screen and (max-width: 767px) {
    .slider-controls {
      max-width: 345px;
      top: -300px; }
      .slider-controls li:before {
        top: 0;
        left: 0; } }

.c-tag {
  display: inline-block;
  font-size: 0.933em;
  color: #fff;
  padding: 6px 10px 4px;
  margin: 0 0 4px; }
  .c-tag--sale {
    background-color: #121212; }
  .c-tag--sold {
    background-color: #777777; }

@media screen and (min-width: 768px), print {
  .p-villa--introduction {
    position: relative;
    padding: 128px 0 0 0;
    margin: 0 0 157px; }
    .p-villa--introduction:after {
      position: absolute;
      content: '';
      width: 56%;
      height: 380px;
      background-size: contain;
      right: -100px;
      background-repeat: no-repeat;
      top: 0;
      margin: 0 30px 0 0; } }

.p-villa--introduction .c-text--fts18 {
  margin: 40px 0 25px; }
  @media screen and (max-width: 767px) {
    .p-villa--introduction .c-text--fts18 {
      margin: 30px 0 40px; } }

@media screen and (max-width: 767px) {
  .p-villa--introduction {
    margin: 0 0 50px; } }

@media screen and (min-width: 768px), print {
  .p-villa--text {
    width: 42.5%; } }

@media screen and (max-width: 767px) {
  .p-villa--text h3 {
    font-size: 1.4em; } }

@media screen and (max-width: 767px) {
  .p-villa--text .c-text {
    font-size: 1em; } }

.p-villa__services {
  margin: 0 0 160px;
  border-top: 1px dotted #CCCCCC; }
  .p-villa__services:last-of-type {
    margin: 0; }
  .p-villa__services--col2 {
    display: flex;
    padding: 40px 0;
    border-bottom: 1px dotted #CCCCCC; }
    .p-villa__services--col2 h4 {
      width: 31.48%; }
    .p-villa__services--col2 .c-list--unordered {
      width: 68.51%;
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 767px) {
        .p-villa__services--col2 .c-list--unordered {
          flex-direction: column;
          width: 100%; } }
      @media screen and (min-width: 768px), print {
        .p-villa__services--col2 .c-list--unordered li {
          width: 50%; } }
      .p-villa__services--col2 .c-list--unordered .c-list-item--fullwidth {
        width: 100%; }
        .p-villa__services--col2 .c-list--unordered .c-list-item--fullwidth span {
          margin: 0 0 0 10px; }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-support li:first-child {
        order: 1; }
        .p-villa__services--col2 .list-support li:first-child span {
          display: block;
          margin: 6px 0 0;
          font-size: 0.8em; }
      .p-villa__services--col2 .list-support li:nth-child(2) {
        order: 2; }
      .p-villa__services--col2 .list-support li:nth-child(3) {
        order: 7; }
      .p-villa__services--col2 .list-support li:nth-child(4) {
        order: 3; }
      .p-villa__services--col2 .list-support li:nth-child(5) {
        order: 8; }
      .p-villa__services--col2 .list-support li:nth-child(6) {
        order: 4; }
      .p-villa__services--col2 .list-support li:nth-child(7) {
        order: 9; }
      .p-villa__services--col2 .list-support li:nth-child(8) {
        order: 5; }
      .p-villa__services--col2 .list-support li:nth-child(9) {
        order: 10; }
      .p-villa__services--col2 .list-support li:nth-child(10) {
        order: 6; }
      .p-villa__services--col2 .list-support li:nth-child(11) {
        order: 11; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-food li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-food li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-food li:nth-child(2) {
          order: 4; }
        .p-villa__services--col2 .list-food li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-food li:nth-child(4) {
          order: 5;
          margin: 0; }
        .p-villa__services--col2 .list-food li:nth-child(5) {
          order: 3; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-cleaning li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-cleaning li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-cleaning li:nth-child(2) {
          order: 4; }
        .p-villa__services--col2 .list-cleaning li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-cleaning li:nth-child(4) {
          order: 5;
          margin: 0; }
        .p-villa__services--col2 .list-cleaning li:nth-child(5) {
          order: 3; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-outdoor li:first-child {
        order: 1; }
      .p-villa__services--col2 .list-outdoor li:nth-child(2) {
        order: 7; }
      .p-villa__services--col2 .list-outdoor li:nth-child(3) {
        order: 2; }
      .p-villa__services--col2 .list-outdoor li:nth-child(4) {
        order: 8; }
      .p-villa__services--col2 .list-outdoor li:nth-child(5) {
        order: 3; }
      .p-villa__services--col2 .list-outdoor li:nth-child(6) {
        order: 9; }
      .p-villa__services--col2 .list-outdoor li:nth-child(7) {
        order: 4; }
      .p-villa__services--col2 .list-outdoor li:nth-child(8) {
        order: 10; }
      .p-villa__services--col2 .list-outdoor li:nth-child(9) {
        order: 5; }
      .p-villa__services--col2 .list-outdoor li:nth-child(10) {
        order: 11; }
      .p-villa__services--col2 .list-outdoor li:nth-child(11) {
        order: 6; }
      .p-villa__services--col2 .list-outdoor li:nth-child(12) {
        order: 12; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-building li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-building li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-building li:nth-child(2) {
          order: 4; }
        .p-villa__services--col2 .list-building li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-building li:nth-child(4) {
          order: 5; }
        .p-villa__services--col2 .list-building li:nth-child(5) {
          order: 3; }
        .p-villa__services--col2 .list-building li:nth-child(6) {
          order: 6; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-payment li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-payment li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-payment li:nth-child(2) {
          order: 3;
          margin: 0; }
        .p-villa__services--col2 .list-payment li:nth-child(3) {
          order: 2; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-security li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-security li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-security li:nth-child(2) {
          order: 4;
          margin: 0; }
        .p-villa__services--col2 .list-security li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-security li:nth-child(4) {
          order: 3; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-indoor-cleaning li:first-child {
        order: 1; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(2) {
        order: 6; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(3) {
        order: 2; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(4) {
        order: 7; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(5) {
        order: 3; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(6) {
        order: 8; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(7) {
        order: 4; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(8) {
        order: 9; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(9) {
        order: 5; }
      .p-villa__services--col2 .list-indoor-cleaning li:nth-child(10) {
        order: 10; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-support li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-support li:first-child {
          order: 1; }
          .p-villa__services--col2 .list-shonan-support li:first-child span {
            display: block;
            margin: 6px 0 0;
            font-size: 0.8em; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(2) {
          order: 2; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(3) {
          order: 6; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(4) {
          order: 3; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(5) {
          order: 7; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(6) {
          order: 4; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(7) {
          order: 8; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(8) {
          order: 5; }
        .p-villa__services--col2 .list-shonan-support li:nth-child(9) {
          order: 9;
          margin: 0; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-cleaning li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-cleaning li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-shonan-cleaning li:nth-child(2) {
          order: 4; }
        .p-villa__services--col2 .list-shonan-cleaning li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-shonan-cleaning li:nth-child(4) {
          order: 5; }
        .p-villa__services--col2 .list-shonan-cleaning li:nth-child(5) {
          order: 3; }
        .p-villa__services--col2 .list-shonan-cleaning li:nth-child(6) {
          order: 6; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-outdoor li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-outdoor li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(2) {
          order: 8; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(4) {
          order: 9; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(5) {
          order: 3; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(6) {
          order: 10; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(7) {
          order: 4; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(8) {
          order: 11; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(9) {
          order: 5; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(10) {
          order: 12; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(11) {
          order: 6; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(12) {
          order: 13;
          margin: 0; }
        .p-villa__services--col2 .list-shonan-outdoor li:nth-child(13) {
          order: 7; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-building li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-building li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(2) {
          order: 5; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(3) {
          order: 2; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(4) {
          order: 6; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(5) {
          order: 3; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(6) {
          order: 7;
          margin: 0; }
        .p-villa__services--col2 .list-shonan-building li:nth-child(7) {
          order: 4; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-payment li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-payment li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-shonan-payment li:nth-child(2) {
          order: 3;
          margin: 0; }
        .p-villa__services--col2 .list-shonan-payment li:nth-child(3) {
          order: 2; } }
    @media screen and (max-width: 767px) {
      .p-villa__services--col2 .list-shonan-security li {
        margin: 0 0 14px; }
        .p-villa__services--col2 .list-shonan-security li:first-child {
          order: 1; }
        .p-villa__services--col2 .list-shonan-security li:nth-child(2) {
          order: 3;
          margin: 0; }
        .p-villa__services--col2 .list-shonan-security li:nth-child(3) {
          order: 2; } }
  @media screen and (max-width: 767px) {
    .p-villa__services {
      border-top: none;
      margin: 0 0 90px; }
      .p-villa__services .p-villa__services--col2 {
        display: block; }
        .p-villa__services .p-villa__services--col2:first-child {
          padding: 0 0 40px; }
        .p-villa__services .p-villa__services--col2 h4 {
          width: 100%;
          margin: 0 0 20px;
          font-size: 1.133em; } }

.p-villa__related-links {
  margin: 160px 0 0; }
  @media screen and (max-width: 767px) {
    .p-villa__related-links {
      margin: 90px 0 0; } }
  .p-villa__related-links .c-title__section {
    margin: 0 0 40px; }
    @media screen and (max-width: 767px) {
      .p-villa__related-links .c-title__section {
        text-align: left;
        margin: 0 0 30px;
        font-size: 1.667em; } }
  @media screen and (max-width: 767px) {
    .p-villa__related-links {
      text-align: left; }
      .p-villa__related-links .related-links-mrgn-t {
        margin: 30px 0 0;
        display: inline-block; } }
  @media screen and (max-width: 767px) {
    .p-villa__related-links .c-text {
      font-size: 0.933em; } }
  .p-villa__related-links--col2 {
    display: flex;
    justify-content: space-between;
    margin: 40px 0 0; }
    @media screen and (max-width: 767px) {
      .p-villa__related-links--col2 {
        display: block; } }
    .p-villa__related-links--col2 a {
      height: 240px;
      display: block;
      background-size: cover;
      position: relative;
      transition: all 0.3s ease; }
      @media screen and (min-width: 768px), print {
        .p-villa__related-links--col2 a {
          width: 48.14%; }
          .p-villa__related-links--col2 a:hover .link-content {
            background-color: rgba(0, 0, 0, 0.8); } }
      @media screen and (max-width: 767px) {
        .p-villa__related-links--col2 a {
          height: 140px;
          background-position: center;
          margin: 0 0 10px; }
          .p-villa__related-links--col2 a:last-of-type {
            margin: 0; } }
      .p-villa__related-links--col2 a:after {
        position: absolute;
        content: '';
        width: 12px;
        height: 12px;
        background-size: 12px 12px;
        background-image: url(../../images/common/ico_external_white.svg);
        right: 19px;
        top: calc(50% - 5px);
        transition: all 0.3s ease; }
      .p-villa__related-links--col2 a .link-content {
        display: block;
        padding: 49px 28px 49px 23px;
        width: 61.6%;
        height: 100%;
        transition: all 0.3s ease;
        background-color: rgba(0, 0, 0, 0.6); }
        @media screen and (max-width: 767px) {
          .p-villa__related-links--col2 a .link-content .link-title h4 {
            font-size: 1em; }
            .p-villa__related-links--col2 a .link-content .link-title h4 .link-title__catch {
              font-size: 1.2em;
              margin: 3px 0 0 0; } }
        .p-villa__related-links--col2 a .link-content .link-title__catch {
          display: block;
          letter-spacing: 0.1em;
          margin: 10px 0 0; }
        .p-villa__related-links--col2 a .link-content .c-text {
          color: #fff;
          margin: 26px 0 0; }
          @media screen and (max-width: 767px) {
            .p-villa__related-links--col2 a .link-content .c-text {
              margin: 9px 0 0;
              line-height: 1.3; } }
        @media screen and (max-width: 767px) {
          .p-villa__related-links--col2 a .link-content {
            width: 100%;
            padding: 20px 10px 20px 20px; } }
    .p-villa__related-links--col2 .link-delivery {
      background-image: url(../../images/villa-karuizawa/img_karuizawa_03.jpg); }
      .p-villa__related-links--col2 .link-delivery h4 {
        color: #FFC6E1; }
    .p-villa__related-links--col2 .link-catering {
      background-image: url(../../images/villa-karuizawa/img_karuizawa_04.jpg); }
      .p-villa__related-links--col2 .link-catering h4 {
        color: #AFD3D3; }

@media screen and (min-width: 768px), print {
  .p-villa__karuizawa-cottage:after {
    background-image: url(../../images/villa-karuizawa/img_karuizawa_01.png); } }

@media screen and (min-width: 768px), print {
  .p-villa__karuizawa-cleaning:after {
    background-image: url(../../images/villa-karuizawa/img_karuizawa_02.png); } }

@media screen and (min-width: 768px), print {
  .p-villa__shonan:after {
    background-image: url(../../images/villa-shonan/img_shonan_01.png); } }

.p-villa .c-btn--red {
  margin: 80px 0 0; }
  @media screen and (max-width: 767px) {
    .p-villa .c-btn--red {
      margin: 40px 0 0; } }

@media screen and (max-width: 767px) {
  #page-villa-shonan .c-page__intro h2 {
    font-size: 1.3em; } }

@media screen and (max-width: 767px) {
  #page-hotel .c-page__intro h2 {
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
  #page-hotel .c-page__intro .c-text {
    font-size: 1.067em;
    text-align: left; } }

.p-hotel h3 {
  margin: 0 0 50px; }
  @media screen and (max-width: 767px) {
    .p-hotel h3 {
      font-size: 2em;
      margin: 0 0 30px; }
      .p-hotel h3 .c-title--smaller {
        font-size: 0.567em; } }

.p-hotel .c-text {
  letter-spacing: 0.04em; }

.p-hotel__sec {
  margin: 0 0 165px; }
  @media screen and (max-width: 767px) {
    .p-hotel__sec {
      margin: 0 0 90px; } }
  .p-hotel__sec:first-of-type h3 {
    letter-spacing: 0.12em; }
    @media screen and (max-width: 767px) {
      .p-hotel__sec:first-of-type h3 {
        font-size: 1.2em;
        margin: 0 0 20px; } }
  .p-hotel__sec:last-of-type {
    margin: 0; }
  .p-hotel__sec .c-btn--red {
    margin: 80px 0 0; }
    @media screen and (max-width: 767px) {
      .p-hotel__sec .c-btn--red {
        margin: 50px 0 0; } }

.p-hotel--col2 {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .p-hotel--col2-in:first-child {
      width: 50%;
      margin: 0 60px 0 0; }
    .p-hotel--col2-in:nth-child(2) {
      width: 44.445%; } }
  @media screen and (max-width: 767px) {
    .p-hotel--col2 {
      flex-direction: column; }
      .p-hotel--col2 .p-hotel--col2-in:first-of-type {
        order: 2; }
        .p-hotel--col2 .p-hotel--col2-in:first-of-type .c-text {
          font-size: 1em; }
      .p-hotel--col2 .p-hotel--col2-in:nth-child(2) {
        order: 1;
        margin: 0 0 30px; } }

.p-hotel__list {
  margin: 40px 0 0; }
  .p-hotel__list li {
    display: flex;
    align-items: center;
    font-size: 1.067em;
    margin: 0 0 30px;
    letter-spacing: 0.06em; }
    .p-hotel__list li:last-child {
      margin: 0; }
    .p-hotel__list li .ico {
      margin: 0 10px 0 0; }
    @media screen and (max-width: 767px) {
      .p-hotel__list li {
        font-size: 0.867em;
        margin: 0 0 20px; } }
  .p-hotel__list--col2 {
    display: flex;
    flex-wrap: wrap; }
    .p-hotel__list--col2 li {
      width: 50%; }
      .p-hotel__list--col2 li:nth-child(7) {
        margin: 0; }

.p-hotel__intro {
  height: 360px;
  background-image: url(../../images/hotel/bg_hotel_intro.jpg);
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 40px; }
  @media screen and (max-width: 767px) {
    .p-hotel__intro {
      height: 160px;
      margin: 0 0 30px; } }
  .p-hotel__intro h4 {
    text-align: center;
    color: #fff;
    letter-spacing: 0.16em; }
    .p-hotel__intro h4 .ff-times {
      font-size: 1.2em;
      margin: 0 0 20px;
      display: block;
      letter-spacing: 0.06em; }
      @media screen and (max-width: 767px) {
        .p-hotel__intro h4 .ff-times {
          margin: 0 0 12px;
          font-size: 1.643em; } }
    @media screen and (max-width: 767px) {
      .p-hotel__intro h4 {
        font-size: 0.933em; } }
  @media screen and (max-width: 767px) {
    .p-hotel__intro__txt {
      padding: 0 20px; } }
  .p-hotel__intro__txt h4 {
    font-size: 1.467em; }
    .p-hotel__intro__txt h4 span {
      margin: 0 0 0 14px; }
  .p-hotel__intro__txt--sub {
    display: inline-block;
    margin: 10px 0 0;
    font-size: 0.867em; }
  .p-hotel__intro__txt .c-text {
    margin: 30px 0 0; }
    @media screen and (max-width: 767px) {
      .p-hotel__intro__txt .c-text {
        margin: 20px 0 0;
        font-size: 0.938em; } }

.p-hotel__links-area {
  margin: 80px 0 0; }
  .p-hotel__links-area h4 {
    font-size: 1.2em;
    letter-spacing: 0.06em;
    margin: 0 0 30px; }
    @media screen and (max-width: 767px) {
      .p-hotel__links-area h4 {
        margin: 0 0 20px; } }

.p-company__numbers {
  padding: 90px 0; }
  @media screen and (max-width: 767px) {
    .p-company__numbers {
      padding: 35px 0 40px; } }
  .p-company__numbers h2 {
    font-size: 1.6em;
    color: #fff;
    text-align: center;
    margin: 0 0 50px;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      .p-company__numbers h2 {
        font-size: 1.133em;
        padding: 0 0 15px;
        margin: 0 4% 23px;
        border-bottom: 1px solid #777777; } }
  .p-company__numbers--col4 {
    display: flex;
    justify-content: center; }
    .p-company__numbers--col4-in {
      text-align: center;
      width: 25%; }
      @media screen and (max-width: 767px) {
        .p-company__numbers--col4-in {
          width: 47%; }
          .p-company__numbers--col4-in:first-of-type {
            margin: 0 0 35px; }
          .p-company__numbers--col4-in:nth-of-type(2) {
            margin: 0 0 35px; } }
      .p-company__numbers--col4-in .img {
        margin: 0 0 18px; }
        @media screen and (max-width: 767px) {
          .p-company__numbers--col4-in .img {
            margin: 0 0 10px; } }
      .p-company__numbers--col4-in p {
        letter-spacing: 0.1em;
        color: #fff; }
        @media screen and (max-width: 767px) {
          .p-company__numbers--col4-in p {
            font-size: 1em;
            line-height: 1; } }
      .p-company__numbers--col4-in .numbers {
        margin: 10px 0 0; }
        .p-company__numbers--col4-in .numbers span {
          letter-spacing: 0.05em;
          font-size: 3.125em;
          line-height: 1;
          display: inline-block;
          margin: 0 4px 0 0; }
          @media screen and (max-width: 767px) {
            .p-company__numbers--col4-in .numbers span {
              font-size: 2.533em; } }
    @media screen and (max-width: 767px) {
      .p-company__numbers--col4 {
        padding: 0 4%;
        flex-wrap: wrap;
        justify-content: space-between; } }

.p-company__intro {
  font-size: 1.467em;
  text-align: center;
  line-height: 1.9;
  letter-spacing: 0.14em; }
  @media screen and (max-width: 767px) {
    .p-company__intro {
      font-size: 1.133em; } }

.p-company--content {
  max-width: 780px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .p-company--content {
      padding: 0 4%; } }

.p-company .c-page__intro {
  margin: 0 auto 120px; }
  .p-company .c-page__intro .c-text {
    letter-spacing: 0.14em; }
  @media screen and (max-width: 767px) {
    .p-company .c-page__intro {
      margin: 0 0 80px; } }

.p-company__sec {
  margin: 0 0 120px; }
  @media screen and (max-width: 767px) {
    .p-company__sec {
      margin: 0 0 80px; } }
  .p-company__sec:last-of-type {
    margin: 0; }
  .p-company__sec--title {
    font-size: 1.6em;
    letter-spacing: 0.08em;
    padding: 0 0 14px;
    border-bottom: 1px solid #121212;
    margin: 0 0 40px; }
    @media screen and (max-width: 767px) {
      .p-company__sec--title {
        font-size: 1.4em;
        margin: 0 0 30px;
        letter-spacing: 0.02em; } }
    .p-company__sec--title--mrgn-smaller {
      margin: 0 0 24px; }
    .p-company__sec--title .translation {
      font-size: 0.625em;
      margin: 0 0 0 10px; }

.p-company__philosophy-txt {
  font-size: 1.6em;
  letter-spacing: 0.06em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-company__philosophy-txt {
      font-size: 1.2em;
      font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; } }

.p-company__profile dl {
  display: flex;
  margin: 0 0 28px; }
  @media screen and (max-width: 767px) {
    .p-company__profile dl {
      font-size: 0.933em; } }
  .p-company__profile dl:last-of-type {
    margin: 0; }

.p-company__profile dt {
  width: 15.27%;
  font-weight: 600; }
  @media screen and (max-width: 767px) {
    .p-company__profile dt {
      width: 27%; } }

.p-company__profile dd {
  width: 84.73%;
  padding: 0 9px 0 0;
  line-height: 1.6; }
  @media screen and (max-width: 767px) {
    .p-company__profile dd {
      width: 73%; } }

.p-company__location--col2 {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .p-company__location--col2:first-of-type {
    margin: 0 0 40px; }
  @media screen and (max-width: 767px) {
    .p-company__location--col2 {
      flex-direction: column;
      align-items: flex-start; } }
  @media screen and (min-width: 768px), print {
    .p-company__location--col2__address {
      width: 50%; } }
  @media screen and (max-width: 767px) {
    .p-company__location--col2__address {
      order: 2;
      width: 100%; } }
  .p-company__location--col2__address h3 {
    font-size: 1.467em;
    margin: 0 0 30px;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      .p-company__location--col2__address h3 {
        font-size: 1em;
        margin: 0 0 15px; } }
  .p-company__location--col2__address .c-text {
    letter-spacing: 0.06em; }
    .p-company__location--col2__address .c-text span {
      display: block;
      margin: 0 0 4px; }
  .p-company__location--col2__address .contact {
    margin: 20px 0 0; }
    @media screen and (max-width: 767px) {
      .p-company__location--col2__address .contact {
        margin: 10px 0 0;
        display: flex;
        justify-content: space-between;
        align-items: flex-end; } }
    .p-company__location--col2__address .contact-in {
      display: block;
      letter-spacing: 0.06em; }
      .p-company__location--col2__address .contact-in:first-of-type {
        margin: 0 0 7px; }
      .p-company__location--col2__address .contact-in a {
        font-size: 1.2em; }
  @media screen and (min-width: 768px), print {
    .p-company__location--col2 .img {
      width: 46.15%; } }
  @media screen and (max-width: 767px) {
    .p-company__location--col2 .img {
      order: 1;
      margin: 0 0 15px; } }

.p-company__message--col2 {
  margin: 0 0 30px;
  overflow: hidden; }
  .p-company__message--col2 .img {
    width: 25.7%;
    float: left;
    margin: 0 40px 20px 0; }
    @media screen and (max-width: 767px) {
      .p-company__message--col2 .img {
        width: 41%;
        margin: 0 30px 20px 0; } }

.p-company__message__text .c-text {
  line-height: 2;
  margin: 0 0 30px; }
  .p-company__message__text .c-text:last-of-type {
    margin: 0; }
  @media screen and (max-width: 767px) {
    .p-company__message__text .c-text {
      font-size: 0.933em;
      margin: 0 0 30px; }
      .p-company__message__text .c-text:last-of-type {
        margin: 0; } }

.p-company__message__text .signature {
  margin: 50px 0 0;
  font-size: 0.933em; }
  @media screen and (max-width: 767px) {
    .p-company__message__text .signature {
      margin: 0; } }

.p-company__history {
  position: relative; }
  .p-company__history:before {
    position: absolute;
    content: '';
    border-right: 1px dotted #707070;
    height: 93%;
    top: 38px;
    left: 143px; }
    @media screen and (max-width: 767px) {
      .p-company__history:before {
        top: 23px;
        left: 10px;
        height: 92%; } }
  .p-company__history__year {
    display: flex;
    padding: 22px 30px 26px;
    align-items: baseline; }
    @media screen and (max-width: 767px) {
      .p-company__history__year {
        display: block;
        padding: 10px 10px 25px 24px; } }
    .p-company__history__year--bg-gray {
      background-color: #F8F8F8; }
    .p-company__history__year .year {
      font-size: 2em;
      max-width: 115px;
      width: 100%;
      position: relative; }
      .p-company__history__year .year:after {
        position: absolute;
        content: '';
        width: 10px;
        height: 10px;
        background-size: 10px 10px;
        background-color: #fff;
        border: 1px solid #121212;
        border-radius: 50%;
        top: 15px;
        right: -4px; }
        @media screen and (max-width: 767px) {
          .p-company__history__year .year:after {
            width: 9px;
            height: 9px;
            background-size: 9px 9px;
            left: -18px;
            top: 9px; } }
      .p-company__history__year .year--first:after {
        width: 15px;
        height: 15px;
        background-size: 15px 15px;
        right: -6px; }
        @media screen and (max-width: 767px) {
          .p-company__history__year .year--first:after {
            width: 9px;
            height: 9px;
            background-size: 9px 9px;
            left: -18px;
            top: 9px; } }
      @media screen and (max-width: 767px) {
        .p-company__history__year .year {
          font-size: 1.333em;
          margin: 0 0 15px; } }
    .p-company__history__year .events {
      padding: 0 0 0 37px;
      width: 100%; }
      @media screen and (max-width: 767px) {
        .p-company__history__year .events {
          padding: 0; } }
      .p-company__history__year .events li {
        font-size: 0.933em;
        margin: 0 0 20px; }
        @media screen and (max-width: 767px) {
          .p-company__history__year .events li {
            display: flex;
            line-height: 1.4; } }
        .p-company__history__year .events li:last-child {
          margin: 0; }
        .p-company__history__year .events li span {
          display: inline-block;
          width: 10%; }
          @media screen and (max-width: 767px) {
            .p-company__history__year .events li span {
              width: 14%; } }

#page-load-animation {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  background: #121212;
  opacity: 1; }
  #page-load-animation .animation-lines {
    position: relative;
    display: flex;
    max-width: 1000px;
    justify-content: space-between;
    margin: 0 auto; }
    #page-load-animation .animation-lines .line {
      position: relative;
      top: -855px; }
      @media screen and (max-height: 860px) {
        #page-load-animation .animation-lines .line {
          top: -1000px; } }
  #page-load-animation .animation-title {
    text-align: center;
    color: #fff;
    position: relative;
    top: 15vh;
    opacity: 0; }
    @media screen and (max-height: 860px) {
      #page-load-animation .animation-title {
        top: 50px; } }
    #page-load-animation .animation-title .animation-logo {
      text-align: center;
      margin: 0 auto 32px; }
    #page-load-animation .animation-title .animation-subtitle {
      font-size: 2.267em;
      letter-spacing: 0.3em;
      display: inline-block; }
  #page-load-animation .animation-images {
    height: 100vh;
    width: 100%;
    display: flex;
    position: absolute;
    top: 0; }
    #page-load-animation .animation-images .image {
      background-color: #fff;
      width: 0%;
      background-position: center;
      background-size: cover;
      background-repeat: none;
      overflow: hidden; }
      #page-load-animation .animation-images .image-1 {
        background-image: url(../../images/top/mv_slider_01.jpg); }
      #page-load-animation .animation-images .image-2 {
        background-image: url(../../images/top/mv_slider_02.jpg); }
      #page-load-animation .animation-images .image-3 {
        background-image: url(../../images/top/mv_slider_03.jpg); }
      #page-load-animation .animation-images .image-4 {
        background-image: url(../../images/top/mv_slider_04.jpg); }
      #page-load-animation .animation-images .image-5 {
        background-image: url(../../images/top/mv_slider_05.jpg); }
      #page-load-animation .animation-images .image-content {
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        color: #fff;
        background-color: rgba(0, 0, 0, 0.5);
        padding: calc(20vh + 90px) 0 0 0; }
        #page-load-animation .animation-images .image-content h2 {
          font-size: 2em;
          letter-spacing: 0.06em;
          text-align: center;
          line-height: 1.2; }
          @media screen and (max-height: 860px) {
            #page-load-animation .animation-images .image-content h2 {
              font-size: 1.6em; } }
          #page-load-animation .animation-images .image-content h2 .subtitle {
            display: block;
            font-size: 0.8em;
            margin: 44px 0 0 0; }
            @media screen and (max-height: 860px) {
              #page-load-animation .animation-images .image-content h2 .subtitle {
                margin: 20px 0 0 0; } }
  @media screen and (max-width: 767px) {
    #page-load-animation {
      display: none; } }

@media screen and (min-width: 768px), print {
  #page-load-animation-sp {
    display: none; } }

@media screen and (max-width: 767px) {
  #page-load-animation-sp {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 99;
    overflow: hidden;
    background-color: #121212;
    opacity: 1; }
    #page-load-animation-sp .animation-title-sp {
      text-align: center;
      color: #fff;
      position: relative; }
      #page-load-animation-sp .animation-title-sp .animation-logo-sp {
        width: 75%;
        text-align: center;
        margin: 0 auto 16px;
        opacity: 0; }
      #page-load-animation-sp .animation-title-sp .animation-subtitle-sp {
        font-size: 1.2em;
        letter-spacing: 0.3em;
        display: inline-block;
        opacity: 0; }
        #page-load-animation-sp .animation-title-sp .animation-subtitle-sp .letter {
          opacity: 0; } }

@media screen and (min-width: 768px), print {
  .l-top__mv {
    padding: 90px 0 0 0;
    height: calc(100vh - 90px); } }

.l-top__mv--hover-slider {
  display: flex;
  flex-direction: row;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .l-top__mv--hover-slider {
      display: none; } }
  .l-top__mv--hover-slider .mv-slide {
    width: 25%;
    height: calc(100vh - 90px);
    background-position: center;
    background-size: cover;
    background-repeat: none;
    transition: all 1.5s ease;
    overflow: hidden; }
    .l-top__mv--hover-slider .mv-slide__karuizawa {
      background-image: url(../img/top/mv_slider_01.jpg); }
      .l-top__mv--hover-slider .mv-slide__karuizawa a h2 .subtitle {
        margin: 30px 0 0; }
    .l-top__mv--hover-slider .mv-slide__shonan {
      background-image: url(../img/top/mv_slider_02.jpg); }
      .l-top__mv--hover-slider .mv-slide__shonan a h2 .subtitle {
        margin: 30px 0 0; }
    .l-top__mv--hover-slider .mv-slide__real-estate {
      background-image: url(../img/top/mv_slider_03.jpg); }
    .l-top__mv--hover-slider .mv-slide__hotel {
      background-image: url(../img/top/mv_slider_04.jpg); }
    .l-top__mv--hover-slider .mv-slide__company {
      background-image: url(../img/top/mv_slider_05.jpg); }
    .l-top__mv--hover-slider .mv-slide a {
      height: 100%;
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #fff;
      background-color: rgba(0, 0, 0, 0.2);
      padding: 20vh 0 0 0; }
      .l-top__mv--hover-slider .mv-slide a h2 {
        font-size: 2em;
        letter-spacing: 0.06em;
        text-align: center;
        line-height: 1.2; }
        @media screen and (max-height: 860px) {
          .l-top__mv--hover-slider .mv-slide a h2 {
            font-size: 1.6em; } }
        .l-top__mv--hover-slider .mv-slide a h2 .subtitle {
          display: block;
          font-size: 0.8em;
          margin: 44px 0 0 0; }
          @media screen and (max-height: 860px) {
            .l-top__mv--hover-slider .mv-slide a h2 .subtitle {
              margin: 20px 0 0 0; } }
      .l-top__mv--hover-slider .mv-slide a .c-text {
        opacity: 0; }
  .l-top__mv--hover-slider .unhovered {
    border-left: 2px solid #fff;
    border-right: 2px slid #fff; }
    .l-top__mv--hover-slider .unhovered a .service-name {
      display: none; }
  .l-top__mv--hover-slider .hovered {
    border-left: 2px solid #fff;
    width: 450%; }


	.l-top__mv--hover-slider .hovered a {
      background-color: rgba(0, 0, 0, 0.32);
      padding: 0;
      justify-content: center; }
	  
	  
	  
	  
      .l-top__mv--hover-slider .hovered a .service-name {
        display: block; }
      .l-top__mv--hover-slider .hovered a .c-text {
        margin: 60px 0 0;
        opacity: 1;
        position: relative; }
        @media screen and (max-height: 860px) {
          .l-top__mv--hover-slider .hovered a .c-text {
            margin: 20px 0 0;
            font-size: 0.8em; } }
        .l-top__mv--hover-slider .hovered a .c-text:after {
          position: absolute;
          content: '';
          width: 84px;
          height: 8px;
          background-size: 84px 7px;
          background-image: url(../../images/common/ico_long_arrow_white.svg);
          bottom: -60px;
          left: calc(50% - 42px); }
          @media screen and (max-height: 860px) {
            .l-top__mv--hover-slider .hovered a .c-text:after {
              bottom: -30px; } }
      @media screen and (max-height: 860px) {
        .l-top__mv--hover-slider .hovered a {
          padding: 0;
          justify-content: center; } }
  .l-top__mv--hover-slider .mv-slide__karuizawa.unhovered {
    border-left: none; }
  .l-top__mv--hover-slider .mv-slide__karuizawa.hovered {
    border-left: none; }

.p-top h3 {
  font-size: 2.267em;
  margin: 0 0 20px;
  letter-spacing: 0.02em; }
  .p-top h3 .subtitle {
    font-size: 0.588em;
    display: block;
    margin: 14px 0 0 0;
    letter-spacing: 0.06em; }
  @media screen and (max-width: 767px) {
    .p-top h3 {
      font-size: 2em;
      margin: 0 0 30px; }
      .p-top h3 .subtitle {
        font-size: 0.6em;
        margin: 10px 0 0; } }

.p-top .p-top__recruit--title {
  letter-spacing: 0.1em; }
  @media screen and (max-width: 767px) {
    .p-top .p-top__recruit--title {
      margin: 0 0 15px; } }

.p-top__blog {
  width: 100%;
  background-color: #F8F8F8; }
  @media screen and (min-width: 768px), print {
    .p-top__blog {
      margin-top: -50px;
      padding: 80px 0 100px; } }
  @media screen and (max-width: 767px) {
    .p-top__blog {
      margin-top: -70px;
      padding: 60px 4%; } }
  .p-top__blog__title {
    font-size: 22px;
    letter-spacing: 0.1em;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .p-top__blog__title {
        text-align: center; } }
    .p-top__blog__title span {
      font-size: 30px; }
  .p-top__blog__list {
    margin-top: 40px; }
    @media screen and (min-width: 768px), print {
      .p-top__blog__list {
        display: flex;
        justify-content: space-between; } }
    @media screen and (max-width: 767px) {
      .p-top__blog__list.l-main__content--slim {
        padding: 0 4% !important; } }
    @media screen and (min-width: 768px), print {
      .p-top__blog__list__item {
        width: 32.4%; }
        .p-top__blog__list__item a:hover .p-top__blog__list__title {
          text-decoration: underline; } }
    @media screen and (max-width: 767px) {
      .p-top__blog__list__item + .p-top__blog__list__item {
        margin-top: 30px; } }
    @media screen and (min-width: 768px), print {
      .p-top__blog__list__date {
        padding: 0 40px; } }
    @media screen and (max-width: 767px) {
      .p-top__blog__list__date {
        padding: 0 20px; } }
    .p-top__blog__list__date p {
      font-size: 0.75em;
      font-weight: 600;
      letter-spacing: .06em; }
    .p-top__blog__list__img {
      position: relative;
      width: 100%;
      margin-top: 10px;
      padding-top: 51.4285%; }
      .p-top__blog__list__img .img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; }
    .p-top__blog__list__body {
      position: relative;
      margin: -30px 20px 0;
      padding: 20px 20px 30px;
      background-color: #fff;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .p-top__blog__list__body {
          margin: -20px 20px 0;
          padding: 20px; } }
    .p-top__blog__list__category span {
      display: inline-block;
      color: #939393;
      font-size: 0.875em;
      letter-spacing: .04em; }
    .p-top__blog__list__title {
      margin-top: 24px;
      font-size: 0.938em;
      line-height: 1.73; }
  .p-top__blog .c-btn {
    text-align: center; }
    @media screen and (min-width: 768px), print {
      .p-top__blog .c-btn {
        margin: 60px 0 0; } }
    @media screen and (max-width: 767px) {
      .p-top__blog .c-btn {
        margin: 40px 0 0 !important; } }
    .p-top__blog .c-btn a {
      background-color: #fff; }
      @media screen and (min-width: 768px), print {
        .p-top__blog .c-btn a:hover {
          background-color: #222222; } }
      @media screen and (max-width: 767px) {
        .p-top__blog .c-btn a {
          max-width: 220px; } }

@media screen and (min-width: 768px), print {
  .p-top__service {
    margin-top: 120px; } }

@media screen and (max-width: 767px) {
  .p-top__service {
    margin-top: 60px; } }

.p-top__service--title {
  font-size: 2em;
  text-align: center;
  margin: 0 0 100px;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 767px) {
    .p-top__service--title {
      margin: 0 0 20px; } }

.p-top__service--col2 {
  display: flex;
  align-items: center;
  margin: 0 0 140px; }
  @media screen and (max-width: 767px) {
    .p-top__service--col2 {
      display: block;
      margin: 0 0 60px;
      padding: 0 4% 0 0; } }
  .p-top__service--col2 .img {
    margin: 0 0 30px; }
    @media screen and (min-width: 768px), print {
      .p-top__service--col2 .img {
        width: 46.29%;
        margin: 0 70px 0 0; } }
  @media screen and (min-width: 768px), print {
    .p-top__service--col2-in {
      width: 44.44%; } }
  .p-top__service--col2-in .catchphrase {
    font-size: 1.6em;
    line-height: 1.3;
    margin: 0 0 30px; }
    @media screen and (max-width: 767px) {
      .p-top__service--col2-in .catchphrase {
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
        font-size: 1.267em;
        margin: 0 0 25px; } }
  .p-top__service--col2--last {
    margin: 0; }

.p-top__service__eatery {
  margin: 64px 0 140px 0; }
  @media screen and (max-width: 767px) {
    .p-top__service__eatery {
      margin: 65px 0 60px 0;
      padding: 0 4% 0 0; } }

.p-top__service__real-estate {
  margin: 64px 0 140px 0; }
  @media screen and (max-width: 767px) {
    .p-top__service__real-estate {
      margin: 65px 0 60px 0; } }
  .p-top__service__real-estate .c-btn {
    margin: 84px 0 0; }
    @media screen and (max-width: 767px) {
      .p-top__service__real-estate .c-btn {
        padding: 0 4% 0 0; } }
  .p-top__service__real-estate h3 {
    position: relative;
    margin: 0 0 34px; }
    @media screen and (max-width: 767px) {
      .p-top__service__real-estate h3 {
        font-size: 1.667em;
        margin: 0 0 30px; } }
    .p-top__service__real-estate h3:after {
      position: absolute;
      content: '';
      width: 105px;
      height: 37px;
      background-size: 105px 37px;
      background-image: url(../../images/top/for_sale.svg);
      bottom: -5px;
      left: 211px; }
      @media screen and (max-width: 767px) {
        .p-top__service__real-estate h3:after {
          left: 162px; } }
  @media screen and (max-width: 767px) {
    .p-top__service__real-estate .c-property-list {
      overflow: scroll;
      padding: 0 4% 0 0; }
      .p-top__service__real-estate .c-property-list li {
        min-width: 235px; }
        .p-top__service__real-estate .c-property-list li:last-child {
          margin: 0 4% 0 0; } }
    @media screen and (max-width: 767px) and (max-width: 767px) {
      .p-top__service__real-estate .c-property-list li a .property-name {
        margin: 15px 0; } }

.p-top__voice {
  margin: 160px 0 0;
  background-color: #F8F8F8;
  padding: 60px 0; }
  @media screen and (max-width: 767px) {
    .p-top__voice {
      margin: 60px 0 0;
      padding: 30px 0; } }
  .p-top__voice .c-text {
    letter-spacing: 0.04em; }
    @media screen and (max-width: 767px) {
      .p-top__voice .c-text {
        font-size: 0.875em;
        line-height: 1.7; } }
  .p-top__voice--inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 767px) {
      .p-top__voice--inner {
        padding: 0 12%; } }
    .p-top__voice--inner h3 {
      max-width: 800px;
      margin: 0 auto 40px; }
      @media screen and (min-width: 768px) and (max-width: 1300px) {
        .p-top__voice--inner h3 {
          max-width: 750px; } }
  .p-top__voice__owner {
    margin: 20px 0 0; }
    .p-top__voice__owner .name {
      font-size: 0.867em;
      line-height: 1.8; }
  @media screen and (min-width: 768px), print {
    .p-top__voice .slick-slider .slick-slide {
      max-width: 990px;
      width: 100% !important;
      padding: 0 95px; }
      .p-top__voice .slick-slider .slick-slide .p-top__voice--slider-in {
        opacity: 0.5; } }
  @media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1300px) {
    .p-top__voice .slick-slider .slick-slide {
      max-width: 890px;
      padding: 0 70px; } }
  @media screen and (min-width: 768px), print {
    .p-top__voice .slick-current .p-top__voice--slider-in {
      opacity: 1 !important; } }

.p-top__recruit {
  margin: 160px auto 0; }
  @media screen and (max-width: 767px) {
    .p-top__recruit {
      margin: 60px auto 0;
      width: 92%;
      padding: 20px 20px 15px !important;
      border: 1px solid #CCCCCC; } }
  .p-top__recruit--title .red {
    color: #E23A23; }
  .p-top__recruit--col2 {
    border: 1px solid #CCCCCC;
    padding: 8px 68px 8px 70px; }
    @media screen and (min-width: 768px), print {
      .p-top__recruit--col2 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        transition: all 0.3s ease; }
        .p-top__recruit--col2:after {
          position: absolute;
          content: '';
          width: 14px;
          height: 11px;
          background-size: 14px 11px;
          background-image: url(../../images/common/ico_arrow_black_right.svg);
          right: 20px;
          top: 115px;
          transition: all 0.3s ease; }
        .p-top__recruit--col2:hover {
          border: 1px solid #121212; }
          .p-top__recruit--col2:hover:after {
            right: 13px; }
        .p-top__recruit--col2 .img {
          width: 42.554%; }
        .p-top__recruit--col2 .p-top__recruit__content {
          width: 49%; } }
    @media screen and (max-width: 767px) {
      .p-top__recruit--col2 {
        border: none; } }
  .p-top__recruit__content .c-text {
    letter-spacing: 0.06em;
    line-height: 1.7; }
    @media screen and (max-width: 767px) {
      .p-top__recruit__content .c-text {
        line-height: 1.4;
        margin: 0 0 15px; } }

.p-top__sp-mv {
  padding: 50px 0 0; }
  .p-top__sp-mv--link-title {
    font-size: 1.2em;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff; }
    .p-top__sp-mv--link-title .subtitle {
      font-size: 0.778em;
      display: block;
      letter-spacing: 0.03em; }
  .p-top__sp-mv--links-list li {
    border-bottom: 2px solid #fff; }
    .p-top__sp-mv--links-list li:last-child {
      border-bottom: none; }
    .p-top__sp-mv--links-list li a {
      display: block;
      width: 100%;
      height: 123px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-size: cover;
      background-position: center; }
  .p-top__sp-mv--links-list__karuizawa a {
    background-image: url(../../images/top/top_mv_sp01.jpg); }
  .p-top__sp-mv--links-list__shonan a {
    background-image: url(../../images/top/top_mv_sp02.jpg); }
  .p-top__sp-mv--links-list__real-estate a {
    background-image: url(../../images/top/top_mv_sp03.jpg); }
  .p-top__sp-mv--links-list__hotel a {
    background-image: url(../../images/top/top_mv_sp04.jpg); }
  .p-top__sp-mv--links-list__company a {
    background-image: url(../../images/top/top_mv_sp05.jpg); }

@media screen and (max-width: 767px) {
  .p-top .c-btn {
    margin: 30px 0 0; } }

@media screen and (max-width: 767px) {
  #page-home {
    opacity: 1 !important; } }

@media screen and (max-width: 767px) {
  #page-home .l-main__content--slim {
    padding: 0 0 0 4%; } }

#page-home .direction-change {
  transform: rotate(90deg);
  display: block; }

#page-home .mrgn-space {
  margin: 0 0 7px;
  display: inline-block; }

#page-recruit #main .clearfix:after {
  visibility: hidden;
  clear: both;
  display: block;
  content: " ";
  height: 0;
  font-size: 0; }

#page-recruit #main .area-wrapper {
  position: relative;
  margin: 0 auto;
  width: 960px;
  box-sizing: border-box; }

#page-recruit #main .ttl-sec {
  margin: 0 0 48px 0;
  text-align: center; }
  #page-recruit #main .ttl-sec h2 {
    margin: 0 0 4px 0;
    font-size: 46px;
    letter-spacing: .08em; }
    #page-recruit #main .ttl-sec h2 span {
      color: #e23a23; }

#page-recruit #main .nav a {
  position: relative;
  display: block;
  padding: 12px 0;
  width: 210px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-bottom: 2px solid #121212; }
  #page-recruit #main .nav a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    background-image: url(../../images/recruit/ico_arrow_black.svg);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -8px; }
  #page-recruit #main .nav a:hover {
    opacity: .8; }

#page-recruit #main .nav-red a {
  color: #e23a23; }
  #page-recruit #main .nav-red a:after {
    background-image: url(../../images/recruit/ico_arrow_red.svg); }

#page-recruit #main .area-intro {
  padding: 140px 0 60px;
  background: #eae0d6; }
  #page-recruit #main .area-intro .ttl-intro {
    margin: 0 0 24px 0;
    text-align: center; }
    #page-recruit #main .area-intro .ttl-intro h1 {
      margin: 0 0 4px 0;
      font-size: 100px;
      letter-spacing: .12em; }
      #page-recruit #main .area-intro .ttl-intro h1 span {
        color: #e23a23; }
    #page-recruit #main .area-intro .ttl-intro p {
      font-size: 16px;
      letter-spacing: .06em; }
  #page-recruit #main .area-intro .txt-intro-copy {
    position: relative;
    max-width: 1200px;
    margin: 0 auto 40px;
    height: 580px;
    background: url(../../images/recruit/bg_intro_copy.png) center center no-repeat;
    background-size: cover; }
    #page-recruit #main .area-intro .txt-intro-copy img {
      position: absolute;
      top: 224px;
      left: 50%;
      margin: 0 0 0 -214px; }
  #page-recruit #main .area-intro .txt-intro {
    margin: 0 0 56px 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 2;
    text-align: center;
    letter-spacing: .12em; }
  #page-recruit #main .area-intro .nav-intro ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    #page-recruit #main .area-intro .nav-intro ul li + li {
      margin-left: 8px; }

#page-recruit #main .area-company {
  padding: 80px 0;
  background: #f2f0ed; }
  @media screen and (min-width: 768px), print {
    #page-recruit #main .area-company .area-wrapper {
      width: 840px; } }
  #page-recruit #main .area-company .area-philosophy {
    margin: 0 0 70px 0;
    text-align: center; }
    #page-recruit #main .area-company .area-philosophy-title {
      position: relative;
      margin: 0 0 16px 0;
      overflow: hidden;
      z-index: 1; }
    #page-recruit #main .area-company .area-philosophy h3 {
      display: inline-block;
      padding: 0 24px;
      color: #e23a23;
      font-size: 16px;
      font-weight: 600;
      background-color: #f2f0ed; }
      #page-recruit #main .area-company .area-philosophy h3 span {
        font-size: 24px;
        font-weight: normal;
        letter-spacing: .08em; }
    #page-recruit #main .area-company .area-philosophy p {
      position: relative;
      border: 3px solid #222;
      margin-top: -27px;
      padding: 36px 0;
      font-size: 25px;
      font-weight: 600; }
      #page-recruit #main .area-company .area-philosophy p:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 0;
        border: 10px solid transparent;
        border-top: 10px solid #e23a23;
        border-left: 10px solid #e23a23; }
      #page-recruit #main .area-company .area-philosophy p:after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border: 10px solid transparent;
        border-right: 10px solid #e23a23;
        border-bottom: 10px solid #e23a23; }
  #page-recruit #main .area-company .area-mind h3 {
    margin: 0 0 40px 0;
    color: #e23a23;
    font-size: 21px;
    font-weight: 600;
    text-align: center;
    letter-spacing: .09em; }
  #page-recruit #main .area-company .area-mind .list-mind section {
    margin: 40px 0 0 0; }
    #page-recruit #main .area-company .area-mind .list-mind section:fist-child {
      margin: 0; }
    #page-recruit #main .area-company .area-mind .list-mind section h4 {
      margin: 0 0 16px 0;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: .06em; }
    #page-recruit #main .area-company .area-mind .list-mind section p {
      line-height: 1.7;
      letter-spacing: .06em; }

#page-recruit #main .area-work {
  padding: 60px 0 120px;
  background: #eae0d6; }
  #page-recruit #main .area-work .area-wrapper {
    width: 1080px; }
  #page-recruit #main .area-work .txt-work {
    margin: 0 0 56px 0;
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
    letter-spacing: .08em; }
  #page-recruit #main .area-work .list-work-item {
    background: #f0ede8; }
    @media screen and (min-width: 768px), print {
      #page-recruit #main .area-work .list-work-item {
        display: flex;
        justify-content: space-between;
        margin: 40px 0 0 0;
        padding: 40px; } }
    @media screen and (max-width: 767px) {
      #page-recruit #main .area-work .list-work-item {
        margin: 24px 0 0 0;
        padding: 30px 20px 40px 20px; } }
    #page-recruit #main .area-work .list-work-item:first-child {
      margin: 0; }
    #page-recruit #main .area-work .list-work-item .img {
      position: relative; }
      @media screen and (min-width: 768px), print {
        #page-recruit #main .area-work .list-work-item .img {
          width: 320px; } }
      #page-recruit #main .area-work .list-work-item .img .head {
        position: absolute;
        top: -10px;
        left: -10px;
        display: inline-block;
        margin: 0 32px 0 0;
        width: 72px;
        height: 72px;
        background: #e23a23;
        color: #fff;
        font-weight: normal;
        text-align: center;
        vertical-align: middle; }
        @media screen and (max-width: 767px) {
          #page-recruit #main .area-work .list-work-item .img .head {
            width: 45px;
            height: 45px;
            top: -10px;
            left: -10px; } }
        #page-recruit #main .area-work .list-work-item .img .head:after {
          content: "";
          position: absolute;
          top: 32px;
          left: 50%;
          margin: 0 0 0 -8px;
          width: 16px;
          height: 2px;
          background: #f1caca; }
          @media screen and (max-width: 767px) {
            #page-recruit #main .area-work .list-work-item .img .head:after {
              top: 22px;
              margin: 0 0 0 -7px;
              width: 14px; } }
        #page-recruit #main .area-work .list-work-item .img .head .label {
          display: block;
          position: absolute;
          top: 12px;
          width: 100%;
          font-size: 12px;
          text-align: center; }
          @media screen and (max-width: 767px) {
            #page-recruit #main .area-work .list-work-item .img .head .label {
              top: 10px;
              font-size: 10px; } }
        #page-recruit #main .area-work .list-work-item .img .head .num {
          display: block;
          position: absolute;
          bottom: 5px;
          width: 100%;
          font-size: 26px;
          text-align: center; }
          @media screen and (max-width: 767px) {
            #page-recruit #main .area-work .list-work-item .img .head .num {
              bottom: 1px;
              font-size: 17px; } }
    @media screen and (min-width: 768px), print {
      #page-recruit #main .area-work .list-work-item .content {
        width: 640px; } }
    @media screen and (max-width: 767px) {
      #page-recruit #main .area-work .list-work-item .content {
        margin-top: 30px; } }
    #page-recruit #main .area-work .list-work-item h3 {
      margin: 0 0 24px 0;
      font-size: 20px;
      font-weight: 600;
      letter-spacing: .08em; }
    #page-recruit #main .area-work .list-work-item p {
      line-height: 1.6;
      letter-spacing: .04em; }
    #page-recruit #main .area-work .list-work-item ul {
      margin-top: 20px; }
      #page-recruit #main .area-work .list-work-item ul li {
        line-height: 1.7; }
        #page-recruit #main .area-work .list-work-item ul li::before {
          content: "";
          width: 8px;
          height: 8px;
          display: inline-block;
          background-color: #121212;
          position: relative;
          top: -1px;
          margin-right: 5px; }
      #page-recruit #main .area-work .list-work-item ul + p {
        margin-top: 20px; }
    #page-recruit #main .area-work .list-work-item h4 {
      margin-top: 20px;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: .04em;
      line-height: 1.7; }
      #page-recruit #main .area-work .list-work-item h4 + ul {
        margin-top: 0; }

#page-recruit #main .area-staff {
  position: relative;
  padding: 115px 0; }
  @media screen and (max-width: 767px) {
    #page-recruit #main .area-staff {
      padding: 62px 0; } }
  #page-recruit #main .area-staff .bg-photo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 230px;
    background: url(../../images/recruit/bg_staff_after.jpg) 0 0 repeat-x;
    -webkit-animation-name: repeatBg;
    -webkit-animation-timing-function: linear;
    -webkit-animation-duration: 40s;
    -webkit-animation-fill-mode: alternate;
    -webkit-animation-iteration-count: infinite;
    animation-name: repeatBg;
    animation-timing-function: linear;
    animation-duration: 40s;
    animation-fill-mode: alternate;
    animation-iteration-count: infinite; }
    @media screen and (max-width: 767px) {
      #page-recruit #main .area-staff .bg-photo {
        -webkit-animation-name: repeatBgSP;
        animation-name: repeatBgSP;
        height: 125px; } }

@-webkit-keyframes repeatBg {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2450px 0; } }

@keyframes repeatBg {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2450px 0; } }

@-webkit-keyframes repeatBgSP {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -1225px 0; } }

@keyframes repeatBgSP {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -1225px 0; } }

#page-recruit #main .area-message {
  padding: 0 0 120px 0;
  background: #eae0d6; }
  @media screen and (min-width: 768px), print {
    #page-recruit #main .area-message .area-wrapper {
      width: 1020px; } }
  #page-recruit #main .area-message .area-president {
    margin: 0 0 56px 0; }
    @media screen and (min-width: 768px), print {
      #page-recruit #main .area-message .area-president {
        display: flex;
        align-items: center;
        justify-content: space-between; } }
    @media screen and (min-width: 768px), print {
      #page-recruit #main .area-message .area-president .img {
        width: 412px; } }
    @media screen and (min-width: 768px), print {
      #page-recruit #main .area-message .area-president .body {
        width: 560px; } }
    @media screen and (max-width: 767px) {
      #page-recruit #main .area-message .area-president .body {
        margin-top: 30px; } }
    #page-recruit #main .area-message .area-president .body .txt-copy {
      color: #e23a23;
      font-size: 18px;
      font-weight: 600;
      line-height: 2.1; }
  #page-recruit #main .area-message .txt-message p {
    margin: 40px 0 0 0;
    letter-spacing: .04em;
    line-height: 2; }
    #page-recruit #main .area-message .txt-message p:first-child {
      margin: 0; }

#page-recruit #main .area-entry {
  padding: 120px 0 120px 0; }
  #page-recruit #main .area-entry .txt-entry {
    margin: 0 0 48px 0;
    line-height: 1.75;
    text-align: center;
    font-size: 16px;
    letter-spacing: .08em; }
  #page-recruit #main .area-entry .nav-entry ul {
    overflow: hidden;
    margin: 0 0 56px -12px; }
    #page-recruit #main .area-entry .nav-entry ul li {
      float: left;
      margin: 0 0 0 12px; }
    #page-recruit #main .area-entry .nav-entry ul .nav-red {
      width: 474px; }

#page-recruit #main .area-entry .tit-entry {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  margin: 0 0 80px; }
  #page-recruit #main .area-entry .tit-entry .logo {
    width: 460px; }

#page-recruit #main .area-entry .btn {
  position: relative;
  width: 420px;
  margin: 0 auto;
  text-align: center; }
  #page-recruit #main .area-entry .btn a {
    display: block;
    height: 56px;
    border: 2px solid #222;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 56px;
    text-align: center;
    text-decoration: none; }
    #page-recruit #main .area-entry .btn a:hover {
      background: #222;
      border: 1px solid #222;
      color: #fff; }
    #page-recruit #main .area-entry .btn a .ico-window {
      position: absolute;
      top: 22px;
      right: 16px;
      width: 12px;
      height: 12px;
      background: url(../../images/recruit/ico_window.png) 0 0 no-repeat; }
    #page-recruit #main .area-entry .btn a:hover .ico-window {
      background: url(../../images/recruit/ico_window_on.png) 0 0 no-repeat; }

#page-recruit #main .area-entry .area-carrer h3 {
  position: relative;
  margin: 0 0 32px 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center; }
  #page-recruit #main .area-entry .area-carrer h3:after {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #222; }
  #page-recruit #main .area-entry .area-carrer h3 span {
    position: relative;
    z-index: 20;
    padding: 0 16px;
    background: #fff; }

#page-recruit #main .area-entry .area-carrer .list-wantedly {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 40px; }
  #page-recruit #main .area-entry .area-carrer .list-wantedly li {
    width: 32%;
    margin: 0 0 40px; }

#page-recruit #main .area-entry .area-other h3 {
  position: relative;
  margin: 0 0 32px 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center; }
  #page-recruit #main .area-entry .area-other h3:after {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #222; }
  #page-recruit #main .area-entry .area-other h3 span {
    position: relative;
    z-index: 20;
    padding: 0 16px;
    background: #fff; }

#page-recruit #main .area-other .txt-other {
  margin: 0 0 48px 0;
  line-height: 1.75;
  text-align: center;
  font-size: 16px; }

@media only screen and (max-width: 768px) {
  #page-recruit #main .area-wrapper {
    margin: 0 10px;
    width: auto; }
  #page-recruit #main .ttl-sec {
    margin: 0 0 28px 0; }
    #page-recruit #main .ttl-sec h2 {
      margin: 0 0 8px 0;
      font-size: 30px; }
  #page-recruit #main .nav a {
    width: 100%;
    font-size: 12px; }
  #page-recruit #main .area-intro {
    padding: 60px 0 60px 0; }
    #page-recruit #main .area-intro .ttl-intro {
      margin: 0 0 24px 0;
      text-align: center; }
      #page-recruit #main .area-intro .ttl-intro h1 {
        margin: 0 0 8px 0;
        font-size: 60px; }
      #page-recruit #main .area-intro .ttl-intro p {
        font-size: 13px; }
    #page-recruit #main .area-intro .txt-intro-copy {
      margin: 0 15px 16px 15px;
      width: auto;
      height: 222px;
      background-size: cover; }
      #page-recruit #main .area-intro .txt-intro-copy:before {
        content: "";
        position: absolute;
        top: -8px;
        left: -8px;
        width: 48px;
        height: 48px;
        background: url(../../images/recruit/ico_intro_copy_mobile_tl.png) 0 0 no-repeat;
        background-size: 48px 48px; }
      #page-recruit #main .area-intro .txt-intro-copy:after {
        content: "";
        position: absolute;
        bottom: -8px;
        right: -8px;
        width: 48px;
        height: 48px;
        background: url(../../images/recruit/ico_intro_copy_mobile_br.png) 0 0 no-repeat;
        background-size: 48px 48px; }
      #page-recruit #main .area-intro .txt-intro-copy img {
        position: absolute;
        top: 65px;
        left: 36px;
        margin: 0;
        width: 80%; }
    #page-recruit #main .area-intro .txt-intro {
      margin: 0 0 32px 0;
      font-size: 13px;
      line-height: 1.53;
      text-align: left; }
    #page-recruit #main .area-intro .nav-intro ul {
      margin: -8px 0 0 0;
      justify-content: space-between; }
      #page-recruit #main .area-intro .nav-intro ul li {
        float: left;
        margin: 8px 0 0 0; }
        #page-recruit #main .area-intro .nav-intro ul li + li {
          margin: 8px 0 0 0; }
    #page-recruit #main .area-intro .nav-intro .nav-black {
      width: 48%;
      box-sizing: border-box; }
    #page-recruit #main .area-intro .nav-intro .nav-red {
      width: 48%; }
  #page-recruit #main .area-company {
    padding: 40px 0 60px 0; }
    #page-recruit #main .area-company .area-philosophy {
      margin: 0 0 56px 0; }
      #page-recruit #main .area-company .area-philosophy h3 {
        font-size: 12px; }
        #page-recruit #main .area-company .area-philosophy h3 span {
          font-size: 19px; }
      #page-recruit #main .area-company .area-philosophy p {
        border: 2px solid #222;
        padding: 24px 0 20px;
        font-size: 13px; }
        #page-recruit #main .area-company .area-philosophy p:before {
          border: 11px solid transparent;
          border-top: 11px solid #e23a23;
          border-left: 11px solid #e23a23; }
        #page-recruit #main .area-company .area-philosophy p:after {
          border: 11px solid transparent;
          border-right: 11px solid #e23a23;
          border-bottom: 11px solid #e23a23; }
    #page-recruit #main .area-company .area-mind h3 {
      margin: 0 0 20px 0;
      font-size: 14px; }
    #page-recruit #main .area-company .area-mind .list-mind section {
      margin: 24px 0 0 0; }
      #page-recruit #main .area-company .area-mind .list-mind section h4 {
        margin: 0 0 12px 0;
        font-size: 13px;
        line-height: 1.38; }
      #page-recruit #main .area-company .area-mind .list-mind section p {
        line-height: 1.53; }
  #page-recruit #main .area-work {
    padding: 40px 0 60px 0; }
    #page-recruit #main .area-work .area-wrapper {
      width: auto; }
    #page-recruit #main .area-work .txt-work {
      margin: 0 0 56px 0;
      font-size: 16px;
      line-height: 1.75;
      text-align: center; }
    #page-recruit #main .area-work .list-work section {
      margin: 24px 0 0 0;
      padding: 15px 10px 40px 10px; }
      #page-recruit #main .area-work .list-work section:first-child {
        margin: 0; }
      #page-recruit #main .area-work .list-work section .body {
        float: none;
        width: auto; }
      #page-recruit #main .area-work .list-work section .img-photo {
        float: none;
        margin: 0 auto 20px auto;
        width: 280px; }
      #page-recruit #main .area-work .list-work section h3 {
        margin: 0 0 18px 0;
        font-size: 15px; }
        #page-recruit #main .area-work .list-work section h3 .head {
          margin: 0 16px 0 0;
          width: 45px;
          height: 45px; }
          #page-recruit #main .area-work .list-work section h3 .head:after {
            top: 22px;
            margin: 0 0 0 -7px;
            width: 14px; }
          #page-recruit #main .area-work .list-work section h3 .head .label {
            top: 10px;
            font-size: 10px; }
          #page-recruit #main .area-work .list-work section h3 .head .num {
            bottom: 1px;
            font-size: 17px; }
      #page-recruit #main .area-work .list-work section p {
        line-height: 1.53; }
  #page-recruit #main .area-interview {
    padding: 40px 0 190px 0; }
    #page-recruit #main .area-interview .bg-photo {
      bottom: 40px;
      height: 115px;
      background-size: 1225px 115px; }
    #page-recruit #main .area-interview .area-staff {
      margin: 0 0 36px 0;
      padding: 0;
      min-height: inherit;
      background: none; }
      #page-recruit #main .area-interview .area-staff h3 {
        margin: 0 auto 32px auto;
        width: 80px;
        height: 80px;
        border: 1px solid #121212;
        border-radius: 40px;
        font-size: 10px; }
        #page-recruit #main .area-interview .area-staff h3 span {
          margin: 4px 0 0 0; }
        #page-recruit #main .area-interview .area-staff h3:before {
          bottom: -16px;
          left: 50%;
          margin: 0;
          width: 1px;
          height: 16px;
          background: #121212; }
        #page-recruit #main .area-interview .area-staff h3:after {
          bottom: -24px;
          margin: 0 0 0 -4px;
          width: 8px;
          height: 8px;
          border-radius: 4px; }
      #page-recruit #main .area-interview .area-staff .txt-staff {
        font-size: 13px;
        line-height: 1.53; }
    #page-recruit #main .area-interview .area-movie {
      padding: 40px 15px;
      width: auto; }
      #page-recruit #main .area-interview .area-movie h3 {
        margin: 0 0 32px 0;
        font-size: 22px; }
      #page-recruit #main .area-interview .area-movie .txt-movie {
        margin: 0 0 24px 0;
        line-height: 1.53; }
      #page-recruit #main .area-interview .area-movie .embed-youtube {
        margin: 0 0 8px 0;
        text-align: center; }
      #page-recruit #main .area-interview .area-movie .area-youtube-info p {
        float: none;
        margin: 0 0 16px 0;
        line-height: 1.53; }
      #page-recruit #main .area-interview .area-movie .area-youtube-info .btn-youtube {
        float: none;
        width: auto; }
        #page-recruit #main .area-interview .area-movie .area-youtube-info .btn-youtube a {
          display: block;
          width: 100%;
          font-size: 13px; }
          #page-recruit #main .area-interview .area-movie .area-youtube-info .btn-youtube a .ico-external-link {
            right: 10px;
            margin: -6px 0 0 0; }
          #page-recruit #main .area-interview .area-movie .area-youtube-info .btn-youtube a .ico-youtube {
            margin: -10px 0 0 -8em; }
  #page-recruit #main .area-message {
    padding: 40px 0 60px 0; }
    #page-recruit #main .area-message .area-president {
      margin: 0 0 40px 0; }
      #page-recruit #main .area-message .area-president .img-photo {
        float: none;
        margin: 0 auto 24px auto;
        width: 280px;
        text-align: center; }
      #page-recruit #main .area-message .area-president .body {
        float: none;
        width: auto; }
        #page-recruit #main .area-message .area-president .body .txt-copy {
          margin: 0 0 14px 0;
          font-size: 14px;
          line-height: 1.714; }
    #page-recruit #main .area-message .txt-message p {
      margin: 24px 0 0 0;
      line-height: 1.53; }
      #page-recruit #main .area-message .txt-message p:first-child {
        margin: 0; }
  #page-recruit #main .area-entry {
    padding: 40px 0 60px 0; }
    #page-recruit #main .area-entry .txt-entry {
      margin: 0 0 32px 0;
      line-height: 1.53;
      text-align: left;
      font-size: 13px; }
    #page-recruit #main .area-entry .nav-entry ul {
      margin: -8px 0 24px 0; }
      #page-recruit #main .area-entry .nav-entry ul li {
        float: none;
        margin: 8px 0 0 0; }
      #page-recruit #main .area-entry .nav-entry ul .nav-red {
        width: 100%; }
    #page-recruit #main .area-entry .area-other h3 {
      margin: 0 0 16px 0;
      font-size: 14px; }
      #page-recruit #main .area-entry .area-other h3:after {
        top: 6px;
        height: 1px; }
      #page-recruit #main .area-entry .area-other h3 span {
        padding: 0 8px; }
    #page-recruit #main .area-entry .area-other .nav-other ul {
      margin: -8px 0 0 0; }
      #page-recruit #main .area-entry .area-other .nav-other ul li {
        float: none;
        margin: 8px 0 0 0; }
      #page-recruit #main .area-entry .area-other .nav-other ul .nav-red {
        width: 100%; }
  #page-recruit #main .area-entry .tit-entry {
    display: block;
    margin: 0 0 40px; }
  #page-recruit #main .area-entry .tit-entry .logo {
    width: 100%;
    margin: 0 0 16px; }
  #page-recruit #main .area-entry .btn {
    position: relative;
    width: 100%; }
  #page-recruit #main .area-entry .btn a {
    display: block;
    height: 42px;
    border: 2px solid #222;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 42px;
    text-align: center;
    text-decoration: none; }
  #page-recruit #main .area-entry .btn a:hover {
    background: #222;
    border: 1px solid #222;
    color: #fff; }
  #page-recruit #main .area-entry .btn a .ico-window {
    position: absolute;
    top: 16px;
    right: 8px;
    width: 12px;
    height: 12px;
    background: url(../../images/recruit/ico_window.png) 0 0 no-repeat; }
  #page-recruit #main .area-entry .btn a:hover .ico-window {
    background: url(../../images/recruit/ico_window_on.png) 0 0 no-repeat; }
  #page-recruit #main .area-entry .area-carrer h3 {
    position: relative;
    margin: 0 0 32px 0;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  #page-recruit #main .area-entry .area-carrer h3:after {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #222; }
  #page-recruit #main .area-entry .area-carrer h3 span {
    position: relative;
    z-index: 20;
    padding: 0 16px;
    background: #fff; }
  #page-recruit #main .area-entry .area-carrer .list-wantedly {
    display: block; }
  #page-recruit #main .area-entry .area-carrer .list-wantedly li {
    width: 100%;
    margin: 0 0 24px; }
  #page-recruit #main .area-entry .area-carrer .list-wantedly li:nth-child(3n-1) {
    padding: 0; }
  #page-recruit #main .area-other .txt-other {
    margin: 0 0 48px 0;
    line-height: 1.75;
    text-align: left;
    font-size: 13px; } }

.p-real-estate__content .c-page__intro h2 {
  letter-spacing: 0.1em; }
  @media screen and (max-width: 767px) {
    .p-real-estate__content .c-page__intro h2 {
      font-size: 1.3em; } }

@media screen and (max-width: 767px) {
  .p-real-estate__content .c-page__intro .c-text--fts18 {
    font-size: 1em; } }

.p-real-estate--title {
  font-size: 1.33em;
  text-align: center;
  padding: 0 0 19px 0;
  border-bottom: 1px solid #121212;
  margin: 0 0 60px; }
  @media screen and (max-width: 767px) {
    .p-real-estate--title {
      font-size: 1.2em;
      padding: 0 0 10px;
      margin: 0 0 40px; } }
  .p-real-estate--title span {
    position: relative;
    padding: 0 0 0 92px; }
    .p-real-estate--title span:before {
      position: absolute;
      content: '';
      width: 71px;
      height: 23px;
      background-size: 71px 23px;
      background-image: url(../../images/real-estate/real-estate-flow.svg);
      left: 10px;
      top: -4px; }

.p-real-estate__flow {
  margin: 0 0 140px; }
  @media screen and (max-width: 767px) {
    .p-real-estate__flow {
      margin: 0 0 90px; } }
  .p-real-estate__flow .c-btn {
    margin: 80px 0 0; }
    @media screen and (max-width: 767px) {
      .p-real-estate__flow .c-btn {
        padding: 0 4%;
        margin: 40px 0 0; } }

@media screen and (max-width: 767px) {
  .p-real-estate__flowchart {
    padding: 0 4%; } }

.p-real-estate__property {
  background-color: #121212;
  margin: 0 0 204px;
  padding: 120px 0; }
  @media screen and (max-width: 767px) {
    .p-real-estate__property {
      background-color: #fff;
      padding: 0;
      margin: 0 0 90px; } }
  .p-real-estate__property--title {
    color: #fff;
    font-size: 2.267em;
    margin: 0 0 56px;
    letter-spacing: 0.02em; }
    .p-real-estate__property--title .title {
      position: relative;
      margin: 0 0 0 -105px; }
      .p-real-estate__property--title .title:after {
        position: absolute;
        content: '';
        width: 105px;
        height: 37px;
        background-size: 105px 37px;
        background-image: url(../../images/real-estate/for_sale_white.svg);
        right: -113px;
        top: 5px; }
        @media screen and (max-width: 767px) {
          .p-real-estate__property--title .title:after {
            top: -3px; } }
    @media screen and (max-width: 767px) {
      .p-real-estate__property--title {
        padding: 50px 4% 0;
        margin: 0 0 40px;
        font-size: 1.667em; } }
  .p-real-estate__property__title-area {
    text-align: center;
    margin: 0 0 60px; }
    @media screen and (max-width: 767px) {
      .p-real-estate__property__title-area {
        background-color: #121212;
        margin: 0; } }
    .p-real-estate__property__title-area h4 {
      color: #fff;
      font-size: 1.733em;
      letter-spacing: 0.1em;
      line-height: 1.4;
      margin: 0 0 50px; }
      @media screen and (max-width: 767px) {
        .p-real-estate__property__title-area h4 {
          margin: 0 0 40px;
          padding: 0 4%;
          font-size: 1.067em; } }
    .p-real-estate__property__title-area .c-text {
      color: #fff; }
      @media screen and (max-width: 767px) {
        .p-real-estate__property__title-area .c-text {
          padding: 40px 4% 0;
          background-color: #fff;
          color: #121212;
          text-align: left; } }
  .p-real-estate__property--bg-white {
    background-color: #fff;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 60px 104px; }
    @media screen and (max-width: 767px) {
      .p-real-estate__property--bg-white {
        padding: 0 4%;
        margin: 50px auto 0; } }
  .p-real-estate__property .c-property-list {
    flex-wrap: wrap; }
    .p-real-estate__property .c-property-list li {
      width: 23.5%;
      margin: 135px 13px 0 0; }
      .p-real-estate__property .c-property-list li:first-child {
        margin: 0 13px 0 0; }
      .p-real-estate__property .c-property-list li:nth-child(2) {
        margin: 0 13px 0 0; }
      .p-real-estate__property .c-property-list li:nth-child(3) {
        margin: 0 13px 0 0; }
      .p-real-estate__property .c-property-list li:nth-child(4) {
        margin: 0 !important; }
      .p-real-estate__property .c-property-list li:nth-child(4n) {
        margin: 135px 0 0; }
    @media screen and (max-width: 767px) {
      .p-real-estate__property .c-property-list {
        display: block; }
        .p-real-estate__property .c-property-list li {
          width: 100%;
          margin: 0 0 50px; }
          .p-real-estate__property .c-property-list li:first-child {
            margin: 0 0 50px; }
          .p-real-estate__property .c-property-list li:nth-child(2) {
            margin: 0 0 50px 0; }
          .p-real-estate__property .c-property-list li:nth-child(3) {
            margin: 0 0 50px 0; }
          .p-real-estate__property .c-property-list li:nth-child(4) {
            margin: 0 0 50px !important; }
          .p-real-estate__property .c-property-list li:nth-child(4n) {
            margin: 0 0 50px; }
          .p-real-estate__property .c-property-list li:last-of-type {
            margin: 0; }
          .p-real-estate__property .c-property-list li .property-name {
            font-size: 1.2em;
            margin: 0;
            padding: 15px 0;
            border-bottom: 2px dotted #E2E2E2; }
          .p-real-estate__property .c-property-list li .info {
            font-size: 0.933em;
            padding: 8px 0;
            margin: 0;
            border-bottom: 2px dotted #E2E2E2; } }

.p-real-estate__inspection--col2 {
  display: flex;
  align-items: center; }
  .p-real-estate__inspection--col2 .img {
    width: 46.29%;
    margin: 0 70px 0 0; }
  .p-real-estate__inspection--col2-in {
    width: 44.44%; }
    .p-real-estate__inspection--col2-in .catchphrase {
      font-size: 1.6em;
      line-height: 1.3;
      margin: 0 0 30px; }
    .p-real-estate__inspection--col2-in h3 {
      font-size: 2.267em;
      margin: 0 0 40px;
      letter-spacing: 0.02em; }
      .p-real-estate__inspection--col2-in h3 .subtitle {
        font-size: 0.588em;
        margin: 0 0 0 10px;
        letter-spacing: 0.06em; }
    .p-real-estate__inspection--col2-in h4 {
      font-size: 1.2em;
      margin: 60px 0 30px; }
    .p-real-estate__inspection--col2-in .c-text {
      letter-spacing: 0.04em; }
    .p-real-estate__inspection--col2-in .footnote {
      font-size: 0.933em;
      margin: 20px 0 0; }
    @media screen and (min-width: 768px), print {
      .p-real-estate__inspection--col2-in .c-btn a {
        max-width: 440px; } }
  @media screen and (max-width: 767px) {
    .p-real-estate__inspection--col2 {
      display: block; }
      .p-real-estate__inspection--col2 h3 {
        font-size: 2em;
        margin: 0 0 20px; }
        .p-real-estate__inspection--col2 h3 .subtitle {
          font-size: 0.567em;
          margin: 0 0 0 10px; }
      .p-real-estate__inspection--col2 .img {
        width: 100%;
        margin: 0 0 30px; }
      .p-real-estate__inspection--col2 .p-real-estate__inspection--col2-in {
        width: 100%; }
      .p-real-estate__inspection--col2 .c-btn a {
        line-height: 1.6; } }

.p-real-estate-detail .slick-slide:focus {
  outline: none; }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__content .l-main__content--slim {
    padding: 0; } }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__title {
    text-align: center; }
    .p-real-estate-detail__title h1 {
      max-width: 221px;
      margin: 0 auto; } }

@media screen and (min-width: 768px), print {
  .p-real-estate-detail__title p {
    margin-top: 12px;
    font-size: 1.33em;
    letter-spacing: .03em; } }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__title p {
    margin-top: 4px;
    font-size: 1em; } }

@media screen and (min-width: 768px), print {
  .p-real-estate-detail__mv {
    margin-top: 80px; } }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__mv {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #E2E2E2; } }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__mv__title {
    padding: 0 4%; } }

.p-real-estate-detail__mv__title h2 {
  font-size: 15px; }
  @media screen and (min-width: 768px), print {
    .p-real-estate-detail__mv__title h2 {
      display: flex;
      align-items: center; } }
  .p-real-estate-detail__mv__title h2 .c-tag {
    margin: 0 30px 0 0; }
  .p-real-estate-detail__mv__title h2 .ff-mincho {
    font-size: 1.867em;
    font-weight: 600;
    letter-spacing: .1em; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__mv__title h2 .ff-mincho {
        display: block;
        margin-top: 6px;
        font-size: 1.33em; } }

.p-real-estate-detail__mv__slide {
  margin-top: 30px; }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__mv__slide {
      margin-top: 16px; } }
  .p-real-estate-detail__mv__slide__count {
    display: flex;
    margin-top: 12px;
    font-size: 12px; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__mv__slide__count {
        padding: 0 4%; } }
    .p-real-estate-detail__mv__slide__count .ff-times {
      font-weight: 600; }
    .p-real-estate-detail__mv__slide__count p {
      margin-left: 16px;
      padding-left: 16px;
      border-left: 1px solid #ccc;
      order: 2; }
  .p-real-estate-detail__mv__slide__main {
    opacity: 0;
    transition: opacity .3s linear; }
    .p-real-estate-detail__mv__slide__main.slick-initialized, .p-real-estate-detail__mv__slide__main-noimage {
      opacity: 1; }
    .p-real-estate-detail__mv__slide__main__wrap {
      position: relative;
      overflow: hidden; }
    .p-real-estate-detail__mv__slide__main__item {
      position: relative;
      width: 100%;
      padding-top: 56.6666%; }
      .p-real-estate-detail__mv__slide__main__item__img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover; }
  .p-real-estate-detail__mv__slide__arrow {
    position: absolute;
    top: 0;
    z-index: 10;
    width: 44px;
    height: 100%; }
    @media screen and (min-width: 768px), print {
      .p-real-estate-detail__mv__slide__arrow {
        cursor: pointer; } }
    .p-real-estate-detail__mv__slide__arrow span {
      position: absolute;
      top: 50%;
      width: 44px;
      height: 70px;
      background-image: url(../../images/common/ico_arrow_white_right.svg);
      background-color: rgba(0, 0, 0, 0.6);
      background-position: center;
      background-repeat: no-repeat;
      margin-top: -22px; }
      @media screen and (max-width: 767px) {
        .p-real-estate-detail__mv__slide__arrow span {
          width: 25px;
          height: 45px;
          background-image: url(../../images/common/ico_arrow_small.svg); } }
    .p-real-estate-detail__mv__slide__arrow--right {
      right: 0; }
      .p-real-estate-detail__mv__slide__arrow--right span {
        right: 0; }
    .p-real-estate-detail__mv__slide__arrow--left {
      left: 0; }
      .p-real-estate-detail__mv__slide__arrow--left span {
        left: 0;
        transform: rotate(-180deg); }
  .p-real-estate-detail__mv__slide__thumb {
    opacity: 0;
    transition: opacity .3s linear;
    margin-top: 20px; }
    .p-real-estate-detail__mv__slide__thumb.slick-initialized {
      opacity: 1; }
    .p-real-estate-detail__mv__slide__thumb .slick-current {
      position: relative; }
      .p-real-estate-detail__mv__slide__thumb .slick-current .p-real-estate-detail__mv__slide__thumb__item {
        width: calc(100% - 4px) !important;
        height: calc(100% - 4px);
        top: 2px;
        right: 0;
        margin: 0 auto; }
    .p-real-estate-detail__mv__slide__thumb .slick-slide {
      max-width: 90px;
      min-width: 90px;
      margin-top: 2px;
      margin-right: 2px; }
      @media screen and (max-width: 767px) {
        .p-real-estate-detail__mv__slide__thumb .slick-slide {
          max-width: 60px;
          min-width: 60px; } }
      .p-real-estate-detail__mv__slide__thumb .slick-slide > div {
        position: relative;
        width: 100%;
        padding-top: 56.6666%;
        overflow: hidden; }
    .p-real-estate-detail__mv__slide__thumb__item {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      overflow: hidden; }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__mv__slide .slick-dots {
      display: none !important; } }

@media screen and (min-width: 768px), print {
  .p-real-estate-detail__col2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 60px; } }

@media screen and (max-width: 767px) {
  .p-real-estate-detail__col2 {
    margin-top: 50px;
    padding: 0 4%; } }

@media screen and (min-width: 768px), print {
  .p-real-estate-detail__text {
    width: 570px; } }

.p-real-estate-detail__text h3 {
  letter-spacing: .04em; }
  @media screen and (min-width: 768px), print {
    .p-real-estate-detail__text h3 {
      font-size: 1.33em;
      line-height: 1.8; } }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__text h3 {
      font-size: 1.2em;
      line-height: 1.6; } }

.p-real-estate-detail__text > p {
  font-size: 1.067em;
  letter-spacing: .04em;
  line-height: 1.8; }
  @media screen and (min-width: 768px), print {
    .p-real-estate-detail__text > p {
      margin-top: 20px; } }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__text > p {
      margin-top: 12px; } }

.p-real-estate-detail__property {
  margin-top: 30px; }
  .p-real-estate-detail__property > p {
    font-size: 1.067em;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.8; }
  .p-real-estate-detail__property__list {
    margin-top: 20px;
    border-bottom: 1px solid #ccc; }
    .p-real-estate-detail__property__list li {
      display: flex;
      letter-spacing: .02em;
      line-height: 1.6; }
  .p-real-estate-detail__property__title {
    width: 116px;
    padding: 12px 0;
    border-top: 1px solid #ccc; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__property__title {
        width: calc(175/670 * 100%); } }
    .p-real-estate-detail__property__title p {
      font-weight: 600; }
  .p-real-estate-detail__property__body {
    width: 454px;
    padding: 12px 24px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__property__body {
        width: calc(495/670 * 100%); } }

.p-real-estate-detail__feature {
  margin-top: 60px; }
  .p-real-estate-detail__feature p {
    font-weight: 600; }
  .p-real-estate-detail__feature__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px; }
    .p-real-estate-detail__feature__list__item {
      margin-top: 40px;
      text-align: center; }
      @media screen and (min-width: 768px), print {
        .p-real-estate-detail__feature__list__item {
          max-width: 94px;
          width: 100%; }
          .p-real-estate-detail__feature__list__item:nth-of-type(6n+1) .p-real-estate-detail__feature__list__item__img {
            border-left: none; } }
      @media screen and (max-width: 767px) {
        .p-real-estate-detail__feature__list__item {
          width: 25%; }
          .p-real-estate-detail__feature__list__item:nth-of-type(4n+1) .p-real-estate-detail__feature__list__item__img {
            border-left: none; } }
      .p-real-estate-detail__feature__list__item__img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 50px;
        border-left: 1px solid #E2E2E2; }
      .p-real-estate-detail__feature__list__item__ico {
        display: inline-block;
        width: 100%;
        height: 100%;
        background-position: center center;
        background-repeat: no-repeat; }
        .p-real-estate-detail__feature__list__item__ico1 {
          background-image: url(../../images/real-estate/detail/ico_feature1.svg); }
        .p-real-estate-detail__feature__list__item__ico2 {
          background-image: url(../../images/real-estate/detail/ico_feature2.svg); }
        .p-real-estate-detail__feature__list__item__ico3 {
          background-image: url(../../images/real-estate/detail/ico_feature3.svg); }
        .p-real-estate-detail__feature__list__item__ico4 {
          background-image: url(../../images/real-estate/detail/ico_feature4.svg); }
        .p-real-estate-detail__feature__list__item__ico5 {
          background-image: url(../../images/real-estate/detail/ico_feature5.svg); }
        .p-real-estate-detail__feature__list__item__ico6 {
          background-image: url(../../images/real-estate/detail/ico_feature6.svg); }
        .p-real-estate-detail__feature__list__item__ico7 {
          background-image: url(../../images/real-estate/detail/ico_feature7.svg); }
        .p-real-estate-detail__feature__list__item__ico8 {
          background-image: url(../../images/real-estate/detail/ico_feature8.svg); }
        .p-real-estate-detail__feature__list__item__ico9 {
          background-image: url(../../images/real-estate/detail/ico_feature9.svg); }
        .p-real-estate-detail__feature__list__item__ico10 {
          background-image: url(../../images/real-estate/detail/ico_feature10.svg); }
        .p-real-estate-detail__feature__list__item__ico11 {
          background-image: url(../../images/real-estate/detail/ico_feature11.svg); }
        .p-real-estate-detail__feature__list__item__ico12 {
          background-image: url(../../images/real-estate/detail/ico_feature12.svg); }
        .p-real-estate-detail__feature__list__item__ico13 {
          background-image: url(../../images/real-estate/detail/ico_feature13.svg); }
        .p-real-estate-detail__feature__list__item__ico14 {
          background-image: url(../../images/real-estate/detail/ico_feature14.svg); }
        .p-real-estate-detail__feature__list__item__ico15 {
          background-image: url(../../images/real-estate/detail/ico_feature15.svg); }
        .p-real-estate-detail__feature__list__item__ico16 {
          background-image: url(../../images/real-estate/detail/ico_feature16.svg); }
        .p-real-estate-detail__feature__list__item__ico17 {
          background-image: url(../../images/real-estate/detail/ico_feature17.svg); }
        .p-real-estate-detail__feature__list__item__ico18 {
          background-image: url(../../images/real-estate/detail/ico_feature18.svg); }
      .p-real-estate-detail__feature__list__item__text {
        margin-top: 20px;
        font-size: 0.8em;
        line-height: 1.3; }

.p-real-estate-detail__form {
  background-color: #F8F8F8;
  border: 1px solid #E2E2E2; }
  @media screen and (min-width: 768px), print {
    .p-real-estate-detail__form {
      width: 450px;
      margin-top: 70px;
      padding: 30px;
      margin-left: 30px; } }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__form {
      margin-top: 50px;
      padding: 8% 4%; }
      .p-real-estate-detail__form__nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%; }
        .is-form .p-real-estate-detail__form__nav {
          display: none; }
        .p-real-estate-detail__form__nav a {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 20px 4%;
          background-color: #E23A23;
          color: #fff; } }
  .p-real-estate-detail__form__title {
    font-size: 1.333em; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__form__title {
        font-size: 1.2em; } }
  .p-real-estate-detail__form .wpcf7 {
    margin-top: 30px; }
  .p-real-estate-detail__form .wpcf7-dynamictext {
    pointer-events: none; }
  .p-real-estate-detail__form .ajax-loader {
    display: none !important; }
  .p-real-estate-detail__form .wpcf7c-conf {
    background-color: #f2f2f2; }
  .p-real-estate-detail__form .wpcf7-form-control-wrap.date-hope .wpcf7-not-valid-tip {
    display: none; }
  @media screen and (min-width: 768px), print {
    .p-real-estate-detail__form .wpcf7-form-control-wrap.date-hope_confirm .wpcf7-not-valid-tip {
      left: -428px; } }
  .p-real-estate-detail__form span.wpcf7-not-valid-tip {
    margin: 10px 0 0;
    color: #E23A23;
    font-weight: 600; }
    @media screen and (min-width: 768px), print {
      .p-real-estate-detail__form span.wpcf7-not-valid-tip {
        color: #fff;
        background-color: #B91600;
        position: absolute;
        padding: 10px 10px 10px 28px;
        border-radius: 4px;
        font-size: 0.933em;
        display: inline-block;
        z-index: 1;
        top: -19px;
        left: -251px;
        line-height: 1.3;
        right: 396px; }
        .p-real-estate-detail__form span.wpcf7-not-valid-tip:before {
          position: absolute;
          content: '';
          width: 14px;
          height: 13px;
          background-size: 14px 13px;
          background-image: url(../../images/common/ico_warning.svg);
          left: 10px;
          top: 12px; }
        .p-real-estate-detail__form span.wpcf7-not-valid-tip:after {
          position: absolute;
          content: '';
          width: 12px;
          height: 12px;
          background-size: 12px 12px;
          top: 11px;
          z-index: 0;
          right: -5px;
          background-color: #B91600;
          transform: rotate(45deg); } }
  .p-real-estate-detail__form div.wpcf7-validation-errors, .p-real-estate-detail__form div.wpcf7-acceptance-missing {
    margin: 20px 0 0;
    padding: 0;
    border: none;
    color: #E23A23;
    font-size: 0.933em; }
  .p-real-estate-detail__form div.wpcf7-mail-sent-ok {
    padding: 0;
    border: none;
    font-size: 0.933em; }
  .p-real-estate-detail__form .wpcf7-form .p-real-estate-detail__form__item-ok {
    display: none; }
    .p-real-estate-detail__form .wpcf7-form .p-real-estate-detail__form__item-ok .ff-mincho {
      margin-top: 20px;
      font-size: 18px; }
    .p-real-estate-detail__form .wpcf7-form .p-real-estate-detail__form__item-ok .text {
      margin-top: 20px;
      line-height: 2; }
  .p-real-estate-detail__form .wpcf7-form .wpcf7-response-output {
    display: none !important; }
  .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed {
    border-top: 1px solid #707070; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed input[type=radio] ~ .wpcf7-list-item-label {
      display: none; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed input[type=radio]:checked ~ .wpcf7-list-item-label {
      display: block; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed input[type=radio] {
      display: none; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-top: 12px !important;
      line-height: 1.5; }
      .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item textarea {
        min-height: auto;
        resize: none; }
      .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__title {
        width: calc(150/390 * 100%); }
        @media screen and (max-width: 767px) {
          .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__title {
            width: calc(190/390 * 100%); } }
        .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__title p {
          color: #777;
          font-size: 15px; }
          .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__title p span {
            display: none; }
      .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__body {
        width: calc(240/390 * 100%);
        margin-top: 0; }
        @media screen and (max-width: 767px) {
          .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__body {
            width: calc(200/390 * 100%); } }
        .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__body .wpcf7c-conf {
          background-color: transparent;
          border: none;
          font-size: 15px;
          pointer-events: none;
          padding: 0 !important; }
      .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__item .p-real-estate-detail__form__item__body-textarea {
        width: 100%;
        margin-top: 8px; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__col2 {
      display: block;
      margin-top: 0; }
      .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed .p-real-estate-detail__form__col2 .p-real-estate-detail__form__item {
        width: 100%; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed.sent .p-real-estate-detail__form__item,
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed.sent .p-real-estate-detail__form__item--button__wrap {
      display: none; }
    .p-real-estate-detail__form .wpcf7-form.custom-wpcf7c-confirmed.sent .p-real-estate-detail__form__item-ok {
      display: block; }
  .p-real-estate-detail__form__item ::-webkit-input-placeholder {
    font-weight: normal;
    color: #888; }
  .p-real-estate-detail__form__item ::-moz-placeholder {
    font-weight: normal;
    color: #888;
    opacity: 1; }
  .p-real-estate-detail__form__item :-ms-input-placeholder {
    font-weight: normal;
    color: #888; }
  .p-real-estate-detail__form__item ::placeholder {
    font-weight: normal;
    color: #888; }
  .p-real-estate-detail__form__item input,
  .p-real-estate-detail__form__item textarea {
    font-size: 1.067em;
    padding: 8px 10px;
    border: 1px solid #bbb; }
  .p-real-estate-detail__form__item textarea {
    line-height: 20px;
    min-height: 80px; }
  .p-real-estate-detail__form__item + .p-real-estate-detail__form__item {
    margin-top: 20px; }
    .p-real-estate-detail__form__item + .p-real-estate-detail__form__item input,
    .p-real-estate-detail__form__item + .p-real-estate-detail__form__item textarea {
      width: 100%; }
  .p-real-estate-detail__form__item--radio span.wpcf7-list-item {
    display: block;
    margin: 0;
    line-height: 2; }
  .p-real-estate-detail__form__item__title p {
    display: flex;
    align-items: center;
    letter-spacing: .02em; }
    .p-real-estate-detail__form__item__title p span {
      display: inline-block;
      margin: 0 0 0 8px;
      font-size: 0.8em;
      font-weight: 600;
      color: #E23A23; }
  .p-real-estate-detail__form__item__body {
    margin-top: 8px; }
  .p-real-estate-detail__form__item--button__wrap {
    margin-top: 30px; }
    .p-real-estate-detail__form__item--button__wrap .wpcf7-confirm,
    .p-real-estate-detail__form__item--button__wrap .wpcf7-submit {
      position: relative;
      width: 100%;
      padding: 16px 0;
      border: 1px solid #E23A23;
      background-color: #E23A23;
      font-size: 1.067em;
      font-weight: 600;
      color: #fff; }
      .p-real-estate-detail__form__item--button__wrap .wpcf7-confirm:after,
      .p-real-estate-detail__form__item--button__wrap .wpcf7-submit:after {
        position: absolute;
        content: '';
        width: 14px;
        height: 11px;
        background-size: 14px 11px;
        background-image: url(../../images/common/ico_arrow_white_right.svg);
        right: 20px;
        top: 50%;
        margin-top: -6px; }
    .p-real-estate-detail__form__item--button__wrap .wpcf7-back {
      width: 20%;
      text-decoration: underline;
      background-color: transparent;
      margin-bottom: 16px;
      text-align: left;
      font-size: 1em; }
      @media screen and (min-width: 768px), print {
        .p-real-estate-detail__form__item--button__wrap .wpcf7-back:hover {
          text-decoration: none; } }
    @media screen and (min-width: 768px), print {
      .p-real-estate-detail__form__item--button__wrap {
        transition: 0.3s all ease; }
        .p-real-estate-detail__form__item--button__wrap .wpcf7-confirm,
        .p-real-estate-detail__form__item--button__wrap .wpcf7-submit {
          transition: 0.3s all ease; }
          .p-real-estate-detail__form__item--button__wrap .wpcf7-confirm:hover,
          .p-real-estate-detail__form__item--button__wrap .wpcf7-submit:hover {
            color: #E23A23;
            background-color: #fff; }
            .p-real-estate-detail__form__item--button__wrap .wpcf7-confirm:hover:after,
            .p-real-estate-detail__form__item--button__wrap .wpcf7-submit:hover:after {
              background-image: url(../../images/common/ico_arrow_right_red.svg); } }
  .p-real-estate-detail__form__col2 {
    display: flex;
    justify-content: space-between;
    margin-top: 20px; }
    .p-real-estate-detail__form__col2 .p-real-estate-detail__form__item {
      width: 48%;
      margin-top: 0; }
      .p-real-estate-detail__form__col2 .p-real-estate-detail__form__item input,
      .p-real-estate-detail__form__col2 .p-real-estate-detail__form__item textarea {
        width: 100%; }

.p-real-estate-detail__etc {
  margin-top: 140px; }
  @media screen and (max-width: 767px) {
    .p-real-estate-detail__etc {
      margin-top: 100px; }
      .p-real-estate-detail__etc h3 {
        font-size: 1.33em;
        padding: 0 4%; } }
  .p-real-estate-detail__etc .c-property-list {
    margin-top: 30px; }
    .p-real-estate-detail__etc .c-property-list li {
      margin: 0;
      padding: 0 12px 0 0; }
      @media screen and (max-width: 767px) {
        .p-real-estate-detail__etc .c-property-list li {
          max-width: 164px;
          padding: 0; } }
      .p-real-estate-detail__etc .c-property-list li a .property-name {
        font-size: 0.933em; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__etc .c-property-list {
        padding: 0 0 0 4%; }
        .p-real-estate-detail__etc .c-property-list .slick-slide {
          margin: 0 8px 0 0; } }
  .p-real-estate-detail__etc .slider-controls {
    max-width: 100%; }
    @media screen and (max-width: 767px) {
      .p-real-estate-detail__etc .slider-controls {
        display: none; } }
    .p-real-estate-detail__etc .slider-controls li {
      top: 55px; }
    .p-real-estate-detail__etc .slider-controls .prev {
      left: -43px; }
    .p-real-estate-detail__etc .slider-controls .next {
      right: -30px; }

.p-sitemap {
  width: 960px;
  margin: 0 auto;
  padding: 105px 0; }
  @media screen and (max-width: 767px) {
    .p-sitemap {
      width: 100%;
      padding: 40px 4%; } }
  .p-sitemap__list {
    border-bottom: 1px solid #ccc; }
    .p-sitemap__list li {
      border-top: 1px solid #ccc; }
      .p-sitemap__list li:first-child {
        border-top: none; }
      .p-sitemap__list li a {
        position: relative;
        display: block;
        padding: 20px 0;
        text-decoration: none;
        letter-spacing: .04em; }
        .p-sitemap__list li a .ico {
          margin: 0 10px 0 0; }
        @media screen and (max-width: 767px) {
          .p-sitemap__list li a {
            line-height: 1.4;
            display: flex; }
            .p-sitemap__list li a .ico {
              top: 7px; } }
      .p-sitemap__list li ul {
        margin: 0 0 0 60px; }
        @media screen and (max-width: 767px) {
          .p-sitemap__list li ul {
            margin: 0 0 0 30px; } }

#page-blog #main .l-main__content {
  overflow: hidden; }

#page-blog #main .area-blog {
  margin: 0 auto;
  width: 960px; }
  #page-blog #main .area-blog .area-blog-main {
    float: right;
    width: 730px; }
    #page-blog #main .area-blog .area-blog-main .list-blog li {
      overflow: hidden;
      padding: 20px 0;
      border-bottom: 1px solid #ccc; }
      #page-blog #main .area-blog .area-blog-main .list-blog li:first-child {
        padding: 0 0 20px 0; }
      #page-blog #main .area-blog .area-blog-main .list-blog li .img-photo {
        float: left;
        width: 170px;
        height: 113px;
        overflow: hidden; }
      #page-blog #main .area-blog .area-blog-main .list-blog li .body {
        float: right;
        margin: 32px 0 0 0;
        width: 530px; }
        #page-blog #main .area-blog .area-blog-main .list-blog li .body .meta {
          margin: 0 0 16px 0; }
          #page-blog #main .area-blog .area-blog-main .list-blog li .body .meta .cat {
            display: inline-block;
            margin: 0 0 0 16px;
            padding: 2px 40px;
            background: #e23a23;
            color: #fff;
            font-size: 12px; }
        #page-blog #main .area-blog .area-blog-main .list-blog li .body h3 {
          font-size: 14px;
          line-height: 1.4; }
    #page-blog #main .area-blog .area-blog-main .article-blog {
      overflow: hidden;
      margin: 0 0 80px 0; }
      #page-blog #main .area-blog .area-blog-main .article-blog .header {
        margin: 0 0 24px 0;
        padding: 0 0 32px 0;
        border-bottom: 1px solid #ccc; }
        #page-blog #main .area-blog .area-blog-main .article-blog .header .meta .cat {
          display: inline-block;
          margin: 0 0 0 16px;
          padding: 2px 40px;
          background: #e23a23;
          color: #fff;
          font-size: 12px; }
        #page-blog #main .area-blog .area-blog-main .article-blog .header .title {
          margin: 16px 0 0 0;
          font-size: 18px;
          line-height: 1.4; }
      #page-blog #main .area-blog .area-blog-main .article-blog .body p {
        line-height: 1.64; }
        #page-blog #main .area-blog .area-blog-main .article-blog .body p img {
          margin-top: 20px; }
  #page-blog #main .area-blog .sidebar {
    float: left;
    width: 190px; }
    #page-blog #main .area-blog .sidebar .ttl-sidebar {
      position: relative;
      margin: 0 0 24px 0;
      padding: 0 0 8px 0;
      border-bottom: 2px solid #121212;
      font-size: 18px; }
      #page-blog #main .area-blog .sidebar .ttl-sidebar:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1px;
        background: #121212; }
    #page-blog #main .area-blog .sidebar .area-category .ttl-sidebar {
      margin: 0 0 3px 0; }
    #page-blog #main .area-blog .sidebar .area-archive {
      margin: 88px 0 0 0; }
    #page-blog #main .area-blog .sidebar select {
      width: 100%; }
    #page-blog #main .area-blog .sidebar ul li {
      margin: 16px 0 0 0; }
      #page-blog #main .area-blog .sidebar ul li a {
        display: block;
        padding: 0 0 0 20px;
        background: url(../../images/blog/ico_angle_right_black.png) 0 2px no-repeat;
        text-decoration: none; }
        @media screen and (min-width: 768px), print {
          #page-blog #main .area-blog .sidebar ul li a {
            transition: opacity 0.3s ease; }
            #page-blog #main .area-blog .sidebar ul li a:hover {
              opacity: .6; } }
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) {
        display: flex; }
        @media screen and (max-width: 767px) {
          #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) {
            padding: 14px 10px 14px 10px; } }
        #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) span {
          display: block;
          width: 9px;
          height: 7px;
          background: url(../../images/blog/ico_angle_right_black.png) center center no-repeat;
          background-size: 9px 7px;
          transform: rotate(90deg);
          position: relative;
          top: 3px;
          left: 1px; }
          @media screen and (max-width: 767px) {
            #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) span {
              background: url(../../images/blog/ico_angle_right_black_mobile.png) center center no-repeat;
              background-size: 8px 7px; } }
        #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) p {
          width: calc(100% - 9px);
          margin-left: 10px; }
          @media screen and (min-width: 768px), print {
            #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) p {
              cursor: pointer; } }
          @media screen and (max-width: 767px) {
            #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) p {
              margin-left: 4px; } }
          @media screen and (min-width: 768px), print {
            #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) p {
              transition: opacity 0.3s ease; }
              #page-blog #main .area-blog .sidebar ul li:nth-of-type(1) p:hover {
                opacity: .6; } }
        #page-blog #main .area-blog .sidebar ul li:nth-of-type(1).is-open span {
          transform: rotate(-90deg); }
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(2), #page-blog #main .area-blog .sidebar ul li:nth-of-type(3), #page-blog #main .area-blog .sidebar ul li:nth-of-type(4), #page-blog #main .area-blog .sidebar ul li:nth-of-type(5) {
        display: none;
        padding: 0 0 0 20px; }
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(1).is-open + li,
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(1).is-open + li + li,
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(1).is-open + li + li + li,
      #page-blog #main .area-blog .sidebar ul li:nth-of-type(1).is-open + li + li + li + li {
        display: block; }

@media only screen and (max-width: 768px) {
  #page-blog #main .area-blog {
    margin: 0 auto;
    width: auto; }
    #page-blog #main .area-blog .area-blog-main {
      float: none;
      margin: 0 0 60px 0;
      width: auto; }
      #page-blog #main .area-blog .area-blog-main .list-blog li {
        overflow: hidden;
        padding: 8px 10px;
        border-bottom: 1px solid #ccc; }
        #page-blog #main .area-blog .area-blog-main .list-blog li:first-child {
          padding: 0 10px 8px 10px; }
        #page-blog #main .area-blog .area-blog-main .list-blog li .img-photo {
          width: 85px;
          height: 57px;
          margin-top: 8px; }
        #page-blog #main .area-blog .area-blog-main .list-blog li .body {
          float: none;
          margin: 0 0 0 95px;
          width: auto; }
          #page-blog #main .area-blog .area-blog-main .list-blog li .body .meta {
            margin: 0 0 8px 0;
            font-size: 11px; }
            #page-blog #main .area-blog .area-blog-main .list-blog li .body .meta .cat {
              margin: 6px 0 0;
              padding: 4px 32px;
              font-size: 10px; }
          #page-blog #main .area-blog .area-blog-main .list-blog li .body h3 {
            font-size: 13px;
            line-height: 1.38; }
      #page-blog #main .area-blog .area-blog-main .article-blog {
        margin: 0 0 48px 0; }
        #page-blog #main .area-blog .area-blog-main .article-blog .header {
          margin: 0 0 20px 0;
          padding: 0 10px 20px 10px;
          border-bottom: 1px solid #ccc; }
          #page-blog #main .area-blog .area-blog-main .article-blog .header .meta {
            font-size: 11px; }
            #page-blog #main .area-blog .area-blog-main .article-blog .header .meta .cat {
              margin: 6px 0 0;
              padding: 4px 32px;
              font-size: 10px; }
          #page-blog #main .area-blog .area-blog-main .article-blog .header .title {
            margin: 8px 0 0 0;
            font-size: 22px;
            line-height: 1.375; }
        #page-blog #main .area-blog .area-blog-main .article-blog .body {
          margin: 0 10px; }
          #page-blog #main .area-blog .area-blog-main .article-blog .body p {
            line-height: 1.64; }
    #page-blog #main .area-blog .sidebar {
      float: none;
      width: auto; }
      #page-blog #main .area-blog .sidebar .ttl-sidebar {
        position: relative;
        margin: 0 0 24px 0;
        padding: 0 10px 8px 10px;
        border-bottom: 2px solid #121212;
        font-size: 17px; }
        #page-blog #main .area-blog .sidebar .ttl-sidebar:after {
          content: "";
          position: absolute;
          left: 0;
          bottom: -5px;
          width: 100%;
          height: 1px;
          background: #121212; }
      #page-blog #main .area-blog .sidebar .area-archive {
        margin: 40px 0 0 0; }
      #page-blog #main .area-blog .sidebar select {
        margin: 0 10px;
        width: auto; }
      #page-blog #main .area-blog .sidebar ul li {
        margin: 0;
        border-bottom: 1px solid #ccc; }
        #page-blog #main .area-blog .sidebar ul li:first-child {
          margin: 0; }
        #page-blog #main .area-blog .sidebar ul li a {
          display: block;
          padding: 14px 10px 14px 24px;
          background: url(../../images/blog/ico_angle_right_black_mobile.png) 10px 16px no-repeat;
          background-size: 8px 7px;
          text-decoration: none; } }

/*
 *	.wp-pagenavi
------------------------------------------*/
#main .wp-pagenavi {
  position: relative;
  margin: 40px 0 0 0;
  height: 24px;
  font-size: 12px;
  text-align: center; }
  #main .wp-pagenavi .current {
    display: inline-block;
    margin: 0 4px;
    padding: 6px 0;
    width: 24px;
    background: #121212;
    border: 1px solid #121212;
    color: #fff; }
  #main .wp-pagenavi .page {
    display: inline-block;
    margin: 0 4px;
    padding: 6px 0;
    width: 24px;
    border: 1px solid #777;
    text-align: center;
    text-decoration: none; }
    #main .wp-pagenavi .page:hover {
      background: #121212;
      border: 1px solid #121212;
      color: #fff; }
  #main .wp-pagenavi .previouspostslink {
    position: absolute;
    top: 0;
    left: 0;
    padding: 6px 0;
    width: 130px;
    border: 1px solid #777;
    box-sizing: border-box;
    text-decoration: none; }
    #main .wp-pagenavi .previouspostslink .ico-angle-left-black {
      position: absolute;
      top: 50%;
      left: 10px;
      margin: -3px 0 0 0; }
    #main .wp-pagenavi .previouspostslink:hover {
      background: #121212;
      border: 1px solid #121212;
      color: #fff; }
      #main .wp-pagenavi .previouspostslink:hover .ico-angle-left-black {
        background-image: url(../../images/blog/ico_angle_left_white.png); }
  #main .wp-pagenavi .nextpostslink {
    position: absolute;
    top: 0;
    right: 0;
    padding: 6px 0;
    width: 130px;
    border: 1px solid #777;
    box-sizing: border-box;
    text-decoration: none; }
    #main .wp-pagenavi .nextpostslink .ico-angle-right-black {
      position: absolute;
      top: 50%;
      right: 10px;
      margin: -3px 0 0 0; }
    #main .wp-pagenavi .nextpostslink:hover {
      background: #121212;
      border: 1px solid #121212;
      color: #fff; }
      #main .wp-pagenavi .nextpostslink:hover .ico-angle-right-black {
        background-image: url(../../images/blog/ico_angle_right_white.png); }

@media only screen and (max-width: 768px) {
  #main .wp-pagenavi {
    margin: 40px 10px 0 10px;
    height: 40px;
    font-size: 13px; }
    #main .wp-pagenavi .current, #main .wp-pagenavi .page {
      display: none; }
    #main .wp-pagenavi .previouspostslink {
      padding: 14px 0;
      width: 105px; }
      #main .wp-pagenavi .previouspostslink .ico-angle-left-black {
        margin: -5px 0 0 0; }
      #main .wp-pagenavi .previouspostslink:hover .ico-angle-left-black {
        background-image: url(../../images/blog/ico_angle_left_white_mobile.png); }
    #main .wp-pagenavi .nextpostslink {
      padding: 14px 0;
      width: 105px; }
      #main .wp-pagenavi .nextpostslink .ico-angle-right-black {
        margin: -5px 0 0 0; }
      #main .wp-pagenavi .nextpostslink:hover .ico-angle-right-black {
        background-image: url(../../images/blog/ico_angle_right_white_mobile.png); } }

#page-contact #main .txt-page {
  margin: 0 10px 80px 10px;
  font-size: 18px;
  line-height: 2;
  text-align: center; }

#page-contact #main .area-contact {
  margin: 0 auto;
  width: 960px; }
  #page-contact #main .area-contact h3 {
    margin: 0 0 16px 0;
    font-size: 18px; }
  #page-contact #main .area-contact .area-form-contact {
    margin: 64px 0 0 0; }
  #page-contact #main .area-contact .table-form {
    width: 100%;
    border: 1px solid #ccc;
    line-height: 1.57; }
    #page-contact #main .area-contact .table-form th {
      padding: 32px 24px;
      width: 240px;
      border-bottom: 1px solid #ccc;
      text-align: left;
      vertical-align: top; }
      #page-contact #main .area-contact .table-form th .label {
        float: right;
        padding: 2px 0;
        width: 40px;
        color: #fff;
        font-size: 12px;
        text-align: center; }
      #page-contact #main .area-contact .table-form th .label-normal {
        background: #777; }
      #page-contact #main .area-contact .table-form th .label-require {
        background: #e23a23; }
    #page-contact #main .area-contact .table-form td {
      padding: 16px 40px;
      border-bottom: 1px solid #ccc;
      vertical-align: middle; }
  #page-contact #main .area-contact .table-form-common th {
    background: #F8F8F8; }
  #page-contact #main .area-contact .table-form-common td .postcode {
    margin: 0 0 16px 0; }
  #page-contact #main .area-contact .table-form-contact th {
    background: #F2F2F2; }
  #page-contact #main .area-contact .btn-auto-address {
    margin: 0 0 0 16px;
    padding: 4px 8px;
    background: #f2f2f2;
    text-decoration: none;
    text-align: center; }
  #page-contact #main .area-contact .txt-ex {
    margin: 8px 0 0 0;
    color: #aaa;
    font-size: 12px; }
  #page-contact #main .area-contact .txt-error {
    margin: 8px 0 0 0;
    color: #e23a23;
    font-size: 12px; }
  #page-contact #main .area-contact .box-input {
    padding: 12px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-size: 14px; }
  #page-contact #main .area-contact .box100 {
    width: 100px; }
  #page-contact #main .area-contact .box-large {
    width: 100%; }
  #page-contact #main .area-contact .area-btn-form {
    margin: 80px 0 0 0;
    text-align: center; }
    #page-contact #main .area-contact .area-btn-form .btn-form {
      margin: 0 24px;
      height: 64px;
      border: none;
      background: none;
      color: #fff;
      font-size: 16px;
      text-align: center;
      cursor: pointer; }
      #page-contact #main .area-contact .area-btn-form .btn-form:hover {
        opacity: .9; }
    #page-contact #main .area-contact .area-btn-form .btn-form-revise {
      width: 320px;
      background: #777 url(../../images/blog/ico_angle_left_white.png) 5% center no-repeat; }
    #page-contact #main .area-contact .area-btn-form .btn-form-submit {
      width: 380px;
      background: #e23a23 url(../../images/blog/ico_angle_right_white.png) 95% center no-repeat; }

#page-contact #main .txt-complete {
  text-align: center; }
  #page-contact #main .txt-complete h2 {
    margin: 0 0 48px 0;
    color: #e23a23;
    font-size: 28px;
    letter-spacing: 1px; }
  #page-contact #main .txt-complete .txt-message {
    margin: 0 0 24px 0;
    font-size: 18px;
    line-height: 2; }
  #page-contact #main .txt-complete .txt-url {
    color: #e23a23; }

@media only screen and (max-width: 768px) {
  #page-contact #main .l-main__content {
    padding-top: 40px; }
  #page-contact #main .txt-page {
    margin: 0 10px 40px 10px;
    font-size: 14px;
    line-height: 1.5;
    text-align: left; }
  #page-contact #main .area-contact {
    width: auto; }
    #page-contact #main .area-contact h3 {
      margin: 0 10px 20px 10px;
      font-size: 15px;
      text-align: center; }
    #page-contact #main .area-contact .area-form-contact {
      margin: 40px 0 0 0; }
    #page-contact #main .area-contact .table-form {
      width: 100%;
      border: none;
      border-top: 1px solid #ccc;
      line-height: 1.4; }
      #page-contact #main .area-contact .table-form th {
        display: block;
        padding: 8px 10px;
        width: auto;
        border-bottom: 1px solid #ccc;
        text-align: left;
        vertical-align: top; }
        #page-contact #main .area-contact .table-form th .label {
          display: inline-block;
          float: none;
          margin: 0 0 0 10px;
          width: 35px;
          font-size: 10px;
          text-align: center; }
      #page-contact #main .area-contact .table-form td {
        display: block;
        padding: 8px 10px;
        border-bottom: 1px solid #ccc; }
    #page-contact #main .area-contact .table-form-common td .postcode {
      margin: 0 0 8px 0; }
    #page-contact #main .area-contact .table-form-contact th {
      background: #F2F2F2; }
    #page-contact #main .area-contact .btn-auto-address {
      margin: 0 0 0 16px;
      padding: 4px 8px;
      background: #f2f2f2;
      text-decoration: none;
      text-align: center; }
    #page-contact #main .area-contact .txt-error {
      margin: 8px 0 0 0;
      color: #e23a23;
      font-size: 12px; }
    #page-contact #main .area-contact .box-input {
      padding: 6px;
      font-size: 13px; }
    #page-contact #main .area-contact .box100 {
      width: 100px; }
    #page-contact #main .area-contact .box-large {
      width: 100%; }
    #page-contact #main .area-contact .area-btn-form {
      margin: 40px 10px 0 10px; }
      #page-contact #main .area-contact .area-btn-form .btn-form {
        margin: 8px 0 0 0;
        height: 44px;
        font-size: 12px; }
        #page-contact #main .area-contact .area-btn-form .btn-form:first-child {
          margin: 0; }
      #page-contact #main .area-contact .area-btn-form .btn-form-revise {
        width: 100%;
        background: #777 url(../../images/blog/ico_angle_left_white_mobile.png) 5% center no-repeat;
        background-size: 11px 9px; }
      #page-contact #main .area-contact .area-btn-form .btn-form-submit {
        width: 100%;
        background: #e23a23 url(../../images/blog/ico_angle_right_white_mobile.png) 95% center no-repeat;
        background-size: 11px 9px; }
  #page-contact #main .txt-complete {
    text-align: left; }
    #page-contact #main .txt-complete h2 {
      margin: 0 0 24px 0;
      font-size: 20px; }
    #page-contact #main .txt-complete .txt-message {
      margin: 0 0 16px 0;
      font-size: 14px;
      line-height: 1.5; }
    #page-contact #main .txt-complete .txt-url {
      color: #e23a23; } }

#page-privacy #main p {
  line-height: 1.71; }

#page-privacy #main .about {
  margin: 32px 0 0 0; }
  #page-privacy #main .about h2 {
    margin: 0 0 8px 0;
    font-weight: bold; }

#page-privacy #main .privacy {
  margin: 80px 0 0 0; }
  #page-privacy #main .privacy h2 {
    margin: 0 0 16px 0;
    color: #e23a23;
    font-size: 18px; }
  #page-privacy #main .privacy ol {
    margin: 16px 0;
    padding: 0 0 0 2em;
    line-height: 1.71; }
    #page-privacy #main .privacy ol li {
      margin: 8px 0;
      list-style: decimal; }
  #page-privacy #main .privacy p {
    margin: 16px 0 0 0; }
    #page-privacy #main .privacy p:first-child {
      margin: 0; }
  #page-privacy #main .privacy .txt-attention {
    color: #e23a23; }

@media only screen and (max-width: 768px) {
  #page-privacy #main p {
    line-height: 1.46; }
  #page-privacy #main .about {
    margin: 24px 0 0 0; }
  #page-privacy #main .privacy {
    margin: 40px 0 0 0; }
    #page-privacy #main .privacy h2 {
      margin: 0 0 8px 0;
      font-size: 14px; }
    #page-privacy #main .privacy ol {
      margin: 8px 0;
      line-height: 1.46; }
      #page-privacy #main .privacy ol li {
        margin: 4px 0; }
    #page-privacy #main .privacy p {
      margin: 8px 0 0 0; } }

#page-error .l-heading {
  margin: 0 0 105px; }
  @media screen and (max-width: 767px) {
    #page-error .l-heading {
      margin: 0 0 40px; } }

#page-error #main .ttl-error {
  margin: 0 0 80px 0;
  padding: 175px 0 115px;
  background: #eae0d6;
  color: #222;
  font-size: 26px;
  line-height: 1.4;
  text-align: center; }
  @media screen and (max-width: 767px) {
    #page-error #main .ttl-error {
      padding: 175px 4% 115px;
      font-size: 16px; } }

#page-error #main .ttl-error .en {
  color: #e23a23;
  font-size: 22px; }
  @media screen and (max-width: 767px) {
    #page-error #main .ttl-error .en {
      font-size: 18px;
      display: inline-block;
      margin: 0 0 10px; } }

#page-error .area-contents {
  margin: 0 0 115px; }
  @media screen and (max-width: 767px) {
    #page-error .area-contents {
      margin: 0 0 40px;
      padding: 0 4%; } }

#page-error #main .txt-error {
  margin: 0 0 56px 0;
  line-height: 2;
  text-align: center; }

#page-error #main .area-btn {
  text-align: center; }

#page-error #main .area-btn a {
  display: inline-block;
  margin: 0 24px;
  padding: 18px 0;
  width: 300px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative; }
  #page-error #main .area-btn a:after {
    position: absolute;
    content: '';
    width: 14px;
    height: 10px;
    background-image: url(../../images/common/ico_arrow_white_right.svg);
    background-size: 14px 10px;
    right: 20px;
    top: 20px; }

#page-error #main .area-btn .btn-toppage {
  background: #121212; }
  @media screen and (max-width: 767px) {
    #page-error #main .area-btn .btn-toppage {
      margin: 0 0 10px; } }

#page-error #main .area-btn .btn-sitemap {
  background: #e23a23; }

#page-error #main .area-btn .btn-toppage:hover {
  background: #353535; }

#page-error #main .area-btn .btn-sitemap:hover {
  background: #e65744; }


