@charset "UTF-8";
body {
  background: #fff; }

figure, .imgcapParent {
  position: relative; }

figcaption, .imgcap {
  position: absolute;
  font-size: 12px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px;
  bottom: 0px;
  left: 0px;
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }
  figcaption.bg, .imgcap.bg {
    background: #000000;
    color: #fff; }
  figcaption.cap_r, .imgcap.cap_r {
    left: auto;
    right: 0px; }
  figcaption.static, .imgcap.static {
    position: static; }
  figcaption.wh, .imgcap.wh {
    color: #fff; }

/* header */
header {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400; }
  @media screen and (max-width: 769px) {
    header {
      width: 100% !important;
      position: -webkit-sticky;
      position: sticky;
      top: 0px;
      left: 0px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0px 10px;
      z-index: 99;
      background: #fff; } }
  @media screen and (max-width: 1122px) {
    header .h_wrap {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  @media screen and (max-width: 1122px) {
    header .h_wrap .boxs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin-right: 10px;
      margin-left: auto; } }
  @media screen and (max-width: 769px) {
    header .h_wrap .boxs {
      margin-right: 5px; } }
  @media screen and (max-width: 1122px) {
    header .h_wrap .boxs .box01 {
      display: none; } }
  @media screen and (max-width: 1122px) {
    header .h_wrap .boxs .box02 a {
      width: 50px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 12px;
      line-height: 1.58;
      font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
      padding: 10px 0px;
      background: -webkit-gradient(linear, left top, right top, from(#ababac), color-stop(38%, #e5e5e6), color-stop(59%, #e5e5e6), to(#ababac));
      background: linear-gradient(to right, #ababac 0%, #e5e5e6 38%, #e5e5e6 59%, #ababac 100%);
      color: #000;
      position: relative; } }
  @media screen and (max-width: 769px) {
    header .h_wrap .boxs .box02 a {
      width: 40px; } }
  @media screen and (max-width: 1122px) {
    header .h_wrap .boxs .box02 a::after {
      content: "";
      display: block;
      position: absolute;
      border: solid 6px transparent;
      border-top-color: #AF1D23;
      border-left-color: #AF1D23;
      top: 0px;
      left: 0px; } }
  header .h_navi a {
    width: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 16px;
    border-left: solid 1px rgba(89, 87, 87, 0.4);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #000;
    letter-spacing: 0.1em; }
    header .h_navi a:nth-child(1) {
      border-left: none; }
  header .h_navi .on, header .h_navi a:hover {
    background: none !important;
    position: relative;
    color: #000; }
    header .h_navi .on::after, header .h_navi a:hover::after {
      position: absolute;
      content: "";
      display: block;
      border-bottom: solid 1px rgba(175, 29, 35, 0.5);
      width: 50%;
      left: 50%;
      bottom: 0px;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }

@media screen and (max-width: 1122px) {
  .h_navi_sp a:nth-child(9) {
    display: block; } }

/* footer */
.f_cap {
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }

.btn_footer {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400; }
  .btn_footer .f_req_btn {
    padding: 20px 0px;
    color: #fff;
    line-height: 1;
    font-size: 21px; }
    @media screen and (max-width: 769px) {
      .btn_footer .f_req_btn {
        font-size: 16px;
        padding: 10px 0px; } }

/* 共通パーツ */
.contents_wrap {
  font-family: YakuHanMP_Noto, "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  overflow: hidden; }

.hero_area_2nd {
  position: relative; }
  @media screen and (max-width: 769px) {
    .hero_area_2nd .base_w {
      width: 100%; } }
  .hero_area_2nd img {
    width: 100%; }

.bg_com01 {
  background: -webkit-gradient(linear, left top, right top, from(#A1A1A2), color-stop(42%, #DBDBDC), to(#ABACAC));
  background: linear-gradient(to right, #A1A1A2 0%, #DBDBDC 42%, #ABACAC 100%);
  padding-bottom: 10px; }
  .bg_com01 .bg_comWhite {
    background: rgba(255, 255, 255, 0.4); }
    .bg_com02 {
      background: linear-gradient(90deg, rgba(192,191,194,1) 0%, rgba(224,222,224,1) 42%, rgba(192,191,194,1) 100%);
    }

.caption {
  font-size: 12px;
  line-height: 1.33;
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }

.vt {
  font-size: 12px;
  vertical-align: top; }

.tit_com01 {
  text-align: center;
  font-size: 34px;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  margin-bottom: 1em; }
  @media screen and (max-width: 769px) {
    .tit_com01 {
      font-size: 24px; } }
  .tit_com01 .eng {
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(204, 204, 205, 0)), color-stop(25%, #cccccd), color-stop(72%, #cccccd), to(rgba(204, 204, 205, 0)));
    background: linear-gradient(to right, rgba(204, 204, 205, 0) 0%, #cccccd 25%, #cccccd 72%, rgba(204, 204, 205, 0) 100%);
    font-size: 24px;
    line-height: 1.2;
    font-family: trajan-pro-3, serif;
    color: #005B71;
    padding: 5px 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 505px;
    margin: 0px auto;
    margin-bottom: 30px;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 769px) {
      .tit_com01 .eng {
        font-size: 21px;
        margin-bottom: 20px; } }
  .tit_com01 span {
    font-size: 0.78em; }

.tit_com02 {
  font-size: 27px;
  line-height: 1.74;
  letter-spacing: 0.1em;
  margin-bottom: 45px; }
  @media screen and (max-width: 769px) {
    .tit_com02 {
      text-align: center;
      font-size: 18px;
      margin-bottom: 20px; } }
  .tit_com02 .eng {
    display: block;
    font-family: trajan-pro-3, serif;
    font-size: 17px;
    letter-spacing: 0.2em;
    border-bottom: solid 1px rgba(0, 0, 0, 0.5);
    padding-bottom: 10px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 331px; }
    @media screen and (max-width: 769px) {
      .tit_com02 .eng {
        margin: 0px auto;
        margin-bottom: 15px; } }
  .tit_com02.center .eng {
    margin-left: auto;
    margin-right: auto; }

.txt_com01 {
  text-align: center;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0.075em;
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
  margin-bottom: 50px; }
  @media screen and (max-width: 769px) {
    .txt_com01 {
      font-size: 13px;
      text-align: left;
      margin-bottom: 25px; } }

.txt_com02 {
  font-size: 15px;
  line-height: 1.93;
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
  letter-spacing: 0.075em; }
  @media screen and (max-width: 769px) {
    .txt_com02 {
      font-size: 13px; } }
  @media screen and (max-width: 769px) {
    .txt_com02.center {
      text-align: left; } }

/* 共通バナー */
.bnr_area_modelroom {
  width: 100%; }
  @media screen and (max-width: 1280px) {
    .bnr_area_modelroom {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0px 30px; } }
  @media screen and (max-width: 769px) {
    .bnr_area_modelroom {
      padding: 0px; } }
  .bnr_area_modelroom .bnr01 {
    position: relative;
    display: block; }
    .bnr_area_modelroom .bnr01 .bnr_img_area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media screen and (max-width: 769px) {
        .bnr_area_modelroom .bnr01 .bnr_img_area {
          display: block; } }
      .bnr_area_modelroom .bnr01 .bnr_img_area .img01 {
        width: 50.33%;
        position: relative; }
        @media screen and (max-width: 769px) {
          .bnr_area_modelroom .bnr01 .bnr_img_area .img01 {
            width: 100%; } }
      .bnr_area_modelroom .bnr01 .bnr_img_area .img02 {
        width: 49.38%; }
        @media screen and (max-width: 769px) {
          .bnr_area_modelroom .bnr01 .bnr_img_area .img02 {
            width: 100%; } }
    .bnr_area_modelroom .bnr01 .icon {
      position: absolute;
      width: 9.72%;
      display: block;
      top: 0px;
      left: 0px;
      -webkit-transform: translate(-30%, -20%);
      transform: translate(-30%, -20%); }
      @media screen and (max-width: 769px) {
        .bnr_area_modelroom .bnr01 .icon {
          width: 19.47%;
          -webkit-transform: translate(-10%, -20%);
          transform: translate(-10%, -20%); } }
    .bnr_area_modelroom .bnr01 img {
      width: 100%; }
  .bnr_area_modelroom .caption {
    margin-top: 1em; }

.vrbnr_box01 {
  display: block;
  position: relative; }
  .vrbnr_box01 + .vrbnr_box01 {
    margin-top: 40px; }
    @media screen and (max-width: 769px) {
      .vrbnr_box01 + .vrbnr_box01 {
        margin-top: 15px; } }
  .vrbnr_box01 img {
    width: 100%; }

/* 改行位置調整 */
@media screen and (max-width: 1122px) {
  .pcView, .pc_inline {
    display: none; } }

@media screen and (max-width: 769px) {
  .pctabView, .pctab_inline {
    display: none; } }

.tabView {
  display: none; }
  @media screen and (max-width: 1122px) {
    .tabView {
      display: inherit; } }
  @media screen and (max-width: 769px) {
    .tabView {
      display: none; } }

.tab_inline {
  display: none; }
  @media screen and (max-width: 1122px) {
    .tab_inline {
      display: inline-block; } }
  @media screen and (max-width: 769px) {
    .tab_inline {
      display: none; } }

.tabspView {
  display: none; }
  @media screen and (max-width: 1122px) {
    .tabspView {
      display: inherit; } }

.tabsp_inline {
  display: none; }
  @media screen and (max-width: 1122px) {
    .tabsp_inline {
      display: inline-block; } }

.spView {
  display: none; }
  @media screen and (max-width: 769px) {
    .spView {
      display: inherit; } }

.sp_inline {
  display: none; }
  @media screen and (max-width: 769px) {
    .sp_inline {
      display: inline-block; } }
