@charset "UTF-8";

/*=======================================================

target HTML; /shibusawa/
created date; Oct 2015

=======================================================*/

img {width: 100%;}
body.shibusawa main { background: url(../img/bnk_bg.jpg) 0 0 repeat #fbf9f4; padding-top: 100px;}

.shibusawa  section > div:first-of-type { box-sizing: border-box; max-width: 900px; margin: 0 auto; padding: 0;}
.shibusawa  section.top > div:first-of-type { max-width: 1366px;}

.shibusawa section ul { list-style: none;}

.bnk_links { display: flex; justify-content: space-between;}
.bnk_links li { width: 23%;}
.bnk_links_sp { display: none;}

.shadow{
    box-shadow:rgba(0, 0, 0, 0.1) 1px 1px 1px 0px;
    -webkit-box-shadow:rgba(0, 0, 0, 0.1) 1px 1px 1px 0px;
    -moz-box-shadow:rgba(0, 0, 0, 0.1) 1px 1px 1px 0px;
}

.bnk_box { background:#f3f1ec; padding:30px 40px; margin:60px 0 0;}
.bnk_box ul { display: table; text-align: left; font-size: 1.6rem; margin: 0 auto;}
.bnk_box li { display: table-row; margin:0 auto; text-align: left;  line-height: 2;}
.bnk_box li span.bnk_box_td { display: table-cell; padding-left:1em; position: relative; max-width: 780px;}
.bnk_box li span.bnk_box_td:before {content:"："; position: absolute; left: 0;}

.btArea { margin-top: 40px;}
.btArea a { display: block;max-width: 465px; margin: 0 auto;}
.btArea a img { display: block; max-width: 465px;}



/*** target HTML; /shibusawa/historymap.html
-------------------------------------------------------*/
.map_articles{display: flex; margin: 30px 0 0 0; text-align: left;}
.map_articles li { width: 31%; margin: 0 1% 0 1%; background: #fff;}
.map_articles li dl { padding: 25px 20px;}
.map_articles li dl dt { font-weight: 700; font-size: 1.6rem;}
.map_articles li dl dt a { background: url(../img/map_arr01.png) left center no-repeat; padding-left: 20px;}
.map_articles li dl dd { margin-top: 10px; line-height: 2; font-size: 1.4rem;}


/*** target HTML; /shibusawa/building.html
-------------------------------------------------------*/
.col_detailimg330 { display: flex; justify-content: space-between;}
.col_detailimg330 > .col_detail_txt { width: 550px;}
.col_detailimg330 > .col_detail_img330 { width: 330px;}
.col_detailimg330 > .col_detail_img330 img { margin-bottom: 5px;}
.col_detailimg330 > .col_detail_img330 span { font-size: 1.2rem; margin-bottom: 10px;}
.col_detailimg330 > .col_detail_img330 > * {display: block; text-align: left; line-height: 1.4;}

.mT30 { margin-top: 30px;}
.mT40 { margin-top: 40px;}
.win700 { max-width: 700px; margin: 40px auto 0 auto;}

.bnk_h3_style01 { display: flex; height: 50px; align-items: center; justify-content: center; background: #6c552f; margin: 60px 0 30px 0;}
.bnk_h3_style01 span img { height: 24px;}

.bld_box_architect { display: flex; justify-content: space-between; background:#fff; padding: 20px; margin-top: 30px;}
.bld_box_architect dt > span { display: table-cell; background: #9f9078; color: #fff; height: 30px; vertical-align: middle; width: 130px; text-align: center;}
.bld_box_architect dt > img { margin-top: 10px;}
.bld_box_architect dt { width:130px;}
.bld_box_architect dd { width: calc(100% - 140px);}


@media screen and (max-width: 767px){
body.shibusawa main { padding-top: 50px;}
.bnk_links { display: none;}
.bnk_links_sp { display: block; margin-bottom: 30px;}
.bnk_links_sp li { display: block; width: 100%; height: 60px; line-height: 60px; background: rgba(60, 46, 22, 0.7); text-align: center; color: #fff;margin-bottom: 15px; border-radius: 5px;}
.bnk_links_sp li a { display: block; width: 100%; height: 60px; line-height: 60px; background: rgba(60, 46, 22, 1); text-align: center; color: #fff; border-radius: 5px;}
.map_articles,
.col_detailimg330,
.bnk_box li span.bnk_box_td  { display: block;}
.map_articles li,
.col_detailimg330 > .col_detail_txt,
.col_detailimg330 > .col_detail_img330 { width: 100%; margin: 0 0 15px 0;}
.mT30 { margin-top: 15px;}
.mT40 { margin-top: 20px;}
}

/* スペシャルコンテンツリニューアル 240909 */
body.shibusawa main {padding-top: 70px;}
.shibusawa section.top {padding-top: 20px; max-width: 1366px; margin: auto;}
.shibusawa a:hover {opacity:0.8;}
h1 {margin-bottom: 10px;}
.shibusawa .anchor_lnk_area {max-width: 1315px; width: 100%; display: flex; margin: 0 auto 105px;}
.shibusawa .anchor_lnk_area div {margin-right:6px;}
.shibusawa .anchor_lnk_area div:last-child {margin-right:unset;}

.shibusawa .lead p {font-size: 16px; line-height: 2.0;}
.shibusawa .philosophy {max-width: 900px; width: 100%; display:flex; justify-content: space-between; margin: auto;}
.shibusawa .philosophy .text {width: 510px; margin-right: 45px;}
.shibusawa .ttl_text {font-size: 18px; font-family: 'Noto Serif JP', serif; color: #191E5F;}
.shibusawa .ttl_text.large {font-size: 28px; font-weight: bold; margin-bottom: 40px;}
.shibusawa .ttl_text.small_t {font-weight: bold; margin-bottom: 20px; width: 900px; margin: 20px auto 10px;}
.shibusawa .ttl_text.small_o {font-weight: bold; margin-bottom: 20px; width: 900px; margin: 65px auto 10px;}
.shibusawa .philosophy .text .ttl {font-size: 28px; font-weight: bold; margin-bottom: 40px;}
.shibusawa .philosophy .text .lead p {margin-bottom: 35px;}
.shibusawa .philosophy .text .lead p:last-child {margin-bottom: 0;}
.shibusawa .philosophy .photo {margin-top: 10px;}
/* 肖像右からフェードイン */
.shibusawa .fadeInRight {
    opacity: 0;
    transform: translateX(100px);
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
/* フェードインアニメーション */
@keyframes fadeIn {
    0% {
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}

.shibusawa section.blandMovie {margin: auto auto 0; max-width:900px; width: 100%; padding-bottom: 0; padding-top: 100px;}
.shibusawa section.installationLocation {margin: auto auto 0; padding-top: 100px; padding-bottom: 0;}
.shibusawa section.project {margin: auto auto 0; max-width:900px; width: 100%; padding-top: 100px; padding-bottom: 0;}
.shibusawa section.projectCompany {margin: auto auto 0; width: 100%; padding-top: 100px; padding-bottom: 0; padding-left: 5px; padding-right: 5px;}
.shibusawa section.goods {padding-bottom: 85px; padding-top: 100px;}
.shibusawa section.goods img {width: 100%;}
.shibusawa .blandMovie .lead {margin-top: 30px; text-align: center;}
.blandMovie .movie_top {margin-top: 40px;}
.movie:first-of-type {margin-right: 45px;}
.blandMovie .profile {margin:50px calc(50% - 50vw) 0; width: 100vw; background-color: #191e5f; padding-top: 50px;}
.blandMovie .profile .name {max-width: 900px; width: 100%; margin: 0 auto 15px;}
.blandMovie .profile .name img {width: 167px; height: 35px;}
.blandMovie .profile .ni_profile {max-width: 900px; width: 100%; display:flex; justify-content: space-between; margin: auto;}
.blandMovie .profile .ni_profile .photo {width: 254px; margin-right: 52px; margin-top: 10px;}
.blandMovie .profile .ni_profile .text p {color: #fff; font-size: 16px; line-height: 2.0; text-align: left; margin-bottom: 35px;}
.blandMovie .profile .ni_profile .text p:first-child {margin-bottom: 0;}
section.scene {margin: auto; max-width:900px; width: 100%; padding-top: 50px; padding-bottom: 25px;}
.top .anchor_lnk_area img {width: 215px; height: 90px;}
.blandMovie .profile .ni_profile .photo img {width: 254px; height: 374px;}
.scene .ttl img {width: 112px; height: 34px;}
.installationLocation .ttl img {width: 528px; height: 33px;}
.projectCompany .ttl img {width: 327px; height: 33px;}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: 255px;
  margin-right: 20px;
}
.scroll-infinity__item01 {
  width: 179px;
  margin-right: 25px;
}
.scroll-infinity__item>img {
  width: 100%;
}
.scroll-infinity__item01>img {
  width: 100%;
}

@keyframes infinity-scroll-left01 {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__list--left01 {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

@keyframes infinity-scroll-right {
from {
  transform: translateX(-83%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 80s infinite linear 0.5s both;
}


.shibusawa .project .text p,.shibusawa .goods .text p {font-size: 16px; line-height: 2.0; margin-bottom: 35px;}
.shibusawa .project .text p:last-child {margin-bottom: 0;}

.shibusawa .projectCompany .project {margin-top: 20px;}
.shibusawa .projectCompany .project .step {display: flex; justify-content: space-between; flex-wrap: nowrap;}
.shibusawa .projectCompany .project .photo {text-align: center;}
.shibusawa .projectCompany .project .ttl_text {font-weight: bold; margin-bottom: 10px;}
.shibusawa .projectCompany .project .company:not(:last-child) {margin-right: 0.5%;}


.shibusawa .goods .photo01 {display: flex; justify-content: space-between; margin-top: 40px; margin-bottom: 40px;}
.shibusawa .goods .photo01 div:not(:last-child) {margin-right: 30px;}
.shibusawa .goods .photo02,.shibusawa .goods .photo03 {display: flex; flex-wrap: wrap; justify-content: space-evenly; border: 2px solid; padding: 30px 0;}
.shibusawa .goods .photo02 div:not(:nth-child(4)),.shibusawa .goods .photo02 div:not(:last-child) {margin-right: 10px;}
.shibusawa .goods .text a.lnk {color:#191E5F; text-decoration: underline;}
.shibusawa .goods .photo03 div:not(:nth-child(3)),.shibusawa .goods .photo03 div:not(:last-child) {margin-right: 15px;}
.shibusawa .goods .photo03 div:nth-child(4) {margin-left: 100px;}
.shibusawa .goods .photo03 div:last-child {margin-right: 100px;}
.shibusawa .goods .photo04 {display: flex; justify-content: space-between; margin-top: 40px; margin-bottom: 40px;}
.shibusawa .goods .photo04 div:not(:last-child) {margin-right: 30px; margin-bottom: 30px;}
.shibusawa .goods .photo div {margin-bottom: 3px;}
.shibusawa .notice {margin-top:85px;}
.shibusawa .notice img {width: 100%;}

@media screen and (max-width: 1321px){
.top .anchor_lnk_area img {width: calc(215vw / 13.21); height: calc(90vw / 13.21);}
	}

@media screen and (max-width: 920px){
.shibusawa .ttl_text {font-size: calc(18vw / 9.2);}
	}


/* ポップアップ */
#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
  width: 90vw;
  max-width: 560px;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
}
span.darci {
    content: '';
    /* position: absolute; */
    /* bottom: 268px; */
    display: inline-block;
    width: 40px;
    height: 2px;
    background-color: #191E5F;
    right: 32.8%;
    vertical-align: middle;
    margin-left: 5px;
}

@media screen and (max-width: 1473px) and (min-width: 1230px) {
.shibusawa section.top {padding-top: 0px;}
    }

@media screen and (max-width: 1229px) {
body.shibusawa main {padding-top: 50px;}
.shibusawa section.top {padding-top: 0;}
    }

@media screen and (max-width: 767px) {
.top h1 {margin-bottom: 40px; padding-top: 40px;}
}

@media screen and (max-width: 767px){
.shibusawa .projectCompany .project .step {display: block;}
section {padding-right: 4.3%; padding-left: 4.3%;}
.shibusawa main {
    padding-top: 50px;
}
.shibusawa .anchor_lnk_area {
    flex-wrap: wrap;
    margin: auto 4%
}
.shibusawa .anchor_lnk_area > div {

}
.top .anchor_lnk_area img {width: calc(340vw / 7.67); height: calc(142vw / 7.67);}
.shibusawa .anchor_lnk_area {flex-wrap: wrap; justify-content: space-between; margin: auto;}
.shibusawa .philosophy {display: block; margin-top: 50px;}
.shibusawa .philosophy .text {width: 100%; margin: auto;}
.philosophy .photo img {padding-right: 11.4%; padding-left: 11.4%;}
.shibusawa section.top {margin-top: -40px;}
.shibusawa .anchor_lnk_area div { margin-right: unset;}
.movie .movie_ttl {text-align: left;}
.shibusawa .ttl_text.large {margin-bottom: 20px; font-size: 24px;}
.shibusawa .philosophy .photo {margin-top: 15px;}
.shibusawa .blandMovie .lead {margin-top: 20px;}
.blandMovie .profile .name {padding-left: 4.3%;}
.blandMovie .profile .ni_profile {display: block;}
.blandMovie .profile .ni_profile .photo {margin: auto;}
.profile .text {padding-right: 4.3%; padding-left: 4.3%;}
.blandMovie .profile .ni_profile .text {padding-bottom: 75px;}
.shibusawa section.project {padding-top: 60px;}
.shibusawa section.installationLocation {padding-left: unset; padding-right: unset;}
.shibusawa .installationLocation .ttl,.shibusawa .installationLocation .ttl_text {padding-left: 4.3%;}
.shibusawa .installationLocation .ttl sp.img {width: unset; height: unset;}
.shibusawa .ttl_text.small_t {font-size: 18px;}
.shibusawa .ttl_text.small_o {margin-top: 55px;}
.shibusawa section.projectCompany {padding-top: 55px; padding-left: 4.3%; padding-right: 4.3%;}
.shibusawa .projectCompany .project {display: block;}
.shibusawa .projectCompany .project .company img {width: 100%; height: 100%;}
.shibusawa .projectCompany .project .company {margin-bottom: 15px; width: 100%;}
.shibusawa .projectCompany .project .company.vertically {width: 56.42%; margin-left: auto; margin-right: auto;}
.shibusawa .goods .photo01 {flex-wrap: wrap; margin-bottom: -10px; justify-content: space-around;}
.shibusawa .goods .photo01 div:not(:last-child) {margin-right: 10px;}
.shibusawa .goods .photo01 div:last-child {margin-bottom: 0;}
.shibusawa .goods .photo04 {justify-content: space-around; flex-wrap: wrap; margin-right: auto;}
.shibusawa .goods .photo04 div:not(:last-child) {margin-right: 0; margin-bottom: 10px;}


.shibusawa section.goods img {max-width: 156px;}
.shibusawa section.goods h2 img {max-width: 156px;}
.shibusawa section.goods .photo04 img {max-width: 167px;}
.shibusawa .goods .photo02 div:not(:nth-child(4)), .shibusawa .goods .photo02 div:not(:last-child) {margin-right: unset;}
.shibusawa .goods .photo03 div:not(:nth-child(3)), .shibusawa .goods .photo03 div:not(:last-child) {margin-right: unset;}
.shibusawa .goods .photo02 div:nth-child(odd), .shibusawa .goods .photo03 div:nth-child(odd) {margin-right: unset;}
.shibusawa .goods .photo02 + div {margin-top: 30px;}
.shibusawa .goods .photo02 + div + div {margin-top: 30px;}
.shibusawa .goods .photo03 div:nth-child(4) {margin-left: unset;}
.shibusawa section.goods .notice {margin-top: 50px;}
.shibusawa section.goods .notice img { max-width: 100%;}
.shibusawa section.goods {padding-bottom: 37px;}
.blandMovie .profile .ni_profile .text p:first-child {margin-top: 30px;}
.shibusawa .philosophy .text .lead p {font-size: 14px;}
.blandMovie .profile .ni_profile .text p {font-size: 14px;}
.shibusawa .project .text p, .shibusawa .goods .text p {font-size: 14px;}
.shibusawa .ttl_text {font-size: 16px;}
.shibusawa section.goods h2 {margin-bottom: 10px;}
.shibusawa section.goods h2 img {max-width: unset;}
.shibusawa section.goods div:first-of-type {margin-bottom: 10px;}
.installationLocation .ttl img {width: 294px; height: 55px;}
.shibusawa section.goods .photo01 + div p {margin-top: 30px;}


	}
  /* splider */
  .installationLocation .splide_page{
    position: relative;
    width: 1632px;
    margin: 0 auto;
  }
  .installationLocation .splide__sr{
    display: none;
  }
  .installationLocation .splide_page .splide__track{
    width: 100%;
    height: 238px;
    position: relative;
  }
  .installationLocation .splide_page .splide__list{
    display: flex;
    justify-content: center;
    width: max-content;
    padding: 0;
    margin: 0;
    height: 100%;
  }
  .installationLocation .splide_page .splide__slide{
    width: 179px;
    cursor: pointer;
  }
  .installationLocation .splide_page .splide__slide > img{
    width: 100%;
    height: 100%;
  }
  /* splider modal */
  #mainModal .splide_modal{
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  #mainModal .splide_modal .splide__track{
    position: relative;
    overflow: hidden;
    max-width: 500px;
    max-height: 375px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  #mainModal .seiwabuilding .splide_modal .splide__track {
    max-height: 569px;
  }
  #mainModal .splide_modal .splide__list{
    display: flex;
    justify-content: center;
    width: max-content;
    padding: 0;
    margin: 0;
  }
  #mainModal .splide_modal .splide__slide{
    max-width: 500px ;
    width: 100%;

  }
  #mainModal .splide_modal .splide__slide > img{
    width: 100%;
  }
  #mainModal .splide_modal .splide__slide.t05 > img.under.pc {
    width: 65.9%;
    margin: 27px 0 0 77px;
  }
  #mainModal .splide_modal .splide__slide.t06 > img.under.pc {
    width: 73.3%;
    margin: 27px 0 0 77px;
  }
  #mainModal #openModal5 .text_bottom {
    margin-top: 28px;
  }
  /* content modal */
  #mainModal .splide_modal .splide__list{
    list-style: none;
  }
  #mainModal .splide_modal .splide__arrows {
    display: flex;
    justify-content: space-between;
    position: absolute;
    max-width: 620px;
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 9;
  }
  #mainModal .seiwabuilding .splide_modal .splide__arrows{
    top: 33.1%;
  }
  #mainModal .splide_modal .splide__arrow{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #mainModal .splide_modal .splide__arrow--next{
    transform: scale(-1);
  }
  #mainModal .title_h2{
    font-weight: bold;
    font-size: 24px;
    line-height: calc(32/24);
    color: #191E5F;
    position: relative;
    font-family: 'Noto Serif JP', serif;
    padding-bottom: 29px;
    letter-spacing: 0.04em;
    margin-bottom: 42px;
    text-align: left;
  }
  #mainModal .title_h2::after{
    content:"";
    position: absolute;
    width: 70px;
    height: 2px;
    background-color: #191E5F;
    bottom: 0;
    left: 0;
  }
  #mainModal .text{
    max-width: 440px;
    width: 100%;
    margin: 26px auto 28px;
    padding-left: 47px;
  }
  #mainModal .title_h3{
    font-size: 20px;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
    color: #191E5F;
    position: relative;
    max-width: max-content;
    width: 100%;
    padding-right: 60px;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
  }
  #mainModal .title_h3::after{
    content:"";
    position: absolute;
    width: 50px;
    height: 1px;
    background-color: #191E5F;
    bottom: 14px;
    right: 3px;

  }
  #mainModal .txt{
    font-size: 24px ;
    font-weight: bold;
    line-height: calc(40/24);
    color: #1D1D1D;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.03em;
  }
  #mainModal .text_bottom{
    max-width: 500px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #191E5F ;
    padding-top: 20px;
  }
  #mainModal #openModal6 .seiwabuilding .text_bottom{
    margin-top: 22px;
  }
  #mainModal .text_bottom .txt{
    font-size: 16px;
    font-weight: 500;
    line-height: calc(24/16);
    color: #1D1D1D;
    padding-left: 8px;
    padding-bottom: 7px;
    letter-spacing: 0.01em;
    font-family: 'Noto Sans JP', sans-serif;
  }
  #mainModal .btn_map{
    font-size: 18px ;
    font-weight: bold;
    color: #fff;
    background-color: #191E5F;
    border-radius: 21px;
    padding: 6px 34px 9px ;
    font-family: 'Noto Sans JP', sans-serif;
    transition: opacity 0.3s ease;
  }
  #mainModal .btn_map:hover{
    color:#fff
  }
  @media (max-width:767px){
     /* splider modal */
    #mainModal #openModal5 .seiwabuilding .text_bottom{
      margin-top: 22px;
    }
    #mainModal .splide_modal .splide__slide .under.sp {
      margin-top: 25px;
    }
　　　　#mainModal .seiwabuilding .splide_modal .splide__arrows {
      top: ;
    }
    #mainModal .splide_modal .splide__slide.t05, #mainModal .splide_modal .splide__slide.t06 {
      
      
    }
    #mainModal .splide_modal .splide__slide.t05 > img.under.sp {
      width: 90%;
      margin: 23px 0 0 0;
    }
    #mainModal .splide_modal .splide__slide.t06 > img.under.sp {
      width: 91%;
      margin: 23px 0 0 0;
    }
     #mainModal .splide_modal .splide__track{
      position: relative;
      overflow: hidden;
      max-width: 300px;
      max-height: 224px;
      width: 100%;
      height: 100%;
      margin: 0 auto;
    }

    #mainModal .splide_modal .splide__slide{
      max-width: 300px ;
      width: 100%;
    }

    #mainModal .splide_modal .splide__arrows {
      max-width: 330px;
    }
    #mainModal .splide_modal .splide__arrow{
      width: 27px;
      height: 27px;
    }
    #mainModal .splide_modal .splide__arrow.splide__arrow--prev{
      margin-left: -8px;
    }
    #mainModal .splide_modal .splide__arrow.splide__arrow--next{
      margin-right: -8px;
    }
    #mainModal .modal__content{
      max-width: 500px;
      width: 100%;
      margin: 0 auto;
    }
    #mainModal .title_h2{
      font-size: 20px;
      line-height: calc(32/20);
      padding-bottom: 20px;
      letter-spacing: 0.04em;
      margin-bottom: 20px;
    }
    #mainModal .title_h2::after{
      width: 50px;
      height: 2px;
    }
    #mainModal .text{
      max-width: 100%;
      margin:25px auto 21px;
      padding-left: 0;
    }
    #mainModal .title_h3{
      font-size: 18px;
      width: 100%;
      padding-right: 60px;
      letter-spacing: 0.05em;
      margin-bottom: 13px;
    }
    #mainModal .title_h3::after{
      width: 40px;
      height: 1px;
      bottom: 10px;
      right: 14px;
    }
    #mainModal .txt{
      font-size: 18px ;
      font-weight: bold;
      line-height: calc(40/24);
      color: #1D1D1D;
      font-family: 'Noto Serif JP', serif;
      letter-spacing: 0.03em;
    }
    #mainModal .text_bottom{
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      border-top: 1px solid #191E5F ;
      padding-top: 20px;
    }
    #mainModal .text_bottom .txt{
      font-size: 14px;
      font-weight: 500;
      line-height: calc(24/14);
      padding-left: 8px;
      padding-bottom: 7px;
    }
    #mainModal .btn_wrap{
      width: 100%;
      display: flex;
      justify-content: center;
      margin-top: 16px;
    }
    #mainModal .btn_map{
      font-size: 18px ;
      border-radius: 21px;
      padding: 6px 34px 9px ;
    }
    #mainModal .btn_map:hover{
      color:#fff
    }
  }
  @media (max-width:374px){
    #mainModal .splide_modal .splide__slide,#mainModal  .splide_modal .splide__track{
      max-width: 80vw;
    }
  }
  /* modal */
  #mainModal .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #mainModal .modal__layout {
    background-color: #fff;
    overflow: hidden;
    box-shadow: 0px -1px 9px 0px rgba(78,78,78,0.39);
    -webkit-box-shadow: 0px -1px 9px 0px rgba(78,78,78,0.39);
    -moz-box-shadow: 0px -1px 9px 0px rgba(78,78,78,0.39);
    max-height: 80vh;
    border-radius: 19px;
    padding: 20px 20px 44px ;
    margin: 0 20px;
    max-width: 900px;
    width: 100%;
    height: 100%;
  }
  #mainModal .modal__container {
    padding: 30px 40px 60px;
    width: 100%;
    max-height: 76vh;
    overflow-y: auto;
    box-sizing: border-box;
    overflow-x: hidden;
    position: relative;

  }
  #mainModal .modal__box {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    transition-delay: 0.2s;

  }

  #mainModal .modal__box[style*="block"] {
    display: block;
    opacity: 1;
  }


  #mainModal .modal__close {
    background: transparent;
    border: 0;
    position: absolute;
    top: -2px;
    right: 19px;
    padding: 0 10px;
    z-index: 99;
    line-height: 1;
  }

  #mainModal .modal__close:before {
    content: "\2715";
    color: #191E5F;
    font-size: 45px;
    font-weight: bold;
    pointer-events: none;
  }

  #mainModal .modal__content {
    line-height: 1.5;
  }

  @keyframes mmfadeIn {
      from { opacity: 0; }
        to { opacity: 1; }
  }

  @keyframes mmfadeOut {
      from { opacity: 1; }
        to { opacity: 0; }
  }

  @keyframes mmslideIn {
    from { transform: translateY(15%); }
      to { transform: translateY(0); }
  }

  @keyframes mmslideOut {
      from { transform: translateY(0); }
      to { transform: translateY(-10%); }
  }

  .micromodal-slide {
    display: none;
    position: relative;
    z-index: 1;
  }

  .micromodal-slide.is-open {
    display: block;
  }

  .micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
  }

  .micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
  }

  .micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
  }

  .micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
  }

  .micromodal-slide .modal__container,
  .micromodal-slide .modal__overlay {
    will-change: transform;
  }
  @media (max-width:767px){
    #mainModal .modal__layout {
      margin: 0 15px;
      padding: 0;
    }
    #mainModal .modal__container {
      padding: 25px 12px 15px;
      max-width: 768px;
    }
    #mainModal .modal__close {
      background: transparent;
      border: 0;
      position: absolute;
      top: -3px;
      right: 7px;
      padding: 0 10px;
    }

    #mainModal .modal__close:before {
      font-size: 30px;
    }
  }

    #mainModal .splide_modal.arrows_none .splide__arrows {
         display: none;
    }

    .shibusawa .project .text p span {
        font-weight: bold;
    }
    .text.center {
        text-align: center;
    }

section.word {margin:120px calc(50% - 50vw) 0; width: 100vw; background-color: #191e5f; padding-top: 100px; padding-bottom: 100px; color: #fff;}
section.word h2 {margin-bottom: 35px;}
section.word .word_photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100vw;
    margin: auto calc(50% - 50vw);
    padding-left: 15px;
    padding-right: 17px;
}
section.word .word_photo div {
    width: calc((100% - 5vw) / 3);
    margin-bottom: 1.7vw;
}
section.word .word_photo div:nth-last-child(-n+3) {
    margin-bottom: 0;
}
section.word {color: #fff; font-size: 16px; line-height: 2.0; text-align: left; margin-bottom: 10px;}
section.word .text p {color: #fff; font-size: 16px; line-height: 2.0; text-align: left; margin-bottom: 10px;}
section.word .text p.quotation {font-size: 14px; line-height: 1.8; margin-bottom: 50px;}
section.word .text p.quotation span,
section.word .text p.bluelightup_ttl span {border-left: 3px solid #fff; padding-left: 0.6em; font-size: 1.4em;}

section.bluelightup .bluelightup_gallery {margin: auto 60px;}
section.bluelightup .gallery_photo {margin-bottom: 20px;}
section.bluelightup .gallery.ttl {font-size: 1.5em; margin-bottom: 1.1rem;}
section.bluelightup .photo {display: flex; justify-content: space-between;}
section.bluelightup .photo div {margin: auto;}
section.bluelightup .photo .photo01 {margin-right: 15px;}
section.bluelightup .photo .photo01.cen {text-align: center; margin-right: 25.5%; margin-left: 25.5%;}
section.bluelightup .photo img {max-width: 400px; max-height: 300px; width: 100%; height: auto;}


section.word .word_collection {margin-top: 70px; text-align: center;}
section.word .word_collection .ttl p {font-size: 28px; font-family: 'Noto Serif JP', serif; }
section.word .word_collection .word_collection_img {margin-top: 70px;}
section.word .word_collection .word_collection_img img {box-shadow: 0 0 12px 0 rgba(255, 255, 255, 0.5);}

section.conversation_lnk {margin:0 calc(50% - 50vw); width: 100vw; background-color: #191e5f; padding-top: 90px; padding-bottom: 90px; color: #fff;}

section.conversation_lnk .ttl p {font-size: 28px; font-family: 'Noto Serif JP', serif; margin-bottom: 30px;}
section.conversation_lnk .name p {font-size: 16px; line-height: 2.0; margin-bottom: 45px;}
section.conversation_lnk .button {border: 1px solid #fff; padding: 13px 140px; color: #fff}
section.conversation_lnk > div {display: flex; justify-content: space-between;}
section.conversation_lnk .left {width: 50%;}
#shibusawa_modal {padding: 0;}
body.shibusawa main {padding-bottom: 0;}

@media screen and (max-width: 940px){
section.word {padding-left: 15px; padding-right: 15px;}
	}
@media screen and (max-width: 900px){
section.conversation_lnk .right img {width: calc(420vw / 9); height: calc(289vw / 9);}
section.conversation_lnk > div:first-of-type {padding: 10px;}
section.conversation_lnk .button {padding: 13px 15.55vw;}
	}

@media screen and (max-width: 767px){
section.word {margin-top: 60px; padding-top: 50px; padding-bottom: 55px;}
section.word h2 {margin-bottom: 10px;}
section.word .word_photo {display: block;}
section.word .word_photo div {width: 75%; margin-right: auto; margin-left: auto; margin-bottom: 1.8vw}
section.word .word_photo div:nth-last-child(-n+3) {margin-bottom: 1.8vw;}
section.word .word_photo div:last-child {margin-bottom: 0;}
section.word .text p.quotation {margin-bottom: 35px;}
section.word .word_collection {margin-top: 25px;}
section.word .word_collection .sp {width: 100%;}
section.word .word_collection .ttl {margin-bottom: 20px;}
section.word .word_collection .lead {margin-bottom: 40px;}
section.word .word_collection .lead p {font-size: 14px;}
section.word .word_collection .word_box {padding: 25px 0; border-top: 1px solid #2F3692;}
section.word .word_collection .word_box:last-child {border-bottom: 1px solid #2F3692;}
section.word .word_collection .word_box p {font-size: 16px; text-align: left; font-family: 'Noto Serif JP', serif;}

section.bluelightup .bluelightup_gallery {margin: auto;}
section.bluelightup .gallery.ttl {font-size: 1.5em; line-height: 1.5;}

section.conversation_lnk {padding-top: 50px; padding-bottom: 60px;}
section.conversation_lnk > div {flex-direction: column-reverse;}
section.conversation_lnk > div:first-of-type {padding: 0;}
section.conversation_lnk .right img {width: 100%; height: 100%;}
section.conversation_lnk .left,section.conversation_lnk .right {width: 100%;}
section.conversation_lnk .ttl p {font-size: 24px; margin-bottom: 10px;}
section.conversation_lnk .left {margin-top: 10px;}
section.conversation_lnk .name p {font-size: 16px; margin-bottom: 27px;}
section.conversation_lnk .button {display: block; text-align: center;}
	}


/* 対談ページ conversation */
body.shibusawa .conversation {background-color: #FBF9F5; color: #191E5F; line-height: 2; padding-bottom: 60px;}

.conversation h1 {font-size: 18px; font-weight: bold; font-family: 'Noto Serif JP', serif; margin-bottom: unset;}
.conversation h1 span.symbol {font-size: 16px;}
.conversation h1 span.future {font-size: 36px; color: #fff; background-color: #191E5F; padding: 3px 12px;}
.conversation .heading {max-width: 900px; background-color: #fff; font-weight: bold; padding: 30px 138px; border-top: 1px solid; border-bottom: 1px solid; margin-bottom: 80px;}
.conversation .subject:before {content: "―――";}
.conversation .subject {font-size: 28px; font-weight: bold; font-family: 'Noto Serif JP', serif; margin-top: 65px; margin-bottom: 33px;}
.conversation .name {font-size: 20px; font-weight: bold;}
.conversation .text {font-weight: bold; margin-bottom: 35px;}
.conversation .photo {margin-top: 75px; margin-bottom: 80px; line-height: 1.6;}
.conversation .photo.mat30 {margin-top: 30px;}
.conversation .photo.mat50 {margin-top: 50px;}
.conversation .photo a {color: #191e5f; text-decoration: underline; word-break: break-all;}
.conversation .photo p {font-size: 14px; font-weight: bold;}
.conversation p.text {color: #1d1d1d;}

@media screen and (max-width: 955px){
section .conversation {padding-right: 2%; padding-left: 2%;}
	}

@media screen and (max-width: 767px){
body.shibusawa .conversation {padding-bottom: 40px;}
section {padding-right: 4.1%; padding-left: 4.1%;}
.conversation h1 {font-size: 14px; line-height: 1.5; margin-bottom: 0;}
.conversation h1 span.symbol {font-size: 12px;}
.conversation h1 span.future {font-size: 24px; line-height: 1.9; padding: 2px 7px}
.conversation .photo.mat30 {margin-top: 20px; margin-bottom: 40px;}
.conversation .photo.mat50 {margin-top: 40px; margin-bottom: 30px;}
.conversation .heading {padding: 13px 15px; margin-bottom: 0;}
.conversation .subject:before {content: "――";}
.conversation .subject {text-indent: -2.3em; padding-left: 2.3em; font-size: 20px; line-height: 1.6; margin-top: 35px;}
.conversation .subject.smat40 {margin-top: 40px;}
.conversation .text {margin-bottom: 10px;}
.conversation .photo {margin-top: 35px; margin-bottom: 35px;}
.conversation .photo a {word-break: break-all;}
	}


/* word sellection modal */
/* モーダル */
.wordmodal {
  position: fixed;
  top: 89px;
  left: 0;
  width: 100%;
  height: 85%;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  background-color: rgba(0,0,0,0.6);
  box-sizing: content-box;
}

/* モーダルがactiveの時 */
.wordmodal.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
.wordmodal .modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* モーダルのコンテンツ */
.wordmodal .modal__layout {
  padding: 20px 20px 44px;
}
.wordmodal .modal__content {
  position: relative;
  background-color: #fff;
  width: 100%;
  max-width: 900px;
  padding: 20px;
  box-shadow: 0px -1px 9px 0px rgba(78, 78, 78, 0.39);
  -webkit-box-shadow: 0px -1px 9px 0px rgba(78, 78, 78, 0.39);
  -moz-box-shadow: 0px -1px 9px 0px rgba(78, 78, 78, 0.39);
  max-height: 80vh;
  border-radius: 19px;
  padding: 20px 20px 44px;
  margin: 0 20px;
  width: 100%;
}
.wordmodal .wordmodal_scroll {
    width: 100%;
    max-height: 76vh;
    overflow-y: auto;
    box-sizing: border-box;
    overflow-x: hidden;
    position: relative;
}
/* モーダルを閉じるボタン */
  .wordmodal .modal__close-btn {
    background: transparent;
    border: 0;
    position: absolute;
    top: -2px;
    right: 19px;
    padding: 0 10px;
    z-index: 99;
    line-height: 1;
  }

  .wordmodal .modal__close-btn:before {
    content: "\2715";
    color: #191E5F;
    font-size: 45px;
    font-weight: bold;
    pointer-events: none;
  }
/* コンテンツ */
.wordmodal .swiper {
	width: 540px;
}
.wordmodal .swiper-slide {
	margin-top: 70px;
}
.wordmodal .swiper-slide .ttl {
	font-size: 22px;
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	color: #191E5F;
	border-top: 1px solid;
	border-bottom: 1px solid;
	padding: 20px 0;
	margin-bottom: 40px;
}
.wordmodal .swiper-slide .cap {
	font-size: 14px;
	margin-bottom: 30px;
}
.wordmodal .swiper-slide .heading {
	font-size: 16px;
	color: #191E5F;
	font-weight: bold;
}
.wordmodal .swiper-slide .text {
	font-weight: bold;
	line-height: 2;
}
/* Swiperの矢印部分 */
.wordmodal .splide__arrows {
    display: flex;
    justify-content: space-between;
    position: absolute;
    max-width: 750px;
    width: 100%;
    left: 50%;
    top: 360px;
    transform: translateY(-50%) translateX(-50%);
    z-index: 9;
}
.wordmodal  .splide__arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.wordmodal .splide__arrow--next {
    transform: scale(-1);
}
.wordmodal .splide__arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 1473px) and (min-width: 1230px) {
.wordmodal {top: 70px; height: 88%;}
    }

@media screen and (max-width: 1229px) {
.wordmodal {top: 50px; height: 89%;}
    }
@media (max-width: 1024px) {
  .wordmodal {
    padding: 0;
    height: 95%;
  }
}
@media (max-width: 768px) {
  .wordmodal .detail .photo.ver {
    margin: auto;
    width: 40%;
  }
  .wordmodal .detail .photo.bes {
    margin: auto;
    width: 76%;
  }
  .wordmodal .modal__content {
    width: 95%;
  }
  .wordmodal .swiper-slide {
    margin-top: 50px;
  }
  .wordmodal .swiper-slide .ttl {
    font-size: 18px;
    padding: 10px 0;
    margin-bottom: 25px;
  }
  .wordmodal .splide__arrows {
    top: calc(530vw / 7.67);
    width: 99vw;
  }
  .wordmodal .splide__arrows .splide__arrow {
    width: 25px;
    height: 25px;
  }
  .wordmodal .wordmodal_scroll {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .wordmodal .wordmodal_scroll::-webkit-scrollbar {
    display: none;
  }
  .wordmodal .swiper {
    width: auto;
  }
  .wordmodal .modal__close-btn {
    top: 8px;
    right: -1px;
  }
  .wordmodal .modal__close-btn:before {
  font-size: 30px;
  }
}




/*
@media (max-width: 768px) {
  .wordmodal .swiper-button-next,
  .wordmodal .swiper-button-prev {
    display: none;
  }
}
@media (max-width: 700px) {
  .wordmodal .swiper-button-next,
  .wordmodal .swiper-button-prev {
    display: none;
  }
  .wordmodal .swiper {
    width: 100%;
  }
}*/