/* =================FV==================== */
.page-main {
  width: 100%;
  min-height:100vh;
  position: relative;
}

.page-main img {
   width:100%;
   min-height:100vh;
   object-fit:cover;
   position: relative;
   z-index: 1;
}

.page-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%; /* 上から50%の位置 */
  left: 50%; /* 左から50%の位置 */
  transform: translate(-50%, -50%); /* 中央寄せの調整 */
  color: #633418;; /* 文字色 */
  background-color: rgba(255, 255, 255, 0.8);
  padding: 20px;
  z-index: 2;
}

.page-title .page-en {
 font-size:56px;
 line-height:1.1;
}

.page-title .page-jp {
  font-size:20px;
}


/* =========== 洋装メニューボタン========= */
.costume-menus {
  position:relative;
  text-align:center;
  padding:50px 40px;
}

.decoration {
   position:absolute;
   inset:0;
   pointer-events:none;
   z-index: 0;
}

.decoration .left {
 position:absolute;
 top: -200px;
 left:-70px;

 width:400px;
 height:400px;

 background-image:url("../images/decoration/21.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;
 z-index: 0;
}

.decoration .right{
 position:absolute;

 right:-50px;
 top:40px;

 width:300px;
 height:300px;

 background-image:url("../images/decoration/23-2.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;

 z-index: 0;
}


.costume-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  gap: 20px;
  z-index: 1;
}

.costume-menu a  {
  padding: 20px 20px;
  border: #633418 1px solid;
  color: #fff;
  background-color: #633418;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  min-width: 70px;
}


.plan-menu a:hover {
  background: #D6956F;
  border: 1px solid #D6956F;
}



/* ==========和装メニュー======== */
.kcostume-menus {
  position:relative;
  text-align:center;
  padding:50px 40px;
}

.kdecoration {
   position:absolute;
   inset:0;
   pointer-events:none;
   z-index: 0;
}

.kdecoration .left {
 position:absolute;
 top: -200px;
 left:-70px;

 width:400px;
 height:400px;

 background-image:url("../images/decoration/21.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;
 z-index: 0;
}

.kdecoration .right{
 position:absolute;

 right:-50px;
 top:40px;

 width:300px;
 height:300px;

 background-image:url("../images/decoration/23-2.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;

 z-index: 0;
}

.kcostume-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  gap: 20px;
  z-index: 1;
}

.kcostume-menu a  {
  padding: 20px 30px;
  border: #633418 1px solid;
  color: #fff;
  background-color: #633418;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
}


/* =================ウェディングドレス一覧============= */


/* =====セクションタイトル====== */
.section-title {
 text-align: center;
}

.section-title .en{
 display: block;
 font-size:46px;
 line-height:1.1;
 color: #633418;
}

.section-title .jp{
  display:block;
  font-size:24px;
  color: #633418;
}


/* =========ウェディングドレス ==========*/

/* ===== 一覧 ===== */
#costume-gallery1,
#costume-gallery2,
#costume-gallery3,
#costume-gallery4 {
  margin-bottom: 100px;
}


.costume-gallery {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin: 20px;
  gap:20px;
}

.costume-gallery img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  cursor:pointer;
  transition:0.3s;
}

.costume-id {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.costume-gallery img:hover{
  opacity:0.8;
}


/* ===== モーダル ===== */

#modal{
  display:none;

  position:fixed;
  inset:0;

  background:rgba(0,0,0,0.9);

  z-index:9999;

  justify-content:center;
  align-items:center;

  animation:modalopen .4s;
}

#modal-img{
  max-width:80%;
  max-height:80vh;
}

#modal-close{
  position:absolute;
  top:20px;
  right:30px;

  color:#fff;
  font-size:40px;

  cursor:pointer;
}

/* 左右ボタン */

#prev,
#next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);

  background:none;
  border:none;

  color:#fff;
  font-size:50px;

  cursor:pointer;
}

#prev{
  left:30px;
}

#next{
  right:30px;
}

/* ふわっと表示 */

@keyframes modalopen{
  from{
    opacity:0;
  }

  to{
    opacity:1;
  }
}

/* ===============================================================================
　　　　　　　　　　　　　　　　　　　　　　　　　スマホ用のスタイル 
====================================================================================*/

/* 画面幅が767px以下のとき */
@media screen and (max-width: 767px) {

  /* ===========メインビジュアル========= */
  .page-main,
  .page-main img {
    max-width: 100%;
    min-height: auto;
  }

  .page-title .page-en {
    font-size: 42px;
  }

  .page-title .page-jp {
    font-size: 18px;
  }

  /* ==========プラン表========== */

  /* =====洋装===== */
  .decoration .left {
  position:absolute;
  top: -100px;
  left:-70px;

  width:300px;
  height:300px;

  background-image:url("../images/decoration/21.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  z-index: 0;
  }

  .decoration .right{
  position:absolute;

  right:-50px;
  top:40px;

  width:200px;
  height:200px;

  background-image:url("../images/decoration/23-2.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;

  z-index: 0;
  }

  .costume-menu {
    display: flex;
    flex-wrap: wrap;
  } 
  
  
  .costume-menu a {
  padding: 10px 50px;
  border: #633418 1px solid;
  color: #fff;
  background-color: #633418;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  min-width: 70px;
}


  /* =====和装===== */
  .kdecoration .left {
  position:absolute;
  top: -100px;
  left:-70px;

  width:300px;
  height:300px;

  background-image:url("../images/decoration/21.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  z-index: 0;
  }

  .kdecoration .right{
  position:absolute;

  right:-50px;
  top:40px;

  width:200px;
  height:200px;

  background-image:url("../images/decoration/23-2.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;

  z-index: 0;
  }

  .kcostume-menu {
    display: flex;
    flex-wrap: wrap;
  } 
  
  
  .kcostume-menu a {
  padding: 10px 50px;
  border: #633418 1px solid;
  color: #fff;
  background-color: #633418;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  min-width: 70px;
}

  /* =====セクションタイトル===== */

  .section-title .en{
  font-size: 36px;
  }

  .section-title .jp{
    font-size: 16px;
  }

  /* ==========モーデル========= */
  .costume-gallery{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }

  #modal-img{
    max-width:90%;
  }
  
}



/* =============================================================================

===============================================================================*/

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

  /* 洋装 */
  .page-title .page-en {
    font-size: 28px;
  }

  .page-title .page-jp {
    font-size: 14px;
  }

  .decoration .left {
 position:absolute;
 top: -50px;
 left:-70px;

 width: 200px;
 height:200px;

 background-image:url("../images/decoration/21.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;
 z-index: 0;
}

.decoration .right{
 position:absolute;

 right:-10px;
 top: 100px;

 width:100px;
 height:100px;

 background-image:url("../images/decoration/23-2.png");
 background-repeat:no-repeat;
 background-size:contain;
 background-position:center;

 z-index: 0;
}


  .costume-menu a {
  padding: 10px 10px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  min-width: 70px;
}

.section-title .en{
 display: block;
 font-size:24px;
 line-height:1.1;
 color: #633418;
}

.section-title .jp{
  display:block;
  font-size:12px;
  color: #633418;
}

.costume-id {
  font-size: 12px;
}

/* 和装 */
 .kdecoration .left {
    position:absolute;
    top: -50px;
    left:-70px;

    width: 200px;
    height:200px;

    background-image:url("../images/decoration/21.png");
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
    z-index: 0;
  }

  .kdecoration .right{
    position:absolute;

    right:-10px;
    top: 100px;

    width:100px;
    height:100px;

    background-image:url("../images/decoration/23-2.png");
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;

    z-index: 0;
  }

  .kcostume-menu a {
  padding: 10px 10px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
  min-width: 70px;
}


}









