@charset "UTF-8";
.remodal-overlay {
  z-index: 100000;
  background-color: rgba(242, 239, 235, 0.8); }

.remodal-wrapper {
  z-index: 100001; }

.remodal {
  max-width: none;
  width: 960px;
  padding: 100px 50px 50px;
  border: 2px solid #000;
  border-radius: 24px;
  height: 95vh; }
  @media only screen and (max-width: 767px) {
    .remodal {
      width: 100%;
      padding: 60px 20px 20px;
      height: 90vh; } }

.l-container#index {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt"; }
  .l-container#index .intro {
    padding: 50px 0; }
    .l-container#index .intro__visual {
      display: block;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      margin-bottom: 50px; }
    .l-container#index .intro__holder {
      position: relative; }
      .l-container#index .intro__holder__texts__catch {
        margin-bottom: 40px; }
      .l-container#index .intro__holder__texts__rt {
        font-weight: bold;
        line-height: 2.2;
        font-size: 20px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .intro__holder__texts__rt {
            font-size: 14px;
            margin-bottom: 20px; } }
      .l-container#index .intro__holder__fig {
        position: absolute;
        top: 0;
        right: 0;
        width: 200px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .intro__holder__fig {
            width: 280px;
            position: static;
            margin-left: auto;
            margin-right: auto; } }
  .l-container#index .whats {
    background-color: #F2EFEB;
    padding: 100px 0 80px; }
    @media only screen and (max-width: 767px) {
      .l-container#index .whats {
        padding: 70px 0 50px; } }
    .l-container#index .whats__hl {
      text-align: center;
      margin-bottom: 50px; }
      @media only screen and (max-width: 767px) {
        .l-container#index .whats__hl {
          margin-bottom: 20px; } }
      .l-container#index .whats__hl > span {
        font-size: 26px;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
        display: inline-block; }
        @media only screen and (max-width: 767px) {
          .l-container#index .whats__hl > span {
            font-size: 16px;
            margin-left: 60px; } }
    .l-container#index .whats__holder {
      position: relative;
      border: 2px solid #000000;
      padding: 80px 50px;
      border-radius: 24px;
      background-color: #fff; }
      @media only screen and (max-width: 767px) {
        .l-container#index .whats__holder {
          padding: 40px 20px 40px; } }
      .l-container#index .whats__holder__chara {
        position: absolute;
        top: -2px;
        left: 50%;
        transform: translate(-260px, -100%); }
        @media only screen and (max-width: 767px) {
          .l-container#index .whats__holder__chara {
            width: 70px;
            transform: translate(-120px, -100%); } }
      .l-container#index .whats__holder__hl {
        font-size: 24px;
        font-weight: bold;
        color: #D80420;
        margin-bottom: 20px;
        width: calc(100% - 380px); }
        @media only screen and (max-width: 767px) {
          .l-container#index .whats__holder__hl {
            width: 100%;
            font-size: 16px;
            text-align: center; } }
      .l-container#index .whats__holder__rt {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 20px;
        width: calc(100% - 380px); }
        @media only screen and (max-width: 767px) {
          .l-container#index .whats__holder__rt {
            width: 100%;
            font-size: 12px; } }
      .l-container#index .whats__holder__fig {
        position: absolute;
        top: 50%;
        right: 50px;
        transform: translateY(-50%);
        width: 320px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .whats__holder__fig {
            width: 100%;
            position: static;
            transform: translateY(0);
            margin-bottom: 30px; } }
      @media only screen and (max-width: 767px) {
        .l-container#index .whats__holder__more {
          text-align: center; } }
      .l-container#index .whats__holder__more > a {
        display: inline-block;
        position: relative;
        font-weight: bold;
        color: #D80420;
        font-size: 16px;
        background-image: url(../../images/common/icon_more.png);
        background-size: 19px auto;
        background-position: right center;
        background-repeat: no-repeat;
        display: inline-block;
        padding-right: 24px; }
        .l-container#index .whats__holder__more > a:after {
          content: "";
          display: none;
          width: 100%;
          height: 2px;
          background-color: #D80420;
          position: absolute;
          bottom: -4px;
          left: 0; }
        .l-container#index .whats__holder__more > a:hover:after {
          display: block; }
  .l-container#index .articles__eachGroup {
    padding: 50px 0; }
    @media only screen and (max-width: 767px) {
      .l-container#index .articles__eachGroup {
        padding: 40px 0; } }
    .l-container#index .articles__eachGroup__groupName {
      position: relative;
      font-family: neuzeit-grotesk, sans-serif;
      font-weight: 700;
      font-style: normal;
      font-size: 53px;
      margin-bottom: 50px;
      line-height: 1; }
      @media only screen and (max-width: 767px) {
        .l-container#index .articles__eachGroup__groupName {
          font-size: 30px;
          text-align: center;
          margin-bottom: 20px; } }
      .l-container#index .articles__eachGroup__groupName:after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: #000;
        position: absolute;
        bottom: 8px;
        left: 0; }
        @media only screen and (max-width: 767px) {
          .l-container#index .articles__eachGroup__groupName:after {
            bottom: 5px; } }
    .l-container#index .articles__eachGroup__hl {
      position: relative;
      text-align: center;
      font-size: 26px;
      font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
      margin-bottom: 50px; }
      @media only screen and (max-width: 767px) {
        .l-container#index .articles__eachGroup__hl {
          font-size: 16px; } }
      .l-container#index .articles__eachGroup__hl > img {
        position: relative;
        left: 50%;
        display: block;
        transform: translateX(-50%);
        margin-bottom: 20px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .articles__eachGroup__hl > img {
            width: 90px;
            margin-bottom: 10px; } }
    .l-container#index .articles__eachGroup__articleList {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: -50px; }
      @media only screen and (max-width: 767px) {
        .l-container#index .articles__eachGroup__articleList {
          display: block;
          margin-bottom: -40px; } }
      .l-container#index .articles__eachGroup__articleList__item {
        width: 30%;
        margin-bottom: 50px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .articles__eachGroup__articleList__item {
            width: 100%;
            margin-bottom: 40px; } }
        .l-container#index .articles__eachGroup__articleList__item__anchor {
          display: block; }
          .l-container#index .articles__eachGroup__articleList__item__anchor__fig {
            margin-bottom: 20px; }
            @media only screen and (max-width: 767px) {
              .l-container#index .articles__eachGroup__articleList__item__anchor__fig {
                margin-bottom: 10px; } }
          .l-container#index .articles__eachGroup__articleList__item__anchor__texts__articleName {
            position: relative;
            margin-bottom: 20px;
            padding-bottom: 20px;
            font-size: 20px;
            line-height: 1.5;
            font-weight: bold; }
            @media only screen and (max-width: 767px) {
              .l-container#index .articles__eachGroup__articleList__item__anchor__texts__articleName {
                font-size: 16px;
                margin-bottom: 10px;
                padding-bottom: 10px; } }
            .l-container#index .articles__eachGroup__articleList__item__anchor__texts__articleName:after {
              position: absolute;
              bottom: 0;
              left: 0;
              content: "";
              display: block;
              width: 60px;
              height: 2px;
              background-color: #000; }
              @media only screen and (max-width: 767px) {
                .l-container#index .articles__eachGroup__articleList__item__anchor__texts__articleName:after {
                  height: 1px; } }
          .l-container#index .articles__eachGroup__articleList__item__anchor__texts__rt {
            font-size: 14px;
            line-height: 2; }
            @media only screen and (max-width: 767px) {
              .l-container#index .articles__eachGroup__articleList__item__anchor__texts__rt {
                font-size: 12px; } }
          .l-container#index .articles__eachGroup__articleList__item__anchor:hover .articles__eachGroup__articleList__item__anchor__texts {
            color: #DE0319; }
          .l-container#index .articles__eachGroup__articleList__item__anchor:hover .articles__eachGroup__articleList__item__anchor__texts__articleName:after {
            background-color: #DE0319; }
      .l-container#index .articles__eachGroup__articleList:after {
        display: block;
        content: "";
        width: 30%; }
  .l-container#index .consulting {
    position: relative;
    background-color: #F2EFEB;
    padding: 150px 0 80px; }
    @media only screen and (max-width: 767px) {
      .l-container#index .consulting {
        padding: 100px 0 50px; } }
    .l-container#index .consulting__holder {
      position: relative;
      border: 2px solid #000;
      border-radius: 24px;
      padding: 50px; }
      @media only screen and (max-width: 767px) {
        .l-container#index .consulting__holder {
          padding: 50px 20px; } }
      .l-container#index .consulting__holder:before {
        content: "";
        display: block;
        width: 320px;
        height: 50px;
        background-color: #F2EFEB;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%); }
        @media only screen and (max-width: 767px) {
          .l-container#index .consulting__holder:before {
            width: 130px; } }
      .l-container#index .consulting__holder__chara {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -100px); }
        @media only screen and (max-width: 767px) {
          .l-container#index .consulting__holder__chara {
            transform: translate(-50%, -60px); } }
      .l-container#index .consulting__holder__hl {
        text-align: center;
        margin-bottom: 50px;
        font-size: 24px;
        line-height: 1.375;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
        @media only screen and (max-width: 767px) {
          .l-container#index .consulting__holder__hl {
            font-size: 16px;
            margin-bottom: 20px; } }
      .l-container#index .consulting__holder__list__item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 50px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .consulting__holder__list__item {
            display: block; } }
        .l-container#index .consulting__holder__list__item__fig {
          width: 320px; }
          @media only screen and (max-width: 767px) {
            .l-container#index .consulting__holder__list__item__fig {
              width: 100%;
              margin-bottom: 20px; } }
        .l-container#index .consulting__holder__list__item__texts {
          width: calc(100% - 380px); }
          @media only screen and (max-width: 767px) {
            .l-container#index .consulting__holder__list__item__texts {
              width: 100%; } }
          .l-container#index .consulting__holder__list__item__texts__hl {
            font-size: 32px;
            line-height: 1.5;
            font-weight: bold;
            margin-bottom: 20px; }
            @media only screen and (max-width: 767px) {
              .l-container#index .consulting__holder__list__item__texts__hl {
                font-size: 16px; } }
          .l-container#index .consulting__holder__list__item__texts__rt {
            font-size: 16px;
            line-height: 2; }
            @media only screen and (max-width: 767px) {
              .l-container#index .consulting__holder__list__item__texts__rt {
                font-size: 12px; } }
      .l-container#index .consulting__holder__btn {
        position: relative;
        font-size: 20px;
        font-weight: bold;
        background-color: #DE0319;
        color: #fff;
        width: 530px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        padding: 10px;
        text-align: center;
        border-radius: 24px; }
        @media only screen and (max-width: 767px) {
          .l-container#index .consulting__holder__btn {
            width: 100%; } }
        .l-container#index .consulting__holder__btn:after {
          position: absolute;
          top: 50%;
          right: 20px;
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          transform: translateY(-50%) rotate(45deg); }
        .l-container#index .consulting__holder__btn:hover {
          opacity: 0.7; }

.remodalCloseBtn {
  position: absolute;
  right: 20px;
  top: 20px; }
  @media only screen and (max-width: 767px) {
    .remodalCloseBtn {
      width: 40px;
      right: 10px;
      top: 10px; } }
  .remodalCloseBtn:hover {
    opacity: 0.7; }

.remodalContents {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
  text-align: left;
  height: 100%;
  overflow: auto;
  padding-right: 10px; }
  .remodalContents__holder__title {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .remodalContents__holder__title {
        font-size: 20px; } }
  .remodalContents__holder__fig {
    width: 610px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px; }
    @media only screen and (max-width: 767px) {
      .remodalContents__holder__fig {
        width: 100%;
        margin-bottom: 30px; } }
  .remodalContents__holder__rt {
    font-size: 18px;
    line-height: 1.75;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .remodalContents__holder__rt {
        font-size: 12px;
        margin-bottom: 20px; } }
  .remodalContents__holder__eachSystemFig {
    text-align: center;
    margin-bottom: 50px; }
    @media only screen and (max-width: 767px) {
      .remodalContents__holder__eachSystemFig {
        margin-bottom: 30px; } }
    .remodalContents__holder__eachSystemFig > figcaption {
      font-size: 16px;
      margin-top: 10px;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .remodalContents__holder__eachSystemFig > figcaption {
          font-size: 10px; } }
  .remodalContents__holder__layouts {
    margin-top: 50px;
    margin-bottom: 50px; }
    .remodalContents__holder__layouts__eachLayout {
      margin-bottom: 40px; }
      .remodalContents__holder__layouts__eachLayout__name {
        margin-bottom: 15px;
        font-size: 18px;
        font-weight: bold; }
      .remodalContents__holder__layouts__eachLayout__holder {
        display: flex;
        justify-content: space-between; }
        @media only screen and (max-width: 767px) {
          .remodalContents__holder__layouts__eachLayout__holder {
            display: block; } }
        .remodalContents__holder__layouts__eachLayout__holder__fig {
          width: 200px; }
          @media only screen and (max-width: 767px) {
            .remodalContents__holder__layouts__eachLayout__holder__fig {
              width: 70%;
              margin-bottom: 20px;
              margin-left: auto;
              margin-right: auto; } }
          .remodalContents__holder__layouts__eachLayout__holder__fig > img {
            width: 100%; }
        .remodalContents__holder__layouts__eachLayout__holder__sets {
          display: flex;
          justify-content: space-between;
          align-items: center;
          width: calc(100% - 240px); }
          @media only screen and (max-width: 767px) {
            .remodalContents__holder__layouts__eachLayout__holder__sets {
              width: 100%;
              display: block; } }
          .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet {
            display: flex;
            justify-content: space-between;
            width: 48%; }
            @media only screen and (max-width: 767px) {
              .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet {
                width: 100%;
                margin-bottom: 20px; } }
            .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__texts {
              width: calc(100% - 150px); }
              .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
                font-size: 16px;
                font-weight: bold;
                margin-bottom: 5px; }
                @media only screen and (max-width: 767px) {
                  .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
                    font-size: 14px; } }
              .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__texts > dl > dd {
                font-size: 14px; }
                @media only screen and (max-width: 767px) {
                  .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__texts > dl > dd {
                    font-size: 12px; } }
            .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__illust {
              width: 140px; }
              .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__illust > a {
                display: block; }
                .remodalContents__holder__layouts__eachLayout__holder__sets__eachSet__illust > a:hover {
                  opacity: 0.7; }
      .remodalContents__holder__layouts__eachLayout[data-layout="i"] .remodalContents__layouts__eachLayout__name {
        color: #AD751F; }
      .remodalContents__holder__layouts__eachLayout[data-layout="i"] .remodalContents__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
        color: #AD751F; }
      .remodalContents__holder__layouts__eachLayout[data-layout="l"] .remodalContents__layouts__eachLayout__name {
        color: #5F913B; }
      .remodalContents__holder__layouts__eachLayout[data-layout="l"] .remodalContents__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
        color: #5F913B; }
      .remodalContents__holder__layouts__eachLayout[data-layout="flat"] .remodalContents__layouts__eachLayout__name {
        color: #81678D; }
      .remodalContents__holder__layouts__eachLayout[data-layout="flat"] .remodalContents__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
        color: #81678D; }
      .remodalContents__holder__layouts__eachLayout[data-layout="dual"] .remodalContents__layouts__eachLayout__name {
        color: #B05F93; }
      .remodalContents__holder__layouts__eachLayout[data-layout="dual"] .remodalContents__layouts__eachLayout__holder__sets__eachSet__texts > dl > dt {
        color: #B05F93; }
  .remodalContents__holder__close {
    width: 170px;
    margin-left: auto;
    margin-right: auto;
    display: block; }
    @media only screen and (max-width: 767px) {
      .remodalContents__holder__close {
        width: 120px; } }
    .remodalContents__holder__close:hover {
      opacity: 0.7; }

.zoomImage {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100002;
  display: none; }
  .zoomImage__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); }
  .zoomImage__close {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 40px;
    right: 40px;
    border: none; }
    @media only screen and (max-width: 767px) {
      .zoomImage__close {
        top: 20px;
        right: 10px; } }
    .zoomImage__close:hover {
      opacity: 0.7; }
  .zoomImage__fig {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 700px; }
    @media only screen and (max-width: 767px) {
      .zoomImage__fig {
        width: 80%; } }
    .zoomImage__fig > img {
      max-width: 100%; }

/*# sourceMappingURL=index.css.map */
