@charset "utf-8";



/* ------- WORKFILE ---------------------------------------------- */
.page-work-detail:before{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: -1;
}
@media print, screen and (min-width:781px) {
  .page-work-detail:before{
    background-image: url("../img/bg_main_pc.jpg");
  }
}
@media screen and (max-width: 780px) {
  .page-work-detail:before{
    background-image: url("../img/bg_main_sp.jpg");
  }
}





.work-main-image figure{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.work-main-detail{
  color: #FFF;
}
.work-main-detail p{
  line-height: 1;
}
.work-main-detail h1{
  color: #100F63;
  letter-spacing: .08em;
  line-height: 1.57;
}
.work-page-navi{
  clear: both;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.work-page-navi > li > a{
  background-color: rgba(16,15,99,.80);
  display: flex;
  align-items: center;
}
.work-page-navi > li > a:before{
  color: #FFF;
  content: '\f1e3';
  font-weight: 400;
  font-size: 14px;
  margin-right: 10px;
  font-family: "Material Symbols Outlined";
  line-height: 1;
}
@media print, screen and (min-width:781px) {
  .work-main{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    height: calc(100vh - 110px);
    padding-bottom: 40px;
    max-width: 1840px;
    width: 98%;
    margin-left: auto;
    margin-right: auto;
  }
  .work-main-image{
    width: 58.69%;
  }
  .work-main-image figure{
    height: 100%;
  }
  
  .work-main-detail{
    align-self: center;
    padding-left: min(8.072%,155px);
    width: calc(100% - 58.69%)
  }
  .work-main-detail p{
    font-size: min(1.97vw,3.8rem);
  }
  .work-main-detail h1{
    background-color: #FFF;
    font-size: min(3.125vw,6.0rem);
    padding: 20px 40px;
    float: left;
    white-space: nowrap;
    margin-top: 45px;
    margin-bottom: 60px;
  }
  .work-page-navi{
    float: left;
    width: 80.99%;
    min-width: 420px;
  }
  .work-page-navi > li{
    font-size: min(1.2vw,1.8rem);
    margin-top: 2.06%;
    width: 48.97%;
  }
  .work-page-navi > li > a{
    padding: 15px;
  }

  #work .work-main-image figure{
    background-image: url("../img/work/img_main_pc.jpg");
  }
}
@media screen and (min-width:781px) and (max-width:1370px) {
  .work-main{
    height: auto;
  }
  .work-main-image{
    display: flex;
    align-items: center;
  }
  .work-main-image figure{
    height: auto !important;
    padding-bottom: 84.25%;
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  .work-main{
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 20px;
    padding-bottom: 65px;
  }
  .work-main-image figure{
    padding-bottom: 100%;
  }
  .work-main-detail-inner{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .work-main-detail p{
    background-color: #FFF;
    color: #100F63;
    font-size: min(4.61vw,1.8rem);
    padding: 10px 20px;
    margin-top: -20px;
  }
  .work-main-detail h1{
    background-color: #FFF;
    font-size: min(7.17vw,2.8rem);
    padding: 5px 20px;
  }
  
  .work-page-navi{
    margin-top: 20px;
  }
  .work-page-navi > li{
    font-size: min(2.92vw,1.5rem);
    margin-top: 1.16%;
    width: 49.42%;
  }
  .work-page-navi > li > a{
    padding: 15px;
  }
  
  
  #work .work-main-image figure{
    background-image: url("../img/work/img_main_pc.jpg");
  }
}




.work-section{
  background-color: #FFF;
}
.work-section .ttl{
  display: flex;
  justify-content: center;
}
.work-section .ttl h2{
  border-bottom: 1px solid #E3141B;
  padding-bottom: 20px;
}
.work-section .photo-list .photo-item > p{
  line-height: 1.55;
}

.exp-list > div > dt{
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.exp-list > div > dt:before{
  background-color: #100F63;
  content: "";
  display: block;
  margin-right: 20px;
  height: 30px;
  width: 5px;
}


.requirements > div > dt{
  font-weight: 400;
}

.num-list {
  counter-reset: number 0;
}
.num-list > li:before {
  counter-increment: number 1;
  content: counter(number) "）";
}

.voice-list {
  counter-reset: number 0;
}
.voice-list > section > h3{
  border-bottom: 1px solid #100F63;
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.voice-list > section > h3:before {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  counter-increment: number 1;
  content: "Q"counter(number);
  letter-spacing: .08em;
}
@media print, screen and (min-width:781px) {
  .work-contents{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 240px;
    max-width: 1280px;
    width: 90%;
  }
  .work-section{
    margin-top: 40px;
    padding: 50px 60px 60px;
  }
  .work-section .ttl h2{
    font-size: 2.8rem;
  }
  
  .work-section .photo-list{
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  .work-section .photo-list .photo-item{
    margin-right: 4.745%;
    margin-top: 60px;
    width: 30.17%;
  }
  .work-section .photo-list .photo-item:nth-child(3n){
    margin-right: 0;
  }
  .work-section .photo-list .photo-item:nth-child(-n + 3){
    margin-top: 0;
  }
  .work-section .photo-list .photo-item > p{
    font-size: 1.8rem;
    margin-top: 20px;
  }
  
  .work-section > p{
    margin-top: 50px;
  }
  
  .work-contents .col2{
    display: flex;
    justify-content: space-between;
  }
  .work-contents .col2 > .work-section{
    width: 48.4375%;
  }
  .col2 > .exp-list{
    width: 44.82%;
  }
  .col2.exp-list{
    display: flex;
    justify-content: space-between;
  }
  .col2.exp-list > div{
    width: 44.82%;
  }
  
  .exp-list > div{
    margin-top: 50px;
  }
  .exp-list > div > dt{
    font-size: 2.0rem;
  }
  .exp-list > div > dd{
    margin-top: 20px;
  }
  
  
  .requirements > div{
    border-bottom: 1px solid #DBDBDB;
    display: flex;
    padding-bottom: 40px;
    padding-top: 40px;
  }
  .requirements > div:last-child{
    border-bottom: none;
    padding-bottom: 0;
  }
  .requirements > div > dt{
    font-size: 2.0rem;
    width: 215px;
  }
  .requirements > div > dd{
    width: calc(100% - 245px);
  }
  .requirements > div > dd > dl > div{
    margin-top: 25px;
  }
  .requirements > div > dd > dl > div:first-child{
    margin-top: 0;
  }
  .requirements > div > dd > dl > div > dt{
    font-weight: 900;
  }
  
  .num-list{
    margin-top: 20px;
  }
  .num-list > li{
    text-indent: -1.5em;
    padding-left: 1.5em;
    margin-top: 10px;
  }
  
  .note-list{
    margin-top: 10px;
  }
  
  
  .voice-list > section{
    margin-top: 80px;
  }
  .voice-list > section:first-child{
    margin-top: 30px;
  }
  .voice-list > section > h3{
    font-size: 2.4rem;
    padding-bottom: 20px;
  }
  .voice-list > section > h3:before{
    font-size: 2.8rem;
    margin-right: 20px;
  }
  .voice-list > section > .exp-list > div{
    margin-top: 30px;
  }
}
@media screen and (min-width:781px) and (max-width:1370px) {
  .work-section .photo-list .photo-item > p{
    font-size: min(1.66vw,1.8rem);
  }
   .work-section .photo-list .photo-item > p br{
    display: none;
  }
  .exp-list > div > dt{
    font-size: min(1.85vw,2.0rem);
  }
  .voice-list > section > h3{
    font-size: min(2.22vw,2.4rem);
  }
  .voice-list > section > h3:before{
    font-size: min(2.59vw,2.4rem);
  }
}
@media screen and (max-width: 780px) {
  .work-contents{
    padding-bottom: 60px;
  }
  .work-section{
    margin-top: 40px;
    padding: 60px 20px;
  }
  .work-section .ttl h2{
    font-size: 2.4rem;
  }
  
  .work-section .photo-list{
    margin-top: 40px;
  }
  .work-section .photo-list .photo-item{
    margin-top: 40px;
  }
  .work-section .photo-list .photo-item > p{
    font-size: 1.8rem;
    margin-top: 20px;
  }
  
  .work-section > p{
    margin-top: 50px;
  }

  
  .exp-list > div{
    margin-top: 50px;
  }
  .exp-list > div > dt{
    font-size: 2.0rem;
  }
  .exp-list > div > dd{
    margin-top: 20px;
  }
  
  
  .requirements > div{
    border-bottom: 1px solid #DBDBDB;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  .requirements > div:last-child{
    border-bottom: none;
  }
  .requirements > div > dt{
    font-size: 2.0rem;
  }
  .requirements > div > dd > dl > div{
    margin-top: 25px;
  }
  .requirements > div > dd > dl > div > dt{
    font-weight: 900;
  }
  
  .num-list{
    margin-top: 20px;
  }
  .num-list > li{
    text-indent: -1.5em;
    padding-left: 1.5em;
    margin-top: 10px;
  }
  
  .note-list{
    margin-top: 10px;
  }
  
  
  .voice-list > section{
    margin-top: 40px;
  }
  .voice-list > section > h3{
    font-size: 2.0rem;
    padding-bottom: 20px;
    align-items: flex-start;
  }
  .voice-list > section > h3:before{
    font-size: 1.8rem;
    margin-right: 10px;
  }
  .voice-list > section > .exp-list > div{
    margin-top: 30px;
  }
}