@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap");

/* =============================================
共通
============================================= */
#d_container .wrap {
  width: 100%;
}


#d_topic_path {
  margin-bottom: 20px;
}

#d_topic_path ol {
  margin: 0 auto 20px;
  width: 990px;
}


#photowedding_20231101 {
  text-align: center;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  background: url(../../../images/campaign/20231101_photowedding/bottom_bg.png) repeat-x bottom;
  overflow: hidden;

}

#photowedding_20231101 * {
  box-sizing: border-box;
}

#photowedding_20231101 a {
  text-decoration: none;
}

#photowedding_20231101 .link-hover {
  text-decoration: none;
  transition: .4s;
}

#photowedding_20231101 .link-hover:hover {
  opacity: .7;
  cursor: pointer;
}



#photowedding_20231101 .contents {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  width: 990px;
}


#photowedding_20231101 a:hover {
  text-decoration: none;
}


#photowedding_20231101 .pc {
  display: block;
}

#photowedding_20231101 .sp {
  display: none;
}





/*メインビジュアル*/

#photowedding_20231101 .mainvisual {
  background: url(../../../images/campaign/20231101_photowedding/bg.png) repeat-x;
  overflow: hidden;
}

#photowedding_20231101 .mainvisual h1 img {
  margin: 0 auto;
}



/*アンカー*/

#photowedding_20231101 .anchor-nav {
  margin: 40px auto;
}


#photowedding_20231101 .anchor-nav .flex1,
#photowedding_20231101 .anchor-nav .flex2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#photowedding_20231101 .anchor-nav .flex1 li {
  width: calc((100% - (1px * 3)) / 4);
  border-bottom: 1px dotted #fff;
  background-color: #9CC9E5;
}

#photowedding_20231101 .anchor-nav .flex1 li:not(:nth-child(4n)) {
  border-right: 1px dotted #fff;
}


#photowedding_20231101 .anchor-nav .flex2 li {
  width: calc((100% - (1px * 1)) / 2);
  background-color: #9CC9E5;
}


#photowedding_20231101 .anchor-nav .flex2 li:not(:nth-child(2n)) {
  border-right: 1px dotted #fff;
}


#photowedding_20231101 .anchor-nav .flex1 a,
#photowedding_20231101 .anchor-nav .flex2 a {
  color: #202F56;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 30px 0;
  text-decoration: none;
  font-size: 18px;
}

#photowedding_20231101 .anchor-nav .flex1 a span,
#photowedding_20231101 .anchor-nav .flex2 a span {
  position: relative;
}


#photowedding_20231101 .anchor-nav .flex1 a span:after,
#photowedding_20231101 .anchor-nav .flex2 a span:after {
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: solid 1px #202F56;
  border-right: solid 1px #202F56;
  transform: rotate(45deg);
  position: absolute;
  right: -20px;
  top: 50%;
  margin-top: -7px;
}



/*アンカー　20240619 アンカー追加*/
#photowedding_20231101 .anchor-nav2024 .flex1 li {
  width: calc(100% / 5);
}

#photowedding_20231101 .anchor-nav2024 .flex1 li:not(:nth-child(5n)) {
  border-right: 1px dotted #fff !important;
}

#photowedding_20231101 .anchor-nav2024 .flex1 li:nth-child(5n) {
  border-right: none !important;
}

#photowedding_20231101 .anchor-nav2024 .flex2 li {
  width: calc(100% / 2);
}

#photowedding_20231101 .anchor-nav2024 .flex1 a {
  padding: 20px 0 !important;
}


/*コンセプト*/

#photowedding_20231101 .concept {
  background-color: #CAE5D3;
  padding: 30px;
  margin-bottom: 40px;
}


#photowedding_20231101 .concept .concept_ttl {
  color: #202f55;
  font-size: 32px;
  text-align: left;
  font-family: "Noto Serif JP", sans-serif;
  line-height: 1.4;
}


#photowedding_20231101 .concept .concept_txt {
  font-size: 15px;
  text-align: left;
  margin-top: 30px;
  line-height: 2.2;
  position: relative;
}

#photowedding_20231101 .concept .concept_img {
  position: absolute;
  right: 0;
  bottom: -10px;
}


/*項目*/

#photowedding_20231101 .content {
  border-top: 8px solid #202F56;
  padding: 0 30px 30px;
}


#photowedding_20231101 .content:nth-child(even) {
  background-color: #F6F6F6;
}

/*タイトル*/

#photowedding_20231101 .content__ttl {
  position: relative;
  display: inline-block;
  padding: 0 35px;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 40px;
  padding-top: 30px;
  color: #202F56;
}

#photowedding_20231101 .content__ttl:before,
#photowedding_20231101 .content__ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: 14px;
  display: inline-block;
  width: 22px;
  height: 2px;
  background-color: #202F56;
}

#photowedding_20231101 .content__ttl:before {
  left: 0;
}

#photowedding_20231101 .content__ttl:after {
  right: 0;
}



/*コース・料金*/

#photowedding_20231101 #course-price .content__main {
  background-color: rgba(255, 255, 255, 0.7);
  width: 930px;
  padding: 20px;
  text-align: left;
  font-size: 16px;
  line-height: 1.6;
}

#photowedding_20231101 #course-price .content__main .plan {
  display: flex;
  justify-content: center;
  align-items: center;
}


#photowedding_20231101 #course-price .content__main .kihon-price {
  padding-left: 70px;
}


#photowedding_20231101 #course-price .content__main .kihon-price .kihon-txt {
  margin-top: 10px;
}


#photowedding_20231101 #course-price .content__main .item {
  display: flex;
  justify-content: start;
  align-items: flex-start;
  padding-top: 30px;
}

#photowedding_20231101 #the-photo .content__main .item {
  display: flex;
  justify-content: start;
  align-items: center;
  padding-top: 0px;
}

#photowedding_20231101 #the-photo .content__main .item .item_img {
  height: auto;
  width: 10%;
}


#photowedding_20231101 #the-photo .content__main .item .item_img img {
  width: 100%;
  height: 100%;
  border: solid 3px #000;
}




#photowedding_20231101 #course-price .content__main .item:not(:last-child) {
  border-bottom: 1px dotted #202F56;
  padding-bottom: 30px;
}




#photowedding_20231101 #course-price .content__main .item .icon_ttl {
  background-color: #202F56;
  color: #fff;
  padding: 12px;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
}


#photowedding_20231101 #course-price .content__main .item .item_txt {
  padding-left: 15px;
}

#photowedding_20231101 #the-photo .content__main .item .item_txt {
  text-align: left;
  font-size: 16px;
  padding-left: 1em;
  text-indent: -1em;
}


#photowedding_20231101 #the-photo .content__main .item .item_txt a {
  border-bottom: 1px solid;
  font-weight: bold;
  color: #0000ff;
  font-size: 18px;
}

#photowedding_20231101 #the-photo .content__main .item .item_txt a:hover {
  opacity: 0.7;
}


#photowedding_20231101 #course-price .content__main .item .item_txt p:not(:first-child) {
  margin-top: 1.6rem;
}

#photowedding_20231101 #the-photo .content__main .item .item_txt p:not(:first-child) {
  margin-top: 1.6rem;
}



#photowedding_20231101 #course-price .content__main .item .item_txt .gold {
  font-weight: bold;
  color: #85722B;
}


#photowedding_20231101 #course-price .content__main .item .item_txt .bold {
  font-weight: bold;
}


#photowedding_20231101 #course-price .content__main .item .item_txt ul li {
  padding-left: 1em;
  text-indent: -1em;
}



#photowedding_20231101 #course-price .content__main .item .item_txt .small {
  font-size: 14px;
}




/*ご利用の流れ*/

#photowedding_20231101 #reservation-flow .item_wrap {
  display: flex;
  justify-content: center;
  width: 930px;
  margin-top: 30px;
}


#photowedding_20231101 #reservation-flow .item_wrap .item {
  padding: 30px 20px;
  width: calc((100% - 1px) / 2);
}


#photowedding_20231101 #reservation-flow .item_wrap .item:not(:nth-child(2n)) {
  border-right: 1px dotted #202F56;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl {
  display: flex;
  justify-content: start;
  align-items: flex-start;
  padding-bottom: 20px;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl .circle {
  display: inline-block;
  width: 70px;
  height: 70px;
  color: #fff;
  background-color: #5CB579;
  line-height: 70px;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 43px;
  margin-right: 20px;
  font-weight: bold;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl .flow-ttl {
  color: #5CB579;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  margin-top: 5px;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item__content {
  text-align: left;
  line-height: 1.5;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item__content dl dt {
  font-weight: bold;
  font-size: 20px;
  margin-top: 20px;
}


#photowedding_20231101 #reservation-flow .item_wrap .item .item__content dl dd {
  font-size: 16px;
  margin-top: 16px;
  padding-left: 1em;
  text-indent: -1em;
}


/*当日の流れ*/

#photowedding_20231101 #the-day .content__main {
  background-color: rgba(255, 255, 255, 0.7);
  width: 930px;
  padding: 20px;
  text-align: left;
  font-size: 16px;
  line-height: 1.6;
}



#photowedding_20231101 #the-day .content__main .item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 30px;
  padding-bottom: 30px;
}

#photowedding_20231101 #the-day .content__main .item_02 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 30px;
  padding-bottom: 0;
}

#photowedding_20231101 #the-day .content__main .item_03 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 0;
  padding-bottom: 0;
}

#photowedding_20231101 #the-day .content__main .item_04 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 0;
  padding-bottom: 30px;
}




#photowedding_20231101 #the-day .content__main .item:not(:last-child) {
  border-bottom: 1px dotted #202F56;
}

#photowedding_20231101 #the-day .content__main .item_02:not(:last-child) {
  border-bottom: 0;
}

#photowedding_20231101 #the-day .content__main .item_03:not(:last-child) {
  padding-bottom: 0;
}

#photowedding_20231101 #the-day .content__main .item_04:not(:last-child) {
  border-bottom: 1px dotted #202F56;
}



#photowedding_20231101 #the-day .content__main .item .img-ttl {
  display: flex;
  justify-content: start;
  align-items: center;
  padding-bottom: 20px;
}

#photowedding_20231101 #the-day .content__main .item_02 .img-ttl {
  display: flex;
  justify-content: start;
  align-items: center;
  padding-bottom: 20px;
}

#photowedding_20231101 #the-day .content__main .item_03 .img-ttl {
  display: flex;
  justify-content: start;
  align-items: center;
  padding-bottom: 20px;
}



#photowedding_20231101 #the-day .content__main .item .img-ttl .ttl {
  color: #9CC9E5;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 22px;
  line-height: 1.2;
  padding-left: 10px;
}

#photowedding_20231101 #the-day .content__main .item_02 .img-ttl .ttl {
  color: #9CC9E5;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 22px;
  line-height: 1.2;
  padding-left: 10px;
}

#photowedding_20231101 #the-day .content__main .item_03 .img-ttl .ttl {
  color: #9CC9E5;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 22px;
  line-height: 1.2;
  padding-left: 10px;
}



#photowedding_20231101 #the-day .content__main .item .indent dd {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 1.6rem;
}

#photowedding_20231101 #the-day .content__main .item_02 .indent dd {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 1.6rem;
}

#photowedding_20231101 #the-day .content__main .item_03 .indent dd {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 1.6rem;
}




#photowedding_20231101 #the-day .content__main .item dl dd span.modalBtn {
  cursor: pointer;
  position: relative;
}

#photowedding_20231101 #the-day .content__main .item_02 dl dd span.modalBtn {
  cursor: pointer;
  position: relative;
}

#photowedding_20231101 #the-day .content__main .item_03 dl dd span.modalBtn {
  cursor: pointer;
  position: relative;
}


#photowedding_20231101 #the-day .content__main .item dl dd span.modalBtn::after {
  background-color: #2b2b2b;
  bottom: 2px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

#photowedding_20231101 #the-day .content__main .item_02 dl dd span.modalBtn::after {
  background-color: #2b2b2b;
  bottom: 2px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

#photowedding_20231101 #the-day .content__main .item_03 dl dd span.modalBtn::after {
  background-color: #2b2b2b;
  bottom: 2px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}


#photowedding_20231101 #the-day .content__main .item .item_img .img:nth-of-type(1) {
  margin-bottom: 20px;
}

#photowedding_20231101 #the-day .content__main .item_02 .item_img .img:nth-of-type(1) {
  margin-bottom: 20px;
}

#photowedding_20231101 #the-day .content__main .item_03 .item_img .img:nth-of-type(1) {
  margin-bottom: 0;
}

#photowedding_20231101 #the-day .content__main .item .the_day_txt {
  font-size: 15px;
}

#photowedding_20231101 #the-day .content__main .item_02 .the_day_txt {
  font-size: 15px;
}

#photowedding_20231101 #the-day .content__main .item_03 .the_day_txt {
  font-size: 15px;
}

#photowedding_20231101 #the-day .content__main .item_04 .the_day_txt {
  font-size: 15px;
}

#photowedding_20231101 #the-day .content__main .item .the_day_txt_s {
  font-size: 12px;
}

#photowedding_20231101 #the-day .content__main .item_02 .the_day_txt_s {
  font-size: 12px;
}

#photowedding_20231101 #the-day .content__main .item_03 .the_day_txt_s {
  font-size: 12px;
}

#photowedding_20231101 #the-day .content__main .item_04 .the_day_txt_s {
  font-size: 12px;
}


#photowedding_20231101 #the-day .content__main .item .txt-bold {
  font-weight: bold;
}

#photowedding_20231101 #the-day .content__main .item_02 .txt-bold {
  font-weight: bold;
}

#photowedding_20231101 #the-day .content__main .item_03 .txt-bold {
  font-weight: bold;
}


/*レンタル衣裳の一例*/

#photowedding_20231101 #rental .content__main {
  width: 880px;
  margin: 0 auto;
}


#photowedding_20231101 #rental .content__main .item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 30px;
}

#photowedding_20231101 #rental .lead {
  text-align: left;
  font-size: 15px;
  margin-top: 20px;
  padding-left: 1em;
  text-indent: -1em;
}


/*ご予約はこちらから*/

#photowedding_20231101 #reservation {
  padding: 60px 0;
  background-color: #F6F6F6;
}


#photowedding_20231101 #reservation .reservation_btn {
  width: 580px;
  height: 120px;
  max-width: 98%;
  margin: 20px auto;
  padding: 2px;
  background: #DFA3A7;
  font: 16px sans-serif;
  color: #FFF;
  border-radius: 20px;
  box-shadow: 0 0 0 1px #FFF, 0 0 0 9px #CF9DA0;
  box-sizing: border-box;
}

#photowedding_20231101 #reservation .reservation_btn a {
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 24px 0;
  text-decoration: none;
  font-size: 40px;
  text-align: center;
  font-family: "Noto Serif JP", sans-serif;
}


#photowedding_20231101 #reservation .reservation_btn a span {
  position: relative;
}



#photowedding_20231101 #reservation .reservation_btn a span:after {
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: -30px;
  top: 50%;
  margin-top: -5px;

}

#photowedding_20231101 #reservation .content__lead {
  font-size: 16px;
  text-align: center;
  margin-top: 30px;
}


#photowedding_20231101 #reservation .schedule {
  margin: 30px auto 0;
  background-color: #fff;
  border: 1px solid #707070;
}

#photowedding_20231101 #reservation .schedule .cap {
  font-size: 16px;
}


#photowedding_20231101 #reservation .schedule tr th,
#photowedding_20231101 #reservation .schedule tr td {
  font-size: 16px;
  text-align: center;
  padding: 8px 0;
}


#photowedding_20231101 #reservation .schedule tr th {
  background-color: #CAE5D3;
  border: 1px solid #707070;
}

#photowedding_20231101 #reservation .schedule tr td {
  font-size: 16px;
  border: 1px dotted #707070;
  text-align: center;
  padding: 1em;
}









/*ご注文前に必ずお読みください*/

#photowedding_20231101 #attention {
  background-color: #fff;
}


#photowedding_20231101 #attention .attention__content ul {
  color: #535353;
  font-size: 16px;
  text-align: left;
  margin: 32px 0 0;
}

#photowedding_20231101 #attention .attention__content ul li {
  padding-left: 1em;
  text-indent: -1em;
  text-decoration: none;
}




/*モーダル*/


#photowedding_20231101 .modal {
  border-bottom: 1px solid #000;
}


#photowedding_20231101 .modal:hover {
  cursor: pointer;
  opacity: .7;
  border-bottom: none;
}



#photowedding_20231101 .modal .container-fluid {
  position: relative;
}

#photowedding_20231101 .modal .lead {
  margin: 0 auto -10px;
  position: relative;
  width: 990px;
}

#photowedding_20231101 .modal .card {
  left: -386px;
  position: absolute;
  top: -240px;
}

/*撮影ギャラリー追加*/
#photowedding_20231101 #the-photo .snapWrap ul {
  display: flex;
  flex-wrap: wrap;
  margin: 30px auto 20px;
}

#photowedding_20231101 #the-photo .snapWrap ul li {
  width: calc((100% - 5px * 4) / 5);
  margin-bottom: 5px;
}

#photowedding_20231101 #the-photo .snapWrap ul li:not(:nth-child(5n)) {
  margin-right: 5px;
}

#photowedding_20231101 #the-photo .snapWrap ul li img {
  width: 100%;
}


.snaptext {
  font-size: 12px;
}



/* ******************************** 以下SP ********************************* */

#news #d_topic_path {
  margin-bottom: 2px;
}

#news #d_topic_path ol {
  margin-bottom: 0;
  width: auto;
}

#news #photowedding_20231101 .pc {
  display: none;
}

#news #photowedding_20231101 .sp {
  display: block;
}

#news #photowedding_20231101 .contents {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}



/*アンカー*/

#news #photowedding_20231101 .anchor-nav {
  margin: 20px auto;
}

#news #photowedding_20231101 .anchor-nav .flex1 li {
  width: calc((100% - (1px * 1)) / 2);
  border-right: none;
}

#news #photowedding_20231101 .anchor-nav .flex1 li:not(:nth-child(2n)) {
  border-right: 1px dotted #fff;
}


#news #photowedding_20231101 .anchor-nav .flex1 li a,
#news #photowedding_20231101 .anchor-nav .flex2 li a {
  font-size: calc(((100 / 375) * 14) * 1vw);
  padding: 20px 0;
}

/*コンセプト*/

#news #photowedding_20231101 .concept {
  background-color: #CAE5D3;
  padding: 15px;
  margin-bottom: 20px;
}


#news #photowedding_20231101 .concept .concept_ttl {
  color: #202f55;
  font-size: calc(((100 / 375) * 20) * 1vw);
  text-align: left;
  font-family: "Noto Serif JP", sans-serif;
  line-height: 1.6;
}


#news #photowedding_20231101 .concept .concept_txt {
  font-size: calc(((100 / 375) * 14) * 1vw);
  line-height: 2;
  position: static;
  margin-top: 10px;
}

#news #photowedding_20231101 .concept .concept_img {
  position: static;

}



/*タイトル*/

#news #photowedding_20231101 .content {
  border-top: 4px solid #202F56;
  padding: 0 10px 20px;
}


#news #photowedding_20231101 .content__ttl {
  position: relative;
  display: inline-block;
  font-family: "Noto Serif JP", sans-serif;
  font-size: calc(((100 / 375) * 26) * 1vw);
  padding: 15px 35px;
}

#news #photowedding_20231101 .content__ttl:before,
#news #photowedding_20231101 .content__ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: 3px;
  display: inline-block;
  width: 22px;
  height: 2px;
  background-color: #202F56;
}

#news #photowedding_20231101 .content__ttl:before {
  left: 0;
}


#news #photowedding_20231101 .content__ttl:after {
  right: 0;
}


/*コース・料金*/


#photowedding_20231101 #course-price .content__main .kihon-price .kihon-txt {
  text-indent: -1em;
}

#news #photowedding_20231101 #course-price .content__main {
  width: 100%;
  padding: 20px 10px;
  font-size: calc(((100 / 375) * 14) * 1vw);
  line-height: 1.6;
}


#news #photowedding_20231101 #course-price .content__main .kihon-price {
  padding-left: 20px;
}


#news #photowedding_20231101 #course-price .content__main .item {
  padding-top: 30px;
}


#news #photowedding_20231101 #course-price .content__main .item:not(:last-child) {
  border-bottom: 1px dotted #202F56;
  padding-bottom: 30px;
}


#news #photowedding_20231101 #course-price .content__main .item .item_img {
  flex-basis: 30%;
}



#news #photowedding_20231101 #course-price .content__main .item .icon_ttl {
  padding: 6px;
  font-size: calc(((100 / 375) * 12) * 1vw);
}


#news #photowedding_20231101 #course-price .content__main .item .item_txt {
  padding-left: 15px;
  flex-basis: 70%;
}


#news #photowedding_20231101 #course-price .content__main .item .item_txt .gold {
  font-size: calc(((100 / 375) * 16) * 1vw);
}


#news #photowedding_20231101 #course-price .content__main .item .item_txt .bold {
  font-size: calc(((100 / 375) * 16) * 1vw);
}



#news #photowedding_20231101 #course-price .content__main .item .item_txt .small {
  font-size: calc(((100 / 375) * 12) * 1vw);
}


/*ご利用の流れ*/

#news #photowedding_20231101 #reservation-flow .item_wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 30px;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item {
  padding: 30px 20px;
  width: calc((100% - 1px) / 2);
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item:not(:nth-child(2n)) {
  border-right: 1px dotted #202F56;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 20px;
  flex-direction: column;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl .circle {
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: calc(((100 / 375) * 20) * 1vw);
  margin-bottom: 10px;
  margin-right: 0;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item_img-ttl .flow-ttl {
  font-size: calc(((100 / 375) * 18) * 1vw);
  text-align: left;
  line-height: 1.2;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item__content {
  text-align: left;
  line-height: 1.5;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item__content dl dt {
  font-weight: bold;
  font-size: calc(((100 / 375) * 16) * 1vw);
  margin-top: 20px;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item .item__content dl dd {
  font-size: calc(((100 / 375) * 14) * 1vw);
  margin-top: 16px;
  padding: 0;
  padding-left: 1em;
}






/*ご利用の流れ*/

#news #photowedding_20231101 #reservation-flow .item_wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 20px;
}


#news #photowedding_20231101 #reservation-flow .item_wrap .item {
  padding: 20px 10px;
}





/*当日の流れ*/

#news #photowedding_20231101 #the-day .content__main {
  width: 100%;
  padding: 10px;
}



#news #photowedding_20231101 #the-day .content__main .item {
  display: block;
}

#news #photowedding_20231101 #the-day .content__main .item_02 {
  display: block;
}

#news #photowedding_20231101 #the-day .content__main .item_03 {
  display: block;
}


#news #photowedding_20231101 #the-day .content__main .item .img-ttl .ttl {
  font-size: calc(((100 / 375) * 22) * 1vw);
}

#news #photowedding_20231101 #the-day .content__main .item_02 .img-ttl .ttl {
  font-size: calc(((100 / 375) * 22) * 1vw);
}

#news #photowedding_20231101 #the-day .content__main .item_03 .img-ttl .ttl {
  font-size: calc(((100 / 375) * 22) * 1vw);
}



#news #photowedding_20231101 #the-day .content__main .item:nth-of-type(3) .img-ttl {
  padding-bottom: 0;
}

#news #photowedding_20231101 #the-day .content__main .item_02:nth-of-type(3) .img-ttl {
  padding-bottom: 0;
}

#news #photowedding_20231101 #the-day .content__main .item_03:nth-of-type(3) .img-ttl {
  padding-bottom: 0;
}


#news #photowedding_20231101 #the-day .content__main .item .img-ttl span img {
  flex-basis: 25%;
}

#news #photowedding_20231101 #the-day .content__main .item_02 .img-ttl span img {
  flex-basis: 25%;
}

#news #photowedding_20231101 #the-day .content__main .item_03 .img-ttl span img {
  flex-basis: 25%;
}



#news #photowedding_20231101 #the-day .content__main .item .img-ttl .ttl {
  flex-basis: 75%;
}

#news #photowedding_20231101 #the-day .content__main .item_02 .img-ttl .ttl {
  flex-basis: 75%;
}

#news #photowedding_20231101 #the-day .content__main .item_03 .img-ttl .ttl {
  flex-basis: 75%;
}


/*レンタル衣裳の一例*/

#news #photowedding_20231101 #rental .content__main {
  width: 100%;
}

#news #photowedding_20231101 #rental .content__main .item {
  display: block;
  padding-top: 0;
}

#news #photowedding_20231101 #rental .content__main .item .item_img {
  width: 80%;
  margin: 0 auto;
  align-content: center;
}


#news #photowedding_20231101 #rental .content__main .item .item_img img {
  margin: 0 auto;
  align-content: center;
}



#news #photowedding_20231101 #rental .content__main .item .item_img:first-child {
  margin-bottom: 5px;
}



/*ご予約はこちらから*/

#news #photowedding_20231101 #reservation .reservation_btn {
  width: 90%;
  height: 100px;
  max-width: 98%;
  margin: 30px auto 20px;
  padding: 2px;
  background: #DFA3A7;
  font-size: calc(((100 / 375) * 20) * 1vw);
  color: #FFF;
  border-radius: 20px;
  box-shadow: 0 0 0 1px #FFF, 0 0 0 9px #CF9DA0;
  box-sizing: border-box;
}

#news #photowedding_20231101 #reservation .reservation_btn a {
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 24px 0;
  text-decoration: none;
  font-size: calc(((100 / 375) * 28) * 1vw);
  text-align: center;
  font-family: "Noto Serif JP", sans-serif;
}



#news #photowedding_20231101 #reservation .reservation_btn a span:after {
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: -20px;
  top: 50%;
  margin-top: -5px;

}

#news #photowedding_20231101 #reservation .schedule .cap {
  text-align: left;
  margin-bottom: 5px;
}



#news #photowedding_20231101 #reservation .schedule tr th,
#news #photowedding_20231101 #reservation .schedule tr td {
  font-size: calc(((100 / 375) * 14) * 1vw);
  padding: 0.5em;
}

#news #photowedding_20231101 #reservation .schedule tr th {
  text-align: center;
}

#news #photowedding_20231101 #reservation .schedule tr td {
  text-align: left;
}


/*ご注文前に必ずお読みください*/

#news #photowedding_20231101 #attention {
  background: url(../../../images/campaign/20231101_photowedding/bottom_bg.png) repeat-x bottom;
}


#news #photowedding_20231101 #attention .content__ttl {
  background-color: #fff;
}

#news #photowedding_20231101 #attention .attention__content {
  background-color: #fff;
}


#news #photowedding_20231101 #attention .attention__content ul {
  margin: 0;
}





/*モーダル*/

#news #photowedding_20231101 .cosme_230809 .modal {
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

#news #photowedding_20231101 .cosme_230809 .modal .container-fluid {
  padding-top: 0;
}

#news #photowedding_20231101 .cosme_230809 .modal .container-fluid:after {
  content: none;
}

#news #photowedding_20231101 .modal .modal {
  margin-bottom: 17px;
}

#news #photowedding_20231101 .modal .lead {
  box-sizing: border-box;
  margin: 0 auto -6px;
  padding: 0 40px;
  position: relative;
  width: calc(100% - 65px);
}

#news #photowedding_20231101 .modal .card {
  left: auto;
  margin: 0 -40px 7px;
  position: relative;
  top: auto;
}

#news #photowedding_20231101 .modal .card img {
  margin-left: auto;
  margin-right: auto;
}

/*#news #photowedding_20231101 .modal .modal-image {
  max-width: none;
  width: calc(100% - 58px) !important;
}*/


/*# sourceMappingURL=pcsp_cosmetic_20230331.css.map */


.tabletDevice .cosme_230809 .modal .modal-image {
  width: 633px;
  margin-left: auto;
  margin-right: auto;
}

.tabletDevice #photowedding_20231101 .modal .card {
  left: -33px;
  top: -38px;
}

.tabletDevice #photowedding_20231101 .modal .card img.pc {
  width: 220px;
  height: auto;
}


.cosme_230809 .modal {
  margin-bottom: 0;
}

.cosme_230809 .modal .modal {
  margin-bottom: 62px;
  text-align: center;
}

.cosme_230809 .modal .modal .modal-image {
  cursor: pointer;
  height: auto;
  transition: opacity 0.3s ease-in-out;
  margin-left: 43px;
}

.cosme_230809 .modal .modal .modal-image:hover {
  opacity: 0.7;
}

/* SP */
#news .cosme_230809 .modal {
  margin-bottom: 0;
  padding-bottom: 188px;
  padding-top: 25px;
}

#news .cosme_230809 .modal .modal-image {
  width: calc(100% - 57px);
  margin-left: 0;
}

.cosme-modal-content {
  background: #ffffff;
  border-radius: 15px;
  margin: 20px auto;
  position: relative;
  text-align: center;
  width: 800px;
}

.cosme-modal-content .sp {
  display: none;
}

.cosme-modal-content .modal-content-inner {
  /*height: calc(100vh - 120px);*/
  overflow-y: scroll;
}

.cosme-modal-content .modal-content-inner img {
  height: auto;
  width: 100%;
}

.cosme-modal-content .modal-content-inner .body {
  position: relative;
}

.cosme-modal-content .modal-content-inner .body .code1 {
  position: absolute;
  top: 505px;
  left: 405px;
  font-weight: bold;
  font-size: 26px;
  color: #fff;
}

.cosme-modal-content .modal-content-inner .body .code2 {
  position: absolute;
  top: 635px;
  left: 405px;
  font-weight: bold;
  font-size: 26px;
  color: #fff;
}

.cosme-modal-content .modal-content-inner .body .code3 {
  position: absolute;
  top: 765px;
  left: 405px;
  font-weight: bold;
  font-size: 26px;
  color: #fff;
}


body .mfp-bg {
  z-index: 10001;
}

body .mfp-wrap {
  z-index: 10002;
}

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}


.mfp-fade.mfp-wrap.mfp-removing .mfp-content .pc {
  display: block;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content .sp {
  display: none;
}


#news .mfp-fade.mfp-wrap.mfp-removing .mfp-content .pc {
  display: none;
}

#news .mfp-fade.mfp-wrap.mfp-removing .mfp-content .sp {
  display: block;
}




#news .mfp-close {
  height: 33px;
  opacity: 1;
  padding: 0;
  width: 33px;
}

.mfp-close-btn-in .mfp-close {
  /*color: #ffffff;
  border-radius: 50%;
  background-color: #000;
  right: -10px;
  top: -5px;*/
  opacity: 1;
}

.mfp-close-btn-in .mfp-close img {
  right: 0;
  top: 0;
}

button.mfp-close {
  align-items: center;
  display: flex !important;
  justify-content: center;
}

.ps__thumb-y {
  background-color: #cccccc;
  opacity: 1;
  width: 6px;
}

.ps__rail-y {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  opacity: 1;
  position: absolute;
  top: 0 !important;
  right: 9px !important;
}

.ps .ps__rail-y:hover {
  background-color: #cccccc;
}

#news .cosme-modal-content {
  border-radius: 7.5px;
  width: calc(100% - 50px);
  position: fixed;
  /*top: 0;*/
  top: 25%;
  margin-left: auto;
  margin-right: auto;
  left: 50%;
  transform: translateX(-50%);
}

#news .cosme-modal-content .pc {
  display: none;
}

#news .cosme-modal-content .sp {
  display: block;
}

#news .cosme-modal-content .modal-content-inner {
  /*eight: calc(var(--vh, 1vh) * 90);*/
}

#news .cosme-modal-content .modal-content-inner .body {
  position: relative;
}

#news .cosme-modal-content .modal-content-inner .body .code1 {
  position: absolute;
  top: 23.35%;
  left: 52%;
  font-weight: bold;
  font-size: 3.2vw;
}

#news .cosme-modal-content .modal-content-inner .body .code2 {
  position: absolute;
  top: 28.25%;
  left: 52%;
  font-weight: bold;
  font-size: 3.2vw;
}

#news .cosme-modal-content .modal-content-inner .body .code3 {
  position: absolute;
  top: 33.2%;
  left: 52%;
  font-weight: bold;
  font-size: 3.2vw;
}


#news .mfp-container {
  padding-left: 0;
  padding-right: 0;
}

#news .ps__rail-y {
  right: 3px !important;
}

#news .ps__thumb-y {
  width: 4px;
}

#news #modalContent {
  height: auto;
}

#news .mfp-bg {
  height: 100vh !important;
  position: fixed !important;
}

#news .ps .ps__rail-y:hover {
  background-color: transparent;
}

.tablet .mfp-wrap {
  top: 0 !important;
  position: fixed !important;
}




/*撮影ギャラリー追加*/
#news #photowedding_20231101 #the-photo .snapWrap ul {
  margin: 0 auto;
}

#news #photowedding_20231101 #the-photo .snapWrap ul li {
  width: calc((100% - 5px * 1) / 2);
  margin-bottom: 5px;
}

#news #photowedding_20231101 #the-photo .snapWrap ul li:not(:nth-child(5n)) {
  margin-right: auto;
}

#news #photowedding_20231101 #the-photo .snapWrap ul li:not(:nth-child(2n)) {
  margin-right: 5px;
}

/*アンカー　20240619 アンカー追加*/
#news #photowedding_20231101 .anchor-nav2024 .flex1 li.flex3 {
  width: calc(100% / 3);
}

#news #photowedding_20231101 .anchor-nav2024 .flex1 li.flex3 {
  border-right: 1px dotted #fff;
}

#news #photowedding_20231101 .anchor-nav2024 .flex1 li {
  width: calc(100% / 2);
}

#news #photowedding_20231101 .anchor-nav2024 .flex1 li:nth-child(2) {
  border-right: none !important;
}

#news #photowedding_20231101 .anchor-nav2024 .flex1 a {
  padding: 15px 0 25px;
}

#news #photowedding_20231101 .anchor-nav2024 .flex1 a span:after,
#news #photowedding_20231101 .anchor-nav2024 .flex2 a span:after {
  right: 0;
  top: 100%;
  margin: 0 auto;
  left: 0;
}


@media screen and (max-width: 767px) {
  #photowedding_20231101 #the-photo .content__main .item .item_txt {
    font-size: 12px;
    width: 100%;
    padding-right: 0;
  }

  #photowedding_20231101 #the-photo .content__main .item .item_txt a {
    font-size: 14px;
  }

  #photowedding_20231101 #the-day .item__content {
    margin-bottom: 20px;
  }
}