/* CSS Document */
.whiteWrap {
  padding: 60px 0; }

/*flowMainBlock*/
.flowMainBlock {
  margin: 0 auto 90px;
  position: relative; }
  .flowMainBlock .mainImg {
    position: relative;
    z-index: 12;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto 30px;
    left: 50%;
    transform: translateX(-50%); }
    .flowMainBlock .mainImg img {
      width: 100%;
      height: auto;
      display: block;
      pointer-events: none; }
  .flowMainBlock .innerWrap {
    position: relative;
    z-index: 20;
    padding: 0 60px;
    max-width: 1000px;
    width: 90%; }
    .flowMainBlock .innerWrap .flexBox {
      width: 600px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin: 0 auto; }
      .flowMainBlock .innerWrap .flexBox .subImg0 {
        display: block;
        position: relative;
        z-index: 30; }
      .flowMainBlock .innerWrap .flexBox .subImg0::after {
        content: "";
        position: absolute;
        background: url("../img/flow/subTxt0_pc@2x.png");
        width: 216px;
        height: 167px;
        top: -70px;
        left: -180px;
        background-size: cover;
        z-index: 1; }
      .flowMainBlock .innerWrap .flexBox .subImg1 {
        display: block;
        position: relative; }
      .flowMainBlock .innerWrap .flexBox .subImg1::after {
        content: "";
        position: absolute;
        background: url("../img/flow/subTxt1_pc@2x.png");
        width: 230px;
        height: 165px;
        bottom: 40px;
        right: -200px;
        background-size: cover;
        z-index: 51; }
    .flowMainBlock .innerWrap .bg1 {
      position: absolute;
      bottom: 0;
      right: 0; }

/*omakaseBlock*/
.omakaseBlock {
  margin-top: -20px;
  position: relative;
  z-index: 20; }
  .omakaseBlock .innerWrap {
    padding-top: 80px;
    max-width: 1000px;
    width: 90%; }
    .omakaseBlock .innerWrap .contentWrap {
      display: flex;
      flex-wrap: wrap; }
      .omakaseBlock .innerWrap .contentWrap .contentBox {
        width: 50%;
        max-width: 500px;
        position: relative;
        margin-top: 50px; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .icon {
          position: absolute;
          z-index: 4;
          top: -30px;
          left: 0px; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subImg {
          margin: 0 auto 30px;
          display: block; }
          .omakaseBlock .innerWrap .contentWrap .contentBox .subImg img {
            width: 100%;
            height: auto;
            pointer-events: none; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt {
          position: absolute;
          z-index: 4;
          top: 268px;
          right: 83px; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt0 {
          position: relative;
          z-index: 4;
          top: -40px;
          left: -10px; }
          .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt0 img {
            max-width: 100%;
            height: auto; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt1 {
          position: relative;
          z-index: 4;
          top: -36px;
          left: -60px; }
          .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt1 img {
            max-width: 100%;
            height: auto; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt0 + .text {
          margin-top: -100px; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt1 + .text {
          margin-top: -170px;
          margin-left: 120px; }
        .omakaseBlock .innerWrap .contentWrap .contentBox .text {
          color: #4c1e1e;
          padding: 10px 20px;
          font-family: 'Hiragino Mincho ProN', YuMincho, 'Yu Mincho',  'serif';
          font-weight: 600;
          font-size: 1em;
          transition: 1s;
          text-align: left; }
      .omakaseBlock .innerWrap .contentWrap .content1 {
        margin-top: 280px; }
      .omakaseBlock .innerWrap .contentWrap .attentionText {
        width: 100%;
        background: #825b5b;
        color: #fff;
        padding: 10px;
        margin-bottom: 60px; }
        .omakaseBlock .innerWrap .contentWrap .attentionText .text {
          margin-bottom: 0; }
    .omakaseBlock .innerWrap .bg6 {
      position: absolute;
      top: 0;
      right: 0; }
    .omakaseBlock .innerWrap .sampleWrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .omakaseBlock .innerWrap .sampleWrap .subTxt {
        margin-bottom: 30px;
        display: block; }
      .omakaseBlock .innerWrap .sampleWrap .leftBox {
        width: 48%; }
        .omakaseBlock .innerWrap .sampleWrap .leftBox img {
          width: 100%;
          height: auto; }
      .omakaseBlock .innerWrap .sampleWrap .rightBox {
        width: 48%;
        text-align: end; }
        .omakaseBlock .innerWrap .sampleWrap .rightBox img {
          width: 100%;
          height: auto; }

/*shindanBlock*/
.shindanBlock .innerWrap {
  padding-top: 90px;
  max-width: 1000px;
  width: 90%;
  position: relative; }
  .shindanBlock .innerWrap .subTxt6 {
    margin: 30px auto 60px;
    text-align: center;
    display: block; }
    .shindanBlock .innerWrap .subTxt6 img {
      max-width: 100%;
      height: auto;
      pointer-events: none;
      position: relative;
      z-index: 20; }
  .shindanBlock .innerWrap .subImg10 {
    margin: 0 auto 30px;
    text-align: center;
    display: block; }
    .shindanBlock .innerWrap .subImg10 img {
      width: 100%;
      height: auto;
      pointer-events: none;
      position: relative;
      z-index: 20; }
  .shindanBlock .innerWrap .textBox {
    display: flex;
    margin-top: -20px; }
    .shindanBlock .innerWrap .textBox .text {
      text-align: left;
      margin: 0;
      display: block;
      width: 33%; }
  .shindanBlock .innerWrap .bg2_pc {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 10%;
    width: 110%; }
    .shindanBlock .innerWrap .bg2_pc img {
      width: 100%;
      height: auto; }

/*faqBlock*/
.faqBlock {
  margin-top: 90px; }
  .faqBlock .innerWrap {
    padding-top: 90px;
    position: relative;
    max-width: 1000px;
    width: 90%; }
    .faqBlock .innerWrap .faqBox details {
      padding-left: 55px;
      margin-bottom: 25px; }
      .faqBlock .innerWrap .faqBox details summary {
        padding: 13px;
        max-width: 100%;
        list-style-image: none;
        position: relative;
        width: 100%;
        border-bottom: 1px solid #4c1e1e;
        cursor: pointer;
        transition: 1s;
        list-style: none; }
        .faqBlock .innerWrap .faqBox details summary .ttl {
          position: relative;
          color: #4c1e1e;
          font-family: 'Hiragino Mincho ProN', YuMincho, 'Yu Mincho',  'serif';
          font-weight: 900;
          display: inline-block;
          transition: 1s; }
        .faqBlock .innerWrap .faqBox details summary .ttl::before {
          content: "";
          background-image: url("../img/flow/arrow_down@2x.png");
          width: 23px;
          height: 20px;
          position: absolute;
          background-size: cover;
          top: 0;
          right: -55px; }
      .faqBlock .innerWrap .faqBox details summary::-webkit-details-marker {
        display: none; }
      .faqBlock .innerWrap .faqBox details summary:hover .ttl {
        color: #ce1558; }
      .faqBlock .innerWrap .faqBox details summary::marker {
        content: ""; }
      .faqBlock .innerWrap .faqBox details summary::before {
        content: "";
        background-image: url("../img/flow/icon02@2x.png");
        width: 50px;
        height: 50px;
        position: absolute;
        background-size: cover;
        top: 0;
        left: -55px; }
      .faqBlock .innerWrap .faqBox details .text {
        text-align: left;
        color: #4c1e1e;
        margin-bottom: 0; }
    .faqBlock .innerWrap .faqBox details[open] summary .ttl::before {
      content: "";
      background-image: url("../img/flow/arrow_up@2x.png");
      width: 23px;
      height: 20px;
      position: absolute;
      background-size: cover;
      top: 0;
      right: -55px; }

/*contactBlock*/
.contactBlock .bg3 {
  right: 0; }

@media screen and (max-width: 960px) {
  html {
    max-width: 960px;
    width: 100%; }

  body {
    max-width: 960px;
    width: 100%;
    background: url("../img/common/bg_sp@2x.jpg");
    background-size: cover;
    background-position: top;
    height: 1000px;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    /*flowMainBlock*/
    /*omakaseBlock*/
    /*shindanBlock*/
    /*contactBlock*/ }
    body .bg1 {
      top: 940px; }
    body .whiteWrapLow {
      max-width: 900px;
      width: 95%;
      border-bottom-right-radius: 10px;
      border-bottom-left-radius: 10px; }
    body .flowMainBlock .innerWrap {
      padding: 0;
      width: 100%; }
      body .flowMainBlock .innerWrap .flexBox {
        width: 100%;
        margin-top: 60px; }
        body .flowMainBlock .innerWrap .flexBox .subImg0::after {
          content: "";
          position: absolute;
          background: url("../img/flow/subTxt0_sp@2x.png");
          width: 219px;
          height: 170px;
          top: -20px;
          left: 240px;
          background-size: cover;
          z-index: 1; }
        body .flowMainBlock .innerWrap .flexBox .subImg1::after {
          content: "";
          position: absolute;
          background: url("../img/flow/subTxt1_sp@2x.png");
          width: 230px;
          height: 165px;
          top: -20px;
          right: 240px;
          background-size: cover;
          z-index: 51; }
        body .flowMainBlock .innerWrap .flexBox .rightBox {
          margin-top: 220px; }
    body .omakaseBlock .innerWrap {
      padding: 60px 0 60px;
      width: 100%; }
      body .omakaseBlock .innerWrap .contentWrap .contentBox {
        width: 100%;
        max-width: none; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .h3 {
          margin-left: 200px;
          margin-top: 90px;
          font-size: 1em; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .text {
          margin-left: 200px;
          font-size: 0.8em; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .icon {
          left: auto;
          right: 0; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt0 {
          position: relative;
          z-index: 4;
          top: -58px;
          left: -10px; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt0 + .text {
          margin-top: -190px;
          margin-left: 130px; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt1 {
          position: relative;
          z-index: 4;
          top: -52px;
          right: 31px; }
        body .omakaseBlock .innerWrap .contentWrap .contentBox .subTxt1 + .text {
          margin-top: -210px;
          margin-left: 140px; }
      body .omakaseBlock .innerWrap .contentWrap .bg6 {
        display: none; }
      body .omakaseBlock .innerWrap .contentWrap .content0 .subTxt {
        right: auto;
        left: -30px;
        top: 444px; }
      body .omakaseBlock .innerWrap .contentWrap .content1 {
        margin-top: 0; }
        body .omakaseBlock .innerWrap .contentWrap .content1 .subTxt {
          right: auto;
          left: -30px;
          top: 444px; }
      body .omakaseBlock .innerWrap .sampleWrap .leftBox {
        width: 100%; }
      body .omakaseBlock .innerWrap .sampleWrap .rightBox {
        width: 100%; }
    body .shindanBlock .innerWrap .textBox {
      display: block; }
      body .shindanBlock .innerWrap .textBox .text {
        width: 100%;
        margin-bottom: 10px; }
    body .contactBlock .bg3 {
      right: -30px; } }
