@charset "utf-8";

@media all and (max-width: 767px) {
  body.lang_jp .jp,
  body.lang_en .en { display: block; }

  .daily_page .main{ margin-top: calc(47vw / 375 * 100);}
}

@media all and (max-width: 767px) {
  .bg-black{
    padding-top: 0;
  }
  .menu .bg-black {
    padding-top: calc(36vw / 375 * 100);
  }
}

.pt10 {
  padding-top: 10px;
}

.content-top{
  background-color: #000;
  padding-top: 31px;
  margin-top: 18px;
}
@media all and (max-width: 1280px) {
  .content-top{
    margin-top: calc(17vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .content-top{
    padding-top: 0;
  }

  .daily .content-top {
    margin-top: 20px;
  }
}

.menu .content-top{
  margin-top: 0;
}

.global_navi_daily a {
  border-bottom: solid 1px #000;
  pointer-events: none;
}
.daily_page .global_navi_daily a {
  pointer-events: auto;
}

.page_title { text-align: left; }
@media all and (max-width: 767px) {
  .page_title{
    margin: calc(62vw / 375 * 100) calc(19vw / 375 * 100) 0;
  }
}

.daily-lead{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  margin-left: 28px;
  margin-right: 28px;
  padding-bottom: 83px;
  flex-direction: row-reverse;
}
@media all and (max-width: 767px) {
  .daily-lead{
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.lead-txt{
  width: calc(616 / 1264 * 100%);
  color: #fff;
  text-align: justify;
}
@media all and (max-width: 767px) {
  .lead-txt{
    width:auto;
    margin-right: calc(19vw / 375 * 100);
    margin-left: calc(19vw / 375 * 100);
    padding-top: 38px;
  }
}
.inner-lead-txt{
  position: relative;
}
.inner-lead-txt .jp{
  position: absolute;
  top:0;
}
.inner-lead-txt .en{
  letter-spacing: 0;
  text-align: left;
  position: absolute;
  top:0;
}
section .lead-txt .lang{
  margin-right: 0;
  margin-left: 0;
  margin-top:0;
}
@media all and (max-width: 767px) {
  section .lead-txt .lang{
    margin-top:0;
  }
}
.lead-txt h2{
  font-size: 20px;
  font-weight: normal;
  padding-bottom: 20px;
  position: relative;
}


@media all and (max-width: 767px) {
  .lead-txt h2{
    font-size: calc(20vw / 375 * 100);
    font-weight: normal;
    padding-bottom: 30px;
    position: relative;
  }
}
.lead-txt h2 span{
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 24px;
  height: 24px;
}
@media all and (max-width: 767px) {
  .lead-txt h2 span{
    display: block;
    position: absolute;
    right: 0;
    top:2px;
    width: 20px;
    height: 20px;
  }
}
.lead-txt h2 span img{
  width: 100%;
}
.lead-photo{
  width: calc(612 / 1264 * 100%);
}
@media all and (max-width: 767px) {
  .lead-photo{
    width:100%;
  }
}
.lead-photo ul{
  display: flex;
  /* justify-content: space-between;*/
  flex-wrap: wrap;
}
.lead-photo ul li{
  width: calc(100% / 3);
}
.lead-photo ul li img{
  width: 100%;
}
.insta-link{
  padding-top: 30px;
}
@media all and (max-width: 767px) {
  .insta-link{
    padding-top: 23px;
    font-size: calc(14vw / 375 * 100);
  }
}
.insta-link a{
  color:#fff;
}


/*Latest----------------*/
.latest{
    margin-top: 0;
    margin-right: 28px;
    margin-left: 28px;
    padding-top: 15px;
    border-top: 1px solid #fff;
}
@media all and (max-width: 767px) {
  .latest{
    margin-right: calc(19vw / 375 * 100);
    margin-left: calc(19vw / 375 * 100);
  }
}
.title h3{
  color:#fff;
  padding-bottom: 36px;
}
@media all and (max-width: 767px) {
  .title h3{
    padding-bottom: 28px;
  }
}
.photolist{
  width: calc(100% + 56px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: -28px;
}
@media all and (max-width: 767px) {
  .photolist{
    display: block;
  }
}
.photolist li{
  width: 33.33%;
  cursor: pointer;
}
.photolist li img{
  cursor: pointer;
}
@media all and (max-width: 767px) {
  .photolist li{
    width: 100%;
  }
}
.photolist li img{
  width: 100%;
  height: 33.33vw;
  object-fit: cover;
}
@media all and (max-width: 767px) {
  .photolist li img{
    width: 100%;
    height: 100vw;
    object-fit: cover;
  }
}
.photo-caption{
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #fff;
  padding-top: 52px;
  padding-bottom: 120px;
}
@media all and (max-width: 767px) {
  .photo-caption{
    display: block;
    padding-bottom: 39px;
  }
}
.caption-title{
  width: calc(224 / 1264 * 100%);
}
@media all and (max-width: 767px) {
  .caption-title{
    width: 100%;
  }
}
.caption-title h2{
  font-size: 24px;
  line-height: 34px;
  padding-bottom: 10px;
}

.caption-title h2::before {
  display: block;
  content: '';
  width: 0;
  height: 0;
  margin-top: calc((1 - (35 / 24)) * .8em);
}

@media all and (max-width: 1280px) {
  .caption-title h2{
    font-size: calc(24vw / 1280 * 100);
    line-height: calc(34vw / 1280 * 100);
  }
}

@media all and (max-width: 767px) {
  .caption-title h2{
    font-size: 20px;
    line-height: 1em;
  }

  .caption-title h2::before {
    display: none;
  }
}
.caption-title h3{
  font-size: 16px;
  line-height: 30px;
  padding-bottom: 10px;
}

@media all and (max-width: 1280px) {
  .caption-title h3{
    font-size: calc(16vw / 1280 * 100);
    line-height: calc(30vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .caption-title h3{
    font-size: 14px;
    line-height: 1em;
  }
}
.caption-title .date{
  color:#6C6C6D;
  font-size: 16px;
}
@media all and (max-width: 1280px) {
  .caption-title .date{
    font-size: calc(16vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .caption-title .date{
    font-size: 14px;
    padding-bottom: 35px;
  }
}
.lang_en .caption-title .jp {
  display: none;
}

.caption-txt{
  width: calc(608 / 1264 * 100%);
}
@media all and (max-width: 767px) {
  .caption-txt{
    width: 100%;
    padding-bottom: 35px;
  }
}
.caption-txt.lang{
  margin-left: 0;
  margin-right: 0;
}
@media all and (max-width: 767px) {
  .caption-txt.lang{
    margin-top: 0;
  }
}
.caption-credit{
  width: calc(260 / 1264 * 100%);
}
@media all and (max-width: 767px) {
  .caption-credit{
    width: 100%;
  }
}
.job-title{
  color:#6C6C6D;
  font-size: 12px;
  padding-bottom: 8px;
}
@media all and (max-width: 1280px) {
  .job-title{
    font-size: calc(12vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .job-title{
    font-size: 12px;
  }
}
.caption-credit .name{
  font-size: 14px;
  padding-bottom: 18px;
}
@media all and (max-width: 1280px) {
  .caption-credit .name{
    font-size: calc(14vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .caption-credit .name{
    font-size: 14px;
  }
}
.caption-credit .name a{
  color: #fff;
}

/*archive----------------*/
.archive{
  margin-top: 0;
  margin-right: 28px;
  margin-left: 28px;
  padding-top: 15px;
  border-top: 1px solid #fff;
  padding-bottom: 35px;
}
@media all and (max-width: 767px) {
  .archive{
    margin-right: calc(19vw / 375 * 100);
    margin-left: calc(19vw / 375 * 100);
    padding-bottom: 11px;
  }
}
.archive-list{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -48px;
}
@media all and (max-width: 1280px) {
  .archive-list{
    margin-bottom: calc(-48vw / 1280 * 100);
  }
}
.archive-list li{
  margin: 0 16px 48px 16px;
  width: calc(16.66666667% - 32px);
  cursor: pointer;
  transition: .5s;
}
@media all and (max-width: 1280px) {
  .archive-list li{
    margin: 0 calc(16vw / 1280 * 100) calc(48vw / 1280 * 100) calc(16vw / 1280 * 100);
    width: calc(20% - 32vw / 1280 * 100);
  }
}
@media all and (max-width: 800px) {
  .archive-list li{
    margin: 0 calc(16vw / 800 * 100) calc(48vw / 800 * 100) calc(16vw / 800 * 100);
    width: calc(33.333% - 32vw / 800 * 100);
  }
}
@media all and (max-width: 500px) {
  .archive-list li{
    margin: 0 calc(12vw / 375 * 100) calc(40vw / 375 * 100);
    width: calc(50% - 24vw / 375 * 100);
  }
}
.archive-list li:hover{
  opacity: .5;
}
@media all and (max-width: 767px) {
  .archive-list li:hover{
    opacity: 1;
  }
}
.archive-list li img{
  width: 100%;
}

/*詳細ページ----------------*/
.daily-detail-wrap{
  margin-top: 0;
  margin-right: 28px;
  margin-left: 28px;
}
@media all and (max-width: 767px) {
  .daily-detail-wrap{
    /* margin-right: calc(19vw / 375 * 100);
    margin-left: calc(19vw / 375 * 100); */
    margin:0;
  }
  .daily-detail-wrap .photolist{
    margin-left: 0;
    width: 100%;
  }
}
.photo-caption-wrap{
  background-color: #000;
}
@media all and (max-width: 767px) {
  .photo-caption-wrap{
    padding-right: calc(19vw / 375 * 100);
    padding-left: calc(19vw / 375 * 100);
  }
}
.photo-caption-wrap .photo-caption{
  margin-top: 0;
  margin-right: 28px;
  margin-left: 28px;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media all and (max-width: 767px) {
  .photo-caption-wrap .photo-caption{
    margin: 0;
  }
}
.daily-page-navi{
  background-color: #000;
}
.daily-page-navi ul{
  display: flex;
  justify-content: space-between;
  border-top:1px solid #fff;
  margin-right: 28px;
  margin-left: 28px;
  padding-top: 15px;
  padding-bottom: 80px;
  justify-content: flex-start;
}
@media all and (max-width: 767px) {
  .daily-page-navi ul{
    margin-right: calc(19vw / 375 * 100);
    margin-left: calc(19vw / 375 * 100);
    display: block;
  }
}
.daily-page-navi li{
  width: 33.33%;
}
.page-navi-list{
  text-align: center;
}
@media all and (max-width: 767px) {
  .daily-page-navi li{
    width: 100%;
  }
  .page-navi-list{
    text-align: left;
  }
}
.daily-page-navi li a{
  font-size: 16px;
  line-height: 1em;
  color: #fff;
}
@media all and (max-width: 1280px) {
  .daily-page-navi li a{
    font-size: calc(16vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .daily-page-navi li a{
    font-size: 16px;
  }
}
.page-navi-prev a{
  position: relative;
  padding-left: 25px;
}
.page-navi-prev a:after{
  content:"";
  position: absolute;
  width: 14px;
  height: 14px;
  background-image: url("/wp-content/themes/hoshino/img/arrow_left.svg");
  left: 0;
  top:1px;
}
.page-navi-next{
  text-align: right;
}
@media all and (max-width: 767px) {
  .page-navi-next{
    text-align: left;
  }
}
.page-navi-next a{
  position: relative;
  padding-right: 25px;
}
.page-navi-next a:after{
  content:"";
  position: absolute;
  width: 14px;
  height: 14px;
  background-image: url("/wp-content/themes/hoshino/img/arrow_right.svg");
  right: 0;
  top:1px;
}

@media all and (max-width: 767px) {
  .page-navi-prev,
  .page-navi-next{
    margin-bottom: 12px;
  }
}

/*popup----------------*/
.popup-bg{
  position: fixed;
  z-index: 9800;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.95);
  cursor: pointer;
  transition: 0.5s ease-out;
  transition-delay: 0s;
  visibility: visible;
  opacity: 1;
}
.popup-bg_hide{
  transition-delay: 0s;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}

.popup-box{
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9900;
  display: flex;
  transition: opacity .6s ease-out,top 0s ease-out;
  top:0;
  transition-delay:0.5s,0s;
}
@media all and (max-width: 767px) {
  .popup-box{
    align-items: center;
  }
}
.popup-box_hide{
  opacity: 0;
  top:-100vh;
  transition: opacity .6s ease-out,top 0s ease-out;
  transition-delay:0s,0.5s;

}
.popup-img{
  transition: .5s;
}
.popup-inner{
  width: calc(600 / 1320 * 100%);
  margin-left: auto;
  margin-right:auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media all and (max-width: 767px) {
  .popup-inner{
    width: 100%;
    height: 100vw;
  }
}
.popup-inner img{
  width: 100%;
}
@media all and (max-width: 767px) {
  .popup-inner img{
    margin-top: -60px;
  }
}
.close-bt{
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.popup-navi-left,
.popup-navi-right{
  width: 17px;
  height: 24px;
  position: absolute;
}
.popup-navi-left{
  left: -55%;
  cursor: pointer;
}
.popup-navi-right{
  right: -55%;
  cursor: pointer;
}
@media all and (max-width: 767px) {
  .popup-navi-left{
    left: calc(50% - 50px);
    bottom:-34px;
    cursor: pointer;
  }
  .popup-navi-right{
    right: calc(50% - 50px);
    bottom:-34px;
    cursor: pointer;
  }
}
.popup-navi-left img,
.popup-navi-right img{
  width: 100%;
}
@media all and (max-width: 767px) {
  .popup-navi-left img,
  .popup-navi-right img{
    margin-top: 0;
  }
}

.popup-close-btn {
  cursor: pointer;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 22px;
  right: 22px;
}

@media all and (max-width: 767px) {
  .popup-close-btn {
    top: 11px;
    right: 11px;
  }
}






/*motomoto----------------*/
section .lang{
  -webkit-flex: 0 0 calc(616vw / 1320 * 100);
  flex: 0 0 calc(616vw / 1320 * 100);
  margin-right: 64px;
  margin-left: 64px;
  color: #fff;
}
@media all and (max-width: 767px) {
  section .lang{
    margin-right: calc(64vw / 1280 * 100);
    margin-left: calc(64vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  section .lang{
    margin-right: 0;
    margin-left: 0;
    margin-top: calc(12vw / 375 * 100);
  }
}

section .image{
  -webkit-flex: 1 1 0;
  flex: 1 1 0;
}

section .image img{
  width: 220px;
  height: auto;
  float: right;
}
@media all and (max-width: 767px) {
  section .image img{
    width: calc(220vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  section .image img{
    width: 100%;
    float: none;
    margin-top: calc(18vw / 375 * 100);
  }
}

section h3 {
  font-size: 16px;
  letter-spacing: .1px;
}
@media all and (max-width: 767px) {
  section h3 {
    font-size: calc(16vw / 1280 * 100);
    letter-spacing: calc(.1vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  section h3 {
    text-align: left;
    font-size: calc(14vw / 375 * 100);
  }
}

.text {
  letter-spacing: 1px;
  margin-top: -7px;
}
@media all and (max-width: 767px) {
  .text {
    letter-spacing: calc(1vw / 1280 * 100);
    margin-top: calc(-7vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .text {
    margin-top: 0;
    line-height: calc(26vw / 375 * 100);
  }
}

.text a{
  color: #fff;
}
.text a:hover{
  border-bottom: 1px solid #fff;
}

.inner-lead-txt .text {
  font-size: 14px;
  line-height: 20px;
  margin-top: -3px;
}
@media all and (max-width: 1280px) {
  .inner-lead-txt .text {
    font-size: calc(14vw / 1280 * 100);
    line-height: calc(19vw / 1280 * 100);
    margin-top: 0;
  }
}
@media all and (max-width: 767px) {
  .inner-lead-txt .text {
    font-size: calc(14vw / 375 * 100);
    margin-top: 0;
    line-height: calc(26vw / 375 * 100);
  }
}

section .text .letter { text-align: justify; }

section .text .letter:not(:first-child) { margin-top: 18px; }
@media all and (max-width: 767px) {
  section .text .letter:not(:first-child) { margin-top: calc(18vw / 1280 * 100); }
}
@media all and (max-width: 767px) {
  section .text .letter:not(:first-child) { margin-top: calc(12vw / 375 * 100); }
}

section .text .letter + h4 { margin-top: 56px; }
@media all and (max-width: 767px) {
  section .text .letter + h4 { margin-top: calc(56vw / 1280 * 100); }
}

section .text dl {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: justify;
}
section .text dl:not(:first-child) {
  margin-top: 18px;
}
@media all and (max-width: 767px) {
  section .text dl:not(:first-child) { margin-top: calc(18vw / 1280 * 100); }
}
@media all and (max-width: 767px) {
  section .text dl:not(:first-child) { margin-top: calc(12vw / 375 * 100); }
  section .text dl.history {
    margin-top: calc(12vw / 375 * 100);
  }
}

section .text dt { width: 104px; }
section .en .text dt { width: 120px; }
section .text .history dt { width: 74px;}
@media all and (max-width: 767px) {
  section .text dt { width: calc(104vw / 1280 * 100); }
  section .en .text dt { width: calc(120vw / 1280 * 100); }
  section .text .history dt { width: calc(74vw / 1280 * 100); }
}
@media all and (max-width: 767px) {
  section .text dt { width: calc(85vw / 375 * 100); }
  section .en .text dt { width: calc(140vw / 375 * 100); }
  section .text .history dt { width: calc(56vw / 375 * 100); }
}

section .text dd { width: calc(100% - 104px); }
section .en .text dd { width: calc(100% - 120px); }
section .text .history dd { width: calc(100% - 74px); }
@media all and (max-width: 767px) {
  section .text dd { width: calc(100% - 104vw / 1280 * 100); }
  section .en .text dd { width: calc(100% - 120vw / 1280 * 100); }
  section .text .history dd { width: calc(100% - 74vw / 1280 * 100); }
}
@media all and (max-width: 767px) {
  section .text dd { width: calc(100% - 85vw / 375 * 100); }
  section .en .text dd { width: calc(100% - 140vw / 375 * 100); }
  section .text .history dd { width: calc(100% - 56vw / 375 * 100); }
}

.access .text{
  line-height: 1;
}

.access .text .letter br{display: none;}
@media all and (max-width: 767px) {
  .access .text .letter{
    line-height: calc(26vw / 375 * 100);
  }
  .access .text .letter br{
    display: block;
  }
}

.access .text .map_area,
.access .text iframe{
  height: calc(480vw / 1320 * 100);
  width: calc(616vw / 1320 * 100);
  margin-top: 17px;
}
@media all and (max-width: 767px) {
  .access .text .map_area,
  .access .text iframe{
    margin-top: calc(17vw / 1280 * 100);
  }
}
@media all and (max-width: 767px) {
  .access .text .map_area,
  .access .text iframe{
    height: calc(232vw / 375 * 100);
    width: calc(calc(375vw - 19vw * 2) / 375 * 100);
    margin-top: calc(18vw / 375 * 100);
  }
}

.access .text .map_area .map{
  width: 100%;
  height: 100%;
}
.access .text .map_area .map .plot {
  position: absolute;
  -webkit-transition: opacity .3s linear 0s, visibility 0s linear 0s;
  -moz-transition: opacity .3s linear 0s, visibility 0s linear 0s;
  -o-transition: opacity .3s linear 0s, visibility 0s linear 0s;
  transition: opacity .3s linear 0s, visibility 0s linear 0s;
}
.access .text .map_area .map .icon {
  display: block;
  position: absolute;
  top: -8px;
  left: -8px;
  width: 16px;
  height: 16px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  background-color: #000;
}
.access .text .map_area .map .balloon {
  position: absolute;
  font-size: 15px;
  background-color: #fff;
  -webkit-transition: opacity .3s linear 0s, visibility 0s linear .3s;
  -moz-transition: opacity .3s linear 0s, visibility 0s linear .3s;
  -o-transition: opacity .3s linear 0s, visibility 0s linear .3s;
  transition: opacity .3s linear 0s, visibility 0s linear .3s;
  z-index: 20;
  bottom: 25px;
  margin: 0 auto;
  border: 1px solid #ccc;
  width: 180px;
  -webkit-box-shadow: 0 8px 10px rgba(0,0,0,.2);
  -moz-box-shadow: 0 8px 10px rgba(0,0,0,.2);
  -o-box-shadow: 0 8px 10px rgba(0,0,0,.2);
  box-shadow: 0 8px 10px rgba(0,0,0,.2);
}
.access .text .map_area .map .balloon::before {
  content: "";
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top: 5px solid #ccc;
}
.access .text .map_area .map .balloon::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top: 5px solid #fff;
}
.access .text .map_area .map .balloon .name {
  padding: 10px;
  text-align: center;
}

.hopkinsArchitects .lang{
  margin-top: 0;
}

.text__hopkinsArchitects {
    padding-top: 6px;
}

.text__hopkinsArchitects + .hopkinsArchitects__office {
  margin-top: calc(45px - (30px - 16px));
}

.hopkinsArchitects__office + .hopkinsArchitects__office {
  margin-top: calc(45px - (30px - 16px));
}

.hopkinsArchitects__office:last-of-type {
  margin-bottom: calc(50px - ((30px - 16px) / 2));
}

.footer{
  padding: 0;
  background-color: #000;
}
.footer .small{
  color: #fff;
  border-color: #fff;
}

#slide {
  width:100%;
  padding-bottom: calc(2220 / 3960 * 100%);
  margin:0 auto;
  position:relative;
}
@media all and (max-width: 767px) {
  #slide {
    padding-bottom: calc(828 / 1242 * 100%);
  }
}
#slide ul li{
  width:100%;
  padding-bottom: calc(2220 / 3960 * 100%);
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
}
@media all and (max-width: 767px) {
  #slide ul li{
    padding-bottom: calc(828 / 1242 * 100%);
  }
}
#slide ul li:first-child{
  display: block;
}

#slide img {
  width:100%;
  position:absolute;
  left:0;
  top:0;
}
