main.inpage #first {
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  main.inpage #first {
    padding: 25px 0;
  }
}
main.inpage #first .page-title {
  margin-bottom: 20px;
}
main.inpage #first .page-title h1 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #005BAC;
}
@media screen and (max-width: 767px) {
  main.inpage #first .page-title h1 {
    font-size: 2rem;
  }
}
main.inpage #first .page-title .en {
  font-size: clamp(6rem, 4.608rem + 1.8vw, 7.2rem);
}
@media screen and (max-width: 767px) {
  main.inpage #first .page-title .en {
    font-size: 3rem;
  }
}

#top-message #visual {
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #top-message #visual {
    margin-bottom: 20px;
  }
}
#top-message #visual p {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  position: absolute;
  color: #fff;
  text-align: right;
  left: 50%;
  transform: translateX(-50%);
  bottom: 50px;
  padding: 0 3rem;
  z-index: 1;
}
#top-message #visual p .name {
  font-size: 2.4rem;
}
#top-message #message {
  font-size: clamp(1.8rem, 1.336rem + 0.6vw, 2.2rem);
  line-height: 2.4;
  padding-bottom: 200px;
}

section.lead .in {
  padding: 0 5rem 150px 5rem;
  width: 1000px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  section.lead .in {
    width: 100%;
    padding: 0 5% 50px 5%;
  }
}

@media screen and (max-width: 767px) {
  section.csr {
    margin-bottom: 3rem;
  }
}
section.csr .title_visual {
  position: relative;
}
section.csr .title_visual .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 5;
}
section.csr .title_visual .txt h2 {
  color: #ffffff;
  font-size: 3.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  section.csr .title_visual .txt h2 {
    font-size: 2rem;
    white-space: nowrap;
  }
}
section.csr .title_visual .image {
  position: relative;
}
@media screen and (max-width: 767px) {
  section.csr .title_visual .image {
    height: 240px;
  }
  section.csr .title_visual .image img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 240px;
  }
}
section.csr .title_visual .image::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: "";
  z-index: 4;
  background: rgba(0, 0, 0, 0.3);
}
section.csr .txt_panel {
  max-width: 1100px;
  padding: 10rem 5rem;
  margin: auto;
  transform: translateY(-10rem);
  z-index: 10;
  position: relative;
}
@media screen and (max-width: 767px) {
  section.csr .txt_panel {
    transform: none;
    padding: 5vw;
  }
}
section.csr .txt_panel.panel01 {
  background: #448DD0;
}
section.csr .txt_panel.panel02 {
  background: #28A784;
}
section.csr .txt_panel.panel03 {
  background: #D06444;
}
section.csr .txt_panel.panel04 {
  background: #449AD0;
}
section.csr .txt_panel .panel_flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  section.csr .txt_panel .panel_flex {
    display: block;
  }
}
section.csr .txt_panel .panel_flex.half .box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  section.csr .txt_panel .panel_flex.half .box {
    width: 100%;
  }
}
section.csr .txt_panel .panel_flex .box {
  width: 33.333%;
  border-right: 1px solid #ffffff;
  padding: 0 5rem;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  section.csr .txt_panel .panel_flex .box {
    width: 100%;
    border-bottom: 1px solid #ffffff;
    border-right: none;
    padding: 5rem 0;
  }
}
section.csr .txt_panel .panel_flex .box:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  section.csr .txt_panel .panel_flex .box:last-child {
    border-bottom: none;
  }
}

section.culture {
  margin: 0 0 100px 0;
}
@media screen and (max-width: 767px) {
  section.culture {
    margin: 0 0 20px 0;
  }
}
section.culture .culture_flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex {
    display: block;
  }
}
section.culture .culture_flex.rv {
  flex-direction: row-reverse;
}
section.culture .culture_flex.rv .txt {
  padding: 0 5rem 0 12rem;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex.rv .txt {
    padding: 5rem 5%;
  }
}
section.culture .culture_flex.rv .txt .bigen {
  left: 0;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex.rv .txt .bigen {
    left: auto;
    line-height: 1;
    right: 10px;
  }
}
section.culture .culture_flex .image {
  width: 50%;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex .image {
    width: 100%;
    height: 240px;
  }
  section.culture .culture_flex .image img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 240px;
  }
}
section.culture .culture_flex .txt {
  width: 48%;
  position: relative;
  padding: 0 12rem 0 5rem;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex .txt {
    width: 100%;
    padding: 5rem 5%;
  }
}
section.culture .culture_flex .txt .bigen {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex .txt .bigen {
    line-height: 1;
    right: 10px;
    top: 5px;
  }
}
section.culture .culture_flex .txt .bigen p {
  color: #DAE8F6;
  font-size: 8rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex .txt .bigen p {
    font-size: 10vw;
    writing-mode: horizontal-tb;
  }
}
section.culture .culture_flex .txt .titles {
  display: flex;
  margin: 0 0 5rem 0;
}
section.culture .culture_flex .txt .titles p.num {
  color: #005BAC;
  font-weight: 500;
  width: 3em;
  padding: 0.4em 0 0 0;
}
section.culture .culture_flex .txt .titles h2 {
  color: #005BAC;
  font-size: 3.4rem;
  flex: 1;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  section.culture .culture_flex .txt .titles h2 {
    font-size: 2.4rem;
  }
}
section.culture .culture_flex .txt .cont ul li {
  display: flex;
  justify-content: space-between;
  position: relative;
  border-bottom: 1px solid #E2E2E2;
  padding: 0 0 2rem 0;
  margin: 0 0 2rem 0;
}
section.culture .culture_flex .txt .cont ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #005BAC;
  display: block;
  margin: 10px 0 0 0;
}
section.culture .culture_flex .txt .cont ul li p {
  flex: 1;
  padding: 0 0 0 1rem;
}