﻿
  .main-area {
    font-family: var(--hirakaku);
    font-weight: normal;
    overflow: hidden;
    box-sizing: border-box;
  }

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

  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }


/************** common **************/
  .sec {
    position: relative;
  }

  .sec::before {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height: 84%;
    content: '';
    display: block;
    position: absolute;
    top: calc(165* (100vw /375));
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FCF0F0;
    z-index: -1;
  }

  .sec03::before {
    height: 86%;
  }

  /*** h3 ***/
  .sec h3 {
    margin: 0 auto calc(20* (100vw /375));
    width: max-content;
    font-family: var(--roboto);
    color: #E16E71;
    font-weight: 700;
    letter-spacing: 0.03em;
    font-size: calc(30* (100vw /375));
    display: flex;
    align-items: center;
  }

  .sec h3 span {
    display: block;
  }

  .sec h3 span:nth-child(1) {
    margin: calc(10* (100vw /375)) calc(10* (100vw /375)) 0 0;
    font-weight: 900;
    letter-spacing: 0.05em;
    color: transparent;
    -webkit-text-stroke: 1px #E16E71;
    text-stroke: 1px #E16E71;
  }

  .sec h3 span:nth-child(2) {
    font-size: calc(46* (100vw /375));
  }

  .sec h3 span:nth-child(3) {
    margin-top: calc(10* (100vw /375));
  }

  /*** sec_item ***/
  .sec_item {
    margin: 0 auto calc(40* (100vw /375));
    width: calc(355* (100vw /375));
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(38* (100vw /375)) 0;
  }

  .sec_item li {
    width: calc(170* (100vw /375));
  }

  .sec_img {
    margin-bottom: calc(12* (100vw /375));
  }

  .sec_item li p {
    margin-bottom: calc(6* (100vw /375));
    font-size: calc(13* (100vw /375));
    letter-spacing: 0.075em;
    font-weight: 300;
    line-height: 1.75;
  }

  .sec_item li p:last-child {
    font-family: var(--quattrocento-sans);
    font-size: calc(12* (100vw /375));
    letter-spacing: 0.075em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    font-weight: 400;
  }

  /*** sec_btn ***/
  .sec .sec_btn {
    margin: 0 auto;
    width: calc(315* (100vw /375));
    height: calc(50* (100vw /375));
    font-size: calc(14* (100vw /375));
    font-weight: 600;
    letter-spacing: 0.075em;
    max-width: 100%;
    max-height: 100%;
    background-color: #E16E71;
    color: #FCF0F0;
  }

/************** js **************/

  /*** 矢印 ***/
  .link_box li .scrollArrow {
    width: 7px;
    position: absolute;
    top: auto;
    bottom: calc(-37* (100vw /375));
    left: calc(19* (100vw /375));
  }

  .link_box li:nth-child(1) {
    width: 100%;
  }

  .link_box li:nth-child(1) .scrollArrow {
    bottom: calc(-37* (100vw /375));
    left: calc(112* (100vw /375));
  }

  .scrollArrow .line {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    animation: draw 3s ease infinite;
  }

  @keyframes draw {
    0% {
      stroke-dashoffset: 0;
    }
    50% {
      stroke-dashoffset: 200;
    }
    100% {
      stroke-dashoffset: 400;
    }
  }
  

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

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

  .mv h2 {
    margin-right: -.075em;
    margin-bottom: calc(17* (100vw /375));
    font-size: calc(18* (100vw /375));
    letter-spacing: 0.075em;
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
  }

  .mv p {
    margin-right: -.075em;
    font-size: calc(14* (100vw /375));
    letter-spacing: 0.075em;
    line-height: 2;
    font-weight: 300;
    text-align: center;
  }

/************** link_box **************/
  .link_box {
    margin: 0 auto calc(100* (100vw /375));
    width: calc(355* (100vw /375));
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(54* (100vw /375)) 0;
    transition: transform 1s,opacity 1s;
  }

  .link_box li {
    width: calc(170* (100vw /375));
    position: relative;
  }

  .link_box li:nth-child(1) {
    width: 100%;
  }

  .link_box li a {
    width: calc(170* (100vw /375));
    padding: calc(20* (100vw /375)) calc(40* (100vw /375)) calc(15* (100vw /375));
    background-image: linear-gradient( 170deg, #FAD2D3, #FFFDEF );
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
  }

  .link_box li a::before{
    width: 90%;
    height: 89%;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: '';
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px solid #E16E71;
    pointer-events: none;
  }

  .link_box li a:nth-child(1) {
    margin: 0 auto;
  }

  .link_box li a p {
    width: max-content;
    font-family: var(--roboto);
  }

  .link_box li a p:nth-child(1) {
    margin-bottom: calc(-5* (100vw /375));
    font-size: calc(24* (100vw /375));
    letter-spacing: 0.05em;
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke: 1px #E16E71;
    text-stroke: 1px #E16E71;
  }

  .link_box li a p:nth-child(2) {
    font-size: calc(30* (100vw /375));
    letter-spacing: 0.03em;
    font-weight: 700;
    color: #E16E71;
  }

  .link_box li a p:nth-child(2) span {
    font-size: calc(46* (100vw /375));
  }

  .link_box li a .svg-img {
    position: absolute;
    width: calc(70* (100vw /375));
    top: auto;
    right: calc(-9* (100vw /375));
    bottom: calc(8* (100vw /375));
    left: auto;
  }

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

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

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

/************** btn **************/
  .last_btn {
    margin: calc(20* (100vw /375)) auto 0;
    width: calc(315* (100vw /375));
    height: calc(50* (100vw /375));
    font-size: calc(14* (100vw /375));
    font-weight: 600;
    letter-spacing: 0.075em;
    max-width: 100%;
    max-height: 100%;
    background-color: transparent;
    color: #E16E71;
    border: 1px solid #E16E71;
  }


/* ===============================================
### PC用デザイン###
=============================================== */
@media screen and (min-width:768px) {

  .sp_only {
    display: none;
  }

  .pc_only {
    display: block;
  }

/************** common **************/
  .sec::before {
    top: 26rem;
    height: 68%;
  }

  .sec03::before {
    height: 72%;
  }

  /*** h3 ***/
  .sec h3 {
    margin: 0 auto 3.2rem;
    letter-spacing: 0.03em;
    font-size: 4.0rem;
  }

  .sec h3 span:nth-child(1) {
    margin: 1.0rem 1.0rem 0 0;
  }

  .sec h3 span:nth-child(2) {
    font-size: 6rem;
  }

  .sec h3 span:nth-child(3) {
    margin-top: 1.0rem;
  }

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

  .sec_item li {
    width: 27.0rem;
  }

  .sec_img {
    margin-bottom: 1.4rem;
  }

  .sec_item li p {
    margin-bottom: 1.3rem;
    font-size: 1.3rem;
  }

  .sec_item li p:last-child {
    font-size: 1.2rem;
  }

  /*** sec_btn ***/
  .sec .sec_btn {
    margin: 0 auto;
    width: 40rem;
    height: 6.0rem;
    font-size: 1.6rem;
  }

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

  .mv_img {
    margin: 0 auto 5.5rem;
  }

  .mv h2 {
    margin-bottom: 2.5rem;
    font-size: 2rem;
  }

  .mv p {
    font-size: 1.6rem;
  }

/************** link_box **************/
  .link_box {
    margin: 0 auto 15rem;
    width: 100rem;
    gap: 0;
  }

  .link_box li {
    width: 27rem;
  }

  .link_box li .scrollArrow {
    width: 10px;
    position: absolute;
    top: auto;
    bottom: -4.6rem;
    left: 2.7rem;
  }

  .link_box li:nth-child(1) {
    width: 27rem;
  }

  .link_box li:nth-child(1) .scrollArrow {
    bottom: -4.6rem;
    left: 2.7rem;
  }

  .link_box li a {
    width: 100%;
    padding: 3.7rem 3.8rem 3.3rem;
    transition: all .5s ease-in-out;
  }
  
  .link_box li a:hover {
    opacity: 1;
  }

  .link_box li a::before{
    width: 93%;
    height: 90%;
    top: 50.5%;
    left: 50%;
  }

  .link_box li a:nth-child(1) {
    margin: 0;
  }

  .link_box li a p:nth-child(1) {
    margin-bottom: -.5rem;
    font-size: 3.6rem;
  }

  .link_box li a p:nth-child(2) {
    font-size: 4.5rem;
  }

  .link_box li a p:nth-child(2) span {
    font-size: 6.3rem;
  }

  .link_box li a .svg-img {
    position: absolute;
    width: 11.6rem;
    top: auto;
    right: -3rem;
    bottom: 1.5rem;
    left: auto;
    opacity: 0;
    transition: all .5s ease-in-out;
  }

  .link_box li a:hover .svg-img {
    opacity: 1;
  }

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

/************** sec02 **************/
  .sec02 {
    margin: 0 auto 16.8rem;
  }

  .sec02 .sec_item li:nth-child(3) p {
    letter-spacing: 0.07em;
  }

/************** sec03 **************/
  .sec03 {
    margin: 0 auto 16rem;
  }

/************** btn **************/
  .last_btn {
    margin: 2.0rem auto 0;
    width: 40rem;
    height: 6.0rem;
    font-size: 1.7rem;
  }

}



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

