@charset "UTF-8";

/*======================================
	exhibition   common
=======================================*/
.p-exhibit{
  font-family: "游ゴシック体", YuGothic,"游ゴシック Medium", "Yu Gothic Medium","游ゴシック", "Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  font-feature-settings:"palt";
}
.p-exhibit *{
  box-sizing: border-box;
}
.p-exhibit .grid:hover .imgmeta {
  width: 100%;
}


.c-cont{
  width: 100%;
}
.c-cont_in{
  max-width: 1000px;
  margin: 0 auto;
}
.c-txt{
  font-size: 15px;
  line-height: 2em;
}
.c-txt + .c-txt{
  margin-top: 1em;
}
.c-note{
  font-size: 12px;
  line-height: 2em;
}


/*------------ p-main ------------*/
.p-main {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  background: url(../../images/pc/exhibition/back-mini.jpg) repeat;
  background-size: 100px;
}


/*------------ p-nav ------------*/
.p-nav{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: 660px;
}
.p-nav_item + .p-nav_item{
  margin-left: 8px;
}
.p-nav_item a{
  position: relative;
  display: block;
  width: 206px;
  padding: 17px 5px 17px 0;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #39c;
  background-color: #fff;
  border: 2px solid #39c;
  border-radius: 8px;
  box-shadow: 0 0 15px 0 rgba(47,98,124,0.1);
  text-decoration: none;
}
.p-nav_item a:hover{
  cursor: pointer;
  color: #fff;
  background-color: #39c;
  box-shadow: none;
  transition: 0.25s;
}
.p-nav_item a::before{
  position: absolute;
  content: '';
  display: inline-block;
  top: 20px;
  right: 20px;
  width: 7px;
  height: 7px;
  border-bottom: 2px solid #39c;
  border-right: 2px solid #39c;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.p-nav_item a:hover::before{
  border-color: #fff;
  transition: 0.25s;
}


/*------------ p-ttl ------------*/
.p-ttl{
  position: relative;
  margin-bottom: 30px;
  font-size: 34px;
  font-weight: bold;
  font-style: italic;
  color: #39c;
}
.p-ttl::before{
  position: relative;
  content: '';
  display: inline-block;
  top: 0;
  width: 32px;
  height: 24px;
  padding-right: 10px;
  background: url(../../images/pc/exhibition/head_icon_blue.svg) no-repeat;
  background-size: 32px 24px;
}


/*------------ c-exhibit_btn ------------*/
.c-exhibit_btn{
  position: relative;
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 25px 0;
  text-align: center;
  line-height: 1em;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background-color: #39c;
  border-radius: 8px;
  box-shadow: 3px 4px 0 0 #ffdd21;
  text-decoration: none;
}
a.c-exhibit_btn:hover{
  top: 2px;
  left: 1px;
  color: #fff;
  box-shadow: 2px 2px 0 0 #ffdd21;
  filter: brightness(1.1);
  transition: 0.25s;
}

.c-exhibit_btn-arrow::before{
  position: relative;
  content: '';
  display: inline-block;
  top: -2px;
  left: -5px;
  width: 0;
  height: 0;
  padding-right: 0.8em;
  border-left: 6px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.c-exhibit_btn.is-disable{
  font-weight: normal;
  background-color: #dedfe0;
  box-shadow: none;
}



/*======================================
	exhibition   top
=======================================*/

/*------------ p-main ------------*/
.p-main_back{
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 1700px) {
  .p-main_back{
    min-width: 1700px;
    left: calc(50% - 850px);
  }
}
.p-main_back::before{
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 509px;
  height: 977px;
  background: url(../../images/pc/exhibition/backimg-left.png) no-repeat;
  background-size: 509px 977px;
  z-index: 0;
}
.p-main_back::after{
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 503px;
  height: 979px;
  background: url(../../images/pc/exhibition/backimg-right.png) no-repeat;
  background-size: 503px 979px;
  z-index: 0;
}


/*------------ p-hero ------------*/
.p-hero{
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  z-index: 1;
}
.p-hero_in{
  position: relative;
  width: 660px;
  height: 320px;
  margin: 35px auto 40px;
  background: url(../../images/pc/exhibition/hero_ttl_frame.svg) no-repeat;
  background-size: 660px 320px;
}
.p-hero_badge{
  position: absolute;
  top: 54px;
  right: 132px;
}
.p-hero_ttl{
  position: relative;
  top: 80px;
  left: calc(50% - 168px);
  display: inline-block;
}


/*------------ p-read ------------*/
.p-read{
  width: 660px;
  margin: 100px auto;
}
.p-read_ttl{
  margin-bottom: 30px;
}.p-read .c-txt{
   line-height: 2.2em;
 }
.p-read .c-txt + .c-txt{
  margin-top: 30px;
}


/*------------ p-rule ------------*/
.p-rule{
  position: relative;
  max-width: 1200px;
  min-width: 1000px;
  margin: 0 auto 100px;
  padding: 32px 30px;
  background-color: #fff;
}
.p-rule_in{
  position: relative;
  margin: 0 auto;
  padding: 58px 50px;
  background-color: #fff;
}

.p-rule::before,
.p-rule::after {
  position: absolute;
  content: '';
  display: block;
  left: 30px;
  width: 200px;
  height: 72px;
  background: url(../../images/pc/exhibition/rule_frame.svg) no-repeat;
  background-size: 200px 72px;
  z-index: 2;
}
.p-rule::before{top: 32px;}
.p-rule::after{
  bottom: 32px;
  transform: scale(1, -1);
}

.p-rule_in::before,
.p-rule_in::after{
  position: absolute;
  content: '';
  display: block;
  right: 0;
  width: 200px;
  height: 72px;
  background: url(../../images/pc/exhibition/rule_frame.svg) no-repeat;
  background-size: 200px 72px;
  transform: scale(-1, 1);
}
.p-rule_in::before{top: 0;}
.p-rule_in::after{
  bottom: 0;
  transform: scale(-1, -1);
}

.p-rule_head{
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: bold;
  font-style: italic;
}
.p-rule_head span{
  display: inline-block;
  margin: 0 0.4em;
}
.p-rule_head::before,
.p-rule_head::after{
  display: inline-block;
  content: '';
  width: 25px;
  height: 18px;
  background: url(../../images/pc/exhibition/head_icon_yellow.svg) no-repeat;
  background-size: 25px 18px;
}


.p-rule_caption_group{
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.p-rule_caption{
  width: calc(100%/2 - 20px);
}
.p-rule_caption_head{
  position: relative;
  margin-bottom: 15px;
  padding-left: 20px;
  font-size: 15px;
  font-weight: bold;
}
.p-rule_caption_head::before{
  position: absolute;
  display: inline-block;
  content: '';
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  background: url(../../images/pc/exhibition/check.svg) no-repeat;
  background-size: 18px 18px;
}
.p-rule_caption_head span{
  background: repeating-linear-gradient(-45deg,#ffdd21 0, #ffdd21 2px,transparent 2px, transparent 4px) left bottom no-repeat;
  background-size: 100% 30%;
  z-index: 1;
}
.p-rule_caption img{
  width: 100%;
  height: auto;
}


/*------------ c-cont ------------*/
.p-exhibit-top .c-cont{
  background-color: #f4f6f7;
}
.p-exhibit-top .c-cont_in{
  max-width: 1200px;
  min-width: 1000px;
  padding: 140px 0;
}

/*------------ p-ttl_frame ------------*/
.p-ttl_frame{
  position: relative;
  margin-bottom: 30px;
  font-size: 27px;
  font-weight: bold;
  font-style: italic;
}
.p-ttl_frame::before{
  position: absolute;
  content: '';
  display: inline-block;
  top: 10px;
  left: -45px;
  width: 32px;
  height: 24px;
  padding-right: 10px;
  background: url(../../images/pc/exhibition/head_icon_blue.svg) no-repeat;
  background-size: 32px 24px;
}
.p-ttl_frame_in{
  position: relative;
  display: inline-block;
  margin-right: 5px;
  padding: 7px 16px 7px 14px;
  font-size: 34px;
  color: #39c;
}
.p-ttl_frame_in::before,
.p-ttl_frame_in::after{
  position: absolute;
  content: '';
  display: inline-block;
  top: 0;
  width: 10px;
  height: 46px;
  background: url(../../images/pc/exhibition/head_ttl_frame.svg) no-repeat;
  background-size: 10px 46px;
}
.p-ttl_frame_in::before{left: 0;}
.p-ttl_frame_in::after{
  right: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}


/*------------ p-exhibit_list ------------*/
.p-exhibit_list{
  display: flex;
  gap: 0 27px;
  margin-bottom: 120px;
}
.p-exhibit_list:nth-last-child(1){
  margin-bottom: 0;
}

.p-exhibit_card{
  width: calc(100%/3 - 18px);
  padding: 35px 25px;
  background-color: #fff;
  box-shadow: 0 0 15px 0 rgba(47,98,124,0.1);
}
.p-exhibit_card:hover{
  cursor: pointer;
  box-shadow: 0 0 4px 0 rgba(47,98,124,0.1);
  transition: 0.25s;
}
.p-exhibit_card:hover .p-exhibit_name a{
  filter: brightness(1.1);
  transition: 0.25s;
}
.p-exhibit_card .c-exhibit_btn{
  margin: 20px auto 0;
  padding: 18px 0;
  font-size: 20px;
}
.p-exhibit_card:hover .c-exhibit_btn{
  filter: brightness(1.1);
  color: #fff;
  transition: 0.25s;
}
.p-exhibit_card.is-endingsoon{
  position: relative;
}
.p-exhibit_status{
  position: absolute;
  display: inline-block;
  top: -5px;
  left: 0;
  height: 24px;
  padding: 0 10px 0 15px;
  line-height: 24px;
  font-weight: bold;
  font-style: italic;
  color: #fff;
  background-color: #EB4E7B;
}
.p-exhibit_status::after{
  position: absolute;
  right: -10px;
  top: 0;
  height: 24px;
  content: '';
  display: inline-block;
  width: 20px;
  background-color: #EB4E7B;
  transform: skewX(-25deg);
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.p-exhibit_name{
  margin-bottom: 5px;
  font-size: 24px;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
.p-exhibit_name_big{
  font-size: 32px;
  font-weight: bold;
}
.p-exhibit_name a{
  font-weight: bold;
  color: #39c;
  text-decoration: none;
}

.p-exhibit_day{
  position: relative;
  padding-left: 20px;
  font-size: 15px;
  color: #666;
}
.p-exhibit_day::before{
  position: absolute;
  content: '';
  display: inline-block;
  top: 1px;
  left: 0;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  background: url(../../images/pc/exhibition/clock.svg) no-repeat;
  background-size: 16px 16px;
}
.p-exhibit_day span{
  display: inline-block;
}

.p-exhibit_photo_list{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px auto;
}
.p-exhibit_photo_list.is-empty{
  align-items: center;
  justify-content: center;
  height: 100%;
}
.p-exhibit_photo_item{
  position: relative;
  padding-top: calc((3 / 4) * 50%); /*比率計算*/
  width: calc(50% - 6px);
  background-color: #f0f0f0;
}
.p-exhibit_photo_item a{
  display: block;
}
.p-exhibit_photo_item img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-exhibit_photo_item .imgmeta{
  display: none;
}
.p-exhibit_photo_item .imgmeta a{
  display: inline-block;
  color: #fff;
}
.p-exhibit_photo_item:hover .imgmeta{
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 5px 2%;
  width: 100%;
  line-height: 1em;
  font-size: 11px;
  color: #fff;
  text-shadow: 0 1px 0 #333;
  word-wrap: break-word;
  background-color: rgba(0,0,0,0.5);
}
.p-exhibit_photo_emptyBox{
  padding-bottom: 35px;
  text-align: center;
  color: #90c7e3;
}
.p-exhibit_photo_emptyBox_txt{
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 24px;
}

/* 開催予定の写真展 */
.p-exhibit_card.is-disable{
  box-shadow: none;
}
.p-exhibit_card.is-disable:hover{
  cursor: auto;
}
.p-exhibit_card.is-disable:hover .c-exhibit_btn{
  filter: brightness(1);
}

/* 開催終了した写真展 */
.p-exhibit_list-endtheme{
  display: block;
}
.p-exhibit_item{
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 40px 15px;
  background-color: #fff;
  box-shadow: 0 0 15px 0 rgba(47,98,124,0.1);
}
.p-exhibit_item:hover{
  cursor: pointer;
  box-shadow: 0 0 4px 0 rgba(47,98,124,0.1);
  transition: 0.25s;
}
.p-exhibit_item + .p-exhibit_item{
  margin-top: 12px;
}
.p-exhibit_item .p-exhibit_name{
  width: 48%;
  margin: 4px 0 0 0;
  font-size: 22px;
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.p-exhibit_item .p-exhibit_day{
  margin: 2px 10px 0 0;
  width: calc(52% - 164px);
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
.p-exhibit_item .p-exhibit_day::before{
  display: none;
}
.p-exhibit_day dt,
.p-exhibit_day dd{
  display: inline-block;
  color: #666;
  font-size: 15px;
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.p-exhibit_day dt{
  margin-right: 10px;
  padding: 3px 12px;
  font-size: 14px;
  font-style: italic;
  transform: skewX(-25deg);
  border: 2px solid#ccc;
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
.p-exhibit_day dt > span{
  transform: skewX(25deg);
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.p-exhibit_item .c-exhibit_btn{
  width: 155px;
  margin: 0 0 0 auto;
  padding: 12px 30px;
  font-size: 16px;
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
.p-exhibit_item:hover .p-exhibit_name a{
  filter: brightness(1.1);
  transition: 0.25s;
}
.p-exhibit_item:hover .c-exhibit_btn{
  filter: brightness(1.1);
  color: #fff;
  transition: 0.25s;
}



/*======================================
	exhibition   theme
=======================================*/
.p-submission{
  margin-top: 80px;
}
.p-requirements{
  margin-top: 120px;
}

/*------------ p-theme ------------*/
.p-theme{
  position: relative;
  width: 1000px;
  margin: 50px auto;
  padding: 50px 0;
  text-align: center;
}
.p-theme::before,
.p-theme::after{
  position: absolute;
  content: '';
  display: block;
  left: 0;
  width: 1000px;
  height: 52px;
  background: url(../../images/pc/exhibition/frame-blue.svg) no-repeat;
  background-size: 1000px 52px;
}
.p-theme::before{top: 0;}
.p-theme::after{
  bottom: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-theme_in{
  position: relative;
  width: 769px;
  margin: 0 auto;
}
.p-theme_in::before,
.p-theme_in::after{
  position: relative;
  content: '';
  display: block;
  width: 769px;
  height: 48px;
  background: url(../../images/pc/exhibition/frame-blue_mini.svg) no-repeat;
  background-size: 769px 48px;
}
.p-theme_in::after{
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-theme_status{
  position: absolute;
  display: inline-block;
  width: 160px;
  top: -12px;
  left: 50%;
  padding: 4px 28px 3px;
  font-size: 16px;
  font-weight: bold;
  font-style: italic;
  color: #fff;
  background-color: #EB4E7B;
  transform: translateX(-50%) skewX(-25deg);
  -webkit-transform: translateX(-50%) skewX(-25deg);
  -ms-transform: translateX(-50%) skewX(-25deg);
  z-index: 1;
}
.p-theme_status > span{
  display: inline-block;
  transform: skewX(25deg);
}
.p-theme_head{
  position: absolute;
  top: 38px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.p-theme_ttl{
  position: relative;
  padding: 5px;
  font-size: 68px;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.04em;
  color: #444;
  z-index: 2;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
.p-theme_ttl span{
  font-size: 48px;
}
.p-theme_ttl::before,
.p-theme_ttl::after{
  position: absolute;
  content:'';
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateX(-50%);
}
.p-theme_ttl::before{
  left: -80px;
  width: 4px;
  height: 96px;
  background: url(../../images/pc/exhibition/frame_left.svg) no-repeat;
  background-size: 4px 96px;
}
.p-theme_ttl::after{
  right: -80px;
  width: 8px;
  height: 89px;
  background: url(../../images/pc/exhibition/frame_right.svg) no-repeat;
  background-size: 8px 89px;
}

.p-theme_day{
  position: absolute;
  display: inline-block;
  width: 420px;
  bottom: 5px;
  left: 50%;
  letter-spacing: 0.1em;
  font-size: 18px;
  font-weight: bold;
  color: #39c;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
.p-theme_day_ttl{
  position: relative;
  margin-bottom: 10px;
}
.p-theme_day_ttl::before,
.p-theme_day_ttl::after{
  position: absolute;
  content:'';
  bottom: 5px;
  width: 152px;
  height: 8px;
  background: url(../../images/pc/exhibition/day_memory.svg) no-repeat;
  background-size: 152px 8px;
}
.p-theme_day_ttl::before{left: 0;}
.p-theme_day_ttl::after{right: 0;}

.p-theme_day_txt{
  position: relative;
  display: inline-block;
  margin: 0 auto;
  z-index: 1;
}
.p-theme_day_txt::after{
  position: absolute;
  content:'';
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 8px;
  background: linear-gradient(-45deg,#fff 25%, #ffdd21 25%,#ffdd21 50%, #fff 50%,#fff 75%, #ffdd21 75%,#ffdd21);
  background-size: 5px 5px;
  z-index: -1;
}


/*------------ p-newPhoto ------------*/
.p-newPhoto {
  position: relative;
  top: -20px;
  margin-left: calc(-50vw + 50%);
}
@media screen and (max-width: 1000px) {
  .p-newPhoto{
    margin-left: 0;
  }
}


/*------------ p-exhibit_btn ------------*/
.p-exhibit_btn_wrap{
  margin: 40px auto;
}
.c-exhibit_btn-upload::before{
  position: relative;
  content:'';
  display: inline-block;
  bottom: -2px;
  margin-right: 0.8em;
  width: 22px;
  height: 22px;
  background: url(../../images/pc/exhibition/upload.svg) no-repeat;
  background-size: 22px 22px;
}
.p-exhibit_btn_note{
  width: 400px;
  margin: 25px auto 0;
}


/*------------ p-table ------------*/
.p-table {
  width: 100%;
}
.p-table_head,
.p-table_data {
  padding: 30px;
  font-size: 15px;
  color: #333;
  border: 1px solid #ddd;
}
.p-table_head {
  width: 186px;
  background-color: #f1f3f4;
  font-weight: bold;
}
.p-table_data {
  background-color: #fff;
}
.p-table_data .p-table_item{
  text-indent: -0.8em;
  padding-left: 1em;
  line-height: 1.8em;
  font-size: 15px;
  color: #333;
}


/*------------ p-attn ------------*/
.p-attn{
  margin-top: 100px;
  padding: 50px 0;
  color: #333;
  background-color: #f4f4f4;
}
.p-attn_in{
  width: 1000px;
  margin: 0 auto;
}
.p-attn_head{
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 14px;
}
.p-attn_list li{
  text-indent: -0.8em;
  padding-left: 1em;
  line-height: 1.8em;
  font-size: 12px;
}


/* 開催終了 */
.p-exhibit-theme.is-end .p-main{
  padding-bottom: 100px;
}
.p-exhibit-theme.is-end .p-theme_status{
  color: #999999;
  background-color: #dedfe0;
}
.p-exhibit-theme.is-end .p-theme_day_txt::after{
  display: none;
}


/* 投稿写真が0件の場合 */
.p-newPhoto.empty{
  position: relative;
  top: initial;
  margin-left: auto;

}
.p-newPhoto_emptyBox{
  position: relative;
  display: flex;
  justify-content: center;
  padding: 60px;
  align-items: center;
  background-color: #f1f3f4;
}
.p-newPhoto_emptyBox::before{
  position: relative;
  content: '';
  display: inline-block;
  top: 0;
  left: -20px;
  width: 168px;
  height: 90px;
  background: url(../../images/pc/exhibition/empty_gray.svg) no-repeat;
  background-size: 168px 90px;
}
.p-newPhoto_emptyBox_txt{
  font-size: 28px;
  font-weight: bold;
  color: #bdc7d0;
}


/*======================================
	exhibition   theme photo
=======================================*/

/*------------ searchSet ------------*/
.searchSet {
  width: 1000px;
  margin: 0 auto;
  color: #777;
}
.searchSet_ttl {
  padding-left: 5px;
  border-left: 5px solid #777;
  font-size: 13px;
  font-weight: bold;
}
.searchSet_list_ttl,
.searchSet_list_item {
  display: table-cell;
  font-size: 13px;
  vertical-align: middle;
}
.searchSet_list_ttl:after {
  content: '：';
}
/*********************************************
>>> START sm60
CSS調整
***********************************************/
.searchSet_select {
  padding: 1px 4px;
  border: 1px solid #ddd;
  color: #777;
  font-family: 'Meiryo','Lucida Grande','Hiragino Kaku Gothic ProN','sans-serif';
  background: #fff;
}
/*********************************************
>>> END sm60
CSS調整
***********************************************/
