@charset "UTF-8";
a:link {
  color: #0099cc;
  text-decoration: none;
}

/*==================================================
cmn
==================================================*/
html {
  overflow-y: scroll;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  color: #333333;
  font-size: 15px;
  font-size: 1.5rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  position: relative;
  margin: 0px;
  padding: 0px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

header,
nav,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd,
img,
table,
tr,
td,
th,
input,
textarea,
select,
a,
figure {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  list-style: none;
  margin: 0px;
  padding: 0px;
  font-weight: normal;
  font-size: 100%;
}

a,
input[type="submit"] {
  text-decoration: none;
  color: inherit;
  outline: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wrap {
  margin: 0 auto;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: 100%;
  max-width: 1120px;
  overflow: hidden;
}

.sp {
  display: none;
}

.mainImg {
  text-align: center;
  padding: 5%;
  width: 100%;
  height: 350px;
  display: table;
}

.mainImg h2 {
  display: table-cell;
  vertical-align: middle;
}

/*==================================================
head/foot
==================================================*/
#headDummy {
  text-align: center;
  background: url("../images/cmn/head_bg.png") repeat-x center;
  background-size: 1px 100%;
  max-height: 139px;
  height: 139px;
}

#headDummy img {
  height: 139px;
}

@media screen and (max-width: 767px) {
  #headDummy {
    height: 47px;
  }
  #headDummy img {
    height: 47px;
  }
}

#footDummy {
  text-align: center;
  background: url("../images/cmn/foot_bg.png") repeat-x center;
  background-size: 1px 100%;
}

/*==================================================
content
==================================================*/
/*カラム*/
.col2,
.col3,
.col4,
.col5 {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.colMid {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#mainArea {
  color: #000;
  word-break: break-all;
}

#mainArea p {
  line-height: 2em;
}

.sp {
  display: none;
}

/*==================================================
00_page_top
==================================================*/
/*バナーフェード========================*/
.fadeBnr.fadeBnr {
  opacity: 0;
}

.bnrList.on .fadeBnr {
  -webkit-animation-name: fadeBnrAnime;
          animation-name: fadeBnrAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeBnrAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes fadeBnrAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

.bnr2 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.bnr3 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.bnr4 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.bnr6 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.bnr5 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.bnr6 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.bnr7 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.bnr8 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.bnr9 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.bnr10 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.bnr11 {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}

.bnr12 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

/*バナー========================*/
@media only screen and (min-width: 768px) {
  #top .wrap {
    padding: 0 60px;
  }
  #top .swiper-outer,
  #top .swiper,
  #top .swiper-wrapper {
    display: contents;
  }
  #top .titleBg {
    display: none;
  }
  #top .bnrList {
    width: calc(740 / 1080 * 100vw);
    max-width: 740px;
    margin: 0 auto;
    display: -ms-grid;
    display: grid;
    grid-auto-flow: dense;
    -ms-grid-columns: (min-content)[20];
        grid-template-columns: repeat(20, -webkit-min-content);
        grid-template-columns: repeat(20, min-content);
    gap: min(calc(30 / 1080 * 100vw), 30px);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-content: space-between;
        -ms-flex-line-pack: justify;
            align-content: space-between;
  }
  #top .bnrList img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  #top .bnrList .bnr1 {
    width: calc(740 / 1080 * 100vw);
    max-width: 740px;
    height: calc(460 / 1080 * 100vw);
    max-height: 460px;
    background: url("../images/top/bnr/2x/bnr1_over@2x.png") no-repeat center top;
    background-size: cover;
    grid-column: 1 / -1;
  }
  #top .bnrList .bnr1 .n-btn {
    display: none;
  }
  #top .bnrList .bnr2 {
    width: calc(355 / 1080 * 100vw);
    max-width: 355px;
    height: calc(183 / 1080 * 100vw);
    max-height: 183px;
    background: url("../images/top/bnr/2x/bnr2_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 11;
    -ms-grid-column-span: 10;
    grid-column: 11 / span 10;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2 / span 1;
  }
  #top .bnrList .bnr3 {
    width: calc(355 / 1080 * 100vw);
    max-width: 355px;
    height: calc(395 / 1080 * 100vw);
    max-height: 395px;
    background: url("../images/top/bnr/2x/bnr3_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 1;
    -ms-grid-column-span: 10;
    grid-column: 1 / span 10;
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    grid-row: 2 / span 2;
  }
  #top .bnrList .bnr4 {
    width: calc(162.5 / 1080 * 100vw);
    max-width: 162.5px;
    height: calc(183 / 1080 * 100vw);
    max-height: 183px;
    background: url("../images/top/bnr/2x/bnr4_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 11;
    -ms-grid-column-span: 5;
    grid-column: 11 / span 5;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3 / span 1;
  }
  #top .bnrList .bnr5 {
    width: calc(162.5 / 1080 * 100vw);
    max-width: 162.5px;
    height: calc(183 / 1080 * 100vw);
    max-height: 183px;
    background: url("../images/top/bnr/2x/bnr5_over@2x.png") no-repeat center top;
    background-size: cover;
    grid-column: 16 / -1;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3 / span 1;
  }
  #top .bnrList .bnr6 {
    width: calc(124 / 1080 * 100vw);
    max-width: 124px;
    height: calc(145 / 1080 * 100vw);
    max-height: 145px;
    background: url("../images/top/bnr/2x/bnr6_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    grid-column: 1 / span 4;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4 / span 1;
  }
  #top .bnrList .bnr7 {
    width: calc(124 / 1080 * 100vw);
    max-width: 124px;
    height: calc(145 / 1080 * 100vw);
    max-height: 145px;
    background: url("../images/top/bnr/2x/bnr7_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 5;
    -ms-grid-column-span: 4;
    grid-column: 5 / span 4;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4 / span 1;
  }
  #top .bnrList .bnr8 {
    width: calc(124 / 1080 * 100vw);
    max-width: 124px;
    height: calc(145 / 1080 * 100vw);
    max-height: 145px;
    background: url("../images/top/bnr/2x/bnr8_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 9;
    -ms-grid-column-span: 4;
    grid-column: 9 / span 4;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4 / span 1;
  }
  #top .bnrList .bnr9 {
    width: calc(124 / 1080 * 100vw);
    max-width: 124px;
    height: calc(145 / 1080 * 100vw);
    max-height: 145px;
    background: url("../images/top/bnr/2x/bnr9_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 13;
    -ms-grid-column-span: 4;
    grid-column: 13 / span 4;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4 / span 1;
  }
  #top .bnrList .bnr10 {
    width: calc(124 / 1080 * 100vw);
    max-width: 124px;
    height: calc(145 / 1080 * 100vw);
    max-height: 145px;
    background: url("../images/top/bnr/2x/bnr10_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 17;
    -ms-grid-column-span: 4;
    grid-column: 17 / span 4;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4 / span 1;
  }
  #top .bnrList .bnr11 {
    width: calc(355 / 1080 * 100vw);
    max-width: 355px;
    height: calc(184 / 1080 * 100vw);
    max-height: 184px;
    background: url("../images/top/bnr/2x/bnr11_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 1;
    -ms-grid-column-span: 10;
    grid-column: 1 / span 10;
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5 / span 1;
  }
  #top .bnrList .bnr12 {
    width: calc(355 / 1080 * 100vw);
    max-width: 355px;
    height: calc(184 / 1080 * 100vw);
    max-height: 184px;
    background: url("../images/top/bnr/2x/bnr12_over@2x.png") no-repeat center top;
    background-size: cover;
    -ms-grid-column: 11;
    -ms-grid-column-span: 10;
    grid-column: 11 / span 10;
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5 / span 1;
  }
  #top .phaseFree {
    margin-top: min(calc(50 / 1080 * 100vw), 50px);
    width: calc(740 / 1080 * 100vw);
    max-width: 740px;
    height: calc(139 / 1080 * 100vw);
    max-height: 139px;
    margin-right: auto;
    margin-left: auto;
  }
  #top .phaseFree img {
    width: 100%;
    height: 100%;
    display: block;
  }
}

/*コンテンツ========================*/
.aboutTit {
  vertical-align: middle;
  padding: 3% 0;
  /*  padding: 140px 0 5%;*/
  letter-spacing: -0.4em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.aboutTit-btns {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3%;
}

.aboutTit h1 {
  margin-right: 5%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.aboutTit h1,
.aboutTit p {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: normal;
}

.aboutTit p a.about-link {
  background: url("../images/cmn/about_btn_over.png") no-repeat left center;
  background-size: contain;
  display: block;
  line-height: 0;
}

.aboutTit p a.torikumi-link {
  background: url("../images/cmn/torikumi_btn_over.png") no-repeat left center;
  background-size: contain;
  display: block;
  line-height: 0;
}

@media (hover: hover) {
  a:hover img.rollover {
    opacity: 0;
  }
  a:hover img.hv {
    opacity: 0;
  }
}

/*==================================================
01_page_fhasefree_dounyu
==================================================*/
#fhasefreeDounyu {
  position: fixed;
  top: 139px;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 0;
  z-index: 5000;
  background: #fffef7;
  background: url("../images/fhasefree_dounyu/bg01.png"), url("../images/fhasefree_dounyu/bg02.png"), url("../images/fhasefree_dounyu/bg03.png"), url("../images/fhasefree_dounyu/bg04.png");
  background-color: #fffef7;
  background-repeat: no-repeat;
  background-position: top left, top right, bottom left, bottom right;
  background-size: 35% auto;
  text-align: center;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
  color: #000;
}

#fhasefreeDounyu.open {
  opacity: 1;
  visibility: visible;
  z-index: 11;
}

#fhasefreeDounyu .close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  line-height: 46px;
  vertical-align: middle;
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  cursor: pointer;
}

#fhasefreeDounyu .modalWrap {
  width: 100%;
  height: 100%;
  text-align: center;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
  white-space: nowrap;
  overflow-x: hidden;
}

#fhasefreeDounyu .modalWrap:after {
  vertical-align: middle;
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#fhasefreeDounyu .modalInner {
  vertical-align: middle;
  display: inline-block;
  overflow: hidden;
  max-width: 1120px;
  width: 100%;
  white-space: normal;
  padding: 5% 5% 15% 5%;
}

#fhasefreeDounyu h2 {
  margin-bottom: 3em;
}

#fhasefreeDounyu h3 {
  margin-bottom: 3em;
}

#fhasefreeDounyu p {
  font-size: 1.2rem;
  line-height: 2em;
}

/*==================================================
01-2_page_torikumi
==================================================*/
#torikumi {
  position: fixed;
  height: calc(100vh - 139px);
  top: 139px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
  z-index: 5000;
  padding: 0;
  background: #fffef7;
  background: url("../images/fhasefree_dounyu/bg01.png"), url("../images/fhasefree_dounyu/bg02.png"), url("../images/fhasefree_dounyu/bg03.png"), url("../images/fhasefree_dounyu/bg04.png");
  background-color: #fffef7;
  background-repeat: no-repeat;
  background-position: top left, top right, bottom left, bottom right;
  background-size: 35% auto;
  text-align: center;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
  color: #000;
}

#torikumi.open {
  opacity: 1;
  visibility: visible;
}

#torikumi .close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  line-height: 46px;
  vertical-align: middle;
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  cursor: pointer;
}

#torikumi .modalWrap {
  width: 100%;
  height: 100%;
  text-align: center;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
  white-space: nowrap;
  overflow-x: hidden;
}

#torikumi .modalWrap:after {
  vertical-align: middle;
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#torikumi .modalInner {
  vertical-align: middle;
  display: inline-block;
  overflow: hidden;
  max-width: 1120px;
  width: 100%;
  white-space: normal;
  padding: 5%;
}

#torikumi h2 {
  margin-bottom: min(calc(70 / 1080 * 100vw), 70px);
}

#torikumi h2 img {
  width: calc(645 / 1080 * 100vw);
  max-width: 645px;
  height: calc(432 / 1080 * 100vw);
  max-height: 432px;
}

#torikumi .torikumi-br {
  display: block;
}

#torikumi h3 {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: min(calc(40 / 1080 * 100vw), 40px);
}

#torikumi h3.bousai-title {
  width: calc(215 / 1080 * 100vw);
  max-width: 215px;
  height: calc(42 / 1080 * 100vw);
  max-height: 42px;
}

#torikumi h3.sdgs-title {
  width: calc(193 / 1080 * 100vw);
  max-width: 193px;
  height: calc(42 / 1080 * 100vw);
  max-height: 42px;
  margin-top: min(calc(120 / 1080 * 100vw), 120px);
}

#torikumi p {
  font-size: 1.2rem;
  line-height: 2em;
}

#torikumi .torikumi-sdgs {
  width: calc(705 / 1080 * 100vw);
  max-width: 705px;
  height: calc(413 / 1080 * 100vw);
  max-height: 413px;
  margin-left: auto;
  margin-right: auto;
  margin-top: min(calc(70 / 1080 * 100vw), 70px);
  margin-bottom: min(calc(220 / 1080 * 100vw), 120px);
}

/*==================================================
02_page_bousai_note
==================================================*/
.mainImg {
  text-align: center;
  padding: 5%;
  width: 100%;
  height: 350px;
  display: table;
}

.mainImg h2 {
  display: table-cell;
  vertical-align: middle;
}

#bousaiNote .mainImg {
  background: url("../images/bousai_note/main_img_bg.png") repeat-x center;
  background-size: auto 100%;
}

.sec {
  text-align: center;
  padding: 12% 0;
}

.sec .tit01 {
  margin-bottom: 6%;
}

.sec .imgBox {
  margin-bottom: 6%;
}

.sec .txtBox p {
  font-size: 1.8rem;
  line-height: 2rem;
}

.sec .txtBox p .annotation {
  border-bottom: dashed 1px #000;
  display: inline-block;
  line-height: 1.4em;
  position: relative;
}

.sec .txtBox p .annotation sup {
  font-size: 50%;
  position: absolute;
  right: 0;
  bottom: -2.3em;
}

.sec .txtBox .note {
  display: inline-block;
  text-align: left;
  margin-top: 1.5em;
}

.sec .txtBox .note p {
  font-size: 1.2rem;
  text-indent: -1em;
  padding-left: 1em;
}

.sec .moreBox {
  text-align: left;
  display: inline-block;
  margin-top: 6%;
}

#mainArea .sec .moreBox p {
  background: #0071bc;
  color: #fff;
  padding: 0.3em 2em;
  display: inline-block;
  margin: 0 0 0 0.5em;
  font-size: 1.8rem;
  line-height: 1.6em;
}

.sec .moreBox .box {
  border: 2px solid #0071bc;
  margin: -1.3em 0 0;
  padding: 2em 2em 1em;
  display: block;
  word-break: break-all;
}

.sec .moreBox dt {
  font-size: 1.2rem;
}

.sec .moreBox dd {
  font-size: 1.8rem;
}

.sec .moreBox a {
  color: #0071bc;
}

#mainArea hr {
  height: 1px;
  border-top: 1px solid #231815;
  padding: 0;
  max-width: 663px;
  width: 100%;
  margin: 0 auto;
}

.btrListF {
  max-width: 850px;
  width: 100%;
  margin: 0 auto 6%;
}

.btrListF p {
  font-size: 1.2rem;
  margin-bottom: 1em;
}

.btrListF p a:before {
  content: url("../images/cmn/ico_home.svg");
  display: inline-block;
  margin-right: 0.5rem;
  width: 18px;
  height: 16px;
}

.btrListF p a {
  font-weight: bold;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  color: #0099cc;
  text-decoration: none;
}

.btrListF p a:hover {
  color: #ee7743;
  text-decoration: underline;
}

.btrListF ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.btrListF li {
  width: 15.3%;
}

.btrListF li a {
  display: block;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btrListF li a:hover {
  opacity: 0.5;
}

.btrListF li span {
  font-size: 1rem;
  line-height: 1.4em;
  display: block;
  margin-top: 0.8em;
  color: #0099cc;
}

.btrListF li a:hover span {
  text-decoration: underline;
}

/*==================================================
02_page_bousai_note02 step02
==================================================*/
#bousaiNote02 .mainImg {
  background: url("../images/bousai_note02/main_img_bg.png") no-repeat center top;
  background-size: cover;
}

#mainArea #bousaiNote02 span.color {
  color: #036eb8;
}

.sec .imgBox .note {
  text-align: left;
  font-size: 1.2rem;
  display: block;
  width: 450px;
  margin: 0 0 0 auto;
}

#bousaiNote02 .sec .imgBox .note span {
  color: #2e3192;
}

.mar-t {
  margin-top: 6%;
  margin: 6% auto 0;
  text-align: center;
}

/*==================================================
kaihatsu_story step02
==================================================*/
#mainArea #kaihatsuStory .tab-panel .tab-group li.tab h2 p {
  line-height: 1.5rem;
}

.sub_tit {
  font-size: 13px;
}

#kaihatsuStory .mainImg {
  background: url("../images/kaihatsu_story/main_img_bg.png") no-repeat center top;
  text-align: left;
  background-size: cover;
  padding: 5% 8%;
}

#kaihatsuStory .inner {
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
  color: #000;
}

#kaihatsuStory .sec {
  padding: 8% 0 12%;
}

.tab-panel {
  color: #fff;
}

/*タブメニュー*/
.tab-group {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
}

/*タブメニュー一つ*/
.tab {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 5px;
  list-style: none;
  text-align: center;
  cursor: pointer;
  margin-left: 0.5rem;
  background: #ea5616;
  opacity: 0.5;
  position: relative;
}

/* タブのリンク */
.tab__link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
}

.tab-group .tab:first-child {
  margin-left: 0rem;
}

.panel-group.margin {
  padding-top: 58px;
}

/*コンテンツ全部についてる*/
.panel {
  display: none;
}

/*タブが選択されたら*/
.tab.is-active {
  background: #ea5616;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  opacity: 1;
}

/*コンテンツ表示*/
.panel.is-show {
  display: block;
}

.lead {
  border: solid 1px #ccc;
  border-top: none;
  background: #ea5616;
}

.lead p {
  max-width: 80%;
  padding: 2rem 1rem;
  margin: 0 auto;
}

#kaihatsuStory #panel2 .sec {
  padding: 3% 0 12%;
}

.comm_box {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 5rem;
  text-align: left;
}

.bubble_con {
  width: 75%;
}

.bubble_con a {
  border-bottom: dotted #000;
  border-width: 1px;
  display: inline-block;
}

/*pcとspで表示場所が異なるキャプション*/
.bubble_con .cap {
  padding: 0 7%;
  margin-top: 1rem;
  font-size: 1.2rem;
}

.bubble_con .cap_sp {
  display: none;
  margin-top: 1rem;
  font-size: 1.2rem;
}

.bubble {
  position: relative;
  display: inline-block;
  margin: 1em 0;
  padding: 5% 7%;
  height: auto;
  background: #fff;
  border-radius: 8rem;
  z-index: 2;
}

/*flex吹き出しと画像*/
.comm_box.flex .bubble {
  min-width: 282px;
  max-width: 282px;
  height: auto;
  padding: 10%;
}

.comm_box.flex .img_r {
  width: 99%;
}

.com_img {
  margin-left: 2rem;
}

.comm_box.left_p .com_img {
  margin-right: 2rem;
  margin-left: 0rem;
}

.com_img.air {
  width: 184px;
  height: 219px;
}

.bubble p {
  margin: 0;
  padding: 0;
  text-align: left;
}

/*右に人がいるver*/
.comm_box .bubble::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 19px;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}

/*左に人がいるver*/
.comm_box.left_p .bubble::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 19px;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}

/*吹き出し画像が下にある*/
.comm_box.center_b .bubble::before {
  content: "";
  display: inline-block;
  width: 19px;
  height: 30px;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}

/*吹き出し下平さん*/
.comm_box.shimodaira .bubble {
  border: solid 5px #8fc31f;
  -webkit-box-shadow: 0px 14px 0px 0px #8fc31f;
          box-shadow: 0px 14px 0px 0px #8fc31f;
}

.comm_box.shimodaira .bubble::after {
  background-image: url("../images/kaihatsu_story/SVG/bubble01.svg");
  margin-left: 92%;
}

.shimodaira .bubble span.color {
  color: #739b07;
}

/*吹き出し濱崎さん*/
.comm_box.hamasaki .bubble {
  border: solid 5px #e46c64;
  -webkit-box-shadow: 0px 14px 0px 0px #e46c64;
          box-shadow: 0px 14px 0px 0px #e46c64;
}

.comm_box.left_p.hamasaki .bubble::before {
  background-image: url("../images/kaihatsu_story/SVG/bubble02.svg");
  margin-left: -11.5%;
}

.hamasaki .bubble span.color {
  color: #e24844;
}

/*吹き出し永田さん*/
.comm_box.nagata .bubble {
  border: solid 5px #adb2da;
  -webkit-box-shadow: 0px 14px 0px 0px #adb2da;
          box-shadow: 0px 14px 0px 0px #adb2da;
}

.comm_box.left_p.nagata .bubble::before {
  background-image: url("../images/kaihatsu_story/SVG/bubble04.svg");
  margin-left: -11.5%;
}

.nagata .bubble span.color {
  color: #6473af;
}

/*吹き出し稲垣さん*/
.comm_box.eureka .bubble {
  border: solid 5px #f8b62d;
  -webkit-box-shadow: 0px 14px 0px 0px #f8b62d;
          box-shadow: 0px 14px 0px 0px #f8b62d;
}

.comm_box.left_p.eureka .bubble::before {
  background-image: url("../images/kaihatsu_story/SVG/bubble03.svg");
  margin-left: -11.5%;
}

.eureka .bubble span.color {
  color: #f49c00;
}

.bubble span.color {
  font-weight: bold;
}

/*吹き出し稲垣さん-flex*/
.comm_box.eureka.flex .bubble {
  border: solid 5px #f8b62d;
  -webkit-box-shadow: 0px 14px 0px 0px #f8b62d;
          box-shadow: 0px 14px 0px 0px #f8b62d;
}

.comm_box.center_b.eureka.flex .bubble::before {
  background-image: url("../images/kaihatsu_story/SVG/bubble05.svg");
  margin-bottom: -10%;
  margin-left: 40%;
  background-repeat: no-repeat;
}

/*スクロールで上に固定*/
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

/*plannig*/
.bousai_method {
  padding: 4rem;
  border: solid 1px;
  margin-bottom: 6%;
}

.bousai_method ul {
  margin-top: 2rem;
}

.bousai_method p.color {
  color: #ea5616;
}

.bm_flex {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: dotted;
  border-width: 1px;
  -webkit-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 1rem;
}

.bm_flex:last-child {
  border-bottom: none;
}

.bm_num::before {
  position: relative;
  top: 13px;
  margin: 0 10px 0 0;
  width: 35px;
  height: 35px;
}

#num01.bm_num::before {
  content: url("../images/kaihatsu_story/SVG/num01.svg");
}

#num02.bm_num::before {
  content: url("../images/kaihatsu_story/SVG/num02.svg");
}

#num03.bm_num::before {
  content: url("../images/kaihatsu_story/SVG/num03.svg");
}

#num04.bm_num::before {
  content: url("../images/kaihatsu_story/SVG/num04.svg");
}

#num05.bm_num::before {
  content: url("../images/kaihatsu_story/SVG/num05.svg");
}

.point {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: solid 1px;
  border-radius: 10rem;
  padding: 0rem 1rem;
}

.point_txt {
  text-align: left;
  width: 80%;
}

/*task*/
.task_box {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  color: #000;
  padding: 5% 10% 0% 10%;
}

.task_box .con {
  max-width: 900px;
  margin: 0 auto;
}

.task_box.nagata {
  background-color: #adb2da;
}

.task_box.inagaki {
  background-color: #f8b62d;
}

.task_box.shimodaira {
  background-color: #8fc31f;
}

.task_box.hamasaki {
  background-color: #e46c64;
}

#mainArea .task_box .comments hr {
  display: inline-block;
  max-width: 100%;
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  height: 3px;
}

.comments {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.comments dl {
  width: 70%;
}

.comments .arrow {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0rem auto 2rem;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

/*==================================================
03_pagefhase_free
==================================================*/
#fhaseFree .mainImg {
  background: url("../images/fhase_free/main_img_bg.png") repeat-x center;
  background-size: auto 100%;
}

#fhaseFree .sec .moreBox p {
  background: #006837;
}

#fhaseFree .sec .moreBox .box {
  border-color: #006837;
}

#fhaseFree .sec .moreBox a {
  color: #006837;
}

#fhaseFree .partnerBox {
  border: 2px solid #006837;
  padding: 3%;
  text-align: left;
  max-width: 900px;
  width: 100%;
  margin: 6% auto 0;
}

#fhaseFree .partnerBox .txt {
  width: 60%;
}

#fhaseFree .partnerBox .img {
  width: 40%;
  text-align: center;
}

#fhaseFree .partnerBox .txt h3 {
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}

#fhaseFree .partnerBox .txt p {
  font-size: 1.2rem;
}

#fhaseFree .partnerBox .img dt {
  color: #006837;
  font-size: 1rem;
  margin-bottom: 0.5em;
}

/*==================================================
03_communication step02
==================================================*/
#communication .mainImg {
  background: url("../images/communication/main_img_bg.png") no-repeat center top;
  text-align: center;
  width: 100%;
  height: 350px;
  display: table;
  background-size: cover;
}

/*==================================================
04_page_bousai_kurashi_lab
==================================================*/
#bousaiKurashiLab .mainImg {
  background: #146e14;
}

#bousaiKurashiLab .sec01 .imgBox {
  margin-bottom: 1em;
}

#bousaiKurashiLab .sec02 .imgBox {
  max-width: 666px;
  width: 100%;
  margin: 0 auto 1em;
}

#bousaiKurashiLab .sec02 .imgBox .col2 {
  margin-bottom: 1em;
}

#bousaiKurashiLab .sec02 .imgBox .col2 .img01 {
  width: 35.14%;
}

#bousaiKurashiLab .sec02 .imgBox .col2 .img02 {
  width: 62.32%;
}

#bousaiKurashiLab .sec02 .imgBox p {
  font-size: 1.2rem;
  text-align: left;
}

#bousaiKurashiLab .pointBox {
  text-align: left;
  max-width: 666px;
  width: 100%;
  margin: 6% auto 0;
}

#bousaiKurashiLab .pointBox li {
  margin-top: 2em;
}

#bousaiKurashiLab .pointBox .num {
  width: 22px;
  float: left;
  margin-right: 1em;
}

#bousaiKurashiLab .pointBox .txt {
  display: block;
  overflow: hidden;
}

#bousaiKurashiLab .pointBox .txt h3 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

#bousaiKurashiLab .pointBox .txt h3 .bg {
  background: #fff;
  display: block;
  max-width: 11em;
  width: 100%;
  position: relative;
  z-index: 2;
}

#bousaiKurashiLab .pointBox .txt h3:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #000;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
}

#bousaiKurashiLab .sec .moreBox {
  max-width: 666px;
  width: 100%;
  margin: 6% auto 0;
}

#bousaiKurashiLab .sec .moreBox p {
  background: #006837;
}

#bousaiKurashiLab .sec .moreBox dt {
  margin-bottom: 0.5em;
}

#bousaiKurashiLab .sec .moreBox .box {
  border-color: #006837;
  text-align: center;
}

#bousaiKurashiLab .sec .moreBox .col2 .colBox {
  width: 47.5%;
}

#bousaiKurashiLab .sec .moreBox .col2 .colBox02 {
  width: 47.5%;
}

/*==================================================
04_page_bousai_kurashi_lab step02
==================================================*/
#bousaiKurashiLab02 .mainImg {
  background: url("../images/bousai_kurashi_lab02/main_img_bg.png") no-repeat center top;
  background-size: cover;
}

#bousaiKurashiLab02 .sec01 .imgBox {
  margin-bottom: 1em;
}

#bousaiKurashiLab02 .sec02 .imgBox .col2 {
  margin-bottom: 1em;
}

#bousaiKurashiLab02 .sec02 .imgBox .col2 .img01 {
  width: 35.14%;
}

#bousaiKurashiLab02 .sec02 .imgBox .col2 .img02 {
  width: 62.32%;
}

#bousaiKurashiLab02 .sec02 .imgBox p {
  font-size: 1.2rem;
  text-align: left;
}

/*==================================================
05_page_collaboration
==================================================*/
.profileBox img {
  width: 100%;
}

.profileTxt01 .inner {
  display: inline-block;
  text-align: left;
}

.profileTxt01 h2 {
  margin-bottom: 8%;
}

.profileTxt02 {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  padding-top: 0;
  overflow: hidden;
}

.profileTxt02 .colBox {
  width: 52.5%;
  margin-bottom: 8%;
}

.profileTxt02 .colBox02 {
  width: 47.5%;
  margin-bottom: 8%;
}

.profileTxt02 .btn {
  float: right;
}

#collaboration .btn {
  text-align: center;
  max-width: 288px;
  width: 100%;
}

#collaboration .btn a {
  display: block;
  border: 3px solid #e6e6e6;
  line-height: 0em;
  padding: 1em;
}

#collaboration .work .inner {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}

#collaboration .work .workBox {
  text-align: left;
  margin-top: 15%;
}

#collaboration .work .workBox .headTxt {
  width: 54.35%;
  margin-bottom: 0.6em;
  overflow: hidden;
}

#collaboration .work .workBox .headTxt h3 {
  float: left;
  font-size: 1.9rem;
}

#collaboration .work .workBox .headTxt p {
  font-size: 1rem;
  float: right;
  margin-top: 0.7em;
}

#collaboration .work .img {
  width: 54.35%;
  text-align: center;
}

#collaboration .work .txt {
  width: 37.89%;
}

#collaboration .work .txt p {
  font-size: 1.2rem;
  line-height: 1.6em;
  min-height: 19.8em;
  margin-bottom: 1em;
}

/*==================================================
05_page_collaboration02 step02
==================================================*/
/*+artsと大東建託*/
.tit_gal {
  text-align: left;
  margin-left: 5rem;
  margin-bottom: 2rem;
}

.gallery_box {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  letter-spacing: 0.1rem;
}

.gallery .gallery_item {
  position: relative;
  max-width: 213px;
  height: auto;
  margin: 0 0.5rem 1rem;
}

.gallery_item .back_b {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #000;
  color: #fff;
  text-align: left;
  padding: 3rem 0rem 1rem 3rem;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.gallery_item .back_b dt {
  font-size: 1.7rem;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  height: 7rem;
}

.gallery_item dd {
  font-size: 1.4rem;
}

.back_b:hover {
  opacity: 0.8;
}

.gallery_item .back_b2 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #000;
  color: #fff;
  text-align: left;
  padding: 2rem 0rem 1rem 4rem;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.back_b2:hover {
  opacity: 0.8;
}

.gallery_item .back_b2 dt {
  font-size: 1.7rem;
  margin-top: 1.2rem;
  height: 6.5rem;
}

.gallery_item .back_b2 dd.num {
  margin-top: 1rem;
  font-size: 1.2rem;
}

/*==================================================
06_page_projectmember
==================================================*/
#projectmember .mainImg {
  background: url("../images/projectmember/main_img_bg.png") no-repeat center #4d4d4d;
  background-size: auto 100%;
}

#projectmember .txt {
  text-align: left;
  max-width: 785px;
  width: 100%;
  margin: 6% auto 0;
}

#projectmember .txt h3 {
  font-size: 2rem;
  margin-bottom: 0.6em;
  font-weight: bold;
}

/*==================================================
07_bokulabNiimo
==================================================*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1 !important;
    visibility: visible;
  }
  100% {
    opacity: 0 !important;
    visibility: hidden;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1 !important;
    visibility: visible;
  }
  100% {
    opacity: 0 !important;
    visibility: hidden;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-pc-none {
    display: none;
  }
}

#bokulabNiimo {
  /*==================
  SLIDER
  =======================*/
  /*==================
  CONCEPT
  =======================*/
  /*==================
    切り替えコンテンツ
    =======================*/
  /*==================
  moshimoのとき
  =======================*/
  /*==================
  切り替えボタン
  =======================*/
}

#bokulabNiimo .wrap {
  padding: 0;
  max-width: 100%;
}

#bokulabNiimo .aboutTit {
  padding-left: min(calc(56 / 1120 * 100vw), 56px);
  padding-right: min(calc(56 / 1120 * 100vw), 56px);
  padding-top: min(calc(33.6 / 1120 * 100vw), 33.6px);
  padding-bottom: min(calc(33.6 / 1120 * 100vw), 33.6px);
  max-width: 1120px;
  margin: 0 auto;
}

#bokulabNiimo .contents-bg {
  position: relative;
}

#bokulabNiimo .contents-bg::before {
  background-color: #fbdeb1;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -1;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

#bokulabNiimo .swiper-container {
  padding-top: min(calc(58 / 1120 * 100vw), 58px);
  padding-bottom: min(calc(62.5 / 1120 * 100vw), 62.5px);
}

#bokulabNiimo .swiper-outer {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
}

#bokulabNiimo .swiper-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#bokulabNiimo .swiper-button-prev,
#bokulabNiimo .swiper-button-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-style: solid;
  border-top-width: min(calc(58.5 / 1120 * 100vw), 58.5px);
  border-bottom-width: min(calc(58.5 / 1120 * 100vw), 58.5px);
}

#bokulabNiimo .swiper-button-prev {
  border-right-width: min(calc(72.5 / 1120 * 100vw), 72.5px);
  border-left-width: 0;
  border-color: transparent rgba(239, 131, 55, 0.85) transparent transparent;
  left: min(calc(25 / 1120 * 100vw), 25px);
}

#bokulabNiimo .swiper-button-next {
  border-left-width: min(calc(72.5 / 1120 * 100vw), 72.5px);
  border-right-width: 0;
  border-color: transparent transparent transparent rgba(239, 131, 55, 0.85);
  right: min(calc(25 / 1120 * 100vw), 25px);
}

#bokulabNiimo .top-swiper-slide {
  cursor: -webkit-grab;
  cursor: grab;
  margin-left: min(calc(22 / 1120 * 100vw), 22px);
  margin-right: min(calc(22 / 1120 * 100vw), 22px);
  position: relative;
}

#bokulabNiimo .top-swiper-slide img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: calc(965 / 1120 * 100vw);
  max-width: 965px;
  height: calc(600 / 1120 * 100vw);
  max-height: 600px;
}

#bokulabNiimo .top-swiper-slide p {
  font-size: min(calc(15 / 1120 * 100vw), 15px);
  letter-spacing: 0;
  line-height: 1.6;
  color: white;
  font-weight: 700;
  position: absolute;
}

#bokulabNiimo .top-swiper-slide p.u-underline {
  right: 0;
  top: min(calc(47 / 1120 * 100vw), 47px);
  padding-right: min(calc(35 / 1120 * 100vw), 35px);
  border-bottom: 2px solid white;
}

#bokulabNiimo .top-swiper-slide p.u-textshadow {
  left: min(calc(30 / 1120 * 100vw), 30px);
  bottom: min(calc(20 / 1120 * 100vw), 20px);
  text-shadow: 0 0 3px black, 0 0 5px black;
}

@media screen and (min-width: 768px) {
  #bokulabNiimo .floor-prev,
  #bokulabNiimo .floor-next,
  #bokulabNiimo .floor-swiper-container,
  #bokulabNiimo .floor-swiper-outer,
  #bokulabNiimo #swiperFloor,
  #bokulabNiimo .floor-swiper-wrapper,
  #bokulabNiimo .floor-swiper-slide {
    display: contents;
    display: none;
  }
}

#bokulabNiimo .concept-bg {
  background-color: white;
  position: relative;
}

#bokulabNiimo .concept-wrapper {
  max-width: 1120px;
  margin: 0 auto;
  padding-top: min(calc(40 / 1120 * 100vw), 40px);
  padding-bottom: min(calc(40 / 1120 * 100vw), 40px);
  padding-left: min(calc(170 / 1120 * 100vw), 170px);
}

#bokulabNiimo .concept-image {
  display: block;
  width: calc(670 / 1120 * 100vw);
  max-width: 670px;
  height: calc(160 / 1120 * 100vw);
  max-height: 160px;
}

#bokulabNiimo .concept-btn {
  margin-top: min(calc(27 / 1120 * 100vw), 27px);
  margin-left: min(calc(43 / 1120 * 100vw), 43px);
}

#bokulabNiimo .concept-btn img {
  width: min(calc(174 / 1120 * 100vw), 174px);
  height: min(calc(55 / 1120 * 100vw), 55px);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

@media (hover: hover) {
  #bokulabNiimo .concept-btn img:hover {
    opacity: 0.8;
  }
}

#bokulabNiimo .contents {
  padding-top: min(calc(67 / 1120 * 100vw), 67px);
  padding-bottom: min(calc(58 / 1120 * 100vw), 58px);
}

#bokulabNiimo .contents img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-title {
  margin-right: auto;
  margin-left: auto;
  width: calc(327 / 1120 * 100vw);
  max-width: 327px;
  height: calc(65.8 / 1120 * 100vw);
  max-height: 65.8px;
  margin-bottom: min(calc(26 / 1120 * 100vw), 26px);
}

#bokulabNiimo .contents-overview {
  margin-bottom: min(calc(50 / 1120 * 100vw), 50px);
}

#bokulabNiimo .contents-overview img {
  margin: 0 auto;
  width: calc(654 / 1120 * 100vw);
  max-width: 654px;
  height: calc(468 / 1120 * 100vw);
  max-height: 468px;
}

#bokulabNiimo .contents .link-to-floor {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  cursor: pointer;
  margin: auto;
  margin-bottom: min(calc(50 / 1120 * 100vw), 50px);
  text-align: center;
}

@media (hover: hover) {
  #bokulabNiimo .contents .link-to-floor:hover img {
    -webkit-transform: translateY(0.5em);
            transform: translateY(0.5em);
  }
}

#bokulabNiimo .contents .link-to-floor p {
  font-size: min(calc(20 / 1120 * 100vw), 20px);
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 700;
}

#bokulabNiimo .contents .link-to-floor img {
  margin: auto;
  display: block;
  margin-top: min(calc(15 / 1120 * 100vw), 15px);
  width: min(calc(27 / 1120 * 100vw), 27px);
  height: min(calc(22 / 1120 * 100vw), 22px);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

#bokulabNiimo .contents-floor {
  margin-bottom: min(calc(50 / 1120 * 100vw), 50px);
  position: relative;
  width: calc(880 / 1120 * 100vw);
  max-width: 880px;
  height: calc(460 / 1120 * 100vw);
  max-height: 460px;
  margin-right: auto;
  margin-left: auto;
}

#bokulabNiimo .contents-floor img {
  width: calc(880 / 1120 * 100vw);
  max-width: 880px;
  height: calc(460 / 1120 * 100vw);
  max-height: 460px;
}

#bokulabNiimo .contents-floor-btn {
  cursor: pointer;
  pointer-events: auto;
  width: min(calc(100 / 1120 * 100vw), 100px);
  height: min(calc(100 / 1120 * 100vw), 100px);
  position: absolute;
}

#bokulabNiimo .contents-floor-btn.btn1 {
  top: min(calc(210 / 1120 * 100vw), 210px);
  left: min(calc(135 / 1120 * 100vw), 135px);
  width: min(calc(110 / 1120 * 100vw), 110px);
  height: min(calc(200 / 1120 * 100vw), 200px);
}

#bokulabNiimo .contents-floor-btn.btn1 img {
  top: min(calc(78 / 1120 * 100vw), 78px);
  left: min(calc(40 / 1120 * 100vw), 40px);
}

#bokulabNiimo .contents-floor-btn.btn2 {
  top: min(calc(110 / 1120 * 100vw), 110px);
  left: min(calc(45 / 1120 * 100vw), 45px);
  width: min(calc(200 / 1120 * 100vw), 200px);
}

#bokulabNiimo .contents-floor-btn.btn3 {
  top: min(calc(156 / 1120 * 100vw), 156px);
  left: min(calc(300 / 1120 * 100vw), 300px);
}

#bokulabNiimo .contents-floor-btn.btn4 {
  top: min(calc(260 / 1120 * 100vw), 260px);
  left: min(calc(33 / 1120 * 100vw), 33px);
  height: min(calc(150 / 1120 * 100vw), 150px);
}

#bokulabNiimo .contents-floor-btn.btn5 {
  top: min(calc(115 / 1120 * 100vw), 115px);
  left: min(calc(620 / 1120 * 100vw), 620px);
  width: min(calc(210 / 1120 * 100vw), 210px);
}

#bokulabNiimo .contents-floor-btn.btn6 {
  top: min(calc(390 / 1120 * 100vw), 390px);
  left: min(calc(400 / 1120 * 100vw), 400px);
  width: min(calc(150 / 1120 * 100vw), 150px);
  height: min(calc(50 / 1120 * 100vw), 50px);
}

#bokulabNiimo .contents-floor-btn.btn6-2 {
  top: min(calc(300 / 1120 * 100vw), 300px);
  left: min(calc(620 / 1120 * 100vw), 620px);
  height: min(calc(150 / 1120 * 100vw), 150px);
}

#bokulabNiimo .contents-floor-btn.btn7 {
  top: min(calc(260 / 1120 * 100vw), 260px);
  left: min(calc(350 / 1120 * 100vw), 350px);
  height: min(calc(120 / 1120 * 100vw), 120px);
}

#bokulabNiimo .contents-floor-btn.btn8 {
  top: min(calc(120 / 1120 * 100vw), 120px);
  left: min(calc(350 / 1120 * 100vw), 350px);
  width: min(calc(120 / 1120 * 100vw), 120px);
  height: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-floor-btn.btn9 {
  top: min(calc(60 / 1120 * 100vw), 60px);
  left: min(calc(350 / 1120 * 100vw), 350px);
  width: min(calc(170 / 1120 * 100vw), 170px);
  height: min(calc(51 / 1120 * 100vw), 51px);
}

#bokulabNiimo .contents-details {
  margin: 0 auto;
  background: url("../images/bokulab-niimo/svg/itsumo-bg.svg") no-repeat left center;
  background-size: contain;
  width: calc(764.5 / 1120 * 100vw);
  max-width: 764.5px;
  height: calc(683.5 / 1120 * 100vw);
  max-height: 683.5px;
  position: relative;
}

#bokulabNiimo .contents-item {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
  /*==================
      タイトルの位置とサイズ
      =======================*/
  /*==================
      画像の位置とサイズ
      =======================*/
}

#bokulabNiimo .contents-item.is-active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#bokulabNiimo .contents-item img,
#bokulabNiimo .contents-item .moshimo-text,
#bokulabNiimo .contents-item .itsumo-content {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

#bokulabNiimo .contents-item .moshimo-text {
  opacity: 0;
  visibility: hidden;
}

#bokulabNiimo .contents-item img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

#bokulabNiimo .contents-item .text {
  margin-top: min(calc(15 / 1120 * 100vw), 15px);
  width: calc(455 / 1120 * 100vw);
  max-width: 455px;
  position: relative;
  font-size: min(calc(15 / 1120 * 100vw), 15px);
  letter-spacing: 0;
  line-height: 1.75;
}

#bokulabNiimo .contents-item p {
  position: absolute;
  top: 0;
  left: 0;
}

#bokulabNiimo .contents-item .title-1 {
  width: calc(247 / 1120 * 100vw);
  max-width: 247px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-2 {
  width: calc(271 / 1120 * 100vw);
  max-width: 271px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-3 {
  width: calc(327 / 1120 * 100vw);
  max-width: 327px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-4 {
  width: calc(228 / 1120 * 100vw);
  max-width: 228px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-5 {
  width: calc(186 / 1120 * 100vw);
  max-width: 186px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-6 {
  width: calc(325 / 1120 * 100vw);
  max-width: 325px;
  height: calc(64 / 1120 * 100vw);
  max-height: 64px;
  margin-bottom: min(calc(10 / 1120 * 100vw), 10px);
}

#bokulabNiimo .contents-item .title-7 {
  width: calc(312 / 1120 * 100vw);
  max-width: 312px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-8 {
  width: calc(334 / 1120 * 100vw);
  max-width: 334px;
  height: calc(28 / 1120 * 100vw);
  max-height: 28px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
}

#bokulabNiimo .contents-item .title-9 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(70 / 1120 * 100vw);
  max-height: 70px;
  margin-bottom: min(calc(30 / 1120 * 100vw), 30px);
  position: relative;
}

#bokulabNiimo .contents-item .image-1 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(237 / 1120 * 100vw);
  max-height: 237px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-2 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(290 / 1120 * 100vw);
  max-height: 290px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-3 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(348 / 1120 * 100vw);
  max-height: 348px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-4 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(340 / 1120 * 100vw);
  max-height: 340px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-5 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(340 / 1120 * 100vw);
  max-height: 340px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-6 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(340 / 1120 * 100vw);
  max-height: 340px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-7 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(340 / 1120 * 100vw);
  max-height: 340px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-item .image-8 {
  width: calc(441 / 1120 * 100vw);
  max-width: 441px;
  height: calc(340 / 1120 * 100vw);
  max-height: 340px;
  -o-object-fit: cover;
     object-fit: cover;
}

#bokulabNiimo .contents-cation {
  padding-bottom: min(calc(90 / 1120 * 100vw), 90px);
  width: calc(880 / 1120 * 100vw);
  max-width: 880px;
  margin: 0 auto;
  font-size: min(calc(15 / 1120 * 100vw), 15px);
  letter-spacing: 0;
  line-height: 1.4;
}

#bokulabNiimo .contents-cation .u-pc-none {
  display: none;
}

#bokulabNiimo.moshimo .contents-bg::before {
  opacity: 0;
}

#bokulabNiimo.moshimo .contents-bg::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -2;
  background-color: #e1ecf1;
  background-image: url("../images/bokulab-niimo/svg/rain.svg");
  /* fallback */
  background-image: url("../images/bokulab-niimo/svg/rain.svg"), -webkit-gradient(linear, left top, left bottom, from(#e1ecf1), to(#e1ecf1));
  background-image: url("../images/bokulab-niimo/svg/rain.svg"), -webkit-linear-gradient(#e1ecf1, #e1ecf1);
  background-image: url("../images/bokulab-niimo/svg/rain.svg"), linear-gradient(#e1ecf1, #e1ecf1);
  /* W3C */
}

#bokulabNiimo.moshimo .swiper-button-prev {
  border-color: transparent rgba(0, 96, 146, 0.85) transparent transparent;
}

#bokulabNiimo.moshimo .swiper-button-next {
  border-color: transparent transparent transparent rgba(0, 96, 146, 0.85);
}

#bokulabNiimo.moshimo .concept-image {
  background: url("../images/bokulab-niimo/svg/moshimo-concept.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .contents-floor {
  background: url("../images/bokulab-niimo/svg/moshimo-floor.svg") no-repeat center;
  background-size: contain;
  position: relative;
}

#bokulabNiimo.moshimo .contents-floor .btn5 {
  top: min(calc(95 / 1120 * 100vw), 95px);
  left: min(calc(650 / 1120 * 100vw), 650px);
}

#bokulabNiimo.moshimo .contents-title {
  background: url("../images/bokulab-niimo/svg/moshimo-main-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .contents-overview {
  background: url("../images/bokulab-niimo/1x/moshimo-overview.png") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .contents-details {
  background: url("../images/bokulab-niimo/svg/moshimo-bg.svg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo.moshimo .moshimo-text {
  opacity: 1;
  visibility: visible;
}

#bokulabNiimo.moshimo .itsumo-content {
  opacity: 0;
  visibility: hidden;
}

#bokulabNiimo.moshimo .title-4 {
  background: url("../images/bokulab-niimo/svg/moshimo4-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .title-5 {
  background: url("../images/bokulab-niimo/svg/moshimo5-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .title-6 {
  background: url("../images/bokulab-niimo/svg/moshimo6-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .title-7 {
  background: url("../images/bokulab-niimo/svg/moshimo7-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .title-8 {
  background: url("../images/bokulab-niimo/svg/moshimo8-title.svg") no-repeat center;
  background-size: contain;
}

#bokulabNiimo.moshimo .image-4 {
  background: url("../images/bokulab-niimo/1x/moshimo4.jpg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo.moshimo .image-5 {
  background: url("../images/bokulab-niimo/1x/moshimo5.jpg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo.moshimo .image-6 {
  background: url("../images/bokulab-niimo/1x/moshimo6.jpg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo.moshimo .image-7 {
  background: url("../images/bokulab-niimo/1x/moshimo7.jpg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo.moshimo .image-8 {
  background: url("../images/bokulab-niimo/1x/moshimo8.jpg") no-repeat left center;
  background-size: contain;
}

#bokulabNiimo .sticky-wrapper {
  position: absolute;
  bottom: min(calc(40 / 1120 * 100vw), 40px);
  right: min(calc(60 / 1120 * 100vw), 60px);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

#bokulabNiimo .sticky-wrapper.fixed {
  opacity: 1;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
}

#bokulabNiimo .sticky-wrapper.fixed.niimo-show {
  -webkit-animation: 0.8s fadeIn forwards;
          animation: 0.8s fadeIn forwards;
}

#bokulabNiimo .sticky-wrapper.fixed.niimo-hide {
  -webkit-animation: 0.8s fadeOut forwards;
          animation: 0.8s fadeOut forwards;
}

#bokulabNiimo .sticky-wrapper.fixed .sticky-buttons {
  height: calc(100% - 150px);
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: min(calc(40 / 1120 * 100vw), 40px);
  margin-right: min(calc(60 / 1120 * 100vw), 60px);
}

#bokulabNiimo .sticky-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: min(calc(10 / 1120 * 100vw), 10px);
}

#bokulabNiimo .itsumo-button,
#bokulabNiimo .moshimo-button {
  cursor: pointer;
  pointer-events: auto;
  outline: 0;
  width: calc(143 / 1120 * 100vw);
  max-width: 143px;
  height: calc(286 / 1120 * 100vw);
  max-height: 286px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

@media (hover: hover) {
  #bokulabNiimo .itsumo-button:hover,
  #bokulabNiimo .moshimo-button:hover {
    opacity: 0.6;
  }
}

/*==================================================
00_page_top
==================================================*/
@media screen and (max-width: 1200px) {
  .wrap {
    padding: 0 5%;
  }
  #headDummy,
  #footDummy {
    padding: 0 5%;
  }
}

/*==================================================
max-width: 820px
==================================================*/
@media screen and (max-width: 820px) {
  /*==================================================
00_page_top
==================================================*/
  .aboutTit h1 {
    margin-right: 4%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .sec .txtBox p {
    text-align: left;
  }
}

/*==================================================
max-width: 767px
==================================================*/
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
  /*==================================================
00_page_top
==================================================*/
  .aboutTit {
    padding: 5% 0 5% 0;
  }
  .aboutTit h1 {
    width: calc(136 / 750 * 100vw);
    height: calc(117 / 750 * 100vw);
  }
  .aboutTit h1 img {
    width: 100%;
    height: auto;
    display: block;
  }
  .aboutTit p {
    width: calc(448 / 750 * 100vw);
    height: calc(58 / 750 * 100vw);
  }
  .aboutTit-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(8 / 750 * 100vw);
  }
  .aboutTit p a.about-link {
    background: url("../images/cmn/about_btn_sp.png") no-repeat left center;
    background-size: contain;
  }
  .aboutTit p a.torikumi-link {
    background: url("../images/cmn/torikumi_btn_sp.png") no-repeat left center;
    background-size: contain;
  }
  #top .wrap {
    padding: 0;
  }
  #top .aboutTit {
    padding: 2% 9%;
  }
  #top .bnrList .swiper-outer {
    position: relative;
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(35 / 750 * 100vw);
    z-index: 1;
  }
  #top .bnrList .titleBg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  #top .bnrList .titleBg.blue {
    background: url("../images/top/bnr/svg/line_blue.svg") left center;
    background-size: cover;
  }
  #top .bnrList .titleBg.blue img {
    width: calc(304 / 750 * 100vw);
    height: calc(85 / 750 * 100vw);
    position: relative;
    top: calc(30 / 750 * 100vw);
    left: calc(55 / 750 * 100vw);
  }
  #top .bnrList .titleBg.green {
    background: url("../images/top/bnr/svg/line_green.svg") left center;
    background-size: cover;
  }
  #top .bnrList .titleBg.green img {
    width: calc(376 / 750 * 100vw);
    height: calc(85 / 750 * 100vw);
    position: relative;
    top: calc(30 / 750 * 100vw);
    left: calc(55 / 750 * 100vw);
  }
  #top .bnrList .titleBg.gray {
    background: url("../images/top/bnr/svg/line_gray.svg") left center;
    background-size: cover;
  }
  #top .bnrList .titleBg.gray img {
    width: calc(184 / 750 * 100vw);
    height: calc(85 / 750 * 100vw);
    position: relative;
    top: calc(30 / 750 * 100vw);
    left: calc(55 / 750 * 100vw);
  }
  #top .bnrList .swiper {
    padding-left: 25%;
    padding-right: 15%;
  }
  #top .bnrList .swiper#swiper3 .swiper-wrapper {
    padding-left: 18%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #top .bnrList .swiper-wrapper {
    gap: calc(20 / 750 * 100vw);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 100%;
    padding-left: 9%;
    z-index: 1;
  }
  #top .bnrList .swiper-slide {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1;
  }
  #top .bnrList li:not(.bnr1) {
    width: calc(230 / 750 * 100vw);
    max-width: 230px;
    height: calc(260 / 750 * 100vw);
    max-height: 260px;
  }
  #top .bnrList li img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  #top .bnrList li.bnr1 {
    background: url("../images/top/bnr/2x/bnr1_over@2x.png") no-repeat center top;
    background-size: cover;
    position: relative;
  }
  #top .bnrList li.bnr1 img.n-btn {
    pointer-events: none;
    display: block;
    position: absolute;
    top: calc(26 / 750 * 100vw);
    right: calc(72 / 750 * 100vw);
    width: calc(200 / 750 * 100vw);
    height: calc(57 / 750 * 100vw);
  }
  #top .bnrList li.bnr2 {
    background: url("../images/top/bnr/2x/bnr2_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr3 {
    background: url("../images/top/bnr/2x/bnr3_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr4 {
    background: url("../images/top/bnr/2x/bnr4_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr5 {
    background: url("../images/top/bnr/2x/bnr5_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr6 {
    background: url("../images/top/bnr/2x/bnr6_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr7 {
    background: url("../images/top/bnr/2x/bnr7_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr8 {
    background: url("../images/top/bnr/2x/bnr8_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr9 {
    background: url("../images/top/bnr/2x/bnr9_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr10 {
    background: url("../images/top/bnr/2x/bnr10_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr11 {
    background: url("../images/top/bnr/2x/bnr11_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .bnrList li.bnr12 {
    background: url("../images/top/bnr/2x/bnr12_sp_over@2x.png") no-repeat center top;
    background-size: cover;
  }
  #top .phaseFree {
    padding: 0 9%;
  }
  /*==================================================
01_page_fhasefree_dounyu
==================================================*/
  #fhasefreeDounyu {
    top: 47px;
  }
  #fhasefreeDounyu .close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    line-height: 26px;
    font-size: 2rem;
  }
  #fhasefreeDounyu .modalInner {
    padding: 25% 5% 60%;
  }
  #fhasefreeDounyu .modalInner h2 {
    margin-bottom: 2em;
  }
  #fhasefreeDounyu .modalInner h3 {
    margin-bottom: 2em;
  }
  #fhasefreeDounyu .modalInner p {
    text-align: left;
  }
  /*==================================================
01-2_page_torikumi
==================================================*/
  #torikumi {
    top: 47px;
    height: calc(100vh - 47px);
  }
  #torikumi .close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    line-height: 26px;
    font-size: 2rem;
  }
  #torikumi .modalInner {
    padding: 25% 5%;
  }
  #torikumi h2 {
    margin-bottom: calc(70 / 750 * 100vw);
  }
  #torikumi h2 img {
    width: calc(645 / 750 * 100vw);
    height: calc(432 / 750 * 100vw);
  }
  #torikumi .torikumi-br {
    display: none;
  }
  #torikumi h3 {
    margin-bottom: calc(40 / 750 * 100vw);
  }
  #torikumi h3.bousai-title {
    width: calc(215 / 750 * 100vw);
    min-width: 107.5px;
    height: calc(42 / 750 * 100vw);
    min-height: 21px;
  }
  #torikumi h3.sdgs-title {
    width: calc(193 / 750 * 100vw);
    min-width: 96.5px;
    height: calc(42 / 750 * 100vw);
    min-height: 21px;
    margin-top: calc(120 / 750 * 100vw);
  }
  #torikumi .modalInner p {
    text-align: left;
  }
  #torikumi .torikumi-sdgs {
    width: calc(660 / 750 * 100vw);
    height: calc(386 / 750 * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(70 / 750 * 100vw);
    margin-bottom: calc(120 / 750 * 100vw);
  }
  /*==================================================
02_page_bousai_note
==================================================*/
  .mainImg {
    padding: 5%;
    height: 60vw;
  }
  #bousaiNote .mainImg {
    background: url("../images/bousai_note/main_img_bg_sp.png") no-repeat center;
    background-size: cover;
  }
  #bousaiNote .mainImg img {
    width: 68vw;
  }
  .sec .txtBox p {
    font-size: 1.4rem;
    text-align: left;
  }
  #mainArea .sec .moreBox p {
    font-size: 1.4rem;
    padding: 0.5em 1em;
  }
  .sec .moreBox dd {
    font-size: 1.2rem;
  }
  .sec .moreBox .box {
    margin-top: -1em;
    padding: 1.5em 1em 1em;
  }
  .btrListF li {
    width: 31%;
    margin-bottom: 5%;
  }
  .btrListF li div {
    margin: 0 auto;
    max-width: 130px;
  }
  /*==================================================
02_page_bousai_note02 step02
==================================================*/
  #bousaiNote02 .mainImg {
    background: url("../images/bousai_note02/main_img_bg_sp.png") no-repeat center top;
    background-size: cover;
  }
  #bousaiNote02 .mainImg img {
    width: 68vw;
  }
  .sec .imgBox .note {
    width: 100%;
  }
  /*==================================================
kaihatsu_story step02
==================================================*/
  #kaihatsuStory .mainImg {
    background: url("../images/kaihatsu_story/main_img_bg_sp.png") no-repeat center top;
    background-size: cover;
  }
  #kaihatsuStory .mainImg img {
    width: 68vw;
  }
  .lead {
    padding: 0 5%;
  }
  .lead p {
    max-width: 100%;
  }
  /*タブを2列に*/
  .tab {
    width: 45%;
  }
  .tab-group {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .tab:nth-child(4) {
    margin-top: 0.5rem;
  }
  .tab:nth-child(3) {
    margin-left: 0;
    margin-top: 0.5rem;
  }
  /*両方共通吹き出し*/
  .comm_box {
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 2rem;
  }
  .comm_box.eureka.left_p.sp_t.sp_right .com_img {
    margin-left: 66%;
  }
  .box_b {
    margin-bottom: -8rem;
  }
  .bubble_con {
    width: 100%;
  }
  .bubble {
    border-radius: 3rem;
  }
  .comm_box.left_p .bubble {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  /*稲垣さん吹き出しflex*/
  .comm_box.center_b {
    margin-bottom: 1rem;
  }
  .comm_box.center_b .txt_l {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    width: 100%;
  }
  .comm_box.center_b .img_r {
    text-align: center;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .comm_box.center_b .bubble {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .comm_box.center_b .com_img {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    margin-left: 0rem;
    position: absolute;
    margin-top: -4rem;
    z-index: 5;
  }
  /*人物img*/
  .com_img {
    min-width: 100px;
    width: 40%;
  }
  .com_img.sp_b {
    z-index: 5;
    margin-top: -4rem;
    text-align: right;
  }
  .comm_box.left_p .com_img.sp_t_l {
    z-index: 5;
    margin-bottom: -3rem;
  }
  .com_img.air {
    display: none;
  }
  .sp_t .bubble_con {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .sp_t .com_img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: -3rem;
    z-index: 5;
    text-align: right;
  }
  /*稲垣さんflex吹き出し*/
  .comm_box.flex .bubble {
    max-width: 100%;
    padding: 5% 7%;
  }
  .comm_box.left_p.sp_b_l .bubble_con {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .comm_box.left_p.sp_b_l .com_img {
    z-index: 5;
    margin-top: -4rem;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .comm_box .bubble::after {
    display: none;
  }
  .comm_box.left_p .bubble::before {
    display: none;
  }
  .comm_box.left_p {
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .comm_box.center_b .bubble::before {
    display: none;
  }
  /*planning*/
  .bm_flex {
    display: block;
    text-align: left;
    margin-bottom: 1rem;
  }
  .bm_num {
    margin-bottom: 0.5rem;
  }
  .bm_num::before {
    top: 7px;
  }
  #num01.bm_num::before {
    content: url("../images/kaihatsu_story/SVG/num01_sp.svg");
  }
  #num02.bm_num::before {
    content: url("../images/kaihatsu_story/SVG/num02_sp.svg");
  }
  #num03.bm_num::before {
    content: url("../images/kaihatsu_story/SVG/num03_sp.svg");
  }
  #num04.bm_num::before {
    content: url("../images/kaihatsu_story/SVG/num04_sp.svg");
  }
  #num05.bm_num::before {
    content: url("../images/kaihatsu_story/SVG/num05_sp.svg");
  }
  #mainArea .bousai_method p {
    line-height: 1.5em;
  }
  .bousai_method p.color {
    padding-left: 36px;
  }
  .bubble_con .cap {
    display: none;
  }
  .bubble_con .cap_sp {
    display: block;
  }
  /*task*/
  .comments {
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .comments .task_photo {
    text-align: center;
    width: 70%;
  }
  .comments .task_photo {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .comments .task_photo.right {
    margin-left: 40%;
  }
  .comments dl {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    padding-bottom: 2rem;
    margin-top: 3rem;
  }
  /*==================================================
03_pagefhase_free
==================================================*/
  #fhaseFree .mainImg {
    background: url("../images/fhase_free/main_img_bg_sp.png") no-repeat center;
    background-size: cover;
  }
  #fhaseFree .mainImg img {
    width: 53.6vw;
  }
  #fhaseFree .partnerBox {
    padding: 5%;
  }
  #fhaseFree .partnerBox .txt h3 {
    font-size: 1.6rem;
  }
  #fhaseFree .partnerBox .txt {
    width: 100%;
  }
  #fhaseFree .partnerBox .img {
    width: 100%;
    padding: 5%;
  }
  /*==================================================
03_communication step02
==================================================*/
  #communication .mainImg {
    background: url("../images/communication/main_img_bg_sp.png") no-repeat center top;
    background-size: cover;
    height: 60vw;
  }
  #communication .mainImg img {
    width: 68vw;
  }
  /*==================================================
04_page_bousai_kurashi_lab
==================================================*/
  #bousaiKurashiLab .mainImg img {
    width: 76.5vw;
  }
  #bousaiKurashiLab .sec02 .imgBox .col2 .img01,
  #bousaiKurashiLab .sec02 .imgBox .col2 .img02 {
    width: 100%;
  }
  #bousaiKurashiLab .sec02 .imgBox .col2 .img01 {
    margin-bottom: 10%;
  }
  #bousaiKurashiLab .sec .moreBox .col2 .colBox {
    width: 100%;
    margin: 1em 0;
  }
  #bousaiKurashiLab .sec .moreBox .col2 .colBox02 {
    width: 100%;
    margin: 1em 0;
  }
  #bousaiKurashiLab .pointBox {
    margin-bottom: 2em;
  }
  /*==================================================
04_page_bousai_kurashi_lab02 step02
==================================================*/
  #bousaiKurashiLab02 .mainImg {
    background: url("../images/bousai_kurashi_lab02/main_img_bg_sp.png") no-repeat center top;
    background-size: cover;
  }
  #bousaiKurashiLab02 .mainImg img {
    width: 76.5vw;
  }
  #bousaiKurashiLab02 .sec02 .imgBox .col2 .img01,
  #bousaiKurashiLab02 .sec02 .imgBox .col2 .img02 {
    width: 100%;
  }
  #bousaiKurashiLab02 .sec02 .imgBox .col2 .img01 {
    margin-bottom: 10%;
  }
  /*==================================================
05_page_collaboration
==================================================*/
  #collaboration .mainImg img {
    width: 78.5vw;
  }
  .profileTxt02 .colBox {
    width: 100%;
    margin-bottom: 10%;
  }
  .profileTxt02 .colBox02 {
    width: 100%;
    margin-bottom: 10%;
  }
  #collaboration .btn {
    max-width: inherit;
    float: none !important;
  }
  #collaboration .work .workBox .headTxt,
  #collaboration .work .img,
  #collaboration .work .txt {
    width: 100%;
  }
  #collaboration .work .workBox .headTxt h3 {
    width: 100%;
  }
  #collaboration .work .workBox .headTxt p {
    margin-top: 0;
    font-size: 1.2rem;
  }
  #collaboration .work .img {
    margin-bottom: 5%;
  }
  #collaboration .work .txt p {
    font-size: 1.5rem;
    min-height: inherit;
    margin-bottom: 5%;
  }
  /*==================================================
05_page_collaboration02 step02
==================================================*/
  .tit_gal {
    width: 70%;
    height: auto;
    margin: 0 auto 2rem;
  }
  .gallery .gallery_item {
    width: 46%;
  }
  /*==================================================
06_page_projectmember
==================================================*/
  #projectmember .mainImg {
    background: url("../images/projectmember/main_img_bg_sp.png") no-repeat center;
    background-size: cover;
  }
  #projectmember .mainImg img {
    width: 74.3vw;
  }
  #projectmember .txt h3 {
    font-size: 1.7rem;
  }
  #projectmember .txt {
    margin-top: 10%;
  }
  /*==================================================
07_bokulabNiimo
==================================================*/
  #bokulabNiimo {
    /*==================
  SLIDER
  =======================*/
    /*==================
  CONCEPT
  =======================*/
    /*==================
    切り替えコンテンツ
    =======================*/
    /*==================
  moshimoのとき
  =======================*/
    /*==================
  切り替えボタン
  =======================*/
  }
  #bokulabNiimo .wrap {
    padding: 0;
    max-width: 100%;
  }
  #bokulabNiimo .aboutTit {
    padding-left: min(calc(56 / 750 * 100vw), 56px);
    padding-right: min(calc(56 / 750 * 100vw), 56px);
    padding-top: min(calc(33.6 / 750 * 100vw), 33.6px);
    padding-bottom: min(calc(33.6 / 750 * 100vw), 33.6px);
  }
  #bokulabNiimo .floor-swiper-container {
    position: relative;
  }
  #bokulabNiimo .swiper-container {
    padding-top: calc(30 / 750 * 100vw);
    padding-bottom: calc(54 / 750 * 100vw);
  }
  #bokulabNiimo .swiper-button-prev::before, #bokulabNiimo .swiper-button-prev::after,
  #bokulabNiimo .swiper-button-next::before,
  #bokulabNiimo .swiper-button-next::after {
    display: none !important;
  }
  #bokulabNiimo .swiper-button-prev.top-prev,
  #bokulabNiimo .swiper-button-next.top-next {
    top: calc(260 / 750 * 100vw);
    border-top-width: calc(41.5 / 750 * 100vw);
    border-bottom-width: calc(41.5 / 750 * 100vw);
    width: 0;
    height: 0;
  }
  #bokulabNiimo .swiper-button-prev.top-prev {
    border-right-width: calc(51 / 750 * 100vw);
    left: 0;
  }
  #bokulabNiimo .swiper-button-next.top-next {
    border-left-width: calc(51 / 750 * 100vw);
    right: 0;
  }
  #bokulabNiimo .top-swiper-slide {
    margin-left: 0;
    margin-right: 0;
    position: relative;
  }
  #bokulabNiimo .top-swiper-slide img {
    margin: auto;
    width: calc(707 / 750 * 100vw);
    max-width: 707px;
    height: calc(441 / 750 * 100vw);
    max-height: 441px;
  }
  #bokulabNiimo .top-swiper-slide p.u-underline {
    font-size: 2vw;
    right: calc(21.5 / 750 * 100vw);
    top: calc(47 / 750 * 100vw);
    padding-right: calc(35 / 750 * 100vw);
    border-bottom: 2px solid white;
  }
  #bokulabNiimo .swiper-button-prev.floor-prev,
  #bokulabNiimo .swiper-button-next.floor-next {
    top: calc(430 / 750 * 100vw);
    border-top-width: calc(41.5 / 750 * 100vw);
    border-bottom-width: calc(41.5 / 750 * 100vw);
    width: 0;
    height: 0;
    z-index: 1;
  }
  #bokulabNiimo .swiper-button-prev.floor-prev {
    border-right-width: calc(51 / 750 * 100vw);
    left: calc(-25 / 750 * 100vw);
  }
  #bokulabNiimo .swiper-button-next.floor-next {
    border-left-width: calc(51 / 750 * 100vw);
    right: calc(-25 / 750 * 100vw);
  }
  #bokulabNiimo .floor-swiper-slide {
    margin-left: 0;
    margin-right: 0;
  }
  #bokulabNiimo .floor-swiper-slide img {
    display: block;
    margin: auto;
    width: calc(447 / 750 * 100vw);
    max-width: 447px;
    height: calc(711 / 750 * 100vw);
    max-height: 711px;
  }
  #bokulabNiimo .concept-wrapper {
    padding-top: calc(40 / 750 * 100vw);
    padding-bottom: calc(48 / 750 * 100vw);
    padding-left: 0;
  }
  #bokulabNiimo .concept-image {
    margin: 0 auto;
    text-align: center;
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    width: calc(379 / 750 * 100vw);
    max-width: 379px;
    height: calc(221 / 750 * 100vw);
    max-height: 221px;
  }
  #bokulabNiimo .concept-btn {
    margin-top: calc(42 / 750 * 100vw);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
  #bokulabNiimo .concept-btn img {
    width: calc(174 / 750 * 100vw);
    height: calc(55 / 750 * 100vw);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}

@media screen and (max-width: 767px) and (hover: hover) {
  #bokulabNiimo .concept-btn img:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {
  #bokulabNiimo .contents {
    padding-top: calc(67 / 750 * 100vw);
    padding-bottom: calc(90 / 750 * 100vw);
  }
  #bokulabNiimo .contents-title {
    width: calc(327 / 750 * 100vw);
    max-width: 327px;
    height: calc(65.8 / 750 * 100vw);
    max-height: 65.8px;
    margin: 0 auto;
    margin-bottom: calc(26 / 750 * 100vw);
  }
  #bokulabNiimo .contents-overview {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
    margin-bottom: calc(50 / 750 * 100vw);
  }
  #bokulabNiimo .contents-overview img {
    margin: 0 auto;
    width: calc(711 / 750 * 100vw);
    max-width: 711px;
    height: calc(508 / 750 * 100vw);
    max-height: 508px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #bokulabNiimo .contents .link-to-floor {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    cursor: pointer;
    margin: auto;
    margin-bottom: calc(50 / 750 * 100vw);
    text-align: center;
  }
}

@media screen and (max-width: 767px) and (hover: hover) {
  #bokulabNiimo .contents .link-to-floor:hover img {
    -webkit-transform: translateY(0.5em);
            transform: translateY(0.5em);
  }
}

@media screen and (max-width: 767px) {
  #bokulabNiimo .contents .link-to-floor p {
    font-size: calc(36.7 / 750 * 100vw);
    letter-spacing: 0;
    line-height: 1.75;
    font-weight: 700;
  }
  #bokulabNiimo .contents .link-to-floor img {
    margin: auto;
    display: block;
    margin-top: calc(15 / 750 * 100vw);
    width: calc(50 / 750 * 100vw);
    height: calc(41 / 750 * 100vw);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #bokulabNiimo .contents-floor {
    background: unset !important;
    height: calc(711 / 750 * 100vw);
    max-height: 711px;
  }
  #bokulabNiimo .contents-floor.sp-none {
    display: none;
  }
  #bokulabNiimo .contents-floor-btn.sp-none {
    display: none;
  }
  #bokulabNiimo .contents-floor-btn.btn1 {
    top: calc(320 / 750 * 100vw);
    left: calc(285 / 750 * 100vw);
    width: calc(170 / 750 * 100vw);
    height: calc(300 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn2 {
    top: calc(190 / 750 * 100vw);
    left: calc(145 / 750 * 100vw);
    width: calc(300 / 750 * 100vw);
    height: calc(130 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn3 {
    top: calc(236 / 750 * 100vw);
    left: calc(150 / 750 * 100vw);
    height: calc(130 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn4 {
    top: calc(400 / 750 * 100vw);
    left: calc(133 / 750 * 100vw);
    width: calc(150 / 750 * 100vw);
    height: calc(220 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn5 {
    top: calc(175 / 750 * 100vw);
    left: calc(140 / 750 * 100vw);
    width: calc(300 / 750 * 100vw);
    height: calc(130 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn6 {
    top: calc(620 / 750 * 100vw);
    left: calc(250 / 750 * 100vw);
    width: calc(200 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn6-2 {
    top: calc(470 / 750 * 100vw);
    left: calc(130 / 750 * 100vw);
    width: calc(140 / 750 * 100vw);
    height: calc(180 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn7 {
    top: calc(420 / 750 * 100vw);
    left: calc(150 / 750 * 100vw);
    width: calc(300 / 750 * 100vw);
    height: calc(180 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn8 {
    top: calc(190 / 750 * 100vw);
    left: calc(150 / 750 * 100vw);
    width: calc(200 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
  #bokulabNiimo .contents-floor-btn.btn9 {
    top: calc(90 / 750 * 100vw);
    left: calc(200 / 750 * 100vw);
    width: calc(250 / 750 * 100vw);
    height: calc(85 / 750 * 100vw);
  }
  #bokulabNiimo .contents-details {
    margin: 0 auto;
    background: url("../images/bokulab-niimo/svg/itsumo-bg@sp.svg") no-repeat left center;
    background-size: contain;
    width: calc(628 / 750 * 100vw);
    max-width: 628px;
    height: calc(800 / 750 * 100vw);
    max-height: 800px;
    position: relative;
  }
  #bokulabNiimo .contents-item {
    top: 42%;
    /*==================
      タイトルの位置とサイズ
      =======================*/
    /*==================
      画像の位置とサイズ
      =======================*/
  }
  #bokulabNiimo .contents-item .text {
    margin-top: calc(15 / 750 * 100vw);
    width: calc(455 / 750 * 100vw);
    max-width: 455px;
    position: relative;
    font-size: calc(23 / 750 * 100vw);
  }
  #bokulabNiimo .contents-item p {
    position: absolute;
    top: 0;
    left: 0;
  }
  #bokulabNiimo .contents-item .title-1 {
    width: calc(247 / 750 * 100vw);
    max-width: 247px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-2 {
    width: calc(271 / 750 * 100vw);
    max-width: 271px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-3 {
    width: calc(327 / 750 * 100vw);
    max-width: 327px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-4 {
    width: calc(228 / 750 * 100vw);
    max-width: 228px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-5 {
    width: calc(186 / 750 * 100vw);
    max-width: 186px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-6 {
    width: calc(325 / 750 * 100vw);
    max-width: 325px;
    height: calc(64 / 750 * 100vw);
    max-height: 64px;
    margin-bottom: min(calc(10 / 750 * 100vw), 10px);
  }
  #bokulabNiimo .contents-item .title-7 {
    width: calc(312 / 750 * 100vw);
    max-width: 312px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-8 {
    width: calc(334 / 750 * 100vw);
    max-width: 334px;
    height: calc(28 / 750 * 100vw);
    max-height: 28px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  }
  #bokulabNiimo .contents-item .title-9 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(70 / 750 * 100vw);
    max-height: 70px;
    margin-bottom: min(calc(30 / 750 * 100vw), 30px);
    position: relative;
  }
  #bokulabNiimo .contents-item .image-1 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(237 / 750 * 100vw);
    max-height: 237px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-2 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(290 / 750 * 100vw);
    max-height: 290px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-3 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(348 / 750 * 100vw);
    max-height: 348px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-4 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(340 / 750 * 100vw);
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-5 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(340 / 750 * 100vw);
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-6 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(340 / 750 * 100vw);
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-7 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(340 / 750 * 100vw);
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-item .image-8 {
    width: calc(441 / 750 * 100vw);
    max-width: 441px;
    height: calc(340 / 750 * 100vw);
    max-height: 340px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #bokulabNiimo .contents-cation {
    padding-bottom: min(calc(120 / 750 * 100vw), 90px);
    width: calc(600 / 750 * 100vw);
    margin: 0 auto;
    font-size: min(calc(22 / 750 * 100vw), 22px);
    letter-spacing: 0;
    line-height: 1.318;
    font-weight: bold;
    text-align: center;
  }
  #bokulabNiimo .contents-cation .u-pc-none {
    display: block;
  }
  #bokulabNiimo.moshimo .contents-bg::after {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-image: url("../images/bokulab-niimo/svg/rain@sp.svg");
    /* fallback */
    background-image: url("../images/bokulab-niimo/svg/rain@sp.svg"), -webkit-gradient(linear, left top, left bottom, from(#e1ecf1), to(#e1ecf1));
    background-image: url("../images/bokulab-niimo/svg/rain@sp.svg"), -webkit-linear-gradient(#e1ecf1, #e1ecf1);
    background-image: url("../images/bokulab-niimo/svg/rain@sp.svg"), linear-gradient(#e1ecf1, #e1ecf1);
    /* W3C */
  }
  #bokulabNiimo.moshimo .concept-image {
    background: url("../images/bokulab-niimo/svg/moshimo-concept-sp.svg") no-repeat center;
    background-size: contain;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide {
    margin-left: 0;
    margin-right: 0;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide .slide1,
  #bokulabNiimo.moshimo .floor-swiper-slide .slide2,
  #bokulabNiimo.moshimo .floor-swiper-slide .slide3 {
    margin-right: auto;
    margin-left: auto;
    width: calc(447 / 750 * 100vw);
    max-width: 447px;
    height: calc(711 / 750 * 100vw);
    max-height: 711px;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide .slide1 {
    background: url("../images/bokulab-niimo/svg/moshimo-floor1@sp.svg") no-repeat left center;
    background-size: contain;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide .slide2 {
    background: url("../images/bokulab-niimo/svg/moshimo-floor2@sp.svg") no-repeat left center;
    background-size: contain;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide .slide3 {
    background: url("../images/bokulab-niimo/svg/moshimo-floor3@sp.svg") no-repeat left center;
    background-size: contain;
  }
  #bokulabNiimo.moshimo .floor-swiper-slide .btn5 {
    top: calc(160 / 750 * 100vw);
    left: calc(140 / 750 * 100vw);
    width: calc(300 / 750 * 100vw);
    height: calc(130 / 750 * 100vw);
  }
  #bokulabNiimo.moshimo .contents-title {
    margin-bottom: calc(10 / 750 * 100vw);
  }
  #bokulabNiimo.moshimo .contents-overview {
    background: url("../images/bokulab-niimo/1x/moshimo-overview@sp.png") no-repeat center;
    background-size: contain;
    width: calc(711 / 750 * 100vw);
    max-width: 711px;
    height: calc(508 / 750 * 100vw);
    max-height: 508px;
    margin-right: auto;
    margin-left: auto;
  }
  #bokulabNiimo.moshimo .contents-details {
    background: url("../images/bokulab-niimo/svg/moshimo-bg@sp.svg") no-repeat left center;
    background-size: contain;
  }
  #bokulabNiimo .sticky-wrapper {
    bottom: calc(40 / 750 * 100vw);
    right: calc(10 / 750 * 100vw);
  }
  #bokulabNiimo .sticky-wrapper.scrollfadeOut {
    opacity: 0 !important;
  }
  #bokulabNiimo .sticky-wrapper.fixed .sticky-buttons {
    height: calc(100% - 120px);
    margin-bottom: 0;
    margin-right: calc(20 / 750 * 100vw);
  }
  #bokulabNiimo .sticky-buttons {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: min(calc(10 / 750 * 100vw), 10px);
  }
  #bokulabNiimo .itsumo-button,
  #bokulabNiimo .moshimo-button {
    cursor: pointer;
    pointer-events: auto;
    outline: 0;
    width: calc(120 / 750 * 100vw);
    max-width: 120px;
    height: calc(240 / 750 * 100vw);
    max-height: 240px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}

@media screen and (max-width: 767px) and (hover: hover) {
  #bokulabNiimo .itsumo-button:hover,
  #bokulabNiimo .moshimo-button:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 400px) {
  .gallery_item .back_b dt {
    font-size: 1.4rem;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    height: 6rem;
  }
  .gallery_item .back_b {
    padding: 5% 0% 0% 10%;
  }
  .gallery_item dd {
    font-size: 1.2rem;
  }
  .gallery_item .back_b2 {
    padding: 5% 0% 0% 10%;
  }
  .gallery_item .back_b2 dt {
    font-size: 1.4rem;
    margin-bottom: 0rem;
    height: 4.5rem;
  }
  .gallery_item .back_b2 num {
    margin-top: 1rem;
  }
}

/*05防災知識*/
.exam {
  border: solid 1px;
  padding: 1rem 2rem;
  max-width: 520px;
  margin: 5rem auto 0rem;
}
/*# sourceMappingURL=collabo.css.map */