﻿

.main-area {
  padding-bottom: calc(100* (100vw /375));
  font-family: var(--hirakaku);
	overflow: hidden;
	box-sizing: border-box;
  color: #5A4D4D;
  font-weight: 300;
  background-color: #F2EFEA;
}

.main-area img {
	width: 100%;
	height: auto;
}

.sp_only {
	display: block;
}

.pc_only {
	display: none;
}

/************** common **************/
  .main-area .sec {
    width: calc(347* (100vw /375));
    position: relative;
  }

  .sec_text {
    font-size: calc(14* (100vw /375));
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: center;
  }

  .main-area h3 {
    width: max-content;
    font-size: calc(24* (100vw /375));
    letter-spacing: 0.1em;
    font-family: "minerva-modern", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  .item_img {
    position: relative;
    z-index: 5;
  }

  /*** sec_tax ***/
  .sec_tax {
    margin-top: calc(17* (100vw /375));
    position: relative;
    z-index: 5;
  }

  .sec_tax_center {
    text-align: center;
  }

  .sec_tax dt {
    margin-bottom: calc(5* (100vw /375));
    font-size: calc(11* (100vw /375));
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1em;
  }

  .sec_tax dd {
    font-size: calc(12* (100vw /375));
    font-weight: 300;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    line-height: 1.75;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }

/************** before.after **************/
  .sec01 .sec_box01::before,.sec01 .sec_box02::before,.sec01 .sec_box03 .sec_sub_box01::before,.sec01 .sec_box03 .sec_sub_box02::before,.sec01 .sec_box04::before,.sec01 .sec_box05::before,.sec01 .sec_box05::after {
    content: '';
    display: block;
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
    pointer-events: none;
  }

  .sec01 .sec_box01::before {
    width: calc(130* (100vw /375));
    height: calc(232* (100vw /375));
    top: auto;
    right: 0;
    left: auto;
    bottom: calc(25* (100vw /375));
    background-color: #E8CAC6;
  }

  .sec01 .sec_box02::before {
    width: calc(345* (100vw /375));
    height: calc(268* (100vw /375));
    top: calc(126* (100vw /375));
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #B5B0A6;
  }

  .sec01 .sec_box03 .sec_sub_box01::before {
    width: calc(112* (100vw /375));
    height: calc(205* (100vw /375));
    background-color: #ABC4AB;
  }

  .sec01 .sec_box03 .sec_sub_box02::before {
    width: calc(112* (100vw /375));
    height: calc(205* (100vw /375));
    right: 0;
    left: auto;
    background-color: #BFD7D9;
  }

  .sec01 .sec_box04::before {
    width: calc(345* (100vw /375));
    height: calc(268* (100vw /375));
    top: calc(126* (100vw /375));
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #B5B0A6;
  }

  .sec01 .sec_box05::before {
    width: calc(148* (100vw /375));
    height: calc(127* (100vw /375));
    top: calc(-6* (100vw /375));
    right: calc(7* (100vw /375));
    left: auto;
    mix-blend-mode: darken;
    background-image: url(../img/petal01.jpg);
  }

  .sec01 .sec_box05::after {
    width: calc(190* (100vw /375));
    height: calc(180* (100vw /375));
    top: auto;
    bottom: calc(-5* (100vw /375));
    left: calc(-28* (100vw /375));
    mix-blend-mode: darken;
    background-image: url(../img/petal02.jpg);
  }

/************** mv **************/
  .mv {
    margin: 0 auto calc(64* (100vw /375));
    position: relative;
  }

  .mv_img {
    margin: 0 auto calc(42* (100vw /375));
    width: 100%;
  }

  .mv_ttl {
    width: max-content;
    position: absolute;
    top: 12.1%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .mv_ttl p {
    font-family: "minerva-modern", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #C95661;
    font-size: calc(22* (100vw /375));
    letter-spacing: 0.109em;
  }

  .mv_ttl p:first-child {
    margin-bottom: calc(5* (100vw /375));
    font-size: calc(35* (100vw /375));
    letter-spacing: 0.075em;
  }

/************** sec01 **************/
  .sec01 {
    margin: 0 auto calc(60* (100vw /375));
  }

  .sec01 h3 {
    position: absolute;
    transform: rotate( -90deg );
    top: calc(153* (100vw /375));
    left: calc(-159* (100vw /375));
  }

  /*** sec_box01 ***/
  .sec01 .sec_box01 {
    margin: 0 0 calc(83* (100vw /375)) auto;
    width: calc(314* (100vw /375));
    position: relative;
  }

  .item_img01 {
    margin: 0;
    width: calc(280* (100vw /375));
  }

  /*** sec_box02 ***/
  .sec01 .sec_box02 {
    margin: 0 auto calc(75* (100vw /375));
    width: 100%;
    position: relative;
  }

  .item_img02 {
    margin: 0 auto;
    width: calc(328* (100vw /375));
  }

  .sec01 .sec_box02 .sec_tax {
    margin-top: calc(25* (100vw /375));
  }

  /*** sec_box03 ***/
  .sec01 .sec_box03 {
    margin: 0 auto calc(83* (100vw /375));
    width: 100%;
  }

  /*** .sec_sub_box01 ***/
  .sec01 .sec_box03 .sec_sub_box01 {
    margin-bottom: calc(25* (100vw /375));
    width: calc(300* (100vw /375));
    position: relative;
  }

  .item_img03 {
    margin: 0 0 0 auto;
    padding-top: calc(50* (100vw /375));
    width: calc(272* (100vw /375));
  }
  
  .sec01 .sec_box03 .sec_sub_box01 .sec_tax {
    margin-left: calc(30* (100vw /375));
  }

  /*** sec_sub_box02 ***/
  .sec01 .sec_box03 .sec_sub_box02 {
    margin: 0 0 calc(30* (100vw /375)) auto;
    width: calc(300* (100vw /375));
    position: relative;
  }

  .item_img04 {
    padding-top: calc(50* (100vw /375));
    width: calc(272* (100vw /375));
  }

  .sec01 .sec_box03 .sec_sub_box02 .sec_tax dd:last-child {
    margin-top: calc(11* (100vw /375));
  }

  /*** sec_box04 ***/
  .sec01 .sec_box04 {
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .item_img05 {
    margin: 0 auto;
    width: calc(328* (100vw /375));
  }

  .sec01 .sec_box04 .sec_tax {
    margin-top: calc(26* (100vw /375));
  }

  /*** sec_box05 ***/
  .sec01 .sec_box05 {
    margin: 0 auto calc(55* (100vw /375));
    padding-top: calc(75* (100vw /375));
    width: 100%;
    position: relative;
  }

  .sec01 .sec_box05 .sec_sub_box01 {
    margin-bottom: calc(25* (100vw /375));
    width: calc(250* (100vw /375));
  }

  .sec01 .sec_box05 .sec_sub_box02 {
    margin: 0 0 0 auto;
    width: calc(250* (100vw /375));
  }

  .sec_btn {
    margin: 0 auto;
    width: calc(345* (100vw /375));
    height: calc(50* (100vw /375));
    max-width: 100%;
    max-height: 100%;
    background-color: #5A4D4D;
    font-size: calc(14* (100vw /375));
    letter-spacing: 0.1em;
    color: #FFFFFF;
  }

/************** sec02 **************/
  .sec02 {
    margin: 0 auto calc(58* (100vw /375));
    padding: calc(50* (100vw /375)) 0;
    width: calc(347* (100vw /375));
    border: 1px solid #C95661;
    display: flex;
    flex-direction: column;
  }

  .sec02 h3 {
    margin: 0 auto calc(13* (100vw /375));
    font-size: calc(34* (100vw /375));
    color: #C95661;
    order: 1;
  }

  .sec02 .sec_text {
    margin-bottom: calc(24* (100vw /375));
    order: 2;
  }

  .gift_img {
    margin: 0 auto calc(30* (100vw /375));
    width: calc(280* (100vw /375));
    order: 3;
  }

  .gift_btn {
    margin: 0 auto;
    width: calc(280* (100vw /375));
    height: calc(50* (100vw /375));
    max-width: 100%;
    max-height: 100%;
    background-color: #C95661;
    font-size: calc(14* (100vw /375));
    letter-spacing: 0.1em;
    color: #FFFFFF;
    order: 4;
  }


/************** btn **************/
  .sec_btn a {
    margin: 0 auto;
    width: calc(345* (100vw /375));
    height: calc(50* (100vw /375));
    max-width: 100%;
    max-height: 100%;
    background-color: #5A4D4D;
    font-size: calc(14* (100vw /375));
    letter-spacing: 0.1em;
    color: #FFFFFF;
  }


/* ===============================================
### PC用デザイン###
=============================================== */
@media screen and (min-width:768px) {
  .sp_only {
    display: none;
  }

  .pc_only {
    display: block;
  }

  .main-area {
    margin: 0 auto;
    padding: 1rem 0 10.5rem;
  }

/************** common **************/
  .main-area .sec {
    width: min(100%, 124rem);
    padding: 0 2rem;
  }

  .sec_text {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 2;
  }

  .main-area h3 {
    font-size: 3.6rem;
  }

  /*** sec_tax ***/
  .sec_tax {
    margin: 2.1rem 0 0 ;
  }

  .sec_tax dt {
    margin-bottom: .5rem;
    font-size: 1.1rem;
  }

  .sec_tax dd {
    font-size: 1.2rem;
  }

  .flex_box {
    display: flex;
    justify-content: space-between;
  }

/************** before.after **************/
  .sec01 .sec_box01::before {
    width: 20rem;
    height: 36rem;
    top: auto;
    right: 0.3rem;
    left: auto;
    bottom: 0.4rem;
  }

  .sec01 .sec_box02::before {
    width: 63rem;
    height: 49rem;
    top: 23.1rem;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .sec01 .sec_box03 .sec_sub_box01::before {
    width: 20rem;
    height: 36rem;
  }

  .sec01 .sec_box03 .sec_sub_box02::before {
    width: 20rem;
    height: 36rem;
    right: 0;
    left: auto;
    top: auto;
    bottom: 4.2rem;
  }

  .sec01 .sec_box04::before {
    width: 63rem;
    height: 49rem;
    top: 23.1rem;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .sec01 .sec_box05::before {
    width: 14.8rem;
    height: 12.7rem;
    top: 3.8rem;
    right: -6.1rem;
    left: auto;
  }

  .sec01 .sec_box05::after {
    width: 19.0rem;
    height: 18.0rem;
    top: auto;
    bottom: -5.5rem;
    left: -6.8rem;
  }

/************** mv **************/
  .mv {
    margin: 0 auto 7.3rem;
    width: min(100%, 124rem);
    padding: 0 2rem;
  }

  .mv_img {
    margin: 0 auto 5.4rem;
    width: 100%;
  }

  .mv_ttl {
    top: 36.6%;
    left: 64.8%;
    transform: translate(-50%, -50%);
  }

  .mv_ttl p {
    font-size: 3.5rem;
    letter-spacing: 0.109em;
  }

  .mv_ttl p:first-child {
    margin-bottom: .7rem;
    font-size: 5.5rem;
    letter-spacing: 0.075em;
  }

/************** sec01 **************/
  .sec01 {
    margin: 0 auto 11rem;
  }

  .sec01 h3 {
    position: absolute;
    transform: rotate( -90deg );
    top: 23rem;
    left: 9.2rem;
  }

  /*** sec_box01 ***/
  .sec01 .sec_box01 {
    margin: 0 auto 11.9rem;
    width: 54.6rem;
  }

  .item_img01 {
    margin: 0 auto;
    width: 44rem;
  }
  .sec01 .sec_box01 .sec_tax {
    margin: 2.1rem 0 0 5.3rem;
  }

  /*** sec_box02 ***/
  .sec01 .sec_box02 {
    margin: 0 auto 10.5rem;
    width: 100%;
  }

  .item_img02 {
    margin: 0 auto;
    width: 60rem;
  }

  .sec01 .sec_box02 .sec_tax {
    margin-top: 3.7rem;
  }

  /*** sec_box03 ***/
  .sec01 .sec_box03 {
    margin: 0 auto 12rem;
    width: 100%;
  }

  /*** .sec_sub_box01 ***/
  .sec01 .sec_box03 .sec_sub_box01 {
    margin-bottom: 0;
    width: 53rem;
  }

  .item_img03 {
    margin: 0 0 0 auto;
    padding-top: 9rem;
    width: 48rem;
  }

  .sec01 .sec_box03 .sec_sub_box01 .sec_tax {
    margin-left: 5rem;
  }

  /*** sec_sub_box02 ***/
  .sec01 .sec_box03 .sec_sub_box02 {
    margin: 30rem 0 0 0;
    width: 53rem;
  }

  .item_img04 {
    padding-top: 0;
    width: 48rem;
  }

  .sec01 .sec_box03 .sec_sub_box02 .sec_tax dd:last-child {
    margin-top: 1.1rem;
  }

  /*** sec_box04 ***/
  .sec01 .sec_box04 {
    margin: 0 auto;
    width: 100%;
  }

  .item_img05 {
    margin: 0 auto;
    width: 60rem;
  }

  .sec01 .sec_box04 .sec_tax {
    margin-top: 3.7rem;
  }

  /*** sec_box05 ***/
  .sec01 .sec_box05 {
    margin: 0 auto 7.5rem;
    padding-top: 10.5rem;
    width: 86rem;
  }

  .sec01 .sec_box05 .sec_sub_box01 {
    margin-bottom: 0;
    width: 40rem;
  }

  .sec01 .sec_box05 .sec_sub_box02 {
    margin: 15rem 0 0 0;
    width: 40rem;
  }

  .sec_btn {
    margin: 0 auto;
    width: 36rem;
    height: 5.0rem;
    font-size: 1.4rem;
  }

/************** sec02 **************/
  .sec02 {
    margin: 0 auto 7.8rem;
    padding: 0;
    width: 86rem;
    display: grid;
    grid-template-columns: 10rem 30rem 5.9rem 28.2rem 11.9rem;
    grid-template-rows: 5rem 5.3rem 3.8rem 1.9rem 8.2rem 3.6rem 4.9rem 5.2rem 5rem;
  }

  .sec02 h3 {
    margin: 0;
    font-size: 3.4rem;
    grid-column: 4 / 5;
    grid-row: 3 / 4;
  }

  .sec02 .sec_text {
    margin-bottom: 0;
    grid-column: 4 / 5;
    grid-row: 5 / 6;
    text-align: left;
  }

  .gift_img {
    margin: 0;
    width: 30em;
    grid-column: 2 / 3;
    grid-row: 2 / 9;
  }

  .gift_btn {
    margin: 0;
    width: 28.0rem;
    height: 5.0rem;
    font-size: 1.4rem;
    grid-column: 4 / 5;
    grid-row: 7 / 8;
  }

/************** btn **************/
  .sec_btn a {
    margin: 0 auto;
    width: 36rem;
    height: 5.0rem;
    font-size: 1.4rem;
  }

}

/************************************************
タブレット用デザイン
*************************************************/

/* パンくず 追加スタイル PC */
@media only screen and (min-width: 768px) {
  .breadcrumb__list{
    padding-bottom: 1.6rem;
  }
}

