/* 元のサイトの設定を上書き */
#wrapper #mv{
  padding:40px 0;
}
@media(max-width:1000px){
  #wrapper #mv{
    padding:0 !important;
  }
}
#kv_wrap{
  position: relative;
  z-index:10;
}
html,body{
  overflow-x: hidden;
}

/* 明朝使えるように */
@font-face {
  font-family: "源ノ明朝";
  src: url("../fonts/SourceHanSerif-Regular.woff") format("woff"), url("../fonts/SourceHanSerif-Regular.otf") format("opentype");
}
.preparation_mode h1,.preparation_mode p,
#kv_wrap *,#project_text
{
  font-family: '源ノ明朝', serif;
  font-weight: 400;
  letter-spacing: 2px;
  line-height:1.7;
}

/* 準備中表示 */
#wrapper .preparation_mode{
  padding:150px 0;
  text-align: center;
}
.preparation_mode h1{
  font-size:28px;
  margin-bottom:35px;
}
.preparation_mode p{
  font-size:18px;
  margin-bottom:50px;
}
.preparation_mode .hanabi-2020_logo img{
  max-width:200px;
}

@media(max-width:798px){
  #wrapper .preparation_mode{
    padding:40px 0 120px;
  }
  .preparation_mode h1{
    font-size:24px;
  }
  .preparation_mode p{
    font-size:14px;
  }
  .preparation_mode .hanabi-2020_logo img{
    max-width:120px;
  }
}

/* いつもの */
.pc_display{display:block;}
.sp_display{display:none;}

@media(max-width:798px){
  .pc_display{display:none !important;}
  .sp_display{display:block !important;}
}

/* KV */
#kv_wrap h1 *{
/*  white-space: nowrap;*/
  color:#fff;
}
#kv_wrap h1{
  position:absolute;
  display: flex;
  width:100%; height: 100%;
  text-align: left;
  align-items: center;
  align-content: center;
  z-index:15;
  text-shadow: 3px 4px 12px #000, 3px 4px 10px #000, 0px 0px 10px #000, 0px 0px 15px #000;
}
#kv_wrap h1 strong{
  margin-left:10%;
  margin-right:35px;
  font-size:38px;
}
#kv_wrap h1 strong span{
  display:block;
  font-size:16px;
  line-height: 1.2;
}
#kv_wrap h1>span{
  font-size:18px;
  display: inline-block;
  margin-top:25px;
  margin-left:-230px;
}

#kv_wrap img{
  position: relative;
  z-index:11;
}

@media(max-width:798px){
  #kv_wrap h1{
    flex-direction: column;
    top:27%;
    text-align: center;
  }
  #kv_wrap h1 strong{
    margin:0 auto;
  }
  #kv_wrap h1>span{
    margin-left:auto;
    margin-right:auto;
  }
}
@media(max-width:540px){
  #kv_wrap h1 strong{
    font-size:22px;
  }
  #kv_wrap h1 span{
    font-size:14px;
  }
}
@media(max-width:420px){
  #kv_wrap h1{
    box-sizing: border-box;
    top:15%;
  }
  #kv_wrap h1 strong span{
    box-sizing: border-box;
    font-size:13px;
    padding:0 5% 10px;
  }
}

/* Project text */
#project_text_wrapper{
  display: flex;
  flex-direction: row-reverse;
}
#project_text_wrapper *{
  font-size:14px;
}
@media(min-width:799px){
  #project_text{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl
  }
  #project_text_wrapper #project_text *{
    line-height: 2.8;
  }
}
#project_logo{
  margin:auto 15px 0 0;
}
#project_logo img{
  width: 100%;
}
#project_logo p{
  font-size:10px;
  letter-spacing: normal;
  white-space: nowrap;
}
@media(max-width:1000px){
  #project_text_wrapper{
    flex-direction: column;
  }
  #project_text{
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  #project_logo{
    margin:35px auto 0;
  }
}
@media(max-width:798px){
  #project_text_wrapper #project_text *{
    line-height: 2;
    margin-bottom:15px;
  }
}

/* slider */
#slider_section{
  padding:80px 0;
  overflow: hidden;
}
.project_index h2{
  text-align: center;
  font-size:18px;
  margin-bottom:35px;
}
.project_index h2:before,
.project_index h2:after{
  content:"";
  display: inline-block;
  width:20%;
  max-width:320px;
  border-bottom:1px solid #595757;
}
#program_wrapper h2:before,
#program_wrapper h2:after{
  width:24%;
  max-width:345px;
}
#mod_oshirase h2:before,
#mod_oshirase h2:after{
  width:30%;
  max-width:445px;
}


.project_index h2:before{
  margin:0 25px 5px 0;
}
.project_index h2:after{
  margin:0 0 5px 25px;
}
.slider_wrap,
.slider_wrap .pict_wrap{
  position: relative;
}
.slider_wrap .pict_wrap{
  z-index:1;
}
.slider_wrap .pict_wrap img{
  width:100%;
}
.slider_wrap .slider_data{
  position:absolute;
  z-index:5;
  left:5%;
  padding:35px;
  background-color: rgba(35, 24, 21, 0.3);
  background: rgba(35, 24, 21, 0.3);
}
.slider_wrap .slider_data *{
  font-size:20px;
  color:#fff;
}
.slider_wrap .slider_data h3{
  margin-top:0;
  margin-bottom:45px;
}
.slider_wrap .slider_data h3 *{
  display: block;
}
.slider_wrap .slider_data h3 span{
  font-size:18px;
}
.slider_wrap .slider_data h3 strong{
  font-size:28px;
}
.slider_wrap .slider_data dl{
  display: flex;
  align-items: center;
  align-content: center;
}
.slider_wrap .slider_data dl:nth-of-type(3){
  margin-top:45px;
  flex-direction: column;
  align-items: baseline;
}
.slider_wrap .slider_data dl *{
  font-size:16px;
  line-height:1.7;
}
.slider_wrap .slider_data dt:after{
  content:"：";
  display:inline-block;
}
.slider_wrap .slider_data a{
  margin-top:45px;
  display: inline-block;
  padding:5px 25px;
  background:#fff;
  text-decoration: none;
  color:#000;
  font-size:14px;
}
@media(min-width:1300px){
  .slider_wrap .slider_data{top:15%;}
}
@media(max-width:1299px){
  .slider_wrap .slider_data{top:5%;}
  .slider_wrap .slider_data h3{
    margin-bottom:25px;
  }
  .slider_wrap .slider_data dl:nth-of-type(3){
    margin-top:25px;
  }
  .slider_wrap .slider_data dl *{
    font-size:14px;
  }
}
@media(max-width:990px){
  .slider_wrap .slider_data{top:0;padding:10px;}
  .slider_wrap .slider_data h3 strong{
    font-size:22px;
  }
  .project_index h2:before,
  .project_index h2:after{
    display:none !important;
  }
}
@media(max-width:860px){
  .slider_wrap .slider_data dl:nth-of-type(3){
    display:none;
  }
  .slider_wrap .slider_data h3 span{
    font-size:14px;
  }
  #slider_section h2:before,
  #slider_section h2:after{
    width:10%;
  }
}
@media(max-width:580px){
  .slider_wrap .slider_data h3{
    margin-bottom:10px;
  }
  .slider_wrap .slider_data h3 span{
    font-size:12px;
  }
  .slider_wrap .slider_data h3 strong{
    font-size:18px;
  }
  .slider_wrap .slider_data a{
    margin-top:10px;
  }
  .project_index h2{
    font-size:14px;
  }
  .project_index h2:before,
  .project_index h2:after{
    width:3%;
  }
}
@media(max-width:480px){
  .slider_wrap .slider_data dl,
  .project_index h2:before,
  .project_index h2:after{
    display:none;
  }
  .project_index h2{
    border-bottom:1px solid #333;
    margin:0 5% 25px;
    padding-bottom:10px;
  }
  .slider_wrap .slider_data h3 strong{
    font-size:16px;
  }
  .slider_wrap .slider_data a{
    padding:5px;
    font-size:12px;
  }
}

.video_wrap{
  text-align: center;
  margin-bottom:45px;
}

/* program */
.program_wrap{
  display:flex;
  justify-content: space-between;
  margin-bottom:55px;
}
.program_wrap:nth-of-type(2n){
  flex-direction: row-reverse;
}
.program_wrap .pict_wrap,.program_data{
  width:48%;
}
.program_data h3{
  margin-top:0 !important;
  margin-bottom:5px;
}
.program_data h4{
  margin-bottom:5px;
  font-size:14px;
}
.program_data p{
  margin-top:15px;
  font-size:14px;
  line-height:1.7;
}
.program_wrap:nth-of-type(2n) h3,
.program_wrap:nth-of-type(2n) h4{
  text-align: right;
}
@media(max-width:798px){
  .program_wrap,.program_wrap:nth-of-type(2n){
    flex-direction: column;
  }
  .program_wrap .pict_wrap,.program_data{
    width:100%;
  }
  .program_wrap .pict_wrap{
    margin-bottom:10px;
  }
  .program_data h3,.program_data h4{
    text-align: left !important;
  }
}

/* mod oshirase */
#mod_oshirase li{
  margin-bottom:15px;
}
#mod_oshirase li a{
  color:#000;
  text-decoration: none;
}

#mod_oshirase li a span:last-of-type{
  text-decoration: underline;
}
#mod_oshirase li a:hover span:last-of-type{
  text-decoration: none;
}
#mod_oshirase li *{
  font-size:14px !important;
}
#mod_oshirase li span:nth-of-type(1){
  margin-right:15px;
}
@media(max-width:640px){
  #mod_oshirase li span{
    display:block;
  }
  #mod_oshirase li span:nth-of-type(1){
    margin-bottom:5px;
  }
}

#GMAPS{
  width:100%; height:515px;
}

/* oshirase page */
#oshirase_detail h2{
  border-bottom:1px solid #595757;
  text-align: center;
  margin-bottom:35px;
  padding-bottom:15px;
  font-size:24px;
}
.oshirase_wrapper{
  border-bottom:1px solid #595757;
  margin-bottom:35px;
}
.oshirase_date{
  font-size:16px;
  text-align: center;
  margin-bottom:15px;
}
.oshirase_wrap{
  margin-bottom:35px;
}
.oshirase_wrap h3{
  text-align: center;
  margin-bottom:35px;
}
.oshirase_wrap .pict_wrap{
  display:flex;
  margin-bottom:15px;
}
.oshirase_wrap .pict_wrap img{
  width:49.5%;
}
.oshirase_wrap .text_wrap{
  margin-bottom:35px !important;
}
.oshirase_wrap .text_wrap p strong{
  font-size:18px;
  font-weight:bold;
}
@media(max-width:420px){
  .oshirase_wrap .pict_wrap img{
    width:100%;
  }
}
.oshirase_wrap .pict_wrap.pict_w{
  justify-content: space-between;
}
.oshirase_wrap .pict_wrap.pict_w img:nth-of-type(1){

}
@media(max-width:420px){
  .oshirase_wrap .pict_wrap.pict_w{
    flex-direction: column;
  }
  .oshirase_wrap .pict_wrap.pict_w img:nth-of-type(1){
    border-right:none;

  }
}
.oshirase_wrap .pict_wrap.pict_one{
  justify-content: center;
}
.oshirase_wrap .text_wrap p{
  font-size:14px;
  line-height:1.6;
}
.back_list{
  text-align: center;
  padding-bottom:35px;
}
.back_list a{
  display: inline-block;
  padding:5px 25px;
  border:1px solid #595757;
  color:#000;
  text-decoration: none;
  font-size:14px;
  background:#fff;
}


/* works */
#works_detail h2{
  border-bottom:1px solid #595757;
  text-align: center;
  margin-bottom:35px;
  padding-bottom:15px;
  font-size:24px;
}
.works_kv_wrap{
  position:relative;
}
@media(min-width:799px){
  .works_kv_wrap .pict_wrap{
    position:relative;
    z-index:1;
  }
  .works_kv_wrap .kv_wrap{
    position:absolute;
    top:180px; left:70px;
    z-index:5;
  }
  .works_kv_wrap .kv_wrap *{
    color:#fff;
  }
  .works_kv_wrap .kv_wrap .date_wrap{
    font-size:18px;
  }
  .works_kv_wrap h3 *{
    display:block;
  }
  .works_kv_wrap h3 strong{
    font-size:28px;
  }
  .works_kv_wrap h3 span{
    font-size:16px;
  }
  .kv_data{
    margin:15px 40px 30px;
  }
  .works_kv_wrap p{
    font-size:14px;
    line-height:1.7;
  }
}
@media(max-width:798px){
  .kv_data{
    margin-bottom:45px;
  }
  .works_kv_wrap .pict_wrap{
    margin-bottom:15px;
  }
  .works_kv_wrap .kv_wrap *{
    color:#000;
  }
  .works_kv_wrap .kv_wrap .date_wrap{
    font-size:12px;
  }
  .works_kv_wrap h3{
    margin-top:5px !important;
    margin-bottom:15px;
  }
  .works_kv_wrap h3 *{
    display:block;
  }
  .works_kv_wrap h3 strong{
    font-size:20px;
  }
  .works_kv_wrap h3 span{
    font-size:14px;
  }
  .works_kv_wrap p{
    font-size:14px;
    line-height:1.7;
  }
}
.works_wrapper{
  border-bottom:1px solid #595757;
  margin-bottom:35px;
}
.works_wrapper:last-of-type{
  border-bottom:none;
}
.works_data_wrapper .pict_wrap{
  display:flex;
  margin-bottom:15px;
}
.works_data_wrapper .pict_wrap img{
  width:33.3%;
}
.works_data_wrapper .pict_wrap img:nth-of-type(1),
.works_data_wrapper .pict_wrap img:nth-of-type(2){
  border-right:1px solid #fff;
}
.works_data_wrapper p{
  font-size:14px;
  line-height:1.7;
  margin-bottom:35px;
}
@media(max-width:798px){
  .works_data_wrapper .pict_wrap{
    flex-direction: column;
  }
  .works_data_wrapper .pict_wrap img:nth-of-type(1),
  .works_data_wrapper .pict_wrap img:nth-of-type(2){
    border-right:none;
    border-bottom:1px solid #fff;
  }
}
@media(max-width:798px){
  .works_data_wrapper .pict_wrap img{
    width:100%;
  }
}

.works_wrapper .back_list{
  margin-top:45px;
}

/* 2020.01.xx TOP部分組み替え発生対応に伴う追加 */
.project_index h2{
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto 45px;
  max-width:82%;
}
#program_detail_field h2{
  margin-top:45px;
}
.project_index h2 span{
  white-space: nowrap;
  font-size:18px;
}
@media(max-width:540px){
  .project_index h2 span{
    font-size:16px;
    white-space: normal;
  }
}
.project_index h2:before,
.project_index h2:after{
  max-width:100%;
  width:100%;
}
@media(max-width:990px){
  .project_index h2:before,
  .project_index h2:after{
    display:none !important;
  }
}

#program_field *{
  font-size:14px;
  line-height:1.6;
}

#program_field h2{
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.8
}
#program_field h2 span{
  font-size:18px;
}

.program_catch p,
.program_catch dd{
  margin-bottom:35px;
}
.program_catch dl dt{
  margin-bottom:10px;
}
.program_catch dl ol li{
  margin-left:10px;
}
.program_catch dl ol li a{
  color:#333;
}

.mov_wrapper{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin:45px auto;
  max-width:640px;
}
.mov_wrap{
  position: relative;
  width:100%;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.mov_wrapper iframe{
  position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.pg_detail_head{
  background:rgba( 191,191,191,0.3);
  padding:20px 0;
  margin-bottom:25px;
}
.pg_detail_head div{
  margin:auto;
  max-width:83%;
}
.pg_detail_head h3{
  margin-bottom:5px;
}
.pg_detail_head h4{
  margin-left:20px;
}

.pg_detail_head p{
  margin:25px 20px 0;
  line-height:1.7;
}
.go_blog_txt,.go_blog{
  text-align: right;
  margin: auto;
  max-width:80%;
  line-height: 1.6;
}
@media(max-width:540px){
  .go_blog_txt,.go_blog{
    margin-bottom:10px;
    text-align: left;
  }
}
.go_blog a{
  color:#333;
}
.go_blog a:hover{
  text-decoration: none;
}

.pict_lists{
  margin:25px auto 45px;
  max-width:80%;
}
.pict_lists dt{
  margin:0 0 10px 1%;
}
.pict_lists ul{
  display:flex;
  flex-wrap:wrap;
}
.pict_lists ul li{
  width:calc(100% / 5 - 2%);
  margin:0 1% 15px;
}
.pict_lists ul li .outpicts{
  overflow-y: hidden;
  margin-bottom:-2%;
}
.pict_lists ul li img{
  width:100%;
}
.pict_lists ul li .outpicts img{
  width:100%;
}
.pict_lists ul li div.pict_txt{
  font-size:12px !important;
}

@media(max-width:798px){
  .pict_lists ul li{
    width:calc(100% / 2 - 2%);
  }
}
@media(max-width:480px){
  .pict_lists ul li{
    width:calc(100% / 1 - 2%);
  }
}
