.page-title h1{
  line-height: 1.5;
}
.page-title h1 span{
  font-size: 75%;
}
.post section.contents section {
  margin-bottom: 0;
}
.post section.contents section.grid{
margin-bottom: 6rem;
}
.post section.contents section.grid.partners{
  padding-top: 6rem;
}
.post section.contents .lede .block.title,
.post section.contents .chapter .block.title{
  width: 100%;
}
.post section.contents .chapter .block.sec,
.divider{
  margin-bottom: 2rem;
}
picture.insert,figure.insert{
  margin-bottom: 0;
}
figure.insert figcaption{
  margin-top: 1em;
  padding: 0 1.5rem;
}
picture.insert.nm,figure.insert.nm{
  margin-bottom: 0;
}
.nm{
  margin-bottom: 0!important;
}
figure.insert figcaption.top{
  margin-top: 0;
}
.post section.contents .chapter .prof{
  font-size: var(--font13);
  width: calc(100% - 3rem);
  border: 1px solid;
  margin-bottom: 9rem;
  margin-top: 3.5rem;
  padding: 0 2rem 3rem 2rem;
}
.post section.contents .chapter .prof ul.block{
  margin-top: 3rem;
  width: 100%;
}
.post section.contents .chapter .prof ul.block li.info{
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid;
}
.post section.contents .chapter .prof ul.block li.info:last-child{
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.post section.contents .chapter .prof ul.block li.head{
  text-align: center;
  font-weight: 500;
  font-size: var(--font15);
  margin-bottom: 2em;
}
.post section.contents .chapter .prof ul.block li.name{
  font-weight: 500;
  font-size: var(--font15);
  margin-bottom: 0.35em;
}
.post section.contents .chapter .prof ul.block li.profile{
  font-size: var(--font13);
  line-height: 1.65;
}
.post section.contents .chapter .prof ul.block li.profile.caution{
  font-size: var(--font12);
}
.contents.body .inner.article{
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
.divider{
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px solid;
}
.post .grid .blocks{
  gap: 6rem 0.5rem;
}
.post .grid .blocks .link.banner {
  width: 100%;
  flex-flow: column;
  height: auto;
}
.post .grid .blocks.col2{
    gap: 6rem 3rem;
}
.post .grid .blocks.col2 .link.banner{
  width: calc((100% / 2) - 1.5rem);
}

.post .grid .blocks .link.banner picture{
  height: auto;
}
.showroom .post-title,
.relationlink .post-title{
  font-size: var(--font15);
  margin-top: 0;
  font-weight: 500;
  text-align: center;
}
.post section.contents .inner .block.title .title.sub{
  font-size: var(--font14);
  margin-top: 1em;
}
section.contents .relationlink .cap{
  padding-left: 1.5rem;
  padding-top: 1rem;
}
.relationlink .post-title{
  margin-top: 1rem;
  text-align: left;
}
section.contents .relationlink p{
  font-size: var(--font13);
  line-height: 1.75;
}
.post .grid .blocks .link.banner .link.btn{
  height: auto;
  padding: 1em 2.5em;
  margin-top: 2.5rem;
}
.post.feature .blocks .link .buttons .arrow{
  margin-left: auto;
  border: 1px solid var(--colorWht);
}
.post section.contents section.share{
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.under section.other .inner{
  border-top: none;
}
.post section.contents section.share .inner{
  padding-right: 0;
  padding-top: 9rem;
  padding-bottom: 9rem;
  gap: 3rem;
}
.post section.contents section.share .inner::before{
  content: '';
  height: auto;
  width: 1px;
  border-right: 1px solid;
  order: 2;
}
.link.sns{
  font-size: var(--font13);
  font-weight: 500;
  gap: 1rem;
}
.link.sns:first-of-type{
  order: 1;
}
.link.sns:last-of-type{
  order: 3;
}
.link.sns img{
  width: 3rem;
}
.post #recent-feature.mrgL9{
  margin-top: 0;
}
.post section.contents section.relation .block.txt,
.post section.contents section.relation picture{
  width: 100%;
  overflow: hidden;
}
.post section.contents section.relation .block.txt{
  padding: 1.5rem 1.5rem 0 1.5rem;
}
.post section.contents section.relation .link.banner{
  padding-top: 3rem;
  margin-bottom: 3rem;
  border-top:1px solid var(--primaryBlk);
}
.post section.contents section.relation .block.txt p{
  font-size: var(--font15);
  margin-top: 0.5em;
}
.post section.contents section.relation .block.txt p.title{
  font-weight: 500;
}
.post section.contents section.relation .shoulder,
.post section.contents .chapter .prof span{
  position: relative;
  bottom: -0.5em;
  background: var(--colorWht);
  padding: 0 1em;
  font-size: var(--font12);
  line-height: 1;
}
.post section.contents .chapter .prof span{
  bottom: 0.65em;
}
section.contents .inner .block.w50{
  width: 100%;
}
#story.post section.contents .chapter .block.sec, #story.post .divider{
  max-width: 70rem;
}
.post section.contents .inner .block.title .title.lede{
  margin-bottom: 0;
}
section.contents .inner .block.title p.mb{
  margin-bottom: 1.75em;
  text-align: justify;
}
section.contents .inner .block.title p.mb:last-child{
  margin-bottom: 0;
}
.flex-wrapper.gap4 picture{
  margin-bottom: 0;
}
.flex-wrapper.gap4:has(picture){
  gap: 0.5rem;
}
.cur{
  letter-spacing: -0.0002em;
}
.contents.modal .info a img{
  opacity: 0.15;
  height: auto;
  width:2.5rem;
}
#modal.under .wrapper{
  padding-top: 1.6rem;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}
#partner .modaal-container{
  height: 89vh;
    width: 92.25vw;
    margin-top: 7vh;
}
.contents.modal .info a[href] img{
  opacity: 1;
}
.contents.modal .info a[href]:hover img{
  opacity: 0.6;
}
.contents.modal .grid{
  gap: 3.2rem;
  margin-top: 3.2rem;
}
.post section.contents section.case,
.post section.contents section.info{
  width: 100%;
    position: relative;
}
.post section.contents section.case .block.visual{
  width: max-content;
  gap: 2rem;
  padding-bottom: 4rem;
}
.post section.contents section.case .block.visual figure{
  width: 65vw;
}
.post section.contents section.case .block.visual figure img{
    aspect-ratio: 16 / 9;
    height: 100%;
    object-fit: cover;
}
.post section.contents section.info{
    font-size: var(--font15);
    line-height: 2;
}
.post section.contents section.info ul.flex{
  gap: 1.6rem;
  height: 100%;
  position: sticky;
  top: 3.2rem;
}
.post section.contents section.info ul.flex li{
  flex-wrap: nowrap;
}
.post section.contents section.info ul li span:first-child{
  min-width: 8.5em;
}
.post section.contents section.info ul li.sns a{
    display: flex;
    margin-right: 1rem;
}
#partner .modaal-inner-wrapper{
  padding: 0;
}
.contents.modal .grid h5.title{
  line-height: 1;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid;
  padding-bottom: 1.5rem;
}
.relationlink.modal .post-title{
  font-size: var(--font20);
      margin-bottom: 0.25em;
    margin-top: 0.75em;
}
.relationlink.modal .post-title + p{
  line-height: 1.5;
}
.relationlink.modal .js-modaal-close{
  cursor: pointer;
}
.post section.contents section.relation.full.article{
    margin-bottom: 6rem;
}
.post section.contents section.relation.full.article .link.banner{
  border-top: none;
    padding: 0;
    justify-content: center;
    aspect-ratio: 1 / 1.65;
}
.post section.contents section.relation.full.article .link.banner picture{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--primaryBlk);
}
.post section.contents section.relation.full.article .link.banner picture img{
  opacity: 0.6;
}
.post section.contents section.relation.full.article .link.banner:hover picture img{
  opacity: 0.3;
}
.post section.contents section.relation.full.article .link.banner .block.txt{
  color: var(--colorWht);
  text-align: center;
  z-index: 1;
}
.post section.contents section.relation.full.article .link.banner:hover .block.txt{
  color: var(--colorBaseGry);
}
.post section.contents section.relation.full.article .link.banner .block.txt p{
  text-align: center;
}
.post section.contents section.relation.full.article .link.banner .block.txt p.title span{
  display: block;
}
#partner .slider{
  gap: 0.8rem;
}
.swiper {
  width: 100%;
  height:auto;
  margin-left: auto;
  margin-right: auto;
}
.swiper-wrapper{
    height:auto;
  transition-timing-function: linear;
}
.swiper-slide{
  aspect-ratio: 1 / 1;
}
.swiper-slide.asp169{
  aspect-ratio: 16 / 9;
}
.swiper-slide img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#campaign a{
      padding-top: 2rem;
    padding-bottom: 2rem;
}
#campaign .gap{
  gap: 0.25rem;
}
#campaign span.lede{
  font-size: 1.15rem;
}
.relative{
  position: relative;
}
span.inline a{
  text-decoration: underline;
  cursor: pointer;
}
span.inline a:hover{
  color:var(--colorBlu);
}
p.relation{
  margin-top: 1em;
}
p.relation a{
  text-decoration: underline;
}

#contest2024{
  display: flex;
  position: absolute;
  background: rgb(223, 223, 223);
  bottom: calc(100% + 1em);
  left: 0;
  right: 0;
  margin: 0 auto;
  border-radius: 0.5rem;
  padding: 1.5em;
  width: 90vw;
  height: max-content;
  z-index: 1;
}
#contest2024::after{
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1rem;
  background: rgb(223, 223, 223);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1rem;
  margin: 0 auto;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

#contest2024.off{
  display: none;
}

#contest2024 , #contest2024 span{
  text-decoration: none;
}

#contest2024 .tips-head{
  font-size: var(--font14);
  margin-bottom: 0.5em;
  font-weight: bold;
  text-align: center;
}

#contest2024 .tips-body{
  font-size: var(--font13);
  line-height: 1.5;
}
.tips-close{
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  background: #000000;
  right: 1rem;
  top: 1rem;
  border-radius: 1rem;
  cursor: pointer;
}
.tips-close::before,
.tips-close::after{
  content: '';
  position: absolute;
  width: 70%;
  height: 1px;
  background: #ffffff;
  display: inline-block;
}
.tips-close::before{
    transform: rotate(45deg);
}
.tips-close::after{
    transform: rotate(-45deg);
}
.inline a .material-symbols-outlined{
  vertical-align: sub;
}
.swiper{
  z-index: 0;
}

@media (821px <= width){
  .post .grid .blocks .link.banner {
        width: calc(100% / 3 - (1rem / 3));
  }

  .post section.contents .chapter .block.sec,
  .divider{
  max-width: 66rem;
  margin-bottom: 6rem;
}
  .page-title h1{
    line-height: 1.75;
  }

  .showroom .post-title,.relationlink .post-title{
  text-align: left;
}
.post section.contents section.relation,
.post section.contents section.share{
  max-width: 66rem;
  margin-left: auto;
  margin-right: auto;
}
.post section.contents section.relation.full{
  max-width: 100%;
}

.post section.contents section.relation.full.article .link.banner{
    padding: 3rem;
    margin-bottom: 0;
}

section.contents .relationlink .cap{
  padding-left: 0;
  padding-top: 0;
}
.post section.contents section.relation .block.txt,
.post section.contents section.relation picture{
  width: 50%;
}
.post section.contents section.relation .block.full,
.post section.contents .inner .block.title.full,
.post section.contents section.relation picture.full{
  width: 100%;
}
.post section.contents .inner .block.title.sub p{
  font-weight: 400;
}

.post section.contents .inner .block.title.border{
  border-bottom: 1px solid;
  padding-bottom: 1rem;
}
.post section.contents .inner .block.title.border .title{
  margin-bottom: 0.25em;
}

picture.insert,figure.insert{
  margin-bottom: 6rem;
}
.post section.contents section.relation .block.txt p{
  text-align: left;
}
.post section.contents section.relation .block.txt{
  padding: 0 4rem 0 0;
}
.post section.contents .inner .block.title .title.sub{
  font-size: var(--font16);
}
.post #recent-feature .blocks.nowrap{
  justify-content: flex-start;
}
.post section.contents .chapter .block.sec.full{
  max-width: 100%;
}
.w50,
section.contents .inner .block.w50{
  width: 50%;
}
.w50.right,
section.contents .inner .block.w50.right{
  width: calc(50% - 3rem);
}
picture.insert, figure.insert {
  margin-bottom: 6rem;
}
.flex-wrapper.gap4:has(picture){
  gap: 4rem;
}
.post section.contents .chapter .prof{
  width: 100%;
  padding: 0 3rem 3rem 3rem;
}
.flex-wrapper.gap4 picture.w50{
  margin-bottom: 6rem;
}
.under section.other .inner{
  border-top: 1px solid;
}
  #modal.under .wrapper{
  padding-top: 3.2rem;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}
.post section.contents section.case,
.post section.contents section.info{
  width: calc(50% - 1.6rem);
}
.post section.contents section.case .block.visual,
.post section.contents section.case .block.visual figure{
  width: 100%;
}
.post section.contents section.case .block.visual{
      gap: 4rem;
}
.contents.modal .info a img{
  width: 2rem;
}
#partner .modaal-container{
  margin-top: 0;
}
.contents.modal .grid{
  margin-top: 6.4rem;
}
.post section.contents section.relation.full.article .link.banner{
  aspect-ratio: 16 / 7.65;
}
.post section.contents section.relation.full.article .link.banner .block.txt p.sub-title{
  font-size: var(--font13);
}
.post section.contents section.relation.full.article .link.banner .block.txt p.title{
  font-size: var(--font22);
}
.post section.contents section.relation.full.article .link.banner .block.txt p.title span{
  font-size: var(--font14);
}
.post section.contents section.relation.full.article .link.banner .block.txt p.lede{
  font-size: var(--font14);
  line-height: 1.5;
}
#contest2024{
  width: 120%;
}
#contest2024 .tips-head{
  text-align: left;
}
}

@media (820px >= width){
  .post section.contents section.share .inner{
    padding-top: 0;
    padding-bottom: 0;
    margin: 6rem 0;
  }
  #recent-feature{
    margin-bottom: 6rem;
  }
  #recent-feature .cap{
    padding-left: 1.5rem;
  }
  /*section.contents.top picture img{
    height: 100%;
  }*/
  section.contents .link.banner,
  .post section.contents section.share{
    width: calc(100% - 3rem);
    margin-left: auto;
    margin-right: auto;
  }
  .post .divider{
    width:calc(100% - 3rem)
  }
  section.contents.top picture.sc{
    height: calc(100vh - 23.85rem);
  }
  section.contents.top picture.ext{
    height: calc(100vh - 20.9rem);
  }
  .post section.contents section.info{
    margin-top: 3rem;
  }
  .post .grid .blocks.col2 .link.banner{
    width: 100%;
    border-bottom: 1px solid;
    padding-bottom: 3.2rem;
  }
  .post section.contents section.info ul.flex li a{
    word-break: break-all;
  }
  .post .partners .blocks.col2{
    gap: 3.4rem;
  }
  .post section.contents section.relation.full.article .link.banner .block.txt p.sub-title{
  font-size: var(--font13);
  line-height: 1.5;
}
.post section.contents section.relation.full.article .link.banner .block.txt p.title{
        font-size: var(--font24);
        line-height: 1.35;
}
.post section.contents section.relation.full.article .link.banner .block.txt p.title span{
  font-size: var(--font14);
  margin-bottom: 0.5em;
}
.post section.contents section.relation.full.article .link.banner .block.txt p.lede{
  font-size: var(--font13);
  margin-top: 1em;
}
.post section.contents section.relation.full.article .link.banner picture img{
  object-position: 98%;
}
.post section.contents section.relation.full.article .link.banner picture img.potision-center{
  object-position: center;
}
#story.partner section.contents .inner picture img{
  object-position: 25%;
}
}
@media (320px >= width){
  .contents.modal .info a img{
    width: 1.5rem;
  }
}