@charset "UTF-8";
/*------------------------------
  共通
------------------------------*/
section {
  text-align: center; }

.btn-border-shadow {
  width: 65.1vw;
  margin: 0 auto 20px;
  padding: 34px 0;
  color: #fff;
  font-size: 3.12vw;
  position: relative; }
  @media all and (max-width: 580px) {
    .btn-border-shadow {
      margin: 0 auto 10px;
      padding: 17px 0; } }
  @media all and (min-width: 769px) {
    .btn-border-shadow {
      max-width: 360px;
      padding: 24px 0;
      font-size: 17px; } }
  .btn-border-shadow i {
    color: #fff; }
  .btn-border-shadow:before {
    width: 100%;
    height: 100%;
    background: #666;
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: -1; }
    @media all and (max-width: 580px) {
      .btn-border-shadow:before {
        top: 4px;
        left: 4px; } }
  .btn-border-shadow:hover {
    padding: 34px 0; }
    @media all and (max-width: 580px) {
      .btn-border-shadow:hover {
        padding: 17px 0; } }
    @media all and (min-width: 769px) {
      .btn-border-shadow:hover {
        padding: 24px 0; } }
    .btn-border-shadow:hover:before {
      top: 0;
      left: 0; }

.btn-border-shadow--color {
  border: solid 1px #000; }

/*------------------------------
  HEADER
------------------------------*/
header h1 {
  width: 81.3vw;
  margin: 0 auto 35px;
  padding-top: 64px; }
  @media all and (max-width: 580px) {
    header h1 {
      margin: 0 auto 17.5px;
      padding-top: 32px; } }
  @media all and (min-width: 769px) {
    header h1 {
      max-width: 477px; } }
  header h1 img {
    width: 100%;
    display: block; }

/*------------------------------
  KV
------------------------------*/
#kv {
  padding-bottom: 114px;
  background: #e4dae0; }
  @media all and (max-width: 580px) {
    #kv {
      padding-bottom: 57px; } }
  @media all and (min-width: 769px) {
    #kv {
      padding-bottom: 85px; } }
  #kv .wrap_kv {
    background: linear-gradient(180deg, #fff 0%, #fff 70%, #e4dae0 70%, #e4dae0 100%); }
    #kv .wrap_kv img {
      width: 85.9vw;
      margin: auto;
      display: block; }
      @media all and (min-width: 769px) {
        #kv .wrap_kv img {
          max-width: 800px; } }
  #kv h2 {
    width: 68.3vw;
    margin: 85px auto 45px; }
    @media all and (max-width: 580px) {
      #kv h2 {
        margin: 42px auto 22px; } }
    @media all and (min-width: 769px) {
      #kv h2 {
        max-width: 400px;
        margin: 35px auto; } }
    #kv h2 img {
      width: 100%;
      display: block; }
  #kv .txt {
    margin-bottom: 40px;
    font-size: 3.12vw;
    line-height: 1.8em; }
    @media all and (max-width: 580px) {
      #kv .txt {
        margin-bottom: 20px; } }
    @media all and (min-width: 769px) {
      #kv .txt {
        margin-bottom: 27px;
        font-size: 16px;
        font-weight: 500; } }
    #kv .txt:last-of-type {
      margin-bottom: 0; }

/*------------------------------
  SONOのセレモニー服とは？
------------------------------*/
#info {
  padding-top: 100px; }
  @media all and (max-width: 580px) {
    #info {
      padding-top: 50px; } }
  @media all and (min-width: 769px) {
    #info {
      padding-top: 70px;
      padding-bottom: 100px; } }
  #info h2 {
    width: 67.7vw;
    margin: auto; }
    @media all and (min-width: 769px) {
      #info h2 {
        max-width: 320px; } }
    #info h2 img {
      width: 100%; }
  #info .h_point {
    margin-bottom: 20px;
    font-size: 5.72vw;
    font-weight: 400;
    letter-spacing: 0.2em; }
    @media all and (max-width: 580px) {
      #info .h_point {
        margin-bottom: 10px; } }
    @media all and (min-width: 769px) {
      #info .h_point {
        margin-bottom: 10px;
        font-size: 20px; } }
    #info .h_point span {
      color: #b499b2; }
    #info .h_point img {
      width: 22vw;
      margin: 0 auto 20px;
      display: block; }
      @media all and (max-width: 580px) {
        #info .h_point img {
          margin: 0 auto 10px; } }
      @media all and (min-width: 769px) {
        #info .h_point img {
          max-width: 80px;
          margin: 0 auto 10px; } }
  @media all and (min-width: 769px) {
    #info .list_info {
      margin: auto;
      max-width: 1080px;
      width: 95%;
      display: flex;
      justify-content: center; } }
  #info .list_info li {
    padding-top: 74px; }
    @media all and (max-width: 580px) {
      #info .list_info li {
        padding-top: 37px; } }
    @media all and (min-width: 769px) {
      #info .list_info li {
        max-width: 345px;
        padding-top: 30px;
        margin-right: 2.3vw; } }
    @media all and (min-width: 769px) {
      #info .list_info li:last-of-type {
        margin-right: 0; } }
    #info .list_info li .box_inner {
      background: linear-gradient(180deg, #fff 0%, #fff 50%, #ede7e7 50%, #ede7e7 100%); }
      #info .list_info li .box_inner img {
        width: 85.9vw;
        margin: auto;
        display: block; }
        @media all and (min-width: 769px) {
          #info .list_info li .box_inner img {
            width: 91%;
            max-width: 314px; } }
    #info .list_info li .txt {
      padding: 44px 0 90px;
      background: #ede7e7;
      font-size: 3.12vw;
      line-height: 1.8em; }
      @media all and (max-width: 580px) {
        #info .list_info li .txt {
          padding: 22px 0 45px; } }
      @media all and (min-width: 769px) {
        #info .list_info li .txt {
          padding: 25px 5% 30px;
          font-size: 12px;
          font-weight: 500;
          letter-spacing: 0em; } }

/*------------------------------
  商品詳細 共通
------------------------------*/
.h_type {
  margin-bottom: 35px;
  font-size: 4.42vw;
  font-weight: 500;
  line-height: 1.2em; }
  @media all and (max-width: 580px) {
    .h_type {
      margin-bottom: 17px; } }
  @media all and (min-width: 769px) {
    .h_type {
      margin-bottom: 25px;
      font-size: 16px; } }
  @media all and (min-width: 1025px) {
    .h_type {
      font-size: 20px; } }
  .h_type img {
    width: 21.4vw;
    margin: 0 auto 22px;
    display: block; }
    @media all and (max-width: 580px) {
      .h_type img {
        margin: 0 auto 11px; } }
    @media all and (min-width: 769px) {
      .h_type img {
        width: 118px; } }
  #setup .list_pro li .h_type span {
    color: #a59598; }
  #setup .list_pro li:nth-of-type(2n) .h_type span {
    color: #8a9d92; }
  #onepiece .list_pro li .h_type span {
    color: #767384; }
  #onepiece .list_pro li:nth-of-type(2n) .h_type span {
    color: #90a8b3; }

.box_product {
  padding: 100px 0 25px; }
  @media all and (max-width: 580px) {
    .box_product {
      padding: 50px 0 12px; } }
  @media all and (min-width: 769px) {
    .box_product {
      padding: 77px 0 100px; } }
  .box_product h2 {
    margin-bottom: 25px; }
    @media all and (max-width: 580px) {
      .box_product h2 {
        margin-bottom: 12px; } }
    .box_product h2 img {
      width: 78.9vw; }
      @media all and (min-width: 769px) {
        .box_product h2 img {
          max-width: 425px; } }
  .box_product .lede {
    margin-bottom: 60px;
    font-size: 3.12vw;
    line-height: 1.8em; }
    @media all and (max-width: 580px) {
      .box_product .lede {
        margin-bottom: 30px; } }
    @media all and (min-width: 769px) {
      .box_product .lede {
        width: 90%;
        margin: 0 auto 42px;
        font-size: 14px;
        font-weight: 500;
        line-height: 2em; } }
  @media all and (min-width: 769px) {
    .box_product .list_pro {
      width: 95%;
      max-width: 1100px;
      margin: auto;
      display: flex; } }
  @media all and (min-width: 1025px) {
    .box_product .list_pro {
      width: 100%; } }
  .box_product .list_pro li {
    padding-bottom: 75px; }
    @media all and (max-width: 580px) {
      .box_product .list_pro li {
        padding-bottom: 37px; } }
    @media all and (min-width: 769px) {
      .box_product .list_pro li {
        padding-bottom: 28px; } }
    .box_product .list_pro li > img {
      width: 100%;
      margin-bottom: 37px; }
      @media all and (max-width: 580px) {
        .box_product .list_pro li > img {
          margin-bottom: 18px; } }
      @media all and (min-width: 769px) {
        .box_product .list_pro li > img {
          max-width: 550px; } }
    .box_product .list_pro li .txt {
      margin-bottom: 32px;
      font-size: 3.12vw;
      line-height: 1.8em; }
      @media all and (max-width: 580px) {
        .box_product .list_pro li .txt {
          margin-bottom: 16px; } }
      @media all and (min-width: 769px) {
        .box_product .list_pro li .txt {
          width: 90%;
          margin-left: auto;
          margin-right: auto;
          font-size: 14px; } }
      @media all and (min-width: 1025px) {
        .box_product .list_pro li .txt {
          width: 100%; } }

/*------------------------------
  商品詳細 セットアップ
------------------------------*/
#setup {
  border-top: solid 20px #bdc6c1; }
  @media all and (max-width: 580px) {
    #setup {
      border-top: solid 10px #bdc6c1; } }
  #setup .btn-border-shadow:before {
    background: #bdc6c1; }
  @media all and (min-width: 769px) {
    #setup .list_pro:nth-of-type(2) {
      margin-top: 70px; } }

/*------------------------------
  商品詳細 ワンピース
------------------------------*/
#onepiece {
  border-top: solid 20px #90a8b3; }
  @media all and (max-width: 580px) {
    #onepiece {
      border-top: solid 10px #90a8b3; } }
  #onepiece .btn-border-shadow:before {
    background: #a8c0cb; }

/*------------------------------
  商品詳細 コート
------------------------------*/
#coat {
  border-top: solid 20px #b499b2; }
  @media all and (max-width: 580px) {
    #coat {
      border-top: solid 10px #b499b2; } }
  #coat .btn-border-shadow--color {
    display: block; }
  #coat .btn-border-shadow:before {
    background: #b499b2; }
  @media all and (min-width: 769px) {
    #coat .list_pro li {
      width: 100%; } }
  @media all and (min-width: 769px) {
    #coat .list_pro li img {
      margin: 0 auto 40px; } }

/*------------------------------
  プレゼント
------------------------------*/
#present {
  padding: 105px 0;
  background: #d4cdc8; }
  @media all and (max-width: 580px) {
    #present {
      padding: 52px 0; } }
  #present h2 {
    width: 29vw;
    margin: auto;
    position: relative;
    top: -5vw; }
    @media all and (min-width: 769px) {
      #present h2 {
        max-width: 220px;
        top: -45px; } }
    #present h2 img {
      width: 100%; }
  #present .lede {
    margin-bottom: 30px;
    font-size: 3.64vw;
    line-height: 1.8em; }
    @media all and (max-width: 580px) {
      #present .lede {
        margin-bottom: 15px; } }
    @media all and (min-width: 769px) {
      #present .lede {
        margin-bottom: 40px;
        font-size: 18px; } }
    #present .lede .f_120 {
      color: #b499b2;
      font-weight: 500; }
  @media all and (min-width: 769px) {
    #present .wrap_present {
      width: 87%;
      margin: auto;
      display: flex;
      justify-content: center; } }
  @media all and (min-width: 769px) {
    #present .wrap_present li {
      width: 50%;
      margin-right: 3.8%; } }
  @media all and (min-width: 769px) {
    #present .wrap_present li:last-of-type {
      margin-right: 0; } }
  #present .img_present {
    width: 80.4vw;
    margin: 0 auto 70px; }
    @media all and (max-width: 580px) {
      #present .img_present {
        margin: 0 auto 35px; } }
    @media all and (min-width: 769px) {
      #present .img_present {
        width: 100%;
        margin-bottom: 0;
        max-width: 438px; } }
  #present .box_inner {
    width: 86.9vw;
    margin: auto;
    padding: 15px 0 45px;
    background: #fff; }
    @media all and (max-width: 580px) {
      #present .box_inner {
        padding: 8px 0 22px; } }
    @media all and (min-width: 769px) {
      #present .box_inner {
        width: 95%;
        max-width: 1000px;
        padding: 10px 0 40px; } }
  #present h3, #present .txt {
    width: 69vw;
    margin: auto;
    text-align: left; }
    @media all and (min-width: 769px) {
      #present h3, #present .txt {
        width: auto; } }
  #present h3 {
    margin-bottom: 30px;
    color: #b499b2;
    font-size: 4.16vw; }
    @media all and (max-width: 580px) {
      #present h3 {
        margin-bottom: 15px; } }
    @media all and (min-width: 769px) {
      #present h3 {
        margin-top: 10px;
        margin-bottom: 20px;
        font-size: 20px; } }
    @media all and (min-width: 1025px) {
      #present h3 {
        margin-top: 20px;
        margin-bottom: 30px; } }
  #present .txt {
    margin-bottom: 40px;
    font-size: 3.12vw;
    line-height: 1.5em; }
    @media all and (max-width: 580px) {
      #present .txt {
        margin-bottom: 20px; } }
    @media all and (min-width: 769px) {
      #present .txt {
        margin-bottom: 20px;
        font-size: 14px;
        font-weight: 500; } }
    @media all and (min-width: 769px) {
      #present .txt {
        margin-bottom: 30px; } }
    #present .txt:last-of-type {
      margin-bottom: 0; }

/*# sourceMappingURL=base.css.map */
