@charset "UTF-8";

.home.fv-area {
  position: relative;
}

@media screen and (max-width: 834px) {
  .home.fv-area {
    margin-bottom: 60px;
  }
}

.home.fv-area .text-area {
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.home.fv-area .text-area .cpname {
  position: absolute;
  margin: 0;
  font-size: 0;
  line-height: 0;
}

.home.fv-area .text-area .name-01 {
  top: 40px;
  left: 20px;
}

.home.fv-area .text-area .name-02 {
  top: 125px;
  right: 21px;
}

.home.fv-area .text-area .anniversary {
  width: 104px;
  height: 104px;
  position: absolute;
  top: 290px;
  left: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home.fv-area .text-area .anniversary#jsDynamicCounterFv {
  font-size: 84px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  line-height: 1;
  display: block;
  letter-spacing: -8px;
}

.home.fv-area .text-area .anniversary::before {
  content: "";
  background: #030046;
  opacity: 0.9;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.home.fv-area .text-area .anniversary span {
  text-align: center;
  font-weight: bold;
  width: 100%;
  display: block;
}

.home.fv-area .text-area .anniversary .counter-component {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.home.fv-area .text-area .anniversary .counter-component p {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin-bottom: 0;
}

.home.fv-area .text-area .anniversary .counter-text img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.home.fv-area .text-area .copyright {
  position: absolute;
}

@media screen and (max-width: 834px) {
  .home.fv-area .text-area .name-01 {
    width: 48px;
  }

  .home.fv-area .text-area .name-02 {
    width: 76px;
  }

  .home.fv-area .text-area .anniversary .counter-text {
    padding-right: 8px;
    padding-left: 8px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
  }

  .home.fv-area .text-area .copyright {
    display: flex;
    align-items: flex-end;
    padding-bottom: 15px;
    bottom: 0;
    left: 15px;
  }
}

@media screen and (min-width: 835px) {
  .home.fv-area .text-area {
    padding-right: 80px;
    padding-left: 80px;
  }

  .home.fv-area .text-area .name-01 {
    left: 80px;
  }

  .home.fv-area .text-area .name-02 {
    top: 52px;
    right: 80px;
  }

  .home.fv-area .text-area .anniversary {
    width: 224px;
    height: 224px;
    top: 576px;
    left: 80px;
  }

  .home.fv-area .text-area .anniversary#jsDynamicCounterFv {
    font-size: 171px;
  }

  .home.fv-area .text-area .anniversary .counter-text {
    padding-top: 8px;
  }

  .home.fv-area .text-area .copyright {
    font-size: 40px;
    font-weight: 700;
    display: flex;
    justify-content: flex-end;
    text-align: right;
    bottom: 25px;
    right: 80px;
  }
}

/* news */
.news-area {
  margin-bottom: 90px;
}
.table-news {
  padding-top: 0;
  margin-bottom: 56px;
  position: relative;
}

.table-news::before,
.table-news::after {
  content: "";
  border-bottom: 1px solid rgb(255 255 255 / 50%);
  position: absolute;
  top: 0;
}

.table-news::before {
  right: 100%;
  left: -100%;
}

.table-news::after {
  right: -100%;
  left: 100%;
}

.table-news .block-area {
  position: relative;
  background: transparent;
  transition: 0.5s ease all;
}

.table-news .block-area:hover,
.table-news .block-area:hover .text {
  color: #fff;
}

.table-news .block-area:first-child {
  border-top: 1px solid rgb(255 255 255 / 50%);
}

.table-news .block-area {
  border-bottom: 1px solid rgb(255 255 255 / 50%);
}

.table-news .block-area::before,
.table-news .block-area::after {
  content: "";
  border-bottom: 1px solid rgb(255 255 255 / 50%);
  position: absolute;
  bottom: -1px;
}

.table-news .block-area::before {
  right: 100%;
  left: -100%;
}

.table-news .block-area::after {
  right: -100%;
  left: 100%;
}

.table-news dl {
  margin: 0;
  border: none;
  position: relative;
}

.table-news .block-area dl::before,
.table-news .block-area dl::after {
  content: "";
  background: transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  transition: 0.5s ease all;
  z-index: -1;
}

/* .table-news .block-area:hover dl::before,
.table-news .block-area:hover dl::after {
  background: #ffc000;
} */

.table-news .block-area dl::before {
  right: 50%;
  left: -100%;
}

.table-news .block-area dl::after {
  right: -100%;
  left: 50%;
}

.table-news dl dt,
.table-news dl dd {
  display: block;
  padding: 0;
  margin: 0;
  border: none;
}

.news-info {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.news-info .category-name {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 16px;
  transition: 0.5s ease all;
}

.table-news .block-area {
  font-size: 18px;
  font-weight: 500;
}

.table-news dl dd .news-text .text {
  display: block;
  overflow: hidden;
  text-decoration: underline;
}

@media (max-width: 834px) {
  .table-news dl {
    display: block;
  }

  .table-news dl dt {
    padding-top: 32px;
    padding-bottom: 8px;
  }

  .table-news dl dd {
    padding-top: 0;
    padding-bottom: 32px;
  }

  .table-news dl dd .news-text .text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .table-news dl dd .news-text .read {
    display: none;
  }
}

@media (min-width: 835px) {
  .table-news dl {
    display: flex;
    align-items: center;
  }

  .table-news dl dt,
  .table-news dl dd {
    display: table-cell;
    vertical-align: middle;
  }

  .table-news dl dt {
    flex: 0 0 248px;
    max-width: 248px;
    min-width: inherit;
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .news-info .category-name {
    margin-left: 64px;
  }

  .table-news dl dd {
    flex: 0 0 calc(100% - 248px);
    max-width: calc(100% - 248px);
    padding-left: 48px;
  }

  .table-news dl dd .news-text {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
  }

  .table-news dl dd .news-text .text {
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .table-news dl dd .news-text .read {
    text-align: center;
    flex: 0 0 90px;
    max-width: 90px;
    margin-left: auto;
  }

  .table-news .block-area:hover dl dd .news-text .read {
    text-decoration: none;
  }
}

main article .home-contents {
  overflow: hidden;
}

main article .home-contents section.bg-common {
  overflow: visible;
  position: relative;
}

.home-contents section .image-area {
  position: relative;
  background: #000;
  padding-bottom: 30px;
}

.home-contents .image-area .slide-image {
  position: relative;
}

.home-contents .image-area .slide-image::before {
  content: "";
  background-image: linear-gradient(90deg, black, transparent);
  max-width: 1150px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.home-contents section:nth-child(odd) .image-area .slide-image::before {
  background-image: linear-gradient(90deg, black, transparent);
  margin-right: auto;
}

.home-contents section:nth-child(even) .image-area .slide-image::before {
  background-image: linear-gradient(-90deg, black, transparent);
  margin-left: auto;
}

.home-contents .image-area .slide-image img {
  width: 100%;
  min-height: 555px;
  object-fit: cover;
}

.home-contents .image-area .pc-large img {
  min-height: 555px;
  object-fit: cover;
}

.home-contents .image-area .pc-small::before {
  content: "";
  background-image: linear-gradient(90deg, black, transparent);
  max-width: 1150px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.home-contents section:nth-child(odd) .image-area .pc-small::before {
  background-image: linear-gradient(90deg, black, transparent);
  margin-right: auto;
}

.home-contents section:nth-child(even) .image-area .pc-small::before {
  background-image: linear-gradient(-90deg, black, transparent);
  margin-left: auto;
}

.home-contents .image-area .pc-small img {
  width: 100%;
  min-height: 555px;
  object-fit: cover;
}

.home-contents .image-area .text-area {
  max-width: 1280px;
  padding-right: 30px;
  padding-left: 30px;
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.home-contents .image-area .text-area p {
  color: #151515;
  font-weight: 500;
}

.home-contents section .block-area img {
  display: block;
  margin-left: auto;
}

@media screen and (max-width: 834px) {
  main article .home-contents {
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
  }

  .home-contents section .block-area {
    max-width: 390px;
    margin-right: auto;
    margin-left: auto;
  }

  .home-contents section .block-area img {
    margin-right: 15px;
  }

  .home-contents .image-area .text-area {
    padding-right: 0;
    padding-left: 0;
  }

  .home-contents .bg-common .image-area .text-area .metabox {
    background-position: top center;
    background-repeat: no-repeat;
    padding: 56px;
    margin-top: -56px;
  }

  .home-contents .bg-common.about-kakimi .image-area .text-area {
    padding-top: 70px;
  }

  .bg-common.about-kakimi .image-area .text-area .metabox {
    background-image: url(../img/home/text-about-kakimi-sp.svg);
    background-size: 395px auto;
    height: 442px;
  }

  .home-contents .bg-common.service .image-area .text-area {
    padding-top: 140px;
  }

  .bg-common.service .image-area .text-area .metabox {
    background-image: url(../img/home/text-service-sp.svg);
    background-size: 386px auto;
    height: 302px;
  }

  .home-contents .bg-common.factory .image-area .text-area {
    padding-top: 112px;
  }

  .bg-common.factory .image-area .text-area .metabox {
    background-image: url(../img/home/text-factory-sp.svg);
    background-size: 390px auto;
    height: 354px;
  }

  .home-contents .bg-common.works .image-area .text-area {
    padding-top: 120px;
  }

  .bg-common.works .image-area .text-area .metabox {
    background-image: url(../img/home/text-works-sp.svg);
    background-size: 385px auto;
    height: 281px;
  }

  .home-contents .bg-common.voice .image-area .text-area {
    padding-top: 128px;
  }

  .bg-common.voice .image-area .text-area .metabox {
    background-image: url(../img/home/text-voice-sp.svg);
    background-size: 385px auto;
    height: 281px;
  }

  .home-contents .bg-common.guidelines .image-area .text-area {
    padding-top: 184px;
  }

  .home-contents .bg-common.guidelines .block-area img {
    margin-right: auto;
    margin-left: 15px;
  }

  .bg-common.guidelines .image-area {
    margin-bottom: 72px;
  }

  .bg-common.guidelines .image-area .text-area .metabox {
    background-image: url(../img/home/text-guidelines-sp.svg);
    background-size: 382px auto;
    height: 238px;
  }

  .home-contents .image-area .text-area p {
    font-size: 18px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 835px) and (max-width: 1200px) {
  .home-contents .bg-common.factory .image-area .text-area p {
    padding-right: 90px;
  }
}

@media screen and (min-width: 835px) {
  .home-contents section:nth-child(odd) .block-area {
    margin-right: auto;
  }

  .home-contents section:nth-child(even) .block-area {
    margin-left: auto;
  }

  .home-contents section:first-child .image-area {
    padding-top: 42px;
  }

  .home-contents section .image-area {
    padding-bottom: 42px;
  }

  .home-contents .image-area .text-area {
    padding-right: 80px;
    padding-left: 80px;
  }

  .home-contents .image-area .text-area .block-area .image {
    position: relative;
    z-index: 2;
  }

  .home-contents .image-area .text-area .block-area .metabox {
    position: relative;
    z-index: 1;
  }

  .bg-common.about-kakimi .image-area .text-area .block-area {
    width: 730px;
  }

  .bg-common.about-kakimi .image-area .text-area .metabox {
    background-image: url(../img/home/text-about-kakimi-pc.svg);
    background-size: 718px 426px;
    background-repeat: no-repeat;
    width: 718px;
    height: 426px;
    margin-top: -108px;
    margin-left: -88px;
  }

  .bg-common.about-kakimi .image-area .text-area .block-area {
    width: 730px;
  }

  .bg-common.about-kakimi .image-area .text-area .metabox {
    background-image: url(../img/home/text-about-kakimi-pc.svg);
    background-size: 718px 426px;
    background-repeat: no-repeat;
    width: 718px;
    height: 426px;
    margin-top: -108px;
    margin-left: -88px;
  }

  .bg-common.service .image-area .text-area .block-area {
    width: 440px;
    margin-top: -72px;
  }

  .bg-common.service .image-area .text-area .metabox {
    background-image: url(../img/home/text-service-pc.svg);
    background-size: 616px 336px;
    background-repeat: no-repeat;
    width: 616px;
    height: 336px;
    margin-top: -64px;
    margin-left: -96px;
  }

  .bg-common.factory .image-area .text-area .block-area {
    width: 480px;
    margin-top: -64px;
  }

  .bg-common.factory .image-area .text-area .metabox {
    background-image: url(../img/home/text-factory-pc.svg);
    background-size: 710px 352px;
    background-repeat: no-repeat;
    width: 710px;
    height: 352px;
    margin-top: -72px;
    margin-left: -96px;
  }

  .bg-common.works .image-area .text-area .block-area {
    width: 440px;
    margin-top: -72px;
  }

  .bg-common.works .image-area .text-area .metabox {
    background-image: url(../img/home/text-works-pc.svg);
    background-size: 614px 312px;
    background-repeat: no-repeat;
    width: 614px;
    height: 312px;
    margin-top: -72px;
    margin-left: -116px;
  }

  .bg-common.voice .image-area .text-area .block-area {
    width: 440px;
    margin-top: -72px;
  }

  .bg-common.voice .image-area .text-area .metabox {
    background-image: url(../img/home/text-voice-pc.svg);
    background-size: 606px 306px;
    background-repeat: no-repeat;
    width: 606px;
    height: 306px;
    margin-top: -72px;
    margin-left: -116px;
  }

  .bg-common.guidelines .image-area {
    margin-bottom: 97px;
  }

  .home-contents section.bg-common.guidelines .block-area img {
    margin-left: 0;
  }

  .bg-common.guidelines .image-area .image {
    margin-left: -32px;
  }

  .bg-common.guidelines .image-area .text-area {
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }

  .bg-common.guidelines .image-area .text-area .block-area {
    width: 698px;
    margin: auto;
    margin-bottom: -101px;
  }

  .bg-common.guidelines .image-area .text-area .metabox {
    background-image: url(../img/home/text-guidelines-pc.svg);
    background-size: 698px 316px;
    background-repeat: no-repeat;
    width: 698px;
    height: 316px;
    margin-top: -114px;
  }

  .home-contents .image-area .text-area p {
    font-size: 18px;
    padding-top: 108px;
    padding-right: 88px;
    padding-bottom: 48px;
    padding-left: 120px;
  }

  .home-contents .bg-common.guidelines .image-area .text-area p {
    padding-top: 128px;
  }

  /* 「垣見鉄工について」は本文が5行のため吹き出しの上に寄る。枠の上下中央に置く */
  .home-contents .bg-common.about-kakimi .image-area .text-area p {
    padding-top: 138px;
  }
}

/* 1920px以上は改行が入って7行になり、元の値で中央に収まる */
@media screen and (min-width: 1920px) {
  .home-contents .bg-common.about-kakimi .image-area .text-area p {
    padding-top: 108px;
  }
}

@keyframes loop-slide-odd {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes loop-slide-even {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

.slideshow {
  display: flex;
  white-space: nowrap;
  opacity: 1;
  transition: all 0.3s;
  pointer-events: none;
}

.slideshow .slideshow-item {
  flex: 0 0 auto;
}

.home-contents .slideshow.odd .slideshow-item {
  animation: loop-slide-odd 60s infinite linear 1s both;
}

.home-contents .slideshow.even .slideshow-item {
  animation: loop-slide-even 60s infinite linear 1s both;
}

/* js animation */
@keyframes animationRight {
  from {
    transform: translateX(32px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes animationLeft {
  from {
    transform: translateX(-32px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes animationFade {
  from {
    transform: scale(95%);
    opacity: 0;
  }

  to {
    transform: scale(100%);
    opacity: 1;
  }
}

@keyframes animationWorksBg {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes animationWorksPop {
  from {
    transform: translateY(160px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes animationGuidelinesPopTop {
  from {
    transform: translateY(-160px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes animationGuidelinesPopBottom {
  from {
    transform: translateY(160px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media screen and (min-width: 1920px) {
  .js-scroll-animation {
    opacity: 0;
  }

  .js-scroll-animation.is-animated {
    animation: animationFade 0.3s linear forwards;
    animation-delay: 0.6s;
  }

  .js-scroll-animation.animation-right.is-animated {
    animation: animationRight 0.3s linear forwards;
    animation-delay: 0.6s;
  }

  .js-scroll-animation.animation-left.is-animated {
    animation: animationLeft 0.3s linear forwards;
    animation-delay: 0.6s;
  }

  .home-contents .image-area .text-area .block-area .metabox {
    animation-delay: 0.9s;
  }

  .js-scroll-animation.animation-works-bg.is-animated {
    animation: animationWorksBg 0.2s linear forwards;
    animation-delay: 0.6s;
  }

  .js-scroll-animation.animation-works-pop.is-animated {
    animation: animationWorksPop 0.1s linear forwards;
  }

  .js-scroll-animation.animation-works-pop.pop-01.is-animated {
    animation-delay: 1.1s;
  }

  .js-scroll-animation.animation-works-pop.pop-02.is-animated {
    animation-delay: 1.2s;
  }

  .js-scroll-animation.animation-works-pop.pop-03.is-animated {
    animation-delay: 1.3s;
  }

  .bg-common.works .image-step {
    position: relative;
  }

  .bg-common.works .image-step .animation-works-pop {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .home-contents section.works .image-area .text-area .block-area .image {
    animation-delay: 1.9s;
  }

  .home-contents section.works .image-area .text-area .block-area .metabox {
    animation-delay: 2.2s;
  }

  .js-scroll-animation.animation-guidelines-pop.is-animated {
    animation: animationGuidelinesPopBottom 0.1s linear forwards;
  }

  .js-scroll-animation.animation-guidelines-pop.pop-01.is-animated {
    animation: animationGuidelinesPopTop 0.1s linear forwards;
    animation-delay: 1.1s;
  }

  .js-scroll-animation.animation-guidelines-pop.pop-02.is-animated {
    animation-delay: 1.2s;
  }

  .js-scroll-animation.animation-guidelines-pop.pop-03.is-animated {
    animation-delay: 1.3s;
  }

  .js-scroll-animation.animation-guidelines-pop.pop-04.is-animated {
    animation-delay: 1.4s;
  }

  .js-scroll-animation.animation-guidelines-pop.pop-05.is-animated {
    animation-delay: 1.5s;
  }

  .bg-common.guidelines .image-step {
    position: relative;
  }

  .bg-common.guidelines .image-step .animation-guidelines-pop {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .home-contents section.guidelines .image-area .text-area .block-area .image {
    animation-delay: 1.8s;
  }

  .home-contents
    section.guidelines
    .image-area
    .text-area
    .block-area
    .metabox {
    animation-delay: 2.1s;
  }
}
/* トップページの各ブロックを、押せると分かるようにする */
/* ボタンは吹き出しを基準に絶対配置し、見出しや本文の位置を一切動かさない */
.home-contents section .metabox {
  position: relative;
  z-index: 1;
}

/* 見出しが吹き出しの後ろに隠れないようにする */
.home-contents section .block-area .image {
  position: relative;
  z-index: 2;
}

.home-contents section .button-more {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 24px;
}

.home-contents section .btn-more {
  display: inline-flex;
  align-items: center;
  background: #ffc000;
  color: #030046;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 16px 28px;
  border-radius: 28px;
  transition: 0.3s ease all;
}

.home-contents section .btn-more .arrow {
  display: flex;
  align-items: center;
  margin-left: 16px;
  transition: 0.3s ease transform;
}

.home-contents section .btn-more .arrow svg {
  display: block;
}

.home-contents section .btn-more .arrow svg path {
  stroke: #030046;
}

/* ブロック全体が薄くなると押せないように見えるため、ここでは薄くしない */
.home-contents section .block-area:hover {
  opacity: 1;
}

.home-contents section .block-area:hover .btn-more {
  background: #fff;
}

.home-contents section .block-area:hover .btn-more .arrow {
  transform: translateX(6px);
}

.home-contents section .block-area.disabled .button-more {
  display: none;
}

@media screen and (min-width: 1280px) {
  .home-contents section .btn-more {
    font-size: 18px;
    padding: 18px 34px;
    border-radius: 32px;
  }

  /* 行動指針は吹き出しがコマの外まで伸びるので、ボタンを吹き出しの中に置く */
  .home-contents .bg-common.guidelines .button-more {
    top: auto;
    right: 106px;
    bottom: 16px;
    left: auto;
    margin-top: 0;
  }
}

/* 行動指針だけ吹き出しが中央かつ低い位置にあり、左右交互の流れが途切れるため右上に寄せる */
@media screen and (min-width: 835px) {
  .home-contents .bg-common.guidelines .image-area .text-area {
    justify-content: flex-end;
  }

  .home-contents .bg-common.guidelines .image-area .text-area .block-area {
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 50px;
  }
}

/* 漫画が左右に流れる演出は、もともと幅1920px以上でしか出ない設定だった。
   フルHDのパソコンでもほぼ見られないため、パソコン表示なら出るようにする。
   ・文章の改行（<br class="pc-large">）の位置は変えたくないので、画像だけを対象にする
   ・静止画を消すのは「流れる版がある区画」だけ（施工実績・行動指針は別の演出なので触らない） */
@media screen and (min-width: 835px) {
  .home-contents .image-area .slideshow-area.pc-large {
    display: block;
  }

  .home-contents .image-area .slideshow-area.pc-large ~ .image.pc-small {
    display: none;
  }
}

/* スマホ幅では本文に合わせて文字を一段小さくする */
@media screen and (max-width: 834px) {
  .home-contents .image-area .text-area p {
    font-size: 16px;
  }

  .table-news .block-area {
    font-size: 16px;
  }

  .news-info .category-name {
    font-size: 16px;
  }
}

/* スマホ幅の各セクションの吹き出し（高さ固定）は、本文を上下中央に置く。
   本文の文字を小さくした分だけ下が空いていたため */
@media screen and (max-width: 834px) {
  .home-contents .bg-common .image-area .text-area .metabox {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* スマホ幅では「詳しく見る」ボタンを吹き出しの下辺に少し重ねる */
@media screen and (max-width: 834px) {
  .home-contents section .button-more {
    margin-top: -46px;
    left: 24px;
  }
}

/* スマホ幅の「行動指針12箇条」は吹き出しとボタンが背景画像より下にはみ出し、続くフッターに隠れていたので、下に余白を足して収める */
@media screen and (max-width: 834px) {
  .home-contents .bg-common.guidelines .image-area {
    padding-bottom: 100px;
  }
}
