.ly_mainVisualSection {
  padding: 22rem 6.6rem 8.8rem;
  position: relative;
  background-color: #fff
}

.ly_mainVisual {
  position: relative;
  width: 100%;
  height: 100vh;
  z-index: 10;
  max-width: 144rem;
  max-height: 60rem;
  margin: auto
}

.bl_mainVisualItem {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%
}

.bl_mainVisualPicture {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: slideAnime;
  animation-name: slideAnime;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  opacity: 0
}

@-webkit-keyframes slideAnime {
  0% {
    opacity: 0
  }

  16% {
    opacity: 1
  }

  33% {
    opacity: 1
  }

  49% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@keyframes slideAnime {
  0% {
    opacity: 0
  }

  16% {
    opacity: 1
  }

  33% {
    opacity: 1
  }

  49% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

.bl_mainVisualItem:nth-child(1) .bl_mainVisualPicture {
  -webkit-animation-delay: 0;
  animation-delay: 0
}

.bl_mainVisualItem:nth-child(2) .bl_mainVisualPicture {
  -webkit-animation-delay: 5s;
  animation-delay: 5s
}

@media screen and (max-width: 800px) {
  .ly_mainVisualSection {
    padding: 9.6rem 2.4rem 4.8rem
  }

  .ly_mainVisual {
    position: relative;
    width: 100%;
    height: 47.1rem;
    z-index: 10
  }
}

.bl_mainVisualBackground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.bl_mainVisualBackground_item {
  display: contents
}

.bl_mainVisualBackgroundSquare__01 {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
  left: 0;
  z-index: 1
}

.bl_mainVisualBackgroundSquare__02 {
  position: absolute;
  bottom: 0;
  left: 0
}

.bl_mainVisualBackgroundSquare__03 {
  position: absolute;
  top: 32.45rem;
  right: 0
}

.bl_mainVisualBackgroundPicture {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width: 800px) {
  .bl_mainVisualBackgroundSquare__01 {
    display: none
  }

  .bl_mainVisualBackgroundSquare__02 {
    width: 16.4rem;
    height: 18.4rem
  }

  .bl_mainVisualBackgroundSquare__03 {
    top: 24.084rem;
    width: 24.9rem;
    height: 20.3rem
  }
}

.ly_mainVisualFootprints {
  position: absolute;
  bottom: -21.3rem;
  right: 0;
  z-index: 20
}

.bl_mainVisualFootprints {
  width: 25.4rem;
  height: 54.1rem;
  background-image: url("../images/main-visual/footprints.png");
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (max-width: 800px) {
  .ly_mainVisualFootprints {
    bottom: -18.3rem
  }

  .bl_mainVisualFootprints {
    width: 14.1rem;
    height: 24.7em
  }
}

.ly_topPageNewsSection {
  position: relative;
  padding-bottom: 13.2rem
}

.ly_topPageNewsSection_centering {
  max-width: 112.4rem;
  padding: 0 2.2rem;
  margin: auto;
  border-radius: 10rem;
  border: 1px dashed #f39700;
  background: rgba(255, 255, 255, .8);
  padding: 8.8rem;
  position: relative;
  z-index: 10
}

.bl_topPageNewsSectionTitle {
  margin-bottom: 11rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  text-align: center
}

.bl_topPageNewsSectionTitle::after {
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  content: attr(data-en);
  display: block;
  margin-top: 2.2rem;
  color: #f39700
}

@media screen and (max-width: 800px) {
  .bl_topPageNewsSectionTitle {
    margin-bottom: 4.8rem
  }

  .bl_topPageNewsSectionTitle::after {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-top: 2.4rem
  }
}

.bl_topPageNewsSectionTitleText {
  font-size: 3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: none;
  color: #f39700
}

.bl_topPageNewsSectionTitleText::after {
  content: "";
  display: block;
  margin: 2.2rem auto 0;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat
}

@media screen and (max-width: 800px) {
  .bl_topPageNewsSectionTitleText {
    font-size: 2.2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .bl_topPageNewsSectionTitleText::after {
    margin: 2.4rem auto 0
  }
}

.bl_topPageNewsSectionTitleText::after {
  width: 7rem;
  height: 5.8rem;
  background-image: url("../images/news/title_icon.png")
}

@media screen and (max-width: 1150px) {
  .ly_topPageNewsSection {
    padding-right: 2.2rem;
    padding-left: 2.2rem
  }
}

@media screen and (max-width: 800px) {
  .ly_topPageNewsSection {
    padding: 0
  }

  .ly_topPageNewsSection_centering {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
    border-radius: 3rem;
    padding: 3.6rem 2.4rem
  }

  .bl_commonTopPageTitleText::after {
    width: 5.9rem;
    height: 4.8rem
  }
}

.bl_topPageNewsList {
  list-style: none;
  display: grid;
  grid-auto-rows: auto;
  grid-row-gap: 3.3rem;
  margin-bottom: 6.6rem
}

.bl_topPageNewsList_item {
  padding-bottom: 2.2rem;
  border-bottom: 1px solid #a4a4a4
}

.bl_topPageNewsList_item_header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: start;
  justify-content: flex-start;
  margin-bottom: .6rem
}

.bl_topPageNewsList_item_date {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none
}

.bl_topPageNewsList_item_tag {
  font-size: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 130%;
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: none;
  display: block;
  padding: .5rem 1.1rem;
  background-color: #fff8e4;
  color: #f39700;
  margin-left: 2.2rem
}

.bl_topPageNewsList_item_title {
  font-size: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  margin-bottom: 1.1rem
}

.bl_topPageNewsList_item_text {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none
}

.bl_topPageNewsReadMoreButton {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: end;
  justify-content: flex-end;
  color: #413b33;
  text-decoration: none
}

.bl_topPageNewsReadMoreButton::after {
  content: "";
  display: -webkit-box;
  display: flex;
  width: 3.5rem;
  height: 3.5rem;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  border-radius: .5rem;
  background-color: #f39700;
  background-image: url("../common/images/button_read_more_arrow.svg");
  background-size: 1.6rem 1.3rem;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 2.2rem
}

.bl_topPageNewsReadMoreButton_text {
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  position: relative;
  display: block;
  padding-bottom: .4rem
}

.bl_topPageNewsReadMoreButton_text::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #f39700
}

@media screen and (max-width: 800px) {
  .bl_topPageNewsList {
    grid-row-gap: 2.4rem;
    margin-bottom: 4.8rem
  }

  .bl_topPageNewsList_item {
    padding-bottom: 2.4rem;
    border-bottom: none;
    position: relative
  }

  .bl_topPageNewsList_item::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-image: -webkit-gradient(linear, left top, right top, from(#413b33), color-stop(0.8rem, #413b33), color-stop(0.8rem, transparent), color-stop(1.6rem, transparent));
    background-image: -webkit-linear-gradient(left, #413b33, #413b33 0.8rem, transparent 0.8rem, transparent 1.6rem);
    background-image: linear-gradient(to right, #413b33, #413b33 0.8rem, transparent 0.8rem, transparent 1.6rem);
    background-size: 1.6rem 1px
  }

  .bl_topPageNewsList_item_header {
    margin-bottom: 1.2rem
  }

  .bl_topPageNewsList_item_date {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .bl_topPageNewsList_item_tag {
    font-size: 1.2rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 130%;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    margin-left: 1.2rem
  }

  .bl_topPageNewsList_item_title {
    font-size: 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-bottom: 1.2rem
  }

  .bl_topPageNewsList_item_text {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .bl_topPageNewsReadMoreButton_text {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }
}

.bl_newsBackground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.bl_newsBackground_item {
  display: contents
}

.bl_newsBackgroundSquare__01 {
  position: absolute;
  bottom: 32.61rem;
  right: 0;
  z-index: 1
}

.bl_newsBackgroundSquare__02 {
  position: absolute;
  bottom: 0;
  right: 0
}

.bl_newsBackgroundSquare__03 {
  position: absolute;
  top: 32.45rem;
  left: 0
}

.bl_newsBackgroundSquare__04 {
  position: absolute;
  left: 13.1rem;
  bottom: -2.3rem
}

.bl_newsBackgroundPicture {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width: 800px) {
  .bl_newsBackgroundSquare__01 {
    position: absolute;
    bottom: auto;
    -webkit-transform: translateY(-140%);
    transform: translateY(-140%);
    top: 50%;
    right: 0;
    z-index: 1
  }

  .bl_newsBackgroundSquare__02 {
    position: absolute;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 0
  }

  .bl_newsBackgroundSquare__03 {
    position: absolute;
    top: auto;
    bottom: 10.2rem;
    left: 0
  }

  .bl_newsBackgroundSquare__04 {
    position: absolute;
    left: 3.372rem;
    bottom: -8.55rem
  }
}

.ly_topPageAboutSection {
  position: relative;
  padding: 13.2rem 0;
  overflow: hidden
}

.bl_topPageAboutSectionTitle {
  margin-bottom: 11rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  text-align: center
}

.bl_topPageAboutSectionTitle::after {
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  content: attr(data-en);
  display: block;
  margin-top: 2.2rem;
  color: #f39700
}

@media screen and (max-width: 800px) {
  .bl_topPageAboutSectionTitle {
    margin-bottom: 4.8rem
  }

  .bl_topPageAboutSectionTitle::after {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-top: 2.4rem
  }
}

.bl_topPageAboutSectionTitleText {
  font-size: 3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: none;
  color: #f39700
}

@media screen and (max-width: 800px) {
  .bl_topPageAboutSectionTitleText {
    font-size: 2.2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }
}

.ly_topPageAboutSectionMessage {
  max-width: 112.4rem;
  padding: 0 2.2rem;
  margin: auto;
  padding-bottom: 17.6rem;
  position: relative;
  z-index: 10
}

.bl_topPageAboutSectionMessageText {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  text-align: center;
  max-width: 85%;
  margin: auto;
}

.ly_topPageAboutSectionRightJustified {
  max-width: 112.4rem;
  padding: 0 2.2rem;
  margin: auto;
  position: relative;
  margin-bottom: 17.6rem;
  z-index: 10
}

.bl_topPageAboutSectionRightJustified_figure {
  position: absolute;
  top: 0;
  left: 55.5rem
}

.bl_topPageAboutSectionRightJustified_figure::before {
  content: "";
  position: absolute;
  top: 4.1rem;
  left: -1.5rem;
  width: 104.35rem;
  height: 57.5rem;
  border-radius: 10rem 0 0 0;
  background-image: url("../images/about/bg_about01.png");
  background-size: contain;
  background-repeat: no-repeat
}

.bl_topPageAboutSectionRightJustifiedPicture {
  display: block;
  width: 108rem;
  height: 58rem;
  border-radius: 15rem 0 0 0;
  position: relative;
  z-index: 1
}

.bl_topPageAboutSectionRightJustified_detail {
  max-width: 48.9rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  justify-content: center;
  min-height: 58rem
}

.bl_topPageAboutSectionRightJustified_title {
  font-size: 2.4rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  margin-bottom: 6.6rem
}

.bl_topPageAboutSectionRightJustified_detail_text {
  margin-bottom: 6.6rem
}

.bl_topPageAboutSectionRightJustified_description {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none
}

.bl_topPageAboutSectionRightJustified_sign {
  font-size: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  margin-top: 4.4rem;
  text-align: right
}

.ly_topPageAboutSectionLeftJustified {
  max-width: 112.4rem;
  padding: 0 2.2rem;
  margin: auto;
  position: relative;
  z-index: 10
}

.bl_topPageAboutSectionLeftJustified_figure {
  position: absolute;
  top: 0;
  right: 55.7rem
}

.bl_topPageAboutSectionLeftJustified_figure::before {
  content: "";
  position: absolute;
  top: -3.3rem;
  right: 3.6rem;
  width: 104.35rem;
  height: 57.5rem;
  border-radius: 0 10rem 0 0;
  background-image: url("../images/about/bg_about02.png");
  background-size: contain;
  background-repeat: no-repeat
}

.bl_topPageAboutSectionLeftJustifiedPicture {
  display: block;
  width: 108rem;
  height: 58rem;
  border-radius: 0 15rem 0 0;
  position: relative;
  z-index: 1
}

.bl_topPageAboutSectionLeftJustified_detail {
  max-width: 48.9rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  justify-content: center;
  min-height: 58rem;
  margin: 0 0 0 auto
}

.bl_topPageAboutSectionLeftJustified_title {
  font-size: 2.4rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  margin-bottom: 6.6rem
}

.bl_topPageAboutSectionLeftJustified_detail_text {
  margin-bottom: 6.6rem
}

.bl_topPageAboutSectionLeftJustified_description {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none
}

@media screen and (max-width: 1150px) {
  .bl_topPageAboutSectionRightJustified_figure::before {
    width: 78.3rem;
    height: 43.125rem
  }

  .bl_topPageAboutSectionRightJustifiedPicture {
    width: 81rem;
    height: 43.5rem
  }

  .bl_topPageAboutSectionRightJustified_detail {
    min-height: 43.5rem
  }

  .bl_topPageAboutSectionLeftJustified_figure::before {
    width: 78.3rem;
    height: 43.125rem;
    top: -2.2rem;
    right: 2.4rem
  }

  .bl_topPageAboutSectionLeftJustifiedPicture {
    width: 81rem;
    height: 43.5rem
  }

  .bl_topPageAboutSectionLeftJustified_detail {
    min-height: 43.5rem
  }
}

@media screen and (max-width: 800px) {
  .ly_topPageAboutSection {
    padding: 14.4rem 0 0
  }

  .ly_topPageAboutSectionMessage {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
    padding: 0 0 4.8rem
  }

  .bl_topPageAboutSectionMessageText {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    text-align: left
  }

  .ly_topPageAboutSectionRightJustified {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
    position: relative;
    padding: 10rem 0 0;
    margin-bottom: 4.8rem;
    z-index: 10
  }

  .bl_topPageAboutSectionRightJustified_figure {
    top: auto;
    left: auto;
    right: -2.4rem
  }

  .bl_topPageAboutSectionRightJustified_figure::before {
    top: 1.93rem;
    left: -1.29rem;
    width: 35.1rem;
    height: 18.2rem;
    border-radius: 5rem 0 0 0;
    background-size: cover
  }

  .bl_topPageAboutSectionRightJustifiedPicture {
    display: block;
    width: 100%;
    height: 18.2593rem;
    border-radius: 5rem 0 0 0;
    position: relative;
    z-index: 1
  }

  .bl_topPageAboutSectionRightJustified_detail {
    max-width: 100%;
    min-height: none;
    padding-top: 22.6rem
  }

  .bl_topPageAboutSectionRightJustified_title {
    font-size: 1.8rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-bottom: 2.4rem
  }

  .bl_topPageAboutSectionRightJustified_detail_text {
    margin-bottom: 3.6rem
  }

  .bl_topPageAboutSectionRightJustified_description {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .bl_topPageAboutSectionRightJustified_sign {
    font-size: 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-top: 2.4rem
  }

  .ly_topPageAboutSectionLeftJustified {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
    padding: 0
  }

  .bl_topPageAboutSectionLeftJustified_figure {
    right: auto;
    left: -2.4rem
  }

  .bl_topPageAboutSectionLeftJustified_figure::before {
    top: -1.7rem;
    right: auto;
    left: 0;
    width: 32.07rem;
    height: 18.7163rem;
    border-radius: 0 5rem 0 0;
    background-size: cover
  }

  .bl_topPageAboutSectionLeftJustifiedPicture {
    width: 34rem;
    height: 18.2593rem;
    border-radius: 0 5rem 0 0
  }

  .bl_topPageAboutSectionLeftJustified_detail {
    max-width: none;
    -webkit-box-align: start;
    align-items: flex-start;
    min-height: auto;
    margin: 0;
    padding-top: 21.1rem
  }

  .bl_topPageAboutSectionLeftJustified_title {
    font-size: 1.8rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none;
    margin-bottom: 2.4rem
  }

  .bl_topPageAboutSectionLeftJustified_detail_text {
    margin-bottom: 3.6rem
  }

  .bl_topPageAboutSectionLeftJustified_description {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }
}

.bl_topPageAboutSectionReadMoreButton {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  border-radius: 5rem;
  padding: 2rem 2.7rem 2rem 4.7rem;
  margin: 0 0 0 auto;
  text-decoration: none;
  background-color: #433b2e;
  border: 1px solid #433b2e;
  color: #fff;
  min-width: 31.5rem;
  position: relative;
  -webkit-transition: color 300ms, background-color 300ms;
  transition: color 300ms, background-color 300ms
}

.bl_topPageAboutSectionReadMoreButton::before,
.bl_topPageAboutSectionReadMoreButton::after {
  position: absolute;
  content: "";
  top: 1rem;
  -webkit-transition: top 300ms;
  transition: top 300ms;
  height: 4rem;
  width: 4rem;
  z-index: -1;
  pointer-events: none
}

.bl_topPageAboutSectionReadMoreButton::before {
  left: 20%;
  background-color: #f39700;
  border: 1px solid #413b33;
  border-radius: 1rem 5rem 10rem 5rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.bl_topPageAboutSectionReadMoreButton::after {
  right: 20%;
  background: #6a3906;
  border: 1px solid #413b33;
  border-radius: 5rem 1rem 5rem 10rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.bl_topPageAboutSectionReadMoreButton_text {
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  position: relative;
  z-index: 1
}

.bl_topPageAboutSectionReadMoreButton_text::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.3rem;
  background-image: url("../common/images/button_read_more_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 2rem
}

@media(hover: hover) {
  .bl_topPageAboutSectionReadMoreButton:hover {
    background-color: #fff;
    color: #413b33
  }

  .bl_topPageAboutSectionReadMoreButton:hover .bl_topPageAboutSectionReadMoreButton_text::after {
    background-image: url("../common/images/button_read_more_arrow_brown.svg")
  }

  .bl_topPageAboutSectionReadMoreButton:hover::before,
  .bl_topPageAboutSectionReadMoreButton:hover::after {
    top: -1.5rem
  }
}

@media screen and (max-width: 800px) {
  .bl_topPageAboutSectionReadMoreButton {
    padding: 2.4rem .6rem;
    margin: 0 auto;
    min-width: 29.2rem;
    -webkit-transition: none;
    transition: none
  }

  .bl_topPageAboutSectionReadMoreButton::before,
  .bl_topPageAboutSectionReadMoreButton::after {
    content: none
  }

  .bl_topPageAboutSectionReadMoreButton_text {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .bl_topPageAboutSectionReadMoreButton_text::after {
    margin-left: 2.4rem
  }

  .bl_topPageAboutSectionReadMoreButton:hover {
    background-color: #fff;
    color: #413b33
  }

  .bl_topPageAboutSectionReadMoreButton:hover .bl_topPageAboutSectionReadMoreButton_text::after {
    background-image: url("../common/images/button_read_more_arrow_brown.svg")
  }
}

.bl_aboutBackground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.bl_aboutBackground_item {
  display: contents
}

.bl_aboutBackgroundSquare__01 {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-8%);
  transform: translateY(-8%);
  left: 0
}

.bl_aboutBackgroundSquare__02 {
  position: absolute;
  top: -5.8rem;
  right: 40.1rem;
  z-index: 1
}

.bl_aboutBackgroundSquare__03 {
  position: absolute;
  top: -17.6rem;
  right: 22.3rem;
  z-index: 1
}

.bl_aboutBackgroundPicture {
  display: block;
  width: 100%;
  height: 100%
}

@media screen and (max-width: 1150px) {
  .bl_aboutBackgroundSquare__02 {
    position: absolute;
    top: -5.8rem;
    left: 22rem;
    right: auto;
    z-index: 1;
    width: 7rem;
    height: auto
  }

  .bl_aboutBackgroundSquare__02 .bl_aboutBackgroundPicture {
    display: block;
    width: 100%;
    height: 100%
  }

  .bl_aboutBackgroundSquare__03 {
    position: absolute;
    top: -14.6rem;
    left: 30rem;
    right: auto;
    z-index: 1;
    width: 13rem;
    height: auto
  }

  .bl_aboutBackgroundSquare__03 .bl_aboutBackgroundPicture {
    display: block;
    width: 100%;
    height: 100%
  }
}

@media screen and (max-width: 800px) {
  .bl_aboutBackgroundSquare__01 {
    position: absolute;
    bottom: auto;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    top: 50%;
    right: 0;
    z-index: 1
  }

  .bl_aboutBackgroundSquare__02 {
    position: absolute;
    left: auto;
    right: 12.7rem;
    top: -2.69rem;
    bottom: auto;
    width: 4.65rem;
    height: 3.7864rem
  }

  .bl_aboutBackgroundSquare__03 {
    position: absolute;
    top: -11rem;
    bottom: auto;
    left: auto;
    right: 2rem;
    width: 10.9rem;
    height: 12.2365rem
  }
}

.ly_topPageInstagramFrame {
  padding-top: 5.4rem
}

.ly_topPageInstagramFrame_centering {
  max-width: 84.2rem;
  margin: auto;
  padding: 0 2.2rem
}

.el_topPageInstagramButton {
  display: -webkit-box;
  display: flex;
  align-content: center;
  -webkit-box-pack: center;
  justify-content: center;
  border-radius: 2.5rem;
  padding: 2.2rem 4.4rem 2.2rem 2.2rem;
  border: 1px solid #f39700;
  background-color: #fff8e4;
  text-decoration: none;
  color: #f39700;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms
}

.el_topPageInstagramButtonText {
  font-size: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 160%;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: none
}

.el_topPageInstagramButtonText_text {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center
}

.el_topPageInstagramButtonText_text::before {
  content: "";
  width: 8.2rem;
  height: 8.2rem;
  background-image: url("../images/instagram.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 2.4rem
}

.el_topPageInstagramButtonText_text::after {
  content: "";
  width: 6.85rem;
  height: 6.85rem;
  background-image: url("../images/instagram_link_decoration.png");
  background-size: auto 100%;
  background-repeat: no-repeat;
  margin: 0 0 0 1rem
}

.el_topPageInstagramButton:hover {
  opacity: .5
}

@media screen and (max-width: 800px) {
  .ly_topPageInstagramFrame {
    padding-top: 9.6rem
  }

  .ly_topPageInstagramFrame_centering {
    max-width: none;
    padding: 0 2.4rem
  }

  .el_topPageInstagramButton {
    display: -webkit-box;
    display: flex;
    align-content: center;
    -webkit-box-pack: center;
    justify-content: center;
    padding: 1.4rem 1.2rem 1.8rem 1.2rem;
    -webkit-transition: none;
    transition: none
  }

  .el_topPageInstagramButtonText {
    font-size: 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 160%;
    letter-spacing: .15em;
    text-decoration: none;
    text-transform: none
  }

  .el_topPageInstagramButtonText_text {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center
  }

  .el_topPageInstagramButtonText_text::before {
    width: 3.8rem;
    height: 3.8rem;
    margin: 0 1.4rem 0 0
  }

  .el_topPageInstagramButtonText_text::after {
    width: 2.1rem;
    height: 4.9rem
  }
}