
/*  プランページ調整用スタイルシート
---------------------------------------------*/
.plan_new_img{
  position: relative;
  z-index: 1;
}
.maedori .photograph-studio-explain, .photo-wedding .photograph-studio-explain, .maedori .photograph-location-explain, .photo-wedding .photograph-location-explain{
  margin: -46% auto 0;
  position: relative;
  z-index: 10;
}

.info_photo{
  margin-bottom: 80px;
}
.new_txt_logo{
  max-width: 40%;
  margin: 20px auto 0;
}


@media screen and (max-width: 751px){

  .maedori .photograph-studio, .photo-wedding .photograph-studio, .maedori .photograph-location, .photo-wedding .photograph-location {
    height: auto;
    background: transparent;
  }
  .maedori .photograph-studio-explain, .photo-wedding .photograph-studio-explain, .maedori .photograph-location-explain, .photo-wedding .photograph-location-explain{
    margin: 0 auto 40px;
    width: 100%;
  }
  .maedori .photograph-studio:first-child, .photo-wedding .photograph-studio:first-child, .maedori .photograph-location:first-child, .photo-wedding .photograph-location:first-child{
    background: transparent;
  }
  .maedori .photograph-studio:last-child, .photo-wedding .photograph-studio:last-child, .maedori .photograph-location:last-child, .photo-wedding .photograph-location:last-child{
    background: transparent;
  }
  header .logo{
    float: none;
    margin: 0 0 0 30px;
  }
  header.fixed .logo{
    display: none;
  }
  .seo_txt{
    display: none;
  }
  .flex_box{
    justify-content: flex-end;
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 0px 0 0px 0px;
    width: auto;
    z-index: 1000;
  }

  /*=============================
  .btn-trigger
  =============================*/
  .btn-trigger {
    cursor: pointer;
    right: 0;
    top: 0;
    padding: 10px 10px 0 10px;
    width: 50px;
    height: 50px;
  }
  .btn-trigger .btn-trigger_bk{
    position: relative;
    width: 40px;
    margin-top: -5px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0);
    margin-right: 10px;
    right: 10px;
  }
  .archive .btn-trigger .btn-trigger_bk{
    margin-top: -10px;
  }
  .btn-trigger.active .btn-trigger_bk{
    background-color: rgba(255, 255, 255, 0);
  }
  .btn-trigger span {
    position: absolute;
    left: 8px;
    width: 25px;
    height: 2px;
    background-color: #000;
    border-radius: 4px;
    z-index: 101;
  }
  .btn-trigger, .btn-trigger span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
  }
  .btn-trigger span:nth-of-type(1) {
    top: 10px;
  }
  .btn-trigger span:nth-of-type(2) {
    top: 20px;
  }
  .btn-trigger span:nth-of-type(3) {
    top: 30px;
  }


  /*=============================
  #btn01
  =============================*/
  #btn01.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  #btn01.active span:nth-of-type(2) {
    opacity: 0;
  }
  #btn01.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }

  header{
    background: rgba(255, 255, 255, 0);
  }
  header.fixed{
    background: rgba(255, 255, 255, 0.7);
  }
  main{
    padding-top:0;
  }
  header .btn-nav-sp{
    width: auto;
    z-index: 101;
  }
  .header-navigation--close{
    display: none;
  }
  .header-btn{
    padding: 0;
    width: 50%;
  }
  .header--btn-fair{
    padding: 10px 0;
    border-radius: 0;
  }
  .header--btn-reserve a{
    padding: 21px 0;
    background: #4e3a31;
  }
  .header--btn-reserve a{
    border-radius: 0;
  }
  .header--btn-fair{
    background: #d0b109;
    border: 1px solid #d0b109;
  }
  .header--btn-fair a{
    background: #d0b109;
    color: #fff;
  }
  .nav-sp .header--sub--nav .header--nav.long{
    width: 100%;
    background: #d0b109;
  }
  .nav-sp .header--sub--nav .header--nav a{
    padding: 15px 0;
  }
  .nav-sp .header--sub--nav .header--nav a i{
    margin-right: 5px;
  }

  .maedori-studio .plan--price, 
  .photo-wedding-studio .plan--price,
  .photo-wedding-location .plan--price,
  .maedori-location .plan--price{
    font-size: 7.07vw;
  }

  .header--btn-fair a i{
    margin-right: 5px;
    line-height: 1;
    font-size: 4.2vw;
  }

  .header--btn-fair a{
    line-height: 1;
    font-size: 4.2vw;
    padding: 10px 0;
  }
  .header--btn-reserve a{
    line-height: 1;
    font-size: 4.2vw;
  }
  .header--btn-reserve a i{
    margin-right: 5px;
  }

  .new_txt_logo{
    max-width: 60%;
    margin: 20px auto 0;
  }
  .uk-accordion-title::before {
    content: "";
    width: 1.4em;
    height: 1.4em;
    margin-left: 10px;
    float: right;
    background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E);
    background-repeat: no-repeat;
    background-position: 50% 50%;
  }
  .header-btns{
    padding: 0;
  }
  .header--btn{
    width: 50%;
  }
}

/*=============================
 ## フォトギャラリー
=============================*/
.gallery-area{
  margin: 80px 0;
}
.gallery-img-list{
  display: flex;
  padding: 0;
  flex-wrap: wrap;
  list-style: none;
}
.gallery-img-list li{
  width: 33.33%;
}
.gallery-img-list li img{
  height: 300px;
  object-fit: cover;
}
.gallery-img-list li img:hover{
  opacity:inherit;
}

@media (max-width: 768px) {
  .gallery-area{
    margin: 40px 0;
  }
  .gallery-img-list li{
    width: 50%;
  }
  .gallery-img-list li img{
    height: 200px;
  }
}

/*====================================
 ## 20250219 ロケーション情報の追加 
====================================*/
.maedori-location .spot.maedori-location-spot-pt {
  padding-top: 80px;
}

/*====================================
 ## 20250219 プランの情報増加 
====================================*/
.photograph-studio-explain.photograph-studio-planbox, 
.photograph-location-explain.photograph-location-planbox {
  width: 100%;
  margin: -17% auto 40px;
}
.maedori .photograph-studio--txt.photograph-planlist-txt-mb {
  font-size: 14px;
  margin: 0 0 1% 0;
}
ul.uk-slideshow-items.photograph-studio-plangrp-slide {
  min-height: 94px !important;
}
.photograph-studio-planitem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: unset;
}
.photograph-studio-planitem-bg {
  background-color: #e7e1d7;
  padding: 10px;
  margin: 0px auto;
}
.photograph-studio-planitem-name, 
.photograph-studio-planitem-price {
  margin: unset;
}
.photograph-studio-plangrp-slide-prev.uk-slidenav, 
.photograph-studio-plangrp-slide-next.uk-slidenav {
  color: rgba(0, 0, 0, 0);
}
.uk-position-center-left.photograph-studio-plangrp-slide-prev, 
.uk-position-center-right.photograph-studio-plangrp-slide-next {
  top: 32%;
}
.uk-position-center-left.photograph-studio-plangrp-slide-prev, 
.uk-position-center-right.photograph-studio-plangrp-slide-next {
  bottom: 0;
  height: 0;
  margin: auto;
  padding: 0px;
  position: absolute;
  width: 0;
}
.uk-position-center-left.photograph-studio-plangrp-slide-prev {
  left: 16px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 14px solid #9a845b;
  border-left: 0;
}
.uk-position-center-right.photograph-studio-plangrp-slide-next {
  right: 16px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 14px solid #9a845b;
  border-right: 0;
}
*+.uk-margin.photograph-plangrp-slide-dotnav {
  margin-top: 5px !important;
}
.uk-dotnav.photograph-plangrp-slide-dotnav>*>* {
  width: 8px;
  height: 8px;
}

@media screen and (max-width: 751px) {
  .photograph-studio-planitem-name, 
  .photograph-studio-planitem-price {
    font-size: 3.74vw;
  }
}

/*====================================
 ## 20250303  photoweddingページ 
 プランの情報増加 (「撮影プラン一覧」下margin-bottom設定)
====================================*/
.photo-wedding .photograph-studio--txt.photograph-planlist-txt-mb {
  font-size: 14px;
  margin: 0 0 -3% 0;
}
@media screen and (max-width: 751px) {
 .photo-wedding .photograph-studio--txt.photograph-planlist-txt-mb {
  margin: 0 0 -1% 0;
}
}

/*====================================
 ## 20250303  maedori・photoweddingページ ロゴ設置
====================================*/
ul.uk-slideshow-items.photograph-studio-plangrp-slide.plangrp-slide-mh {
 min-height: 140px !important;
}
.photograph-studio-planitem-iconset {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: 10px 20px 10px 72px;
}
.photograph-studio-planitem-icon {
 position: absolute;
 left: 14px;
 top: 0px;
 width: 100%;
 max-width: 48px;
}
.uk-position-center-left.photograph-studio-plangrp-slide-prev.plangrp-prev-posset, 
.uk-position-center-right.photograph-studio-plangrp-slide-next.plangrp-next-posset {
 top: 24%;
}

/*====================================
 ## 20250414  top・maedori・photoweddingページ BLANZ衣装
====================================*/
.dress {
 padding: 40px 0;
}
.dress h3 {
 font-weight: bold;
 font-size: 18px;
}
.dress-list-box {
 margin-bottom: 40px;
 overflow-x: scroll;
}
.dress-list {
 list-style: none;
 padding: 0;
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 gap: 0 2%;
 width: 1000px;
}
.dress-item {
 width: 180px;
}
.dress-item img {
 object-fit: cover;
 height: 215px;
}
.dress-item-clothes img {
 object-position: center;
}
.dress-item-wasou img {
 object-position: bottom;
}
.dress-item-name {
 position: relative;
 padding-left: 20px;
}
.dress-item-name::before {
 content: "";
 display: inline-block;
 position: absolute;
 top: 5px;
 left: 0;
 width: 8px;
 height: 32px;
 background-color: #9A845B;
}
.dress-item-num {
 color: #000;
 font-weight: bold;
}
@media screen and (min-width: 750px) {
 .dress {
 padding: 120px 0;
 }
 .dress h3 {
 font-size: 22px;
 }
 .dress-list-box {
 overflow: auto;
 }
 .dress-list {
 width: 100%;
 }
 .dress-item {
 width: auto;
 }
 .dress-item img {
 height: 275px;
 }
 .dress-item-name {
 font-size: 12px;
 }
 .dress-item-num {
 font-size: 15px;
 }
}

/*====================================
 ## 20250908  osakacity_centralpublichallページ
====================================*/
/* ヘッダー */
.photo-wedding-location .o_centralpublichall {
    background: url(../img/photowedding/osakacity_centralpublichall/header.jpg) center;
    background-size: cover;
    height: 500px;
    overflow: hidden;
    position: relative;
}
.o_centralpublichall .mv-circle {
    width: 400px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    margin: 50px auto 0;
    padding: 400px 0 0 0;
    position: relative;
}
.o_centralpublichall .mv--ttl {
    margin: 19% 0 0 0;
    font-weight: 400;
}
.o_centralpublichall .mv--ttl:after {
    margin: 6% auto 0;
}
@media screen and (max-width: 751px) {
    .photo-wedding-location .o_centralpublichall {
        background: url(../img/photowedding/osakacity_centralpublichall/header_sp.jpg) center 0;
        background-size: cover;
        height: 66.67vw;
    }
    .o_centralpublichall .mv-circle {
        width: 61.87vw;
        height: 61.87vw;
        box-sizing: border-box;
        margin: 2.4% 0 1.07%;
        padding: 7.74% 0 0 0;
    }
    .o_centralpublichall .mv--ttl {
        margin: 6.47% 0;
    }
}

/* おすすめポイント */
.recommend_point {
    background: #ecebe9;
    padding: .1px 0 70px;
}
.recommend_point_item {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}
.point_img {
    width: 40%;
}
.point_text {
    width: 60%;
}
.point_text_ttl {
    color: #9a845b;
    font-size: 22px;
    margin: 5.34% 0;
}
.centralpublichall__btn {
    margin-top: 50px;
    text-align: center;
}
.centralpublichall__btn a {
    display: inline-block;
    width: 500px;
    padding: 20px;
    background-color: #9a8259;
    border: 1px solid #fff;
    color: #fff;
    font-weight: 700;
}
.centralpublichall__btn--reverse a{
    background-color: #9a8259;
    border: 1px solid #fff;
    color: #fff;
}
.centralpublichall__btn a:hover {
    background-color: #fff;
    border: 1px solid #9a8259;
    color: #9a8259;
}
@media screen and (max-width: 751px) {
    .recommend_point {
        padding-bottom: 50px;
    }
    .recommend_point_item {
        display: block;
    }
    .point_img {
        width: 100%;
    }
    .point_text {
        width: 100%;
    }
    .point_text_ttl {
        font-size: 18px;
    }
    .centralpublichall__btn{
        margin-top: 30px;
    }
    .centralpublichall__btn a{
        display: inline-block;
        width: 300px;
        padding: 20px;
    }
}

/* ギャラリー */
.gallery {
    max-width: 1000px;
    width: 98%;
    margin: 100px auto;
}
.gallery ul {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0;
}
.gallery li {
    width: 25%;
    aspect-ratio: 1/1;
    list-style: none;
}
.gallery li img{
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}
@media screen and (max-width: 751px) {
    .gallery {
        width: 89.34%;
        margin: 50px auto;
    }
    .gallery ul {
        width: 100%;
    }
    .gallery li {
        width: 50%;
    }
}

/* おすすめシーズン */
.photo-wedding-location .plan--name {
    padding-right: 0;
}
.recommend_season {
    background: #ecebe9;
    padding: .1px 0 70px;
}
.season_item {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    padding: 0;
}
.season_item li {
    text-align: center;
    width: 10%;
    margin: 20px 0;
    background-color: #fff;
    border: 1px solid #9a845b;
    color: #9a845b;
    padding: 10px;
}
@media screen and (max-width: 751px) {
    .recommend_season {
        padding-bottom: 20px;
    }
    .season_item {
        margin: 30px auto;
    }
    .season_item li {
        width: 20%;
    }
}

/* アクセス */
.access {
    margin: 50px 0 100px;
}
.access_item {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.access_map {
    width: 350px;
    height: 250px;
}
.access_ttl {
    background-color: #ecebe9;
    padding: 5px 10px;
}
.access_text p {
    padding-left: 15px;
}
@media screen and (max-width: 751px) {
    .access_item {
        display: block;
    }
    .access_map {
        width: 100%;
        height: 200px;
    }
    .access_text {
        margin-top: 20px;
        font-size: 3.74vw;
    }
}

/*====================================
 ## 20250909 maedoriページ、photoweddingページ　ロケーション一覧リンク追加 
====================================*/
.maedori-location .spot--txt {
    margin-bottom: 20px;
}
.location_spot_link {
    width: 90%;
    margin: 5% auto 18.34%;
}
.maedori-location ul.uk-slideshow-items.photograph-studio-plangrp-slide.plangrp-slide-mh.location_spot_link-list{
  min-height: 600px !important;
}
.location_spot_link--sp{
  margin: 20px auto !important;
  a{
    font-size: 12px !important; 
  }
}

/*====================================
 ## 20250909 maedori/locationページ、photowedding/locationページ　ロケーション一覧リンク追加  
====================================*/
.maedori-location .spot--txt {
    margin-bottom: 20px;
}
.location_spot_link {
    width: 90%;
    margin: 5% auto 18.34%;
}
@media screen and (max-width: 751px) {
    .location_spot_link {
        margin-bottom: 10%;
    }
}

/*====================================
 ## 20250917  osaka_castle_parkページ
====================================*/
/* FV */
.osaka-castle-park .mv {
  background: url(../img/photowedding/osaka_castle_park/header.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.osaka-castle-park .mv-circle {
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width:751px){
  .osaka-castle-park .mv {
    background: url(../img/photowedding/osaka_castle_park/point2.jpg);
    background-position: center left;
    background-size: cover;
    height: 66.67vw;
  }
}

/* 大阪城公園のおすすめポイント */
.recommend_point {
    background: #ecebe9;
    padding: .1px 0 70px;
}
.recommend_point .osaka-castle-park_ttl {
    color: #00072d;
    font-size: 30px;
    text-align: center;
    margin: 10% 0 3.8% 0;
}
.recommend_point_item {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 30px;
}
.point_img {
    width: 40%;
}
.point_text {
    width: 60%;
}
.point_text_ttl {
    color: #9a845b;
    font-size: 22px;
    margin: 5.34% 0;
}
.osaka-castle-park__btn {
    margin-top: 50px;
    text-align: center;
}
.osaka-castle-park__btn a {
    display: inline-block;
    width: 500px;
    padding: 20px;
    background-color: #9a8259;
    border: 1px solid #fff;
    color: #fff;
    font-weight: 700;
}
.osaka-castle-park__btn--reverse a{
    background-color: #9a8259;
    border: 1px solid #fff;
    color: #fff;
}
.osaka-castle-park__btn a:hover {
    background-color: #fff;
    border: 1px solid #9a8259;
    color: #9a8259;
}
@media screen and (max-width: 751px) {
    .recommend_point {
        padding-bottom: 50px;
    }
    .recommend_point .osaka-castle-park_ttl {
        font-size: 4.27vw;
        margin: 11.65% 0 3.89% 0;
    }
    .recommend_point_item {
        display: block;
    }
    .point_img {
        width: 100%;
    }
    .point_text {
        width: 100%;
    }
    .point_text_ttl {
        font-size: 18px;
    }
    .osaka-castle-park__btn{
        margin-top: 30px;
    }
    .osaka-castle-park__btn a{
        display: inline-block;
        width: 300px;
        padding: 20px;
    }
}

/* ギャラリー */
.osaka-castle-park__heading-lv2{
  color: #00072d;
  font-size: 30px;
  text-align: center;
  letter-spacing: 0.03em;
  margin: 0 0 3.8% 0;
}
@media screen and (max-width:751px){
  .osaka-castle-park__heading-lv2{
    font-size: 4.27vw;
  }
}


/* 大阪城公園のおすすめシーズン */
.osaka-castle-park__season{
  background-color: #ecebe9;
  padding: 80px 0;
}
.osaka-castle-park__season-list{
  display: flex;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
}
.osaka-castle-park__season-item{
    width: 10%;
    margin: 20px 0;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #9a8259;
    color: #9a8259;
    text-align: center;
}
@media screen and (max-width:751px){
  .osaka-castle-park__season{
    padding: 50px 0;
  }
  .osaka-castle-park__season-item{
    width: 20%;
  }
}

/* 大阪城公園のアクセス */
.osaka-castle-park__access{
  padding: 80px 0;
}
.osaka-castle-park__access-box{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.osaka-castle-park__access-map iframe{
  width: 350px;
  height: 250px;
}
.osaka-castle-park__access-team{
  background-color: #ecebe9;
  padding: 5px 10px;
}
.osaka-castle-park__access-desc{
  margin: 10px 0;
}
@media screen and (max-width:751px){
  .osaka-castle-park__access{
    padding: 50px 0;
  }
  .osaka-castle-park__access-box{
    flex-direction: column;
  }
  .osaka-castle-park__access-map iframe{
    width: 100%;
    height: 200px;
  }
}

/*====================================
 ## 20251002  marble_beachページ
====================================*/
.marble-beach .marble-beach__fv {
    background: url(../img/photowedding/marble_beach/header.jpg) center right;
    background-size: cover;
}
.marble-beach .mv-circle .mv--txt{
    padding: 0 50px;
    width: auto;
}
@media screen and (max-width: 749px){
    .marble-beach .mv-circle .mv--txt{
        padding: 0 20px;
    }
}

/*====================================
 ## 20251006  maedoriページ、photoweddingページリンクボタン調整
====================================*/
@media screen and (min-width: 750px){
  .location-spot--txt{
    height: 150px;
  }
}

/*====================================
 ## 20251009  daisen_parkページ
====================================*/
.daisen-park .o_centralpublichall.daisen-park__fv{
    background-image: url(../img/photowedding/daisen_park/HP_header.jpg) ;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}  
.daisen-park .mv--txt{
    width: auto;
    padding: 0 40px;
}
@media screen and (max-width: 749px) {
    .daisen-park .o_centralpublichall.daisen-park__fv{
        background-image: url(../img/photowedding/daisen_park/SP_header.jpg) ;
    }  
}

/*====================================
 ## 20251009  photowedding-locationページテキスト下margin調整
====================================*/
.photo-wedding-location .location-spot--txt{
  margin: 0;
}
