@charset "utf-8";

/*
Theme Name: salon de parure 1.0
Author: salondeparure
*/

/*
NEW
#615950 / rgb(97, 89, 80)
#DED7CF
#F3EFEB / rgba(248, 242, 234, 1)
#FBF8F5 / hover
*/


.sample {

    background: #ddd;
    padding: 3rem;
    text-align: center;
}

.dummy {
    margin-top: 1.5rem;
    text-align: center;
    padding: 10rem 0;
    background-color: #eee;
}


/* ----------------------------------
base
---------------------------------- */

html {
    font-size: 92%;
    /* scroll-behavior: smooth; */
}

@media screen and (min-width:768px) {
    html {
        font-size: 100%;
    }
}

@media screen and (min-width:1024px) {
    html {
        font-size: 115%;
    }
}


/* 横向き */
@media (min-aspect-ratio: 4/3) {
    html {
        font-size: 15px;
    }
}

body {
    font-size: 1rem;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    color: #615950;
}


/* ----------------------------------
contents
---------------------------------- */

img {
    /* PCの右クリック禁止 */
    pointer-events: none;

    /* スマホ長押し禁止 */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    user-select: none;

    /* 画像ドラッグ禁止 */
    /* 
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    */

}

a {
    color: currentColor;
}

a:hover {
    text-decoration: none;
}

h2 {
    margin-top: 7rem;
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.4;
}

@media screen and (min-width:768px) {
    h2 {
        font-size: 1.9rem;
    }
}

h2 span {
    display: block;
    font-family: "Rouge Script", serif;
    font-size: 2.4rem;
    color: #DED7CF;
}

h3 {
    margin-top: 3.5rem;
    text-align: center;
}

h3 span {
    position: relative;
    font-size: 1rem;
    line-height: 1.4;
    padding: 0 1rem;
}

h3 span::before,
h3 span::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 3px;
    height: 1.5rem;
    background-color: #DED7CF;
}

h3 span::before {
    transform: rotate(-30deg);
    left: 0;
}

h3 span::after {
    transform: rotate(30deg);
    right: 0;
}

strong {
    background: linear-gradient(transparent 10%, #F9FFB3 50%);
    font-weight: 500;
}

small {
    font-size: 0.75rem;
}


.inner {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

@media screen and (min-width:768px) {

    .inner {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}

.pconly {
    display: none;
}

.smponly {
    display: block;
}

@media screen and (min-width:768px) {

    .pconly {
        display: block;
    }

    .smponly {
        display: none;
    }
}

.pict {
    margin-top: 1.5rem;
}

.pict img {
    animation: fade-in 2s;
    width: 100%;
    height: auto;
    border-radius: 1rem;
}

.catch {
    margin-top: 1.5rem;
    text-align: center;
    line-height: 1.8;
    font-size: 1.2rem;
}

.crtext {
    margin-top: 1.5rem;
    text-align: center;
    line-height: 2.4;
}

.text {
    margin-top: 1.5rem;
    line-height: 2.4;
}

.notebox {
    margin-top: 1.5rem;
    padding: 0 1.5rem 1.5rem;
    border: 1px solid #d88;
    border-radius: 1rem;
}

.note {
    margin-top: 1.5rem;
    line-height: 2.2;
    color: #d88;
    font-size: 0.85rem;
}


.crnote {
    margin-top: 1.5rem;
    text-align: center;
    line-height: 2.2;
    color: #d88;
    font-size: 0.85rem;
}

.tag {
    margin-top: 1.5rem;
    text-align: center;
    font-style: italic;
}

.red {
    color: #d88;
}

.kome {
    margin-top: 1rem;
    padding-left: 0.85rem;
    text-indent: -0.85rem;
    line-height: 1.8;
    font-size: 0.85rem;
}

.txlist {
    margin-top: 1rem;
}

ol.txlist li {
    list-style: decimal;
    line-height: 2.2;
    margin-left: 1.5rem;
}

ul.txlist li {
    list-style: disc;
    line-height: 2.2;
    margin-left: 1.5rem;
}

iframe.calendar {
    margin-top: 1rem;
    border-width: 0;
    width: 100%;
    max-width: 800px;
    height: 500px;
}

iframe.movie {
    margin-top: 1.5rem;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    animation: fade-in 2s;
}

iframe.map {
    margin-top: 1.5rem;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    animation: fade-in 2s;
    /* filter: grayscale(1); */
}

@media screen and (min-width:768px) {

    iframe.map {
        aspect-ratio: 3 / 1;
    }
}

#Info {
    margin-top: 2rem;
}

#Info p {
    margin-top: 1.5rem;
    line-height: 2.2;
}

#Info h2 {
    text-align: left;
    margin-top: 3rem;
    font-size: 1.6rem;
}

#Info h3 {
    text-align: left;
    margin-top: 2.5rem;
    font-size: 1.4rem;
}

#Info h4 {
    text-align: left;
    margin-top: 1.8rem;
    font-size: 1.2rem;
}

#Info figure {
    margin-top: 1.5rem;
}

#Info img {
    max-width: 100%;
    width: auto;
    height: auto;
    border-radius: 1rem;
}

#Info blockquote {
    margin-top: 1.5rem;
    padding: 0.5rem 2rem 2rem 2rem;
    background: #FBF8F5;
    border-radius: 1rem;
    line-height: 2;
    font-style: italic;
}

#Info cite {
    margin-top: 1rem;
    font-size: 0.8rem
}

#Info figcaption {
    display: block;
    margin-top: 1rem;
    font-size: 0.8rem
}

#Info ul,
#Info ol {
    margin-top: 1.5rem;
}

#Info ul li {
    list-style: disc;
    line-height: 2.2;
    margin-left: 1.5rem;
}

#Info ol li {
    list-style: decimal;
    line-height: 2.2;
    margin-left: 1.5rem;
}

#Info a {
    color: #3775CC;
}

#Info .date {
    text-align: right;
    font-size: 0.85rem;
}

/*デフォルトスタイルに上書き*/
#Info .wp-block-button {
    margin: 0 auto;
}

#Info .wp-block-button__link {
    background-color: #615950;
    color: #fff !important;
    margin: 0 auto;
}


/* ----------------------------------
background-image
---------------------------------- */

.morelink a,
.backlink a,
.maplink a,
.linelink a,
.tellink a,
.maillink a,
.sitelink a,
.instalink a,
.inqlink a,

.localmenu__btn a,
.sidemenu__btn a,

.crnote,
.note {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 500;
}

.title__text,
.weddingtop__copy,
.familytop__copy,
h2 {
    font-weight: normal;
}

/* photo */
/* /wp-content/themes/salondeparure/ */
.weddingtop__wrap {
    background-image: url(/wp-content/themes/salondeparure/parts/fv_wd.webp);
}

.familytop__wrap {
    background-image: url(/wp-content/themes/salondeparure/parts/fv_fm.webp);
}

.title.p-nml {
    background-image: url(/wp-content/themes/salondeparure/parts/tit_nm.webp);
}

.title.p-wed {
    background-image: url(/wp-content/themes/salondeparure/parts/tit_wd.webp);
}


/* icon */
.instalink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_insta.png);
}

.maplink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_map.png);
}

.linelink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_line.png);
}

.tellink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_tel.png);
}

.maillink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_mail.png);
}

.sitelink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_site.png);
}

.inqlink a::before {
    background-image: url(/wp-content/themes/salondeparure/parts/ic_inq.png);
}


/* ----------------------------------
anime
---------------------------------- */

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes zoom-in {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes zoom-out {
    0% {
        opacity: 0;
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes slide-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes slide-right {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}



/* ----------------------------------
head
---------------------------------- */

.head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.head__sec {
    text-align: center;
    margin: 2rem 0.8rem 1.5rem;
}

.head__logo {
    display: block;
}

.head__logo img {
    width: 12rem;
}

.head__name {
    margin-top: 0.8rem;
    font-size: 0.9rem;
}

/*
@media screen and (min-width:768px) {

    .head__logo img {
        width: 180px;
    }

    .head__name {
        font-size: 0.9rem;
    }

}
    */

/* ----------------------------------
desc
---------------------------------- */
.desc {
    margin: 0 0.8rem 2rem;
    text-align: center;
    font-size: 0.7rem;
    line-height: 1.2rem;
}


/* ----------------------------------
foot
---------------------------------- */

.foot {
    width: 100%;
    position: relative;
    z-index: 1;

    background-color: #FBF8F5;
    padding: 2rem 0 3rem 0;
}

.foot__wrap {
    max-width: 1024px;
    margin: 0 auto;
}

.foot__logo {
    display: block;
    margin: 0 auto;
    max-width: 12rem;
    text-align: center;

}

.foot__logo img {
    width: 100%;
}

.foot__desc {
    margin-top: 1.5rem;
    font-size: 0.75rem;
    line-height: 1.4rem;
    text-align: center;
}


.foot__gnav {
    margin-top: 4rem;
    text-align: center;
}

.foot__gnav a {
    display: inline-block;
    font-size: 0.7rem;
    padding: 0 8px;
    border-right: 1px solid #DED7CF;
    text-decoration: none;
}

.foot__gnav a:last-child {
    border-right: none;
}

.foot__gnav a:hover {
    text-decoration: underline;
}


.foot__copy {
    margin-top: 1.5rem;
    font-size: 0.85rem;
    text-align: center;
}


/* ----------------------------------
sidemenu
---------------------------------- */

.sidemenu {
    display: none;
}

.sidemenu__wrap {
    position: fixed;
    overflow-y: scroll;

    left: 0;
    top: 0;
    z-index: 10;
    width: 300px;
    height: 100vh;

    background-color: #fff;
    border-top: 1px solid #DED7CF;
    border-right: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
}

.sidemenu__content {
    position: relative;
    height: 100svh;
}

.sidemenu__sec {
    position: relative;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 2rem;
}

.sidemenu__logo {
    display: block;
    text-align: center;
}

.sidemenu__logo img {
    width: 12rem;
}

.sidemenu__name {
    margin-top: 0.8rem;
    font-size: 0.9rem;
    text-align: center;
}

.sidemenu__gnav {
    text-align: center;
    margin-top: 1rem;
}

.sidemenu__gnav a {
    display: inline-block;
    font-size: 0.7rem;
    padding: 0 10px;
    border-right: 1px solid #DED7CF;
    text-decoration: none;
}

.sidemenu__gnav a:last-child {
    border-right: none;
}

.sidemenu__gnav a:hover {
    text-decoration: underline;
}

.sidemenu__cate {}

.sidemenu__cate a {
    display: block;
    position: relative;
    border-bottom: 1px solid #DED7CF;
    padding: 1.5rem 1rem;
    font-size: 0.8rem;
    text-decoration: none;
}

.sidemenu__cate a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 1rem;
    bottom: 0;
    margin: auto;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
}

.sidemenu__cate a:hover {
    background-color: #FBF8F5;
}

.sidemenu__link {
    border-bottom: 1px solid #DED7CF;
    /* background: #FBF8F5; */
}

.sidemenu__link span {
    display: block;
    margin: 1.5rem 1rem 0.5rem;
    padding-left: 0.5rem;
    font-size: 1.1rem;
    font-weight: 500;
    border-left: 8px solid #DED7CF;
}

.sidemenu__link a {
    text-decoration: none;
}

.sidemenu__link ul {
    padding: 0 3rem 2rem;
}

.sidemenu__link a:hover {
    text-decoration: underline;
}

.sidemenu__link li.sidemenu__anc {
    position: relative;
    display: block;
    margin: 1rem 0 0 2rem;
    font-size: 0.8rem;
}

.sidemenu__link li.sidemenu__anc::before {
    content: '- ';
}

.sidemenu__link li.sidemenu__jump {
    margin: 1rem 0 0 0;
    font-size: 0.8rem;
}

.sidemenu__link li.sidemenu__jump::before {
    content: '';
}


.sidemenu__btn {
    position: fixed;
    overflow-y: scroll;

    right: 2rem;
    bottom: 2rem;
    z-index: 10;
}

.sidemenu__btn a {
    display: inline-block;
    padding: 0.7rem 2rem;
    border-radius: 50px;
    font-size: 1rem;
    text-align: center;
    text-decoration: none;
    background-color: #615950;
    border: 1px solid #fff;
    /* box-shadow: 0 0 20px 0 #DED7CF; */
    color: #fff;

}


/* ----------------------------------
localmenu
---------------------------------- */

.localmenu {
    display: none;

    position: relative;
    /* localmenuの高さ */
    height: 49px;

    width: 100%;
    z-index: 10;
    background-color: #fff;
}

.localmenu.is-fixed {
    position: fixed;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    box-shadow: 0 0 20px 0 #DED7CF;
}

.localmenu__bg {
    display: none;

    position: fixed;
    z-index: 8;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

.localmenu__wrap {
    position: relative;
    z-index: 9;
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #DED7CF;
    border-bottom: 1px solid #DED7CF;
}

/* 横向き */
/*
@media (min-aspect-ratio: 4/3) {
    .localmenu,
    .localmenu__wrap {
        max-width: 768px;
    }
}
*/

.localmenu__sec {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 1rem;
    background-color: #fff;
    opacity: 0.9;
}

.localmenu__btn {
    text-align: right;
}

.localmenu__btn a {
    display: inline-block;
    background-color: #615950;
    padding: 0.5rem 1rem;
    border-radius: 50px;

    color: #fff;
    font-size: 0.85rem;
    text-decoration: none;
}

@media screen and (min-width:768px) {
    .localmenu__btn a {
        font-size: 1rem;
    }
}

.localmenu__open {
    position: relative;
    display: inline-block;
    padding: 1rem 0 1rem 1.8rem;
    font-size: 0.9rem;

}

@media screen and (min-width:768px) {
    .localmenu__open {
        font-size: 1rem;
    }
}

.localmenu__open:hover {
    cursor: pointer;
}

.localmenu__sec.is-open {
    background-color: #FBF8F5;
    opacity: 1;
}

.localmenu__icon {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
}

.localmenu__icon span {
    position: absolute;
    left: 0;
    width: 1rem;
    border-top: 2px solid currentColor;
    /*
    height: 0.13rem;
    background-color: currentColor;
    border-radius: 1px;
    */
}

.localmenu__icon,
.localmenu__icon span {
    transition: all .5s;
}

.localmenu__icon span:nth-of-type(1) {
    top: -0.4rem;
}

.localmenu__icon span:nth-of-type(2) {
    top: 0;
}

.localmenu__icon span:nth-of-type(3) {
    top: 0.4rem;
}

.localmenu__sec.is-open .localmenu__icon span:nth-of-type(1) {
    -webkit-transform: translateY(0.4rem) rotate(-45deg);
    transform: translateY(0.4rem) rotate(-45deg);
}

.localmenu__sec.is-open .localmenu__icon span:nth-of-type(2) {
    opacity: 0;
}

.localmenu__sec.is-open .localmenu__icon span:nth-of-type(3) {
    -webkit-transform: translateY(-0.4rem) rotate(45deg);
    transform: translateY(-0.4rem) rotate(45deg);
}

.localmenu__content {
    display: none;
    background-color: #fff;
    padding: 0 2rem 1.5rem;
}

.localmenu__home {
    border-top: 1px dotted #DED7CF;
    margin-top: 2rem;
    padding-top: 1.5rem;
    text-align: right;
    font-size: 0.7rem;
}

.localmenu__home a {
    text-decoration: none;
}

.localmenu__link {}

.localmenu__lkwrap {
    padding-top: 0.5rem;
}

.localmenu__link li {
    margin: 1.2rem 0 0 2rem;
    /*list-style:disc;*/
}

.localmenu__link li::before {
    content: '- ';
}

.localmenu__link li.localmenu__jump {
    margin: 1.2rem 0 0 0;
    list-style: none;
}

.localmenu__link li.localmenu__jump::before {
    content: '';
}

.localmenu__link li.localmenu__jump a {
    padding-left: 1.2rem;
}

.localmenu__link a {
    position: relative;
    display: inline-block;
    font-size: 0.9rem;
    text-decoration: none;
}

.localmenu__link a:hover {
    text-decoration: underline;
}

@media screen and (min-width:768px) {
    .localmenu__link {
        display: flex;
    }

    .localmenu__lkwrap {
        width: 50%;
    }

    .localmenu__lkwrap:last-child {
        margin-top: 0;
    }
}


/* ----------------------------------
layout
---------------------------------- */

.wrapper {
    position: relative;
    z-index: 2;
}

.container {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto 3rem;
}

.head,
.foot {}

.container.menu-open {
    filter: blur(0.3rem);
    opacity: 0.9;
}

.localmenu {
    display: block;
}

.sidemenu {
    display: none;
}

/* 横向き */
@media screen and (min-width:1025px) {
    @media (min-aspect-ratio: 4/3) {

        body.ly-nav .wrapper {
            padding-left: 300px;
        }

        .localmenu {
            display: none;
        }

        .sidemenu {
            display: block;
        }

        .container {}

    }
}


/* -------------- */

.weddingtop {
    overflow: hidden;
}

.weddingtop__wrap {
    position: relative;
    animation: zoom-out 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom 0px center;
    /*画像URLは上部で定義*/
    width: 100%;
    aspect-ratio: 5 / 7;
}


.weddingtop__copy {
    padding-top: 2.5rem;
    text-align: center;
    line-height: 2;
    font-size: 1.4rem;
}

.weddingtop__text {
    padding-top: 2rem;
    text-align: center;
    line-height: 2;
    font-size: 1rem;
}

@media screen and (min-width:768px) {

    .weddingtop__wrap {
        aspect-ratio: 14 / 16;
    }

    .weddingtop__copy {
        padding-top: 3.5rem;
        font-size: 1.6rem;
    }

    .weddingtop__text {
        font-size: 1.2rem;
    }
}

@media screen and (min-width:820px) {

    .weddingtop__wrap {
        aspect-ratio: 14 / 16;
    }

    .weddingtop__copy {
        padding-top: 4.5rem;
        font-size: 1.7rem;
    }

    .weddingtop__text {
        font-size: 1.2rem;
    }
}

@media screen and (min-width:1024px) {

    .weddingtop__wrap {
        aspect-ratio: 14 / 16;
    }

    .weddingtop__copy {
        padding-top: 5rem;
        font-size: 1.8rem;
    }

    .weddingtop__text {
        font-size: 1.3rem;
    }

}


/* -------------- */

.familytop {
    overflow: hidden;
}

.familytop__wrap {
    position: relative;
    animation: zoom-out 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom 0px center;
    /*画像URLは上部で定義*/
    width: 100%;
    aspect-ratio: 5 / 8;
}

.familytop__copy {
    padding-top: 2.5rem;
    text-align: center;
    line-height: 2;
    font-size: 1.4rem;
}

.familytop__text {
    padding-top: 2rem;
    text-align: center;
    line-height: 2;
}

@media screen and (min-width:768px) {

    .familytop__wrap {
        aspect-ratio: 14 / 17;
    }

    .familytop__copy {
        padding-top: 3rem;
        font-size: 1.6rem;
    }

    .familytop__text {
        font-size: 1.2rem;
    }
}

@media screen and (min-width:820px) {

    .familytop__wrap {
        aspect-ratio: 14 / 17;
    }

    .familytop__copy {
        padding-top: 4rem;
        font-size: 1.7rem;
    }

    .familytop__text {
        font-size: 1.2rem;
    }
}

@media screen and (min-width:1024px) {

    .familytop__wrap {
        aspect-ratio: 14 / 17;
    }

    .familytop__copy {
        padding-top: 4rem;
        font-size: 1.8rem;
    }

    .familytop__text {
        font-size: 1.3rem;
    }
}


/* -------------- */

.corptop {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.corptop__pict {
    animation: zoom-in 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 3 / 2;
    width: 100%;
    border: 1px solid #fff;
}

@media screen and (min-width:768px) {

    .corptop__pict {
        aspect-ratio: 3 / 2;
        width: 50%;
    }
}


/* -------------- */

.topvisual {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.topvisual__pict {
    animation: zoom-in 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 1 / 1;
    width: 50%;

    border: 1px solid #fff;
}



/* -------------- */

.maplink,
.tellink,
.linelink,
.maillink,
.sitelink,
.instalink,
.inqlink {
    margin-top: 1.5rem;
    text-align: center;
}

.maplink a,
.tellink a,
.linelink a,
.maillink a,
.sitelink a,
.instalink a,
.inqlink a {
    display: inline-block;
    padding: 0 1rem;
    border-radius: 50px;
    text-align: center;
    font-size: 0.85rem;
    text-decoration: none;
    /* background-color: #F3EFEB; */
    border: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
    color: currentColor !important;
}


.maplink a:hover,
.tellink a:hover,
.linelink a:hover,
.maillink a:hover,
.sitelink a:hover,
.instalink a:hover,
.inqlink a:hover {
    text-decoration: underline;
}

.maplink a::before,
.tellink a::before,
.linelink a::before,
.maillink a::before,
.sitelink a::before,
.instalink a::before,
.inqlink a::before {
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    /*画像URLは上部で定義*/
    vertical-align: middle;
}

.maplink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.tellink a::before {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.6rem 0.5rem 0.6rem 0;
}

.linelink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.maillink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.sitelink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.instalink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

.inqlink a::before {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0.5rem 0.5rem 0.5rem 0;
}

/* -------------- */

.morelink {
    margin-top: 1.5rem;
    text-align: right;
}

.morelink a {
    position: relative;
    display: inline-block;

    background-color: #F3EFEB;
    box-shadow: 0 0 10px -2px #DED7CF;
    border-radius: 50px;
    padding: 0.5rem 2rem 0.5rem 1rem;

    text-decoration: none;
    font-size: 0.85rem;
}

.morelink a:hover {
    text-decoration: underline;
}

.morelink a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 1rem;
    bottom: 0;
    margin: auto;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
}

/* -------------- */

.backlink {
    margin-top: 1.5rem;
}

.backlink a {
    position: relative;
    display: inline-block;

    background-color: #F3EFEB;
    box-shadow: 0 0 10px -2px #DED7CF;
    border-radius: 50px;
    padding: 0.5rem 1rem 0.5rem 2rem;

    text-decoration: none;
    font-size: 0.85rem;
}

.backlink a:hover {
    text-decoration: underline;
}

.backlink a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 1rem;
    bottom: 0;
    margin: auto;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(-135deg);
}

/* -------------- */

.worktable {
    margin: 1.8rem auto 0;
    /*
    border: 1px solid #DED7CF;
    border-radius: 5px;
    border-collapse: separate;
    */
}


.worktable th,
.worktable td {
    padding: 0.5rem;
    font-size: 0.85rem;
    text-align: center;
}

/* -------------- */

.timetable {
    margin-top: 1rem;
    border-bottom: 1px dashed #DED7CF;
    /* trに罫線つけるため */
    border-collapse: collapse;
}

.timetable tr {
    border-top: 1px dashed #DED7CF;
}

.timetable th {
    padding: 1rem 2rem 1rem 0.2rem;
    vertical-align: top;
    white-space: nowrap;
    text-align: left;
    line-height: 1.6;
}

.timetable td {
    padding: 1rem 1rem 1rem 0;
    vertical-align: top;
    line-height: 1.6;
}


/* -------------- */

.pricetable {
    margin-top: 1rem;
    width: 100%;
    border-bottom: 1px dashed #DED7CF;
    /* trに罫線つけるため */
    border-collapse: collapse;
}

.pricetable tr {
    border-top: 1px dashed #DED7CF;
}

.pricetable th {
    width: 70%;
    padding: 1rem 0.5rem 1rem 0.5rem;
    vertical-align: middle;
    text-align: left;
}

.pricetable th li {
    list-style: disc;
    margin-left: 0.8rem;
    line-height: 2.2;
    font-size: 0.85rem;
}

.pricetable td {
    width: 30%;
    padding: 1rem 0.5rem 1rem 0;
    vertical-align: middle;

    text-align: right;
    color: #d88;
    font-size: 1.1rem;
}

.pricetable td .tax {
    font-size: 0.7rem;
}


/* -------------- */

.priceoption {
    margin-top: 2rem;
    background-color: #FBF8F5;
    padding: 1.5rem;
    border-radius: 1rem;
}

.priceoption li {
    list-style: disc;
    margin-left: 1rem;
    line-height: 2.2;
    font-size: 0.85rem;
}

.priceoption p {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}

/* -------------- */

.title {
    position: relative;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    /*画像URLは上部で定義*/
    aspect-ratio: 11 / 4;
}

.title__text {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translate(0, -50%);
    padding: 0 2rem;
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: center;
}

@media screen and (min-width:768px) {
    .title__text {
        font-size: 1.8rem;
    }

    .title {
        aspect-ratio: 9 / 2;
    }
}

@media screen and (min-width:1025px) {
    .title__text {
        font-size: 1.8rem;
    }

    .title {
        aspect-ratio: 10 / 2;
    }
}

/* -------------- */

.grouparea {
    margin: 1.5rem 1rem 0;
    text-align: center;
}

.grouparea a,
.grouparea span {
    display: inline-block;
    padding: 0 0.7rem;
    font-size: 0.85rem;
    line-height: 2;

}

/* -------------- */

.ancarea {
    margin: 1.5rem 1rem 0;
    text-align: center;
}

.ancarea a {
    padding: 0 0.7rem;
    font-size: 0.85rem;
    border-right: 1px solid currentColor;
}

.ancarea a:first-child {
    border-left: 1px solid currentColor;
}

/* -------------- */

.ctvisual {
    animation: fade-in 2s;
    margin-top: 1.5rem;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;

    aspect-ratio: 5 / 2;
}

@media screen and (min-width:768px) {
    .ctvisual {
        aspect-ratio: 6 / 2;
    }
}


/* -------------- */

.photographer {
    margin-top: 1rem;
    display: flex;
}

.photographer__line {
    width: 50%;
}

.photographer__pict {
    margin-top: 1rem;
    text-align: center;
}

.photographer__pict img {
    animation: zoom-in 4s;
    border-radius: 50%;
    object-fit: cover;
    width: 70%;
    aspect-ratio: 1 / 1;
}

@media screen and (min-width:768px) {
    .photographer__pict img {
        width: 50%;
    }
}

.photographer__text {
    margin-top: 1rem;
    text-align: center;
}


/* -------------- */

.flow {
    margin-top: 1.5rem;
}


.flow__line {
    display: block;
    display: flex;
    margin-top: 1.5rem;
    border-radius: 1rem;
    border: 2px dotted #DED7CF;
}

.flow__line:first-child {
    margin-top: 0rem;
}

/*
@media screen and (min-width:768px) {
    .flow__line {
        min-width: 27%;
    }
}
*/

.flow__num {
    width: 4.5rem;
    font-family: "Rouge Script", serif;
    font-size: 4.5rem;
    color: #DED7CF;
    text-align: center;
}

.flow__sec {
    padding: 1.5rem 1rem 1.5rem 0;
    width: calc(100% - 4.5rem);
}

@media screen and (min-width:768px) {
    .flow__sec {
        padding-left: 1rem;
    }
}

.flow__title {
    font-size: 1.3rem;
}

.flow__text {
    margin-top: 0.5rem;
    line-height: 2;
    font-size: 0.9rem;
}

/* -------------- */

.feature {}

.feature__line {}

.feature__title {
    margin-top: 2.5rem;
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
}

.feature__title span {
    display: block;
    font-family: "Rouge Script", serif;
    font-size: 3.6rem;
}

@media screen and (min-width:768px) {

    .feature__title span {
        display: inline-block;
        margin-right: 10px;
        font-size: 3.4rem;
    }
}

.feature__sec1 {
    display: flex;
}

.feature__pict {
    width: 55%;
    margin-top: 1.5rem;

    animation: fade-in 2s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 1 / 1;

    border: 1px solid #fff;
}

.feature__pict:nth-child(1) {
    margin-left: 0.5rem;
    transform: rotate(-3deg);
}

.feature__pict:nth-child(2) {
    margin-right: 0.5rem;
    transform: rotate(3deg) translateY(0.5rem);
}

.feature__sec2 {
    position: relative;
}

.feature__text {
    line-height: 2;
}

@media screen and (min-width:768px) {
    .feature__line {
        display: flex;
        align-items: center;
        flex-direction: row;
    }

    .feature__sec1 {
        width: 50%;
    }

    .feature__sec2 {
        width: 50%;
    }

}

/* -------------- */

.message {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.message__line {
    width: calc((100% - 10px) / 2);
    /* background-color: #FBF8F5; */
    border: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
    border-radius: 1rem;
}

.message__line:hover {
    background-color: #FBF8F5;
}

.message__line a {
    display: block;
    padding: 2rem 1rem;
    text-align: center;
    text-decoration: none;
    font-size: 0.9rem;
}

.message__line a:hover {
    text-decoration: underline;
}

@media screen and (min-width:768px) {

    .message__line {
        width: calc((100% - 30px) / 4);
    }

}

/* -------------- */

.report {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    padding-left: 1.5rem;
}

@media screen and (min-width:768px) {
    .report {
        padding-left: 3rem;
    }
}

.report::-webkit-scrollbar {
    /* width: 10px; */
    height: 10px;
}


.report__line {
    display: block;
    margin: 1.5rem 1rem 0 0;
    padding: 0.5rem 0.5rem 1rem 0.5rem;
    border: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;

    border-radius: 1rem;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    min-width: 65%;
    text-align: center;
}

@media screen and (min-width:768px) {

    .report__line {
        margin-right: 2rem;
        min-width: 40%;
    }

}

.report__line:hover {
    background-color: #FBF8F5;
}

.report__pict {
    border-radius: 0.8rem;
    width: 100%;

    animation: fade-in 2s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: #F3EFEB;
    aspect-ratio: 3 / 2;
}

.report__title {
    position: relative;
    display: inline-block;
    margin-top: 1rem;
    padding-right: 1rem;
    font-size: 1.1rem;
}


.report__title::before {
    content: '';
    position: absolute;
    width: 0.4rem;
    height: 0.4rem;
    border: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
}

.report__line:hover .report__title {
    text-decoration: underline;
}

.report__tag {
    margin-top: 1rem;
    text-align: center;
    font-size: 0.75rem;
    font-style: italic;
}

/* -------------- */

.igphoto {
    margin-top: 1rem;
    display: flex;
    overflow: hidden;
    width: 100%;
}

.igphoto__sec {
    display: flex;
    animation: slide-left 35s linear infinite;
}

.igphoto__pict {
    animation: zoom-in 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 1 / 1;
    width: 160px;
    border: 1px solid #fff;
}

@media screen and (min-width:768px) {

    .igphoto__pict {
        width: 200px;
    }
}

/* -------------- */

.catalog {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.catalog.ct-mini {}

.catalog::-webkit-scrollbar {
    /* width: 10px; */
    height: 10px;
}

.catalog__pict {
    animation: zoom-in 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border: 1px solid #fff;
    aspect-ratio: 2 / 3;
    width: 50%;
}

.catalog.ct-mini .catalog__pict {
    width: calc(100% / 3);
}

.catalog.ct-tate .catalog__pict {
    aspect-ratio: 2 / 3;
}

.catalog.ct-yoko .catalog__pict {
    aspect-ratio: 3 / 2;
}

.catalog.ct-squ .catalog__pict {
    aspect-ratio: 1 / 1;
}

@media screen and (min-width:768px) {
    .catalog .catalog__pict {
        width: calc(100% / 3);
    }

    .catalog.ct-mini .catalog__pict {
        width: calc(100% / 4);
    }

}


/* -------------- */

.memory {
    margin-top: 1.5rem;
    min-height: 50vh;
}

.memory__main {
    width: 100%;
    padding: 1rem 0;
    background-color: #FBF8F5;
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
}

.memory__prev,
.memory__next {
    width: 2.5rem;
    height: 5rem;
    position: relative;
}

.memory__prev:hover,
.memory__next:hover {
    cursor: pointer;
}

.memory__prev:before,
.memory__next:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0.7rem;
    height: 0.7rem;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(-135deg);
}

.memory__prev:before {
    left: 1rem;
    transform: rotate(-135deg);
}

.memory__next:before {
    right: 1rem;
    transform: rotate(45deg);
}

.memory__pict {
    width: calc(100% - 5rem);
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    animation: fade-in 2s;
}

@media screen and (min-width:768px) {

    .memory__prev:before {
        left: 1.8rem;
    }

    .memory__next:before {
        right: 1.8rem;
    }

    .memory__prev,
    .memory__next {
        width: 4rem;
    }

    .memory__pict {
        width: calc(100% - 8rem);
    }
}

.memory__sub {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
}

.memory__thum {
    width: calc(100% / 6);
    aspect-ratio: 1 / 1;
    border: 1px solid #fff;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    cursor: pointer;
}

.memory__thum.is-change {
    opacity: 0.2;
}

@media screen and (min-width:768px) {
    .memory__thum {
        width: calc(100% / 8);
    }
}

/* 横向き */
/*
@media (min-aspect-ratio: 4/3) {
    .memory__pict {
        width: 65%;
    }

    .memory__thum {
        width: calc(100% / 10);
    }
}
*/


/* -------------- */

.gallery {
    margin-top: 1.5rem;
    /* min-height: 80vh; */
    display: grid;

    /* 2列 */
    grid-template-columns: 50% 50%;
}

@media screen and (min-width:768px) {
    .gallery {
        /* 3列 */
        grid-template-columns: calc(100% / 3) calc(100% / 3) calc(100% / 3);
    }
}

/* 横）6 */
/* 縦）縦写真:正写真:横写真＝9:6:4 */
/* 縦幅は (( 横幅 ÷ 列 ) ÷ 6) */

/* 1つのgridの高さ */
/* 390未満 */
@media screen and (max-width:390px) {
    .gallery {
        grid-auto-rows: 31px;
    }
}

/* 390以上 */
@media screen and (min-width:390px) {
    .gallery {
        grid-auto-rows: 32px;
    }
}

/* 414以上 */
@media screen and (min-width:414px) {
    .gallery {
        grid-auto-rows: 34px;
    }
}

/* 430以上 */
@media screen and (min-width:430px) {
    .gallery {
        grid-auto-rows: 35px;
    }
}

/* 540以上 */
@media screen and (min-width:540px) {
    .gallery {
        grid-auto-rows: 45px;
    }
}

/* 768以上 */
@media screen and (min-width:768px) {
    .gallery {
        grid-auto-rows: 42px;
    }
}

/* 820以上 */
@media screen and (min-width:820px) {
    .gallery {
        grid-auto-rows: 45px;
    }
}

/* 912以上 */
@media screen and (min-width:900px) {
    .gallery {
        grid-auto-rows: 50px;
    }
}

/* 1024以上 */
@media screen and (min-width:1024px) {
    .gallery {
        /* 1つのgridの高さ */
        grid-auto-rows: 56px;
    }
}

/* 横向き */
@media screen and (min-width:1025px) {
    @media (min-aspect-ratio: 4/3) {

        @media screen and (max-width:1200px) {
            .gallery {
                grid-auto-rows: 50px;
            }
        }

        @media screen and (max-width:1100px) {
            .gallery {
                grid-auto-rows: 40px;
            }
        }

    }
}


.gallery__squ,
.gallery__tate,
.gallery__yoko {
    animation: zoom-in 4s;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    border: 1px solid #fff;
}

.gallery__yoko {
    grid-row-end: span 4;
}

.gallery__squ {
    grid-row-end: span 6;
}

.gallery__tate {
    grid-row-end: span 9;
}


/* -------------- */

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 900;
}

.modal__open {
    cursor: pointer;
}

.modal__open:hover {
    opacity: 0.6;
}

.modal__bg {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    opacity: 0.8;
}

.modal__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* 縦向き */
@media (max-aspect-ratio: 4/3) {
    .modal__content {
        width: 90%;
    }

    @media screen and (min-width:768px) {
        .modal__content {
            width: 80%;
        }
    }
}

/* 横向き */
@media (min-aspect-ratio: 4/3) {
    .modal__content {
        height: 80vh;
    }
}

.modal__pict {
    position: relative;
}

.modal__pict img {
    animation: fade-in 2s;
    border-radius: 1rem;
}


/* 縦向き */
@media (max-aspect-ratio: 4/3) {
    .modal__pict img {
        width: 100%;
    }
}

/* 横向き */
@media (min-aspect-ratio: 4/3) {
    .modal__pict img {
        height: 80vh;
    }
}

.modal__close {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #fff;
    padding: 2rem;
    border-radius: 100%;
    cursor: pointer;
}

.modal__close::before,
.modal__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    /* 棒の幅（太さ） */
    height: 20px;
    /* 棒の高さ */
    background: currentColor;
}

.modal__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* -------------- */

.banner {}

.banner__line {
    margin-top: 1rem;
    display: block;
    border: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
    border-radius: 1rem;
}


.banner__pict {
    display: block;
    width: 100%;
    aspect-ratio: 6/3;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 1rem 1rem 0 0;
}

.banner__sec {
    text-align: center;
    padding-bottom: 1rem;
}

.banner__title {
    display: inline-block;
    margin-top: 1rem;
    text-decoration: none;
}

.banner__title:hover,
.banner__title:hover span {
    text-decoration: underline;
}

.banner__title span {
    position: relative;
    display: inline-block;
    margin-top: 0.7rem;
    padding-right: 0.8rem;
    text-align: center;
    font-size: 1.1rem;
}

.banner__title span::before {
    content: '';
    position: absolute;
    width: 0.4rem;
    height: 0.4rem;
    border: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
}

.banner__text {
    margin-top: 1rem;
    text-align: Center;
    font-size: 0.85rem;
    line-height: 1.6;

}

@media screen and (min-width:768px) {
    .banner__line {
        display: flex;
        align-items: stretch
    }

    .banner__pict {
        width: 40%;
        border-radius: 1rem 0 0 1rem;
    }

    .banner__sec {
        width: 60%;
    }
}

/* -------------- */

.linklist {
    margin-top: 1.5rem;
    border-bottom: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
}

.linklist__line {
    border-top: 1px solid #DED7CF;
    background-color: #fff;
}

.linklist__line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;

    position: relative;
    padding: 1.5rem;
    border-top: 1px solid #DED7CF;
    text-decoration: none;
}

.linklist__line:before {
    content: '';
    position: absolute;
    top: calc(50% - 0.4rem);
    right: 2rem;
    width: 0.6rem;
    height: 0.6rem;
    border: 0;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
}

.linklist__line:hover {
    background-color: #FBF8F5;
}


.linklist__pict {
    animation: fade-in 2s;
    margin-right: 1.5rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: #F3EFEB;
    border-radius: 1rem;
    width: 40%;
    aspect-ratio: 1 / 1;
}

@media screen and (min-width:768px) {
    .linklist__pict {
        aspect-ratio: 3 / 2;
    }
}

.linklist__label {
    border: 1px solid #DED7CF;
    border-radius: 50px;
    padding: 0.5rem;
    min-width: 5rem;
    margin-right: 10px;

    font-size: 0.75rem;
    white-space: nowrap;
    text-align: center;
}

.linklist__text {
    padding: 0 2rem 0 0;
    line-height: 1.8;
}

.linklist__text span {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.8;
}

.linklist__pict+.linklist__text {
    width: calc(100% - 4rem);
}

.linklist__label+.linklist__text {
    width: calc(100% - 4rem);
}


@media screen and (min-width:768px) {

    .linklist .linklist__line {
        border-left: 1px solid #DED7CF;
        border-right: 1px solid #DED7CF;
    }

}

.foot .linklist {
    border-left: none;
    border-right: none;
}

.foot .linklist .linklist__line {
    border-radius: 0;
    border-left: none;
    border-right: none;
    background: none;
}

/* -------------- */

.accor {
    margin-top: 1.5rem;
    border-bottom: 1px solid #DED7CF;
    box-shadow: 0 0 10px -2px #DED7CF;
}

.accor__line {
    border-top: 1px solid #DED7CF;
    background-color: #fff;
}

.accor__title {
    position: relative;
    padding: 1.5rem 3rem 1.5rem 1.5rem;
    cursor: pointer;
    transition: .2s;
    line-height: 1.4;
}

.accor__title:hover {
    background-color: #FBF8F5;
}

.accor__icon {
    position: absolute;
    display: block;
    top: 50%;
    right: 1.5rem;
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.2rem;
}

.accor__icon:before,
.accor__icon:after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
}

.accor__icon:before {
    border-top: 2px solid currentColor;
    width: 1.1rem;
    height: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

.accor__icon:after {
    border-left: 2px solid currentColor;
    width: 0;
    height: 1.1rem;
    top: 0;
    bottom: 0;
    right: 0.5rem;
    transition: .3s;
}

.accor__title.is-open {
    background-color: #FBF8F5;
}

.accor__title.is-open .accor__icon:after {
    height: 0;
}

.accor__content {
    display: none;
    margin-left: 3rem;
    padding: 0 2rem 1.5rem 0;
    line-height: 2.2;
}

.accor__content .pict {
    margin: 1rem 0;
}


@media screen and (min-width:1025px) {

    .accor .accor__line {
        border-left: 1px solid #DED7CF;
        border-right: 1px solid #DED7CF;
    }

}

/* -------------- */

.ltswitch {
    display: block;
    max-width: 100%;
}

@media screen and (min-width:768px) {

    .ltswitch {
        display: flex;
        gap: 1rem;
        justify-content: center;
    }
}

/* -------------- */

.inquiry {
    margin: 1.5rem auto 0;
    max-width: 550px;
    /*
    padding: 2rem;
    border-radius: 5px;
    border: 1px solid #DED7CF;
    background-color: #fff;
    */
}

.inquiry__note {
    margin: 0 0 0.6rem 0.2rem;
    font-size: 0.75rem;

}

.inquiry__line {
    margin: 1.5rem 0 0;
    border-top: 1px dashed #DED7CF;
}

.inquiry__lay {
    display: flex;
}

.inquiry__lay__box {
    flex: 1;
    padding-right: 0.5rem;
}

.inquiry button[type=submit],
.inquiry input[type=submit] {
    margin-top: 0.5rem;
    padding: 1rem 2rem;
    line-height: 1rem;
    border-radius: 50px;
    cursor: pointer;
    background-color: #615950 !important;
    border: 1px solid #615950 !important;
    color: #fff !important;
    font-weight: 500;
    font-family: "M PLUS 1p", sans-serif;
}

.inquiry button[type=submit]:hover,
.inquiry input[type=submit]:hover {
    opacity: 0.8;
}


.inquiry select,
.inquiry textarea,
.inquiry input[type=tel],
.inquiry input[type=number],
.inquiry input[type=email],
.inquiry input[type=text],
.inquiry input[type=date] {
    padding: 0.7rem;
    width: 100%;
    border-radius: 8px;
    /* border: none !important;
    background: #F3EFEB !important; */
    border: 2px solid #DED7CF !important;
}

.inquiry input[type=date] {
    width: 80%;
}

.inquiry textarea {
    max-height: 6rem;
}

.inquiry input::placeholder,
.inquiry textarea::placeholder {
    color: #DED7CF !important;
}

.inquiry select:focus,
.inquiry textarea:focus,
.inquiry input[type=tel]:focus,
.inquiry input[type=number]:focus,
.inquiry input[type=email]:focus,
.inquiry input[type=text]:focus,
.inquiry input[type=date]:focus {
    background-color: #ffffef !important;
}


/*　ラジオボタンを改行するため */
.wpcf7 .wpcf7-list-item {
    display: block;
    margin-top: 0.5rem;
}


/*　contactform7の送信ボタンをセンター位置にするため */
.wpcf7 .wpcf7-spinner {
    display: block;
}

/*　contactform7のエラーメッセージ */
.wpcf7 .wpcf7-not-valid-tip {
    margin-top: 0.3rem;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 500;
    font-size: 0.8rem;
    color: #d88;
}

/*　contactform7の送信完了後のメッセージ */
.wpcf7 form .wpcf7-response-output {
    margin-top: 0;
    padding: 1.5rem;
    font-family: "M PLUS 1p", sans-serif;
    border-radius: 1rem;
    line-height: 1.6;

    border: 1px solid #00a0d2;
    color: #00a0d2;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    /* border-color: #ffb900; */
    border-color: #d88;
    color: #d88;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    color: #46b450;
}


/* -------------- */


.notitle {
    margin-top: 4rem;
}


/* -------------- */

@keyframes home-slide-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes home-zoom-in {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}


.home {
    width: 100%;
    overflow-x: hidden;
}


.home__desc {
    margin: 1rem 0.8rem 3rem;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.4rem;
}

.home__bnn {
    display: block;
    gap: 1px;
}

.home__bnn a {
    position: relative;
    display: none;

    background-repeat: no-repeat;
    background-size: cover;

    text-align: center;
    text-decoration: none;

    width: 100%;

    animation: home-slide-in 5s forwards;
    opacity: 0;
}

.home__bnn a:hover {
    opacity: 0.7;
}

.home__bnn span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50px;
    padding: 5px 10px;
    white-space: nowrap;
}


/* 768未満 */
@media screen and (max-width:768px) {
    .home__bnn a {
        display: block;
        aspect-ratio: 3 / 2;
    }

    a.home__bnn__wedding {
        background-position: bottom 0 center;
        transform: translateX(-50%);
    }

    a.home__bnn__family {
        background-position: bottom -4rem center;
        transform: translateX(50%);
    }

    a.home__bnn__corp {
        background-position: center;
        transform: translateX(-50%);
    }

    .home__bnn span {
        top: calc(50% - 0.6rem);
        font-size: 1.2rem;
    }
}


/* 768以上 */
@media screen and (min-width:768px) {
    .home__bnn a {
        display: block;
        aspect-ratio: 2 / 1;
    }

    a.home__bnn__wedding {
        background-position: bottom -3rem center;
        transform: translateX(-50%);
    }

    a.home__bnn__family {
        background-position: bottom -13rem center;
        transform: translateX(50%);
    }

    a.home__bnn__corp {
        background-position: center;
        transform: translateX(-50%);
    }

    .home__bnn span {
        top: calc(50% - 1rem);
        font-size: 2rem;
    }

}

/* 横向き */
/* 1025以上 */
@media screen and (min-width:1025px) {
    @media (min-aspect-ratio: 4/3) {

        .home__bnn {
            display: flex;
        }

        .home__bnn a {
            display: block;
            width: calc(100% / 3);
            aspect-ratio: 2 / 3;
            animation: home-zoom-in 5s forwards;
        }

        a.home__bnn__wedding,
        a.home__bnn__family,
        a.home__bnn__corp {
            background-position: bottom 0 center;
        }

        .home__bnn span {
            top: 7rem;
            font-size: 1.8rem;
        }
    }
}


/* animationのdelayを上書き */
a.home__bnn__wedding {
    background-image: url(/wp-content/themes/salondeparure/parts/fv_wd.webp);
    animation-delay: 0.1s;
}

a.home__bnn__family {
    background-image: url(/wp-content/themes/salondeparure/parts/fv_fm.webp);
    animation-delay: 1s;
}

a.home__bnn__corp {
    background-image: url(/wp-content/themes/salondeparure/parts/fv_cp.webp);
    animation-delay: 2s;
}


/* -------------- */

.sitemap {}

.sitemap__box {}

@media screen and (min-width:768px) {
    .sitemap__box h2 {
        font-size: 1.7rem;
    }

    .sitemap__box h2 span {
        font-size: 2.0rem;
    }

}


.sitemap__pic {
    animation: fade-in 2s;
    margin-top: 1.5rem;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;

    aspect-ratio: 4 / 2;
}

/* 768以上 */
@media screen and (min-width:768px) {
    .sitemap {
        display: flex;
        gap: 1rem;
    }

    .sitemap__box {
        display: block;
        width: calc(100% / 2);
    }
}


/* -------------- */

.card {}

.card__box {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
    border: 2px dotted #DED7CF;
    padding: 1.5rem;
    border-radius: 1rem;
}

.card__box h2 {
    margin-top: 0.0;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.4;
}

.card__box h3 {
    margin-top: 1.5rem;
}

/* 768以上 */
@media screen and (min-width:768px) {
    .card {
        display: flex;
        gap: 2rem;
        margin-right: 3rem;
        margin-left: 3rem;
    }

    .card__box {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

.card {}

.card__box {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
    border: 2px dotted #DED7CF;
    padding: 1.5rem;
    border-radius: 1rem;
}

/* -------------- */
.loading {
    position: relative;
    width: 100%;
    height: 100vh;
}

.loading__sec {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);

    text-align: center;
}

.loading__pict {}

.loading__pict img {
    width: 200px;
}

/* 768以上 */
@media screen and (min-width:768px) {}

/* -------------- */