@charset "UTF-8";
/*------------------------
	Font
------------------------*/
/*------------------------
	Font
------------------------*/
@-webkit-keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}
@media (min-width: 835px) {
  /*------------------------
  	Font
  ------------------------*/
  /*------------------------
  	Font
  ------------------------*/
  #pageheader {
    padding: 20px;
    position: relative;
  }
  #pageheader .gallery .slick-slide {
    width: calc(100vw - 40px);
    height: calc(100vh - 40px);
  }
  #pageheader .gallery .slick-slide picture {
    border-radius: 50px 0;
    overflow: hidden;
  }
  #pageheader .gallery .slick-slide picture img {
    display: block;
    width: calc(100vw - 40px);
    height: calc(100vh - 40px);
    -o-object-fit: cover;
       object-fit: cover;
  }
  #pageheader .gallery .slidepager {
    width: 30px;
    position: absolute;
    left: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #pageheader .gallery .slidepager li {
    width: 30px;
    height: 30px;
    position: relative;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1rem;
    line-height: 30px;
    color: #fff;
  }
  #pageheader .gallery .slidepager li:not(:first-of-type) {
    margin-top: 20px;
  }
  #pageheader .gallery .slidepager li svg {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
  }
  #pageheader .gallery .slidepager li svg circle {
    fill: none;
    stroke: none;
  }
  #pageheader .gallery .slidepager li.slick-active svg circle {
    stroke: #fff;
    stroke-dasharray: 314;
    stroke-dashoffset: 314;
    stroke-width: 1px;
    -webkit-animation: dash 10s ease-in-out forwards;
            animation: dash 10s ease-in-out forwards;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  #pageheader .copy {
    position: absolute;
    right: 80px;
    bottom: 60px;
    z-index: 2;
    font-family: var(--fnt-min);
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #fff;
  }
  #pageheader .insta {
    width: 260px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.65);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    position: absolute;
    left: 40px;
    bottom: 35px;
  }
  #pageheader .insta::before, #pageheader .insta::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #pageheader .insta::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #EEECEB;
    left: 15px;
  }
  #pageheader .insta::after {
    font: var(--fa-font-brands);
    line-height: 1;
    content: "\f16d";
    left: 28px;
    font-size: 1.5rem;
    color: var(--col-hlt);
  }
  #pageheader .insta a {
    display: block;
    padding: 20px 35px 20px 70px;
    font-size: 1.3rem;
    line-height: 1.6;
    color: var(--col-hlt);
  }
  #pageheader .insta a::after {
    content: url(../img/cover_insta_arrow.svg);
    position: absolute;
    right: 10px;
    bottom: 5px;
  }
  #pageheader .scroll a {
    display: block;
    width: 102px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../../common/img/obj_tab.svg) center bottom/100% no-repeat;
    padding-bottom: 45px;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    color: #fff;
  }
  #pageheader .scroll a::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 50%;
    bottom: 10px;
    border-bottom: 1px solid var(--col-hlt);
    border-right: 1px solid var(--col-hlt);
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }
  main {
    padding-bottom: 80px;
  }
  main section:not(.contact) h2 {
    max-width: 20em;
    padding-left: 10px;
    position: absolute;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.5rem;
    color: var(--col-text-sub);
  }
  main section:not(.contact) h2::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    background: var(--col-text-sub);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #about .copy,
  main #location h3,
  main #plan header > .copy,
  main #plan h3,
  main #dress > .copy,
  main #schedule .copy,
  main #faq .copy,
  main #flow .copy {
    font-size: 1.3rem;
    color: var(--col-hlt);
  }
  main #about .copy > em,
  main #location h3 > em,
  main #plan header > .copy > em,
  main #plan h3 > em,
  main #dress > .copy > em,
  main #schedule .copy > em,
  main #faq .copy > em,
  main #flow .copy > em {
    display: block;
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
  }
  main #about .copy > span,
  main #location h3 > span,
  main #plan header > .copy > span,
  main #plan h3 > span,
  main #dress > .copy > span,
  main #schedule .copy > span,
  main #faq .copy > span,
  main #flow .copy > span {
    display: block;
    font-family: var(--fnt-min);
    font-size: 2.6rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: var(--col-text);
  }
  main #about {
    position: relative;
    background: url(../img/about_bg.jpg) left bottom/cover no-repeat;
    padding: 140px 0 145px;
  }
  main #about h2 {
    left: 4vw;
  }
  main #about .inner {
    width: 95%;
    max-width: 1100px;
    margin: 0 8.5% 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #about .inner figure {
    width: 45%;
    border-radius: 150px 0;
    overflow: hidden;
  }
  main #about .inner .details {
    width: 33%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  main #about .inner .details .copy em {
    font-size: 10rem;
  }
  main #about .inner .details .copy span {
    margin-top: 35px;
  }
  main #about .inner .details .note {
    margin-top: 35px;
  }
  main #location .intro {
    background: #D1CBC4;
    padding: 20px 0 0 20px;
    position: relative;
  }
  main #location .intro h2 {
    right: calc(-4.5em + 4vw);
  }
  main #location .intro .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #location .intro .inner figure {
    width: 49%;
    border-top-right-radius: 200px;
    overflow: hidden;
  }
  main #location .intro .inner .details {
    width: 33%;
    margin-left: 9%;
  }
  main #location .intro .inner h3 {
    text-align: center;
  }
  main #location .intro .inner h3 em {
    margin-bottom: 20px;
    font-size: 8rem;
  }
  main #location .intro .inner h3 span {
    margin-top: 30px;
  }
  main #location .intro .inner .note {
    margin-top: 45px;
  }
  main #location .venues {
    counter-reset: number;
  }
  main #location .chapter {
    position: sticky;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    padding: 80px 20px 85px 0;
  }
  main #location .chapter.garden {
    background: var(--col-bg-pale);
  }
  main #location .chapter.drawing {
    background: var(--col-bg-base);
  }
  main #location .chapter.sun {
    background: #D3D1CF;
  }
  main #location .chapter.cafe {
    background: #CCC9C7;
  }
  main #location .chapter.chapel {
    background: #BFB3A9;
  }
  main #location .chapter picture {
    width: 64%;
    border-top-left-radius: 200px;
    overflow: hidden;
  }
  main #location .chapter .details {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 26%;
    margin-right: 6%;
  }
  main #location .chapter .details h3 {
    text-align: center;
  }
  main #location .chapter .details h3::before {
    display: block;
    counter-increment: number;
    content: "Location ／ 0" counter(number);
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    margin-bottom: 15px;
  }
  main #location .chapter .details h3 em {
    font-size: 6rem;
    margin-bottom: 20px;
  }
  main #location .chapter .details .note {
    margin-top: 35px;
  }
  main #plan {
    background: url(../img/plan_bg.png) center top/100% no-repeat;
  }
  main #plan header {
    position: relative;
    padding: 150px 10% 170px 17%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  main #plan header h2 {
    left: 4%;
  }
  main #plan header > .copy em {
    font-size: 10rem;
  }
  main #plan header .details .copy {
    font-family: var(--fnt-min);
    font-size: 2.6rem;
  }
  main #plan header .details .note {
    margin-top: 35px;
  }
  main #plan .chapter {
    margin: 0 20px;
    padding-bottom: 60px;
    border-radius: 0 0 30px 30px;
    overflow: hidden;
    background: #fff;
  }
  main #plan .chapter + .chapter {
    margin-top: 40px;
  }
  main #plan .chapter .gallery li {
    padding: 0 5px;
  }
  main #plan .chapter * {
    text-align: center;
  }
  main #plan .chapter h3 {
    margin-top: 50px;
    text-align: center;
  }
  main #plan .chapter h3 > span {
    font-size: 1.8rem;
    line-height: 1;
  }
  main #plan .chapter h3 em {
    margin: 20px 0;
    font-size: 7rem;
  }
  main #plan .chapter h3 em span {
    font-family: "Cormorant Infant", serif;
    font-weight: 300;
    line-height: 1;
    font-weight: 300;
  }
  main #plan .chapter .price,
  main #plan .chapter .include {
    max-width: 1070px;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid var(--col-bd);
  }
  main #plan .chapter .price {
    margin-top: 40px;
    padding-top: 40px;
    font-size: 2.2rem;
    font-family: var(--fnt-min);
    line-height: 1;
    color: var(--col-hlt);
  }
  main #plan .chapter .price * {
    font-family: var(--fnt-min);
  }
  main #plan .chapter .price em {
    margin-right: 10px;
    font-size: 3.4rem;
    font-weight: 400;
  }
  main #plan .chapter .price em span {
    margin-right: 5px;
    font-size: 2.8rem;
  }
  main #plan .chapter .hour {
    margin-top: 15px;
    color: var(--col-hlt);
  }
  main #plan .chapter .include {
    margin-top: 40px;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5px;
  }
  main #plan .chapter .include dt {
    width: 100%;
    margin-bottom: 30px;
    line-height: 1;
  }
  main #plan .chapter .include dd {
    width: calc((100% - 20px) / 5);
    background: #D1CBC4;
    border-radius: 10px;
    font-size: 1.5rem;
    line-height: 40px;
    color: var(--col-hlt);
  }
  main #plan .chapter .option {
    margin-top: 35px;
  }
  main > .contact {
    background: url(../img/bg_clowd.jpg) center center/cover no-repeat;
    padding: 120px 0 0;
  }
  main > .contact .note {
    text-align: center;
    font-family: var(--fnt-min);
    font-size: 1.8rem;
    line-height: 2.3;
  }
  main > .contact .inner {
    width: 100%;
    max-width: 1400px;
    position: relative;
    margin: 40px auto 0;
    padding: 0 20px;
  }
  main > .contact .inner h2 * {
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    font-size: 10rem;
    letter-spacing: 0;
    color: rgba(112, 69, 53, 0.22);
  }
  main > .contact .inner h2 em {
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main > .contact .inner h2 em:first-of-type {
    left: 20px;
  }
  main > .contact .inner h2 em:first-of-type span {
    margin-left: 15px;
    font-size: 9rem;
  }
  main > .contact .inner h2 em:last-of-type {
    right: 20px;
    text-align: right;
  }
  main > .contact .inner .more a {
    display: block;
    width: 180px;
    height: 180px;
    margin: 0 auto;
    background: var(--col-hlt) url(../../common/img/icon_baloon.svg) center 55px/30px no-repeat;
    border-radius: 50%;
    padding-top: 100px;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 2rem;
    color: #fff;
  }
  main > .contact .gallery {
    margin-top: 160px;
  }
  main > .contact .gallery li {
    padding: 0 5px;
  }
  main #plan + .contact {
    padding-bottom: 160px;
  }
  main #dress {
    background: var(--col-bg-hlt);
    position: relative;
    padding-top: 140px;
  }
  main #dress h2 {
    left: 4%;
  }
  main #dress h2::before {
    background: #fff;
  }
  main #dress * {
    color: #fff;
  }
  main #dress > .copy {
    padding-left: 18%;
    color: #fff;
  }
  main #dress > .copy em {
    font-size: 10rem;
  }
  main #dress > .copy span {
    margin-top: 55px;
    font-size: 2.5rem;
    color: #fff;
  }
  main #dress > .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: -5rem;
  }
  main #dress > .inner figure {
    width: 44.3%;
    border-top-left-radius: 200px;
    overflow: hidden;
  }
  main #dress > .inner .details {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 55.7%;
    margin-top: 5rem;
    padding: 40px 11vw 0 0;
  }
  main #dress > .inner .details figure {
    display: none;
  }
  main #dress > .inner .details .note {
    padding-left: 18vw;
  }
  main #dress > .inner .details .catalog {
    margin-top: 90px;
  }
  main #dress > .inner .details .catalog dt, main #dress > .inner .details .catalog dd {
    padding-left: 18vw;
    line-height: 1;
  }
  main #dress > .inner .details .catalog dt, main #dress > .inner .details .catalog dd .more {
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
  }
  main #dress > .inner .details .catalog dt {
    border-bottom: 1px solid #fff;
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 1.8rem;
  }
  main #dress > .inner .details .catalog dt:not(:first-of-type) {
    margin-top: 60px;
  }
  main #dress > .inner .details .catalog dd {
    position: relative;
  }
  main #dress > .inner .details .catalog dd .more {
    display: block;
    width: 88px;
    height: 88px;
    position: absolute;
    right: 0;
    top: -59px;
    background: var(--col-bg-base);
    border-radius: 50%;
    text-align: center;
    font-size: 1.2rem;
    line-height: 88px;
    color: var(--col-hlt);
  }
  main #dress .popup {
    display: none;
    background: rgba(217, 217, 217, 0.8);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
  }
  main #dress .popup .inner {
    padding: 80px 0 30px;
  }
  main #dress .popup .inner .gallery .slick-list {
    overflow: visible;
  }
  main #dress .popup .inner .gallery .slick-slide {
    padding: 0 5px;
  }
  main #dress .popup .inner .gallery .slidenav {
    position: absolute;
    bottom: -30px;
    z-index: 10;
    font-size: 0;
    text-indent: -9999px;
  }
  main #dress .popup .inner .gallery .slidenav::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: var(--col-hlt);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #dress .popup .inner .gallery .slidenav::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
  }
  main #dress .popup .inner .gallery .slidenav.prev {
    left: 37%;
  }
  main #dress .popup .inner .gallery .slidenav.prev::before {
    left: 0;
  }
  main #dress .popup .inner .gallery .slidenav.prev::after {
    left: 10px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  main #dress .popup .inner .gallery .slidenav.next {
    right: 37%;
  }
  main #dress .popup .inner .gallery .slidenav.next::before {
    right: 0;
  }
  main #dress .popup .inner .gallery .slidenav.next::after {
    right: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  main #dress .popup .inner .gallery .slidepager {
    position: absolute;
    left: 50%;
    bottom: -40px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  main #dress .popup .inner .gallery .slidepager li {
    display: inline-block;
    margin: 0 5px;
  }
  main #dress .popup .inner .gallery .slidepager li button {
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.1rem;
    color: #9B9796;
  }
  main #dress .popup .inner .gallery .slidepager li.slick-active button {
    color: var(--col-hlt);
  }
  main #dress .popup .inner .details {
    width: 90%;
    max-width: 1200px;
    margin: 70px auto 0;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-top: 1px solid #ABABAB;
  }
  main #dress .popup .inner .details h3 {
    width: 9em;
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    font-size: 7rem;
    letter-spacing: 0;
    color: var(--col-hlt);
  }
  main #dress .popup .inner .details .note {
    width: calc(100% - 20em);
  }
  main #dress .popup .inner .details .note p {
    font-size: 1.3rem;
    color: var(--col-text);
  }
  main #dress .popup .inner .details .note p.copy {
    margin-bottom: 20px;
    font-family: var(--fnt-min);
    font-size: 1.8rem;
  }
  main #dress .popup .inner .close {
    position: absolute;
    right: 30px;
    top: 30px;
    width: 85px;
    height: 85px;
    background: #6B5C5C;
    border-radius: 50%;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.2rem;
    padding-top: 50px;
    -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
            box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
  }
  main #dress .popup .inner .close::before, main #dress .popup .inner .close::after {
    content: "";
    display: block;
    width: 20px;
    border-top: 1px solid #fff;
    position: absolute;
    left: 50%;
    top: 30px;
  }
  main #dress .popup .inner .close::before {
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }
  main #dress .popup .inner .close::after {
    -webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
  }
  main #schedule {
    position: relative;
    padding: 140px 0 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    background: var(--col-bg-pale);
  }
  main #schedule h2 {
    right: 1vw;
  }
  main #schedule > .details {
    width: 30%;
    margin-left: 8%;
  }
  main #schedule > .details .copy em {
    margin-bottom: 10px;
    font-size: 8rem;
    line-height: 1.1;
  }
  main #schedule > .details .copy span {
    margin-top: 15px;
  }
  main #schedule > .details .note {
    margin-top: 45px;
  }
  main #schedule .timeline {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 48.6%;
    margin-left: 4%;
  }
  main #schedule .timeline li {
    background: var(--col-bg-base);
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 35px 40px;
  }
  main #schedule .timeline li:not(:first-of-type) {
    margin-top: 10px;
  }
  main #schedule .timeline li::before {
    content: "";
    display: block;
    width: 1px;
    background: var(--col-bg-pale);
    position: absolute;
    left: 90px;
  }
  main #schedule .timeline li:first-of-type::before {
    top: 50%;
    bottom: 0;
  }
  main #schedule .timeline li:not(:last-of-type):not(:first-of-type)::before {
    top: 0;
    bottom: 0;
  }
  main #schedule .timeline li:last-of-type::before {
    top: 0;
    bottom: 50%;
  }
  main #schedule .timeline li .hour {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--col-bg-pale);
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.2rem;
    line-height: 100px;
    position: relative;
    z-index: 2;
  }
  main #schedule .timeline li .details {
    margin-left: 40px;
  }
  main #schedule .timeline li .details .event {
    font-family: var(--fnt-min);
    font-size: 2rem;
  }
  main #schedule .timeline li .details .note {
    font-size: 1.3rem;
  }
  main #schedule .timeline li .details .note .map {
    text-decoration: underline;
    position: relative;
    padding-left: 15px;
    color: var(--col-hlt);
  }
  main #schedule .timeline li .details .note .map::before {
    font: var(--fa-font-solid);
    line-height: 1;
    content: "\f3c5";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #faq {
    position: relative;
    padding: 0 0 170px;
    background: var(--col-bg-pale);
  }
  main #faq::before {
    content: "";
    display: block;
    width: 92%;
    margin: 0 auto 100px;
    border-top: 1px solid var(--col-bd);
  }
  main #faq h2 {
    left: 4%;
  }
  main #faq .copy,
  main #faq .faqlist {
    max-width: 1030px;
    margin-left: auto;
    margin-right: auto;
  }
  main #faq .copy em {
    margin-bottom: 20px;
    font-size: 8rem;
  }
  main #faq .faqlist {
    margin-top: 60px;
  }
  main #faq .faqlist dt, main #faq .faqlist dd {
    background: #fff;
    position: relative;
  }
  main #faq .faqlist dt::before, main #faq .faqlist dd::before {
    font-family: "Cormorant Infant", serif;
    font-weight: 300;
    line-height: 1;
    font-size: 3rem;
    position: absolute;
    left: 40px;
    top: 20px;
    color: var(--col-hlt);
  }
  main #faq .faqlist dt {
    padding: 20px 40px 20px 90px;
    font-family: var(--fnt-min);
    font-size: 1.6rem;
  }
  main #faq .faqlist dt:not(:first-of-type) {
    margin-top: 20px;
  }
  main #faq .faqlist dt::before {
    content: "Q";
  }
  main #faq .faqlist dt::after {
    content: "+";
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--col-bg-base);
    text-align: center;
    line-height: 30px;
    color: var(--col-hlt);
    position: absolute;
    right: 40px;
    top: 20px;
  }
  main #faq .faqlist dd {
    display: none;
    padding: 20px 40px 20px 90px;
  }
  main #faq .faqlist dd::before {
    content: "A";
  }
  main #faq .faqlist dd::after {
    content: "";
    display: block;
    width: calc(100% - 80px);
    border-top: 1px solid var(--col-bd);
    position: absolute;
    left: 40px;
    top: 0;
  }
  main #flow {
    margin-top: -30px;
    padding: 130px 0 120px;
    background: var(--col-bg-base);
    border-radius: 30px 30px 0 0;
    position: relative;
    z-index: 2;
  }
  main #flow h2 {
    left: 4%;
  }
  main #flow .copy {
    text-align: center;
  }
  main #flow .copy em {
    font-size: 8rem;
  }
  main #flow .cap,
  main #flow .flowlist {
    width: 95%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  main #flow .cap {
    background: var(--col-bg-pale);
    margin-top: 60px;
    padding: 10px;
    text-align: center;
  }
  main #flow .flowlist {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    counter-reset: number;
  }
  main #flow .flowlist li {
    width: 30%;
  }
  main #flow .flowlist li figure {
    position: relative;
  }
  main #flow .flowlist li figure::before {
    counter-increment: number;
    content: "0" counter(number);
    display: block;
    width: 100px;
    height: 33px;
    background: url(../../common/img/obj_tab.svg) center bottom/100% no-repeat;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    line-height: 38px;
    color: var(--col-hlt);
    position: absolute;
    left: 50%;
    bottom: -1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
  }
  main #flow .flowlist li h3,
  main #flow .flowlist li .note {
    text-align: center;
  }
  main #flow .flowlist li h3 {
    margin-top: 20px;
    font-family: var(--fnt-min);
    font-size: 1.8rem;
    color: var(--col-hlt);
  }
  main #flow .flowlist li .note {
    margin-top: 15px;
  }
}
@media (max-width: 834px) {
  /*------------------------
  	Font
  ------------------------*/
  /*------------------------
  	Font
  ------------------------*/
  #pageheader {
    padding: 75px 15px 20px;
    position: relative;
  }
  #pageheader .gallery .slick-slide {
    width: calc(100vw - 30px);
    height: calc(100vh - 155px);
  }
  #pageheader .gallery .slick-slide picture {
    border-radius: 50px 0;
    overflow: hidden;
  }
  #pageheader .gallery .slick-slide picture img {
    display: block;
    width: calc(100vw - 30px);
    height: calc(100vh - 155px);
    -o-object-fit: cover;
       object-fit: cover;
  }
  #pageheader .gallery .slidepager {
    width: 30px;
    position: absolute;
    left: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #pageheader .gallery .slidepager li {
    width: 30px;
    height: 30px;
    position: relative;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1rem;
    line-height: 30px;
    color: #fff;
  }
  #pageheader .gallery .slidepager li:not(:first-of-type) {
    margin-top: 20px;
  }
  #pageheader .gallery .slidepager li svg {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
  }
  #pageheader .gallery .slidepager li svg circle {
    fill: none;
    stroke: none;
  }
  #pageheader .gallery .slidepager li.slick-active svg circle {
    stroke: #fff;
    stroke-dasharray: 314;
    stroke-dashoffset: 314;
    stroke-width: 1px;
    -webkit-animation: dash 10s ease-in-out forwards;
            animation: dash 10s ease-in-out forwards;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  #pageheader .copy {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    text-align: center;
    font-family: var(--fnt-min);
    font-size: 2.3rem;
    line-height: 75px;
    letter-spacing: 0.1em;
    color: var(--col-hlt);
  }
  #pageheader .insta {
    width: 85%;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.65);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    position: absolute;
    left: 50%;
    bottom: -40px;
    z-index: 2;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #pageheader .insta::before, #pageheader .insta::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #pageheader .insta::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #EEECEB;
    left: 10px;
  }
  #pageheader .insta::after {
    font: var(--fa-font-brands);
    line-height: 1;
    content: "\f16d";
    left: 19px;
    font-size: 1.5rem;
    color: var(--col-hlt);
  }
  #pageheader .insta a {
    display: block;
    padding: 0 30px 0 50px;
    font-size: 1.19rem;
    line-height: 40px;
    letter-spacing: 0;
    color: var(--col-hlt);
  }
  #pageheader .insta a::after {
    content: url(../img/cover_insta_arrow.svg);
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #pageheader .insta a br {
    display: none;
  }
  #pageheader .scroll a {
    display: block;
    width: 102px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../../common/img/obj_tab.svg) center bottom/100% no-repeat;
    padding-bottom: 45px;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    color: #fff;
  }
  #pageheader .scroll a::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 50%;
    bottom: 10px;
    border-bottom: 1px solid var(--col-hlt);
    border-right: 1px solid var(--col-hlt);
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }
  main {
    padding-bottom: 50px;
  }
  main section:not(.contact) h2 {
    max-width: 20em;
    padding-left: 10px;
    position: absolute;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.3rem;
    color: var(--col-text-sub);
  }
  main section:not(.contact) h2::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    background: var(--col-text-sub);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #about .copy,
  main #location h3,
  main #plan header > .copy,
  main #plan h3,
  main #dress > .copy,
  main #schedule .copy,
  main #faq .copy,
  main #flow .copy {
    font-size: 1.3rem;
    color: var(--col-hlt);
  }
  main #about .copy > em,
  main #location h3 > em,
  main #plan header > .copy > em,
  main #plan h3 > em,
  main #dress > .copy > em,
  main #schedule .copy > em,
  main #faq .copy > em,
  main #flow .copy > em {
    display: block;
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    font-size: 6.4rem;
    letter-spacing: 0;
  }
  main #about .copy > span,
  main #location h3 > span,
  main #plan header > .copy > span,
  main #plan h3 > span,
  main #dress > .copy > span,
  main #schedule .copy > span,
  main #faq .copy > span,
  main #flow .copy > span {
    display: block;
    font-family: var(--fnt-min);
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: var(--col-text);
  }
  main #about {
    position: relative;
    background: url(../img/about_bg_mb.jpg) center top/cover no-repeat;
    padding: 100px 10% 80px;
  }
  main #about h2 {
    right: calc(-9em + 15px);
  }
  main #about .inner figure {
    display: none;
  }
  main #about .inner .details .copy span {
    margin-top: 35px;
    font-size: 2.2rem;
  }
  main #about .inner .details .copy img {
    display: block;
    border-radius: 80px 0;
    margin-top: 40px;
  }
  main #about .inner .details .note {
    margin-top: 30px;
  }
  main #about .inner .details .note p {
    line-height: 2.5;
  }
  main #about .inner .details .note p:not(:last-of-type) {
    margin-bottom: 2em;
  }
  main #location .intro {
    background: #D1CBC4;
    padding: 15px 0 70px;
    position: relative;
  }
  main #location .intro .inner figure {
    border-top-right-radius: 100px;
    overflow: hidden;
    margin: 0 15px;
  }
  main #location .intro .inner .details {
    position: relative;
    margin-top: 40px;
    padding: 0 10%;
  }
  main #location .intro .inner .details h2 {
    right: calc(-4.5em + 15px);
  }
  main #location .intro .inner .details h3 {
    text-align: center;
  }
  main #location .intro .inner .details h3 em {
    margin-bottom: 20px;
  }
  main #location .intro .inner .details h3 span {
    margin-top: 20px;
  }
  main #location .intro .inner .details .note {
    margin-top: 30px;
  }
  main #location .intro .inner .details .note p {
    line-height: 2.5;
  }
  main #location .intro .inner .details .note p:not(:last-of-type) {
    margin-bottom: 2em;
  }
  main #location .venues {
    counter-reset: number;
  }
  main #location .chapter {
    position: sticky;
    top: 0;
    width: 100%;
    padding: 15px 0 150px 0;
  }
  main #location .chapter.garden {
    background: var(--col-bg-pale);
  }
  main #location .chapter.drawing {
    background: var(--col-bg-base);
  }
  main #location .chapter.sun {
    background: #D3D1CF;
  }
  main #location .chapter.cafe {
    background: #CCC9C7;
  }
  main #location .chapter.chapel {
    background: #BFB3A9;
    padding-bottom: 80px;
  }
  main #location .chapter picture {
    border-top-left-radius: 100px;
    overflow: hidden;
    margin: 0 15px;
  }
  main #location .chapter .details {
    padding: 30px 10% 0;
  }
  main #location .chapter .details h3 {
    text-align: center;
  }
  main #location .chapter .details h3::before {
    display: block;
    counter-increment: number;
    content: "Location ／ 0" counter(number);
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    margin-bottom: 15px;
  }
  main #location .chapter .details h3 em {
    font-size: 5rem;
    margin-bottom: 10px;
  }
  main #location .chapter .details .note {
    margin-top: 20px;
  }
  main #location .chapter .details .note p {
    line-height: 2.5;
  }
  main #location .chapter .details .note p:not(:last-of-type) {
    margin-bottom: 2em;
  }
  main #plan {
    background: url(../img/plan_bg_mb.png) center top/100% no-repeat;
  }
  main #plan header {
    position: relative;
    padding: 80px 10%;
  }
  main #plan header h2 {
    right: calc(-2em + 15px);
  }
  main #plan header > .copy em br {
    display: none;
  }
  main #plan header .details {
    margin-top: 30px;
  }
  main #plan header .details .copy {
    font-family: var(--fnt-min);
    font-size: 2rem;
  }
  main #plan header .details .note {
    margin-top: 30px;
  }
  main #plan header .details .note p {
    line-height: 2.5;
  }
  main #plan header .details .note p:not(:last-of-type) {
    margin-bottom: 2em;
  }
  main #plan .chapter {
    margin: 0 15px;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    background: #fff;
  }
  main #plan .chapter + .chapter {
    margin-top: 30px;
  }
  main #plan .chapter .gallery li {
    padding: 0 2.5px;
  }
  main #plan .chapter * {
    text-align: center;
  }
  main #plan .chapter .details {
    padding: 30px 15px 60px;
  }
  main #plan .chapter h3 {
    text-align: center;
  }
  main #plan .chapter h3 > span {
    font-size: 1.4rem;
    line-height: 1;
  }
  main #plan .chapter h3 em {
    margin: 20px 0;
    font-size: 5rem;
  }
  main #plan .chapter h3 em span {
    font-family: "Cormorant Infant", serif;
    font-weight: 300;
    line-height: 1;
    font-weight: 300;
  }
  main #plan .chapter .price,
  main #plan .chapter .include {
    border-top: 1px solid var(--col-bd);
  }
  main #plan .chapter .price {
    margin-top: 30px;
    padding-top: 20px;
    font-size: 1.8rem;
    font-family: var(--fnt-min);
    line-height: 1;
    color: var(--col-hlt);
  }
  main #plan .chapter .price * {
    font-family: var(--fnt-min);
  }
  main #plan .chapter .price em {
    margin-right: 10px;
    font-size: 2.8rem;
    font-weight: 400;
  }
  main #plan .chapter .price em span {
    margin-right: 5px;
    font-size: 1.8rem;
  }
  main #plan .chapter .hour {
    margin-top: 15px;
    color: var(--col-hlt);
  }
  main #plan .chapter .include {
    margin-top: 30px;
    padding-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5px 8px;
  }
  main #plan .chapter .include dt {
    width: 100%;
    margin-bottom: 20px;
    line-height: 1;
  }
  main #plan .chapter .include dd {
    width: calc((100% - 8px) / 2);
    background: #D1CBC4;
    border-radius: 8px;
    line-height: 40px;
    color: var(--col-hlt);
  }
  main #plan .chapter .option {
    margin-top: 20px;
  }
  main > .contact {
    background: url(../img/bg_clowd_mb.jpg) center center/cover no-repeat;
    padding: 80px 0 0;
    overflow: hidden;
  }
  main > .contact .note {
    text-align: center;
    font-family: var(--fnt-min);
    font-size: 1.6rem;
    line-height: 2;
  }
  main > .contact .inner {
    width: 100%;
    position: relative;
    margin-top: 30px;
  }
  main > .contact .inner h2 * {
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    font-size: 7rem;
    letter-spacing: 0;
    color: rgba(112, 69, 53, 0.22);
  }
  main > .contact .inner h2 em {
    display: block;
    width: 6em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main > .contact .inner h2 em:first-of-type {
    right: calc(50% + 50px);
    text-align: right;
  }
  main > .contact .inner h2 em:first-of-type span {
    margin-left: 10px;
    font-size: 5rem;
  }
  main > .contact .inner h2 em:last-of-type {
    left: calc(50% + 50px);
  }
  main > .contact .inner .more a {
    display: block;
    width: 125px;
    height: 125px;
    margin: 0 auto;
    background: var(--col-hlt) url(../../common/img/icon_baloon.svg) center 40px/21px no-repeat;
    border-radius: 50%;
    padding-top: 70px;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.6rem;
    color: #fff;
  }
  main > .contact .gallery {
    margin-top: 100px;
  }
  main > .contact .gallery li {
    padding: 0 2.5px;
  }
  main #plan + .contact {
    padding-bottom: 100px;
  }
  main #dress {
    background: var(--col-bg-hlt);
    position: relative;
    padding: 80px 0;
  }
  main #dress h2 {
    right: calc(-7em + 15px);
  }
  main #dress h2::before {
    background: #fff;
  }
  main #dress * {
    color: #fff;
  }
  main #dress > .copy {
    padding: 0 10%;
    color: #fff;
  }
  main #dress > .copy em {
    margin-bottom: 15px;
  }
  main #dress > .copy span {
    margin-top: 30px;
    color: #fff;
  }
  main #dress > .inner > figure {
    display: none;
  }
  main #dress > .inner .details {
    margin-top: 30px;
  }
  main #dress > .inner .details .note {
    padding: 0 10%;
  }
  main #dress > .inner .details figure {
    border-top-left-radius: 100px;
    overflow: hidden;
    margin: 60px 15px 0;
  }
  main #dress > .inner .details .catalog {
    margin: 40px 15px 0 0;
  }
  main #dress > .inner .details .catalog dt, main #dress > .inner .details .catalog dd {
    padding-left: 10vw;
    line-height: 1;
  }
  main #dress > .inner .details .catalog dt, main #dress > .inner .details .catalog dd .more {
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
  }
  main #dress > .inner .details .catalog dt {
    border-bottom: 1px solid #fff;
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 1.8rem;
  }
  main #dress > .inner .details .catalog dt:not(:first-of-type) {
    margin-top: 60px;
  }
  main #dress > .inner .details .catalog dd {
    position: relative;
  }
  main #dress > .inner .details .catalog dd .more {
    display: block;
    width: 75px;
    height: 75px;
    position: absolute;
    right: 0;
    top: -55px;
    background: var(--col-bg-base);
    border-radius: 50%;
    text-align: center;
    font-size: 1.2rem;
    line-height: 75px;
    color: var(--col-hlt);
  }
  main #dress .popup {
    display: none;
    background: rgba(217, 217, 217, 0.8);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: 1000;
  }
  main #dress .popup .inner {
    padding: 80px 0 30px;
  }
  main #dress .popup .inner .gallery .slick-list {
    overflow: visible;
  }
  main #dress .popup .inner .gallery .slick-slide {
    padding: 0 5px;
  }
  main #dress .popup .inner .gallery .slidenav {
    position: absolute;
    bottom: -45px;
    z-index: 10;
    color: var(--col-hlt);
  }
  main #dress .popup .inner .gallery .slidenav::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: var(--col-hlt);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #dress .popup .inner .gallery .slidenav::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
  }
  main #dress .popup .inner .gallery .slidenav.prev {
    left: 25px;
    padding-left: 30px;
  }
  main #dress .popup .inner .gallery .slidenav.prev::before {
    left: 0;
  }
  main #dress .popup .inner .gallery .slidenav.prev::after {
    left: 10px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  main #dress .popup .inner .gallery .slidenav.next {
    right: 25px;
    padding-right: 30px;
    text-align: right;
  }
  main #dress .popup .inner .gallery .slidenav.next::before {
    right: 0;
  }
  main #dress .popup .inner .gallery .slidenav.next::after {
    right: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  main #dress .popup .inner .gallery .slidepager {
    position: absolute;
    left: 50%;
    bottom: -40px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  main #dress .popup .inner .gallery .slidepager li {
    display: inline-block;
    margin: 0 5px;
  }
  main #dress .popup .inner .gallery .slidepager li button {
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.1rem;
    color: #9B9796;
  }
  main #dress .popup .inner .gallery .slidepager li.slick-active button {
    color: var(--col-hlt);
  }
  main #dress .popup .inner .details {
    margin: 70px 15px 0;
    padding-top: 20px;
    border-top: 1px solid #ABABAB;
  }
  main #dress .popup .inner .details h3 {
    font-family: "Cormorant", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1;
    font-size: 4.2rem;
    color: var(--col-hlt);
  }
  main #dress .popup .inner .details .note {
    margin-top: 15px;
  }
  main #dress .popup .inner .details .note p {
    font-size: 1.3rem;
    color: var(--col-text);
  }
  main #dress .popup .inner .details .note p.copy {
    margin-bottom: 15px;
    font-family: var(--fnt-min);
    font-size: 1.6rem;
  }
  main #dress .popup .inner .close {
    position: absolute;
    right: 15px;
    top: 20px;
    width: 60px;
    height: 60px;
    background: #6B5C5C;
    border-radius: 50%;
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1rem;
    padding-top: 32px;
    -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
            box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
  }
  main #dress .popup .inner .close::before, main #dress .popup .inner .close::after {
    content: "";
    display: block;
    width: 15px;
    border-top: 1px solid #fff;
    position: absolute;
    left: 50%;
    top: 20px;
  }
  main #dress .popup .inner .close::before {
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }
  main #dress .popup .inner .close::after {
    -webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
  }
  main #schedule {
    position: relative;
    padding: 80px 0;
    background: var(--col-bg-pale);
  }
  main #schedule h2 {
    right: calc(-5em + 15px);
  }
  main #schedule > .details {
    padding: 0 10%;
  }
  main #schedule > .details .copy em {
    margin-bottom: 10px;
    line-height: 1.1;
  }
  main #schedule > .details .copy span {
    margin-top: 15px;
  }
  main #schedule > .details .note {
    margin-top: 20px;
  }
  main #schedule > .details .note p {
    line-height: 2.5;
  }
  main #schedule > .details .note p:not(:last-of-type) {
    margin-bottom: 1em;
  }
  main #schedule .timeline {
    margin-top: 40px;
    padding: 0 7%;
  }
  main #schedule .timeline li {
    background: var(--col-bg-base);
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    padding: 10px 15px;
  }
  main #schedule .timeline li:not(:first-of-type) {
    margin-top: 10px;
  }
  main #schedule .timeline li::before {
    content: "";
    display: block;
    width: 1px;
    background: var(--col-bg-pale);
    position: absolute;
    left: 55px;
  }
  main #schedule .timeline li:first-of-type::before {
    top: 50%;
    bottom: 0;
  }
  main #schedule .timeline li:not(:last-of-type):not(:first-of-type)::before {
    top: 0;
    bottom: 0;
  }
  main #schedule .timeline li:last-of-type::before {
    top: 0;
    bottom: 50%;
  }
  main #schedule .timeline li .hour {
    width: 80px;
    height: 80px;
    margin-right: 20px;
    border-radius: 50%;
    background: var(--col-bg-pale);
    text-align: center;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    font-size: 1.2rem;
    line-height: 80px;
    position: relative;
    z-index: 2;
  }
  main #schedule .timeline li .details {
    width: calc(100% - 90px);
    padding: 10px 0;
  }
  main #schedule .timeline li .details .event {
    font-family: var(--fnt-min);
    font-size: 1.6rem;
  }
  main #schedule .timeline li .details .note {
    font-size: 1.2rem;
  }
  main #schedule .timeline li .details .note .map {
    text-decoration: underline;
    position: relative;
    padding-left: 15px;
    color: var(--col-hlt);
  }
  main #schedule .timeline li .details .note .map::before {
    font: var(--fa-font-solid);
    line-height: 1;
    content: "\f3c5";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  main #faq {
    position: relative;
    padding: 50px 10% 80px;
    background: var(--col-bg-pale);
  }
  main #faq::before {
    content: "";
    display: block;
    width: calc(100% - 30px);
    border-top: 1px solid var(--col-bd);
    position: absolute;
    left: 15px;
    top: 0;
  }
  main #faq h2 {
    right: calc(-2em + 15px);
  }
  main #faq .copy,
  main #faq .faqlist {
    max-width: 1030px;
    margin-left: auto;
    margin-right: auto;
  }
  main #faq .copy em {
    margin-bottom: 20px;
  }
  main #faq .faqlist {
    margin-top: 50px;
  }
  main #faq .faqlist dt, main #faq .faqlist dd {
    background: #fff;
    position: relative;
  }
  main #faq .faqlist dt::before, main #faq .faqlist dd::before {
    font-family: "Cormorant Infant", serif;
    font-weight: 300;
    line-height: 1;
    font-size: 2rem;
    position: absolute;
    left: 15px;
    color: var(--col-hlt);
  }
  main #faq .faqlist dt {
    padding: 10px 45px 15px 45px;
    font-family: var(--fnt-min);
    font-size: 1.5rem;
  }
  main #faq .faqlist dt:not(:first-of-type) {
    margin-top: 20px;
  }
  main #faq .faqlist dt::before {
    content: "Q";
    top: 15px;
  }
  main #faq .faqlist dt::after {
    content: "+";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--col-bg-base);
    text-align: center;
    line-height: 20px;
    color: var(--col-hlt);
    position: absolute;
    right: 15px;
    top: 15px;
  }
  main #faq .faqlist dd {
    display: none;
    padding: 15px 20px 10px 45px;
  }
  main #faq .faqlist dd::before {
    content: "A";
    top: 18px;
  }
  main #faq .faqlist dd::after {
    content: "";
    display: block;
    width: calc(100% - 30px);
    border-top: 1px solid var(--col-bd);
    position: absolute;
    left: 15px;
    top: 0;
  }
  main #flow {
    padding: 80px 0;
    background: var(--col-bg-base);
    border-radius: 20px 20px 0 0;
    position: relative;
    z-index: 2;
  }
  main #flow h2 {
    right: calc(-2.4em + 15px);
  }
  main #flow .copy {
    text-align: center;
  }
  main #flow .cap,
  main #flow .flowlist {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
  main #flow .cap {
    background: var(--col-bg-pale);
    margin-top: 40px;
    padding: 10px;
    text-align: center;
  }
  main #flow .flowlist {
    margin-top: 30px;
    counter-reset: number;
  }
  main #flow .flowlist li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #flow .flowlist li:not(:first-of-type) {
    margin-top: 20px;
  }
  main #flow .flowlist li figure {
    width: 40%;
    position: relative;
  }
  main #flow .flowlist li figure::before {
    counter-increment: number;
    content: "0" counter(number);
    display: block;
    width: 25px;
    height: 80px;
    background: url(../../common/img/obj_tab_tall.svg) center bottom/auto 100% no-repeat;
    text-align: right;
    font-family: "Inter", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: capitalize;
    line-height: 80px;
    color: var(--col-hlt);
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 3;
  }
  main #flow .flowlist li .details {
    width: 52%;
  }
  main #flow .flowlist li h3 {
    font-family: var(--fnt-min);
    color: var(--col-hlt);
  }
  main #flow .flowlist li .note {
    margin-top: 15px;
    font-size: 1.2rem;
  }
}