@charset "utf-8";

#container .bgbox03 {
  margin-top: 0px;
  padding-top: 0px;
  padding-bottom: 40px;
  margin-bottom: 0;
}

#container .pagetitle .titborder_report {
  position: relative;
}
#container .pagetitle .titborder_report:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 1px;
  content: "";
  border-radius: 3px;
  background: #936f35;
}

/*#container .boxqreportdetail .h3555{text-indent: -1em;margin-left: 1em;margin-top: 0;}
.btnreport00{padding-bottom: 50px;}
*/
.btnreport00 a {
  display: block;
  padding: 5px;
  text-align: center;
  width: 90%;
  border: 1px solid #efbb2c;
  color: #c29313;
  margin: 20px auto 0 auto;
}
.btnreport00 a:link {
  color: #c29313 !important;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.5);
}
.btnreport00 a:hover {
  background-color: #c29313;
  color: #fff !important;
  text-decoration: none;
}

.bgpdo33 {
  padding: 40px 0;
}

.listbox_out a {
  display: block;
}
.listbox_out a:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

.listbox_out a:link {
  text-decoration: none;
}
.listbox_out a .listbox_out_inn span img {
  width: 100%;
}
.listbox_out a .listbox_out_inn span.txt {
  padding: 10px 5px 10px 30px;
  font-size: 1.2rem;
}
.listbox_out a .listbox_out_inn span.txt .tittxt {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 10px;
}
.listbox_out {
  border: 1px solid #ccc;
  background-color: #f3f3f3;
}

@media screen and (min-width: 769px) {
  #header nav ul li.nac09 a:before {
    position: absolute;
    bottom: -3px;
    left: calc(50% - 15px);
    width: 30px;
    height: 2px;
    content: "";
    border-radius: 3px;
    background: #143d6c;
  }

  .photo001box {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
  }
  .photo001box .photobox001_02 {
  }
  .photo001box .photobox001_02 img {
    margin-bottom: 5px;
  }
  .listbox_out a .listbox_out_inn {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: center;
    align-items: center;
  }
  .listbox_out {
    width: 980px;
    margin: 20px auto 80px auto;
  }
  .listbox_out a .listbox_out_inn span.ph {
    width: 30%;
  }
  .listbox_out a .listbox_out_inn span.txt {
    width: 70%;
  }
  /*
#container .boxqreportdetail{display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;}
#container .boxqreportdetail .ph{width: 58%;}
#container .boxqreportdetail .text{width: 39%;}
#container .boxqreportdetail .ph img{width: 100%;height: auto;}

#container .detail666 li:nth-child(2n) .text{-webkit-order: -1;order: -1;}*/
  .btnreport00 a {
    width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 768px) {
  #container .pagetitle .titborder_report:before {
    bottom: -5px !important;
  }
  /**/

  .boxfirstbox44 img,
  .photo001box img {
    margin-bottom: 10px;
  }
  .listbox_out a .listbox_out_inn span.ph,
  .listbox_out a .listbox_out_inn span.txt {
    display: block;
  }
}

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

h4.guest_tit {
  padding: 0.2rem 0.8rem;
  border-left: 3px solid #af985a;
  border-bottom: 1px solid #af985a;
  margin-bottom: 15px;
}
.guest_txt {
  margin: 0 0 5px 0;
  padding-left: 0.5em;
}
.guest_txt.last {
  margin: 0 0 0 0;
}

.outline {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 15px auto 50px auto;
  padding: 5px 0;
  width: 980px;
}
.outline li {
  width: calc(100% / 5);
  text-align: center;
  font-size: 1.4rem;
  padding: 0 5px 5px 5px;
  border-bottom: 1px solid #936f35;
}
.outline li span {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 3px;
  padding: 3px;
  background-color: #936f35;
  color: #fff;
}

.party_contbox {
  margin: 0 auto 80px auto;
  width: 980px;
  text-align: center;
}

.party_contbox .m_tit {
  font-size: 2.6rem;
  text-align: center;
  margin: 10px 0 0 0;
  color: #3d3d3d;
  letter-spacing: 0.2em;
}
.party_contbox .m_txt {
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 50px 0;
  color: #3d3d3d;
  letter-spacing: 0.2em;
}
.party_contbox .tit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px; /* 文字と線の間隔 */
  font-size: 2.2rem;
  color: #3d3d3d;
  letter-spacing: 0.2em;
}

/* 左右の装飾のベース */
.party_contbox .tit::before,
.party_contbox .tit::after {
  content: "";
  width: 40px; /* 全体の幅（点＋線） */
  height: 5px; /* ★点の大きさに合わせて高さを確保 */
}

/* 左側の装飾（ ・ ── ） */
.party_contbox .tit::before {
  background:
    radial-gradient(circle, #3d3d3d 60%, transparent 60%) left center / 5px 5px
      no-repeat,
    /* 5pxの丸い点 */ linear-gradient(#3d3d3d, #3d3d3d) right center / 30px 1px
      no-repeat; /* 30pxの極細線 */
}

/* 右側の装飾（ ── ・ ） */
.party_contbox .tit::after {
  background:
    radial-gradient(circle, #3d3d3d 60%, transparent 60%) right center / 5px 5px
      no-repeat,
    /* 5pxの丸い点 */ linear-gradient(#3d3d3d, #3d3d3d) left center / 30px 1px
      no-repeat; /* 30pxの極細線 */
}

.party_contbox .txt {
  margin: 10px 0 10px 0;
}

.party_contbox .plan_tit {
  font-size: 2.0rem;
  text-align: center;
  margin: 50px 0 0 0;
  color: #3d3d3d;
  letter-spacing: 0.2em;
  border-top: 1px dotted #3d3d3d;
  padding-top: 50px;
}
.party_contbox .plan_txt {
  font-size: 1.4rem;
  text-align: center;
  margin: 10px 0 50px 0;
  color: #3d3d3d;
  letter-spacing: 0.2em;
}


.staff .staff_tit {
  display: inline-block;
  position: relative;
  z-index: 1; /* ← この行を追加！ */
  margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
  color: #333333;
  line-height: 1;

}

.staff .staff_tit::before {
  position: absolute;
  bottom: calc(-3.5em / 4);
  left: calc(-3.5em / 2);
  z-index: -1;
  width: 3.5em;
  height: 3.5em;
  border-radius: 50%;
  background: #cfbf88;
  content: '';
}

.staff .staff_txt {
  font-size: 1.1em;
  text-align: center;
  margin: 10px 0 50px 0;
  color: #3d3d3d;
  letter-spacing: 0.1em;
}



@media screen and (max-width: 768px) {
  .bread  {
    font-size: 1.1rem;
  }

  #container .pagetitle .titborder_report:before {
    bottom: -5px !important;
  }

  /* 写真ボックスの固定幅解除 */
  .photo001box {
    width: 100%;
    display: block; /* Flexを解除して縦並び、または必要ならflex-wrapで調整 */
    padding: 0 15px;
    box-sizing: border-box;
  }
  
  .boxfirstbox44 img,
  .photo001box img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }

  .listbox_out a .listbox_out_inn span.ph,
  .listbox_out a .listbox_out_inn span.txt {
    display: block;
    width: 100% !important; /* 30% / 70% を解除 */
  }
  
  .listbox_out {
    width: 95%; /* 980pxから変更 */
    margin: 20px auto 40px auto;
  }

  /* 概要リスト（アウトライン）の調整 */
  .outline {
    width: 95%;
    flex-wrap: wrap; /* 折り返しを許可 */
    justify-content: center;
    gap: 10px 0;
  }
  .outline li {
    width: 48%; /* 2列にする場合。1列なら100% */
    font-size: 1.2rem;
    margin-bottom: 10px;
  }

  /* コンテンツボックスの調整 */
  .party_contbox {
    width: 95%;
    margin-bottom: 40px;
    font-size: 1.3rem;
  }
  .party_contbox .m_tit {
    font-size: 2.0rem; /* 文字サイズを小さく */
    letter-spacing: 0.1em;
  }
  .party_contbox .m_txt {
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
  .party_contbox .tit {
    font-size: 1.7rem;
    gap: 10px;
  }
  .party_contbox .tit::before,
  .party_contbox .tit::after {
    width: 25px; /* 装飾の線を短く */
  }
  
  .party_contbox .plan_tit {
    font-size: 1.6rem;
    padding-top: 30px;
    margin-top: 30px;
  }

  /* スタッフセクション */
  .staff .staff_tit {
    margin: 2em 0 1em 2em;
  }
  .staff .staff_txt {
    padding: 0 10px;
    font-size: 1.1rem;
  }
}