/* -----------------------------------------------------
	columnLayout
----------------------------------------------------- */
.columnLayout {
  clear: both; }
  .columnLayout .colLeft {
    float: left; }
  .columnLayout .colRight {
    float: right; }

/* -----------------------------------------------------
	Clearfix
----------------------------------------------------- */
.columnLayout:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.columnLayout {
  *display: inline-table;
  *zoom: 1; }

.mainHeadArea {
  background: url("../img_rs01/bg01.jpg") no-repeat 50% 50%/cover;
  overflow: hidden; }
  .mainHeadArea.back01 {
    background: url("../img_rs01/bg01_back.jpg") no-repeat 50% 50%/cover; }
    .mainHeadArea.back01 > .inner01 {
      min-height: 700px;
      padding: 243px 30px 0; }
      .mainHeadArea.back01 > .inner01 .premiumLogo {
        width: 447px;
        margin-left: 0; }
  @media screen and (max-width: 767px) {
    .mainHeadArea {
      background: url("../img_rs01/bg01_sp.jpg") no-repeat 50% 100%/cover; } }
  .mainHeadArea > .inner01 {
    max-width: 1050px;
    min-height: 800px;
    padding: 77px 30px 0;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media screen and (max-width: 767px) {
      .mainHeadArea > .inner01 {
        min-height: 142.933vw;
        padding: 59px 15px 0; } }
    .mainHeadArea > .inner01 .fractalSycomLogo {
      position: absolute;
      bottom: 11.5px;
      right: 360px;
      width: 237px; }
      @media screen and (max-width: 767px) {
        .mainHeadArea > .inner01 .fractalSycomLogo {
          bottom: inherit;
          top: 15px;
          right: 15px;
          width: 30vw; } }
    .mainHeadArea > .inner01 .premiumLogo {
      width: 945px;
      margin-left: -5px; }
      @media screen and (max-width: 767px) {
        .mainHeadArea > .inner01 .premiumLogo {
          width: calc(100% - 30px);
          margin-left: auto;
          margin-right: auto; } }
    .mainHeadArea > .inner01 .logo01 {
      position: absolute;
      bottom: 33px;
      right: 19px;
      width: 333px; }
      @media screen and (max-width: 767px) {
        .mainHeadArea > .inner01 .logo01 {
          bottom: 15px;
          right: 15px;
          width: 70.4vw; } }

.featureLayer .section01 > .inner01 {
  max-width: 1050px;
  padding: 65px 30px 65px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 > .inner01 {
      padding: 30px 15px 30px; } }
  .featureLayer .section01 > .inner01 .text01 {
    font-size: 3.8rem;
    font-weight: 400;
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .featureLayer .section01 > .inner01 .text01 {
        font-size: 2.0rem;
        margin-bottom: 25px; } }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 > .inner01 .text02 {
      text-align: left; } }
@media screen and (min-width: 768px) {
  .featureLayer .section01 .fixed-bg {
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    height: 100%; } }
@media screen and (max-width: 767px) {
  .featureLayer .section01 .fixed-bg {
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top; } }
.featureLayer .section01 .fixed-bg.bg01 {
  background-image: url("../img_rs01/bg02.jpg"); }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 .fixed-bg.bg01 {
      background-image: url("../img_rs01/bg02_sp.jpg"); } }
  .featureLayer .section01 .fixed-bg.bg01 > .inner01 .text02,
  .featureLayer .section01 .fixed-bg.bg01 > .inner01 .text03 {
    color: #000; }
.featureLayer .section01 .fixed-bg.bg02 {
  background-image: url("../img_rs01/bg03.jpg"); }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 .fixed-bg.bg02 {
      background-image: url("../img_rs01/bg03_sp.jpg"); } }
.featureLayer .section01 .fixed-bg.bg03 {
  background-image: url("../img_rs01/bg04.jpg"); }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 .fixed-bg.bg03 {
      background-image: url("../img_rs01/bg04_sp.jpg"); } }
.featureLayer .section01 .fixed-bg > .inner01 {
  max-width: 1050px;
  padding: 30px 30px 30px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 760px;
  height: 100vh;
  position: relative; }
  @media screen and (max-width: 767px) {
    .featureLayer .section01 .fixed-bg > .inner01 {
      padding: 20px 15px 20px;
      min-height: inherit;
      height: inherit; } }
  .featureLayer .section01 .fixed-bg > .inner01 .inner02 {
    width: 100%;
    transform: translate(0, -68.75px); }
    @media screen and (max-width: 767px) {
      .featureLayer .section01 .fixed-bg > .inner01 .inner02 {
        transform: none; } }
    @media screen and (min-width: 768px) {
      .featureLayer .section01 .fixed-bg > .inner01 .inner02 .inner03 {
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
        .featureLayer .section01 .fixed-bg > .inner01 .inner02 .inner03 .text01 {
          margin-right: 35px; } }
  .featureLayer .section01 .fixed-bg > .inner01 .text01 {
    width: 69px;
    margin-bottom: 52px; }
    @media screen and (max-width: 767px) {
      .featureLayer .section01 .fixed-bg > .inner01 .text01 {
        width: auto;
        margin-bottom: 0;
        margin-bottom: calc(57.14vw - 14.81vw - 20px + 40px); }
        .featureLayer .section01 .fixed-bg > .inner01 .text01 img {
          width: auto;
          height: 14.81vw; } }
  .featureLayer .section01 .fixed-bg > .inner01 .text02 {
    color: #fff;
    font-size: 3.5rem;
    font-weight: 400;
    line-height: 1.45;
    margin-bottom: 53px; }
    .featureLayer .section01 .fixed-bg > .inner01 .text02.typeCenter {
      text-align: center; }
    @media screen and (max-width: 767px) {
      .featureLayer .section01 .fixed-bg > .inner01 .text02 {
        text-align: center;
        font-size: 2.0rem;
        color: #000;
        margin-bottom: 26px; } }
  .featureLayer .section01 .fixed-bg > .inner01 .text03 {
    width: 310px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75; }
    @media screen and (min-width: 768px) {
      .featureLayer .section01 .fixed-bg > .inner01 .text03.typeCenter {
        width: auto;
        text-align: center; } }
    @media screen and (max-width: 767px) {
      .featureLayer .section01 .fixed-bg > .inner01 .text03 {
        width: 100%;
        color: #000;
        font-size: 1.5rem;
        font-weight: 300;
        text-align: left; } }

.configLayer {
  overflow-x: hidden; }
  .configLayer .partsWrap01 {
    position: relative; }
    .configLayer .partsWrap01.type01 {
      background-color: #f5f5f5;
      padding-top: 60px;
      padding-bottom: 60px; }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01.type01 {
          padding-top: 30px;
          padding-bottom: 30px; } }
    .configLayer .partsWrap01 .text01 {
      display: inline-block;
      color: #fff;
      font-size: 1.4rem;
      font-weight: 400;
      line-height: 1.1;
      letter-spacing: 0.06em;
      background: #000;
      padding: 3px 7px 5px;
      margin-bottom: 7px; }
      .configLayer .partsWrap01 .text01 + .text02 {
        margin-top: -0.1em; }
    .configLayer .partsWrap01 .text02 {
      font-size: 3.0rem;
      font-weight: 400;
      line-height: 1.3; }
      @media screen and (min-width: 768px) {
        .configLayer .partsWrap01 .text02 {
          margin-right: -16px; } }
      @media screen and (max-width: 1050px) {
        .configLayer .partsWrap01 .text02 {
          margin-right: 0; } }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .text02 {
          font-size: 2.0rem; } }
      .configLayer .partsWrap01 .text02 .font01 {
        font-size: 2.4rem; }
      .configLayer .partsWrap01 .text02.fontL {
        font-weight: 300; }
      .configLayer .partsWrap01 .text02 + .text03 {
        margin-top: 0.6em; }
      .configLayer .partsWrap01 .text02 + .text04 {
        margin-top: 30px; }
      .configLayer .partsWrap01 .text02 + .itemWrap01 {
        margin-top: 30px; }
    .configLayer .partsWrap01 .text03 {
      font-size: 2.4rem;
      font-weight: 400;
      line-height: 1.54; }
      @media screen and (min-width: 768px) {
        .configLayer .partsWrap01 .text03 {
          margin-right: -39px; } }
      @media screen and (max-width: 1050px) {
        .configLayer .partsWrap01 .text03 {
          margin-right: 0; } }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .text03 {
          font-size: 1.6rem; }
          .configLayer .partsWrap01 .text03.type02 {
            font-size: 2.0rem; } }
      .configLayer .partsWrap01 .text03.fontL {
        font-weight: 300; }
      .configLayer .partsWrap01 .text03 + .text02.type02 {
        margin-top: 20px; }
    @media screen and (max-width: 767px) {
      .configLayer .partsWrap01 .text04 {
        font-size: 1.4rem; } }
    .configLayer .partsWrap01 .text04 + .text04 {
      margin-top: 1.5em; }
    .configLayer .partsWrap01 .itemWrap01 {
      display: flex;
      flex-wrap: wrap;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .configLayer .partsWrap01 .itemWrap01 .item {
        width: calc(50% - 45px); }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01 .itemWrap01 .item {
            width: 100%; } }
        .configLayer .partsWrap01 .itemWrap01 .item:nth-child(n + 3) {
          margin-top: 62px; }
          @media screen and (max-width: 767px) {
            .configLayer .partsWrap01 .itemWrap01 .item:nth-child(n + 3) {
              margin-top: 30px; } }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01 .itemWrap01 .item:nth-child(n + 2) {
            margin-top: 28px; } }
        .configLayer .partsWrap01 .itemWrap01 .item .text03 + .text04 {
          margin-top: 15px; }
          @media screen and (max-width: 767px) {
            .configLayer .partsWrap01 .itemWrap01 .item .text03 + .text04 {
              margin-top: 3px; } }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01 .itemWrap01 .item .text04 {
            font-size: 1.4rem; } }
    .configLayer .partsWrap01 .img01 {
      position: absolute;
      top: 50%;
      left: calc(50% - 480px - 15px);
      width: 480px;
      transform: translate(0, -50%); }
      .configLayer .partsWrap01 .img01 + .text04 {
        margin-top: 1.5em; }
      @media screen and (min-width: 768px) {
        .configLayer .partsWrap01 .img01.h383 {
          height: 383px; }
        .configLayer .partsWrap01 .img01.h460 {
          height: 460px; }
        .configLayer .partsWrap01 .img01.h480 {
          height: 480px; }
        .configLayer .partsWrap01 .img01.h557 {
          height: 557px; } }
      .configLayer .partsWrap01 .img01.wideL {
        position: absolute;
        top: 50%;
        left: calc(50% - 650px - 15px);
        width: 650px;
        transform: translate(0, -50%);
        overflow: hidden; }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01 .img01.wideL {
            position: static;
            top: inherit;
            left: inherit;
            transform: none;
            width: 100%; } }
        @media screen and (min-width: 768px) {
          .configLayer .partsWrap01 .img01.wideL img {
            position: absolute;
            top: 50%;
            right: 0;
            height: auto;
            transform: translate(0, -50%); } }
      .configLayer .partsWrap01 .img01.wideR {
        position: absolute;
        top: 50%;
        width: 650px;
        transform: translate(0, -50%);
        overflow: hidden; }
        @media screen and (min-width: 768px) {
          .configLayer .partsWrap01 .img01.wideR img {
            position: absolute;
            top: 50%;
            right: 0;
            height: auto;
            transform: translate(0, -50%); } }
      @media screen and (min-width: 1330px) {
        .configLayer .partsWrap01 .img01.wideRZoom {
          width: calc(50% - 15px); } }
      .configLayer .partsWrap01 .img01.typeTop {
        position: absolute;
        top: 60px;
        height: 460px;
        transform: translate(0, 0); }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01 .img01.typeTop {
            position: static;
            height: auto;
            transform: none;
            width: 100%; } }
        @media screen and (min-width: 1050px) {
          .configLayer .partsWrap01 .img01.typeTop img {
            position: absolute;
            top: 50%;
            right: 0;
            height: auto;
            transform: translate(0, -50%); } }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .img01 {
          position: static;
          width: 100%;
          height: auto;
          margin-left: 0;
          margin-top: 10px;
          margin-bottom: 10px;
          transform: none; } }
    .configLayer .partsWrap01 .img02 {
      max-width: 1094px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 140px; }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .img02 {
          margin-top: 10px; } }
    .configLayer .partsWrap01 .inner02 {
      padding: 0 30px 0 0;
      margin-left: calc(50% + 45px);
      max-width: 480px; }
      @media screen and (min-width: 768px) {
        .configLayer .partsWrap01 .inner02.type02 {
          max-width: 535px; }
          .configLayer .partsWrap01 .inner02.type02 .text04 {
            max-width: 448px; }
          .configLayer .partsWrap01 .inner02.type02 .text05 {
            position: absolute;
            bottom: 60px;
            left: calc(50% + 39px); }
          .configLayer .partsWrap01 .inner02.type02 .img01 {
            top: 80px;
            transform: none; } }
      @media screen and (max-width: 1050px) {
        .configLayer .partsWrap01 .inner02.type02 {
          padding: 0 calc(50% + 15px) 0 30px; } }
      @media screen and (min-width: 768px) {
        .configLayer .partsWrap01 .inner02 {
          display: flex;
          flex-wrap: wrap; } }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .inner02 {
          margin-left: 0;
          padding: 0 15px 0 15px;
          max-width: 100%;
          min-height: inherit; } }
    .configLayer .partsWrap01.os {
      background-color: #f5f5f5;
      padding-bottom: 50px; }
      .configLayer .partsWrap01.os .osImg01 {
        position: absolute;
        top: 60px;
        left: calc(50% + 345px);
        width: 150px;
        height: 150px;
        overflow: hidden; }
        @media screen and (max-width: 1050px) {
          .configLayer .partsWrap01.os .osImg01 {
            left: inherit;
            right: 30px; } }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01.os .osImg01 {
            position: static;
            width: 53.3333333333%;
            height: auto;
            margin-left: auto;
            margin-right: auto;
            margin-top: 30px;
            margin-bottom: 0;
            transform: none; } }
        @media screen and (min-width: 768px) {
          .configLayer .partsWrap01.os .osImg01 img {
            left: 0;
            right: inherit; } }
      .configLayer .partsWrap01.os .inner02 {
        max-width: 820px; }
        @media screen and (max-width: 1050px) {
          .configLayer .partsWrap01.os .inner02 {
            max-width: 100%;
            margin-left: 0; } }
        @media screen and (max-width: 1050px) {
          .configLayer .partsWrap01.os .inner02 {
            padding: 0 calc(25% + 15px) 0 30px !important; } }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01.os .inner02 {
            padding: 0 15px 0 15px !important; } }
      .configLayer .partsWrap01.os .text03 {
        margin-right: 0; }
    .configLayer .partsWrap01.type02 {
      padding-top: 60px;
      padding-bottom: 60px; }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01.type02 {
          padding-top: 30px;
          padding-bottom: 30px; } }
      .configLayer .partsWrap01.type02 .img01 {
        left: calc(50% + 15px); }
        @media screen and (min-width: 768px) {
          .configLayer .partsWrap01.type02 .img01 img {
            left: 0;
            right: inherit; } }
      .configLayer .partsWrap01.type02 .inner02 {
        padding: 0 0 0 30px;
        margin-left: calc(50% - 525px); }
        @media screen and (max-width: 1050px) {
          .configLayer .partsWrap01.type02 .inner02 {
            max-width: 100%;
            padding: 0 calc(50% + 15px) 0 30px;
            margin-left: 0; } }
        @media screen and (max-width: 767px) {
          .configLayer .partsWrap01.type02 .inner02 {
            padding: 0 15px 0 15px; } }
    .configLayer .partsWrap01 .inner04 {
      max-width: 1050px;
      padding: 74px 30px 0;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 767px) {
        .configLayer .partsWrap01 .inner04 {
          padding: 35px 15px 0; } }

.galleryLayer .photoGallerySection .heading01Wrap {
  background: url("../img_rs01/bg05.jpg") no-repeat 50% 0/cover; }
  @media screen and (max-width: 767px) {
    .galleryLayer .photoGallerySection .heading01Wrap {
      background: none; } }
