/************
* top
*************/
.main-visual {
  position: relative;
}
.main-visual .synchro-slider {
  width: 100%;
  opacity: 0;
  transition: opacity .3s ease;
}
.main-visual .synchro-slider.slick-initialized {
  opacity: 1;
}
.main-visual .synchro-slider_item {
  position: relative;
}
.top-container .main-visual_img img {
  width: 100%;
  aspect-ratio: 2000 / 750;
  object-fit: cover;
  transition: all .3s ease;
}
@media screen and (max-width: 767px) {
  .top-container .main-visual_img img {
    aspect-ratio: inherit;
    height: calc(100dvh - 80px - 65px);
    object-position: center;
  }
}
.synchro-slider_item_link:hover .main-visual_img img {
  transform: scale(1.05);
}
.top-container .main-visual_contents {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0, -50%);
  display: inline-block;
  min-width: 480px;
  max-width: 800px;
  padding: 24px;
  background-color: #333;
  opacity: .7;
}
@media screen and (max-width: 767px) {
  .top-container .main-visual_contents {
    min-width: unset;
    max-width: unset;
    width: calc(100vw - 40px);
    margin: 0 20px;
    padding: 24px 15px;
    left: 0;
    text-align: center;
  }
}
.mv-ttl {
  color: var(--color-white);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .mv-ttl {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.mv-ttl-sub {
  font-size: 20px;
  color:var(--color-white);
  margin-bottom: 15px;
  display: inline-block;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .mv-ttl-sub {
    font-size: 14px;
    margin-bottom: 0;
  }
}
.mv-link .btn {
  background-color: var(--color-white);
  border-radius: 30px;
  width: 240px;
}
@media screen and (max-width: 767px) {
  .mv-link .btn {
    margin: 20px auto 0;
    width: 100%;
  }
}
.mv-link .btn span {
  display: block;
  position: relative;
  color: var(--color-blue-04);
  font-size: 16px;
  font-weight: 700;
  padding: 12px 36px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .mv-link .btn span {
    text-align: center;
  }
}
.mv-link .btn span::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--color-blue-04);
  border-right: 2px solid var(--color-blue-04);
  transition: all .3s ease;
}
.synchro-slider_item_link:hover .mv-link .btn span::after {
  right: 20px;
}

/* 矢印 */
.synchro-slider .slick-prev, .synchro-slider .slick-next {
  position: absolute;
  top: calc(50% - 24px);
  background-color: #333;
  cursor: pointer;
  opacity: .6;
  outline: none;
}
@media screen and (max-width: 767px) {
  .synchro-slider .slick-prev, .synchro-slider .slick-next {
    display: none!important;
  }
}
.synchro-slider .slick-prev {
  left: 0;
  padding: 18px 10px 18px 14px;
  z-index: 8;
}
.synchro-slider .slick-next {
  right: 0;
  padding: 18px 14px 18px 10px;
  z-index: 9;
}
.synchro-slider .slick-prev span, .synchro-slider .slick-next span {
  display: block;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  height: 12px;
  width: 12px;
}
.synchro-slider .slick-prev span {
  transform: rotate(-135deg);
}
.synchro-slider .slick-next span {
  transform: rotate(45deg);
}
/* ドットナビゲーションの設定 */
.nav-dot {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 4vw 0 0 0;
}
@media screen and (max-width: 767px) {
  .nav-dot {
    margin-top: 60px;
  }
}
/* 再生・停止 */
#tglBtn {
  background: unset;
  height: 20px;
  width: 20px;
}
.startBtn {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #ccc;
  font-size: 28px;
}
.startBtn::before {
  position: absolute;
  top: 50%;
  left: 30%;
  transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 0.3em solid transparent;
  border-left: 0.5em solid currentColor;
  box-sizing: border-box;
  content: "";
}
.stopBtn {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #ccc;
  font-size: 20px;
}
.stopBtn::before,
.stopBtn::after {
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 4px;
  height: 16px;
  box-sizing: border-box;
  background-color: currentColor;
  content: "";
}
.stopBtn::before {
  left: 30%;
}
.stopBtn::after {
  left: 70%;
}
.nav-dot li {
  display: inline-block;
  margin: 0 5px;
}
.nav-dot .slick-active button{
  background: var(--color-blue-02);
}
.nav-dot button {
  color: transparent;
  outline: none;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background: #ccc;
}
.nav-dot .slick-active button{
  background: var(--color-blue-02);
}
/* パネルナビゲーションの設定 */
.synchro-slider-nav {
  width: 35%;
  position: absolute;
  right: 0;
  bottom: 1.5vw;
  display: flex;
  justify-content: flex-end;
  padding-right: 2vw;
}
@media screen and (max-width: 1000px) {
  .synchro-slider-nav {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .synchro-slider-nav {
    width: 350px;
    right: 50%;
    transform: translateX(50%);
    padding-right: 0;
    bottom: 40px;
  }
}
.synchro-slider-nav .slick-track {
  transform: unset !important;
  margin: 0 0 0 auto;
}
.synchro-slider-nav .slick-track li {
  aspect-ratio: 1 / 1;
  margin-right: 1.5vw;
  cursor: pointer;
  border: 5px solid var(--color-white);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .synchro-slider-nav .slick-track li {
    border-width: 3px;
  }
}
.synchro-slider-nav .slick-track li:last-child {
  margin-right: 0;
}
.synchro-slider-nav .slick-track li.slick-current {
  border: 5px solid var(--color-blue-05);
}
@media screen and (max-width: 767px) {
  .synchro-slider-nav .slick-track li.slick-current {
    border-width: 3px;
  }
}
.synchro-slider-nav img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: all .3s ease;
}
.synchro-slider-nav .slick-track li:hover img {
  transform: scale(1.1);
}
.top-content {
  width: 100%;
  max-width: 1240px;
  min-width: 1000px;
  margin: 0 auto;
  padding: 120px 20px;
}
@media screen and (max-width: 767px) {
  .top-content {
    max-width: unset;
    min-width: unset;
    padding: 80px 20px;
  }
}
.section-title {
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .section-title {
    font-size: 25px;
  }
}
.section._lead .top-content {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .section._lead .top-content {
    padding: 60px 40px;
  }
  .section._lead .top-content .section-text {
    text-align: left;
  }
}
.section._movie .top-content {
  padding-top: 0;
}
.section._movie iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  max-width: 1200px;  
}
.section._risk {
  position: relative;
}
.section._risk .section-inner{
  margin: 0 0 80px;
}
.section._risk .top-content {
  background: url("/-/media/image/sustainalink/bg_top-risk_001.jpg") center no-repeat;
  background-size: cover;
  color: var(--color-white);
  padding-top: 120px;
  padding-bottom: 185px;
  max-width: unset;
  min-width: unset;
}
@media screen and (max-width: 767px) {
  .section._risk .top-content {
    padding-top: 60px;
  }
}
.risk-detail {
  margin: 0 auto;
}
.risk-detail__list {
  display: flex;
  gap: 0 30px;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .risk-detail__list {
    gap: 30px 0;
    flex-wrap: wrap;
  }
}
.risk-detail__list-item {
  width: 350px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .risk-detail__list-item {
    width: 100%;
  }
}
.risk-detail_itemImage {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-white);
  border: solid 1px var(--color-white);
  border-radius: 50%;
  margin: 0 auto;
  text-align: center;
  width: 150px;
  height: 150px;
}
.risk-detail_itemImage img {
  width: 56px;
}
.risk-detail_itemImage span {
  color: var(--color-blue-02);
  display: block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
}
.risk-detail_itemTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  font-weight: 700;
  height: 80px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .risk-detail_itemTitle {
    height: auto;
    margin-top: 10px;
    font-size: 16px;
  }
}
.risk-detail_itemText {
  font-size: 16px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .risk-detail_itemText {
    text-align: left;
    font-size: 15px;
  }
}
.risk-box {
  position: relative;
  background-color: var(--color-blue-02);
  color: var(--color-white);
  margin-top: -210px;
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .risk-box {
    padding: 30px;
  }
}
.risk-box-text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .risk-box-text {
    font-size: 16px;
    text-align: left;
    margin-bottom: 30px;
  }
}
.section._risk2 .top-content {
  padding-top: 0;
  padding-bottom: 0;
}
.top-container .service-detail {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .top-container .service-detail {
    margin-top: 10px;
  }
}
.service__box {
  display: flex;
  gap: 0 80px;
  justify-content: center;
  margin-bottom: 80px;
}
.service__box:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .service__box {
    gap: 15px 0;
    flex-wrap: wrap;
    width: 100%;
  }
}
.service_itemImage, .service__box-item {
  width: calc(50% - 40px);
}
@media screen and (max-width: 767px) {
  .service_itemImage, .service__box-item {
    width: 100%;
  }
}
.service_itemImage img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service_itemImage {
    order: 1;
  }
  .service__box-item {
    order: 2;
  }
}
.service_itemTitle {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .service_itemTitle {
    font-size: 20px;
    text-align: center;
    margin-bottom: 15px;
  }
}
.service_itemText {
  font-size: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .service_itemText {
    margin-bottom: 20px;
  }
}
.service_itemLink .btn {
  width: min(100%,300px);
}
@media screen and (max-width: 767px) {
  .service_itemLink .btn {
    margin: 0 auto;
  }
}

.webinar__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 0;
  justify-content: center;
  margin-bottom: 60px;
}
.webinar_itemBox {
  background: #fff;
  color: var(--color-black);
  display: flex;
  gap: 0 30px;
  text-decoration: none;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
  padding: 30px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .webinar_itemBox {
    gap: 15px 0;
    flex-wrap: wrap;
    padding: 20px;
  }
}
.webinar_itemBox:hover {
  transform: translate(-3px, -5px);
  text-decoration: none;
}
.webinar_itemImg {
  width: 28%;
}
@media screen and (max-width: 767px) {
  .webinar_itemImg {
    width: 100%;
  }
}
.webinar_itemImg img {
  width: 100%;
}
.webinar_itemInfo {
  width: calc(72% - 30px);
}
@media screen and (max-width: 767px) {
  .webinar_itemInfo {
    width: 100%;
  }
}
.webinar_itemTitle {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .webinar_itemTitle {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.webinar_itemText {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .webinar_itemText {
    font-size: 15px;
  }
}
.webinar_link .btn,
.column_link .btn,
.download_link .btn {
  margin: 0 auto;
}

.section._column .top-content {
  max-width: unset;
  min-width: unset;
}
@media screen and (max-width: 767px) {
  .section._column .top-content {
    padding: 80px 0;
  }
}
.slider {
  margin: 0 auto 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .slider {
    margin: 0 auto 30px;
  }
}
.slider img {
  width: 100%;
  height: auto;
}
/* slickのJSで書かれるタグ内、スライド左右の余白調整 */
.slider .slick-slide {
  margin: 0 15px;
}
@media screen and (max-width: 767px) {
  .slider .slick-slide {
    margin: 0 5px;
  }
}
/* 矢印 */
.slider .slick-prev, 
.slider .slick-next {
  position: absolute;
  top: calc(8.5vw - 36px);
  background-color: #333;
  border-radius: 50%;
  cursor: pointer;
  opacity: .6;
  outline: none;
}
@media screen and (max-width: 767px) {
  .slider .slick-prev, 
  .slider .slick-next {
      top: calc(12.5vw - 36px);
  }
}
@media screen and (max-width: 428px) {
  .slider .slick-prev, 
  .slider .slick-next {
    top: calc(22.5vw - 36px);
    display: none!important;
  }
}
.slider .slick-prev {
  left: 120px;
  padding: 12px 10px 12px 14px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .slider .slick-prev {
    left: 50px;
  }
}
@media screen and (max-width: 428px) {
  .slider .slick-prev {
    left: 30px;
  }
}
.slider .slick-next {
  right: 120px;
  padding: 12px 14px 12px 10px;
  z-index: 11;
}
@media screen and (max-width: 767px) {
  .slider .slick-next {
    right: 50px;
  }
}
@media screen and (max-width: 428px) {
  .slider .slick-next {
    right: 30px;
  }
}
.slider .slick-prev span, .slider .slick-next span {
  display: block;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  height: 12px;
  width: 12px;
}
.slider .slick-prev span {
  transform: rotate(-135deg);
}
.slider .slick-next span {
  transform: rotate(45deg);
}
/*ドットナビゲーションの設定*/
.slider .slick-dots {
  text-align: center;
  margin: 50px 0 0 0;
}
@media screen and (max-width: 767px) {
  .slider .slick-dots {
    margin: 30px 0 0 0;
  }
}
.slider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}
.slider .slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background: #ccc;
}
.slider .slick-dots .slick-active button{
  background: var(--color-blue-02);
}
.slider.not_slide {
  width: 100%;
  max-width: 1240px;
  min-width: 1000px;
  margin: 0 auto;
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .slider.not_slide {
    max-width: unset;
    min-width: unset;
  }
}
.slider.not_slide .column__list-item {
  display: flex;
  text-align: center;
  width: calc((100% - 60px) / 3);
}


.column_itemBox,
.download_itemBox {
  text-decoration: none;
  display: flex;
  flex-direction: column;
}
.column_itemBox:hover,
.download_itemBox:hover {
  text-decoration: none;
}
.column_itemImg, 
.download_itemImg {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: 10px;
}
.column_itemImg img , 
.download_itemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .3s ease;
}
.column_itemBox:hover .column_itemImg img,
.download_itemBox:hover .download_itemImg img {
  transform: scale(1.05);
}
.column_itemTitle,
.download_itemTitle {
  color: var(--color-black);
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  flex-grow: 1;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .download_itemTitle {
    font-size: 15px;
  }
}
.column_itemTag,
.download_itemTag {
  display: flex;
  gap: 2px 14px;
  flex-wrap: wrap;
  color: var(--color-black);
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .column_itemTag,
  .download_itemTag {
    font-size: 13px;
  }
}
.column_itemTag li::before,
.download_itemTag li::before {
  content: '＃';
}

.download__list {
  display: flex;
  gap: 0 30px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .download__list {
    gap: 30px 0;
    margin-bottom: 30px;
  }
}
.download__list-item {
  display: flex;
  text-align: center;
  width: calc((100% - 60px)/3);
}
@media screen and (max-width: 767px) {
  .download__list-item {
    width: 100%;
  }
}





























.webinar_itemStatus {
  font-size: 14px;
  margin-bottom: 24px;
}
.webinar_itemStatus span {
  border-radius: 5px;
  color: var(--color-black);
  padding: 12px 20px;
}
span.icon_status-reception {
  background-color: var(--icon-status-reception);
  border: solid 1px var(--icon-status-reception);
}
span.icon_status-closed {
  background-color: var(--icon-status-closed);
  border: solid 1px var(--icon-status-closed);
}
span.icon_status-ended {
  background-color: var(--icon-status-ended);
  border: solid 1px var(--icon-status-ended);
}


