

/*--------------
    common
--------------*/
body.page {
    padding-top: 112px;
}

.fadeInTrigger{
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s,visibility 1s, transform 1s;
}

.fadeInTrigger.js-box.load {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.page-fadeIn{
    animation-name: fadeIn-page;
    animation-duration: 2s;
    animation-delay: 1.6s;
    animation-fill-mode:forwards;
    opacity: 0;
}

.page-photoMenu.page-fadeIn{
    animation-delay: 2s;
}

@keyframes fadeIn-page{
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*--- gallery ---*/
.gallery {
    columns: 4;
    padding: 0;
    margin: 0;
    clear: both;
}

.gallery img{
    border: none!important;
    padding: 5px;
}

#gallery-1{
    margin: auto;
}

#gallery-1 .gallery-item {
    width: auto!important;
    float: left!important;
}

/*--- page header title ---*/
.pageHeader{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-top: 108px;
    padding-bottom: 16px;
}

.pageHeader::before{
    position: absolute;
    content: "";
    background: var(--color-green);
    width: 80%;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

span.smoothText {
	overflow: hidden;
	display: block;
}

span.smoothTextTrigger{
	transition: 1s ease-in-out;
	transform: translate3d(0,100%,0) skewY(12deg);
	transform-origin: left;
	display: block;
}

span.smoothTextTrigger.smoothTextAppear{
    transform: translate3d(0,0,0) skewY(0);
}

.pageHeader-mainTitle{
    display: flex;
    width: calc(100% - 6vw);
    align-items: center;
    margin: 0 0 0 auto;
    justify-content: space-between;
    overflow: hidden;
}

.pageHeader-mainTitle_title{
    width: calc(100% - 66vw);
    padding-right: 30px;
    opacity: 0;
    filter: blur(10px);
    animation: pageKV-fadeIn 1.2s ease-in-out .9s normal forwards;
}

.pageHeader-mainTitle_title .pageHeader-mainTitle_title{
    font-size: 1.6rem;
    color: var(--color-green);
    font-family: 'Urbanist', sans-serif;
    display: block;
    padding-right: 0;
    letter-spacing: 0.1em;
    font-weight: 300;
    width: 100%;
}

.pageHeader-mainTitle_image{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 30vw;
    min-height: 408px;
    border-radius: 2rem 0 0 2rem;
    width: calc(100% - 18vw);
    opacity: 0;
    filter: blur(10px);
    animation: pageKV-fadeIn 1.2s ease-in-out .8s normal forwards;
}

@keyframes pageKV-fadeIn {
    0%{
        opacity: 0;
        filter: blur(6px);
    }
    100%{
        opacity: 1;
        filter: blur(0px);
    }
}

.pageHeader-mainProducts .pageHeader-mainTitle_image{
    background-image: url(img/page-products.jpg);
}

.pageHeader-mainCostume .pageHeader-mainTitle_image{
    background-image: url(img/page-costume.jpg);
}

.pageHeader-mainBaby .pageHeader-mainTitle_image{
    background-image: url(img/page-baby.jpg);
}

.pageHeader-main753 .pageHeader-mainTitle_image{
    background-image: url(img/page-753.jpg);
}

.pageHeader-main20th .pageHeader-mainTitle_image{
    background-image: url(img/page-20th.jpg);
}

.pageHeader-mainMaternity .pageHeader-mainTitle_image{
    background-image: url(img/page-maternity.jpg);
}

.pageHeader-mainCeremony .pageHeader-mainTitle_image{
    background-image: url(img/page-ceremony.jpg);
}

.pageHeader-mainFamily .pageHeader-mainTitle_image{
    background-image: url(img/page-family.jpg);
}

.pageHeader-mainBirthday .pageHeader-mainTitle_image{
    background-image: url(img/page-birthday.jpg);
}

.pageHeader-mainSmash .pageHeader-mainTitle_image{
    background-image: url(img/page-sc.jpg);
}

.pageHeader-mainCelebration .pageHeader-mainTitle_image{
    background-image: url(img/page-syukuji.jpg);
}

.pageHeader-mainPortrait .pageHeader-mainTitle_image{
    background-image: url(img/page-portrait.jpg);
}

.pageHeader-mainElementaryPlan .pageHeader-mainTitle_image{
    background-image: url(img/page-elementaryPlan.jpg);
}

.pageHeader-mainUniversityPlan .pageHeader-mainTitle_image{
    background-image: url(img/page-universityPlan.jpg);
}

.pageHeader-mainFrisode .pageHeader-mainTitle_image{
    background-image: url(img/page-rental.jpg);
}

.pageHeader-mainBouquet .pageHeader-mainTitle_image{
    background-image: url(img/page-bouquet.jpg);
}

.fadeRight{
    animation-name:fadeRightAnime;
    animation-duration:1.2s;
    animation-delay: 1.2s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeRightAnime{
    from {
      opacity: 0;
      transform: translateX(50px);
    }
  
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

.pageHeader-imageTitle{
    padding-top: 108px;
    max-width: 1280px;
    width: 100%;
    margin: auto;
}

/*--- side menu ---*/
.page-sideMenu{
    width: calc(100% - 65vw);
    padding-right: 5.8vw;
    position: relative;
    z-index: 1;
    display: block;
}

.page-sideMenu ul{
    position: sticky;
    top: 200px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.page-sideMenu ul li a{
    padding-left: 16px;
    position: relative;
    transition: ease .3;
}

.page-sideMenu ul li a:hover{
    opacity: 0.6;
}

.page-sideMenu ul li a::before{
    content: "";
    position: absolute;
    background: var(--color-green);
    border-radius: 50%;
    width: 10px;
    height: 10px;
    top: 9px;
    left: 0;
}

.page-sideMenu ul li a span{
    display: block;
}

.page-flexContents{
    padding-left: 6%;
    padding-right: 6%;
    display: flex;
}

.page-flexContents_main{
    max-width: 1060px;
    width: 100%;
}

/*------ accordion -----*/
.title {
    position: relative;
    cursor: pointer;
    font-weight: normal;
    transition: all .5s ease;
    padding-right: 32px;
}

.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
}

.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
}

.title::after{
    top:48%;
    left: 15px;
    transform: rotate(90deg);
}

.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

.box {
    display: none;
    padding: 3%;
}

/*--------------
    products
--------------*/
.page-products img{
    border-radius: 10px;
}

.page-products_lineUp{
    padding-top: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.page-products_lineUp__image{
    width: 46%;
}

.page-products_lineUp__price{
    width: 46%;
}

.page-products_lineUp__price .price_cont{
    padding-bottom: 24px;
}

.page-products_lineUp__price .price_cont h5{
    font-weight: 500;
    color: var(--color-green);
    padding-bottom: 4px;
}

.price_cont:has(p) table,
.page-products_lineUp__price:has(p) table{
    margin-bottom: 12px;
}

.notes{
    background: #F8F9F3;
    padding: 16px;
}

.notes h5{
    padding-bottom: 4px;
}

.products-movie{
    position: relative;
    background: #F8F9F3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    border-radius: 10px;
    max-width: 920px;
    margin: 160px auto 0;
}

.products-movie_image {
    width: 48%;
    margin-top: -32px;
    padding-bottom: 24px;
}

.products-movie_text{
    width: 48%;
}

.products-movie_text p{
    padding-bottom: 32px;
}

.recommend-titleArea{
    position: relative;
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.recommend-titleArea_item{
    color: #fefefe;
    background: #FFAB90;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: min(1.83rem,4vw);
    font-weight: 500;
    line-height: 1.5;
}

.swiper-shootImage{
    overflow: hidden;
}

/*--- 花束 ---*/
.page-bouquetConcept{
    position: relative;
    margin: min(156px, 10vw) auto 0;
    max-width: 1240px;
    width: 90%;
}

.page-bouquetConcept img,
.-bouquetConcept_imageArea img,
.page-bouquetImageArea img{
    border-radius: 10px;
}

.-bouquetConcept_textArea{
    width: 40%;
}
.-bouquetConcept_textArea h4{
    padding-bottom: min(63px, 6.24vw);
    font-size: min(3.24rem,5vw);
}
.-bouquetConcept_textArea p{
    font-size: min(1.83rem,3.6vw);
    padding-bottom: min(56px, 5vw);
    line-height: 2.4;
}
.-bouquetConcept_textArea p:last-of-type{
    padding-bottom: 0;
}

.-bouquetConcept_1{
    height: min(570px, 80vw);
}
.-bouquetConcept_1 .-bouquetConcept_imageArea{
    position: absolute;
    right: 0;
    width: min(690px, 55vw);
    bottom: 0;
}
.-bouquetConcept_image2{
    position: absolute;
    left: -280px;
    width: min(236px, 17vw);
    bottom: -6vw;
}

.-bouquetConcept_2{
    margin: min(220px, 18vw) auto 0;
}

.page-bouquetImageArea{
    position: relative;
    margin: min(92px, 8vw) auto 0;
    max-width: 1240px;
    width: 90%;
    height: min(586px, 37vw);
}
.page-bouquetImageArea img{
    position: absolute;
}
.-bouquetConcept_image3{
    width: min(650px, 46vw);
}
.-bouquetConcept_image5{
    width: min(530px, 38vw);
    right: 0;
    bottom: 0;
}

.-bouquetConcept_3{
    height: 40vw;
}
.-bouquetConcept_3 .-bouquetConcept_imageArea{
    position: absolute;
    right: 0;
    width: min(690px, 55vw);
    top: 0;
}
.-bouquetConcept_image4{
    width: 14vw;
    position: absolute;
    left: -16vw;
    bottom: -11vw;
}

.page-bouquet_lineUp{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: min(50px, 4vw);
    margin-bottom: min(48px, 10vw);
}
.page-bouquet_lineUp:nth-of-type(1){
    margin-top: min(22px, 4vw);
}

.page-bouquet_lineUp picture{
    width: calc(100% / 2);
}

.-bouquet_exText{
    display: flex;
    flex-direction: column;
    gap: min(16px, 3vw);
    width: calc(100% / 2);
}

p.-bouquet_price{
    font-family: 'Urbanist', sans-serif;
    font-size: min(2.24rem,5.4vw);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
}

.bouquet-notes{
    background: #F8F9F3;
    border-radius: min(20px, 3vw);
    padding: min(32px, 6vw);
}

.bouquet-notes h3{
    font-size: min(2.4rem,5vw);
    padding-bottom: min(16px, 4vw);
}

.bouquet-notes ul li{
    font-size: min(1.83rem,3.83vw);
    text-indent: -1.83rem;
    padding-left: 18px;
    padding-bottom: 4px;
}

.bouquet-slider{
    margin: min(156px, 10vw) 0;
}

/*--------------
staff
--------------*/
.staffList ul{
    display: flex;
    flex-wrap: wrap;
}

.staffList ul li{
    width: calc((100% - 140px) / 5);
    margin: 0 14px 48px;
}

.staffList ul li a:hover{
    opacity: 0.6;
}

.staffList ul li img{
    margin-bottom: 16px;
    border-radius: 10px;
}

.staffList ul li h5{
    font-weight: 500;
    font-family: 'Urbanist', sans-serif;
}

.poistion{
    font-size: 1.24rem;
    font-weight: 300;
    color: var(--color-green);
    line-height: 1.4;
    text-align: left;
    padding-top: 8px;
}

.staffList-instagram{
    display: flex;
    gap: 10px;
    align-items: center;
}

.staffList-instagram span{
    width: 16px;
}

.instagram-icon{
    width: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.staffList .instagram-icon img{
    border-radius: 0;
}

.staffList .staffList-instagram img{
    margin-bottom: 0;
    display: block;
}

.staffList ul li button{
    text-align: left;
    border: none;
    background: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding: 0;
    font-family: "游ゴシック", YuGothic ,Yu Gothic , Hiragino Mincho ProN,"ヒラギノ明朝 ProN",sans-serif;
}

/* モーダル */
.modal{
    display: none;
}

.fancybox__content {
    position: relative;
    width:90%;
    max-width: 920px;
    padding: 42px;
    border-radius: 20px;
    -moz-box-shadow: 10px 10px 9px -7px rgba(181, 181, 181, 0.67);
-webkit-box-shadow: 10px 10px 9px -7px rgba(181, 181, 181, 0.67);
-ms-box-shadow: 10px 10px 9px -7px rgba(181, 181, 181, 0.67);
box-shadow: 10px 10px 9px -7px rgba(181, 181, 181, 0.67);
}

.fancybox__backdrop{
    background:rgba(248,249,243,0.6);
}

.fancybox__content>.carousel__button.is-close{
    color: var(--color-green);
    top: 10px;
    right: 10px;
}

.carousel__button svg{
    height: 48px;
    width: 50px;
    stroke-width: inherit;
}

.staff-modal_inner{
    display: flex;
    justify-content: space-between;
    height: max-content;
}

.staff-modal .modalInSlider-image{
    width: 34%;
    height: auto;
  }

.staff-modal .modalInSlider-image img{
    border-radius: 10px;
  }

  .staff-modal .modalInSlider-textArea{
    width: 60%;
    height: auto;
  }

  .modalInSlider-textArea .position{
    color: var(--color-green);
    font-weight: 300;
    font-size: 1.4rem;
    padding-bottom: 4px;
  }

  .modalInSlider-textArea h4{
    padding-bottom: 24px;
    font-family: 'Urbanist', sans-serif;
  }

  .modalInSlider-links{
    padding-top: 32px;
    font-family: 'Urbanist', sans-serif;
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .modalInSlider-links a{
    border: none;
    outline: none;
  }

:focus{
    outline: none;
}

.fancybox__container *, .fancybox__container *::before, .fancybox__container *::after{
    outline: none;
}

  .modalInSlider-links a:hover{
    opacity: 0.6;
  }

  .modalInSlider-links a span{
    position: relative;
    padding-left: 24px;
  }

  .modalInSlider-links a span::before{
    position: absolute;
    content: "";
    background: url(img/icon-instagram_bk.svg) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    top: 2px;
    left: 0;
  }

._comment-introduction{
    font-size: 1.4rem;
    background: #F8F9F3;
    padding: 12px;
    border-radius: 10px;
    margin-bottom: 16px;
}

/*--------------
photo menu
--------------*/

.page-photoMenu_concept{
    position: relative;
}

.page-photoMenu_concept::before{
    content: "";
    background: #F8F9F3;
    width: 82%;
    height: calc(100% - -70px);
    border-radius: 0px 10px 10px 0px;
    top: -30px;
    left: 0;
    position: absolute;
    z-index: -2;
}

.page-photoMenu_concept2::before{
    right: 0;
    left: auto;
    border-radius: 10px 0px 0px 10px;
}

.page-photoMenu_concept2{
    margin-top: 224px;
}

.page-photoMenu_concept__inner{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    max-width: 1480px;
    margin: auto;
    width: calc(100% - 100px);
}

.page-photoMenu_concept2 .page-photoMenu_concept__inner{
    flex-direction: row-reverse;
}

.page-photoMenu_concept-text{
    width: 50%;
}

.page-photoMenu_concept-text h4{
    padding-bottom: 24px;
    letter-spacing: .12em;
}

.page-photoMenu_concept-text p{
    line-height: 2.2;
}

.page-photoMenu_concept-image{
    position: relative;
    width: calc(100% - 52%);
}

.page-photoMenu_concept-image img{
    border-radius: 10px;
}

.page-photoMenu_concept2 .page-photoMenu_concept-image ._concept-image_large{
    margin: 0 0 0 auto;
    display: block;
}

._concept-image_large{
    width: 88%;
}

._concept-image_small{
    position: absolute;
    bottom: -28%;
    right: -6%;
    width: 32%;
}

.page-photoMenu_concept2 ._concept-image_small{
    left: -6%;
    right: auto;
}

.page-photoMenu_price{
    margin-top: 172px;
    margin-bottom: 132px;
    max-width: 920px;
    width: 86%;
    display: flex;
    justify-content: space-between;
}

._price-baby{
    margin-bottom: 92px;
}

.photoMenu_price__title{
    width: 20%;
}

._price-nb .photoMenu_price__title{
    width: 28%;
}

._price-nb ._price-list__tagList ul{
    padding-top: 24px;
}

.page-photoMenu_price h3{
    position: relative;
    margin: 0;
}

.page-photoMenu_price h3::before{
    position: absolute;
    content: "";
    background: var(--color-green);
    width: 40px;
    height: 2px;
    bottom: -8px;
    left: 0;
}

.page-photoMenu_price-list{
    width: 66%;
}

._price-list__main{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

._price-list__main li{
    display: flex;
    gap: 16px;
    align-items: center;
}

._price-list__main span{
    color: #fefefe;
    background: var(--color-green);
    padding: 2px;
    border-radius: 22px;
    display: block;
    width: 90px;
    text-align: center;
}

._price-list__main .price{
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: right;
}

._price-list__main .price.price-ceremonyCampaign{
    position: relative;
}

.price.price-ceremonyCampaign::before{
    position: absolute;
    content: "";
    display: block;
    transform: rotate(-10deg);
    background-color: #ff5050;
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
}

.price.price-ceremonyCampaign::after{
    position: absolute;
    content: "￥0";
    font-size: 3.2rem;
    color: #ff5050;
    top: 50%;
    right: -68px;
    transform: translateY(-50%);
}

p.ceremonyCampaign-details-text {
    text-align: left;
}

._price-list_sub{
    padding: min(24px, 3vw) 0
}

._price-list_sub li{
    text-indent: -1.4rem;
    padding-left: 14px;
    padding-bottom: 4px;
}

._price-list_sub li a{
    text-indent: -1.4rem;
    padding-left: 14px;
    text-decoration: underline;
    font-weight: 500;
    color: var(--color-green);
}

.__option-wrap{
    margin-top: min(24px, 5vw);
}

.__option-wrap ._price-list_sub{
    padding: min(1.4vw, 8px) 0 0;
}

.__option-flower{
    margin-top: min(32px, 6vw);
}
.__option-flower ul{
    display: flex;
    gap: min(24px, 3vw);
    justify-content: center;
}
.__option-flower ul li{
    width: calc(100% / 3);
}
.__option-flower ul li img{
    border-radius: 50%;
}

._price-list__tagList ul{
    display: flex;
    gap: 6px min(12px,1vw);
    flex-wrap: wrap;
}

._price-list__tagList ul li{
    border: solid 1px var(--color-green);
    border-radius: 9999px;
    padding: 4px min(26px, 4vw);
    font-size: min(1.4rem,3.24vw);
    line-height: 1.5;
}

._price-list__option{
    padding-top: 40px;
    margin-top: 40px;
    border-top: solid 1px #D9D9D9;
}

._price-list__option h4{
    font-weight: 500;
    padding-bottom: 8px;
}

._price-list__option .option-rental{
    margin: min(3rem) 0;
}

.page-photoMenu_linkBox{
    max-width: 1240px;
    width: 90%;
    margin: 0 auto 132px;
    display: flex;
    justify-content: center;
    gap: min(60px, 6vw);
}

.photoMenu_linkBox-item{
    position: relative;
    width: calc(100% / 3);
}

.photoMenu_linkBox-item::before{
    content: "";
    position: absolute;
    background: #F8F9F3;
    border-radius: 10px;
    z-index: -1;
    width: 100%;
    height: 80%;
    bottom: 40px;
    left: -22px;
}

.photoMenu_linkBox-item .linkText::after{
    display: none;
}

.photoMenu_linkBox-item_image{
    padding-bottom: 18px;
}

.photoMenu_linkBox-item img {
    border-radius: 10px;
}

.photoMenu_linkBox-item_text .linkText{
    font-size: 2.56rem;
    font-weight: 300;
}

.photoMenu_linkBox-item_text .linkText span{
    justify-content: end;
}

.photoMenu-recommendScene{
    margin-bottom: 132px;
}

.photoMenu-recommendScene h3 {
    text-align: center;
}

.photoMenu-recommendScene h3 span{
    display: block;
}

.photoMenu-recommendScene ul{
    max-width: 820px;
    margin: auto;
    width: 90%;
    display: flex;
    text-align: center;
    justify-content: space-between;
}

.photoMenu-recommendScene ul li{
    width: 26%;
}

.photoMenu-recommendScene ul img{
    border-radius: 50%;
}

.photoMenu-recommendScene ul li p{
    padding-top: 16px;
}

.page-photoMenu_banner{
    margin-bottom: 132px;
}

.page-photoMenu_banner ul {
    display: flex;
    gap: 24px;
    justify-content: space-around;
}

.page-photoMenu_banner ul li{
    width: 100%;
    max-width: 820px;
}

.page-photoMenu_banner ul li a:hover{
    opacity: 0.6;
}

.page-photoMenu_banner ul li img{
    border: solid 1px #D9D9D9;
}

.page-photoMenu_slider{
    margin-bottom: 132px;
}

.pm-slider{
    display: none;
}

.pm-slider li{
    margin: 0;
}

.pm-slider.slick-initialized{
    display: block;
  }

.page-photoMenu_other h3{
    text-align: center;
    padding-bottom: min(40px,8vw);
    letter-spacing: .12em;
}

.page-photoMenu_other .photoMenu-list li{
    width: calc((100% - 192px) / 6);
    margin: 0 16px 40px;
}

.photoMenu-list li h5{
    font-weight: 400;
    padding-top: min(16px, 2vw);
    font-size: min(1.83rem, 3vw);
    letter-spacing: 0;
}

.photoMenu-list li h5 span{
    font-size: min(1.4rem,3.24vw);
}

.page-photoMenu .linkArea,
.page-furisodeRental .linkArea{
    padding: 92px 0 0;
}

.page-photoMenu .linkArea.linkArea-photoMenu,
.page-furisodeRental .linkArea.linkArea-photoMenu{
    padding: 0 0 92px 0;
}

._planBanner-item{
    padding-bottom: 48px;
}

._planBanner-item ul{
    display: flex;
    justify-content: space-between;
    grid:24px;
}

._planBanner-item ul li{
    width: 48%;
}

._planBanner-item ul li a:hover{
    opacity: 0.6;
}

.box.box-optionDetails{
    padding: min(7vw, 3rem) 0;
}

.box-optionDetails_item{
    margin-bottom: min(3rem,6vw);
}
.box-optionDetails_item.box-optionDetails_otherPrice{
    margin-top: min(6rem,12vw);
}

.box-optionDetails_flex{
    display: flex;
    flex-wrap: wrap;
    gap:min(3rem,6vw);
    align-items: center;
    width: 100%;
    margin: 0 auto;
}

.box-optionDetails_imageArea{
    width: calc((100% - min(3rem,6vw)) - 60%);
}
.box-optionDetails_priceArea{
    width: calc((100% - min(3rem,6vw)) - 36%);
}

.box-optionDetails_priceArea h4.box-optionDetails_title{
    padding-bottom: 18px;
    display: flex;
    align-items: center;
    gap: min(1rem,3vw);
    flex-wrap: wrap;
    font-size: min(2.56rem, 6.4vw);
}

.box-optionDetails_flex h4.box-optionDetails_title span{
    color: #fefefe;
    padding: 2px;
    border-radius: 22px;
    width: min(90px, 21vw);
    text-align: center;
    padding: min(.5rem) min(1.5rem, 2vw);
    font-size: min(1.6rem, 3.24vw);
    font-weight: 500;
}
h4.box-optionDetails_title._pink span{
    background: #FFA0F6;
}
h4.box-optionDetails_title._blue span{
    background: #89B8FF;
}

._price-accordion dl>.priceArea-price{
    display: flex;
    justify-content: space-between;
    padding: min(1.5rem) 0;
    border-top: solid 1px #D9D9D9;
    align-items: center;
}
._price-accordion dl>.priceArea-price:last-of-type{
    border-bottom: solid 1px #D9D9D9;
}

._price-accordion dl>.priceArea-price p.price{
    font-size: min(2rem, 4.83vw);
    font-weight: 600;
    line-height: 1.5;
}

._price-accordion dl>.priceArea-price p.price small{
    font-size: 80%;
    font-weight: 500;
}

.box-optionDetails_item p.box-optionDetails_otherTitle{
    font-size: min(1.83rem, 4.6vw);
    font-weight: 500;
    padding-bottom: min(1rem, 1vw);
    color: var(--color-green);
}

._price-accordion ._price-accordion__item{
    border-bottom: 1px dotted #ccc;
    padding: 16px min(24px, 2vw);
    transition: ease .5s;
}
._price-accordion__item h5.title{
    transition: ease .5s;
    font-size: min(1.83rem, 4vw);
}
._price-accordion__item h5.title::before,
._price-accordion__item h5.title::after{
    width: min(22px, 4vw);
    height: 2px;
    left: auto;
    right: 0;
    background: #929D7F;
}

ul.price-notes{
    padding-top: min(2rem);
}

/*------ smash cake -------*/
.page-smashCake_price{
    margin-top: 192px;
    margin-bottom: 132px;
}

.page-smashCake_price__wrapper{
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
}

.page-smashCake_price__contents{
    border: dashed 2px var(--color-green);
    border-radius: 10px;
    background: #F8F9F3;
    text-align: center;
    padding: 40px 24px;
    position: relative;
    width: 48%;
}

.page-smashCake_price__contents h3{
    margin-bottom: 52px;
    position: relative;
}

.page-smashCake_price__contents h3::before{
    position: absolute;
    content: "";
    background: var(--color-green);
    height: 2px;
    width: 100px;
    bottom: -30%;
    left: 50%;
    transform: translate(-50%, -28%);
}

.page-smashCake_price__contents ._price-list__tagList{
    padding-top: 24px;
}

.page-smashCake_price__contents ._price-list__main li,
.page-smashCake_price__contents ._price-list__tagList ul{
    justify-content: center;
}

._price__contents-balloon{
    position: absolute;
    color: #fefefe;
    background: var(--color-green);
    font-weight: 600;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    top: -2vw;
    left: -2vw;
}

.smashCake-carryOn{
    margin: 48px auto 0;
    text-align: center;
    font-size: 1.83rem;
    font-weight: 500;
    max-width: 880px;
    padding: 40px 8px;
}

.smashCake-carryOn p{
    padding-bottom: 8px;
}

.wantedBox{
    background: #fff6f6;
    padding: 24px;
    border-radius: 10px;
    margin-bottom: 32px;
}

.wantedBox ul{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wantedBox ul li,
.smashcake-wanted ul li{
    text-indent: -1.6rem;
    padding-left: 16px;
}

.smashcake-wanted{
    margin-bottom: 32px;
}

.smashcake-wanted h4{
    font-weight: 400;
    padding-bottom: 16px;
}

.smashcake-wanted ul{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.marker{
    font-weight: 500;
    background: linear-gradient(transparent 60%, #ff6 60%);
}

.smashCake-point_contents{
    margin-bottom: 56px;
}

.smashCake-point_contents:last-of-type{
    margin-bottom: 0;
}

.smashCake-imageArea{
    margin-top: 24px;
    display: flex;
    gap: 40px;
}

.smashCake-point_contents__title{
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
}

.smashCake-point_contents__title h4{
    font-weight: 400;
    width: 79%;
}

.smashCake-point_contents__title p{
    color: #fefefe;
    background: var(--color-green);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-family: 'Urbanist', sans-serif;
    padding-bottom: 0!important;
}

.smashCake-point_contents__store{
    border: dashed 2px var(--color-green);
    display: flex;
    justify-content: space-between;
    padding: 24px 32px;
    border-radius: 10px;
    margin-top: 24px;
}

.smashCake-point_contents__store.wantedBox{
    border: none;
}

.smashCake-point_contents img{
    border-radius: 10px;
}

.smashCake-point_contents__store .cakeImage{
    width: 38%;
}

.smashCake-point_textArea{
    width: 58%;
}

.smashCake-point_textArea h5{
    color: var(--color-green);
    padding-bottom: 16px;
}

.smashCake-point_textArea p a{
    border-bottom: solid 1px #000;
}

.smashCake-point_textArea p a:hover{
    opacity: 0.6;
}

.smashCake-point_textArea p:last-of-type{
    padding-top: 32px;
    font-size: 1.4rem;
}

/*--- smashケーキ　表 --*/
.admis-table th{
    background: #FFFBF4;
    letter-spacing: .03em;
    line-height: 1.5;
    padding: min(2rem, 4vw) min(1rem, 1.6vw);
    border: solid 1px #D9D9D9;
    text-align: center;
}
.admis-table th.admis-th{
width: 10%;
}
.admis-table th.admis-th:nth-of-type(2),
.admis-table th.admis-th:nth-of-type(3){
width: 36%;
}

.admis-table td{
    padding: min(2rem, 4vw) min(1.6rem, 2vw);
    border: solid 1px #D9D9D9;
}

.admis-table td p{
padding-bottom: 0;
line-height: 1.5;
font-size: min(1.4rem, 3.24vw);
}

.admis-table td p a{
    color: #F49C8E;
    text-decoration: underline;
}

.admis-table td p.emphasis{
    font-weight: 500;
    font-size: min(2.24rem, 4.45vw);
    padding-bottom: min(1.2rem, 2vw);
}
.admis-table td p.emphasis .marker{
    background: linear-gradient(transparent 80%, #f49c8e52 80%);
}

p.tableWrap-text{
    display: none;
}


/*------ マタニティフォト -------*/
.mp-imageArea{
    margin-top: 24px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

.mpImage{
    width: 31%;
}

.mb-textArea{
    width: 56%;
}

.mb-photographerImage{
    width: 40%;
}

.mp-linkArea{
    padding-top: 24px;
}

.mp-linkArea a.linkBox{
    color: #fefefe;
    max-width: 300px;
    margin: auto;
}

.mp-profileArea{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    background: #F8F9F3;
    padding: 24px;
    border-radius: 12px;
    max-width:780px;
    margin: 24px auto 0;
}

.mp-profileArea .modalInSlider-links {
    padding-top: 8px;
}

.mp-profileArea .modalInSlider-textArea h4{
    padding-bottom: 12px;
}

.mp-profileArea p{
    font-size: 1.4rem;
}

/*------ マタニティフォト(新) -------*/

.maternity__container {
    font-family: 
        "Shippori Mincho", 
        "Hiragino Mincho ProN", 
        "Hiragino Mincho Pro", 
        "Yu Mincho", 
        "MS PMincho", 
        serif;
    max-width: 100%;
    color: #7c6c63;
}

/* kv(マタニティ) */

.maternity__kv {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    position: relative;
    opacity: 0;
    filter: blur(10px);
    animation: pageKV-fadeIn 1.2s ease-in-out .9s normal forwards;
}

.maternityKv--image, .maternityKv--text {
    width: 50%;
}

.maternityKv--image {
    height: calc(100vh - 112px);
    background: url(./img/maternity/maternity-kv.jpg) center center no-repeat;
    background-size: cover;
    position: sticky;
    top: min(120px, 26vw);
}

.maternityKv--title {
    height: calc(100vh - 112px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.maternityKv--title h2 {
    width: 60%;
}

.maternityKv--text {
    margin: 0 auto;
}

.maternityKv--textContainer {
    display: flex;
    justify-content: center;
    padding: 150px 0;
}

.maternityKv--copy {
    color: #e9474d;
    font-size: min(3rem, 2.4vw);
    line-height: 1;
}

.maternityKv--textItem {
    margin-top: 80px;
}

.maternityKv--textItem p {
    margin-top: 40px;
    font-size: min(1.8rem, 1.6vw);
}

.maternityKv--textItem p:first-of-type {
    margin-top: 0;
}

.maternityKv--textItem p .spBr {
    display: none;
}

/* 共通(マタニティ) */

.maternity__section {
    max-width: 1440px;
    width: 85%;
    margin: 200px auto 0;
    display: flex;
    justify-content: space-between;
}

.maternitySec-title {
    font-size: min(2.6rem, 2vw);
    font-weight: 600;
    color: #e9474d;
}

.maternitySec-title span {
    display: block;
    padding: 0 1em 5px 0;
    border-bottom: 1px solid #e9474d;
}

.maternitySec-main {
    width: 74%;
}

/* maternity__visualQuote(マタニティ) */

.maternity__visualQuote {
    width: 100%;
    align-items: flex-end;
    position: relative;
    margin: 300px auto;
}

.maternityVQ--inner {
    width: 45%;
}

.maternityVQ--inner01 {
    padding-bottom: 180px;
}

.maternityVQ--text {
    font-size: min(2.2rem, 1.8vw);
}

.maternityVQ--inner01 .maternityVQ--text {
    margin-top: 50px;
    margin-left: 18%;
}

.maternityVQ--inner02 .maternityVQ--text {
    margin-bottom: 50px;
}

/* 料金プラン(マタニティ) */

.maternityPrice--main {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.maternityPrice--main::before {
    content: "";
    order: 2;
    display: block;
    width: 1px;
    align-self: stretch; /* 追加：flexアイテムとして親の高さに合わせる */
    background-color: #e9474d;
    opacity: 0.3;
}

.maternityPrice--inner {
    width: 42%;
}

.maternityPrice--inner01 {
    order: 1;
}

.maternityPrice--inner02 {
    order: 3;
}

.maternityPrice--planTitle {
    font-size: min(5rem, 3.3vw);
    line-height: 1;
    color: #e9474d;
}

.maternityPrice--planTitle span {
    display: block;
}

.maternityPrice--planTitle--sub {
    font-size: min(2rem, 1.6vw);
    padding-bottom: 10px;
}

.maternityPrice--infoList {
    margin-top: 45px;
}

.maternityPrice--infoList li {
    margin-top: 20px;
    border: 1px solid #7c6c63;
    border-radius: 20px;
    padding: 6%;
    font-size: 2.4rem;
    font-size: min(2.4rem, 2vw);
    line-height: 1.2;
    text-align: center;
}

.maternityPrice--infoList li:first-of-type {
    margin-top: 0;
}

.maternityPrice--price {
    margin-top: 40px;
}

.maternityPrice--price dl {
    max-width: 300px;
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.maternityPrice--price dl:first-of-type {
    margin-top: 0;
}

.maternityPrice--price dt span {
    display: block;
    width: min(90px, 8vw);
    border-radius: 10px;
    margin-top: 10px;
    background-color: #e9474d;
    color: #fff;
    font-size: min(2rem, 1.6vw);
    text-align: center;
}

.maternityPrice--price dd {
    font-size: min(5.2rem, 3.8vw);
    line-height: 1;
    color: #e9474d;
}

.maternityPrice--price dd span {
    font-size: 65%;
}

.maternityPrice--hairSet {
    margin-top: 20px;
    display: flex;
    align-items: center;
}

.maternityPrice--hairSet dt {
    font-size: min(2.6rem, 2vw);
    color: #e9474d;
}

.maternityPrice--hairSet dd {
    font-size: min(2.8rem, 2vw);
    color: #e9474d;
    padding-right: 1%;
}

.maternityPrice--hairSet dd span {
    font-size: 70%;
}

.maternityPrice--deco {
    max-width: 130px;
    width: 14%;
}

.maternityPrice--note {
    background-color: #FEF6F6;
    margin-top: 50px;
    padding: 30px;
    font-size: min(2rem, 1.7vw);
}

.maternityPrice--note span {
    color: #e9474d;
}

/* オプション(マタニティ) */

.maternityOption--list dl {
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(124, 108, 99, 0.5);
    margin-bottom: 40px;
}

.maternityOption--list dl:last-of-type {
    margin-bottom: 0;
}

.maternityOption--list dt {
    font-size: min(2.4rem, 2vw);
    line-height: 1.2;
}

.maternityOption--list dd {
    font-size: min(2.6rem, 2vw);
    line-height: 1.2;
}

.maternityOption--list dd span {
    font-size: 80%;
}

.maternityOption--note {
    margin-top: 40px;
}

.maternityOption--note li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: min(1.6rem, 1.4vw);
    line-height: 1.8;
    margin-top: 8px;
}

.maternityOption--note li::before {
    content: "※";
}

/* 衣装(マタニティ) */

.maternity__costume {
    justify-content: center;
    align-items: center;
    gap: 60px;
    background-color: #FEF6F6;
    padding: 5%;
}

.maternityCostume__image {
    width: 50%;
    min-width: 0;
    flex-shrink: 1;
}

.maternityCostume__text {
    width: 50%;
    min-width: 0;
    flex-shrink: 1;
}

.maternityCostume__text h3 {
    font-size: min(2.4rem, 1.8vw);
    line-height: 1.8;
    margin-bottom: min(20px, 1vw);
}

.maternityCostume__text p {
    font-size: min(1.8rem, 1.4vw);
    line-height: 2.2;
}

.maternityCostume__linkText a {
    background: url(./img/maternity/maternity-arrow.png) center right no-repeat;
    background-size: 1em;
    line-height: 1.4;
    color: #e9474d;
    margin-top: min(30px, 2vw);
    padding-right: 1.2em;
}

.maternityCostume__linkText a:hover {
    opacity: 0.5;
}

/* 撮影の流れ(マタニティ) */

.maternityFlow--main dl {
    margin-top: 40px;
}

.maternityFlow--main dl:first-of-type {
    margin-top: 0;
}

.maternityFlow--main dt {
    font-size: min(3.2rem, 2.6vw);
}

.maternityFlow--main dt span {
    font-size: min(2.6rem, 2.4vw);
    line-height: 1;
    color: #e9474d;
    margin-right: 0.8em;
    border-right: 1px solid rgba(124, 108, 99, 0.5);
    padding-right: 0.8em;
}

.maternityFlow--main dd {
    margin-top: 10px;
}

/* よくある質問(マタニティ) */

.faq_cont ul.maternityFAQ--accordion li {
    padding: 40px 0;
    border-bottom: 1px solid rgba(124, 108, 99, 0.5);
    transition: ease .5s;
}

.faq_cont ul.maternityFAQ--accordion li:first-of-type {
    padding-top: 0;
}

.faq_cont ul.maternityFAQ--accordion .title {
    font-size: min(2rem, 1.8vw);
    padding-right: 2.2em;
}

.faq_cont ul.maternityFAQ--accordion .title::before, 
.faq_cont ul.maternityFAQ--accordion .title::after {
    background: #7c6c63;
    height: 1px;
}

.faq_cont ul.maternityFAQ--accordion .title::before {
    top: 18px;
}

.faq_cont ul.maternityFAQ--accordion ::after {
    top: 18px;
}

.faq_cont ul.maternityFAQ--accordion li span.question, .faq_cont ul.maternityFAQ--accordion li span.answer {
    color: #e9474d;
    font-size: min(2.8rem, 2.2vw);
}

.faq_cont ul.maternityFAQ--accordion li span {
    font-size: 3rem;
    line-height: 1;
    font-family: 
        "Shippori Mincho", 
        "Hiragino Mincho ProN", 
        "Hiragino Mincho Pro", 
        "Yu Mincho", 
        "MS PMincho", 
        serif;
    padding-right: 12px;
}

.faq_cont ul.maternityFAQ--accordion .box {
    padding-top: 30px;
}

.faq_cont ul.maternityFAQ--accordion .faq_cont__answerBox {
    gap: 0;
}

.faq_cont ul.maternityFAQ--accordion .faq_cont__answerBox p {
    font-size: min(2rem, 1.6vw);
    line-height: 1.8;
}

/* maternity__conceptMessage(マタニティ) */

.maternity__conceptMessage {
    display: block;
    width: 100%;
}

.maternityCM--inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-top: 100px;
}

.maternityCM--inner:first-of-type {
    margin-top: 0;
}

.maternityCM--inner01 {
    align-items: flex-end;
}

.maternityCM--text {
    position: absolute;
    font-size: min(2rem, 1.8vw);
    line-height: 2.4;
}

.maternityCM--image01 {
    width: 45%;
    padding-bottom: 100px;
}

.maternityCM--text01 {
    top: 28%;
    right: 30%;
}

.maternityCM--image02 {
    width: 28%;
    margin-right: 7.5%;
}

.maternityCM--inner02 {
    width: 85%;
    margin: 150px auto 0;
}

.maternityCM--text02 {
    right: 18%;
}

.maternityCM--image03, .maternityCM--image04 {
    width: 45%;
}

.maternityCM--image03 {
    padding-top: 120px;
}

.maternityCM--image04 {
    padding-top: 300px;
}

.maternityCM--text03 {
    bottom: 12%;
    left: 12%;
}

.maternityCM--staff {
    max-width: 1440px;
    width: 85%;
    margin: 200px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
}

.maternityCM--staffImage {
    width: 34%;
}

.maternityCM--staffText {
    display: inline-block;
    font-size: min(1.8rem, 1.5vw);
    line-height: 2.4;
}

.maternity-slider-inner {
    margin: 0 6px;
}

/* スライド(マタニティ) */

.maternity-photoMenu_slider {
    margin-bottom: 200px;
}


/*------ 卒業・入学　団体さまプラン -------*/
.graduation_cont {
    margin-bottom: 120px;
    position: relative;
}

.graduation_cont:last-of-type{
    margin-bottom: 0;
}

.graduation_cont h3{
    text-align: center;
    padding-bottom: 40px;
}

.gra_plan {
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between;
}

.gra_plan .five_box{
    text-align: center;
    width: 48%;
}

.gra_plan2 {
    text-align: center;
}

.gra_plan2-image, .gra_plan2-text {
    display: inline-block;
    vertical-align: middle;
}

.gra_wanted {
    max-width: 990px;
    margin: 50px auto 0;
    background: #F8F9F3;
    padding: 20px;
    border-radius: 13px;
}

/*---.gallery{
    display: flex;
    flex-wrap: wrap;
    max-width: 1140px;
    width: 900%;
    margin: auto;
    text-align: center;
    gap: 8px;
    justify-content: center;
}

.gallery img{
    flex-grow: 1;
    object-fit: cover;
    height: 247px;
}--*/

.gallery_cont{
    max-width: 1140px;
    width: 90%;
    margin: auto;
}

.fg-justified .fg-item.fg-positioned .fg-image{
    border-radius: 0;
}

/*------ 卒業・入学　団体さまプラン(テスト) -------*/

article.elementary-group-test h3 {
    margin-bottom: min(80px, 5vw);
}

div.elementary-group-box {
    max-width: 1140px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 120px;
}

div.elementary-group-box:last-child {
    margin-bottom: 0;
}

div.e-group-text {
    width: 42%;
    position: relative;
}

div.e-group-deco {
    position: absolute;
    top: -3%;
    left: -5%;
    width: 13%;
}

div.e-group-textItem {
    margin-bottom: min(40px, 3vw);
    border-bottom: 1px solid #4C4C4C;
    padding-bottom: min(40px, 3vw);
}

div.e-group-textItem:last-child {
    margin-bottom: 0;
}

div.e-group-image {
    width: 52%;
}


/*--- 卒業袴プラン ---*/

.g_concept p{
    position: absolute;
    top: 70px;
}

.graduation_cont h3{
    padding: 0;
    color: #000;
    text-align: center;
    position: relative;
    margin-bottom: 32px;
    display:block;
}

.graduation_cont h3 span{
font-size: 51%;
    padding: 0 18px;
}

.graduation_cont h3::before {
    content: "";
    position: absolute;
    left: 0%;
    background: none;
}

.supportment-list{
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
}

.supportment-list li{
    text-indent: -1.6rem;
    padding-left: 16px;
}

.graduation-planImage{
    max-width: 100%;
    width: 65%;
}

.hakama_graduation .g_concept p{
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 2.4;
}

.gra_plan{
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between;
}

.gra_plan .five_box{
    text-align: center;
    width: 48%;
}

.gra_plan_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 40px;
}

.gra_plan_list__image{
    width: 40%;
}

.gra_plan_list__text{
    width: 58%;
}

.bg_gray{
    background: #f2f2f2;
    padding: 8px 22px;
    display: inline-block;
    margin-bottom: 16px;
}

.foogallery .fg-caption-title{
    display: none;
}

.gra_plan2{
    text-align: center;
}

.gra_plan2-image,
.gra_plan2-text{
    display: inline-block;
    vertical-align: middle;
}

.gra_wanted{
    max-width: 990px;
    margin: 50px auto 0;
    background: #f5f6ea;
    padding: 14px 20px;
    border-radius: 13px;
}

.with_frends p{
    font-weight: 500;
    line-height: 2.2;
    padding-bottom: 16px;
}

.top-Imagearea{
    position: relative;
}

.top-ImageareaCopy{
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translate(-10%, -50%);
    width: calc(100% - 76%);
}

.plan-flow .gra_plan,
.plan-kimono .gra_plan{
    flex-direction: row-reverse;
}

.graduation_cont-hakamaList{
    display: flex;
    flex-wrap: wrap;
}

.graduation_cont-hakamaList h4{
    color: var(--color-green);
    font-family: 'Urbanist', sans-serif;
}

/*----------------*/
/*and you
/*----------------*/
.flex-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.andyou-header{
    background: url(img/andyou-top.jpg) center;
    background-size: cover;
    height: 72vh;
    min-height: 560px;
    position: relative;
}

.andyou-header h2{
    right: 6%;
    bottom: auto;
    transform: translateY(-50%);
    top: 50%;
    position: absolute;
}

.andyou{
    color: #555555;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

.andyou h3{
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 8px;
    padding-bottom: 48px;
}

.andyou h3 span{
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
}

.andyou h4{
    text-align: center;
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: 8px;
}

.andyou h4 span{
    display: block;
    font-weight: 400;
    font-size: 1.4rem;
}

.andyou h5{
    font-weight: 500;
}

.andyou-article{
    border-bottom: solid 1px #E2E2E2;
    padding: 130px 0;
}

.andyou-article:last-of-type{
    border-bottom:no-repeat;
}

.andyou-concept{
    max-width: 1320px;
    width: 90%;
    margin: min(234px,16vw) auto 2vw;
    position: relative;
    height: min(734px, 55vw);
}

.andyou-concept_text{
    position: absolute;
    top: 0;
    left: 0;
}

.andyou-concept_text h3{
    text-align: left;
    font-size: min(3rem,3.4vw);
    padding-bottom: 30px;
}

.andyou-concept_text p{
    font-weight: 500;
    font-size: min(2.2rem, 2.24vw);
    line-height: 2.6;
}

.andyou-image{
    position: absolute;
    width: min(310px, 18vw);
}

.andyou-image1{
    top: min(-20px, -5vw);
    right: min(360px, 21vw);
}

.andyou-image2{
    top: 0vw;
    right: 0;
}

.andyou-image3{
    width: min(390px, 28vw);
    top: min(423px, 36vw);
    left: 0;
}

.andyou-image4{
    width: min(390px, 32vw);
    top: min(473px, 33vw);
    left: min(445px, 31vw);
}

.andyou-schedule{
    text-align: center;
}

.andyou-schedule_list{
    width: calc(100% / 4);
}

.andyou-schedule_list h4{
    font-weight: 500;
    font-size: 2.6rem;
    line-height: 1.4;
    letter-spacing: 0.2em;
}

.andyou-schedule_list h4 span{
    font-size: 2rem;
}

.andyou-schedule_wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 1.4em 0em;
}

.andyou-resavation_step{
    padding-top: 100px;
}

.andyou-resavation_step h4{
    padding-bottom: 28px;
}

.andyou-resavation_step p{
    font-weight: 500;
    text-align: center;
    width:90%;
    margin:0 auto;
}

.-schedule_notes.gray-bg{
    max-width: 820px;
    margin: 52px auto 0;
}

.andyou .-schedule_notes h4{
    font-weight: 500;
    font-size: 2.24rem;
    letter-spacing: 0.1em;
    padding-bottom: 8px;
}

.gray-bg{
    background: #EBEBEB;
    padding: 20px;
    max-width: 600px;
    width: 90%;
    margin: 30px auto;
    border-radius: 6px;
}

.gray-bg dl{
    padding-bottom: 16px;
    font-weight: 500;
}

.gray-bg dl:last-of-type{
    padding-bottom: 0;
}

.gray-bg dl dt{
    font-size: 2rem;
}

.gray-bg dl ul li{
    display: inline-block;
}

.andyou-resavation_step .andyou-linkarea a{
    text-decoration:underline;
}

.andyou-linkarea{
    text-align: center;
}

.andyou-linkarea a{
    font-size: 2.2rem;
    font-weight: 500;
    padding: 0 16px;
    position: relative;
    color: #555;
}

.andyou-resavation_step .andyou-linkarea a{
    text-decoration:none;
}

.andyou-resavation_step .andyou-linkarea a::after{
    content: "";
    position: absolute;
    right: 3px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #555;
    border-right: 2px solid #555;
}

.andyou-linkarea span{
    position: relative;
    font-weight: 500;
}

.andyou-linkarea span:before{
    position: absolute;
    content: "";
    background: #555;
    width: 1px;
    height: 13px;
    left: -10px;
    bottom: 3px;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

.andyou-linkarea span:after{
    position: absolute;
    content: "";
    background: #555;
    width: 1px;
    height: 13px;
    right: -10px;
    bottom: 3px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.andyou-event {
    padding-top: 100px;
}

.andyou-event p {
    width: 90%;
    margin: 0 auto;
}

.andyou-event p br.spBr {
    display: none;
}

.andyou_eventBanner {
    max-width: 1240px;
    width: 86%;
    margin: 30px auto 0;
    display: flex;
    gap: 24px;
    justify-content: space-around;
}

.andyou_eventBanner li {
    width: 100%;
    max-width: 820px;
}

.andyou_eventBanner li a:hover {
    opacity: 0.7;
}

.andyou-plan_content{
    width: 48%;
}

.andyou-plan_content h4{
    text-align: left;
    font-weight: 500;
    letter-spacing: 3px;
    position: relative;
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 18px;
    padding-left:56px;
}

.andyou-plan_content h4:before{
    position:absolute;
    content:"";
    top:0;
    left:0;
}

.andyou-plan_content .no1:before{
    background:url(img/andYou/no1.png) no-repeat;
    background-size:100%;
    width:48px;
    height:48px;
}

.andyou-plan_content .no2:before{
    background:url(img/andYou/no2.png) no-repeat;
    background-size:100%;
    width:48px;
    height:48px;
}

.andyou-plan_content p{
    font-size: 1.8rem;
}

.andyou-plan_content img{
    padding-bottom: 20px;
}

.list-content{
    padding: 40px 0;
    border-top: solid 1px #E2E2E2;
}

.list-content ul{
    padding-top: 14px;
    font-weight:500;
}

.list-content ul li{
    text-indent:-1.6rem;
    padding-left:16px;
}

.andyou-price_list-inner{
    text-align: center;
}

.andyou-price_content{
    background: #EBEBEB;
    padding: 34px 20px;
    max-width: 840px;
    width: 100%;
    margin: 0 auto;
    border-radius: 8px;
}

.andyou-price_content a{
    font-size: 2rem;
    font-weight: 500;
    text-decoration: underline;
}

.andyou-price_content h5{
    font-size: 2.6rem;
    line-height: 1.2;
    padding-bottom: 16px;
}

.andyou-price_content h5 span{
    font-size: 2rem;
}

.andyou-price_content .price-text{
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1.2;
}

.andyou-price_content .price-text span{
    font-size: 2.4rem;
    padding: 0 6px;
}

.andyou-price_content ul{
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: 630px;
    padding-top: 30px;
}

.andyou-price_list-inner .plus{
    padding: 18px 0;
    font-size: 3rem;
    font-weight: 500;
}

.andyou-option{
    align-items: top;
    padding-top: 110px;
    align-items: flex-start;
}

.andyou-option_title{
    text-align: left;
    width:34%;
    position:relative;
}

.andyou-option_title:before{
    content: "";
    position: absolute;
    background: url(img/step.png) no-repeat;
    background-size: 100%;
    width: 180px;
    height: 180px;
    bottom: -210px;
    left: 17%;
}

.andyou-option_title h4{
    text-align: left;
    padding-bottom: 24px;
}

.andyou-option_content h5{
    position: relative;
    padding-left: 26px;
    font-size: 2rem;
}

.andyou-option_content h5::before{
    position: absolute;
    content: "";
    background: url(img/square.png) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    top: 14px;
    left: 0;
}

.andyou-option_list{
    width:62%;
}

.andyou-option_content ul li{
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0 6px;
    text-indent:0;
}

.andyou-option_content ul li span{
    font-size:2.4rem;
    padding: 0 3px;
}

.andyou-flow .flex-box{
    align-items:flex-start;
}

.andyou-flow_content h5{
    font-size:2.2rem;
}

.andyou-flow_content h5 span{
    font-size:2rem;
    padding-right:10px;
}

.andyou-flow_content p{
    font-weight:500;
}

.andyou-flow_image{
    width: 50%;
    background: url(img/ay-flow-image.jpg) no-repeat center;
    background-size: cover;
    height: 530px;
}

.andyou-flow_list .list-content{
    padding:24px 30px;
}

.andyou-gallery .contents{
    max-width: 1320px;
    margin-bottom:100px;
}

.andyou-gallery .andyou-linkarea a{
    text-decoration:underline;
    width:90%;
}

.gallery{
    columns: 4;/*段組みの数*/
    padding:0 15px;/*ギャラリー左右に余白をつける*/
    margin:0;
}

.gallery li {
    margin-bottom: 20px;
list-style:none;
}

.gallery img{
    width:100%;
    height:auto;
    vertical-align: bottom;
}

.andyou-wanted h3{
    padding-bottom:12px;
}

.andyou-wanted p{
    text-align: center;
    padding-bottom: 60px;
}

.andyou-wanted_content{
    padding-bottom:20px;
}

.andyou-wanted_content h5{
    font-size: 2rem;
    padding-bottom: 4px;
    font-weight:600;
}

.andyou-wanted_content p{
    text-align:left;
    padding-bottom:0;
}

.andyou-wanted_wrapper{
    padding-top:40px;
}

.andyou-wanted_wrapper h4{
    padding-bottom:40px;
}

.andyou-logo{
    text-align:center;
    padding:120px 0;
}

.andyou-logo p{
    font-size: 2rem;
    font-weight: 600;
}

.lightbox {
    position: fixed!important;
    top: 50%!important;
    left: 50%!important;
    transform: translate(-50%,-50%);
}


/*--------------
衣装
--------------*/
.icon-list{
    max-width: 582px;
    width: 100%;
    margin: 0 auto 132px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.icon-list li{
    display: flex;
    align-items: center;
    gap: min(8px,1vw);
}

.item-icon{
    width: 117px;
    color: #fefefe;
    border-radius: 30px;
    padding: 8px 16px;
    text-align: center;
    line-height: 1.5;
}

.icon01{
    background: #FFA0F6;
}

.icon02{
    background: #89B8FF;
}

.icon03{
    background: #FFAB90;
}

.cos_row {
    display: flex;
    flex-wrap: wrap;
}

.costume_box {
    width: calc((100% - 128px) / 4);
    margin: 0 16px 24px;
}

.costume_box img{
    border-radius: 10px;
}

.costume_box a{
    transition: all .5s;
}

.costume_box a:hover{
    opacity: 0.8;
}

.contents-section_wrapper .costume_box{
    width: calc((100% - 65px) / 4);
    margin: 0 8px 24px;
}

.page-costume p.tag{
    padding-top: 8px;
    color: var(--color-green);
    font-family: var(--font-en);
    font-size: min(1.83rem,4.24vw);
    line-height: 1.4;
    letter-spacing: 0.06em;
}

.page-costume p.tag span.size{
    color: #B6B6B6;
    font-size: min(1.4rem,3.24vw);
    padding-left: 8px;
}

#costume10 p.tag span.size{
    display: block;
}


.page-costume p.costume_mpTitle{
    padding-top: 8px;
    color: var(--color-green);
    font-size: 1.83rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
}

.page-costume p.costume_mpText{
    font-size: 1.3rem;
}

.page-costume .contents-section_page:has(ul) p{
    padding-bottom: 8px;
}

.page-costume .contents-section_page:has(ul) p.costume-announceText{
    padding-bottom: 24px;
}

.item-icon_list{
    display: flex;
    gap: 8px
}

.item-icon_list li{
    width: auto;
}

.page-costume .item-icon_list .item-icon{
    padding: 0 8px;
    font-size: min(1.24rem,2.83vw);
    width: auto;
}

/*--------------
ご利用規約 プライバシーポリシー　会社概要
--------------*/
.page-rule ul{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.page-rule ul li{
    text-indent: -1.6rem;
    padding-left: 16px;
}

/*--------------
よくある質問
--------------*/
.faq_cont .accordion-area li {
    padding: 16px 24px;
    transition: ease .5s;
    line-height: 1.5;
}

.faq_cont .accordion-area li h5{
    transition: ease .5s;
}

.faq_cont .accordion-area li h5:hover{
    opacity: 0.6;
}

.faq_cont .title::before, .faq_cont .title::after {
    width: 22px;
    height: 2px;
    left: auto;
    right: 0;
    background: #929D7F;
}

.faq_cont .accordion-area .title {
    display: flex;
    text-align: left;
    align-items: baseline;
    font-size: min(1.6rem,3.5vw);
}

.faq_cont ul li span{
    font-size: 3.2rem;
    line-height: 1;
    font-family: 'Urbanist', sans-serif;
    padding-right: 10px;
}

.faq_cont ul li span.question {
    color: var(--color-green);
}

.faq_cont ul li span.answer {
    color: #FFAB90;
}

.faq_cont ul li {
    border-bottom: 1px dotted #ccc;
    padding: 0 0 20px 40px;
}

.faq_cont__answerBox {
    display: flex;
    gap: 4px;
}

.faq_cont__answerBox p{
    font-size: min(1.6rem,3.4vw);
}

.faq_cont ul li .faq_cont__answerBox p span{
    font-size: 1.6rem;
    display: block;
    line-height: 1.75;
    padding-top: 12px;
    font-family: 'Noto Sans JP',"游ゴシック体", YuGothic ,"游ゴシック",Yu Gothic,'Noto Sans JP', sans-serif;
}

.faq_cont .box {
    padding: min(32px, 5vw) 0 0;
    text-align: left;
}

.faq-flow h4{
    font-weight: 400;
    padding-bottom: 4px;
}

.faq-flow dl{
    display: flex;
    gap: 24px;
    padding-bottom: 32px;
}

.faq-flow dl:last-of-type{
    padding-bottom: 0;
}

.faq-flow dl dt{
    width: 62px;
}

.faq-flow dl dt p{
    color: #fefefe;
    background: var(--color-green);
    padding-bottom: 0;
    text-transform: capitalize;
}

.faq-flow dt p{
    color: #fefefe;
    background: var(--color-green);
    width: 62px;
    height: 62px;
    text-align: center;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.4rem;
}

.faq-flow dd p span{
    padding-top: 8px;
}

/*--------------
/* founding 創業
--------------*/
.page-founding{
    padding-top: min(92px, 6vw);
    opacity: 0;
    animation: pageKV-fadeIn 1.2s ease-in-out .9s normal forwards;
}

.-founding_imageArea{
    padding-bottom: min(92px, 12vw);
    width: min(1240px, 100vw);
    margin: 0 auto;
}

.-founding_textArea p{
    font-size: min(1.6rem,3.4vw);
    text-align: center;
    line-height: 2.6;
    letter-spacing: 0.01em;
    padding-bottom: min(32px, 4vw);
}
.-founding_textArea p:nth-of-type(9){
    padding-bottom: min(56px, 10vw);
}

.-founding_textArea p.founder-name{
    font-size: min(1.4rem,3vw);
    line-height: 2;
}

.sp{
    display: none;
}
.pc{
    display: block;
}


@media screen and (max-width: 1024px){
/*--------------
/* common
--------------*/
.contents-section {
    margin-bottom: 92px;
}

.page-flexContents{
    display: block;
    margin: 0 auto;
}

.page-sideMenu{
    width: 100%;
    padding-right: 0;
    padding-bottom: min(56px,10vw);
}

.page-sideMenu ul {
    top: 0px;
    display: flex;
    flex-direction: initial;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 600px;
    margin: auto;
}

.page-sideMenu ul li{
    width: 48%;
}

.page-sideMenu ul li a span{
    display: contents;
}

/*--------------
/* header
--------------*/
.pageHeader-mainTitle_image{
    min-height: auto;
    height: min(310px, 62vw);
}

.pageHeader-mainTitle{
    width: calc(100% - 8vw);
}

/*--------------
/* photoMenu
--------------*/
.page-photoMenu_concept2 {
    margin-top: 162px;
}

.page-photoMenu_concept__inner{
    align-items: flex-start;
}

.page-photoMenu_concept-image{
    width: 46%;
}

._concept-image__baby ._concept-image_large{
    width: 100%;
}

.page-photoMenu_other .photoMenu-list li{
    width: calc((100% - 114px) / 4);
    margin: 0 12px 32px;
}

._price__contents-balloon{
    top: -6vw;
}

.page-smashCake_price__contents{
    padding: 32px 20px;
}

/*--------------
衣装/商品紹介
--------------*/
.icon-list{
    margin: 0 auto 92px;
}

.costume_box {
    width: calc((100% - 96px) / 4);
    margin: 0 12px 24px;
}

.page-costume p.tag span.size{
    display: block;
    padding-left: 0;
}

.page-products_lineUp__price{
    width: 50%;
}

/*--- 花束 ---*/
.page-bouquetConcept{
    margin-top: 16vw;
    margin-left: 6vw;
    margin-right: 6vw;
}

.-bouquetConcept_textArea,
.-bouquetConcept_imageArea{
    width: 100%;
}

.-bouquetConcept_1{
    height: min(600px, 78vw);
}
.-bouquetConcept_1 .-bouquetConcept_imageArea{
    width: 100%;
}
.-bouquetConcept_image1{
    width: 60vw;
    display: block;
    margin: 0 0 0 auto;
}
.-bouquetConcept_image2{
    left: 0;
    width: 24vw;
}

.-bouquetConcept_2{
    margin-top: 22vw;
}

.page-bouquetImageArea{
    margin-top: 8vw;
    height: 70vw;
}
.-bouquetConcept_image3 {
    width: 67vw;
}
.-bouquetConcept_image5{
    width: 48vw;
}

.-bouquetConcept_3{
    height: min(762px, 106vw);
}
.-bouquetConcept_3 .-bouquetConcept_imageArea{
    width: 100%;
    top: min(260px, 46vw);
}
.-bouquetConcept_image6{
    width: 65vw;
    margin: 0 0 0 auto;
    display: block;
}
.-bouquetConcept_image4{
    width: 28vw;
    left: 0vw;
    bottom: -11vw;
}

/*--------------
and you
--------------*/
.andyou-header h2{
    right: 4%;
    transform: translateY(-80%);
    top: 80%;
}

.andyou-schedule_list{
    width: calc(100% / 3);
}


}

@media screen and (max-width: 768px){
/*--------------
/* common
--------------*/
body.page {
    padding-top: 91px;
}

.pageHeader{
    padding-top: 72px;
}

.pageHeader::before{
    width: 90%;
}

.sp{
    display: block;
}

.pc{
    display: none;
}

/*--------------
/* header
--------------*/
.pageHeader-mainTitle{
    width: calc(100% - 8vw);
    flex-wrap: wrap;
    gap: 16px;
}

.pageHeader-mainTitle_image{
    width: 100%;
}

.pageHeader-mainTitle_title{
    width: 100%;
}

.pageHeader-mainTitle_title .pageHeader-mainTitle_title{
    font-size: 1.4rem;
}

/*--------------
/* products
--------------*/
.page-products_lineUp{
    gap: 16px;
}

.page-products_lineUp__image,
.page-products_lineUp__price{
    width: 100%;
}

.page-products_lineUp__price tr th{
    width: 50%;
}

.page-products img{
    border-radius: 5px;
}

.products-movie{
    flex-wrap: wrap;
    padding: 0 16px 32px;
    margin: 120px auto 0;
}

.products-movie_image,
.products-movie_text{
    width: 100%;
}

.products-movie_text p {
    padding-bottom: 16px;
}

.recommend-titleArea{
    gap: 16px;
}

/*--- 花束 ---*/
.page-bouquet_lineUp{
    flex-wrap: wrap;
}

.page-bouquet_lineUp picture,
.-bouquet_exText{
    width: 100%;
}


/*--------------
/* photo menu
--------------*/
.page-photoMenu_concept2 {
    margin-top: 92px;
}

.page-photoMenu_concept__inner{
    flex-wrap: wrap;
    gap: 24px;
    width: calc(100% - 54px);
}

.page-photoMenu_concept::before{
    height: calc(100% - -30px);
    top: -16px;
    border-radius: 0px 10px 10px 0px;
}

.page-photoMenu_concept-text,
.page-photoMenu_concept-image,
.page-photoMenu_concept2 .page-photoMenu_concept-image{
    width: 100%;
    position: static;
}

.page-photoMenu_concept-text h4{
    padding-bottom: 16px;
    font-size: min(1.83rem,4.78vw);
}

.page-photoMenu_concept-image ._concept-image_large{
    width: 76%;
}

._concept-image_small {
    bottom: -11%;
    right: 0%;
    width: 33%;
}

.page-photoMenu_concept2 ._concept-image_small{
    left: 0%;
}

.page-photoMenu_other .photoMenu-list li{
    width: calc((100% - 90px) / 3);
}

.page-photoMenu_price{
    justify-content: space-around;
    margin-top: 72px;
    margin-top: 132px;
    flex-wrap: wrap;
    margin-top: 82px;
    gap: 8vw;
}

.photoMenu_price__title,
.page-photoMenu_price-list,
._price-nb .photoMenu_price__title{
    width: 100%;
}

._price-list__option{
    padding-top: 32px;
    margin-top: 32px;
}

._price-list__option th{
    width: 60%;
}
._price-list__option .option-rental th{
    display: block;
    width: 100%;
    padding: 10px 10px 0 10px;
}
._price-list__option .option-rental td{
    padding: 2px 10px 10px 10px;
    display: block;
    width: 100%;
    text-align: left;
}

.page-photoMenu_linkBox{
    margin: 0 auto 72px;
    flex-wrap: wrap;
}

.photoMenu_linkBox-item{
    width: 46%;
}
.photoMenu_linkBox-item::before {
    bottom: 26px;
    left: -13px;
}

.photoMenu_linkBox-item_image{
    padding-bottom: 8px;
}

.photoMenu_linkBox-item_text .linkText{
    font-size: 1.83rem;
}

.page-photoMenu_banner ul {
    flex-wrap: wrap;
}

.page-photoMenu_banner ul li{
    width: 100%;
}

.photoMenu-recommendScene,
.page-photoMenu_price,
.page-photoMenu_slider,
.page-photoMenu_banner {
    margin-bottom: min(132px,24vw);
}

.page-photoMenu_andyouBanner {
    margin-bottom: min(50px, 2vw);
}

._planBanner-item{
    padding-bottom: 32px;
}

.box-optionDetails_imageArea{
    width: min(26rem, 100%);
    margin: 0 auto;
}
.box-optionDetails_priceArea{
    width: 100%;
}

.box-optionDetails_otherPrice .priceArea-price{
    flex-wrap: wrap;
}
.box-optionDetails_otherPrice .priceArea-price dd,
.box-optionDetails_otherPrice .priceArea-price dt{
    width: 100%;
}
.box-optionDetails_otherPrice .priceArea-price dd p.price{

}

/*------ smash cake -------*/
.page-smashCake_price {
    margin-top: 92px;
    margin-bottom: 56px;
}

.smashCake-carryOn{
    font-size: 1.4rem;
}

.page-smashCake_price__wrapper{
    flex-wrap: wrap;
    gap: 58px;
}

.page-smashCake_price__contents{
    width: 100%;
}

.smashCake-point_contents{
    margin-bottom: 40px;
}

.smashCake-point_contents__store{
    flex-wrap: wrap;
    gap: 24px;
    padding: 24px 16px;
}

.smashCake-point_contents__store .cakeImage,
.smashCake-point_textArea {
    width: 100%;
}

.smashCake-imageArea{
    gap: 24px;
    flex-wrap: wrap;
}

.wantedBox{
    padding: 24px 16px;
}

.smashcake-wanted h4{
    padding-bottom: 8px;
}

p.tableWrap-text{
    display: inline-block;
    position: relative;
}

p.tableWrap-text::after {
    content: "";
    display: block;
    width: 50px;
    height: 7px;
    position: absolute;
    top: 10px;
    right: -56px;
    background-image: url(./img/table-spArrow.svg);
    background-size: 50px;
    background-repeat: no-repeat;
}

.tableWrap{
overflow-x: scroll;
}

.tableWrap>table{
width: 100%;
min-width:62rem;
}


/*------ マタニティフォト -------*/
.mpImage {
    width: 47%;
}

.mp-profileArea{
    padding: 32px;
    margin: 8px auto 0;
}

.mb-textArea, .mb-photographerImage{
    width: 100%;
}

.mp-linkArea {
    padding-top: 8px;
}

/*------ マタニティフォト(新) -------*/

/* kv(マタニティ) */

.maternity__kv {
    display: block;
    margin-top: 10%;
}

.maternityKv--image, .maternityKv--text {
    width: 100%;
}

.maternityKv--image {
    position: initial;
    height: calc(100vh - 150px);
}

.maternityKv--title {
    height: initial;
    margin: 0;
    position: absolute;
    top: -3%;
}

.maternityKv--textContainer {
    margin: 180px 0;
    padding: 0;
    text-align: center;
}

.maternityKv--copy {
    font-size: 2.2rem;
}

.maternityKv--textItem {
    margin-top: 60px;
}

.maternityKv--textItem p {
    font-size: 1.6rem;
    line-height: 2.4;
}

/* 共通(マタニティ) */

.maternity__section {
    display: block;
    margin: 120px auto;
}

.maternitySec-title {
    margin-bottom: 50px;
    font-size: 2.6rem;
}

.maternitySec-main {
    width: 100%;
}

/* maternity__visualQuote(マタニティ) */

.maternity__visualQuote {
    display: flex;
    margin: 180px auto;
}

.maternityVQ--inner01 {
    padding-bottom: 120px;
}

.maternityVQ--text {
    font-size: 1.8rem;
}

/* 料金プラン(マタニティ) */

.maternityPrice--inner:first-of-type {
    margin-top: 0;
}

.maternityPrice--planTitle {
    font-size: 3.2rem;
}

.maternityPrice--planTitle--sub {
    font-size: 1.6rem;
}

.maternityPrice--infoList {
    margin-top: 40px;
}

.maternityPrice--infoList li {
    max-width: 300px;
    margin-top: 15px;
    border-radius: 15px;
    padding: 4%;
    font-size: 1.8rem;
}

.maternityPrice--price {
    margin-top: 30px;
}

.maternityPrice--price dl {
    margin-top: 15px;
}

.maternityPrice--price dt span {
    width: 75px;
    border-radius: 8px;
    font-size: 1.6rem;
}

.maternityPrice--price dd {
    font-size: 4rem;
}

.maternityPrice--deco {
    width: 13%;
}

.maternityPrice--note {
    font-size: 1.55rem;
}

.maternityPrice--hairSet {
    margin-top: 10px;
}

.maternityPrice--hairSet dt {
    font-size: 2rem;
}

.maternityPrice--hairSet dd {
    font-size: 2.2rem;
}

/* オプション(マタニティ) */

.maternityOption--list dl {
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.maternityOption--list dt {
    font-size: 1.8rem;
}

.maternityOption--list dd {
    font-size: 2rem;
}

.maternityOption--note {
    margin-top: 30px;
}

.maternityOption--note li {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 6px;
}

/* 衣装(マタニティ) */

.maternity__costume {
    padding: 7%;
}

.maternityCostume__image {
    width: 100%;
}

.maternityCostume__text {
    width: 100%;
    margin-top: 35px;
}

.maternityCostume__text h3 {
    font-size: 1.8rem;
    line-height: 1.8;
}

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

.maternityCostume__mainText br {
    display: none;
}

.maternityCostume__linkText {
    text-align: right;
}

/* 撮影の流れ(マタニティ) */

.maternityFlow--main dt {
    font-size: 2.4rem;
}

.maternityFlow--main dt span {
    font-size: 2.4rem;
}

/* よくある質問(マタニティ) */

.faq_cont ul.maternityFAQ--accordion .title {
    font-size: 1.8rem;
}

.faq_cont ul.maternityFAQ--accordion li {
    padding: 30px 0;
}

.faq_cont ul.maternityFAQ--accordion li span.question, 
.faq_cont ul.maternityFAQ--accordion li span.answer {
    font-size: 2.2rem;
}

.faq_cont ul.maternityFAQ--accordion .title::before {
    top: 13px;
}

.faq_cont ul.maternityFAQ--accordion ::after {
    top: 13px;
}

.faq_cont ul.maternityFAQ--accordion .box {
    padding-top: 15px;
}

.faq_cont ul.maternityFAQ--accordion .faq_cont__answerBox p {
    font-size: 1.6rem;
    line-height: 1.6;
}

/* maternity__conceptMessage */

.maternityCM--text {
    font-size: 1.8rem;
}

.maternityCM--text01 {
    right: 24%;
}

.maternityCM--inner02 {
    margin-top: 100px;
}

.maternityCM--text02 {
    right: 12%;
}

.maternityCM--image03 {
    padding-top: 100px;
}

.maternityCM--text03 {
    bottom: 10%;
    left: 6%;
}

.maternityCM--image04 {
    padding-top: 220px;
}

.maternityCM--staff {
    display: block;
    margin: 150px auto;
}

.maternityCM--staffImage {
    max-width: 380px;
    width: 100%;
    margin: 0 auto;
}

.maternityCM--staffText {
    display: block;
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: 2.2;
}

.maternityCM--staffText .pcBr {
    display: none;
}


/*------ 卒業・入学　団体さまプラン -------*/
.gra_plan{
    flex-wrap: wrap;
    gap: 24px;
}

.gra_plan .five_box {
    text-align: center;
    width: 100%;
}

.gallery{
columns:3;
}

/*------ 卒業・入学　団体さまプラン(テスト) -------*/

article.elementary-group-test h3 {
    margin-bottom: 8vw;
}

div.elementary-group-box {
    flex-wrap: wrap;
    gap: 8vw;
    width: 100%;
    margin-bottom: min(120px, 15vw);
}

div.e-group-text, div.e-group-image {
    width: 100%;
}

div.e-group-textItem {
    margin-bottom: min(50px, 6vw);
    padding-bottom: min(50px, 6vw);
}



/*--- 卒業袴プラン ---*/
.g_concept p{
    top: 30px;
}

.gra_plan_list__image,
.gra_plan_list__text{
    width: 100%;
}

/*----------------*/
/*and you
/*----------------*/
.andyou-header{
    height: 56vh;
}

.andyou-header h2{
    width: 34%;
    transform: translateY(-90%);
    top: 90%;
}

.andyou-article{
    padding:80px 0;
}

.andyou h3{
    font-size:2.4rem;
    padding-bottom:30px;
}

.andyou h4{
    font-size:4.34vw;
}

.andyou-schedule_list{
    width: calc(100% / 2);
}

.andyou .-schedule_notes h4{
    font-size: 1.83rem;
}

.flex-box{
    display:block;
}

.andyou-concept{
    height: 146vw;
}

.andyou-concept_text h3{
    letter-spacing:4px;
    padding-bottom:3.4vw;
    font-size: 5vw;
}

.andyou-concept_text p{
    font-size: 3.4vw;
}

.andyou-image{
    width:36vw;
}

.andyou-image1 {
    top: 53vw;
    right: 47VW;
}

.andyou-image2 {
    top: 44vw;
    right: 4vw;
}

.andyou-image3{
    width: 44vw;
    top: 115vw;
}

.andyou-image4{
    width: 40vw;
    top: 105vw;
    left: 50vw;
}

.andyou-plan_content,
.andyou-price_list-inner,
.andyou-price_list-image,
.andyou-option_title,
.andyou-option_list,
.andyou-flow_image,
.andyou-flow_list{
    width:100%;
}

.gray-bg dl dt{
    font-size:1.8rem;
    padding-bottom: 4px;
}

.andyou-resavation_step{
    padding-top: 80px;
}

.andyou-linkarea a {
    font-size: 1.8rem;
    display: inline-block;
    margin: 0 auto;
}

.andyou-resavation_step .andyou-linkarea a::after {
    right: 3px;
    width: 6px;
    height: 6px;
}

.andyou-event {
    padding-top: 80px;
}

.andyou-event p br.spBr {
    display: block;
}

.andyou_eventBanner {
    flex-wrap: wrap;
}

.andyou_eventBanner li {
    width: 100%;
}

.andyou-plan_content{
    padding-bottom:40px;
}

.andyou-plan_content:last-of-type{
    padding-bottom: 0;
}

.andyou-plan_content p{
    font-size:1.4rem;
}

.andyou-plan_content h4{
    padding-left: 46px;
}

.andyou-plan_content .no1:before,
.andyou-plan_content .no2:before{
    width: 38px;
    height: 38px;
}

.list-content{
    padding:20px 10px;
}

.andyou-price_content h5{
    font-size:2.2rem;
}

.andyou-price_content .price-text{
    font-size:3.6rem;
}

.andyou-price_content .price-text span{
    font-size:1.6rem;
}

.andyou-price_list-inner .plus{
    padding: 0;
}

.andyou-option{
    padding-top:50px;
}

.andyou-option_title{
    padding-bottom:30px;
}

.andyou-option_title:before {
    width: 90px;
    height: 90px;
    bottom: 13px;
    left: 36%;
}

.andyou-option_content h5{
    font-size:1.8rem;
}

.andyou-option_content ul li{
    text-indent:0;
}

.andyou-flow_image{
    height:38vh;
}

.andyou-flow_list .list-content {
    padding: 20px 10px;
}

.list-content ul{
    font-size:1.4rem;
    padding-top: 6px;
}

.andyou-flow_content h5{
    font-size:1.8rem;
    padding-bottom:8px;
}

.andyou-gallery .contents{
    margin-bottom: 50px;
}

.andyou-flow_content h5 span{
    font-size:1.4rem;
    padding-right:2px;
    display:block;
}

.andyou-wanted_content{
    padding-bottom: 0;
}

.andyou-wanted .andyou-wanted_content p{
    padding-bottom: 12px;
}

.andyou-wanted_content h5{
    font-size:1.8rem;
}

.andyou-wanted p{
    padding-bottom:30px;
}

.gallery {
    columns: 2;
    padding: 0px;
}

.gallery li{
    margin-bottom:10px;
}

.andyou-logo {
    padding: 60px 0;
}

.andyou-logo img{
    max-width: 190px;
}

.andyou-logo p{
    font-size: 1.6rem;
}

/*--------------
/* 衣装
--------------*/
.icon-list{
    margin: 0 auto 56px;
}

.icon-list li{
    flex-wrap: wrap;
}

.item-icon{
    padding: 4px 8px;
    width: 92px;
}

.costume_box {
    width: calc((100% - 48px) / 3);
    margin: 0 8px 24px;
}

.costume_box img{
    border-radius: 5px;
}

.contents-section_wrapper .costume_box{
    width: calc((100% - 48px) / 3);
}

.page-costume .contents-section_page:has(ul) p.costume-announceText{
    padding-bottom: 24px;
}

/*--------------
/* staff
--------------*/
.staffList ul li {
    width: calc((100% - 97px) / 3);
    margin: 0 16px 32px;
}

.staffList ul li img {
    margin-bottom: 8px;
}

.staff-modal_inner{
    flex-wrap: wrap;
    gap: 32px;
}

.fancybox__content{
    width: 96%;
    padding: 32px 22px;
}

.staff-modal .modalInSlider-image{
    width: 60%;
    margin: 0 auto 0;
}

.staff-modal .modalInSlider-image img,
.fancybox__content,
.staffList ul li img{
    border-radius: 5px;
}

.staff-modal .modalInSlider-textArea{
    width: 100%;
}

.modalInSlider-textArea h4{
    padding-bottom: 16px;
}

.modalInSlider-textArea h4 span{
    font-size: 1.2rem;
    padding-left: 8px;
}

.modalInSlider-links{
    padding-top: 16px;
}

/*--------------*/
/* faq
/*--------------*/
.faq_cont .accordion-area li{
    padding: 12px 8px;
}

.faq_cont ul li span{
    font-size: 2.24rem;
}

.faq_cont ul li .faq_cont__answerBox p span{
    font-size: 1.4rem;
}

.faq_cont .title::before, .faq_cont .title::after{
    width: 16px;
}

.faq-flow dt p{
    width: 52px;
    height: 52px;
    font-size: 1.16rem;
}

.faq-flow dl{
    gap: 14px;
    padding-bottom: 16px;
}

.faq-flow dl dt{
    width: 52px;
}

/*--------------
/* founding 創業
--------------*/
.-founding_textArea p{
    line-height: 2.2;
}

.-founding_textArea p span{
    display: block;
}


}

@media screen and (max-width: 521px){
/*--------------*/
/* common
/*--------------*/
    body.page {
        padding-top: min(120px,22vw);
    }

    .page-sideMenu ul{
        gap: 12px;
    }

    .page-sideMenu ul li a{
        padding-left: 12px;
    }

    .page-sideMenu ul li a::before{
        width: 8px;
        height: 8px;
    }

/*--------------*/
/* products
/*--------------*/
    .recommend-titleArea {
        gap: 0;
        flex-wrap: wrap;
        padding-bottom: 20px;
    }

    .recommend-titleArea .contents-title_page{
        padding-bottom: 12px;
        width: 100%;
    }

/*--------------*/
/* staff menu
/*--------------*/
.staffList ul li {
    width: calc((100% - 65px) / 2);
    margin: 0 16px 24px;
}

.staffList .poistion{
    font-size: 1.16rem;
}

/*--------------*/
/* about us
/*--------------*/
.aboutUs-contents_otherList{
    padding: 32px 24px;
}

.aboutUs-contents_otherList__item{
    flex-wrap: wrap;
}

.aboutUs-contents_otherList__textArea{
    width: 100%;
}

.top-banner ul{
    flex-wrap: wrap;
    gap: 14px;
}

.top-banner ul li{
    width: 100%;
}

.link-area{
    flex-wrap: wrap;
    gap: 12px;
}

.link-area a{
    width: 100%;
}

.staff-modal .modalInSlider-image{
    width: 90%;
}

.modalInSlider-links{
    flex-wrap: wrap;
    gap: 8px;
}

.modalInSlider-links li{
    width: 100%;
}

/*--------------*/
/* products
/*--------------*/
.page-company_wrapper{
    flex-wrap: wrap;
    gap: 16px;
}

.page-company_map,
.comapny-image{
    width: 100%;
}

/*--------------*/
/* contact
/*--------------*/
.linkArea a{
    font-size: 1.83rem;
}

.linkArea a span {
    padding-right: 24px;
}

.linkArea .linkArrow span:after{
    width: 20px;
    height: 20px;
}

.linkArea .linkArrow span::before {
    width: 10px;
    right: 5px;
}

/*--------------*/
/*  photomenu
/*--------------*/
.page-photoMenu_price._price-baby{
margin-bottom: 64px;
}

._price-list__main{
    gap: 8px;
}

.page-photoMenu_other .photoMenu-list li {
    width: calc((100% - 37px) / 3);
    margin: 0 6px 16px;
}

.photoMenu-recommendScene ul{
    flex-wrap: wrap;
    gap: 16px;
}

.photoMenu-recommendScene ul li{
    width: 30%;
}

.photoMenu-recommendScene ul li p{
    padding-top: 8px;
    font-size: 1.2rem;
    line-height: 1.6;
}

.page-photoMenu .linkArea,
.page-furisodeRental .linkArea{
    padding: 64px 0 0;
}

.page-photoMenu .linkArea.linkArea-photoMenu,
.page-furisodeRental .linkArea.linkArea-photoMenu{
    padding: 0 0 64px 0;
}

.page-photoMenu_linkBox{
    gap: 32px;
}

.photoMenu_linkBox-item{
    width: 90%;
    margin: auto;
}

._planBanner-item ul{
    flex-wrap: wrap;
    gap: 16px;
}

._planBanner-item ul li{
    width: 100%;
}

.page-smashCake_price__contents{
    padding: 32px 8px;
}

._price__contents-balloon {
    top: -12vw;
    width: 80px;
    height: 80px;
}

/*------ マタニティフォト -------*/
.mpImage {
    width: 100%;
}

.line-wrapper p{
    padding: 0 4%;
}

/*------ マタニティフォト(新) -------*/

/* kv(マタニティ) */

.maternity__kv {
    margin-top: 10%;
}

.maternityKv--image {
    height: 75vh;
}

.maternityKv--title {
    top: -2%;
}

.maternityKv--title h2 {
    width: 80%;
}

.maternityKv--textContainer {
    margin: 100px 0;
}

.maternityKv--copy {
    font-size: 1.6rem;
}

.maternityKv--textItem {
    margin-top: 50px;
}

.maternityKv--textItem p {
    margin-top: 30px;
    font-size: 1.4rem;
    line-height: 2.2;
}

.maternityKv--textItem p .spBr {
    display: block;
}

/* 共通(マタニティ) */

.maternity__section {
    margin: 60px auto;
}

.maternitySec-title {
    margin-bottom: 30px;
    font-size: 2rem;
}

/* maternity__visualQuote(マタニティ) */

.maternity__visualQuote {
    display: block;
    margin: 100px auto;
}

.maternityVQ--inner {
    width: 100%;
    padding-bottom: 0;
}

.maternityVQ--image, .maternityVQ--text {
    width: 92.5%;
}

.maternityVQ--text {
    font-size: 1.4rem;
    line-height: 1.8;
}

.maternityVQ--inner01 .maternityVQ--text {
    margin-top: 25px;
    margin-left: 7.5%;
}

.maternityVQ--inner02 {
    margin: 50px 0 0 auto;
    display: flex;
    flex-direction: column-reverse;
}

.maternityVQ--inner02 .maternityVQ--text {
    text-align: right;
    margin-top: 25px;
    margin-bottom: 0;
}

.maternityVQ--inner02 .maternityVQ--image {
    margin: 0 0 0 auto;
}

/* 料金プラン(マタニティ) */

.maternity__price .maternitySec-title {
    margin-bottom: 40px;
}

.maternityPrice--main {
    flex-wrap: wrap;
}

.maternityPrice--main::before {
    width: 100%;
    height: 1px;
    margin: 40px 0 50px;
}

.maternityPrice--inner {
    max-width: initial;
    width: 100%;
}

.maternityPrice--planTitle {
    font-size: 2.6rem;
}

.maternityPrice--planTitle--sub {
    font-size: 1.4rem;
}

.maternityPrice--infoList {
    margin-top: 30px;
}

.maternityPrice--infoList li {
    max-width: initial;
    margin-top: 12px;
    border-radius: 10px;
    font-size: 1.6rem;
}

.maternityPrice--price {
    max-width: 215px;
    width: 100%;
    margin-top: 25px;
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.maternityPrice--price dl {
    margin-top: 20px;
}

.maternityPrice--price dt span {
    width: 65px;
    margin-top: 6px;
    border-radius: 6px;
    font-size: 1.4rem;
}

.maternityPrice--price dd {
    font-size: 3.6rem;
}

.maternityPrice--hairSet dt {
    font-size: 2rem;
}

.maternityPrice--hairSet dd {
    font-size: 2.1rem;
}

.maternityPrice--deco {
    display: none;
}

.maternityPrice--note {
    margin-top: 20px;
    padding: 20px;
    font-size: 1.4rem;
    line-height: 1.8;
}

/* オプション(マタニティ) */

.maternityOption--list dl {
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.maternityOption--list dt {
    width: calc(100% - 80px);
    font-size: 1.4rem;
}

.maternityOption--list dd {
    font-size: 1.5rem;
}

.maternityOption--note {
    margin-top: 20px;
}

.maternityOption--note li {
    font-size: 1.2rem;
}

/* 衣装(マタニティ) */

.maternityCostume__text {
    margin-top: 28px;
}

.maternityCostume__text h3 {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 15px;
}

.maternityCostume__text p {
    font-size: 1.4rem;
    line-height: 2;
}

.maternityCostume__linkText a {
    margin-top: 20px;
}

/* 撮影の流れ(マタニティ) */

.maternityFlow--main dl {
    margin-top: 30px;
}

.maternityFlow--main dt {
    font-size: 2rem;
}

.maternityFlow--main dt span {
    font-size: 2rem;
}

.maternityFlow--main dd {
    margin-top: 10px;
    line-height: 1.6;
}

/* よくある質問(マタニティ) */

.faq_cont ul.maternityFAQ--accordion li {
    padding: 20px 0;
}

.faq_cont ul.maternityFAQ--accordion li span.question, 
.faq_cont ul.maternityFAQ--accordion li span.answer {
    font-size: 1.8rem;
}

.faq_cont ul.maternityFAQ--accordion .title::before, 
.faq_cont ul.maternityFAQ--accordion ::after {
    width: 13px;
    top: 12px;
}

.faq_cont ul.maternityFAQ--accordion .title {
    font-size: 1.4rem;
}

.faq_cont ul.maternityFAQ--accordion .box {
    padding-top: 10px;
}

.faq_cont ul.maternityFAQ--accordion .faq_cont__answerBox p {
    font-size: 1.4rem;
}

/* maternity__conceptMessage */

.maternity__conceptMessage {
    margin: 100px auto;
}

.maternityCM--inner {
    display: block;
    margin-top: 50px;
}

.maternityCM--image01 {
    width: 92.5%;
    padding-bottom: 50px;
}

.maternityCM--text {
    position: initial;
    font-size: 1.4rem;
    line-height: 2.2;
}

.maternityCM--text01 {
    margin-left: 7.5%;
}

.maternityCM--image02 {
    width: 50%;
    margin: 50px 7.5% 0 auto;
}

.maternityCM--image03 {
    width: 80%;
    margin: 0 0 0 auto;
    padding-top: 50px;
}

.maternityCM--text03 {
    margin-top: 50px;
}

.maternityCM--image04 {
    width: 80%;
    margin: 0 0 0 auto;
    padding-top: 50px;
}

.maternityCM--staff {
    margin: 80px auto;
}

.maternityCM--staffText {
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 2;
}

.maternityCM--staffImage {
    max-width: 240px;
}



/*--- 卒業袴プラン ---*/
.g_concept p{
    position: relative;
}

/*--------------*/
/*  and you
/*--------------*/
.andyou-header h2{
    width: 54%;
}

.andyou-article {
    padding: 48px 0;
}

.andyou-article {
    padding: 60px 0;
}

.andyou-resavation_step {
    padding-top: 60px;
}

.andyou-event {
    padding-top: 60px;
}

/*--------------*/
/*  costume
/*--------------*/
.costume_box {
    width: calc((100% - 32px) / 2);
}

.contents-section_wrapper .costume_box{
    width: calc((100% - 32px) / 2);
}

/*--------------*/
/*  footer
/*--------------*/
    .footer-menu ul li {
        width: 46%;
    }

    .footer-address{
        font-size: 1.2rem;
    }

    .privacy-policy a{
        font-size:1.2rem;
    }
}