@charset "utf-8";



/*********************************
  MV
*********************************/
.mv {
  background: #ebf3f9;
  padding: 80px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mv {
    padding: 13.333vw 0 32vw;
  }
}
.mv-slide:before {
  content: '';
  width: 1050px;
  height: 600px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 70px) , -50%);
}
@media screen and (max-width: 768px) {
  .mv-slide:before {
    width: 81.333vw;
    height: 108vw;
    top: -5.333vw;
    left: 0;
    transform: translate(0);
  }
}
.slick-slider .slick-track {
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .slick-slider .slick-track {
    margin-top: -20px;
  }
}
.mv-slide .slide-parts {
  max-width: 780px;
  margin: 0 8.125vw;
}
@media screen and (max-width: 768px) {
  .mv-slide .slide-parts {
    max-width: 89.333vw;
    margin: 0 5.333vw;
  }
}
.mv-slide .slide-parts .img {
  box-shadow: 0 0 20px rgba(0,77,152,.2);
}
.mv-slide .slide-parts.slick-center .img,
.mv-slide .slide-parts.is-active-next .img {
  transform: translateX(10.625vw);
}
@media screen and (max-width: 768px) {
  .mv-slide .slide-parts.slick-center .img,
  .mv-slide .slide-parts.is-active-next .img {
    transform: translateX(5.333vw);
  }
}
.mv-slide .slide-parts.fade {
  animation: mv-fade 1.2s forwards;
}
.mv-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 162px) , -50%);
}
@media screen and (max-width: 768px) {
  .mv-ttl {
    top: 74.133vw;
    left: 5.333vw;
    transform: translate(0);
  }
}
.mv-ttl-row {
  background: #fff;
  font-size: 60px;
  line-height: 52px;
  font-weight: 300;
  letter-spacing: .15em;
  white-space: nowrap;
  padding-top: 14px;
}
@media screen and (max-width: 768px) {
  .mv-ttl-row {
    font-size: max(8vw,30px);
    line-height: max(6.933vw,26px);
    letter-spacing: .15em;
    padding-top: 1.6vw;
  }
}
.mv-ttl-row + .mv-ttl-row {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .mv-ttl-row + .mv-ttl-row {
    margin-top: 1.333vw;
  }
}
.mv-ttl .color {
  font-weight: 300;
  color: #0065ae;
}
.mv-ttl-jp {
  background: #fff;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: .2em;
  margin-top: 56px;
}
@media screen and (max-width: 768px) {
  .mv-ttl-jp {
    font-size: max(4vw,15px);
    font-weight: 400;
    margin-top: 10.667vw;
  }
}


/*********************************
  section
*********************************/
.section {
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .section {
    padding: 70px 0;
  }
}
.section._banner {
  padding-top: 50px;
}
.section._banner .bnr-block {
  margin-bottom: 50px;
}
.section._banner .bnr-block .img-box {
  display: block;
  width: 650px;
  margin-inline: auto;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .section._banner {
    padding-top: 40px;
  }
  .section._banner .bnr-block {
    margin-bottom: 40px;
    padding-inline: 25px;
  }
  .section._banner .bnr-block .img-box {
    width: 100%;
  }
}
.section._banner .bnr-block .img-box:hover {
  opacity: .7;
}
.section.bg {
  background: #e2edf6;
}
.section .ttl-jp {
  font-size: 14px;
  line-height: 1;
  letter-spacing: .15em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 14px;
}
html:not([lang="ja"]) .section .ttl-jp {
  display: none;
}
@media screen and (max-width: 768px) {
  .section .ttl-jp {
    font-size: 12px;
    font-weight: normal;
    margin-bottom: 10px;
  }
}
.section .ttl-large-accessory {
  color: #0059a3;
  margin-top: 12px;
}
html[lang="en"] .section .ttl-large-accessory {
  display: none;
}
@media screen and (max-width: 768px) {
  .section .ttl-large-accessory {
    margin-top: 10px;
  }
}


/*********************************
  reason
*********************************/
.reason-wrap {
  margin-top: 61px;
}
@media screen and (max-width: 768px) {
  .reason-wrap {
    display: block;
    margin-top: 48px;
  }
}
/*
.reason-marker-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 33px;
  z-index: 100;
  width: 21px;
}
@media screen and (max-width: 768px) {
  .reason-marker-wrap {
    display: none;
  }
}
.reason-marker-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: sticky;
  top: 90px;
  bottom: 0;
  height: calc(100vh - 90px);
}
.reason-marker {
  flex-basis: 100%;
  color: #99C1DF;
  text-align: center;
  margin: 27px 0;
  transition: all 0.2s ease-out;
}
.reason-marker[data-num="1"]:before {
  content: "01";
  display: block;
  font-family: 'Oswald', sans-serif !important;
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 15px 0;
}
.reason-marker[data-num="3"]:after {
  content: "03";
  display: block;
  font-family: 'Oswald', sans-serif !important;
  font-size: 20px;
  font-weight: 500;
  margin: 15px 0 0 0;
}
.reason-marker .mark {
  width: 12px;
  background-color: #99C1DF;
  margin: auto;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  transition: all 0.2s ease-out;
}
.reason-marker.current {
  color: #0065AE;
}
.reason-marker.current .mark {
  background-color: #0065AE;
  transform: scale(1.25);
}
.reason-position-wrap {
  width: 1px;
}
.reason-content {
  width: calc(100% - 1px);
}
.reason-position {
  height: calc(100vh - 90px);
}
@media screen and (max-width: 768px) {
  .reason-position {
    display: none;
  }
}
.reason-position[data-num="3"] {
  height: calc(200vh - 90px);
}*/
.reason {
  justify-content: space-between;
  max-width: 1116px;
  margin: 0 auto 70px auto;
//  transition: opacity 0.2s ease-out;
}
.reason:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .reason {
    display: block;
    margin: 0 0 32px 0;
  }
}
.reason .img-box {
  width: 500px;
}
.reason:nth-child(2n) .img-box {
  order: 2;
}
@media screen and (max-width: 768px) {
  .reason .img-box {
    width: 310px;
    margin: auto;
  }
}
.reason .txt-box {
  width: 560px;
  background: #fff;
  box-shadow: 0 0 15px rgba(0,77,152,.1);
}
.reason:nth-child(2n) .txt-box {
  order: 1;
}
@media screen and (max-width: 768px) {
  .reason .txt-box {
    width: 295px;
    margin: -50px auto 0;
    position: inherit;
    top: auto;
    left: auto;
    transform: translateY(0);
  }
}
.reason .txt-box-inner {
  display: block;
  width: 100%;
  height: 100%;
  padding: 64px 50px 50px 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason .txt-box-inner {
    padding: 29px 20px 4px 20px;
  }
}
.reason .number {
  font-size: 55px;
  line-height: 55px;
  font-weight: 500;
  color: #0065ae;
  letter-spacing: .05em;
  margin: 0 0 24px 0;
}
@media screen and (max-width: 768px) {
  .reason .number {
    font-size: 32px;
    line-height: 32px;
    margin: 0 0 9px 0;
  }
}
.reason .ttl {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .reason .ttl {
    font-size: 16px;
    line-height: 27px;
  }
}
.reason .txt {
  font-size: 14px;
  line-height: 26px;
  letter-spacing: .05em;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .reason .txt {
    font-size: 12px;
    line-height: 21.6px;
    margin-top: 5px;
  }
}
.reason .link {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .reason .link {
    display: block;
  }
}
.reason .btn-primary {
  width: 220px;
  height: 50px;
  font-size: 16px;
  margin: 41px 0 0 0;
}
@media screen and (max-width: 768px) {
  .reason .btn-primary {
    width: 100%;
    height: 50px;
    font-size: 12px;
    margin: 39px 0 16px 0;
  }
  .reason .link .btn-primary:last-child {
    margin-top: 0;
  }
}

/*********************************
  products-list
*********************************/
.products-list {
  display: flex;
  flex-wrap: wrap;
  margin: 58px 0 0 0;
}
@media screen and (max-width: 768px) {
  .products-list {
    display: block;
    width: 325px;
    margin: 48px auto 0 auto;
  }
}
.products-list .item {
  overflow: hidden;
  flex-basis: calc(380 / 1200 * 100%);
  position: relative;
  margin: 0 0 calc(30 / 1200 * 100%) calc(30 / 1200 * 100%);
}
.products-list .item:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: -5px;
  right: -5px;
  background: linear-gradient(rgba(132, 132, 132, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
  filter: blur(5px);
  aspect-ratio: 380 / 88;
}
@media screen and (max-width: 768px) {
  .products-list .item {
    overflow: visible;
    margin: 0 0 23px 0;
  }
  .products-list .item:after {
    display: none;
  }
}
.products-list .item:nth-child(3n+1) {
  margin-left: 0;
}
.products-list .item img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .products-list .item img {
    display: none;
  }
}
.products-list .item .name {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  color: #FFFFFF;
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  padding: 12px 30px 12px 20px;
}
@media screen and (max-width: 768px) {
  .products-list .item .name {
    position: static;
    color: inherit;
    background-color: #FFFFFF;
    padding: 12px 30px 12px 20px;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
  }
}
.products-list .item .name:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .products-list .item .name:after {
    right: 22px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #0065AE;
    border-right: 1px solid #0065AE;
  }
}
.products-list + .btn-primary {
  margin-top: 47px;
}

/*********************************
  recommend
*********************************/
.recommend-slide {
  margin-top: 37px;
  padding-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .recommend-slide {
    margin-top: 52px;
    padding-bottom: 50px;
  }
}
.recommend-slide .slick-track {
  display: flex;
}
.recommend-slide .slide-parts {
  float: none;
  max-width: 340px;
  height: auto;
  background: #fff;
  color: #333;
  margin: 0 30px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .recommend-slide .slide-parts {
    transform: translateX(30px);
  }
}
@media screen and (max-width: 768px) {
  .recommend-slide .slide-parts {
    margin: 0 7px;
  }
}
.recommend-slide .slide-parts .img-box {
  overflow: hidden;
  width: 340px;
  height: 240px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-slide .slide-parts .img-box {
    width: 275px;
    height: 194px;
  }
}
  .recommend-slide .slide-parts .img {
  width: auto;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: cover;
  transition: .3s;
}
.recommend-slide .slide-parts:hover .img {
  transform: scale(1.05);
}
@media screen and (min-width: 769px) {
  .recommend-slide .slick-current,
  .recommend-slide .is-active-next {
    margin: 0;
  }
}
.recommend-slide .slide-parts .tag {
  background: rgba(51,51,51,.7);
  font-size: 12px;
  line-height: 22px;
  color: #fff;
  letter-spacing: .05em;
  padding: 10px 16px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .recommend-slide .slide-parts .tag {
    font-size: 10px;
    padding: 8px 10px;
  }
}
.recommend-slide .txt-box {
  padding: 24px 30px;
}
@media screen and (max-width: 768px) {
  .recommend-slide .txt-box {
    padding: 15px 25px 20px;
  }
}
.recommend-slide .ttl {
  overflow: hidden;
  height: 56px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 18px;
  line-height: 28px;
  color: #000;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .recommend-slide .ttl {
    font-size: 16px;
    line-height: 25px;
  }
}
.recommend-slide .txt {
  overflow: hidden;/*
  height: 88px;*/
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: .06em;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .recommend-slide .txt {/*
    height: 98px;*/
    -webkit-line-clamp: 3;
    font-size: 12px;
    line-height: 19px;
  }
}
.recommend-slide .categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 15px 0 20px 0;
}
@media screen and (max-width: 768px) {
  .recommend-slide .categories {
    margin: 10px 0 0 0;
  }
}
.recommend-slide .categories .category {
  overflow: hidden;
  width: 88px;
  color: #0065AE;
  font-size: 13px;
  font-weight: 500;
  padding: 9px 7px 5px 7px;
  border: 1px solid #0065AE;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .recommend-slide .categories .category {
    width: 78px;
    font-size: 10px;
    padding: 8px 6px 6px 6px;
  }
}
.recommend-slide .categories .category span {
  display: block;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.recommend-slide .slide-txt-link {
  display: inline-block;
  font-size: 12px;
  line-height: 22px;
  color: #004d98;
  letter-spacing: .05em;
  margin-top: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-slide .slide-txt-link {
    font-size: 10px;
    line-height: 18px;
  }
}
.recommend-slide .slide-txt-link:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #004d98;
  border-right: solid 1px #004d98;
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%) rotate(45deg);
}
.slide-dot {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.slide-dot button {
  width: 12px;
  height: 12px;
  background: #99c1df;
  border: none;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  margin: 0 13px;
  padding: 0;
  cursor: pointer;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .slide-dot button {
    width: 10px;
    height: 10px;
    margin: 0 10px;
  }
}
.slick-active button {
  background: #0065ae;
}
.recommend-slide .slick-prev,
.recommend-slide .slick-next {
  width: 60px;
  height: 160px;
  background: #cae2f5;
  position: absolute;
  top: calc((100% - 64px) / 2);
  transform: translateY(-50%);
  z-index: 50;
}
.recommend-slide .slick-prev:hover,
.recommend-slide .slick-next:hover {
  background: #99c1df;
}
.recommend-slide .slick-prev {
  left: calc((100% - 1200px) / 2);
}
@media screen and (max-width: 1199px) {
  .recommend-slide .slick-prev {
    left: 0;
  }
}
.recommend-slide .slick-next {
  right: calc((100% - 1200px) / 2);
}
@media screen and (max-width: 1199px) {
  .recommend-slide .slick-next {
    right: 0;
  }
}
.recommend-slide .arrow-inner {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.recommend-slide .arrow-inner:after {
  content: '';
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.recommend-slide .slick-prev .arrow-inner:after {
  border-bottom: solid 2px #0065ae;
  border-left: solid 2px #0065ae;
  left: 45%;
}
.recommend-slide .slick-next .arrow-inner:after {
  border-top: solid 2px #0065ae;
  border-right: solid 2px #0065ae;
  right: 45%;
}


/*********************************
  information
*********************************/
.news-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .news-wrap {
    display: block;
  }
}
.news-title {
  flex-basis: calc(180 / 1200 * 100%);
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .news-title {
  }
}
.news-cont {
  flex-basis: calc(934 / 1200 * 100%);
}
@media screen and (max-width: 768px) {
  .news-cont {
    margin-top: 31px;
  }
}
.news-title .ttl-large {
  letter-spacing: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .news-title .ttl-large {
    letter-spacing: .15em;
    text-align: center;
    padding: 0 15px;
  }
}
.news-title .ttl-large-accessory {
  text-align: left;
  margin-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .news-title .ttl-large-accessory {
    text-align: center;
  }
}
.news-title .link {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #0065AE;
  font-size: 18px;
  font-weight: 500;
  padding: 0 20px 0 0;
}
@media screen and (max-width: 768px) {
  .news-title .link {
    display: none;
  }
}
.news-title .link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .news-cont .link-wrap {
    text-align: center;
    margin: 31px 0 0 0;
  }
}
.news-cont .link {
  display: none;
  position: relative;
  color: #0065AE;
  font-size: 14px;
  font-weight: 500;
  padding: 0 25px 0 0;
}
@media screen and (max-width: 768px) {
  .news-cont .link {
    display: inline-block;
  }
}
.news-cont .link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: rotate(45deg);
}
.news {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .news {
    padding: 0 25px;
  }
}
#top .news {
}
@media screen and (max-width: 768px) {
  #top .news {
  }
}
.news-parts {
  align-items: flex-start;
  width: 100%;
  border-bottom: solid 1px #ccc;
  padding: 31px 50px 31px 0;
  position: relative;
  opacity: 1;
  transition: all 0.4s ease 0s;
}
@media screen and (max-width: 768px) {
  .news-parts {
    height: auto;
    padding: 16px 30px 16px 0;
  }
}
#top .news-parts {
  height: 101px;
  padding: 33px 60px 33px 0;
}
@media screen and (max-width: 768px) {
  #top .news-parts {
    height: auto;
    padding: 17px 20px 12px 0;
  }
}
.news-parts:after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .news-parts:after {
    width: 6px;
    height: 6px;
    right: 10px;
  }
}
.top .news-parts:after {
  width: 6px;
  height: 6px;
  right: 50px;
}
@media screen and (max-width: 768px) {
  .top .news-parts:after {
    width: 8px;
    height: 8px;
    right: 10px;
  }
}
.news-parts:hover .txt {
  color: #0059a3;
}
.news-parts:first-child {
  border-top: solid 1px #ccc;
}
.news-parts.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.news .date {
  font-size: 16px;
  line-height: 36px;
  font-weight: 500;
  color: #0059a3;
  letter-spacing: .15em;
}
@media screen and (max-width: 768px) {
  .news .date {
    font-size: 14px;
    line-height: 22px;
    font-weight: 500;
  }
}
#top .news .date {
  letter-spacing: 0.03em;
}
.news-parts .txt {
  font-size: 16px;
  line-height: 30px;
  color: #333;
  letter-spacing: .05em;
  margin: 3px 0 0 48px;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .news-parts .txt {
    font-size: 14px;
    line-height: 22px;
    margin: 10px 0 0;
  }
}
#top .news-parts .txt {
  overflow: hidden;
  height: 30px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  #top .news-parts .txt {
    height: auto;
    max-height: 46px;
    -webkit-line-clamp: 2;
  }
}
.news-more-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1000px;
  height: 80px;
  background: #eee;
  font-size: 16px;
  text-align: center;
  letter-spacing: .05em;
  margin: 40px auto 0;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .news-more-btn {
    width: calc(100% - 50px);
    height: 60px;
    font-size: 14px;
    margin: 25px auto 0;
  }
}
.news-more-btn:hover {
  background: #ddd;
}
.news-more-btn:before,
.news-more-btn:after {
  content: '';
  width: 28px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  right: 25px;
}
@media screen and (max-width: 768px) {
  .news-more-btn:before,
  .news-more-btn:after {
    width: 18px;
  }
}
.news-more-btn:after {
  transform: rotate(90deg);
}


/*********************************
  information detail
*********************************/
.temp .ttl-medium {
  border-bottom: solid 1px #ccc;
  margin: 20px 0 65px;
  padding-bottom: 36px;
}
@media screen and (max-width: 768px) {
  .temp .ttl-medium {
    font-size: 22px;
    line-height: 33px;
    letter-spacing: .06em;
    margin: 10px 0 40px;
    padding-bottom: 20px;
  }
}
.temp .ttl-medium + * {
  margin-top: 0;
}
.txt-link {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  font-size: 16px;
  line-height: 20px;
  color: #0059a3;
  letter-spacing: .05em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .txt-link {
    font-size: 14px;
    line-height: 20px;
  }
}
.txt-link.block {
  display: block;
}
.txt-link:after {
  content: '';
  width: 100%;
  height: 1px;
  background: #0059a3;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: .3s;
}
.txt-link:hover:after {
  width: 0;
}
.txt-link.blank {
  margin-right: 20px;
}
.txt-link.blank:before {
  content: '';
  width: 14px;
  height: 14px;
  background-image: url(../images/common/blank.svg);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .txt-link.blank:before {
    width: 10px;
    height: 10px;
  }
}
.txt-link-secondary {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  border-bottom: solid 1px #333;
  font-size: 16px;
  line-height: 20px;
  color: #333;
  letter-spacing: .05em;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .txt-link-secondary {
    font-size: 14px;
    line-height: 20px;
  }
}

.txt-link-secondary:hover {
  border-bottom-color: #0059a3;
  color: #0059a3;
}
.pdf {
  display: block;
  margin-top: 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pdf {
    margin-top: 15px;
  }
}
.pdf:after {
  content: '';
  width: 16px;
  height: 20px;
  background-image: url(../images/news/detail/pdf.svg);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: -24px;
}
@media screen and (max-width: 768px) {
  .pdf:after {
    width: 12px;
    height: 15px;
    top: 4px;
    right: -20px;
  }
}
.temp .ttl-normal {
  border-bottom: solid 1px #0059a3;
  color: #0059a3;
  margin: 70px 0 28px;
  padding-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .temp .ttl-normal {
    border-bottom: solid 2px #0059a3;
    margin: 50px 0 20px;
    padding-bottom: 15px;
  }
}
.temp .ttl-small {
  border-left: solid 4px #99c1df;
  color: #0059a3;
  margin: 50px 0 28px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .temp .ttl-small {
    margin: 35px 0 15px;
    padding-left: 16px;
  }
}
.list-parts {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .list-parts {
    font-size: 14px;
    line-height: 26px;
  }
}
.list-dot {
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  .list-dot {
    margin-top: 25px;
  }
}
.list-dot .list-parts {
  padding-left: 14px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .list-dot .list-parts {
    padding-left: 12px;
  }
}
.list-dot .list-parts:before {
  content: '';
  width: 8px;
  height: 8px;
  background: #0059a3;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 16px;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .list-dot .list-parts:before {
    width: 6px;
    height: 6px;
    top: 14px;
  }
}
.list-txt {
  margin-top: 36px;
}
@media screen and (max-width: 768px) {
  .list-txt {
    margin-top: 25px;
  }
}
.list-txt .list-parts .paragraph {
  display: inline-block;
  width: 22px;
  color: #0059a3;
  text-indent: 0;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .list-txt .list-parts .paragraph {
    width: 20px;
  }
}
.list-txt .list-parts {
  text-indent: -22px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .list-txt .list-parts {
    text-indent: -20px;
    padding-left: 20px;
  }
}
.table-box {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .table-box {
    overflow-x: scroll;
    margin-top: 55px;
    position: relative;
  }
  .table-box .hand {
    width: 100px;
    height: 70px;
    background: #999;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    text-align: center;
    padding: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
    opacity: 1;
    transition: .3s;
  }
  .table-box .hand.hide {
    opacity: 0;
  }
  .table-box .hand .img {
    width: auto;
    height: 100%;
  }
}
.temp .table {
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc;
}
@media screen and (max-width: 768px) {
  .temp .table {
    width: 1000px;
  }
}
.temp .item-ttl.row {
  border-bottom: solid 1px #ccc;
}
.temp .item-content {
  border-bottom: solid 1px #ccc;
  text-align: center;
}
.temp .item-ttl:not(:last-of-type),
.temp .item-content:not(:last-of-type) {
  border-right: solid 1px #ccc;
}
.mix {
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .mix {
    flex-direction: column-reverse;
  }
}
.mix .img-box {
  flex-shrink: 0;
  width: 304px;
  margin-left: 50px;
}
@media screen and (max-width: 768px) {
  .mix .img-box {
    width: 100%;
    margin: 0 0 20px 0;
  }
}
.card-wrap {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .card-wrap {
    margin-top: 40px;
  }
}
.card-wrap + .note {
  margin-top: 30px;
}
.card-single {
  justify-content: center;
}
.card-double {
  justify-content: space-between;
}
.card-double .card {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 768px) {
  .card-double .card {
    width: 100%;
  }
}
.card-triple {
  justify-content: space-between;
}
.card-triple .card {
  width: calc((100% - 88px) / 3);
}
@media screen and (max-width: 768px) {
  .card-triple .card {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .card-wrap .card + .card {
    margin-top: 25px;
  }
}
.card .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100% - 40px);
  background: #eee;
}
@media screen and (max-width: 768px) {
  .card .img-box {
    height: auto;
  }
}
.card .caption {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: .05em;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .card .caption {
    font-size: 12px;
    line-height: 18px;
    margin-top: 10px;
  }
}
.img-box.ratio {
  position: relative;
}
.card-double .ratio {
  height: 269px;
}
@media screen and (max-width: 768px) {
  .card-double .ratio {
    height: 48.8vw;
  }
}
.card-triple .ratio {
  height: 171px;
}
@media screen and (max-width: 768px) {
  .card-triple .ratio {
    height: 48.8vw;
  }
}
.img-box.ratio .img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.temp .article-body p {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .05em;
}
.temp .article-body p strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .temp .article-body p {
    font-size: 14px;
    line-height: 22px;
  }
}
.temp .article-body p a {
  color: #0059A3;
}


/*********************************
  privacypolicy
*********************************/
.privacy-inner {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .privacy-inner {
    padding: 0 25px;
  }
}
.under-list {
  margin: 28px 0;
}
@media screen and (max-width: 768px) {
  .under-list {
    margin: 20px 0;
  }
}
.under-list .list-parts {
  text-indent: -30px;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .under-list .list-parts {
    text-indent: -22px;
    padding-left: 22px;
  }
}
.under-list-secondary {
  margin: 28px 0;
  padding-left: 28px;
}
@media screen and (max-width: 768px) {
  .under-list-secondary {
    margin: 20px 0;
    padding-left: 22px;
  }
}
.under-list-secondary .list-parts {
  text-indent: -36px;
  padding-left: 36px;
}
@media screen and (max-width: 768px) {
  .under-list-secondary .list-parts {
    text-indent: -28px;
    padding-left: 28px;
  }
}
.privacy-window {
  background: #eee;
  margin-top: 60px;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .privacy-window {
    margin-top: 30px;
    padding: 25px;
  }
}
.privacy-window .ttl-small {
  border-left: solid 4px #a3a3a3;
  color: #333;
  margin: 0 0 28px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .privacy-window .ttl-small {
    margin: 0 0 20px;
    padding-left: 16px;
  }
}
@media screen and (max-width: 768px) {
  .privacy-window .note {
    font-size: 14px;
    line-height: 26px;
  }
}
.privacy-window .txt-link {
  margin-top: 0;
}
.privacy-window + .end {
  text-align: right;
  margin-top: 50px;
}


/*********************************
  link-section
*********************************/
.link-section .link-box {
  overflow: hidden;
  display: block;
  width: 50%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .link-section .link-box {
    width: 100%;
    min-width: inherit;
  }
}
.link-section .link-box:hover .img {
  transform: scale(1.05);
}
.link-section .link-box .img-box {
  width: 100%;
  height: 100%;
}
.link-section .link-box .img {
  width: 100%;
  height: 100%;
  transition: .3s;
}
.link-section .link-box .txt-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 420px;
  height: 270px;
  text-align: center;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,77,152,.1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  padding: 0 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .link-section .link-box .txt-box {
    width: 73.333vw;
    height: 47.2vw;
  }
}
.link-section .link-box .ttl-medium {
  color: #333;
}
.link-section .link-box .ttl-large-accessory {
  color: #0059a3;
  margin-top: 10px;
}
.link-section .link-box .link {
  display: flex;
  gap: 20px;
  margin: 40px 0 0 0;
}
.link-section .link-box .link .btn-primary {
  width: 170px;
  height: 50px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .link-section .link-box .link {
    display: block;
    margin: 25px 0 0 0;
  }
  .link-section .link-box .link .btn-primary {
    width: 225px;
    height: 50px;
    margin: 10px 0 6px 0;
  }
}


/*********************************
  contact
*********************************/
.container._contact {
  margin-top: 0;
}
.container._contact .header-block {
  position: relative;
}
.container._contact .heading-section {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .container._contact .heading-section {
    padding: 56px 0 64px;
  }
}
.container._contact .heading-section .heading-small {
   font-size: 40px;
   line-height: 52px;
   color: #333;
 }
@media screen and (max-width: 768px) {
  .container._contact .heading-section .heading-small {
    font-size: 30px;
    line-height: 39px;
  }
}
.container._contact .heading-section .ttl-large-accessory {
  color: #0059A3;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .container._contact .heading-section .ttl-large-accessory {
    font-size: 14px;
    margin-top: 10px;
  }
}
.form-content {
  padding: 0 0 190px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-content {
    padding: 0 25px 140px;
  }
}
.form-inner {
  max-width: 720px;
}
.form-content .table {
  table-layout: fixed;
  width: 100%;
}
.form-content .item:first-of-type {
  border-top: solid 1px #ccc;
}
.form-content .item-ttl,
.form-content .item-content {
  display: block;
  width: 100%;
}
.form-content .item-ttl {
  background: #fff;
  font-size: 16px;
  line-height: 40px;
  letter-spacing: .05em;
  text-align: left;
  vertical-align: top;
  padding: 52px 0 24px 88px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-content .item-ttl {
    font-size: 14px;
    line-height: 28px;
    padding: 40px 0 24px;
    position: inherit;
  }
}
@media screen and (min-width: 769px) {
  .form-content .item-ttl.indention {
    line-height: 22px;
  }
}
.form-content .item-ttl .label {
  display: block;
  width: 60px;
  height: 40px;
  font-size: 14px;
  line-height: 40px;
  color: #fff;
  letter-spacing: .05em;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 72px;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .form-content .item-ttl .label {
    display: inline-block;
    width: 45px;
    height: 30px;
    font-size: 12px;
    line-height: 30px;
    margin-right: 14px;
    position: inherit;
    top: auto;
    left: auto;
    transform: translateY(0);
  }
}
.form-content .item-ttl .label.required {
  background: #444;
}
.form-content .item-ttl .label.any {
  background: #fff;
  border: solid 1px #666;
  color: #333;
}
.form-content .item-content {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: .05em;
  text-align: left;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .form-content .item-content {
    font-size: 14px;
    line-height: 22px;
    padding: 0;
  }
}
.form-content .form-error {
  background: #FFE5E5;
  font-size: 12px;
  line-height: 32px;
  color: #FF0000;
  margin-top: 8px;
  padding: 0 18px;
}
.form-content .item-content .notice {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: .03em;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .form-content .item-content .notice {
    font-size: 12px;
    line-height: 20px;
    margin-top: 10px;
  }
}
.form-content .input-box {
  width: 100%;
  height: 64px;
  background: #eee;
  border: none;
  font-size: 16px;
  line-height: 24px;
  padding: 16px 20px;
}
@media screen and (max-width: 768px) {
  .form-content .input-box {
    height: 55px;
    padding: 12px 20px;
  }
}
.form-content .item-content.input-name,
.form-content .item-content.input-name + .form-error {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .form-content .item-content.input-name,
  .form-content .item-content.input-name + .form-error {
    width: 100%;
  }
}
.form-content .item-content.input-tel,
.form-content .item-content.input-tel + .form-error {
  width: 240px;
}
@media screen and (max-width: 768px) {
  .form-content .item-content.input-tel,
  .form-content .item-content.input-tel + .form-error {
    width: 200px;
  }
}
.form-content .item-content.input-radio .txt-other {
  height: 112px;
  margin-top: 16px;
}
.form-content .item-content.input-radio .txt-other.is-hide {
  display: none;
}
.form-content .item-content.input-txt textarea {
  height: 228px;
}
@media screen and (max-width: 768px) {
  .form-content .item-content.input-txt textarea {
    height: 325px;
  }
}
.form-content .item-content.input-radio {
  display: flex;
  flex-direction: column;
}
.form-content .item-content.input-radio input[type=radio] {
  display: none;
}
.form-content .item-content.input-radio .radio {
  padding-left: 40px;
  position: relative;
}
.form-content .item-content.input-radio .form-shell:nth-of-type(n + 2) {
  margin-top: 16px;
}
.form-content .item-content.input-radio .radio:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 7px;
  transform: translateY(-50%);
  z-index: 5;
}
.form-content .item-content.input-radio .radio:after {
  content: '';
  width: 24px;
  height: 24px;
  background: #ccc;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.form-content .item-content input[type=radio]:checked + .radio:before {
  opacity: 1;
}
.form-content .item-content input[type=radio]:checked + .radio:after {
  background: #0C65AE;
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
.form-content .btn-primary {
  width: 340px;
  background: none;
  cursor: inherit;
}
@media screen and (max-width: 768px) {
  .form-content .btn-primary {
    width: 100%;
    margin-top: 60px;
  }
}
.form-content .btn-primary .input-btn {
  background-color: #0065ae;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 100%;
  height: 100%;
  font-size: 16px;
  letter-spacing: .05em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .form-content .btn-primary .input-btn {
    font-size: 14px;
  }
}
.form-content .btn-primary .input-btn.is-disable {
  opacity: .5;
  pointer-events: none;
}
.form-content .item-content .error {
  font-size: 14px;
  line-height: 24px;
  color: #f00;
  letter-spacing: .03em;
}
@media screen and (max-width: 768px) {
  .form-content .item-content .error {
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 5px;
  }
}
.form-content .agree {
  width: 720px;
  background: #fff;
  border: solid 1px #ccc;
  margin: 40px auto 0;
  padding: 51px 56px 56px;
}
@media screen and (max-width: 768px) {
  .form-content .agree {
    width: 100%;
    padding: 45px 25px 48px;
  }
}
.form-content .agree-ttl {
  font-size: 22px;
  line-height: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .form-content .agree-ttl {
    font-size: 18px;
    line-height: 27px;
  }
}
.form-content .agree-txt {
  font-size: 16px;
  line-height: 30px;
  margin-top: 28px;
}
@media screen and (max-width: 768px) {
  .form-content .agree-txt {
    font-size: 14px;
    line-height: 26px;
    margin-top: 21px;
  }
}
.form-content .agree-txt a {
  color: #0059A3;
  text-decoration: underline;
}
.form-content .agree-check {
  width: 600px;
  height: 80px;
  margin: 56px auto 0;
}
@media screen and (max-width: 768px) {
  .form-content .agree-check {
    width: 100%;
    height: 72px;
    margin-top: 45px;
  }
}
.form-content .agree-check .privacy,
.form-content .agree-check input[type=checkbox] {
  display: none;
}
.form-content .agree-check label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  background: #eee;
}
.form-content .agree-check label span {
  display: block;
  font-size: 16px;
  line-height: 24px;
  padding-left: 40px;
  position: relative;
}
.form-content .agree-check label span:before {
  content: '';
  display: block;
  width: 15px;
  height: 12px;
  background-image: url(../images/contact/check.png);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  opacity: 0;
  transition: .3s;
}
.form-content .agree-check label span:after {
  content: '';
  width: 24px;
  height: 24px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}
.form-content .agree-check label:hover span:before,
input[type=checkbox]:checked + .checkbox span:before {
  opacity: 1;
}
.form-content .agree-check label:hover span:after,
input[type=checkbox]:checked + .checkbox span:after {
  background: #0C65AE;
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
.form-content .submit-txt {
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  margin-top: 24px;
}

/*.form-confirm.form-content .item-ttl {*/
  /*padding: 40px 0;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm.form-content .item-ttl {*/
    /*padding: 28px 0 12px;*/
  /*}*/
/*}*/
/*.form-confirm .submit-txt {*/
  /*font-size: 14px;*/
  /*line-height: 24px;*/
  /*letter-spacing: .05em;*/
  /*text-align: center;*/
  /*margin-top: 92px;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-content .submit-txt {*/
    /*font-size: 12px;*/
    /*line-height: 28px;*/
    /*margin-top: 14px;*/
  /*}*/
/*}*/
/*.form-confirm .submit-txt .txt-link {*/
  /*display: inline-block;*/
  /*margin: 0 18px 0 0;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm .submit-txt .txt-link {*/
    /*margin: 0 15px 0 0;*/
  /*}*/
/*}*/
/*.form-confirm .submit-txt .txt-link:before {*/
  /*content: '';*/
  /*width: 10px;*/
  /*height: 10px;*/
  /*background-image: url(../images/common/blank.svg);*/
  /*background-repeat: no-repeat;*/
  /*-webkit-background-size: 100%;*/
  /*background-size: 100%;*/
  /*position: absolute;*/
  /*top: 50%;*/
  /*right: -14px;*/
  /*transform: translateY(-50%);*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm .submit-txt .txt-link:before {*/
    /*right: -12px;*/
  /*}*/
/*}*/
/*.form-confirm .button-wrap {*/
  /*display: flex;*/
  /*justify-content: flex-start;*/
  /*margin-top: 40px;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-content .button-wrap {*/
    /*flex-direction: column-reverse;*/
    /*margin-top: 24px;*/
  /*}*/
/*}*/
/*.form-confirm .button-wrap .btn-return {*/
  /*display: flex;*/
  /*justify-content: center;*/
  /*align-items: center;*/
  /*width: 200px;*/
  /*height: 70px;*/
  /*background: #ddd;*/
  /*font-size: 16px;*/
  /*line-height: 1;*/
  /*color: #333;*/
  /*letter-spacing: .12em;*/
  /*margin: 0 auto;*/
  /*position: relative;*/
  /*cursor: pointer;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm .button-wrap .btn-return {*/
    /*width: 325px;*/
    /*height: 60px;*/
    /*font-size: 14px;*/
    /*margin-top: 17px;*/
  /*}*/
/*}*/
/*.form-confirm .button-wrap .btn-return:after {*/
  /*content: '';*/
  /*width: 8px;*/
  /*height: 8px;*/
  /*border-top: solid 1px #333;*/
  /*border-left: solid 1px #333;*/
  /*position: absolute;*/
  /*top: 50%;*/
  /*left: 20px;*/
  /*transform: translateY(-50%) rotate(-45deg);*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm .button-wrap .btn-return:after {*/
    /*width: 6px;*/
    /*height: 6px;*/
  /*}*/
/*}*/
/*.form-confirm .button-wrap .btn-primary {*/
  /*margin: 0 0 0 130px;*/
/*}*/
/*@media screen and (max-width: 768px) {*/
  /*.form-confirm .button-wrap .btn-primary {*/
    /*margin: 0;*/
  /*}*/
/*}*/

.p-form-state {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 74px;
  background: #444;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  padding-block: 20px;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 20;
}
.p-form-state.is-hide {
  display: none;
}
.p-form-state.is-pos {
  position: absolute;
  bottom: 0;
}

.footer-block._contact {
  padding: 94px 0;
}
@media screen and (max-width: 768px) {
  .footer-block._contact {
    padding: 74px 0;
  }
}
.footer-block._contact .footer-inner {
  justify-content: center;
}
.footer-block._contact .copy {
  margin-top: 0;
}

/*********************************
  contact2
*********************************/

.form-content2 {
  padding: 0 0 190px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-content2 {
    padding: 0 25px 140px;
  }
}
.form-inner {
  max-width: 720px;
}
.form-content2 .table {
  table-layout: fixed;
  width: 100%;
}
.form-content2 .smf-item:first-of-type {
  border-top: solid 1px #ccc;
}
.form-content2 .smf-item__col--label,
.form-content2 .smf-item__col--controls {
  display: block;
  width: 100%;
}
.form-content2 .smf-item__col--label {
  background: #fff;
  font-size: 16px;
  line-height: 40px;
  letter-spacing: .05em;
  text-align: left;
  vertical-align: top;
  padding: 52px 0 24px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--label {
    font-size: 14px;
    line-height: 28px;
    padding: 40px 0 24px;
    position: inherit;
  }
}
@media screen and (min-width: 769px) {
  .form-content2 .smf-item__col--label.indention {
    line-height: 22px;
  }
}
.form-content2 .smf-item__col--label .smf-item__label__text {
  display: flex;
  align-items: center;
  gap: 10px;
}
.form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "必須";
  display: block;
  min-width: 60px;
  height: 40px;
  font-size: 14px;
  line-height: 40px;
  color: #fff;
  letter-spacing: .05em;
  text-align: center;
  vertical-align: middle;
  background: #444;
  padding: 0 10px;
  box-sizing: border-box;
}
html[lang="en"] .form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "Must";
}
html[lang="zh-cmn-hans"] .form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "必须填";
}
html[lang="zh-cmn-hant"] .form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "必須填";
}
html[lang="th"] .form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "จำเป็นอย่างยิ่ง";
}
html[lang="vi"] .form-content2 .smf-item__col--label .smf-item__label__text:before {
  content: "Cần thiết";
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--label .smf-item__label__text:before {
    display: inline-block;
    min-width: 45px;
    height: 30px;
    font-size: 12px;
    line-height: 30px;
    position: inherit;
    top: auto;
    left: auto;
    transform: translateY(0);
  }
}
.form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "任意";
  background: #fff;
  border: solid 1px #666;
  color: #333;
}
html[lang="en"] .form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "Any";
}
html[lang="zh-cmn-Hans"] .form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "随意";
}
html[lang="zh-cmn-hant"] .form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "隨意";
}
html[lang="th"] .form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "ใดๆ";
}
html[lang="vi"] .form-content2 .smf-form .smf-item.optional .smf-item__label__text:before {
  content: "bất kì";
}
.form-content2 .smf-item__col--controls {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: .05em;
  text-align: left;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--controls {
    font-size: 14px;
    line-height: 22px;
    padding: 0;
  }
}
.form-content2 .form-error {
  background: #FFE5E5;
  font-size: 12px;
  line-height: 32px;
  color: #FF0000;
  margin-top: 8px;
  padding: 0 18px;
}
.form-content2 .smf-item__col--controls .notice {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: .03em;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--controls .notice {
    font-size: 12px;
    line-height: 20px;
    margin-top: 10px;
  }
}
.form-content2 .smf-item__controls .smf-text-control__control,
.form-content2 .smf-item__controls .smf-textarea-control__control {
  width: 100%;
  height: 64px;
  background: #eee;
  border: none;
  font-size: 16px;
  line-height: 24px;
  padding: 16px 20px;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__controls .smf-text-control__control,
  .form-content2 .smf-item__controls .smf-textarea-control__control {
    height: 55px;
    padding: 12px 20px;
  }
}
.form-content2 .smf-item__col--controls.input-name,
.form-content2 .smf-item__col--controls.input-name + .form-error {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--controls.input-name,
  .form-content2 .smf-item__col--controls.input-name + .form-error {
    width: 100%;
  }
}
.form-content2 .smf-item__col--controls.input-tel,
.form-content2 .smf-item__col--controls.input-tel + .form-error {
  width: 240px;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--controls.input-tel,
  .form-content2 .smf-item__col--controls.input-tel + .form-error {
    width: 200px;
  }
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .txt-other {
  height: 112px;
  margin-top: 16px;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .txt-other.is-hide {
  display: none;
}
.form-content2 .smf-item__controls .smf-textarea-control__control {
  height: 228px;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__controls .smf-textarea-control__control {
    height: 325px;
  }
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control {
  display: flex;
  flex-direction: column;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control input[type=radio] {
  display: none;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control__label {
  padding-left: 40px;
  position: relative;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .smf-label:nth-of-type(n + 2) {
  margin-top: 16px;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control__label:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 7px;
  transform: translateY(-50%);
  z-index: 5;
}
.form-content2 .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control__label:after {
  content: '';
  width: 24px;
  height: 24px;
  background: #ccc;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.form-content2 .smf-item__col--controls input[type=radio]:checked + .smf-radio-button-control__label:before {
  opacity: 1;
}
.form-content2 .smf-item__col--controls input[type=radio]:checked + .smf-radio-button-control__label:after {
  background: #0C65AE;
}
/* Contact Form 7 radio（Snow Monkey Form と同等の見た目） */
.form-content2 .wpcf7-radio .txt-other {
  height: 112px;
  margin-top: 16px;
}
.form-content2 .wpcf7-radio .txt-other.is-hide {
  display: none;
}
.form-content2 .wpcf7-radio {
  display: flex;
  flex-direction: column;
}
.form-content2 .wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0;
}
.form-content2 .wpcf7-radio .wpcf7-list-item:nth-of-type(n + 2) {
  margin-top: 16px;
}
.form-content2 .wpcf7-radio .wpcf7-list-item label {
  display: block;
  cursor: pointer;
}
.form-content2 .wpcf7-radio input[type=radio] {
  display: none;
}
.form-content2 .wpcf7-radio .wpcf7-list-item-label {
  display: block;
  padding-left: 40px;
  position: relative;
  cursor: pointer;
}
.form-content2 .wpcf7-radio .wpcf7-list-item-label:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 7px;
  transform: translateY(-50%);
  z-index: 5;
}
.form-content2 .wpcf7-radio .wpcf7-list-item-label:after {
  content: '';
  width: 24px;
  height: 24px;
  background: #ccc;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.form-content2 .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
  opacity: 1;
}
.form-content2 .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:after {
  background: #0C65AE;
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
.grecaptcha-badge {
  visibility: hidden;
}
.form-content2 .recaptcha {
  line-height: 1.5;
  text-align: center;
  margin: 30px 0 0 0;
}
.form-content2 [data-screen="complete"] + .recaptcha {
  display: none;
}
.form-content2 .recaptcha a {
  text-decoration: underline;
}
.form-content2 .smf-action:after {
  content: "※ボタンを押すと送信されます";
  display: block;
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  margin-top: 24px;
}
html[lang="en"] .form-content2 .smf-action:after {
  content: "*Press the button to send";
}
html[lang="zh-cmn-Hans"] .form-content2 .smf-action:after {
  content: "*按下按钮发送";
}
html[lang="zh-cmn-hant"] .form-content2 .smf-action:after {
  content: "*按下按鈕發送";
}
html[lang="th"] .form-content2 .smf-action:after {
  content: "*ข้อความจะถูกส่งเมื่อกดปุ่ม";
}
html[lang="vi"] .form-content2 .smf-action:after {
  content: "*Nội dung sẽ được gửi sau khi nhấn nút.";
}
.form-content2 [data-screen="complete"] .smf-action:after {
  display: none;
}
.form-content2 .smf-action > p {
  margin: 0;
}
.form-content2 .smf-button-control {
  display: block;
  width: 340px;
  height: 70px;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  letter-spacing: .12em;
  margin: 80px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-button-control {
    width: 100%;
    margin-top: 60px;
  }
}
.form-content2 .smf-button-control > br {
  display: none;
}
.form-content2 .smf-button-control:after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
  pointer-events: none;
}
.form-content2 .smf-button-control .smf-button-control__control,
.form-content2 .smf-button-control .wpcf7-submit {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;

  display: block;
  background-color: #0065ae;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 100%;
  height: 100%;
  font-size: 16px;
  letter-spacing: .05em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-button-control .smf-button-control__control,
  .form-content2 .smf-button-control .wpcf7-submit {
    font-size: 14px;
  }
}
.form-content2 .smf-button-control .smf-button-control__control.is-disable,
.form-content2 .smf-button-control .wpcf7-submit:disabled {
  opacity: .5;
  pointer-events: none;
}
.form-content2 .smf-button-control .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.form-content2 .smf-item__col--controls .error {
  font-size: 14px;
  line-height: 24px;
  color: #f00;
  letter-spacing: .03em;
}
@media screen and (max-width: 768px) {
  .form-content2 .smf-item__col--controls .error {
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 5px;
  }
}
.form-content2 .agree {
  width: 720px;
  background: #fff;
  border: solid 1px #ccc;
  margin: 40px auto 0;
  padding: 51px 56px 56px;
}
@media screen and (max-width: 768px) {
  .form-content2 .agree {
    width: 100%;
    padding: 45px 25px 48px;
  }
}
.form-content2 .agree-ttl {
  font-size: 22px;
  line-height: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .form-content2 .agree-ttl {
    font-size: 18px;
    line-height: 27px;
  }
}
.form-content2 .agree-txt {
  font-size: 16px;
  line-height: 30px;
  margin-top: 28px;
}
@media screen and (max-width: 768px) {
  .form-content2 .agree-txt {
    font-size: 14px;
    line-height: 26px;
    margin-top: 21px;
  }
}
.form-content2 .agree-txt a {
  color: #0059A3;
  text-decoration: underline;
}
.form-content2 .agree-check {
  width: 600px;/*
  height: 80px;*/
  margin: 56px auto 0;
}
@media screen and (max-width: 768px) {
  .form-content2 .agree-check {
    width: 100%;/*
    height: 72px;*/
    margin-top: 45px;
  }
}
.form-content2 .agree-check .smf-item__col--label .smf-item__label__text:before {
  display: none;
}
.form-content2 .agree-check .wpcf7-form-control-wrap,
.form-content2 .agree-check .wpcf7-checkbox,
.form-content2 .agree-check .wpcf7-acceptance {
  display: block;
  width: 100%;
}
.form-content2 .agree-check .wpcf7-list-item {
  display: block;
  margin: 0;
}
.form-content2 .agree-check input[type=checkbox] {
  display: none;
}
.form-content2 .agree-check .smf-checkboxes-control label,
.form-content2 .agree-check .wpcf7-checkbox label,
.form-content2 .agree-check .wpcf7-acceptance label {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  background: #eee;
}
.form-content2 .agree-check .smf-checkboxes-control .smf-checkbox-control__label,
.form-content2 .agree-check .wpcf7-list-item-label {
  display: block;
  font-size: 16px;
  line-height: 24px;
  padding-left: 40px;
  position: relative;
}
.form-content2 .agree-check .smf-checkboxes-control .smf-checkbox-control__label:before,
.form-content2 .agree-check .wpcf7-list-item-label:before {
  content: '';
  display: block;
  width: 15px;
  height: 12px;
  background-image: url(../images/contact/check.png);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  opacity: 0;
  transition: .3s;
}
.form-content2 .agree-check .smf-checkboxes-control .smf-checkbox-control__label:after,
.form-content2 .agree-check .wpcf7-list-item-label:after {
  content: '';
  width: 24px;
  height: 24px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}
.form-content2 .agree-check smf-checkboxes-control label:hover span:before,
.form-content2 .agree-check input[type=checkbox]:checked + .smf-checkbox-control__label:before,
.form-content2 .agree-check input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  opacity: 1;
}
.form-content2 .agree-check smf-checkboxes-control label:hover span:after,
.form-content2 .agree-check input[type=checkbox]:checked + .smf-checkbox-control__label:after,
.form-content2 .agree-check input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  background: #0C65AE;
}
input:-webkit-autofill {
  transition: background-color 5000s ease-in-out 0s !important;
}
.form-content2 .submit-txt {
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  margin-top: 24px;
}
.form-content2 .complete-block {
}

form.wpcf7-form:not(.invalid) .wpcf7-not-valid-tip {
  display: none !important;
}

form.wpcf7-form:not(.invalid) .wpcf7-not-valid {
  border-color: inherit !important;
}

.wpcf7 form .wpcf7-response-output {
  border: none!important;
  font-size: 14px;
}
.wpcf7 form.invalid .wpcf7-response-output {
  color: #dc3232;
}

@media screen and (max-width: 768px) {
  .form-content2 .complete-block {
    padding: 0 25px 0;
  }
}
.form-content2 .complete-ttl {
  font-size: 30px;
  font-weight: 400;
  line-height: 46px;
  color: #000;
  letter-spacing: .1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .form-content2 .complete-ttl {
    font-size: 22px;
    line-height: 33px;
  }
}
.form-content2 .complete-lead {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  color: #333;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 57px;
}
@media screen and (max-width: 768px) {
  .form-content2 .complete-lead {
    font-size: 14px;
    line-height: 26px;
    text-align: left;
    margin-top: 53px;
  }
}
.form-content2 .complete-block .btn-primary {
  width: 340px;
  background: #0065ae;
}
@media screen and (max-width: 768px) {
  .form-content2 .complete-block .btn-primary {
    width: 100%;
  }
}
.form-content2 .complete-block .btn-primary:after {
  right: inherit;
  left: 20px;
  transform: translateY(-50%) rotate(-135deg);
}

/*********************************
  company
*********************************/
.company-lead {
  max-width: 1200px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .company-lead {
    padding: 0 25px;
  }
}
.company-link-list {
  flex-wrap: wrap;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .company-link-list {
    padding-bottom: 14.667vw;
  }
}
.company-link-list .link-box  {
  overflow: inherit;
}
.company-link-list .link-box .txt-box {
  width: 400px;
  height: 240px;
  top: inherit;
  bottom: 0;
  transform: translate(-50% , 50%);
}
@media screen and (max-width: 768px) {
  .company-link-list .link-box .txt-box {
    width: 73.333vw;
    height: 36.267vw;
  }
}
.link-section .link-box:nth-child(2):hover .img {
  transform: scale(1);
}
.company-link-list .link-box:nth-child(2) .txt-box {
  padding: 32px 0 0 0;
}
.company-link-list .link-box:nth-child(2) .ttl-medium {
  line-height: 1;
}
.company-link-list .link-box .img-box {
  overflow: hidden;
}
.company-link-list .link-box:nth-child(n + 3) {
  width: calc(100% / 3);
  margin-top: 230px;
}
@media screen and (max-width: 768px) {
  .company-link-list .link-box:not(:first-child),
  .company-link-list .link-box:nth-child(n + 3) {
    width: 100%;
    margin-top: 26vw;
  }
  .company-link-list .link-box:nth-child(2) {
    padding: 0 0 35.5vw 0;
  }
}
.company-link-list .link-box:nth-child(n + 3) .txt-box {
  width: 320px;
  height: 200px;
}
@media screen and (max-width: 768px) {
  .company-link-list .link-box:nth-child(n + 3) .txt-box {
    width: 73.333vw;
    height: 36.267vw;
  }
  .company-link-list .link-box:nth-child(2) .txt-box {
    bottom: 18vw;
    height: 71vw;
    padding: 5vw 0 0 0;
  }
}
.company-link-list .link-box:nth-child(n + 3) .txt-box .ttl-medium {
  font-size: 22px;
  line-height: 36px;
}
html[lang="en"] .company-link-list .link-box .txt-box .ttl-medium,
html[lang="th"] .company-link-list .link-box .txt-box .ttl-medium,
html[lang="vi"] .company-link-list .link-box .txt-box .ttl-medium {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-link-list .link-box .txt-box .ttl-medium,
  .company-link-list .link-box:nth-child(n + 3) .txt-box .ttl-medium {
    font-size: 25px;
    line-height: 32px;
  }
}
.company-link-list .link-box:nth-child(n + 3) .txt-box .ttl-large-accessory {
  font-size: 14px;
  line-height: 36px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .company-link-list .link-box:nth-child(n + 3) .txt-box .ttl-large-accessory {
    font-size: 14px;
    line-height: 18px;
    margin-top: 10px;
  }
}
.company-link-list .link-box .link .btn-primary {
  padding: 0 30px 0 10px;
}
html[lang="en"] .company-link-list .link-box .link .btn-primary,
html[lang="th"] .company-link-list .link-box .link .btn-primary,
html[lang="vi"] .company-link-list .link-box .link .btn-primary {
  font-size: 12px;
  line-height: 16px;
}

/*********************************
  company/about
*********************************/
.company-section.bg-secondary {
  background: #eee;
}
.greeting {
  margin-top: 70px;
  padding-top: 340px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .greeting {
    margin-top: 50px;
    padding-top: 0;
  }
}
.greeting-top {
  width: 1000px;
  height: 440px;
  background: url("../images/company/about/greeting.webp");
  padding: 120px 0 90px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
[lang="en"] .greeting-top,
[lang="th"] .greeting-top,
[lang="vi"] .greeting-top {
  background: url("../images/company/about/en_greeting.webp");
}
[lang="zh-cmn-Hans"] .greeting-top,
[lang="zh-cmn-Hant"] .greeting-top {
  background: url("../images/company/about/cn_greeting.webp");
}
@media screen and (max-width: 768px) {
  .greeting-top {
    width: 100%;
    height: auto;
    background: #e2edf6;
    padding: 0;
    position: inherit;
    top: inherit;
    left: inherit;
    transform: translateX(0);
  }
  [lang="en"] .greeting-top,
  [lang="th"] .greeting-top,
  [lang="vi"] .greeting-top {
    background: #e2edf6;
  }
  [lang="zh-cmn-Hans"] .greeting-top,
  [lang="zh-cmn-Hant"] .greeting-top {
    background: #e2edf6;
  }
}
@media screen and (max-width: 768px) {
  .greeting-ttl {
    width: calc(100% - 50px);
    margin: 40px auto 0;
  }
}
.greeting-middle {
  background: #e2edf6;
  padding: 160px 0 90px;
}
@media screen and (max-width: 768px) {
  .greeting-middle {
    padding: 32px 25px 50px;
  }
}
.greeting-middle .note,
.greeting-middle .name {
  width: 810px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .greeting-middle .note,
  .greeting-middle .name {
    width: 100%;
    letter-spacing: .05em;
  }
}
.greeting-middle .name {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .05em;
  text-align: right;
  margin: 30px auto 0;
}
@media screen and (max-width: 768px) {
  .greeting-middle .name {
    font-size: 14px;
    line-height: 26px;
    margin-top: 26px;
  }
}
.greeting-bottom {
  width: 1000px;
  margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
  .greeting-bottom {
    width: 100%;
    margin-top: 35px;
    padding: 0 25px;
  }
}
.greeting-bottom .ttl {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .greeting-bottom .ttl {
    font-size: 14px;
    line-height: 26px;
  }
}
.greeting-bottom .txt {
  font-size: 14px;
  line-height: 26px;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .greeting-bottom .txt {
    font-size: 12px;
    line-height: 20px;
    margin-top: 8px;
  }
}
.greeting-bottom .txt-link-secondary {
  display: inline-block;
  font-size: 14px;
  line-height: 26px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .greeting-bottom .txt-link-secondary {
    font-size: 12px;
    line-height: 20px;
  }
}
@media screen and (max-width: 768px) {
  .company-section {
    padding: 50px 25px 70px;
  }
}
.company-section .table {
  width: 1000px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .company-section .table {
    width: 100%;
    margin-top: 50px;
  }
}
.company-section .table .item:first-of-type {
  border-top: solid 1px #ccc;
}
.company-section .table .item {
  border-bottom: solid 1px #ccc;
}
.company-section.company-profile .table .item:nth-child(2) {
  display: none;
}
.company-section .table .item-ttl {
  width: 240px;
  vertical-align: top;
  padding: 40px 0;
}
.company-section.bg-secondary .table .item-ttl {
  background: #fff;
}
html:not([lang="ja"]) .company-section.company-profile .table .item-ttl a {
  display: block;
  font-size: 12px;
  margin: auto;
}
html:not([lang="ja"]) .company-section.company-profile .table .item-ttl a:before {
  content: "\A";
  white-space: pre;
}
.company-section .table .item-content {
  padding: 40px 30px 40px 48px;
}
@media screen and (max-width: 768px) {
  .company-section .table .item-ttl,
  .company-section .table .item-content {
    display: block;
    width: 100%;
    text-align: left;
    padding: 15px 25px;
  }
}
.company-section .table .txt-link-secondary.anchor-link {
  display: block;
}
.company-section .table .txt-link-secondary + .txt-link-secondary {
  margin-top: 10px;
}
.company-bottom-link {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .company-bottom-link {
    width: 100%;
    padding: 0 25px;
  }
}
.company-link-parts {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 16%;
  height: 40px;
  border-right: solid 1px #ccc;
  font-size: 16px;
  color: #333;
  letter-spacing: .05em;
  padding-right: 15px;
  position: relative;
  transition: .3s;
}
.company-link-parts:nth-child(5) {
  width: 20%;
}
html:not([lang="ja"]) .company-link-parts {
  width: 22%;
  padding-left: 15px;
}
html:not([lang="ja"]) .company-link-parts:nth-child(4),
html:not([lang="ja"]) .company-link-parts:nth-child(6) {
  display: none;
}
@media screen and (max-width: 768px) {
  .company-link-parts {
    width: 100%;
    height: 65px;
    border-right: none;
    border-bottom: solid 1px #ccc;
    font-size: 14px;
  }
  .company-link-parts:nth-child(5) {
    width: 100%;
  }
  html:not([lang="ja"]) .company-link-parts {
    width: 100%;
    padding-left: 0;
  }
}
.company-link-parts:first-of-type {
  border-left: solid 1px #ccc;
}
@media screen and (max-width: 768px) {
  .company-link-parts:first-of-type {
    border-top: solid 1px #ccc;
    border-left: none;
  }
}
.company-link-parts:hover {
  opacity: .7;
}
.company-link-parts:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%) rotate(45deg);
}
.company-link-parts.current {
  color: #999;
  pointer-events: none;
}
.company-link-parts.current:after {
  border-color: #ccc;
}


/*********************************
  company/base
*********************************/
.map-section {
  height: 960px;
  margin: 90px auto 0;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .map-section {
    height: auto;
    margin: 50px auto 0;
    padding-bottom: 60px;
  }
}
.map-section:before {
  content: '';
  width: 1160px;
  height: 960px;
  background-image: url(../images/company/base/map_bg.webp);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  margin-left: -384px;
}
@media screen and (min-width: 1920px) {
  .map-section:before {
    left: 0;
    transform: translateX(0);
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .map-section:before {
    display: none;
  }
}
.map-inner {
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  padding: 70px 0;
}
@media screen and (max-width: 768px) {
  .map-inner {
    width: 100%;
    height: 106.667vw;
    background-image: url(../images/company/base/map-bg_sp.webp);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 0;
    position: relative;
  }
}
.point-list {
  justify-content: center;
  align-items: center;
  width: 420px;
  height: 54px;
  background: #fff;
  -webkit-border-radius: 27px;
  -moz-border-radius: 27px;
  border-radius: 27px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .point-list {
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 115px;
    height: 128px;
    border: solid 1px #ccc;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    margin-top: 0;
    padding: 20px 17px;
    position: absolute;
    right: 25px;
    bottom: 25px;
  }
}
  .point-list-parts {
  font-size: 14px;
  padding-left: 18px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .point-list-parts {
    font-size: 12px;
    padding-left: 13px;
  }
}
.point-list-parts:not(:first-of-type) {
  margin-left: 22px;
}
@media screen and (max-width: 768px) {
  .point-list-parts:not(:first-of-type) {
    margin-left: 0;
  }
}
.point-list-parts:before {
  content: '';
  width: 10px;
  height: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .point-list-parts:before {
    width: 8px;
    height: 8px;
  }
}
.point-list-parts:nth-of-type(1):before {
  background: #0077cc;
}
.point-list-parts:nth-of-type(2):before {
  background: #00b9c2;
}
.point-list-parts:nth-of-type(3):before {
  background: #80c8ff;
}
.point-list-parts:nth-of-type(4):before {
  background: #6e8296;
}
.anchor {
  width: 300px;
  margin-top: 94px;
}
@media screen and (max-width: 768px) {
  .anchor {
    width: 100%;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .anchor-wrap {
    display: flex;
    flex-wrap: wrap;
    background: #e2edf6;
  }
}
.anchor-wrap + .anchor-wrap {
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  .anchor-wrap + .anchor-wrap {
    margin-top: 20px;
  }
}
.anchor-parts {
  display: block;
  width: 100%;
  height: 58px;
  background: #e2edf6;
  font-size: 16px;
  line-height: 58px;
  color: #0059a3;
  letter-spacing: .05em;
  padding: 0 22px;
  position: relative;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .anchor-parts {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    border-bottom: solid 3px #fff;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    padding: 16px 0;
  }
  .anchor-parts:nth-last-of-type(-n + 1) {
    border-bottom: none;
  }
  .anchor-parts:nth-of-type(even) {
    border-right: solid 3px #fff;
  }
}
.anchor-parts:not(:first-of-type) {
  width: 280px;
  margin: 6px 0 0 auto;
}
@media screen and (max-width: 768px) {
  .anchor-parts:not(:first-of-type) {
    width: 50%;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .anchor-parts:hover {
    background: #c8dced;
  }
}
.anchor-parts:after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: solid 1px #0d6db2;
  border-bottom: solid 1px #0d6db2;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .map-section .note {
    margin-top: 30px;
    padding: 0 25px;
  }
}
.branch-section {
  background: #ebf3f9;
}
@media screen and (max-width: 768px) {
  .branch-section {
    padding: 60px 25px;
  }
  .branch-section + .branch-section {
    padding-top: 40px;
  }
}
.branch-parts {
  width: 1000px;
  background: #fff;
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .branch-parts {
    width: 100%;
    margin: 17px auto 0;
  }
}
.branch-parts.include-detail + .branch-parts {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .branch-parts.include-detail + .branch-parts {
    margin-top: 50px;
  }
}
.branch-parts:first-of-type {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .branch-parts:first-of-type {
    margin-top: 50px;
  }
}
.branch-parts .ttl-box {
  border-bottom: solid 1px #ccc;
  padding: 45px 50px 35px;
}
@media screen and (max-width: 768px) {
  .branch-parts .ttl-box {
    padding: 36px 25px 26px;
  }
}
.branch-parts .branch-ttl,
.branch-parts .txt-link {
  font-size: 22px;
  line-height: 30px;
  color: #0059a3;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .branch-parts .branch-ttl,
  .branch-parts .txt-link {
    font-size: 18px;
    line-height: 27px;
  }
}
.branch-parts .branch-ttl .sub-ttl {
  font-size: 14px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .branch-parts .branch-ttl .sub-ttl {
    display: block;
    font-size: 12px;
  }
}
.branch-parts .ttl-box .blank-txt {
  font-size: 12px;
  line-height: 18px;
  color: #999;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .branch-parts .ttl-box .blank-txt {
    font-size: 10px;
    margin-top: 0;
  }
}
.branch-parts .ttl-box .note {
  margin-top: 20px;
}
.branch-parts .wrap {
  justify-content: space-between;
  padding: 35px 50px 50px;
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap {
    padding: 25px 25px 40px;
  }
}
.branch-parts .wrap .txt-box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap .txt-box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap .note {
    line-height: 26px;
  }
}
.branch-parts .wrap .txt-box.secondary {
  width: auto;
}
.branch-parts .wrap .txt-box .ttl {
  font-size: 16px;
  line-height: 30px;
  color: #0059a3;
  letter-spacing: .05em;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap .txt-box .ttl {
    font-size: 14px;
    line-height: 27px;
    margin-top: 15px;
  }
}
.branch-parts .wrap .txt-box.secondary .ttl {
  margin-top: 15px;
}
.branch-parts .wrap .txt-box .tel-txt {
  text-indent: -38px;
  margin-top: 15px;
  padding-left: 38px;
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap .txt-box .tel-txt {
    text-indent: 0;
    padding-left: 0;
  }
}
.branch-parts .wrap .card {
  width: 338px;
}
@media screen and (max-width: 768px) {
  .branch-parts .wrap .card {
    width: 100%;
    margin-top: 30px;
  }
}
.branch-parts .gmap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 50px;
  background: #fff;
  border: solid 1px #333;
  font-size: 14px;
  color: #333;
  margin-top: 30px;
  position: relative;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .branch-parts .gmap {
    width: 100%;
    height: 45px;
  }
}
.branch-parts .gmap:hover {
  background: #eee;
}
.branch-parts .gmap:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
.branch-parts .btn-primary {
  margin-top: -25px;
  transform: translateY(35px);
}
@media screen and (max-width: 768px) {
  .branch-parts .btn-primary {
    width: 275px;
    margin-top: -35px;
  }
}


/*********************************
  company/base/○○
*********************************/
.heading-sub {
  display: block;
  font-size: 22px;
  line-height: 42px;
}
@media screen and (max-width: 768px) {
  .heading-sub {
    font-size: 18px;
    line-height: 31px;
  }
}
.heading-img {
  width: 1000px;
  margin: 80px auto 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .heading-img {
    width: 100%;
    margin: 50px auto 0;
  }
}
.heading-img .heading-caption {
  font-size: 14px;
  line-height: 1;
  position: absolute;
  bottom: -35px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .heading-img .heading-caption {
    font-size: 12px;
    bottom: -27px;
    left: 20px;
  }
}
.base-section {
  background: #ebf3f9;
  margin-top: -110px;
  padding-top: 170px;
}
@media screen and (max-width: 768px) {
  .base-section {
    margin-top: 0;
    padding-top: 40px;
  }
  .base-section .inner {
    padding: 0 25px;
  }
}
.heading-img.include-caption + .base-section {
  margin-top: -75px;
}
@media screen and (max-width: 768px) {
  .heading-img.include-caption + .base-section {
    margin-top: 0;
    padding-top: 70px;
  }
}
.base-section .ttl-medium {
  color: #0059a3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-section .ttl-medium {
    font-size: 22px;
    line-height: 33px;
  }
}
.base-section .lead {
  text-align: center;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .base-section .lead {
    text-align: left;
    margin-top: 20px;
  }
}
.outline {
  justify-content: space-between;
  background: #fff;
  margin-top: 110px;
  padding: 0 100px;
}
@media screen and (max-width: 768px) {
  .outline {
    background: none;
    margin-top: 70px;
    padding: 0;
  }
}
.outline .parts {
  width: 304px;
  background: #fff;
  padding: 70px 0 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .outline .parts {
    width: 100%;
    padding: 50px 25px;
  }
  .outline .parts + .parts {
    margin-top: 65px;
  }
}
.outline .parts .number {
  font-size: 100px;
  line-height: 80px;
  font-weight: 200;
  color: rgba(0,101,174,.3);
  letter-spacing: .05em;
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .outline .parts .number {
    font-size: 70px;
  }
}
.outline .parts .ttl-small {
  color: #0059a3;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .outline .parts .ttl-small {
    margin-bottom: 20px;
  }
}
.outline .parts .note {
  margin-top: 28px;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .outline .parts .note {
    line-height: 26px;
    letter-spacing: .05em;
    margin-top: 24px;
    padding: 0;
  }
}
.base-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background: #fff;
  border: solid 1px #0059a3;
  font-size: 14px;
  letter-spacing: .05em;
  color: #0059a3;
  margin-top: 24px;
  position: relative;
}
.note + .base-btn {
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .base-btn {
    transition: .3s;
  }
  .base-btn:hover {
    background: #ebf3f9;
  }
}
@media screen and (max-width: 768px) {
  .base-btn {
    height: 45px;
    font-size: 12px;
    margin-top: 20px;
  }
}
.base-btn:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #0059a3;
  border-right: solid 1px #0059a3;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
.machine-section {
  padding-bottom: 0;
}
.machine-section.bg-secondary {
  background: #eee;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .machine-section.bg-secondary {
    padding-bottom: 70px;
  }
}
.machine-section .inner {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .machine-section .inner {
    padding: 0 25px;
  }
}
.machine-section .lead {
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .machine-section .lead {
    text-align: left;
    margin-top: 40px;
  }
}
.machine-section .parts {
  padding-top: 70px;
}
@media screen and (max-width: 768px) {
  .machine-section .parts {
    padding-top: 35px;
  }
}
.machine-section .ttl-small {
  border-left: solid 4px #ccc;
  color: #333;
  margin: 0 0 28px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .machine-section .ttl-small {
    margin: 0 0 20px;
  }
}
.machine-single .img-wrap .img-box:nth-of-type(1) {
  flex-shrink: 0;
  width: 477px;
  margin-right: 3px;
}
@media screen and (max-width: 768px) {
  .machine-single .img-wrap .img-box:nth-of-type(1) {
    width: 100%;
    margin: 0 0 2px;
  }
}
.machine-double {
  flex-wrap: wrap;
  justify-content: space-between;
}
.machine-double .parts {
  width: 478px;
}
@media screen and (max-width: 768px) {
  .machine-double .parts {
    width: 100%;
  }
  .machine-double .parts + .parts {
    margin-top: 15px;
  }
}
.achievement {
  align-items: center;
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  .achievement {
    margin-top: 20px;
  }
}
.achievement-ttl {
  font-size: 14px;
  letter-spacing: .05em;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .achievement-ttl {
    font-size: 12px;
    margin-right: 14px;
  }
}
.achievement .wrap {
  flex-wrap: wrap;
  margin: -10px -10px 0 0;
}
.achievement-link {
  background: #eee;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  border-radius: 14px;
  font-size: 12px;
  line-height: 28px;
  text-align: center;
  color: #333;
  letter-spacing: .05em;
  margin: 10px 10px 0 0;
  padding: 0 20px 0 15px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .achievement-link {
    transition: .3s;
  }
  .achievement-link:hover {
    opacity: .7;
  }
}
@media screen and (max-width: 768px) {
  .achievement-link {
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    font-size: 10px;
    line-height: 24px;
    padding: 0 20px 0 13px;
  }
}
.achievement-link:after {
  content: '';
  width: 4px;
  height: 4px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%) rotate(45deg);
}
.machine-section .txt {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: .05em;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .machine-section .txt {
    font-size: 12px;
    line-height: 20px;
  }
}
.machine-double + .ttl-large {
  margin-top: 110px;
}
@media screen and (max-width: 768px) {
  .machine-double + .ttl-large {
    margin-top: 55px;
  }
}
.machine-triple {
  justify-content: space-between;
}
.machine-triple .parts {
  width: 303px;
}
@media screen and (max-width: 768px) {
  .machine-triple .parts {
    width: 100%;
  }
}
.sankyo-section {
}
.sankyo-section .inner {
  max-width: 1000px;
}
.sankyo-section .title {
  font-size: 22px;
  line-height: 30px;
  font-weight: 500;
  margin: 0 0 37px 0;
  padding: 0 0 0 22px;
  border-left: 4px solid #CCCCCC;
}
.sankyo-section .wrap {
  justify-content: space-between;
}
.sankyo-section .wrap .parts {
  flex-basis: calc(480 / 1000 * 100%);
}
.sankyo-section .wrap .parts .note {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  padding: 12px 0 0 0;
}
@media screen and (max-width: 768px) {
  .sankyo-section .inner {
    padding: 0 25px;
  }
  .sankyo-section .title {
    font-size: 18px;
    line-height: 27px;
    margin: 0 0 43px 0;
    padding: 0 0 0 15px;
  }
  .sankyo-section .wrap {
    margin-bottom: -50px;
  }
  .sankyo-section .wrap .parts .note {
    font-size: 14px;
    line-height: 26px;
    padding: 12px 0 17px 0;
  }
}
.access-section .inner {
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .access-section .inner {
    padding: 0 25px;
  }
}
.access-wrap {
  justify-content: space-between;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .access-wrap {
    flex-direction: column-reverse;
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
.access-wrap .txt-box {
    margin-top: 50px;
  }
}
.access-wrap .txt-box .ttl {
  font-size: 16px;
  color: #0059a3;
}
@media screen and (max-width: 768px) {
  .access-wrap .txt-box .ttl {
    font-size: 14px;
  }
}
.access-wrap .txt-box .txt {
  font-size: 16px;
  line-height: 30px;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .access-wrap .txt-box .txt {
    font-size: 14px;
    line-height: 26px;
  }
}
.access-wrap .txt-box .txt + .ttl {
  margin-top: 42px;
}
.access-wrap .g-map-box {
  width: 533px;
  height: 400px;
}
@media screen and (max-width: 768px) {
  .access-wrap .g-map-box {
    width: 100vw;
    height: 75.067vw;
    margin: 0 -25px;
  }
}
.access-wrap .g-map {
  width: 100%;
  height: 100%;
}
.contact-section.in-base {
  width: 1000px;
  min-width: auto;
  background: #444;
  margin: 0 auto;
}
html:not([lang="ja"]) .contact-section.in-base {
  display: none;
}
@media screen and (max-width: 768px) {
  .contact-section.in-base {
    width: calc(100% - 50px);
  }
}
@media screen and (max-width: 768px) {
  .contact-section.in-base .contact-list {
    width: 275px;
  }
}
.contact-section.in-base .contact-list.tel {
  background: #333;
}
@media screen and (max-width: 768px) {
  .contact-section.in-base .contact-list.tel {
    background: #444;
    border-color: #999;
  }
}
.contact-section.in-base .contact-list.contact {
  background: #444;
  border-color: #999;
}
.contact-section.in-base .contact-list.contact:hover {
  background: #333;
}
.consultation-section {
  padding: 100px 0 60px;
}
@media screen and (max-width: 768px) {
  .consultation-section {
    padding: 60px 0;
  }
}
.consultation-section .inner {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .consultation-section .inner {
    width: 100%;
    padding: 0 25px;
  }
}
.consultation-section .ttl {
  font-size: 30px;
  line-height: 1;
  color: #0059a3;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .consultation-section .ttl {
    font-size: 22px;
    line-height: 33px;
  }
}
.consultation-section .wrap {
  justify-content: space-between;
  margin-top: 130px;
}
@media screen and (max-width: 768px) {
  .consultation-section .wrap {
    margin-top: 100px;
  }
}
.consultation-section .wrap .parts {
  width: 330px;
  background: #ebf3f9;
  padding: 100px 30px 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .consultation-section .wrap .parts {
    width: 100%;
    padding: 60px 25px 30px;
  }
  .consultation-section .wrap .parts:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}
.consultation-section .wrap .parts .img-box {
  width: 140px;
  height: 140px;
  position: absolute;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .consultation-section .wrap .parts .img-box {
    width: 100px;
    height: 100px;
    top: -50px;
  }
}
.consultation-section .wrap .parts .parts-ttl {
  font-size: 22px;
  line-height: 30px;
  color: #0059a3;
  text-align: center;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .consultation-section .wrap .parts .parts-ttl {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 10px;
  }
}


  /*********************************
    company/recruit
  *********************************/
.recruit-message {
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recruit-message {
    padding-bottom: 0;
  }
}
.recruit-message .img-box {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .recruit-message .img-box {
    width: 325px;
    margin: 0 auto;
    position: relative;
    top: inherit;
    right: inherit;
  }
}
.recruit-message .txt-box {
  width: 700px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  padding: 80px 100px;
  position: relative;
  transform: translateY(60px);
}
@media screen and (max-width: 768px) {
  .recruit-message .txt-box {
    width: 100%;
    margin-top: -50px;
    padding: 110px 25px 50px;
    transform: translateY(0);
  }
}
.recruit-message .txt-box .en {
  font-size: 100px;
  line-height: 1;
  font-weight: 200;
  color: rgba(0,0,0,.15);
  letter-spacing: .15em;
  position: absolute;
  top: -36px;
  left: 50px;
}
@media screen and (max-width: 768px) {
  .recruit-message .txt-box .en {
    font-size: 55px;
    top: 84px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.recruit-message .ttl-small {
  color: #0059a3;
  margin-bottom: 38px;
}
@media screen and (max-width: 768px) {
  .recruit-message .ttl-small {
    text-align: center;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 768px) {
  .recruit-message .txt-box .note {
    line-height: 26px;
    letter-spacing: .05em;
  }
}
.personal-section {
  background: #ebf3f9;
}
.personal-wrap {
  justify-content: space-between;
  width: 1000px;
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  .personal-wrap {
    width: 100%;
    margin: 90px auto 0;
    padding: 0 25px;
  }
}
.personal-wrap .parts {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 330px;
  background: #fff;
  padding: 110px 0 90px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .personal-wrap .parts {
    width: 100%;
    padding: 70px 25px 40px;
  }
  .personal-wrap .parts:not(:first-of-type) {
    margin-top: 55px;
  }
}
.personal-wrap .parts .number {
  font-size: 80px;
  line-height: 1;
  font-weight: 200;
  color: #0065ae;
  letter-spacing: .05em;
  position: absolute;
  top: -44px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .personal-wrap .parts .number {
    font-size: 70px;
    top: -38px;
  }
}
.personal-wrap .parts .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 66px;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .personal-wrap .parts .img-box {
    margin-bottom: 20px;
  }
}
.personal-wrap .parts .img-box .img {
  width: auto;
  height: auto;
}
.personal-wrap .parts .txt {
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .personal-wrap .parts .txt {
    font-size: 16px;
    line-height: 25px;
  }
}
.company-section .list-parts {
  text-indent: -1em;
  padding-left: 1em;
}
.entry-section {
  background: #0065ae;
}
@media screen and (max-width: 768px) {
  .entry-section {
    padding: 70px 25px;
  }
}
.entry-section .ttl-large {
  color: #fff;
}
.entry-section .ttl-large-accessory {
  color: rgba(255,255,255,.5);
}
.entry-section .serif {
  width: 400px;
  height: 60px;
  background: rgba(0,0,0,.15);
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  font-size: 16px;
  line-height: 60px;
  letter-spacing: .05em;
  color: #fff;
  text-align: center;
  margin: 80px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .entry-section .serif {
    width: 290px;
    height: 44px;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    font-size: 14px;
    line-height: 44px;
    margin: 55px auto 0;
    padding: 0 20px;
  }
}
.entry-section .serif:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 10px 0 10px;
  border-color: rgba(0,0,0,.15) transparent transparent transparent;
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .entry-section .serif:after {
    border-width: 12px 8px 0 8px;
    bottom: -12px;
  }
}
.entry-section .btn-primary {
  width: 900px;
  height: 140px;
  background: #ebf3f9;
  font-size: 22px;
  color: #0059a3;
  margin-top: 40px;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .entry-section .btn-primary {
    width: 100%;
    height: 80px;
    font-size: 18px;
    margin-top: 27px;
  }
}
.entry-section .btn-primary:hover {
  background: #fff;
}
.entry-section .btn-primary:after {
  border-color: #0059a3;
  right: 40px;
}
@media screen and (max-width: 768px) {
  .entry-section .btn-primary:after {
    right: 20px;
  }
}
.entry-section .btn-primary .blank {
  margin-right: 20px;
  position: relative;
}
.entry-section .btn-primary .blank:after {
  content: '';
  width: 14px;
  height: 14px;
  background-image: url(../images/common/blank.svg);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .entry-section .btn-primary .blank:after {
    width: 12px;
    height: 12px;
  }
}
.entry-section .txt {
  font-size: 14px;
  line-height: 30px;
  color: #fff;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .entry-section .txt {
    font-size: 12px;
    line-height: 20px;
    margin-top: 26px;
  }
}


/*********************************
  company/csr
*********************************/
.csr {
  align-items: center;
  width: 100%;
  height: 643px;
  margin-top: 70px;
  padding: 0 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .csr {
    height: auto;
    margin-top: 50px;
    padding: 0;
  }
}
.csr .img-box {
  width: 643px;
  position: absolute;
  top: 0;
  right: 40px;
}
@media screen and (max-width: 768px) {
  .csr .img-box {
    width: 100%;
    position: inherit;
    top: auto;
    right: auto;
  }
}
.csr .txt-box {
  width: 680px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  padding: 64px 70px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .csr .txt-box {
    width: calc(100% - 50px);
    margin: -50px auto 0;
    padding: 35px 25px;
  }
}
@media screen and (max-width: 768px) {
  .csr .txt-box .note {
    line-height: 26px;
  }
}
.csr + .ttl-small {
  width: 1000px;
  border-left: solid 4px #ccc;
  margin: 80px auto 30px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .csr + .ttl-small {
    width: 100%;
    margin: 50px 25px 20px;
    padding-left: 16px;
  }
}
.csr + .ttl-small + .note {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .csr + .ttl-small + .note {
    width: 100%;
    padding: 0 25px;
  }
}
@media screen and (max-width: 768px) {
  .sdgs-section {
    padding: 70px 25px;
  }
}
.sdgs-section .lead {
  width: 1000px;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .sdgs-section .lead {
    width: 100%;
    margin: 45px auto 0;
  }
}
.sdgs {
  width: 1000px;
  background: #fff;
  margin: 50px auto 0;
  padding: 56px 0 70px;
}
@media screen and (max-width: 768px) {
  .sdgs {
    width: 100%;
    margin: 30px auto 0;
    padding: 35px 25px 40px;
  }
}
.sdgs .img-box {
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sdgs .img-box {
    width: 100%;
  }
}
.field {
  width: 1000px;
  background: #fff;
  margin: 60px auto 0;
  padding: 64px 80px 80px;
}
@media screen and (max-width: 768px) {
  .field {
    width: 100%;
    margin: 30px auto 0;
    padding: 30px 25px 40px;
  }
}
.field .ttl {
  font-size: 30px;
  line-height: 46px;
  color: #0059a3;
  text-align: center;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .field .ttl {
    font-size: 24px;
    line-height: 32px;
  }
}
.field-wrap {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 50px auto 70px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .field-wrap {
    margin: 30px auto 40px;
  }
}
.field-wrap .parts {
  justify-content: center;
  align-items: center;
  width: calc((100% - 6px) / 2);
  height: 228px;
  background: #e2edf6;
}
@media screen and (max-width: 768px) {
  .field-wrap .parts {
    width: calc((100% - 5px) / 2);
    height: 170px;
  }
}
.field-wrap .parts:nth-of-type(n + 3) {
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .field-wrap .parts:nth-of-type(n + 3) {
    margin-top: 10px;
  }
}
@media screen and (min-width: 769px) {
  .field-wrap .parts:nth-of-type(odd) {
    padding-right: 100px;
  }
  .field-wrap .parts:nth-of-type(even) {
    padding-left: 100px;
  }
}
@media screen and (max-width: 768px) {
  .field-wrap .parts:nth-of-type(-n + 2) {
    padding-bottom: 76px;
  }
  .field-wrap .parts:nth-of-type(n + 3) {
    padding-top: 76px;
  }
}
.field-name {
  font-size: 26px;
  line-height: 36px;
  color: #0059a3;
  text-align: center;
  letter-spacing: .2em;
}
@media screen and (max-width: 768px) {
  .field-name {
    font-size: 18px;
    line-height: 27px;
    letter-spacing: .05em;
  }
}
.field-name .en {
  display: block;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .15em;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .field-name .en {
    font-size: 10px;
    line-height: 15px;
    margin-top: 5px;
  }
}
.field-wrap .circle {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 330px;
  height: 330px;
  background: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
@media screen and (max-width: 768px) {
  .field-wrap .circle {
    width: 200px;
    height: 200px;
  }
}
.field-wrap .circle .img-box {
  width: 88px;
}
@media screen and (max-width: 768px) {
  .field-wrap .circle .img-box {
    width: 50px;
  }
}
.field-wrap .circle .txt {
  font-size: 26px;
  line-height: 36px;
  color: #0059a3;
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .field-wrap .circle .txt {
    font-size: 20px;
    line-height: 29px;
    margin-top: 10px;
  }
}
.field-wrap + .ttl {
  font-size: 26px;
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  .field-wrap + .ttl {
    font-size: 20px;
    line-height: 29px;
  }
}
.field-detail {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 55px;
}
@media screen and (max-width: 768px) {
  .field-detail {
    margin-top: 30px;
  }
}
.field-detail .parts {
  width: calc((100% - 72px) / 2);
  border-top: solid 1px #ccc;
  padding-top: 30px;
}
@media screen and (max-width: 768px) {
  .field-detail .parts {
    width: 100%;
    padding-top: 25px;
  }
  .field-detail .parts:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 769px) {
  .field-detail .parts:nth-of-type(n + 3) {
    margin-top: 60px;
  }
}
.field-detail .parts-ttl {
  font-size: 22px;
  color: #0059a3;
  letter-spacing: .05em;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .field-detail .parts-ttl {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 15px;
  }
}
.field-detail .parts .note {
  height: 60px;
}
@media screen and (max-width: 768px) {
  .field-detail .parts .note {
    height: auto;
  }
}
.field-detail .parts .wrap {
  justify-content: space-between;
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  .field-detail .parts .wrap {
    margin-top: 20px;
  }
}
.field-detail .parts .img-box {
  width: 90px;
}
@media screen and (max-width: 768px) {
  .field-detail .parts .img-box {
    width: 17.333vw;
  }
}
.case-parts {
  justify-content: space-between;
  align-items: center;
  width: 920px;
  height: 520px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  margin: 60px auto 0;
  padding: 80px;
}
@media screen and (max-width: 768px) {
  .case-parts {
    width: calc(100% - 50px);
    height: auto;
    margin: 95px auto 0;
    padding: 195px 25px 50px;
  }
}
.case-parts:first-of-type {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .case-parts:first-of-type {
    margin-top: 95px;
  }
}
.case-parts .case-img {
  flex-shrink: 0;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .case-parts .case-img {
    width: 100%;
    margin: -235px auto 0;
  }
}
@media screen and (min-width: 769px) {
  .case-parts:nth-of-type(odd) .case-img {
    margin-left: -160px;
  }
  .case-parts:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .case-parts:nth-of-type(even) .case-img {
    margin-right: -160px;
  }
}
.case-parts .txt-box {
  flex-shrink: 0;
  width: 375px;
}
@media screen and (max-width: 768px) {
  .case-parts .txt-box {
    width: 100%;
  }
}
.case-parts .ttl {
  font-size: 20px;
  line-height: 36px;
  letter-spacing: .1em;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .case-parts .ttl {
    font-size: 17px;
    line-height: 25px;
    margin: 30px 0 20px;
  }
  .case-parts .note {
    letter-spacing: .05em;
  }
}
.case-parts .wrap {
  justify-content: flex-end;
  margin-top: 46px;
}
@media screen and (max-width: 768px) {
  .case-parts .wrap {
    margin-top: 20px;
  }
}
.case-parts .wrap .img-box {
  width: 90px;
}
@media screen and (max-width: 768px) {
  .case-parts .wrap .img-box {
    width: 17.333vw;
  }
}
.case-parts .wrap .img-box + .img-box {
  margin-left: 8px;
}
@media screen and (max-width: 768px) {
  .case-parts .wrap .img-box + .img-box {
    margin-left: 1.333vw;
  }
}
.help-section .lead {
  width: 1000px;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .help-section .lead {
    width: 100%;
    margin: 45px auto 0;
  }
}
.help-section .privacy-window {
  width: 1000px;
  background: #fff;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .help-section .privacy-window {
    width: 100%;
    margin-top: 30px;
  }
}
.help-section .privacy-window .ttl-small {
  border-left-color: #ccc;
  margin-bottom: 22px;
}
.help-section .privacy-window .note + .ttl-small {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .help-section .privacy-window .note + .ttl-small {
    margin-top: 40px;
  }
}
.help-section .privacy-window .txt-link {
  display: block;
  width: fit-content;
}
.help-section .privacy-window .txt-link {
  margin-top: 15px;
}


  /*********************************
    customer
  *********************************/
.customer-section {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .customer-section {
    padding: 55px 25px 0;
  }
}
.customer-section .lead {
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .customer-section .lead {
    text-align: left;
    margin-bottom: 55px;
  }
}
.customer-section .txt {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .customer-section .txt {
    font-size: 14px;
    line-height: 26px;
    margin-top: 50px;
  }
}
.customer-wrap {
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 1000px;
  border-top: solid 1px #ddd;
  margin: 34px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .customer-wrap {
    width: 100%;
    margin: 24px auto 0;
  }
}
.customer-wrap:after {
  content: '';
  width: 100%;
  height: 1px;
  background: #ddd;
  position: absolute;
  bottom: 0;
  left: 0;
}
.customer-box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% / 4);
  height: 100px;
  border-bottom: solid 1px #ddd;
  padding-right: 35px;
}
@media screen and (max-width: 768px) {
  .customer-box {
    width: 100%;
    height: auto;
    padding: 15px 0;
  }
}
.customer-box .txt-link-secondary {
  border-bottom: none;
  font-size: 14px;
  line-height: 26px;
  text-decoration: underline;
}
.customer-box .note {
  font-size: 14px;
  line-height: 26px;
}


/*********************************
  products
*********************************/
.products-anchor {
  flex-wrap: wrap;
  width: 1000px;
  border-left: solid 1px #0059a3;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .products-anchor {
    width: calc(100% - 50px);
  }
}
.products-anchor-parts {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 333px;
  height: 60px;
  background: #fff;
  font-size: 16px;
  color: #0059a3;
  letter-spacing: .05em;
  text-align: center;
  padding-inline: 42px;
  position: relative;
  border-right: solid 1px #0059a3;
  border-bottom: solid 1px #0059a3;
}
.products-anchor-parts:nth-child(1),
.products-anchor-parts:nth-child(2),
.products-anchor-parts:nth-child(3) {
  border-top: solid 1px #0059a3;
}
@media screen and (max-width: 768px) {
  .products-anchor-parts {
    width: 50%;
    height: 70px;
    font-size: 12px;
    line-height: 18px;
    padding: 0 25px;
  }
  .products-anchor-parts:nth-child(3) {
    border-top: 0;
  }
}
.products-anchor-parts:after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: solid 1px #0059a3;
  border-bottom: solid 1px #0059a3;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 769px) {
  .products-anchor-parts:nth-of-type(3n) {
    width: 332px;
  }
}
.products-anchor-parts:hover {
  background: #e2edf6;
}
.products {
  background: #eee;
}
.products-block {
  width: 1180px;
  background: #fff;
  margin: 0 auto;
  padding: 70px 90px;
}
@media screen and (max-width: 768px) {
  .products-block {
    width: 100%;
    padding: 50px 25px;
  }
}
.products-block + .products-block {
  margin-top: 30px;
}
.products-block .ttl-normal {
  border-bottom: solid 1px #0059a3;
  color: #0059a3;
  margin-bottom: 30px;
  padding-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .products-block .ttl-normal {
    margin-bottom: 20px;
    padding-bottom: 15px;
  }
}
.products-block .ttl-small {
  border-left: solid 4px #ccc;
  color: #333;
  margin: 50px 0 22px;
  padding-left: 22px;
}/*
.products-block .ttl-small#products-block-03-05 {
  display: none;
}*/
@media screen and (max-width: 768px) {
  .products-block .ttl-small {
    margin: 40px 0 22px;
  }
}
@media screen and (max-width: 768px) {
  .products-block .note {
    line-height: 28px;
  }
}
.products-card {
  flex-wrap: wrap;
  margin: 18px -24px 0 0;
}
@media screen and (max-width: 768px) {
  .products-card {
    margin: 0;
  }
}
.products-card .parts {
  display: block;
  width: calc((100% - 96px) / 4);
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  margin: 32px 24px 0 0;
  padding-bottom: 62px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .products-card .parts {
    width: 100%;
    margin: 20px 0 0;
  }
}
.products-card .parts .img-box {
  overflow: hidden;
  width: 100%;
  height: 174px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .products-card .parts .img-box {
    height: auto;
  }
}
.products-card .parts .img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .products-card .parts .img {
    position: inherit;
  }
}
.products-card .parts:hover .img {
  transform: scale(1.05);
}
.products-card .txt-box {
  background: #fff;
  padding: 20px 20px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .products-card .txt-box {
    padding: 15px 25px 0;
  }
}
.products-card .ttl {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .products-card .ttl {
    font-size: 14px;
    line-height: 24px;
  }
}
.products-card .txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 14px;
  line-height: 24px;
  margin-top: 12px;
}
html:not([lang="ja"]) .products-card .txt {
  display: none;
}
.products-card .shell {
  margin-top: 16px;
  position: absolute;
  bottom: 24px;
  left: 24px;
}
.products-card .link {
  display: inline-block;
  font-size: 12px;
  line-height: 22px;
  color: #004d98;
  letter-spacing: .05em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .products-card .link {
    font-size: 10px;
    line-height: 18px;
  }
}
.products-card .link:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #004d98;
  border-right: solid 1px #004d98;
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%) rotate(45deg);
}


/*********************************
  lp
*********************************/

/*  lp-common  */
.lp-container {
  overflow: hidden;
  width: 100%;
  min-width: 1200px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .lp-container {
    min-width: auto;
    margin: 60px auto 0;
  }
}
.lp-container * {
  font-family: 'Noto Sans JP', sans-serif!important;
  font-weight: 400;
  letter-spacing: .05em;
}
.lp-container .font-quaternary {
  font-family: 'Lato', sans-serif!important;
}
@media screen and (max-width: 768px) {
  .lp-container .note {
    line-height: 26px;
  }
}

/* _cn */
#cn-page .lp-container * {
  font-family: 'Noto Sans SC', sans-serif!important;
}
#cn-page .lp-container .font-quaternary {
  font-family: 'Lato', sans-serif!important;
}
/* /_cn */

/* _en */
#en-page .lp-container * {
  font-family: 'Noto Sans', sans-serif!important;
}
#en-page .lp-container .font-quaternary {
  font-family: 'Lato', sans-serif!important;
}
/* /_en */

.lp-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lp-inner {
    padding: 0 25px;
  }
}
.lp-btn {
  justify-content: center;
  align-items: center;
  background: #02b6c1;
  background-image: linear-gradient(to right, #02b6c1 0%, rgba(0,101,174,.5) 51%, #02b6c1 100%);
  background-size: 200% auto;
  -webkit-transition: all .3s;
  transition: all .3s;
  letter-spacing: .12em;
  color: #fff;
}
.lp-btn:hover {
  background-color: #29a9d3;
  background-position: right center;
}

/*  lp-header  */
.lp-header {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 70px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  position: fixed;
  top: 0;
  z-index: 9000;
}
@media screen and (max-width: 768px) {
  .lp-header {
    height: 60px;
  }
}
.lp-header .logo-box {
  width: 300px;
  margin-left: 40px;
}
@media screen and (max-width: 768px) {
  .lp-header .logo-box {
    width: auto;
    margin: 0 0 0 20px;
  }
}
.lp-header .logo-box .logo {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .lp-header .logo-box .logo {
    width: 229px;
  }
}
.lp-header .contact-btn {
  width: 200px;
  height: 100%;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .lp-header .contact-btn {
    width: 60px;
  }
}
.lp-header .contact-btn .img {
  width: 28px;
  height: 18px;
  margin-right: 10px;
  opacity: .5;
}
@media screen and (max-width: 768px) {
  .lp-header .contact-btn .img {
    width: 23px;
    height: 15px;
    margin-right: 0;
    opacity: 1;
  }
}

/*  lp-footer  */
.lp-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #333;
  height: 90px;
}
@media screen and (max-width: 768px) {
  .lp-footer {
    height: 60px;
  }
}
.lp-footer .copy {
  font-size: 12px;
  color: #fff;
  letter-spacing: .1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp-footer .copy {
    font-size: 10px;
  }
}

/*  lp-cv  */
.lp-cv {
  background-color: #515151;
  background-image: repeating-linear-gradient(-45deg, #333, #333 2px, transparent 0, transparent 4px);
  padding: 50px 0 70px;
}
@media screen and (max-width: 768px) {
  .lp-cv {
    padding: 28px 25px 40px;
  }
}
.lp-cv .ttl {
  font-size: 26px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp-cv .ttl {
    font-size: 16px;
    line-height: 25px;
  }
}
.lp-cv-btn {
  width: 800px;
  height: 100px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  border-radius: 14px;
  font-size: 22px;
  font-weight: 500;
  margin: 30px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp-cv-btn {
    width: 100%;
    height: 60px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-size: 16px;
    margin: 15px auto 0;
  }
}
.lp-cv-btn .img {
  width: 37px;
  height: 24px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .lp-cv-btn .img {
    width: 23px;
    height: 15px;
    margin-right: 15px;
  }
}
.lp-cv-btn:after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .lp-cv-btn:after {
    width: 8px;
    height: 8px;
    right: 25px;
  }
}

/*  lp-content  */
.lp-heading-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 760px;
  background: #e5eff7;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp-heading-section {
    display: block;
    height: auto;
  }
}
.lp-heading-section:before {
  content: '';
  width: 50%;
  height: 100%;
  background: rgb(1,142,184);
  background: -moz-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  background: -webkit-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  background: linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(-20px);
}
@media screen and (max-width: 768px) {
  .lp-heading-section:before {
    display: none;
  }
}
.lp-heading-section .txt-box {
  display: flex;
  justify-content: center;
  width: 40vw;
  padding-left: 60px;
  position: inherit;
  top: auto;
  left: auto;
  transform: translateX(20px);
}
@media screen and (max-width: 768px) {
  .lp-heading-section .txt-box {
    width: 100%;
    background: rgb(1,142,184);
    background: -moz-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    background: -webkit-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    background: linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    position: inherit;
    top: auto;
    left: auto;
    transform: translateY(0);
    padding: 50px 0 45px;
  }
}
.lp-heading-section .txt-box-inner {
  width: fit-content;
  margin-right: 80px;
}
@media screen and (max-width: 768px) {
  .lp-heading-section .txt-box-inner {
    margin-right: 0;
  }
}
.lp-heading-accessory {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .lp-heading-accessory {
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.lp-heading {
  font-size: 38px;
  font-weight: 700;
  line-height: 54px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .lp-heading {
    font-size: 25px;
    line-height: 36px;
    text-align: center;
  }
}
.lp-heading-section .img-box {
  /*position: absolute;*/
  /*top: 50%;*/
  /*left: 50%;*/
  /*transform: translate(-140px , -50%);*/
  transform: translate(-60px , 0);
  z-index: 20;
  position: relative;
}
@media screen and (max-width: 1599px) {
  .lp-heading-section .img-box {
    width: 840px;
    height: 560px;
  }
}
@media screen and (min-width: 1600px) {
  .lp-heading-section .img-box {
    width: 1000px;
    height: 667px;
  }
}
@media screen and (max-width: 1400px) {
  .lp-heading-section .img-box {
    flex-shrink: 0;
    position: inherit;
    top: auto;
    left: auto;
    transform: translate(0);
  }
}
@media screen and (max-width: 768px) {
  .lp-heading-section .img-box {
    width: 100%;
    height: auto;
    position: inherit;
    top: auto;
    left: auto;
    transform: translate(0 , 0);
  }
}
@media screen and (min-width: 769px) {
  .lp-heading-section .img-box .img {
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    /*right: 0;*/
    bottom: 0;
    left: 0;
  }
}
.lp-intro {
  width: 100%;/*
  height: 616px;*/
  position: relative;
  padding: 43px 0;
}
@media screen and (max-width: 768px) {
  .lp-intro {
    display: flex;
    flex-direction: column-reverse;
    height: auto !important;
    padding: 0;
  }
}
.lp-intro .bg-box {
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .lp-intro .bg-box {
    width: 100%;
    height: 100vw;
    max-height: 100vw;
    position: inherit;
    top: auto;
    left: auto;
  }
}
.lp-intro .img-box {
  position: relative;
}
.lp-intro .img-box:after {
  content: '';
  width: 300px;
  height: 100%;
  background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
  background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
  background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .lp-intro .img-box:after {
    width: 100%;
    height: 48vw;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
  }
}
.lp-intro .lp-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .lp-intro .txt-box {
    padding: 50px 0 25px;
  }
}
.lp-intro-ttl {
  display: inline;
  background-image: linear-gradient(180deg, transparent 70%, #eee 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  font-size: 32px;
  line-height: 52px;
  font-weight: 700;
  color: #0065ae;
}
@media screen and (max-width: 768px) {
  .lp-intro-ttl {
    background-image: linear-gradient(180deg, transparent 60%, #eee 0);
    font-size: 20px;
    line-height: 34px;
  }
}
.lp-intro .note {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .lp-intro .note {
    margin-top: 20px;
  }
}

.lp-section {
  padding: 100px 0 130px;
}
@media screen and (max-width: 768px) {
  .lp-section {
    padding: 60px 0 70px;
  }
}
.lp-section.is-odd {
  background: #187dc6;
}
.lp-section.is-even {
  background: #e5eff7;
}
.lp-section .lp-section-ttl {
  width: fit-content;
  border-bottom: solid 4px #fff;
  font-size: 32px;
  line-height: 52px;
  font-weight: 700;
  text-align: center;
  color: #0065ae;
  margin: 0 auto;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .lp-section .lp-section-ttl {
    border-bottom: solid 3px #fff;
    font-size: 20px;
    line-height: 32px;
  }
}
.lp-section.is-odd .lp-section-ttl {
  color: #fff;
}
.lp-section.is-even .lp-section-ttl {
  border-bottom-color: #0065ae;
}

.arrow-section {
  padding: 70px 0 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .arrow-section {
    padding: 50px 0 56px;
  }
}
.arrow-section .problem-icon {
  width: 103px;
  height: 180px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .arrow-section .problem-icon {
    width: 75px;
    height: 131px;
    top: -15px;
  }
}
.arrow-section:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px max(50vw,600px) 0 max(50vw,600px);
  position: absolute;
  bottom: -100px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .arrow-section:after {
    border-width: 60px 50vw 0 50vw;
    bottom: -60px;
  }
}
.is-odd.arrow-section:after {
  border-color: #187dc6 transparent transparent transparent;
}
.is-even.arrow-section:after {
  border-color: #e5eff7 transparent transparent transparent;
}
.arrow-section + * {
  padding-top: 210px;
}
@media screen and (max-width: 768px) {
  .arrow-section + * {
    padding-top: 110px;
  }
}
.arrow-section .lp-inner {
  position: relative;
  z-index: 10;
}
.lp-problem-section .lp-section-ttl {
  border-bottom: none;
  padding-bottom: 0;
}
.problem {
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .problem {
    margin-top: 75px;
  }
}
.problem .parts {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 320px;
  background: #1670b2;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .problem .parts {
    width: 275px;
    margin: 0 auto;
    padding-bottom: 15px;
  }
  .problem .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.is-even .problem .parts {
  background: #fff;
}
.problem .parts .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .problem .parts .img-box {
    height: 206px;
  }
}
.problem.icon .parts .img-box .img {
  width: auto;
  height: 145px;
}
@media screen and (max-width: 768px) {
  .problem.icon .parts .img-box .img {
    height: 125px;
  }
}
.problem .parts .txt {
  font-size: 22px;
  line-height: 32px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .problem .parts .txt {
    font-size: 18px;
    line-height: 27px;
  }
}
.is-even .problem .parts .txt {
  color: #0065ae;
}

.lp-proposal-section .lp-section-ttl {
  border-bottom: none;
  color: #333;
  padding-bottom: 0;
}
.lp-proposal-section .lp-section-ttl .underline {
  background-image: linear-gradient(180deg, transparent 70%, #9ae2e6 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  line-height: 52px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lp-proposal-section .lp-section-ttl .underline {
    line-height: 32px;
  }
}
.lp-proposal-section.is-odd .lp-section-ttl .underline {
  background-image: linear-gradient(180deg, transparent 80%, #00b1bb 0);
}
.proposal {
  margin-top: 75px;
}
@media screen and (max-width: 768px) {
  .proposal {
    margin-top: 90px;
  }
}
.proposal .parts {
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 80px;
}
@media screen and (max-width: 768px) {
  .proposal .parts {
    padding: 190px 25px 40px;
    position: relative;
  }
}
.lp-proposal-section.is-odd .proposal .parts {
  background: #1465a0;
}
.proposal .parts:nth-of-type(n + 2) {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .proposal .parts:nth-of-type(n + 2) {
    margin-top: 70px;
  }
}
.proposal .parts:nth-of-type(odd) {
  flex-direction: row-reverse;
}
.proposal .parts .img-box {
  flex-shrink: 0;
  width: 480px;
  margin-left: -130px;
}
@media screen and (max-width: 768px) {
  .proposal .parts .img-box {
    width: 275px;
    margin: -240px auto 30px;
    position: relative;
  }
}
.proposal .parts:nth-of-type(odd) .img-box {
  margin-right: -130px;
}
@media screen and (max-width: 768px) {
  .proposal .parts:nth-of-type(odd) .img-box {
    margin-right: auto;
  }
}
.proposal .parts .txt-box {
  width: 420px;
}
@media screen and (max-width: 768px) {
  .proposal .parts .txt-box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .proposal .parts.no-img {
    margin-top: 30px;
    padding-top: 40px;
  }
}
.proposal .parts.no-img .txt-box {
  width: 100%;
}
.proposal .parts .ttl {
  font-size: 22px;
  line-height: 34px;
  font-weight: 500;
  color: #0065ae;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .proposal .parts .ttl {
    font-size: 16px;
    line-height: 25px;
    margin-bottom: 15px;
  }
}
.lp-proposal-section.is-odd .proposal .parts .ttl,
.lp-proposal-section.is-odd .proposal .parts .note {
  color: #fff;
}
.example {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(304px, 1fr));
  gap: 44px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .example {
    display: block;
    margin-top: 68px;
  }
}
@media screen and (max-width: 768px) {
  .example .parts:nth-of-type(n + 2) {
    margin-top: 25px;
  }
}
.example .parts .txt {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .example .parts .txt {
    font-size: 12px;
    line-height: 18px;
  }
}
.lp-section.is-even .example .parts .txt {
  color: #333;
}
.chara-ttl {
  text-align: center;
  margin: 70px 0 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .chara-ttl {
    margin: 45px 0 30px;
  }
}
.chara-ttl:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
}
.lp-section.is-even .chara-ttl:before {
  background: #0065ae;
}
.chara-ttl .txt {
  display: inline-block;
  background: #187dc6;
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  padding: 0 30px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .chara-ttl .txt {
    font-size: 18px;
    padding: 0 20px;
  }
}
.lp-section.is-even .chara-ttl .txt {
  background: #e5eff7;
  color: #0065ae;
}
@media screen and (max-width: 768px) {
  .lp-section .table-box {
    margin-top: 30px;
  }
}
.lp-table {
  border-left: solid 1px #99c1df;
  width: 100%;
  font-size: 14px;
  line-height: 22px;
}
@media screen and (max-width: 768px) {
  .lp-table {
    width: 1000px;
  }
}
.lp-section.is-even .lp-table {
  border-left-color: #ccc;
}
.lp-table .item-ttl {
  background: #fff;
  border-right: solid 1px #99c1df;
  color: #0065ae;
}
.lp-section.is-even .lp-table .item-ttl {
  background: #eee;
  border-right-color: #ccc;
  color: #333;
}
.lp-table .item-content {
  background: #e5eff7;
  border-right: solid 1px #99c1df;
  border-bottom: solid 1px #99c1df;
  padding: 15px;
}
.lp-section.is-even .lp-table .item-content {
  background: #fff;
  border-right-color: #ccc;
  border-bottom-color: #ccc;
}

.lp-qa {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .lp-qa {
    margin-top: 50px;
  }
}
.lp-qa .parts {
  width: 100%;
  background: #fff;
  padding: 40px 50px;
}
@media screen and (max-width: 768px) {
  .lp-qa .parts {
    padding: 25px;
  }
}
.lp-section.is-odd .lp-qa .parts {
  background: #1465a0;
}
.lp-qa .parts:nth-of-type(n + 2) {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .lp-qa .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.lp-qa-icon {
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .lp-qa-icon {
    font-size: 22px;
    margin: 0 0 10px 0;
  }
}
.q-box {
  border-bottom: solid 1px #ccc;
  color: #0065ae;
  margin-bottom: 25px;
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .q-box {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
.lp-section.is-odd .q-box {
  border-color: #99c1df;
  color: #fff;
}
.lp-qa-ttl {
  font-size: 18px;
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  .lp-qa-ttl {
    font-size: 16px;
    line-height: 25px;
  }
}
.lp-qa-txt {
  font-size: 16px;
  line-height: 30px;
}
@media screen and (max-width: 768px) {
  .lp-qa-txt {
    font-size: 14px;
    line-height: 26px;
  }
}
.lp-section.is-odd .a-box {
  color: #fff;
}

.lp-detail-box {
  background: #fff;
  margin-top: 60px;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .lp-detail-box {
    margin-top: 50px;
    padding: 30px 25px;
  }
}
.lp-section.is-odd .lp-detail-box {
  background: #1465a0;
}
.lp-section.is-odd .lp-detail-box.secondary {
  background: #ebf3f9;
}
.lp-section.is-even .lp-detail-box.secondary {
  background: #187dc6;
}
.lp-detail-box .ttl {
  font-size: 30px;
  line-height: 50px;
  font-weight: 700;
  color: #0065ae;
  text-align: center;
  margin-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp-detail-box .ttl {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 35px;
  }
}
.lp-section.is-odd .lp-detail-box .ttl {
  color: #fff;
}
.lp-detail-box .ttl:after {
  content: '';
  width: 24px;
  height: 4px;
  background: #7fb2d6;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .lp-detail-box .ttl:after {
    width: 18px;
    height: 3px;
    bottom: -18px;
  }
}
.lp-section.is-odd .lp-detail-box .ttl:after {
  background: #8ab2d0;
}
.lp-detail-box .sub-ttl {
  font-size: 22px;
  line-height: 38px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .lp-detail-box .sub-ttl {
    font-size: 16px;
    line-height: 25px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.lp-section.is-odd .lp-detail-box .sub-ttl {
  color: #fff;
}
.lp-detail-box .list-dot {
  margin-top: 0;
}
.lp-section.is-odd .list-dot .list-parts {
  color: #fff;
}
.lp-section.is-odd .list-dot .list-parts:before {
  background: #fff;
}
.lp-section.is-odd .lp-detail-box.secondary .list-dot .list-parts {
  color: #0065ae;
}
.lp-section.is-odd .lp-detail-box.secondary .list-dot .list-parts:before {
  background: #0065ae;
}
.lp-section.is-even .lp-detail-box.secondary .list-dot .list-parts {
  color: #fff;
}
.lp-section.is-even .lp-detail-box.secondary .list-dot .list-parts:before {
  background: #fff;
}
.list-point .list-parts {
  font-size: 16px;
  line-height: 30px;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .list-point .list-parts {
    font-size: 14px;
    line-height: 26px;
  }
}
.lp-section.is-odd .list-point .list-parts {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .lp-movie-section .lp-inner {
    padding: 0;
  }
}
.movie-box {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 800px;
  margin: 80px auto 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .movie-box {
    width: 100%;
    margin: 50px auto 0;
  }
}
.movie-box.-mp4 {
  position: relative;
}
.movie-box.-mp4 .play {
  width: 120px;
  height: 120px;
  background-image: url(../images/products/lp/play.webp);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .movie-box.-mp4 .play {
    width: 60px;
    height: 60px;
  }
}
.movie {
  width: 100%;
  height: auto;
}
.movie.-yt {
  height: 450px;
}
@media screen and (max-width: 768px) {
  .movie.-yt {
    height: 56vw;
  }
}
.movie-box + .note {
  border-top: solid 1px #ccc;
  margin-top: 50px;
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .movie-box + .note {
    margin: 40px 25px 0;
    padding-top: 40px;
  }
}
.lp-section.is-odd .movie-box + .note {
  color: #fff;
}

/*********************************
  lp2(ftcj)
*********************************/

/*  lp2-common  */
.lp2-container {
  overflow: hidden;
  width: 100%;
  min-width: 1200px;
  margin: 0;
  padding-top: 90px;
}
@media screen and (max-width: 768px) {
  .lp2-container {
    min-width: auto;
    padding-top: 60px;
  }
}
.lp2-container * {
  font-family: 'Noto Sans JP', sans-serif!important;
  font-weight: 400;
  letter-spacing: .05em;
}
.lp2-container .font-quaternary {
  font-family: 'Lato', sans-serif!important;
}
@media screen and (max-width: 768px) {
  .lp2-container .note {
    line-height: 26px;
  }
}
.lp2-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lp2-inner {
    padding: 0 25px;
  }
}
.lp2-btn {
  justify-content: center;
  align-items: center;
  background: #02b6c1;
  background-image: linear-gradient(to right, #02b6c1 0%, rgba(0,101,174,.5) 51%, #02b6c1 100%);
  background-size: 200% auto;
  -webkit-transition: all .3s;
  transition: all .3s;
  letter-spacing: .12em;
  color: #fff;
}
.lp2-btn:hover {
  background-color: #29a9d3;
  background-position: right center;
}

/*  lp2-header  */
.lp2-header {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 70px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  position: fixed;
  top: 0;
  z-index: 9000;
}
@media screen and (max-width: 768px) {
  .lp2-header {
    height: 60px;
  }
}
.lp2-header .logo-box {
  width: 300px;
  margin-left: 40px;
}
@media screen and (max-width: 768px) {
  .lp2-header .logo-box {
    width: auto;
    margin: 0 0 0 20px;
  }
}
.lp2-header .logo-box .logo {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .lp2-header .logo-box .logo {
    width: 229px;
  }
}
.lp2-header .contact-btn {
  width: 200px;
  height: 100%;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .lp2-header .contact-btn {
    width: 60px;
  }
}
.lp2-header .contact-btn .img {
  width: 28px;
  height: 18px;
  margin-right: 10px;
  opacity: .5;
}
@media screen and (max-width: 768px) {
  .lp2-header .contact-btn .img {
    width: 23px;
    height: 15px;
    margin-right: 0;
    opacity: 1;
  }
}

/*  lp2-footer  */
.lp2-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #333;
  height: 30px;
}
@media screen and (max-width: 768px) {
  .lp2-footer {
    height: 20px;
  }
}
.lp2-footer .copy {
  font-size: 12px;
  color: #fff;
  letter-spacing: .1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp2-footer .copy {
    font-size: 10px;
  }
}

/*  lp2-cv  */
.lp2-cv {
  background-color: #515151;
  background-image: repeating-linear-gradient(-45deg, #333, #333 2px, transparent 0, transparent 4px);
  padding: 25px 0 20px;
}
@media screen and (max-width: 768px) {
  .lp2-cv {
    padding: 18px 25px 20px;
  }
}
.lp2-cv .ttl {
  font-size: 26px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp2-cv .ttl {
    font-size: 16px;
    line-height: 25px;
  }
}
.lp2-cv-btn {
  width: 800px;
  height: 100px;
  -webkit-border-radius: 14px;
  -moz-border-radius: 14px;
  border-radius: 14px;
  font-size: 22px;
  font-weight: 500;
  margin: 20px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-cv-btn {
    width: 100%;
    height: 60px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-size: 16px;
    margin: 15px auto 0;
  }
}
.lp2-cv-btn .img {
  width: 37px;
  height: 24px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-cv-btn .img {
    width: 23px;
    height: 15px;
    margin-right: 15px;
  }
}
.lp2-cv-btn:after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .lp2-cv-btn:after {
    width: 8px;
    height: 8px;
    right: 25px;
  }
}

/*  lp2-content  */
.lp2-heading-section {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 360px;
  background: #e5eff7;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-heading-section {
    display: block;
    height: auto;
  }
}
.lp2-heading-section:before {
  content: '';
  width: 50%;
  height: 100%;
  background: rgb(1,142,184);
  background: -moz-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  background: -webkit-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  background: linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 35%, rgba(0,101,174,1) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .lp2-heading-section:before {
    display: none;
  }
}
.lp2-heading-section .txt-box {
  display: flex;
  align-items: center;
  width: 500px;
  height: 100%;
  padding-left: 0;
  position: inherit;
  top: auto;
  left: auto;
  transform: translateX(0);
}
@media screen and (max-width: 768px) {
  .lp2-heading-section .txt-box {
    justify-content: center;
    width: 100%;
    background: rgb(1,142,184);
    background: -moz-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    background: -webkit-linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    background: linear-gradient(135deg, rgba(1,142,184,1) 0%, rgba(0,101,174,1) 40%, rgba(0,101,174,1) 100%);
    position: inherit;
    top: auto;
    left: auto;
    transform: translateY(0);
    padding: 50px 0 45px;
  }
}
.lp2-heading-section .txt-box-inner {
  width: fit-content;
  margin-right: 80px;
}
@media screen and (max-width: 768px) {
  .lp2-heading-section .txt-box-inner {
    margin-right: 0;
  }
}
.lp2-heading-accessory {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-heading-accessory {
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.lp2-heading {
  font-size: 38px;
  font-weight: 700;
  line-height: 54px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .lp2-heading {
    font-size: 25px;
    line-height: 36px;
    text-align: center;
  }
}
.lp2-heading-section .img-box {
  width: 480px;
  height: 320px;
  margin-left: 20px;
}
/*@media screen and (max-width: 1599px) {
  .lp2-heading-section .img-box {
    width: 840px;
    height: 560px;
  }
}
@media screen and (min-width: 1600px) {
  .lp2-heading-section .img-box {
    width: 1000px;
    height: 667px;
  }
}
@media screen and (max-width: 1400px) {
  .lp2-heading-section .img-box {
    flex-shrink: 0;
    position: inherit;
    top: auto;
    left: auto;
    transform: translate(0);
  }
}*/
@media screen and (max-width: 768px) {
  .lp2-heading-section .img-box {
    width: 100%;
    height: auto;
    margin-left: 0;
  }
}
/*@media screen and (min-width: 769px) {
  .lp2-heading-section .img-box .img {
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  }
}*/
.lp2-intro {
  width: 100%;
  height: 300px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-intro {
    display: flex;
    flex-direction: column-reverse;
    height: auto;
  }
}
.lp2-intro .bg-box {
  width: 300px;
  height: 300px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .lp2-intro .bg-box {
    width: 100%;
    height: 100vw;
    position: inherit;
    top: auto;
    left: auto;
  }
}
.lp2-intro .img-box {
  position: relative;
}
.lp2-intro .img-box:after {
  content: '';
  width: 300px;
  height: 100%;
  background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
  background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
  background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .lp2-intro .img-box:after {
    width: 100%;
    height: 48vw;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
  }
}
.lp2-intro .lp2-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .lp2-intro .txt-box {
    padding: 50px 0 25px;
  }
}
.lp2-intro-ttl {
  display: inline;
  background-image: linear-gradient(180deg, transparent 70%, #eee 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  font-size: 32px;
  line-height: 52px;
  font-weight: 700;
  color: #0065ae;
}
@media screen and (max-width: 768px) {
  .lp2-intro-ttl {
    background-image: linear-gradient(180deg, transparent 60%, #eee 0);
    font-size: 20px;
    line-height: 34px;
  }
}
.lp2-intro .note {
  font-size: 18px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-intro .note {
    font-size: 16px;
    margin-top: 20px;
  }
}


.lp2-section {
  padding: 40px 0 60px;
  background: #e5eff7;
}
@media screen and (max-width: 768px) {
  .lp2-section {
    padding: 60px 0 70px;
  }
}
.lp2-section .lp2-section-ttl {
  width: fit-content;
  border-bottom: solid 4px #0065ae;
  font-size: 32px;
  line-height: 52px;
  font-weight: 700;
  text-align: center;
  color: #0065ae;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lp2-section .lp2-section-ttl {
    border-bottom: solid 3px #0065ae;
    font-size: 20px;
    line-height: 32px;
  }
}/*
.lp2-section2 {
  padding: 50px 0 60px;
  background: #187dc6;
}
@media screen and (max-width: 768px) {
  .lp2-section2 {
    padding: 60px 0 70px;
  }
}
.lp2-section2 .lp2-section2-ttl {
  width: fit-content;
  border-bottom: solid 4px #fff;
  font-size: 32px;
  line-height: 52px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lp2-section2 .lp2-section2-ttl {
    border-bottom: solid 3px #fff;
    font-size: 20px;
    line-height: 32px;
  }
}*/
/*.lp2-section2.is-odd .lp2-section2-ttl {
  color: #fff;
}
.lp2-section2.is-even .lp2-section2-ttl {
  border-bottom-color: #0065ae;
}*/


.arrow-section {
  padding: 70px 0 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .arrow-section {
    padding: 50px 0 56px;
  }
}
.arrow-section .problem-icon {
  width: 103px;
  height: 180px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .arrow-section .problem-icon {
    width: 75px;
    height: 131px;
    top: -15px;
  }
}
.arrow-section:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px max(50vw,600px) 0 max(50vw,600px);
  position: absolute;
  bottom: -100px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .arrow-section:after {
    border-width: 60px 50vw 0 50vw;
    bottom: -60px;
  }
}
.is-odd.arrow-section:after {
  border-color: #187dc6 transparent transparent transparent;
}
.is-even.arrow-section:after {
  border-color: #e5eff7 transparent transparent transparent;
}
.arrow-section + * {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .arrow-section + * {
    padding-top: 110px;
  }
}
.arrow-section .lp2-inner {
  position: relative;
  z-index: 10;
}
.lp2-problem-section .lp2-section-ttl {
  border-bottom: none;
  padding-bottom: 0;
}
.problem {
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .problem {
    margin-top: 75px;
  }
}
.problem .parts {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 320px;
  background: #1670b2;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .problem .parts {
    width: 275px;
    margin: 0 auto;
    padding-bottom: 15px;
  }
  .problem .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.is-even .problem .parts {
  background: #fff;
}
.problem .parts .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .problem .parts .img-box {
    height: 206px;
  }
}
.problem.icon .parts .img-box .img {
  width: auto;
  height: 145px;
}
@media screen and (max-width: 768px) {
  .problem.icon .parts .img-box .img {
    height: 125px;
  }
}
.problem .parts .txt {
  font-size: 22px;
  line-height: 32px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .problem .parts .txt {
    font-size: 18px;
    line-height: 27px;
  }
}
.is-even .problem .parts .txt {
  color: #0065ae;
}

.lp2-proposal-section .lp2-section-ttl {
  border-bottom: none;
  font-size: 32px;
    line-height: 52px;
    font-weight: 700;
    text-align: center;
  color: #333;
  padding-bottom: 0;
}
.lp2-proposal-section .lp2-section-ttl .underline {
  background-image: linear-gradient(180deg, transparent 70%, #9ae2e6 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  line-height: 52px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lp2-proposal-section .lp2-section-ttl .underline {
    line-height: 32px;
  }
}
.lp2-proposal-section.is-odd .lp2-section-ttl .underline {
  background-image: linear-gradient(180deg, transparent 80%, #00b1bb 0);
}
.proposal2 {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .proposal2 {
    margin-top: 90px;
  }
}
.proposal2 .note {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: .05em;
}
.proposal2 .parts {
  justify-content: space-between;
  align-items: center;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .proposal2 .parts {
    padding: 190px 25px 40px;
    position: relative;
  }
}
.lp2-proposal-section.is-odd .proposal .parts {
  background: #1465a0;
}
.proposal2 .parts:nth-of-type(n + 2) {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .proposal2 .parts:nth-of-type(n + 2) {
    margin-top: 70px;
  }
}
.proposal2 .parts:nth-of-type(odd) {
  flex-direction: row-reverse;
}
.proposal2 .parts .img-box {
  flex-shrink: 0;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .proposal2 .parts .img-box {
    width: 275px;
    margin: -240px auto 30px;
    position: relative;
  }
}
.proposal2 .parts:nth-of-type(odd) .img-box {
  margin-right: 0px;
}
@media screen and (max-width: 768px) {
  .proposal2 .parts:nth-of-type(odd) .img-box {
    margin-right: auto;
  }
}
.proposal2 .parts .txt-box {
  width: 420px;
  margin: auto; 
}
@media screen and (max-width: 768px) {
  .proposal2 .parts .txt-box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .proposal2 .parts.no-img {
    margin-top: 30px;
    padding-top: 40px;
  }
}
.proposal2 .parts.no-img .txt-box {
  width: 100%;
}
.proposal2 .parts .ttl {
  font-size: 32px;
  line-height: 48px;
  font-weight: 500;
  color: #0065ae;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .proposal2 .parts .ttl {
    font-size: 16px;
    line-height: 25px;
    margin-bottom: 15px;
  }
}
.lp2-proposal-section.is-odd .proposal2 .parts .ttl,
.lp2-proposal-section.is-odd .proposal2 .parts .note {
  color: #fff;
}
.example1 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(480px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .example1 {
    display: block;
    margin-top: 18px;
  }
}
@media screen and (max-width: 768px) {
  .example1 .parts:nth-of-type(n + 2) {
    margin-top: 25px;
  }
}
.example1 .parts .txt {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .example1 .parts .txt {
    font-size: 12px;
    line-height: 18px;
  }
}
.example1 .parts .txt2 {
  font-size: 14px;
  line-height: 24px;
  color: #333;
}
@media screen and (max-width: 768px) {
  .example1 .parts .txt2 {
    font-size: 12px;
    line-height: 18px;
  }
}
.example2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(304px, 1fr));
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .example2 {
    display: block;
    margin-top: 68px;
  }
}
@media screen and (max-width: 768px) {
  .example2 .parts:nth-of-type(n + 2) {
    margin-top: 25px;
  }
}
.example2 .parts .txt {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .example2 .parts .txt {
    font-size: 12px;
    line-height: 18px;
  }
}
.example2 .parts .txt2 {
  font-size: 14px;
  line-height: 24px;
  color: #333;
}
@media screen and (max-width: 768px) {
  .example2 .parts .txt2 {
    font-size: 12px;
    line-height: 18px;
  }
}
.example3 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 20px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .example3 {
    display: block;
    margin-top: 68px;
  }
}
@media screen and (max-width: 768px) {
  .example3 .parts:nth-of-type(n + 2) {
    margin-top: 25px;
  }
}
.example3 .parts .txt {
  font-size: 14px;
  line-height: 24px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .example3 .parts .txt {
    font-size: 12px;
    line-height: 18px;
  }
}
.example3 .parts .txt2 {
  font-size: 14px;
  line-height: 24px;
  color: #333;
}
@media screen and (max-width: 768px) {
  .example3 .parts .txt2 {
    font-size: 12px;
    line-height: 18px;
  }
}
.lp2-section .chara-ttl {
  text-align: center;
  margin: 40px 0 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttl {
    margin: 35px 0 20px;
  }
}
.lp2-section .chara-ttl:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #0065ae;
  position: absolute;
  top: 50%;
  left: 0;
}
.lp2-section .chara-ttl.skyblue:before {
  background: #e5eff7;
}
.lp2-section .chara-ttl.white:before {
  background: #fff;
}
.lp2-section .chara-ttl.black:before {
  background: #333;
}
/*.lp2-section.is-even .chara-ttl:before {
  background: #0065ae;
}*/
.lp2-section .chara-ttl .txt {
  display: inline-block;
  background: #e5eff7;
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
  color: #0065ae;
  padding: 0 30px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttl .txt {
    font-size: 18px;
    padding: 0 20px;
  }
}
.lp2-section .chara-ttlnu {
  text-align: center;
  margin: 10px 0 10px;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttlnu {
    margin: 15px 0 10px;
  }
}
/*.lp2-section .chara-ttlnu:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #0065ae;
  position: absolute;
  top: 50%;
  left: 0;
}
.lp2-section.is-even .chara-ttl:before {
  background: #0065ae;
}*/
.lp2-section .chara-ttlnu .txt {
  display: inline-block;
  background: #e5eff7;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
  color: #0065ae;
  padding: 0 30px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttlnu .txt {
    font-size: 16px;
    padding: 0 20px;
  }
}

.lp2-section .chara-ttlnu .note {
  display: inline-block;
  background: #e5eff7;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
  color: #0065ae;
  padding: 0 50px 30px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttlnu .note {
    font-size: 16px;
    padding: 0 40px 20px;
  }
}

.lp2-section .chara-ttlnu .note .underline {
  background-image: linear-gradient(180deg, transparent 70%, #9ae2e6 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  line-height: 52px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lp2-section .chara-ttlnu .note .underline {
    line-height: 32px;
  }
}

/*
.lp2-section2 .chara-ttl2 {
  text-align: center;
  margin: 40px 0 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-section2 .chara-ttl2 {
    margin: 45px 0 30px;
  }
}
.lp2-section2 .chara-ttl2:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
}*/
/*.lp2-section.is-even .chara-ttl2:before {
  background: #0065ae;
}*//*
.lp2-section2 .chara-ttl2 .txt {
  display: inline-block;
  background: #187dc6;
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  padding: 0 30px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section2 .chara-ttl2 .txt {
    font-size: 18px;
    padding: 0 20px;
  }
}*/
.lp2-section .notes {
  display: inline-block;
  background: #e5eff7;
  font-size: 16px;
  line-height: 1;
  color: #0065ae;
  padding: 5px 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section .notes {
    font-size: 14px;
    padding: 5px 0;
  }
}/*
.lp2-section2 .notes {
  display: inline-block;
  background: #187dc6;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  padding: 5px 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section2 .notes {
    font-size: 14px;
    padding: 5px 0;
  }
}
.lp2-section2 .notes2 {
  display: inline-block;
  background: #187dc6;
  font-size: 18px;
  line-height: 2;
  color: #fff;
  padding: 20px 0 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section2 .notes2 {
    font-size: 14px;
    padding: 15px 0 0;
  }
}*/
.lp2-section .notes2 {
  display: inline-block;
  background: #187dc6;
  font-size: 18px;
  line-height: 2;
  color: #fff;
  padding: 20px 0 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .lp2-section .notes2 {
    font-size: 14px;
    padding: 15px 0 0;
  }
}
/*.lp2-section.is-even .chara-ttl .txt {
  background: #e5eff7;
  color: #0065ae;
}*/
@media screen and (max-width: 768px) {
  .lp2-section .table-box {
    margin-top: 30px;
  }
}
.lp2-table {
  border-left: solid 1px #99c1df;
  width: 100%;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  .lp2-table {
    width: 1000px;
	font-size: 14px;
  }
}
.lp2-section.is-even .lp2-table {
  border-left-color: #ccc;
}
.lp2-table .item-ttl {
  background: #fff;
  border-right: solid 1px #99c1df;
  color: #0065ae;
}
.lp2-section.is-even .lp2-table .item-ttl {
  background: #eee;
  border-right-color: #ccc;
  color: #333;
}
.lp2-table .item-content {
  background: #e5eff7;
  border-right: solid 1px #99c1df;
  border-bottom: solid 1px #99c1df;
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .lp2-table .item-content{
	font-size: 14px;
  }
}
.lp2-section.is-even .lp2-table .item-content {
  background: #fff;
  border-right-color: #ccc;
  border-bottom-color: #ccc;
}

.lp2-table2 {
  border-left: solid 1px #99c1df;
  border-left-color: #ccc;
  width: 100%;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  .lp2-table2 {
    width: 1000px;
	font-size: 14px;
  }
}
.lp2-table2 .item-ttl {
  background: #eee;
  border-right: solid 1px #ccc;
  color: #333;
}
.lp2-table2 .item-content {
  background: #fff;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .lp2-table2 .item-content{
	font-size: 14px;
  }
}

.table-box2 {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .table-box2 {
    overflow-x: scroll;
    margin-top: 25px;
    position: relative;
  }
  .table-box2 .hand {
    width: 100px;
    height: 70px;
    background: #999;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    text-align: center;
    padding: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
    opacity: 1;
    transition: .3s;
  }
  .table-box2 .hand.hide {
    opacity: 0;
  }
  .table-box2 .hand .img {
    width: auto;
    height: 100%;
  }
}


.lp2-qa {
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .lp2-qa {
    margin-top: 50px;
  }
}
.lp2-qa .parts {
  width: 100%;
  background: #fff;
  padding: 40px 50px;
}
@media screen and (max-width: 768px) {
  .lp2-qa .parts {
    padding: 25px;
  }
}
.lp2-section.is-odd .lp2-qa .parts {
  background: #1465a0;
}
.lp2-qa .parts:nth-of-type(n + 2) {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-qa .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
.lp2-qa-icon {
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-qa-icon {
    font-size: 22px;
    margin: 0 0 10px 0;
  }
}
.q-box {
  border-bottom: solid 1px #ccc;
  color: #0065ae;
  margin-bottom: 25px;
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .q-box {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
.lp2-section.is-odd .q-box {
  border-color: #99c1df;
  color: #fff;
}
.lp2-qa-ttl {
  font-size: 18px;
  line-height: 28px;
}
@media screen and (max-width: 768px) {
  .lp2-qa-ttl {
    font-size: 16px;
    line-height: 25px;
  }
}
.lp2-qa-txt {
  font-size: 16px;
  line-height: 30px;
}
@media screen and (max-width: 768px) {
  .lp2-qa-txt {
    font-size: 14px;
    line-height: 26px;
  }
}
.lp2-section.is-odd .a-box {
  color: #fff;
}






.lp2-detail-box {
  background: #fff;
  margin-top: 25px;
  padding: 25px;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box {
    margin-top: 50px;
    padding: 30px 25px;
  }
}
.lp2-detail-boxct {
  background: #fff;
  text-align: center;
  margin-top: 25px;
  padding: 25px;
}
@media screen and (max-width: 768px) {
  .lp2-detail-boxct {
	text-align: center;
    margin-top: 50px;
    padding: 30px 25px;
  }
}
.lp2-section.is-odd .lp2-detail-box {
  background: #1465a0;
}
.lp2-section.is-odd .lp2-detail-box.secondary {
  background: #ebf3f9;
}
.lp2-section.is-even .lp2-detail-box.secondary {
  background: #187dc6;
}

.lp2-detail-box .card {
  width: 338px;
  text-align: right
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .card {
    width: 100%;
    margin-top: 30px;
  }
}
.lp2-detail-box .wrap {
  justify-content: space-between;
  padding: 0;
}
.lp2-detail-box .wrap2 {
  padding: 0;
}


.lp2-image-box {
  background: #e5eff7;
    justify-content: space-around;
  margin-top: 25px;
  padding: 0px;
}
.lp2-image-box .parts {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 320px;
  background: #fff;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box .parts {
    width: 430px;
    margin: 0 auto;
    padding-bottom: 15px;
  }
  .lp2-image-box .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
/*.is-even .lp2-image-box .parts {
  background: #fff;
}*/
.lp2-image-box .parts .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box .parts .img-box {
    height: 240px;
  }
}
.lp2-image-box .parts .img-box .img {
  width: auto;
  height: 225px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box .parts .img-box .img {
    height: 240px;
  }
}
.lp2-image-box .parts .txt {
  font-size: 18px;
  color: #0065ae;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp2-image-box .parts .txt {
    font-size: 18px;
    line-height: 27px;
  }
}
/*.is-even .lp2-image-box .parts .txt {
  color: #0065ae;
}*/
.lp2-image-box2 {
  background: #187dc6;
    justify-content: space-around;
  margin-top: 25px;
  padding: 0px;
}
.lp2-image-box2 .parts {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 320px;
  background: #fff;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box2 .parts {
    width: 430px;
    margin: 0 auto;
    padding-bottom: 15px;
  }
  .lp2-image-box2 .parts:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}
/*.is-even .lp2-image-box .parts {
  background: #fff;
}*/
.lp2-image-box2 .parts .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box2 .parts .img-box {
    height: 240px;
  }
}
.lp2-image-box2 .parts .img-box .img {
  width: auto;
  height: 225px;
}
@media screen and (max-width: 768px) {
  .lp2-image-box2 .parts .img-box .img {
    height: 240px;
  }
}
.lp2-image-box2 .parts .txt {
  font-size: 18px;
  color: #0065ae;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp2-image-box2 .parts .txt {
    font-size: 18px;
    line-height: 27px;
  }
}
/*.is-even .lp2-image-box .parts .txt {
  color: #0065ae;
}*/

.lp2-detail-box .ttl {
  font-size: 30px;
  line-height: 50px;
  font-weight: 700;
  color: #0065ae;
  text-align: center;
  margin-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .ttl {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 35px;
  }
}
.lp2-section.is-odd .lp2-detail-box .ttl {
  color: #fff;
}
.lp2-detail-box .ttl:after {
  content: '';
  width: 24px;
  height: 4px;
  background: #7fb2d6;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .ttl:after {
    width: 18px;
    height: 3px;
    bottom: -18px;
  }
}
.lp2-section.is-odd .lp2-detail-box .ttl:after {
  background: #8ab2d0;
}
.lp2-detail-box .ttl2 {
  font-size: 28px;
  line-height: 36px;
  font-weight: 500;
  color: #0065ae;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .ttl2 {
    font-size: 16px;
    line-height: 25px;
  }
}
.lp2-detail-box .sub-ttl {
  font-size: 22px;
  line-height: 32px;
  margin: 0 30px 0 0;
  color: #0065ae;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .sub-ttl {
    font-size: 18px;
    line-height: 25px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.lp2-detail-box .sub-ttl .underline {
  background-image: linear-gradient(180deg, transparent 70%, #9ae2e6 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  line-height: 52px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .sub-ttl .underline {
    line-height: 32px;
  }
}

.lp2-detail-boxct .sub-ttl {
  font-size: 22px;
  line-height: 32px;
  color: #0065ae;
}
@media screen and (max-width: 768px) {
  .lp2-detail-boxct .sub-ttl {
    font-size: 18px;
    line-height: 25px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.lp2-detail-boxct .sub-ttl .underline {
  background-image: linear-gradient(180deg, transparent 70%, #ffa1ae 0);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  line-height: 52px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lp2-detail-boxct .sub-ttl .underline {
    line-height: 32px;
  }
}



.lp2-section.is-odd .lp2-detail-box .sub-ttl {
  color: #fff;
}
.lp2-detail-box .list-dot {
  margin-top: 0;
}
.lp2-section.is-odd .list-dot .list-parts {
  color: #fff;
}
.lp2-section.is-odd .list-dot .list-parts:before {
  background: #fff;
}
.lp2-section.is-odd .lp2-detail-box.secondary .list-dot .list-parts {
  color: #0065ae;
}
.lp2-section.is-odd .lp2-detail-box.secondary .list-dot .list-parts:before {
  background: #0065ae;
}
.lp2-section.is-even .lp2-detail-box.secondary .list-dot .list-parts {
  color: #fff;
}
.lp2-section.is-even .lp2-detail-box.secondary .list-dot .list-parts:before {
  background: #fff;
}
.list-point .list-parts {
  font-size: 18px;
  line-height: 30px;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .list-point .list-parts {
    font-size: 14px;
    line-height: 26px;
  }
}
/*.lp2-section.is-odd .list-point .list-parts {
  color: #fff;
}*/
.lp2-detail-box .list-dot .list-parts {
  font-size: 18px;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .lp2-detail-box .list-dot .list-parts {
    font-size: 14px;
    line-height: 26px;
  }
}






@media screen and (max-width: 768px) {
  .lp2-movie-section .lp2-inner {
    padding: 0;
  }
}
.movie-box2 {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 800px;
  margin: 40px auto 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .movie-box2 {
    width: 100%;
    margin: 50px auto 0;
  }
}
.movie-box2.-mp4 {
  position: relative;
}
.movie-box2.-mp4 .play {
  width: 120px;
  height: 120px;
  background-image: url(../images/products/lp/play.webp);
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .movie-box2.-mp4 .play {
    width: 60px;
    height: 60px;
  }
}
.movie {
  width: 100%;
  height: auto;
}
.movie.-yt {
  height: 450px;
}
@media screen and (max-width: 768px) {
  .movie.-yt {
    height: 56vw;
  }
}
.movie-box2 + .note {
  border-top: solid 1px #ccc;
  margin-top: 50px;
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .movie-box2 + .note {
    margin: 40px 25px 0;
    padding-top: 40px;
  }
}
.lp2-section.is-odd .movie-box2 + .note {
  color: #fff;
}


/*********************************
  reason
*********************************/
.reason-intro .ttl {
  font-size: 30px;
  line-height: 46px;
  text-align: center;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .reason-intro .ttl {
    font-size: 22px;
    line-height: 33px;
    margin-bottom: 40px;
  }
}
.reason-intro .ttl:after {
  content: '';
  width: 330px;
  height: 2px;
  background: #0065ae;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .reason-intro .ttl:after {
    width: 238px;
    bottom: -14px;
  }
}
.reason-intro .ttl .color {
  color: #0059a3;
}
@media screen and (max-width: 768px) {
  .reason-intro .movie {
    padding: 0 25px;
  }
}
.reason-intro .movie video {
  width: 100%;
  aspect-ratio: 1200 / 800;
}
.reason-intro .lead {
  width: 800px;
  margin: 50px auto 50px;
}
@media screen and (max-width: 768px) {
  .reason-intro .lead {
    width: 100%;
    margin: 40px auto 40px;
    padding: 0 25px;
  }
}
.reason-section {
  padding-top: 150px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason-section {
    padding-top: 60px;
  }
}
.reason-section.bg-secondary {
  background: #ebf3f9;
}
.reason-section .bg-en {
  font-size: 160px;
  line-height: 140px;
  font-weight: 300;
  letter-spacing: .08em;
  color: rgba(0,89,163,.1);
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .reason-section .bg-en {
    font-size: 50px;
    line-height: 44px;
    top: 40px;
  }
}
.reason-section .ttl {
  font-size: 30px;
  line-height: 46px;
  text-align: center;
  letter-spacing: .05em;
  color: #0059a3;
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .reason-section .ttl {
    width: fit-content;
    font-size: 22px;
    line-height: 33px;
    text-align: left;
    margin: 0 50px;
  }
}
.reason-box {
  width: 1120px;
  min-height: 450px;
  margin: 66px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason-box {
    width: 100%;
    min-height: inherit;
    margin: -16px auto 0;
  }
}
.reason-box .txt-box {
  width: 600px;
  background: #f5f5f5;
  padding: 84px 80px 64px;
  position: relative;
  z-index: 10;
  transform: translateY(-90px);
}
@media screen and (max-width: 768px) {
  .reason-box .txt-box {
    width: calc(100% - 50px);
    margin: 0 auto -40px;
    padding: 50px 25px 40px;
    transform: translateY(0);
  }
}
.reason-section.bg-secondary .reason-box .txt-box {
  background: #f5f9fc;
}
.reason-box .img-box {
  width: 600px;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .reason-box .img-box {
    width: 100%;
    position: inherit;
    top: auto;
    right: auto;
  }
}
.reason-box + .wrap {
  justify-content: space-between;
  width: 1000px;
  margin: 70px auto 0;
}
@media screen and (max-width: 768px) {
  .reason-box + .wrap {
    width: 100%;
    margin: 45px auto 0;
    padding: 0 25px;
  }
}
.reason-box + .wrap .parts-ttl {
  font-size: 22px;
  line-height: 32px;
  color: #0059a3;
  letter-spacing: .05em;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .reason-box + .wrap .parts-ttl {
    font-size: 18px;
    line-height: 24px;
  }
}
.reason-box + .wrap .parts:nth-of-type(2) {
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason-box + .wrap .parts:nth-of-type(2) {
    margin-top: 70px;
  }
}
.reason-box + .wrap .parts:nth-of-type(2):before {
  content: '';
  width: 1px;
  height: 100%;
  background: #99c1df;
  position: absolute;
  top: 0;
  left: -56px;
}
@media screen and (max-width: 768px) {
  .reason-box + .wrap .parts:nth-of-type(2):before {
    width: 100%;
    height: 1px;
    top: -35px;
    left: auto;
  }
}
.reason-box + .box {
  width: 1000px;
  background: #eee;
  margin: 90px auto 0;
  padding: 65px 0 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason-box + .box {
    width: calc(100% - 50px);
    margin: 60px auto 0;
    padding: 45px 25px 30px;
  }
}
.reason-box + .box .box-ttl {
  font-size: 22px;
  line-height: 1;
  color: #0059a3;
  letter-spacing: .05em;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .reason-box + .box .box-ttl {
    white-space: nowrap;
    font-size: 18px;
  }
  html:not([lang="ja"]) .reason-box + .box .box-ttl {
    left: 0;
    right: 0;
    transform: none;
    text-align: center;
    white-space: wrap;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.reason-box + .box .img-box {
  width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .reason-box + .box .img-box {
    width: 100%;
  }
}
.reason-box + .box .txt {
  font-size: 16px;
  line-height: 30px;
  color: #0059a3;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .reason-box + .box .txt {
    font-size: 14px;
    line-height: 26px;
  }
}
.reason-box + .history-box {
  width: 1000px;
  margin: 80px auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason-box + .history-box {
    width: 100%;
    margin: 45px auto 0;
    padding: 0 25px;
  }
}
.reason-box + .history-box .txt {
  font-size: 16px;
  line-height: 30px;
  color: #0059a3;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .reason-box + .history-box .txt {
    font-size: 14px;
    line-height: 24px;
  }
}
.reason-section .wrap .parts {
  flex-basis: calc(217 / 1000 * 100%);
}
.reason-section .wrap .parts:first-child {
  flex-basis: calc(678 / 1000 * 100%);
}
.history-box-ttl {
  font-size: 22px;
  color: #0059a3;
  letter-spacing: .05em;
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .history-box-ttl {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    margin-bottom: 30px;
    position: inherit;
    top: auto;
    left: auto;
    transform: translateX(0);
  }
}
.needs-section {
  background-color: #e6edee;
  background-image: url(../images/reason/bg_needs.webp);
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center top;
  padding: 120px 0 110px;
}
@media screen and (max-width: 768px) {
  .needs-section {
    -webkit-background-size: 100%;
    background-size: 100%;
    padding: 70px 25px 65px;
    position: relative;
  }
  .needs-section:before {
    content: '';
    width: 100%;
    height: 49.867vw;
    background: rgb(230,237,238);
    background: -moz-linear-gradient(0deg, rgba(230,237,238,1) 10%, rgba(255,255,255,0.05926120448179273) 100%);
    background: -webkit-linear-gradient(0deg, rgba(230,237,238,1) 10%, rgba(255,255,255,0.05926120448179273) 100%);
    background: linear-gradient(0deg, rgba(230,237,238,1) 10%, rgba(255,255,255,0.05926120448179273) 100%);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.needs-section .box {
  width: 1000px;
  background: #fff;
  margin: 0 auto;
  padding: 80px 90px 85px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .needs-section .box {
    width: 100%;
    padding: 30px 25px 85px;
  }
}
.needs-section .box .en {
  font-size: 100px;
  line-height: 80px;
  font-weight: 300;
  letter-spacing: .08em;
  color: rgba(0,101,174,.15);
  position: absolute;
  top: -30px;
  left: -120px;
}
@media screen and (max-width: 768px) {
  .needs-section .box .en {
    font-size: 40px;
    line-height: 40px;
    top: auto;
    bottom: -24px;
    left: 25px;
  }
}
.needs-section .box .ttl {
  font-size: 26px;
  line-height: 30px;
  letter-spacing: .05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .needs-section .box .ttl {
    font-size: 20px;
    line-height: 29px;
  }
}
.needs-section .box .list-parts {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .needs-section .box .list-parts {
    font-size: 14px;
  }
}
.needs-section .box .list-parts:nth-of-type(n + 2) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .needs-section .box .list-parts:nth-of-type(n + 2) {
    margin-top: 10px;
  }
}


/*********************************
  reason/service
*********************************/
.service-anchor {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .service-anchor .products-anchor-parts {
    width: 100%;
    height: 53px;
  }
  .service-anchor .products-anchor-parts:nth-of-type(odd) {
    border-right: none;
  }
  .service-anchor .products-anchor-parts:nth-of-type(n + 2) {
    border-top: solid 1px #0059a3;
  }
}
.service-anchor .products-anchor-parts:nth-of-type(-n + 6) {
  border-bottom: none;
}
.service-section.bg-secondary {
  background: #ebf3f9;
}
@media screen and (max-width: 768px) {
  .service-section .reason-box {
    margin: 50px auto 0;
  }
}
.service-section .reason-box .txt-box {
  background: #fff;
  box-shadow: 0 0 20px rgba(0,77,152,.1);
  padding: 70px 80px;
  transform: translateY(40px);
}
@media screen and (max-width: 768px) {
  .service-section .reason-box .txt-box {
    padding: 45px 25px;
    transform: translateY(-40px);
  }
}
.service-section .reason-box .txt-box .ttl {
  font-size: 26px;
  line-height: 42px;
  color: #0059a3;
  letter-spacing: .05em;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .service-section .reason-box .txt-box .ttl {
    font-size: 20px;
    line-height: 29px;
    margin-bottom: 25px;
  }
}
.service-section .reason-box + .sub-box {
  margin: 130px auto 0;
}
@media screen and (max-width: 768px) {
  .service-section .reason-box + .sub-box {
    margin: 50px auto 0;
  }
}
.service-section .sub-box {
  width: 1000px;
  background: #ebf3f9;
  padding: 50px 60px 55px;
}
@media screen and (max-width: 768px) {
  .service-section .sub-box {
    width: calc(100% - 50px);
    padding: 30px 25px;
  }
}
.service-section .sub-box .ttl {
  font-size: 22px;
  line-height: 30px;
  color: #0059a3;
  letter-spacing: .05em;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .service-section .sub-box .ttl {
    font-size: 18px;
    line-height: 27px;
    margin-bottom: 20px;
  }
}
.service-section .sub-box .wrap {
  justify-content: center;
  margin-top: 24px;
}
.service-section .sub-box .img-box {
  width: 290px;
}
@media screen and (max-width: 768px) {
  .service-section .sub-box .img-box {
    width: 100%;
  }
}
.service-section .sub-box .img-box + .img-box {
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .service-section .sub-box .img-box + .img-box {
    margin: 5px 0 0;
  }
}
.service-section .ttl-small {
  width: 1000px;
  border-left: solid 4px #ccc;
  margin: 80px auto 40px;
  padding-left: 22px;
}
@media screen and (max-width: 768px) {
  .service-section .ttl-small {
    width: 100%;
    margin: 50px 25px 20px;
    padding-left: 16px;
  }
}
.parts-wrap {
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .parts-wrap {
    width: 100%;
    padding: 0 25px;
  }
}
.parts-wrap .parts {
  display: block;
  width: 217px;
  color: #333;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .parts-wrap .parts {
    width: 100%;
  }
  .parts-wrap .parts + .parts {
    margin-top: 30px;
  }
}
.parts-wrap a.parts:hover {
  color: #0059a3;
  text-decoration: underline;
}
.parts-wrap .parts .name {
  font-size: 14px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .parts-wrap .parts .name {
    font-size: 12px;
    margin-top: 12px;
  }
}
.parts-wrap .parts2 {
  display: block;
  width: 450px;
  color: #333;
  transition: .3s;
}
@media screen and (max-width: 768px) {
  .parts-wrap .parts2 {
    width: 100%;
  }
  .parts-wrap .parts2 + .parts2 {
    margin-top: 30px;
  }
}
.parts-wrap a.parts2:hover {
  color: #0059a3;
  text-decoration: underline;
}
.parts-wrap .parts2 .name {
  font-size: 14px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .parts-wrap .parts2 .name {
    font-size: 12px;
    margin-top: 12px;
  }
}
.service-section .table {
  border-top: solid 1px #ccc;
}
.service-section .table.center {
  font-size: 13px;
  text-align: center;
}
.service-section .table-box {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .service-section .table-box {
    width: calc(100% - 50px);
  }
  .service-section .table {
    width: 875px;
  }
}
.service-section .item-ttl {
  border-bottom: solid 1px #ccc;
}
@media screen and (max-width: 768px) {
  .service-section .item-ttl {
    width: 12%;
  }
}
.service-section .item-content {
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: 15px 10px;
}
@media screen and (max-width: 768px) {
  .service-section .item-content {
    padding: 10px;
  }
}
.service-section .table.secondary .item-content {
  padding: 15px 20px;
}
@media screen and (max-width: 768px) {
  .service-section .table.secondary .item-content {
    padding: 10px;
  }
}
.service-section .bd-r {
  border-right: solid 1px #ccc;
}
.service-section .reason-box.secondary .img-box {
  right: auto;
  left: 0;
}
.service-section .reason-box.secondary .txt-box {
  margin-left: auto;
}
.service-section .reason-box + .parts-wrap {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  .service-section .reason-box + .parts-wrap {
    margin-top: 100px;
  }
}
.service-section .reason-box + .parts-wrap .parts {
  width: 304px;
}
@media screen and (max-width: 768px) {
  .service-section .reason-box + .parts-wrap .parts {
    width: 100%;
  }
}
.service-section .parts-wrap + .sub-box {
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  .service-section .parts-wrap + .sub-box {
    margin: 40px auto 0;
  }
}
.service-section .parts-wrap + .sub-box .img-box {
  width: 678px;
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  .service-section .parts-wrap + .sub-box .img-box {
    width: 100%;
    margin: 20px auto 0;
  }
}


  /*********************************
    reason/history
  *********************************/
.history-section {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .history-section .lead {
    padding: 0 25px;
  }
}
.history {
  overflow: hidden;
  width: 1140px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .history {
    width: 100%;
  }
}
.history:before,
.history:after {
  content: '';
  width: 1px;
  height: 100%;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .history:before,
  .history:after {
    display: none;
  }
}
.history:before {
  background: #4c93c6;
  top: 100px;
  left: 60px;
}
.history:after {
  background: #ddd;
  top: 70px;
  right: 200px;
}
.history .parts {
  width: 100%;
}
.history .parts:nth-of-type(1) {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .history .parts:nth-of-type(1) {
    margin-top: 35px;
  }
}
.history .parts:nth-of-type(n + 2) {
  padding-top: 70px;
}
@media screen and (max-width: 768px) {
  .history .parts:nth-of-type(n + 2) {
    border-top: solid 1px #ddd;
    padding-top: 35px;
  }
}
.history .main-wrap {
  justify-content: space-between;
  align-items: center;
  border-bottom: solid 1px #ddd;
  width: 880px;
  margin-right: 100px;
  padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .history .main-wrap {
    border-bottom: none;
    width: 100%;
    margin-right: 0;
    padding: 0 25px 32px;
  }
}
.history .parts:last-of-type .main-wrap {
  border-bottom: none;
}
.history .year {
  background: #fff;
  width: 160px;
  height: 114px;
  font-size: 60px;
  line-height: 50px;
  font-weight: 200;
  color: #0065ae;
  padding: 30px 0 30px 10px;
  transform: translateY(-30px);
}
@media screen and (max-width: 768px) {
  .history .year {
    width: 100%;
    height: auto;
    font-size: 50px;
    line-height: 40px;
    text-align: center;
    margin-bottom: 25px;
    padding: 0;
    transform: translateY(0);
  }
}
.history .txt-box {
  width: 362px;
}
@media screen and (max-width: 768px) {
  .history .txt-box {
    width: 100%;
  }
}
.history .txt-box.not-year {
  margin-left: 160px;
}
@media screen and (max-width: 768px) {
  .history .txt-box.not-year {
    margin-left: 0;
  }
}
.history .txt-box .ttl {
  font-size: 22px;
  line-height: 30px;
  color: #0059a3;

  letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
  .history .txt-box .ttl {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
  }
}
.history .txt-box .note {
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  .history .txt-box .note {
    margin-top: 20px;
  }
}
.history .img-wrap {
  width: 320px;
}
@media screen and (max-width: 768px) {
  .history .img-wrap {
    width: 100%;
    margin-top: 20px;
  }
}
.history .img-wrap .caption {
  font-size: 14px;
  line-height: 24px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .history .img-wrap .caption {
    font-size: 12px;
    line-height: 20px;
  }
}
.history .other-history {
  max-width: 200px;
  height: fit-content;
  font-size: 14px;
  line-height: 32px;
  color: #666;
  transform: translateY(-8px);
}
@media screen and (max-width: 768px) {
  .history .other-history {
    max-width: 100%;
    border-top: solid 1px #ddd;
    line-height: 26px;
    text-align: center;
    padding: 24px 0;
    transform: translateY(0);
  }
}
.history .parts.his-center .other-history {
  transform: translateY(-35px);
}
@media screen and (max-width: 768px) {
  .history .parts.his-center .other-history {
    transform: translateY(0);
  }
}
.history .parts.only {
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .history .parts.only {
    padding-top: 35px;
  }
}
.history .parts.only .main-wrap {
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .history .parts.only .main-wrap {
    padding-bottom: 35px;
  }
}
.history .parts.only .txt-wrap {
  align-items: center;
}
.history .parts.only .year {
  transform: translateY(0);
}
.history .parts.his-center {
  align-items: center;
}
.history .other-history.intervening {
  margin-top: -70px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .history .other-history.intervening {
    margin-top: 0;
    transform: translateY(0);
  }
}
.anniversary-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 60px 0 0 160px;
}
@media screen and (max-width: 768px) {
  .anniversary-ttl {
    margin: 35px 0 0;
  }
}
.anniversary-ttl-row {
  background: #fff;
  font-size: 54px;
  line-height: 50px;
  font-weight: 300;
  letter-spacing: .15em;
  white-space: nowrap;
  padding-top: 14px;
}
@media screen and (max-width: 768px) {
  .anniversary-ttl-row {
    font-size: 30px;
    line-height: 24px;
    padding-top: 8px;
  }
}
.anniversary-ttl-row + .anniversary-ttl-row {
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .anniversary-ttl-row + .anniversary-ttl-row {

  }
}
.anniversary-ttl .color {
  font-weight: 300;
  color: #0065ae;
}
.history .anniversary {
  padding-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .history .anniversary {
    padding-bottom: 30px;
  }
}
.history .anniversary .txt {
  font-size: 18px;
  line-height: 38px;
  margin: 50px 0 0 160px;
}
@media screen and (max-width: 768px) {
  .history .anniversary .txt {
    font-size: 14px;
    line-height: 26px;
    margin: 20px 0 0;
  }
}
.history .anniversary .txt .color {
  display: block;
  color: #0065ae;
}

/*********************************
  case
*********************************/
.category-wrap {
}
@media screen and (max-width: 768px) {
  .category-wrap {
    padding: 0 25px;
  }
}
.category-wrap .category-ttl {
  color: #0065AE;
  font-size: 26px;
  line-height: 36px;
  font-weight: 500;
  padding: 0 0 17px 0;
  border-bottom: 1px solid #0065AE;
}
@media screen and (max-width: 768px) {
  .category-wrap .category-ttl {
    position: relative;
    font-size: 20px;
    line-height: 30px;
    padding: 0 0 11px 0;
  }/*
  .category-wrap .category-ttl:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 19px;
    width: 8px;
    height: 8px;
    margin: auto;
    border-bottom: 1px solid #0065AE;
    border-right: 1px solid #0065AE;
    transform: rotate(45deg);
  }
  .category-wrap .category-ttl.open:after {
    transform: rotate(-135deg);
  }*/
}
.category-wrap .list {
  flex-wrap: wrap;
  gap: 9px 8px;
  margin: 29px 0 0 0;
}
@media screen and (min-width: 769px) {
  .category-wrap .list {
    display: flex;
    margin: 19px 0 0 0;
  }
}
@media screen and (max-width: 768px) {/*
  .category-wrap .list {
    display: none;
  }*/
}
.category-wrap .item {
  width: 328px;
}
@media screen and (max-width: 768px) {
  .category-wrap .item {
    width: 100%;
    margin-top: 9px;
  }
}
.category-wrap .link {
  overflow: hidden;
  display: block;
  position: relative;
  color: #0065AE;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  padding: 16px 25px;
  border: 1px solid #0065AE;
  box-sizing: border-box;
}
.category-wrap .link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 5px;
  height: 5px;
  margin: auto;
  border-bottom: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: rotate(45deg);
}
.category-wrap .link:hover {
  background: #e2edf6;
}
.category-wrap .link span {
  display: block;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.category-wrap .accordion {
}
.category-wrap .accordion .accordion-cont {
  display: none;
  margin: 20px 0 0 0;
  padding: 1px 0 0 0;
  border-top: 1px dashed #99C1DF;
}
@media screen and (max-width: 768px) {
  .category-wrap .accordion .accordion-cont {
    margin: 30px 0 0 0;
    padding: 1px 0 0 0;
  }
}
.category-wrap .accordion .more-btn {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;

  cursor: pointer;
  display: block;
  position: relative;
  width: 100%;
  color: #0065AE;
  font-size: 14px;
  letter-spacing: -0.05em;
  text-align: center;
  margin: 20px 0;
}
.category-wrap .accordion .more-btn:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #99C1DF;
  margin: auto;
}
.category-wrap .accordion .more-btn span {
  display: inline-block;
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  padding: 0 27px;
}
.category-wrap .accordion .more-btn span:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 3px;
  right: 12px;
  width: 6px;
  height: 6px;
  margin: auto;
  border-bottom: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: rotate(45deg);
}
.category-wrap .accordion.open .more-btn span:after {
  bottom: -2px;
  transform: rotate(-135deg);
}
.category-wrap .accordion .more-btn .open {
  display: none;
}
.category-wrap .accordion.open .more-btn .open {
  display: inline-block;
}
.category-wrap .accordion.open .more-btn .hide {
  display: none;
}
.case {
  margin: 100px 0 0 0;
}
@media screen and (max-width: 768px) {
  .case {
    margin: 69px 0 0 0;
    padding: 0 25px;
  }
}
.case.bottom {
  max-width: 1000px;
  margin: 57px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .case.bottom {
    max-width: 1000px;
    margin: 47px auto 0 auto;
  }
}
.case .case-list {
  display: flex;
  flex-wrap: wrap;
}
.case .case-item {
  width: 310px;
  background: #fff;
  margin: 0 0 35px 35px;
  box-shadow: 0 0 20px rgba(0, 77, 152, .1);
}
.case .case-item:nth-child(3n+1) {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .case .case-item {
    width: 100%;
    margin: 0 0 24px 0;
  }
}
.case .case-item a {
  display: block;
  height: 100%;
}
.case .case-item .img-box {
}
.case .case-item .img-box img {
  width: 100%;
  height: auto;
  aspect-ratio: 310 / 195;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .case .case-item .img-box img {
    aspect-ratio: 325 / 170;
  }
}
.case .case-item .txt-box {
  padding: 24px;
}
@media screen and (max-width: 768px) {
  .case .case-item .txt-box {
    padding: 12px 16px;
  }
}
.case .case-item .ttl {
  font-size: 16px;
  line-height: 25px;
  letter-spacing: .05em;
  font-weight: 500;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .case .case-item .ttl {
    font-size: 16px;
    line-height: 27px;
  }
}
.case .case-item .txt {
  font-size: 12px;
  line-height: 19px;
  letter-spacing: .06em;
  margin: 8px 0 0 0;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .case .case-item .txt {
    display: none;
  }
}
.case .case-item .categories {
  display: flex;
  flex-wrap: wrap;
  margin: 9px 0 0 0;
}
@media screen and (max-width: 768px) {
  .case .case-item .categories {
    flex-wrap: wrap;
    margin: 10px 0 0 0;
  }
}
.case .case-item .category {
  overflow: hidden;
  width: 78px;
  color: #0065AE;
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 9px 9px;
  padding: 7px 7px 5px 7px;
  border: 1px solid #0065AE;
  box-sizing: border-box;
}
.case .case-item .category:nth-child(3n+1) {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .case .case-item .category {
    width: 78px;
    font-size: 10px;
    padding: 7px 6px 7px 6px;
  }
}
.case .case-item .category span {
  display: block;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.case .case-item .link {
  display: inline-block;
  position: relative;
  color: #004d98;
  font-size: 12px;
  line-height: 22px;
  letter-spacing: .05em;
  margin-top: 5px;
}
.case .case-item .link:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #004d98;
  border-right: solid 1px #004d98;
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .case .case-item .link {
    display: none;
  }
}

/*********************************
  paging
*********************************/
.paging {
  padding: 45px 0 0 0;
}
.paging .navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif !important;
}
.paging .navigation .nav-links {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.paging .navigation .nav-links .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #0065AE;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  background-color: #EBF3F9;
}
.paging .navigation .nav-links .page-numbers.current {
  color: #FFFFFF;
  background-color: #0065AE;
}
.paging .navigation .nav-links .page-numbers.dots {
}
.paging .navigation .nav-links .page-numbers.prev,
.paging .navigation .nav-links .page-numbers.next {
  overflow: hidden;
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  color: #0065AE;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  text-indent: -9999em;
  background-color: #EBF3F9;
  border: 0;
}
.paging .navigation .nav-links .page-numbers.prev:after,
.paging .navigation .nav-links .page-numbers.next:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border-top: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: translateX(3px) rotate(-135deg);
}
.paging .navigation .nav-links .page-numbers.next:after {
  transform: translateX(-3px) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .paging {
    padding: 41px 0 0 0;
  }
  .paging .navigation .nav-links .page-numbers {
    width: 38px;
    height: 38px;
  }
  .paging .navigation .nav-links .page-numbers.prev,
  .paging .navigation .nav-links .page-numbers.next {
    display: none;
  }
}

/*********************************
  article-case
*********************************/
.article-case {
}
.article-case .image {
  max-width: 928px;
  margin: 0 auto 96px auto;
}
.article-case .image img {
  width: 100%;
  height: auto;
}
.article-body-case {
  max-width: 1000px;
  margin: auto;
}
.article-body-case h2 {
  color: #0065AE;
  font-size: 26px;
  line-height: 36px;
  font-weight: 500;
  margin: 0 0 27px 0;
  padding: 0 0 14px 0;
  border-bottom: 1px solid #0065AE;
}
.article-body-case h3 {
  font-size: 22px;
  line-height: 30px;
  font-weight: 500;
  margin: 0 0 37px 0;
  padding: 0 0 0 22px;
  border-left: 4px solid #CCCCCC;
}
.article-body-case h4 {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin: 0 0 10px 0;
}
.article-body-case p {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  margin: 0 0 60px 0;
}
.article-body-case p strong {
  font-weight: 700;
}
.article-body-case .step-pattern {
  margin: 0 0 60px 0;
}
.article-body-case .step-pattern .step-group {
  position: relative;
}
.article-body-case .step-pattern .step-group:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 70px;
  z-index: 1;
  width: 1px;
  background-image: linear-gradient(to bottom, #0065AE 4px, transparent 4px);
  background-size: 1px 8px;
  background-repeat: repeat-y;
  background-position: left bottom;
}
.article-body-case .step-pattern .step-group:last-child:after {
  display: none;
}
.article-body-case .step-pattern .step-group .headline-wrap {
  display: flex;
  align-items: center;
}
.article-body-case .step-pattern .step-group .headline-wrap .step {
  flex-basis: 142px;
  flex-shrink: 0;
  z-index: 2;
  color: #0065AE;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  background-color: #EBF3F9;
  margin: 0;
  padding: 17px 0 15px 0;
}
.article-body-case .step-pattern .step-group .headline-wrap .headline {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin: 0 0 0 47px;
  padding: 0;
  border: 0;
}
.article-body-case .step-pattern .step-group .text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  margin: 0 0 0 188px;
  padding: 0 0 20px 0;
}
.article-body-case .wp-block-table {
  margin: 0 0 60px 0;
}
.article-body-case .wp-block-table thead {
  border: 0;
}
.article-body-case .wp-block-table th {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  text-align: center;
  background-color: #EEEEEE;
  padding: 15px 19px;
  border: 1px solid #CCCCCC;
}
.article-body-case .wp-block-table td {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  background-color: #fff;
  padding: 15px 19px;
  border: 1px solid #CCCCCC;
}
.article-body-case .wp-block-video {
  max-width: 928px;
  margin: 0 auto 60px auto;
}
.article-body-case .wp-block-video video {
  width: 100%;
  height: auto;
}
.article-body-case .wp-block-image {
  margin: 0 0 60px 0;
}
.article-body-case .wp-block-image img {
  width: 100%;
  height: auto;
}
.article-body-case .group1 {
  display: flex;
  justify-content: space-between;
}
.article-body-case .group1 .wp-block-image {
  flex-basis: 480px;
}
.article-body-case .group1 .wp-block-group {
  flex-basis: 480px;
}
.article-body-case .group1 .wp-block-group .wp-block-heading {
}
.article-body-case .group1 .wp-block-group p {
}
.article-body-case .group2 {
  display: flex;
  gap: 40px;
}
.article-body-case .group2 .wp-block-image {
  margin: 0 0 14px 0;
}
.article-body-case .group2 .wp-element-caption {
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  margin: 14px 0 0 0;
}
.article-body-case .faq {
  margin: 0 0 60px 0;
}
.article-body-case .faq .row {
  background-image: linear-gradient(to right, #CCCCCC 4px, transparent 4px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  margin: 0 0 23px 0;
  padding: 0 0 13px 0;
}
.article-body-case .faq .question {
  cursor: pointer;
  display: flex;
  position: relative;
  margin: 0 0 7px 0;
}
.article-body-case .faq .question:before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  color: #FFFFFF;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  background-color: #0065AE;
}
.article-body-case .faq .question p {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin: 9px 0 0 16px;
}
.article-body-case .faq .question p:before,
.article-body-case .faq .question p:after {
  content: "";
  position: absolute;
  top: 21px;
  right: 13px;
  width: 12px;
  height: 2px;
  background-color: #0065AE;
  transition: all 0.2s ease-out;
}
.article-body-case .faq .question p:after {
  transform: rotate(90deg);
}
.article-body-case .faq .open .question p:before {
  opacity: 0;
  transform: rotate(90deg);
}
.article-body-case .faq .open .question p:after {
  transform: rotate(180deg);
}
.article-body-case .faq .answer {
  display: none;
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  margin: 0 0 0 56px;
}
.article-case .tag-detail {
  max-width: 1000px;
  margin: auto;
}
.article-case .tag-detail .list {
  display: flex;
  gap: 25px;
}
.article-case .tag-detail .item {
  color: #0065AE;
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .article-case {
    padding: 0 25px;
  }
  .article-case .image {
    margin: 0 0 45px 0;
  }
  .article-body-case h2 {
    font-size: 20px;
    line-height: 30px;
    margin: 0 0 16px 0;
    padding: 0 0 9px 0;
  }
  .article-body-case h3 {
    font-size: 18px;
    line-height: 27px;
    margin: 0 0 15px 0;
    padding: 0 0 0 15px;
  }
  .article-body-case h4 {
    font-size: 16px;
    line-height: 27px;
    margin: 0 0 10px 0;
  }
  .article-body-case p {
    font-size: 14px;
    line-height: 26px;
    margin: 0 0 60px 0;
  }
  .article-body-case .step-pattern {
    margin: 0 0 40px 0;
  }
  .article-body-case .step-pattern .step-group {
  }
  .article-body-case .step-pattern .step-group:after {
    left: 42.5px;
  }
  .article-body-case .step-pattern .step-group:last-child:after {
  }
  .article-body-case .step-pattern .step-group .headline-wrap {
  }
  .article-body-case .step-pattern .step-group .headline-wrap .step {
    flex-basis: 85px;
    font-size: 14px;
    padding: 10px 0 10px 0;
  }
  .article-body-case .step-pattern .step-group .headline-wrap .headline {
    font-size: 16px;
    line-height: 27px;
    margin: 0 0 0 15px;
  }
  .article-body-case .step-pattern .step-group .text {
    font-size: 14px;
    line-height: 26px;
    margin: 0 0 0 98px;
    padding: 0 0 40px 0;
  }
  .article-body-case .table-type1,
  .article-body-case .table-type2 {
    overflow-x: scroll;
    margin-top: 25px;
    position: relative;
  }
  .article-body-case .table-type1 .hand,
  .article-body-case .table-type2 .hand {
    width: 100px;
    height: 70px;
    background: #999;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    text-align: center;
    padding: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
    opacity: 1;
    transition: .3s;
  }
  .article-body-case .table-type1 .hand.hide,
  .article-body-case .table-type2 .hand.hide {
    opacity: 0;
  }
  .article-body-case .table-type1 .hand .img,
  .article-body-case .table-type2 .hand .img {
    width: auto;
    height: 100%;
  }
  .article-body-case .wp-block-table {
    margin: 0 0 40px 0;
  }
  .article-body-case .wp-block-table thead {
  }
  .article-body-case .wp-block-table th {
    font-size: 13px;
    line-height: 30px
    padding: 15px 19px;
    white-space: nowrap;
  }
  .article-body-case .wp-block-table td {
    font-size: 13px;
    line-height: 30px;
    padding: 15px 19px;
    white-space: nowrap;
  }
  .article-body-case .wp-block-video {
    max-width: 928px;
    margin: 0 auto 60px auto;
  }
  .article-body-case .wp-block-video video {
    width: 100%;
    height: auto;
  }
  .article-body-case .wp-block-image {
    margin: 0 0 60px 0;
  }
  .article-body-case .wp-block-image img {
    width: 100%;
    height: auto;
  }
  .article-body-case .group1 {
    display: block;
  }
  .article-body-case .group1 .wp-block-image {
    margin: 0 0 20px 0;
  }
  .article-body-case .group1 .wp-block-group {
  }
  .article-body-case .group1 .wp-block-group .wp-block-heading {
  }
  .article-body-case .group1 .wp-block-group p {
  }
  .article-body-case .group2 {
    display: block;
  }
  .article-body-case .group2 .wp-block-image {
    margin: 0 0 14px 0;
  }
  .article-body-case .group2 .wp-element-caption {
    font-size: 14px;
    line-height: 22px;
    margin: 14px 0 0 0;
  }
  .article-body-case .group2 p {
    margin: 0 0 40px 0;
  }
  .article-body-case .faq {
    margin: 0 0 40px 0;
  }
  .article-body-case .faq h3 {
    margin: 0 0 20px 0;
  }
  .article-body-case .faq .row {
    background-image: linear-gradient(to right, #0065AE 4px, transparent 4px);
    margin: 0 0 23px 0;
    padding: 0 0 21px 0;
  }
  .article-body-case .faq .question {
    margin: 0 0 3px 0;
  }
  .article-body-case .faq .question:before {
    width: 32px;
    height: 32px;
  }
  .article-body-case .faq .question p {
    font-size: 16px;
    line-height: 27px;
    margin: 6px 0 0 7px;
  }
  .article-body-case .faq .question p:before,
  .article-body-case .faq .question p:after {
    top: 15px;
    right: 0;
    width: 10px;
    height: 2px;
    background-color: #0065AE;
    transition: all 0.2s ease-out;
  }
  .article-body-case .faq .question p:after {
  }
  .article-body-case .faq .open .question p:before {
  }
  .article-body-case .faq .open .question p:after {
  }
  .article-body-case .faq .answer {
    font-size: 14px;
    line-height: 26px;
    margin: 0 0 0 40px;
    padding: 0 0 22px 0;
  }
  .article-case .tag-detail {
    max-width: 1000px;
    margin: auto;
  }
  .article-case .tag-detail .list {
    display: flex;
    gap: 25px;
  }
  .article-case .tag-detail .item {
    font-size: 14px;
    line-height: 20px;
  }
}

/*********************************
  author-section
*********************************/
.author-section {
  background-color: #EBF3F9;
  padding: 100px 0;
}
.author-section .box {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  background-color: #FFFFFF;
  margin: auto;
  padding: 30px;
  box-sizing: border-box;
  box-shadow: 0 0 20px rgba(0, 77, 152, .1);
}
.author-section .box .img {
  flex-basis: calc(280 / 940 * 100%);
}
.author-section .box .img img {
  width: 100%;
}
.author-section .box .txt {
  flex-basis: calc(630 / 940 * 100%);
}
.author-section .box .author-title {
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  margin: 7px 0 6px 0;
}
.author-section .box .author-name {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin: 0 0 6px 0;
}
.author-section .box .author-text {
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .author-section {
    padding: 30px 25px;
  }
  .author-section .box {
    flex-wrap: wrap;
    padding: 24px 30px;
  }
  .author-section .box .img {
    flex-basis: 100%;
    order: 2;
  }
  .author-section .box .txt {
    flex-basis: 100%;
    order: 1;
    margin: 0 0 8px 0;
  }
  .author-section .box .author-title {
    margin: 0 0 3px 0;
  }
  .author-section .box .author-name {
    font-size: 18px;
    line-height: 25.2px;
    margin: 0 0 2px 0;
  }
  .author-section .box .author-text {
    font-size: 12px;
    line-height: 21.6px;
  }
}
/*********************************
  place-wrap / mymap
*********************************/
.place-wrap {
  margin: 0 0 100px 0;
}
.place-wrap .place-ttl-wrap {
  position: relative;
}
.place-wrap .place-ttl-wrap .place-ttl {
  color: #0065AE;
  font-size: 26px;
  line-height: 36px;
  font-weight: 500;
  padding: 0 0 17px 0;
  border-bottom: 1px solid #0065AE;
}
.place-wrap .place-ttl-wrap .link {
  position: absolute;
  bottom: 12px;
  right: 20px;
  color: #0065AE;
  font-size: 18px;
  line-height: 22px;
  font-weight: 500;
  text-decoration: underline;
}
.place-wrap .place-ttl-wrap .link:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 1px #004d98;
  border-right: solid 1px #004d98;
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%) rotate(45deg);
}
.place-wrap .list {
  display: flex;
  flex-wrap: wrap;
  margin: 28px 0 0 0;
  border-left: 1px solid #0065AE;
}
.place-wrap .list .item {
  flex-basis: 25%;
  border: 1px solid #0065AE;
  border-left: 0;
  box-sizing: border-box;
}
.place-wrap .list .item:nth-child(n+5) {
  border-top: 0;
}
.place-wrap .list .item .link {
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  color: #0065AE;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  padding: 16px 25px;
  box-sizing: border-box;
}
.place-wrap .list .item .link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 5px;
  height: 5px;
  margin: auto;
  border-bottom: 1px solid #0065AE;
  border-right: 1px solid #0065AE;
  transform: rotate(45deg);
}
.place-wrap .list .item .link:hover {
  background: #e2edf6;
}
.mymap {
  overflow: hidden;
  margin: 0 0 117px 0;
}
.mymap iframe {
  width: 100%;
  height: auto;
  margin-top: -67px;
  aspect-ratio: 1000 / 563;
}
@media screen and (max-width: 768px) {
  .place-wrap {
    margin: 0 0 44px 0;
    padding: 0 25px;
  }
  html[lang="en"] .place-wrap .place-ttl-wrap,
  html[lang="th"] .place-wrap .place-ttl-wrap,
  html[lang="vi"] .place-wrap .place-ttl-wrap {
    padding-bottom: 20px;
  }
  .place-wrap .place-ttl-wrap .place-ttl {
    position: relative;
    font-size: 20px;
    line-height: 30px;
    padding: 0 0 11px 0;
  }
  .place-wrap .place-ttl-wrap .link {
    bottom: 16px;
    right: 17px;
    font-size: 14px;
    line-height: 18px;
  }
  .place-wrap .place-ttl-wrap .link:after {
    width: 8px;
    height: 8px;
  }
  html[lang="en"] .place-wrap .place-ttl-wrap .link,
  html[lang="th"] .place-wrap .place-ttl-wrap .link,
  html[lang="vi"] .place-wrap .place-ttl-wrap .link {
    bottom: -5px;
  }
  .place-wrap .list {
    display: block;
    margin: 20px 0 0 0;
    border-left: 0;
  }
  .place-wrap .list .item {
    margin: 0 0 9px 0;
    border: 0;
  }
  .place-wrap .list .item .link {
    font-size: 16px;
    padding: 16px 25px;
    border: 1px solid #0065AE;
  }
  .place-wrap .list .item .link:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 5px;
    height: 5px;
    margin: auto;
    border-bottom: 1px solid #0065AE;
    border-right: 1px solid #0065AE;
    transform: rotate(45deg);
  }
  .mymap {
    display: none;
  }
}

/*********************************
  company-block
*********************************/
.company-block {
  display: flex;
  justify-content: space-between;
  margin: 0 0 71px 0;
  padding: 30px 0 0 0;
}
.company-block.even .txt-wrap {
  order: 2;
}
.company-block.even .img-wrap {
  order: 1;
}
.company-block .txt-wrap {
  flex-basis: 480px;
}
.company-block .txt-wrap .name {
  color: #0065AE;
  font-size: 26px;
  line-height: 36px;
  font-weight: 500;
  margin: 0 0 27px 0;
  padding: 0 0 17px 0;
  border-bottom: 1px solid #0065AE;
}
.company-block .txt-wrap .name .small {
  font-size: 16px;
  line-height: 30px;
}
.company-block .txt-wrap .copy {
  color: #0065AE;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
}
.company-block .txt-wrap .text {
  font-size: 14px;
  line-height: 26px;
  font-weight: 500;
  margin: 0 0 17px 0;
}
.company-block .txt-wrap .equipment {
  margin: 0 0 28px 0;
}
.company-block .txt-wrap .equipment .equipment-ttl {
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  margin: 0 0 8px 0;
}
.company-block .txt-wrap .equipment .list-wrap {
  display: flex;
  justify-content: space-between;
}
.company-block .txt-wrap .equipment .list {
}
.company-block .txt-wrap .equipment .list-wrap .list {
  flex-basis: 220px;
}
.company-block .txt-wrap .equipment .list .item {
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
  text-indent: -12px;
  margin: 4px 0 0 0;
  padding: 0 0 0 12px;
}
.company-block .txt-wrap .equipment .list .item:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #0065AE;
  margin: 0 5px 4px 0;
  border-radius: 50%;
}
.company-block .txt-wrap .info {
}
.company-block .txt-wrap .info .row {
  display: flex;
  align-items: flex-start;
  margin: 0 0 12px 0;
}
.company-block .txt-wrap .info .row .head {
  flex-basis: 76px;
  flex-shrink: 0;
  color: #0065AE;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  background-color: #EBF3F9;
  margin: 0;
  padding: 9px 0 8px 0;
}
.company-block .txt-wrap .info .row .cont {
  font-size: 14px;
  line-height: 26px;
  font-weight: 500;
  margin: 0 0 0 16px;
  padding: 4px 0 0 0;
}
.company-block .txt-wrap .info .row .cont .link {
  position: relative;
  color: #0065AE;
  text-decoration: underline;
}
.company-block .txt-wrap .info .row .cont .link:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -44px;
  width: 10px;
  height: 10px;
  background-image: url(/assets/images/common/blank.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto;
}
.company-block .button-wrap {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.company-block .btn-primary {
  width: 220px;
  height: 50px;
  margin: 40px auto 0;
}
.company-block .button-wrap .btn-primary {
  margin: 40px 0 0 0;
}
.company-block .img-wrap {
  flex-basis: 480px;
}
.company-block .img-wrap img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .company-block {
    display: block;
    margin: 0 0 43px 0;
    padding: 20px 25px 0 25px;
  }
  .company-block:last-child {
    margin: 0;
  }
  .company-block .txt-wrap {
  }
  .company-block .txt-wrap .name {
    font-size: 20px;
    line-height: 30px;
    margin: 0 0 19px 0;
    padding: 0 0 10px 0;
  }
  .company-block .txt-wrap .name .small {
    font-size: 14px;
    line-height: 22px;
  }
  .company-block .txt-wrap .copy {
    font-size: 18px;
    line-height: 25px;
    margin: 0 0 5px 0;
  }
  .company-block .txt-wrap .text {
    margin: 0 0 39px 0;
  }
  .company-block .txt-wrap .equipment {
    margin: 0 0 28px 0;
  }
  .company-block .txt-wrap .equipment .equipment-ttl {
    font-size: 18px;
    line-height: 25px;
    margin: 0 0 8px 0;
  }
  .company-block .txt-wrap .equipment .list-wrap {
    display: block;
  }
  .company-block .txt-wrap .equipment .list {
  }
  .company-block .txt-wrap .equipment .list .item {
    font-size: 14px;
    line-height: 18px;
    margin: 4px 0 0 0;
  }
  .company-block .txt-wrap .equipment .list .item:before {
    width: 6px;
    height: 6px;
    margin: 0 5px 4px 0;
  }
  .company-block .txt-wrap .info {
  }
  .company-block .txt-wrap .info .row {
    display: block;
    margin: 0 0 20px 0;
  }
  .company-block .txt-wrap .info .row .head {
    display: inline-block;
    min-width: 76px;
    padding: 9px 10px 8px 10px;
  }
  .company-block .txt-wrap .info .row .cont {
    font-size: 14px;
    line-height: 22px;
    margin: 0;
    padding: 4px 0 0 0;
  }
  .company-block .txt-wrap .info .row .cont .link {
  }
  .company-block .txt-wrap .info .row .cont .link:after {
    right: -24px;
  }
  .company-block .button-wrap {
    display: block;
    margin: 36px auto 0;
  }
  .company-block .btn-primary {
    width: 255px;
    height: 50px;
    margin: 36px auto 0;
  }
  .company-block .button-wrap .btn-primary {
    margin: 7px auto 0;
  }
  .company-block .img-wrap {
  }
  .company-block .img-wrap img {
  }
}
