@charset "UTF-8";

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

.about {
  width: 100%;
  overflow: hidden;
}

.about .about__mv {
  background-image: url(../images/main_visual/mv_company.jpg);
}

@media screen and (max-width: 480px) {
  .about .about__mv {
    background-image: url(../images/main_visual/mv_company_sp.jpg);
  }
}

.about__section {
  padding: 90px 0 75px;
}
.aboutLink__section {
  padding: 5px 0 75px;
}
.about__inner {
  max-width: 1040px;
}
.about__block + .about__block {
  margin-top: 70px;
}
.about__secTtl {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 30px;
  position: relative;
  border-bottom: 4px solid #ffb3c1;
}
.about__txt {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 27px;
}
.about__fig {
  width: 100%;
  margin-top: 27px;
  font-size: 0;
  line-height: 0;
}
.about__fig img {
  width: 100%;
  height: auto;
}
.about__linkItem + .about__linkItem {
  margin-top: 18px;
}
.about__link {
  font-size: 1.6rem;
  font-weight: 500;
  padding-left: 30px;
  position: relative;
}
.about__link::before {
  content: "";
  width: 20px;
  height: 20px;
  background: #ff93a7 url(../images/arrow_btn.svg) no-repeat center center/6px 8px;
  border-radius: 50%;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.about__link:hover {
  text-decoration: underline;
}
.about__link--blank {
  padding-right: 27px;
}
.about__link--blank::after {
  content: "";
  width: 17px;
  height: 13px;
  background: url(../images/common/ic_blank2.svg) no-repeat center/contain;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
}
@media screen and (max-width: 768px) {
  .about__section {
    padding: 18px 0 16px;
  }
  .aboutLink__section {
    padding: 2px 0 16px;
  }
  .about__block + .about__block {
    margin-top: 18px;
  }
  .about__secTtl {
    font-size: 1.4rem;
    padding-bottom: 8px;
    margin-bottom: 15px;
    border-width: 3px;
  }
  .about__txt {
    font-size: 1.1rem;
    line-height: 1.5;
    margin-top: 15px;
  }
  .about__fig {
    margin-top: 15px;
  }
  .about__linkItem + .about__linkItem {
    margin-top: 6px;
  }
  .about__link {
    font-size: 1.1rem;
    padding-left: 15px;
  }
  .about__link::before {
    width: 12px;
    height: 12px;
    background: #ff93a7 url(../images/arrow_btn.svg) no-repeat center center/6px 8px;
  }
  .about__link--blank {
    padding-right: 17px;
  }
  .about__link--blank::after {
    width: 12px;
    height: 12px;
    top: calc(50% - 6px);
  }
}

.cityHead__inner {
  max-width: 1240px;
  height: 520px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  position: relative;
}
.city__headTtl {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 5rem;
  line-height: 1.4;
  font-weight: 700;
  writing-mode: vertical-rl;
}
.cityHead__inner .city__txt {
  writing-mode: vertical-rl;
  margin-top: 50px;
  margin-right: 30px;
}
.cityHead__inner .city__txt .num {
  text-combine-upright: all;
}
.city__headFig {
  width: calc(50vw + 50% - 340px);
  height: 400px;
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
}
.city__headFig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.city__inner {
  max-width: 1040px;
}
.city__section {
  margin-top: 140px;
}
.city__ttl {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 4rem;
  line-height: 1.75;
  font-weight: 700;
}
.city__txt {
  margin-top: 25px;
  font-size: 1.6rem;
  line-height: 1.75;
}
.city__fig {
  width: 100%;
  font-size: 0;
  line-height: 0;
}
.city__fig img {
  width: 100%;
  height: auto;
}
.city__sec01Slider {
  margin-top: 35px;
}
.city__sec01SliderItm {
  width: 100%;
}
.city__sec01Slider.slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 25px;
}
.city__sec01Slider .slick-list {
  overflow: visible;
}
.city__sec01Slider .slick-slide {
  margin: 0 25px;
  max-width: calc(100vw - 80px);
}
.city__sec01Slider .slick-dots {
  bottom: 0;
}
.city__sec01Slider .slick-dots li {
  width: 50px;
  height: 4px;
}
.city__sec01Slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: #efefef;
  font-size: 0;
  line-height: 0;
}
.city__sec01Slider .slick-dots li.slick-active button {
  background: #c9caca;
}
.city__sec01Slider .slick-dots li button::before {
  content: none;
}
.city__section02 {
  padding-bottom: 470px;
  padding-right: 190px;
  position: relative;
}
.city__section02 .city__txt {
  padding-left: 50px;
}
.city__sec02Fig {
  position: absolute;
}
.city__sec02Fig01 {
  width: calc(100% - 380px + 120px);
  max-width: calc(50vw + 50% - 380px);
  height: 340px;
  bottom: 70px;
  right: 380px;
}
.city__sec02Fig02 {
  width: calc(50vw - 50% + 140px);
  height: calc(100% - 380px);
  top: 0;
  right: calc(50% - 50vw);
}
.city__sec02Fig03 {
  width: 400px;
  max-width: calc(50vw + 50% + 300px);
  height: 300px;
  bottom: 0;
  left: calc(100% - 300px);
}
.city__sec02Fig img {
  height: 100%;
  object-fit: cover;
}
.city__section03 {
  height: 500px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  position: relative;
}
.city__section03 .city__ttl {
  writing-mode: vertical-rl;
}
.city__section03 .city__txt {
  writing-mode: vertical-rl;
  margin-top: 50px;
  margin-right: 30px;
}
.city__section03 .city__txt .num {
  text-combine-upright: all;
}
.city__section03 .city__fig {
  width: calc(50vw + 50% - 620px);
  height: 400px;
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
}
.city__section03 .city__fig img {
  height: 100%;
  object-fit: cover;
}
.city__sec04FigWrap {
  margin-top: 35px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.city__sec04FigWrap .city__fig {
  width: calc(50% - 10px);
}
@media screen and (max-width: 768px) {
  .cityHead__inner {
    height: auto;
    display: block;
  }
  .city__headTtl {
    font-size: 3rem;
    writing-mode: inherit;
  }
  .cityHead__inner .city__txt {
    writing-mode: inherit;
    margin-top: 15px;
    margin-right: 0;
  }
  .cityHead__inner .city__txt .num {
    text-combine-upright: all;
  }
  .city__headFig {
    width: calc(50vw + 50%);
    height: 200px;
    margin-top: 20px;
    position: relative;
    top: inherit;
    left: calc(50% - 50vw);
  }
  .city__section {
    margin-top: 20px;
  }
  .city__ttl {
    font-size: 2.4rem;
  }
  .city__txt {
    margin-top: 15px;
    font-size: 1.1rem;
  }
  .city__sec01Slider {
    margin-top: 15px;
  }
  .city__sec01Slider.slick-dotted.slick-slider {
    padding-bottom: 10px;
  }
  .city__sec01Slider .slick-slide {
    margin: 0 10px;
    max-width: calc(100vw - 40px);
  }
  .city__sec01Slider .slick-dots {
    margin-top: 0;
    position: absolute;
  }
  .city__sec01Slider .slick-dots li {
    width: 25px;
    height: 2px;
  }
  .city__section02 {
    padding-bottom: 160px;
    padding-right: 80px;
  }
  .city__section02 .city__txt {
    padding-left: 0;
  }
  .city__sec02Fig01 {
    width: calc(100% - 120px + 20px);
    max-width: inherit;
    height: 110px;
    bottom: 35px;
    right: 120px;
  }
  .city__sec02Fig02 {
    width: 80px;
    height: calc(100% - 120px);
    top: 0;
    right: -20px;
  }
  .city__sec02Fig03 {
    width: 100px;
    max-width: inherit;
    height: 100px;
    bottom: 0;
    left: calc(100% - 100px);
  }
  .city__section03 {
    height: auto;
    display: block;
  }
  .city__section03 .city__ttl {
    writing-mode: inherit;
  }
  .city__section03 .city__txt {
    writing-mode: inherit;
    margin-top: 15px;
    margin-right: 0;
  }
  .city__section03 .city__fig {
    margin-top: 15px;
    width: calc(50vw + 50%);
    height: 180px;
    position: relative;
    top: inherit;
    left: calc(50% - 50vw);
  }
  .city__sec04FigWrap {
    margin-top: 15px;
  }
  .city__sec04FigWrap .city__fig {
    width: calc(50% - 5px);
  }
}
