﻿@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
.secMv {
  background: #fff;
  overflow: hidden;
  padding-top: 80px;
  margin-bottom: 40px
}
@media screen and (min-width: 1025px) {
  .secMv {
    padding-top: 96px;
    margin-bottom: 95px
  }
}
.secMv .secMvSlide .secMvSlideBox {
  width: 100%;
  height: 100%
}
.secMv .secMvSlide .secMvSlideBox .pcShow {
  display: none
}
@media screen and (min-width: 481px) {
  .secMv .secMvSlide .secMvSlideBox .pcShow {
    display: block
  }
}
@media screen and (min-width: 481px) {
  .secMv .secMvSlide .secMvSlideBox .spShow {
    display: none
  }
}
.secMv .secMvSlide .secMvSlideBoxVideo {
  position: relative;
  width: 100%;
  padding-top: 56.25%
}
.secMv .secMvSlide .secMvSlideBoxVideo iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important
}
@media screen and (min-width: 769px) {
  .slick-slide {
    margin: 0 15px
  }
}
.slick-slide img {
  width: 100%
}
.arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  z-index: 30;
  cursor: pointer;
  top: 50%;
  transform: translateY(-50%);
  filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.07));
  border-radius: 50%;
  width: 70px;
  height: 70px
}
@media screen and (min-width: 1025px) {
  .arrow {
    width: 84px;
    height: 84px
  }
}
.arrow span {
  font-size: 7px;
  color: #2466AF
}
.arrow.prev {
  position: absolute;
  left: -35px
}
.arrow.prev span {
  transform: translateX(10px)
}
@media screen and (min-width: 1025px) {
  .arrow.prev span {
    transform: translateX(0)
  }
}
@media screen and (min-width: 1025px) {
  .arrow.prev {
    left: calc(13% - 42px)
  }
}
@media screen and (min-width: 1601px) {
  .arrow.prev {
    left: calc(18% - 42px)
  }
}
.arrow.next {
  position: absolute;
  right: -35px
}
.arrow.next span {
  transform: translateX(-10px)
}
@media screen and (min-width: 1025px) {
  .arrow.next span {
    transform: translateX(0)
  }
}
@media screen and (min-width: 1025px) {
  .arrow.next {
    right: calc(13% - 42px)
  }
}
@media screen and (min-width: 1601px) {
  .arrow.next {
    right: calc(18% - 42px)
  }
}
.secTopCaution {
  padding: 0 25px
}
.secTopCaution .secTopCautionInner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 50px;
  border: 2px solid #E33946;
  background: #FFF4F4;
  padding: 30px;
  font-size: 1.6rem
}
@media screen and (min-width: 769px) {
  .secTopCaution .secTopCautionInner {
    margin: 0 auto 95px
  }
}
.secTopCaution .secTopCautionInner ul li {
  margin-bottom: 10px
}
.secTopCaution .secTopCautionInner ul li:last-child {
  margin-bottom: 0
}
.secTopCaution .secTopCautionInner ul li a {
  font-size: 1.4rem;
  display: flex
}
@media screen and (min-width: 769px) {
  .secTopCaution .secTopCautionInner ul li a {
    font-size: 1.6rem
  }
}
.secTopCaution .secTopCautionInner ul li a .dot {
  margin-top: 10px;
  flex: 0 0 9px;
  white-space: nowrap;
  display: block;
  height: 9px;
  width: 9px;
  border-radius: 50%;
  margin-right: 20px;
  background: #E33946
}
.secTopCaution .secTopCautionInner ul li a .hasLine .hasLineCont {
  padding-bottom: 1px;
  background-image: linear-gradient(180deg, transparent calc(100% - 1px), #000 0);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size .3s ease-in-out
}
.secTopCaution .secTopCautionInner ul li a:hover .hasLine .hasLineCont {
  background-size: 100% 100%
}
_:-ms-lang(x)::-ms-backdrop, .secTopCaution .secTopCautionInner ul li a .hasLine .hasLineCont {
  background: none;
  position: relative;
  display: inline-block
}
_:-ms-lang(x)::-ms-backdrop, .secTopCaution .secTopCautionInner ul li a .hasLine .hasLineCont:after {
  content: "";
  background: #000;
  display: block;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all .3s
}
_:-ms-lang(x)::-ms-backdrop, .secTopCaution .secTopCautionInner ul li a:hover .hasLine .hasLineCont:after {
  width: 100%
}
.secPress {
  margin-bottom: 50px
}
@media screen and (min-width: 769px) {
  .secPress {
    margin-bottom: 120px
  }
}
.secPress .secInner .secPressCont {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont {
    flex-wrap: nowrap
  }
}
.secPress .secInner .secPressCont .secPressContTtl {
  width: 100%
}
.secPress .secInner .secPressCont .secPressContTtl.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: all .3s .3s
}
.secPress .secInner .secPressCont .secPressContTtl.anim.active {
  opacity: 1;
  transform: translateY(0)
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContTtl {
    flex: 0 0 360px
  }
}
.secPress .secInner .secPressCont .secPressContTtl .secTtl {
  position: relative
}
.secPress .secInner .secPressCont .secPressContTtl .secTtl h2 {
  line-height: 1.5;
  font-size: 3rem;
  font-weight: 500;
  position: relative;
  z-index: 30;
  white-space: nowrap;
  color: #000;
  opacity: 1;
  padding-top: 58px;
  padding-left: 15px
}
@media screen and (min-width: 769px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl h2 {
    font-size: 4rem;
    padding-top: 72px
  }
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl h2 br {
    display: none
  }
}
.secPress .secInner .secPressCont .secPressContTtl .secTtl h3 {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-size: 8rem;
  opacity: .2;
  color: #99C2E1;
  position: absolute;
  z-index: 20;
  top: 0;
  left: -15px;
  line-height: 1;
  white-space: nowrap;
  width: 100%;
  overflow: visible
}
@media screen and (min-width: 481px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl h3 {
    font-size: 8.7rem
  }
}
@media screen and (min-width: 769px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl h3 {
    font-size: 11.6rem;
    overflow: visible
  }
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl h3 br {
    display: none
  }
}
.secPress .secInner .secPressCont .secPressContTtl .secTtl:after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background: #2466AF;
  position: absolute;
  bottom: -20px
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContTtl .secTtl:after {
    bottom: -40px;
    width: 77px;
    height: 6px
  }
}
.secPress .secInner .secPressCont .secPressContList {
  margin-top: 40px;
  width: 100%
}
.secPress .secInner .secPressCont .secPressContList.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: all .3s .6s
}
.secPress .secInner .secPressCont .secPressContList.anim.active {
  opacity: 1;
  transform: translateY(0)
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContList {
    margin-top: 0;
    width: calc(100% - 360px)
  }
}
.secPress .secInner .secPressCont .secPressContList ul {
  margin-top: 25px;
  border-top: 1px solid #E5E5E5
}
.secPress .secInner .secPressCont .secPressContList ul li a {
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #E5E5E5;
  position: relative;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.4rem;
  padding: 30px 40px 30px 0;
  transition: all .3s
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContList ul li a {
    padding: 40px 50px 40px 0;
    flex-wrap: nowrap
  }
}
.secPress .secInner .secPressCont .secPressContList ul li a .secPressContListDate {
  letter-spacing: .05em;
  white-space: nowrap;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  padding-right: 35px;
  color: #222222;
  width: 100%;
  margin-bottom: 15px
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContList ul li a .secPressContListDate {
    margin-bottom: 0;
    width: auto
  }
}
.secPress .secInner .secPressCont .secPressContList ul li a .secPressContListBox h3 {
  font-weight: 500;
  margin-bottom: 10px
}
.secPress .secInner .secPressCont .secPressContList ul li a .secPressContListBox h3 span {
  padding-bottom: 1px;
  background-image: linear-gradient(180deg, transparent calc(100% - 1px), #2466AF 0);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size .3s ease-in-out
}
.secPress .secInner .secPressCont .secPressContList ul li a .secPressContListBox p {
  font-weight: 300
}
.secPress .secInner .secPressCont .secPressContList ul li a:after {
  font-family: ico;
  content: "\e901";
  font-size: 11px;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%)
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContList ul li a:after {
    right: 25px
  }
}
.secPress .secInner .secPressCont .secPressContList ul li a:hover {
  color: #2466AF
}
.secPress .secInner .secPressCont .secPressContList ul li a:hover .secPressContListBox h3 span {
  background-size: 100% 100%
}
.secPress .secInner .secPressCont .secPressContBtn {
  margin-top: 80px
}
.secPress .secInner .secPressCont .secPressContBtn a {
  position: relative;
  color: #2466AF;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 216px;
  height: 80px;
  border: 1px solid #2466AF;
  text-align: center;
  border-radius: 40px;
  font-weight: 500;
  background: #fff;
  transition: all .3s
}
.secPress .secInner .secPressCont .secPressContBtn a:hover {
  color: #fff;
  background: #2466AF
}
.secPress .secInner .secPressCont .secPressContBtn a:hover:after {
  right: 15px
}
.secPress .secInner .secPressCont .secPressContBtn a:after {
  font-family: ico;
  content: "\e900";
  font-size: 10px;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  transition: all .3s
}
.secPress .secInner .secPressCont .secPressContBtn.btnPc {
  display: none
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContBtn.btnPc {
    display: block
  }
}
.secPress .secInner .secPressCont .secPressContBtn.btnSp {
  margin: 50px auto
}
@media screen and (min-width: 1025px) {
  .secPress .secInner .secPressCont .secPressContBtn.btnSp {
    display: none
  }
}
_:-ms-lang(x)::-ms-backdrop, .secPress .secInner .secPressCont .secPressContList ul li a .secPressContListBox h3 span {
  background: none;
  position: relative;
  display: inline-block
}
_:-ms-lang(x)::-ms-backdrop, .secPress .secInner .secPressCont .secPressContList ul li a .secPressContListBox h3 span:after {
  content: "";
  background: #2466AF;
  display: block;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all .3s
}
_:-ms-lang(x)::-ms-backdrop, .secPress .secInner .secPressCont .secPressContList ul li a:hover .secPressContListBox h3 span:after {
  width: 100%
}
.secGroup {
  padding: 0 20px;
  margin-bottom: 60px
}
@media screen and (min-width: 769px) {
  .secGroup {
    padding: 0 40px;
    margin-bottom: 100px
  }
}
.secGroup .secGroupInner.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: all .3s .5s
}
.secGroup .secGroupInner.anim.active {
  opacity: 1;
  transform: translateY(0)
}
.secGroup .secGroupInner h2 {
  font-size: 2.7rem;
  text-align: center;
  margin-bottom: 30px
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner h2 {
    font-size: 5rem;
    margin-bottom: 40px
  }
}
.secGroup .secGroupInner h2 span {
  color: #2466AF
}
.secGroup .secGroupInner .secGroupTxt {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.75
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner .secGroupTxt {
    font-size: 1.6rem;
    text-align: center
  }
}
.secGroup .secGroupInner .secGroupTxt br {
  display: none
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner .secGroupTxt br {
    display: block
  }
}
.secGroup .secGroupInner .secGroupTxt.hasMb {
  margin-bottom: 25px
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner .secGroupTxt.hasMb {
    margin-bottom: 50px
  }
}
.secGroup .secGroupInner .secGroupList {
  margin-bottom: 50px
}
.secGroup .secGroupInner .secGroupList ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap
}
@media screen and (min-width: 1025px) {
  .secGroup .secGroupInner .secGroupList ul {
    flex-wrap: nowrap
  }
}
.secGroup .secGroupInner .secGroupList ul li {
  width: 100%
}
@media screen and (min-width: 1025px) {
  .secGroup .secGroupInner .secGroupList ul li {
    width: calc(100% / 3)
  }
}
.secGroup .secGroupInner .secGroupList ul li a {
  position: relative;
  display: block;
  overflow: hidden
}
.secGroup .secGroupInner .secGroupList ul li a img {
  width: 100%;
  transition: all .2s
}
.secGroup .secGroupInner .secGroupList ul li a h2 {
  text-align: left;
  white-space: nowrap;
  color: #fff;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.7rem;
  font-weight: 400;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 50px 15px 15px 15px;
  margin-bottom: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  transition: all .3s
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner .secGroupList ul li a h2 {
    padding: 60px 20px 20px 20px;
    font-size: 2rem
  }
}
.secGroup .secGroupInner .secGroupList ul li a h2 br {
  display: none
}
@media screen and (min-width: 769px) {
  .secGroup .secGroupInner .secGroupList ul li a h2 br {
    display: block
  }
}
@media screen and (min-width: 1201px) {
  .secGroup .secGroupInner .secGroupList ul li a h2 br {
    display: none
  }
}
.secGroup .secGroupInner .secGroupList ul li a .arrowIcon {
  transition: all .3s
}
.secGroup .secGroupInner .secGroupList ul li a:hover h2 {
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%)
}
.secGroup .secGroupInner .secGroupList ul li a:hover img {
  transform: scale(1.05, 1.05)
}
.secGroup .secGroupInner .secGroupList ul li a:hover .arrowIcon {
  transform: translateX(10px)
}
.secGroup .secGroupInner .secGroupBtn {
  margin-top: 50px
}
.secGroup .secGroupInner .secGroupBtn a {
  position: relative;
  color: #2466AF;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 308px;
  height: 80px;
  border: 1px solid #2466AF;
  text-align: center;
  border-radius: 40px;
  font-weight: 500;
  margin: 0 auto;
  transition: all .3s
}
.secGroup .secGroupInner .secGroupBtn a:hover {
  color: #fff;
  background: #2466AF
}
.secGroup .secGroupInner .secGroupBtn a:hover:after {
  right: 15px
}
.secGroup .secGroupInner .secGroupBtn a:after {
  font-family: ico;
  content: "\e900";
  font-size: 10px;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  transition: all .3s
}
.secBusinesses {
  margin-bottom: 90px
}
@media screen and (min-width: 1025px) {
  .secBusinesses {
    margin-bottom: 120px
  }
}
@media screen and (min-width: 1201px) {
  .secBusinesses {
    margin-bottom: 120px;
    padding: 0 40px
  }
}
.secBusinesses .secInner.anim {
  opacity: .2;
  transform: translateY(50px);
  transition: all .3s .5s
}
.secBusinesses .secInner.anim.active {
  opacity: 1;
  transform: translateY(0)
}
.secBusinesses .secInner .secBusinessesCont {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl {
  width: 100%;
  padding: 0 0 0 40px;
  overflow: hidden
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: transform .3s .3s, opacity .3s .3s
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl.anim.active {
  opacity: 1;
  transform: translateY(0)
}
@media screen and (min-width: 481px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl {
    overflow: visible
  }
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl {
    width: auto;
    position: sticky;
    top: 0;
    flex: 0 0 400px;
    margin-left: 100px;
    padding: 0;
    padding-top: 130px
  }
}
@media screen and (min-width: 1401px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl {
    flex: 0 0 500px;
    margin-left: 160px
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secBusinessesContTtlTxt {
  margin-top: 80px;
  font-weight: 300;
  width: 100%;
  line-height: 2.75;
  padding-right: 25px
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secBusinessesContTtlTxt {
    padding-right: 0;
    max-width: 385px
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl {
  position: relative
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h2 {
  line-height: 1.5;
  font-size: 3rem;
  font-weight: 500;
  position: relative;
  z-index: 30;
  padding-top: 58px;
  padding-left: 15px;
  white-space: nowrap;
  color: #000;
  opacity: 1;
  padding-top: 138px
}
@media screen and (min-width: 769px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h2 {
    font-size: 4rem;
    padding-top: 72px
  }
}
@media screen and (min-width: 1025px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h2 br {
    display: none
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h3 {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-size: 8rem;
  opacity: .2;
  color: #99C2E1;
  position: absolute;
  z-index: 20;
  top: 0;
  left: -15px;
  line-height: 1;
  white-space: nowrap;
  width: 100%;
  overflow: visible
}
@media screen and (min-width: 481px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h3 {
    font-size: 8.7rem
  }
}
@media screen and (min-width: 769px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h3 {
    font-size: 11.6rem;
    overflow: visible
  }
}
@media screen and (min-width: 1025px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl h3 br {
    display: none
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl:after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background: #2466AF;
  position: absolute;
  bottom: -20px
}
@media screen and (min-width: 1025px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl .secTtl:after {
    bottom: -40px;
    width: 77px;
    height: 6px
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList {
  margin-top: 50px;
  width: 100%
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: all .3s .5s
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList.anim.active {
  opacity: 1;
  transform: translateY(0)
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContList {
    margin-top: 330px;
    width: 50%
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li {
  width: 100%;
  max-width: 860px;
  margin: 0 auto 50px;
  height: 290px
}
@media screen and (min-width: 769px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li {
    height: 400px
  }
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li {
    margin-bottom: 100px;
    height: 470px
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a img {
  height: 100%;
  transition: all .2s
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a h2 {
  color: #fff;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.7rem;
  font-weight: 400;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 60px 20px 20px 20px;
  margin-bottom: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  transition: all .3s
}
@media screen and (min-width: 769px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a h2 {
    font-size: 2rem
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a .secBusinessesContListNum {
  color: #fff;
  font-size: 3.2rem;
  font-family: "Roboto", sans-serif;
  letter-spacing: -.04em;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 122px;
  height: 228px;
  padding: 5px 0 0 15px
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a .arrowIcon {
  transition: all .3s
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a:hover img {
  transform: scale(1.05, 1.05)
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li a:hover .arrowIcon {
  transform: translateX(10px)
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li.secBusinessesDomestic .secBusinessesContListNum {
  background: linear-gradient(125deg, #0066b5 0%, #0066b5 40%, rgba(0, 102, 181, 0) 40%, rgba(0, 102, 181, 0) 100%)
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li.secBusinessesOverseas .secBusinessesContListNum {
  background: linear-gradient(125deg, #f7b403 0%, #f7b403 40%, rgba(247, 180, 3, 0) 40%, rgba(247, 180, 3, 0) 100%)
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li.secBusinessesSolution h2 br {
    display: none
  }
}
.secBusinesses .secInner .secBusinessesCont .secBusinessesContList ul li.secBusinessesSolution .secBusinessesContListNum {
  background: linear-gradient(125deg, #e04c0f 0%, #e04c0f 40%, rgba(224, 76, 15, 0) 40%, rgba(224, 76, 15, 0) 100%)
}
.secBusinesses .secInner .secBusinessesContBtn {
  margin-top: 50px
}
.secBusinesses .secInner .secBusinessesContBtn a {
  position: relative;
  color: #2466AF;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 216px;
  height: 80px;
  border: 1px solid #2466AF;
  text-align: center;
  border-radius: 40px;
  font-weight: 500;
  transition: all .3s
}
.secBusinesses .secInner .secBusinessesContBtn a:hover {
  color: #fff;
  background: #2466AF
}
.secBusinesses .secInner .secBusinessesContBtn a:hover:after {
  right: 15px
}
.secBusinesses .secInner .secBusinessesContBtn a:after {
  font-family: ico;
  content: "\e900";
  font-size: 10px;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  transition: all .3s
}
.secBusinesses .secInner .secBusinessesContBtn.btnPc {
  display: none
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesContBtn.btnPc {
    display: block
  }
}
.secBusinesses .secInner .secBusinessesContBtn.btnSp {
  margin: 10px auto
}
@media screen and (min-width: 1201px) {
  .secBusinesses .secInner .secBusinessesContBtn.btnSp {
    display: none
  }
}
.secSocial {
  padding: 60px 25px;
  background: #F8F8F8
}
@media screen and (min-width: 1025px) {
  .secSocial {
    padding: 100px 25px
  }
}
.secSocial .secInner .secSocialList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 30px
}
.secSocial .secInner .secSocialList .secSocialListBox {
  margin-bottom: 30px;
  width: 100%;
  text-align: center
}
@media screen and (min-width: 769px) {
  .secSocial .secInner .secSocialList .secSocialListBox {
    width: 45%
  }
}
@media screen and (min-width: 1025px) {
  .secSocial .secInner .secSocialList .secSocialListBox {
    width: calc(94% / 3);
    margin: 0 1%;
    margin-bottom: 0
  }
}
.secSocial .secInner .secSocialList .secSocialListBox h2 {
  text-align: center;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: .05em
}
.secSocial .secInner .secSocialList .secSocialListBox h2 img {
  margin-right: 15px
}
.secSocial .secInner .secSocialList .secSocialListBox .secSocialListBoxLink {
  max-width: 308px;
  height: 45px;
  line-height: 45px;
  margin: 0 auto;
  background: #fff;
  border-bottom: 1px solid #E6EAEE
}
.secSocial .secInner .secSocialList .secSocialListBox .secSocialListBoxLink a {
  font-size: 1.3rem;
  padding: 0 10px 0 20px;
  display: block;
  position: relative;
  text-align: left;
  transition: all .3s
}
.secSocial .secInner .secSocialList .secSocialListBox .secSocialListBoxLink a:after {
  font-size: 10px;
  content: "";
  font-family: ico;
  content: "\e901";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%)
}
.secSocial .secInner .secSocialList .secSocialListBox .secSocialListBoxLink a:hover {
  opacity: .7
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList {
  width: 100%;
  max-width: 308px;
  height: 263px;
  background: #fff;
  padding: 10px 10px 20px;
  overflow-y: scroll;
  margin: 0 auto
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList li a {
  text-align: left;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #C1C1C1;
  transition: all .3s
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList li a:hover {
  opacity: .7
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList li a figure {
  width: 48%
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList li a figure img {
  width: 100%
}
.secSocial .secInner .secSocialList .secSocialListBox .ytList li a div {
  display: block;
  width: 48%;
  font-size: .9rem
}
.secSocial .secInner .secSocialList .secSocialListBox.is-hidden {
  display: none
}
.secSocial .secInner .secSocialList .secSocialListBox.showIe {
  display: none
}
.secSocial .secInner .secSocialList .secSocialListBox.showIe h3 img {
  max-width: 308px;
  width: 100%
}
.secSocial .secInner .secSocialList .secSocialListBox.showIe a {
  transition: all .3s
}
.secSocial .secInner .secSocialList .secSocialListBox.showIe a:hover {
  opacity: .7
}
.secSocial .secInner .secSocialLink {
  text-align: center
}
.secSocial .secInner .secSocialLink .secSocialLinkTxt {
  padding-bottom: 1px;
  background-image: linear-gradient(180deg, transparent calc(100% - 1px), #2466AF 0);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size .3s ease-in-out
}
.secSocial .secInner .secSocialLink .secSocialLinkTxtIco {
  font-size: 10px;
  transition: all .3s
}
.secSocial .secInner .secSocialLink a {
  transition: all .3s
}
.secSocial .secInner .secSocialLink a:hover {
  color: #2466AF
}
.secSocial .secInner .secSocialLink a:hover .secSocialLinkTxt {
  background-size: 100% 100%
}
.secSocial .secInner .secSocialLink a:hover .secSocialLinkTxtIco {
  color: #2466AF
}
@media screen and (max-width: 1280px) {
  _:-ms-lang(x)::-ms-backdrop, .secBusinesses .secInner .secBusinessesCont .secBusinessesContTtl {
    position: static !important
  }
}
_:-ms-lang(x)::-ms-backdrop, .secSocial .secInner .secSocialLink .secSocialLinkTxt {
  background: none;
  position: relative;
  display: inline-block
}
_:-ms-lang(x)::-ms-backdrop, .secSocial .secInner .secSocialLink .secSocialLinkTxt:after {
  content: "";
  background: #2466AF;
  display: block;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all .3s
}
_:-ms-lang(x)::-ms-backdrop, .secSocial .secInner .secSocialLink a:hover .secSocialLinkTxt:after {
  width: 100%
}
_:-ms-lang(x)::-ms-backdrop, .secSocial .secInner .secSocialList .secSocialListBox.showIe {
  display: block
}
.secDs {
  padding: 150px 0 0;
  margin-bottom: 100px
}
.secDs.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: all .3s .3s
}
.secDs.anim.active {
  opacity: 1;
  transform: translateY(0)
}
.secDs .secDsInner {
  background: linear-gradient(90deg, #F4F5F7 0%, #F4F5F7 80%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%)
}
@media screen and (min-width: 769px) {
  .secDs .secDsInner {
    background: linear-gradient(90deg, #F4F5F7 0%, #F4F5F7 90%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%)
  }
}
.secDs .secDsTop {
  padding: 0 40px;
  transform: translateY(-65px)
}
.secDs .secDsTop .secDsTopInner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTop .secDsTopInner {
    flex-wrap: nowrap
  }
}
.secDs .secDsTop .secDsTopInner .secDsTopLogo {
  width: 100%;
  display: flex;
  justify-content: flex-start
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTop .secDsTopInner .secDsTopLogo {
    width: auto
  }
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTop .secDsTopInner .secDsTopList {
    padding-left: 25px
  }
}
.secDs .secDsTop .secDsTopInner .secDsTopList ul {
  display: none;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: 630px
}
@media screen and (min-width: 769px) {
  .secDs .secDsTop .secDsTopInner .secDsTopList ul {
    display: flex;
  }
  .secDs .secDsTop .secDsTopInner .secDsTopList ul li {
    margin: 0 10px 15px 10px;
    letter-spacing: .025em;
  }
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTop .secDsTopInner .secDsTopList ul li {
    margin: 0 25px 10px;
    font-size: 1.7rem
  }
}
.secDs .secDsTop .secDsTopInner .secDsTopList ul li a {
  text-decoration: underline;
  transition: all .3s
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTop .secDsTopInner .secDsTopList ul li a:hover {
    text-decoration: none;
    color: #0066BB
  }
}
.secDs .secDsList {
  transform: translateY(-70px);
  overflow: hidden;
  padding: 0 40px;
}
.secDs .secDsList .swiper-container {
  width: 100%;
  margin: 20px auto 0;
  overflow: visible !important
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container {
    margin-top: 0;
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper {
  padding: 70px 0 30px;
  display: flex;
  justify-content: flex-start
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide {
  display: flex;
  background: #fff;
  height: auto;
  box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.1);
  width: 320px;
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide {
    width: 250px;
  }
}
@media screen and (min-width: 1281px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide {
    width: 19%;
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a {
  height: 100%;
  display: block;
  transition: all .3s
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListImg {
  height: 0;
  width: 100%;
  padding-bottom: 60%;
  position: relative;
  overflow: hidden
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListImg figure {
  display: block;
  height: 100%;
  width: 100%
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListImg figure img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1, 1);
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 100%;
  transition: all .2s
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont {
  padding: 15px 20px 20px;
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont .secDsListContDate {
  color: #8C8D90;
  font-size: 1.2rem;
  font-family: "Roboto", sans-serif;
  margin-bottom: 5px
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont .secDsListContDate {
    font-size: 1.4rem
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont h2 {
  font-size: 1.5rem;
  margin-bottom: 0;
  line-height: 1.75
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 260px
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont ul {
    width: 290px
  }
}
@media screen and (min-width: 1281px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont ul {
    width: 420px
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a .secDsListBox .secDsListCont ul li {
  margin: 0 2px 2px 0;
  color: #0066BB;
  font-size: 1.2rem;
  letter-spacing: .025em;
  background: #E9F0F5;
  padding: 2px 5px
}
@media screen and (min-width: 1025px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a:hover {
    color: #0066BB
  }
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide a:hover .secDsListBox .secDsListImg img {
    transform: translate(-50%, -50%) scale(1.1, 1.1)
  }
}
.secDs .secDsTopLogoBox {
  margin-bottom: 30px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTopLogoBox {
    margin-bottom: 0
  }
}
.secDs .secDsTopLogoBox h2 a {
  background: none;
  width: inherit;
  height: inherit;
  transition: all .2s
}
.secDs .secDsTopLogoBox h2 a:after {
  content: none
}
.secDs .secDsTopLogoBox h2 a:hover {
  background: none;
  opacity: .7
}
.secDs .secDsTopLogoBox h2 img {
  width: 100%;
  max-width: 300px
}
.secDs .secDsTopLogoBox a {
  transform: translateY(-40px);
  position: relative;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  width: 260px;
  height: 80px;
  background: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-wrap: wrap;
  border-radius: 40px;
  line-height: 1.5;
  transition: all .3s
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTopLogoBox a {
    line-height: 1.5
  }
}
.secDs .secDsTopLogoBox a:after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(-50%, -50%);
  transition: all .3s;
  font-size: 2rem;
  font-weight: 500
}
@media screen and (min-width: 1025px) {
  .secDs .secDsTopLogoBox a:hover {
    background: #0066BB
  }
  .secDs .secDsTopLogoBox a:hover:after {
    right: 10px
  }
}
.swiper-button-next, .swiper-button-prev {
  position: absolute;
  display: block;
  z-index: 10;
  margin-top: 0;
  width: 52px;
  height: 52px;
  line-height: 48px;
  text-align: center;
  border-radius: 50%;
  border: 2px solid #000;
  background: none;
  top: inherit;
  right: inherit;
  top: 0;
  left: 0;
  transition: all .3s;
  font-weight: 500;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer
}
.swiper-button-next {
  left: 60px
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}
.swiper-button-prev::after, .swiper-button-next::after {
  position: relative;
  color: #000;
  opacity: 1;
  font-style: normal;
  font-weight: 900;
  font-size: 1.8rem;
  transition: all .3s
}
.swiper-button-prev::after {
  content: "←"
}
.swiper-button-next::after {
  content: "→"
}
@media screen and (min-width: 1025px) {
  .swiper-button-prev:hover, .swiper-button-next:hover {
    border-color: #0066BB
  }
  .swiper-button-prev:hover:after, .swiper-button-next:hover:after {
    color: #0066BB
  }
}
.scrollbarCover {
  padding: 0 0 0 130px
}
@media screen and (min-width: 1025px) {
  .scrollbarCover {
    padding: 0 130px
  }
}
.swiper-container-horizontal .swiper-scrollbar {
  height: 2px;
  background: #fff;
  bottom: -25px;
  border-bottom: 25px
}
.swiper-scrollbar-drag {
  background: #000
}
*:focus {
  outline: none
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox a {
  height: auto;
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListImg {
  height: 0;
  width: 100%;
  padding-bottom: 60%;
  position: relative;
  overflow: hidden
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListImg figure {
  display: block;
  height: 100%;
  width: 100%
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListImg figure img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1, 1);
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 100%;
  transition: all .2s
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont {
  padding: 30px
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont .secDsListContDate {
  color: #8C8D90;
  font-size: 1.2rem;
  font-family: "Roboto", sans-serif;
  margin-bottom: 5px
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont .secDsListContDate {
    font-size: 1.4rem
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont h2 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  line-height: 1.75
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont h2 {
    font-size: 1.8rem
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 260px
}
@media screen and (min-width: 769px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont ul {
    width: 290px
  }
}
@media screen and (min-width: 1281px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont ul {
    width: 420px
  }
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont ul li {
  margin: 0 2px 2px 0;
  color: #0066BB;
  font-size: 1.2rem;
  letter-spacing: .025em;
  background: #E9F0F5;
  padding: 2px 5px
}
.secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox .secDsListCont ul li a {
  color: #0066BB;
}
@media screen and (min-width: 1025px) {
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox:hover .secDsListCont h2 {
    color: #0066BB;
  }
  .secDs .secDsList .swiper-container .swiper-wrapper .swiper-slide .secDsListBox:hover .secDsListImg img {
    transform: translate(-50%, -50%) scale(1.1, 1.1)
  }
}
.secDs .secDsList ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: 630px;
}
@media screen and (min-width: 769px) {
  .secDs .secDsList ul {
    display: none;
  }
}
.secDs .secDsList ul li {
  margin: 0 10px 15px 10px;
  letter-spacing: 0.25em;
}
.secDs .secDsList ul li a {
  text-decoration: underline;
  transition: all .3s;
}
/* モーダルウィンドウ */
.remodal {
  height: inherit
}
@media screen and (min-width: 1025px) {
  .remodal {
    max-width: 60%
  }
}
.embed-container .iframeCover {
  position: relative;
  width: 100%;
  padding-top: 56.25%
}
.embed-container .iframeCover iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%
}
.remodal-close {
  color: #fff;
  margin: 0;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  border: 0;
  outline: 0;
  -webkit-transition: all .3s;
  transition: all .3s;
  width: 45px;
  height: 45px;
  line-height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #2466AF;
  border-radius: 50%;
  position: absolute;
  bottom: -60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}
.remodal-close:before {
  right: 0
}
@media screen and (min-width: 769px) {
  .remodal-close {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    left: inherit;
    width: 60px;
    height: 60px;
    top: -30px;
    right: -30px
  }
}
.remodal-close:hover, .remodal-close:focus {
  background: #000
}
.remodal-close:before {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 45px;
  width: 45px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  content: "×";
  text-align: center
}
@media screen and (min-width: 769px) {
  .remodal-close:before {
    line-height: 60px;
    width: 60px
  }
}
.secBusinesses .secInner .secBusinessesContList ul li a .secBusinessesImgText {
  position: absolute;
  z-index: 1;
  top: 4px;
  right: 4px;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.05em;
}