@charset "UTF-8";
html, body, article, aside, details, figcaption, figure, footer, header, nain, nav, section, div, p, pre, blockquote, hr, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ol, ul, li, table, caption, tbody, tfoot, thead, tr, th, td, a, abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, mark, q, ruby, s, samp, small, span, strike, strong, sub, sup, time, tt, u, var, audio, canvas, embed, iframe, img, object, video, details, menu, summary, button, fieldset, form, input, label, legend, output, optgroup, option, select, textarea {
  padding: 0;
  margin: 0;
  border: 0;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

*,
::before,
::after {
  box-sizing: inherit;
}

address, article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block;
}

code, kbd, pre, samp, button, input, select, textarea {
  font-size: 100%;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro W3", "MS PGothic", sans-serif;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-size: 1.4rem;
}

ul, ol {
  list-style: none;
}

pre {
  word-wrap: break-word;
  word-break: break-all;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

del {
  text-decoration: line-through;
}

ins, mark {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}

mark {
  font-weight: bold;
}

small {
  font-size: 100%;
  font-size: 1.4rem;
}

img {
  vertical-align: top;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=file] {
  border: 1px solid #d6d6d6;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro W3", "MS PGothic", sans-serif;
  font-size: 14px;
}

.mainContents.socialMedia .kvSec {
  position: relative;
  background-size: 100vw auto;
  background-position: center;
  background-repeat: no-repeat;
  height: min(26.0416666667vw, 500px);
  position: relative;
  border-bottom: min(0.2083333333vw, 4px) solid #960000;
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec {
    border-bottom: 1.0666666667vw solid #960000;
  }
}
.mainContents.socialMedia .kvSec::before {
  content: "";
  display: block;
  width: 100%;
  height: min(0.5208333333vw, 10px);
  position: absolute;
  bottom: max(-0.6770833333vw, -13px);
  background-color: #c80000;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec::before {
    height: 1.3333333333vw;
    bottom: -1.8666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec {
    height: 69.6vw;
  }
}
.mainContents.socialMedia .kvSec__inner {
  position: relative;
  width: min(72.9166666667vw, 1400px);
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec__inner {
    width: 100%;
  }
}
.mainContents.socialMedia .kvSec__text {
  position: absolute;
  top: min(5.1041666667vw, 98px);
  height: min(4.375vw, 84px);
  background-color: #fff;
  border-radius: min(0.5208333333vw, 10px);
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec__text {
    height: 10.1333333333vw;
    top: 8.2666666667vw;
    left: 4vw;
    border-radius: 1.3333333333vw;
  }
}
.mainContents.socialMedia .kvSec__text h1 {
  position: relative;
  text-align: center;
}
.mainContents.socialMedia .kvSec__text h1 span:nth-of-type(1) {
  position: absolute;
  top: max(-2.6041666667vw, -50px);
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  font-size: min(4.1666666667vw, 80px);
  font-weight: 700;
  color: #ffebe1;
  mix-blend-mode: multiply;
  font-family: Arial;
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec__text h1 span:nth-of-type(1) {
    top: -4vw;
    font-size: 9.3333333333vw;
  }
}
.mainContents.socialMedia .kvSec__text h1 span:nth-of-type(2) {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  width: fit-content;
  font-size: min(3.125vw, 60px);
  font-weight: 700;
  color: #E60012;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec__text h1 span:nth-of-type(2) {
    font-size: 6.9333333333vw;
  }
}
.mainContents.socialMedia .kvSec__text h1 span:nth-of-type(2)::after {
  content: "";
  display: block;
  background-image: url("/social/images/img-company-01.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  width: min(4.6875vw, 90px);
  height: min(4.6875vw, 90px);
  top: max(-1.25vw, -24px);
  right: max(-1.3020833333vw, -25px);
}
@media screen and (max-width: 768px) {
  .mainContents.socialMedia .kvSec__text h1 span:nth-of-type(2)::after {
    background-image: url("/social/images/img-company-sp-01.svg");
    width: 15.4666666667vw;
    height: 10.1333333333vw;
    top: -2.6666666667vw;
    right: -5.3333333333vw;
  }
}
.mainContents .social .kvSec {
  background-image: url("/social/images/img-social-01.png");
}
@media screen and (max-width: 768px) {
  .mainContents .social .kvSec {
    background-image: url("/social/images/img-social-sp-01.png");
  }
}
.mainContents .social .kvSec__text {
  width: min(32.4479166667vw, 623px);
  height: min(9.375vw, 180px);
}
@media screen and (max-width: 768px) {
  .mainContents .social .kvSec__text {
    width: 71.4666666667vw;
    height: 21.3333333333vw;
  }
}
.mainContents .social .stateSec {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 500px;
  background-color: #FFF5F5;
}
@media screen and (max-width: 820px) {
  .mainContents .social .stateSec {
    height: 344px;
    background-color: initial;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .stateSec {
    height: 332px;
    background-color: #FFF5F5;
  }
}
.mainContents .social .stateSec__img {
  width: 1920px;
  position: absolute;
  left: 50%;
  right: 0;
  top: 0;
  margin: auto;
  transform: translateX(-50%);
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  .mainContents .social .stateSec__img {
    width: 820px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .stateSec__img {
    width: 375px;
  }
}
.mainContents .social .stateSec__inner {
  padding-top: 70px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .mainContents .social .stateSec__inner {
    padding-top: 40px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .stateSec__inner {
    padding-top: 26px;
  }
}
.mainContents .social .stateSec__ttl {
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.68;
  color: #E60012;
  margin-bottom: 60px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .stateSec__ttl {
    font-size: 21px;
    line-height: 1.5238095238;
    margin-bottom: 30px;
  }
}
.mainContents .social .stateSec__list {
  display: flex;
  justify-content: center;
  column-gap: 42px;
}
@media screen and (max-width: 445px) {
  .mainContents .social .stateSec__list {
    flex-wrap: wrap;
    column-gap: 25px;
    row-gap: 12px;
  }
}
.mainContents .social .stateSec__list-item {
  width: 156px;
}
@media screen and (max-width: 445px) {
  .mainContents .social .stateSec__list-item {
    width: 83px;
  }
}
@media screen and (max-width: 768px) {
  .mainContents .social .socialGroup {
    width: 100%;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}
.mainContents .social .socialGroup__ttl {
  position: relative;
  font-size: 25px;
  font-weight: 700;
  padding-left: 20px;
  padding-top: 24px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__ttl {
    font-size: 20px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__ttl {
    font-size: 19px;
    padding-top: 15px;
    padding-left: 15px;
  }
}
.mainContents .social .socialGroup__ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 62px;
  height: 52px;
  background-image: url("/SDGs/images/img-sdgsTitle-01.png");
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__ttl::before {
    width: 46px;
    height: 38px;
  }
}
.mainContents .social .socialGroup__sub-ttl {
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 30px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__sub-ttl {
    font-size: 19px;
    margin-top: 30px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__sub-ttl {
    font-size: 18px;
  }
}
.mainContents .social .socialGroup__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  column-gap: 10px;
  margin-bottom: 60px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__list {
    column-gap: 8px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__list {
    margin-bottom: 60px;
  }
}
.mainContents .social .socialGroup__list-item {
  width: 95px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__list-item {
    width: 70px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__list-item {
    width: 73px;
  }
  .mainContents .social .socialGroup__list-item:nth-child(5), .mainContents .social .socialGroup__list-item:nth-child(6), .mainContents .social .socialGroup__list-item:nth-child(7), .mainContents .social .socialGroup__list-item:nth-child(8), .mainContents .social .socialGroup__list-item:nth-child(9) {
    width: 70px;
  }
}
.mainContents .social .socialGroup__list-item button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border-radius: 1000px;
  border: 4px solid #fff;
  transition: 0.3s;
}
.mainContents .social .socialGroup__list-item button:hover {
  border: 4px solid #E60012;
  transition: 0.3s;
}
.mainContents .social .socialGroup__content {
  width: 100%;
  height: auto;
}
.mainContents .social .socialGroup__content__wrap {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  pointer-events: none;
  opacity: 0;
  transition: 0.3s;
  height: 0px;
}
.mainContents .social .socialGroup__content__ttl {
  display: flex;
  align-items: center;
  font-size: 25px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__content__ttl {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__content__ttl {
    font-size: 18px;
  }
}
.mainContents .social .socialGroup__content__ttl img {
  width: 76px;
  height: auto;
  margin-right: 5px;
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__content__ttl img {
    width: 53px;
  }
}
.mainContents .social .socialGroup__content__list {
  display: grid;
  row-gap: 20px;
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__content__list {
    row-gap: 15px;
  }
}
.mainContents .social .socialGroup__content__list-item {
  padding-bottom: 20px;
  border-bottom: 3px solid rgba(230, 0, 18, 0.1);
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__content__list-item {
    padding-bottom: 15px;
  }
}
.mainContents .social .socialGroup__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  width: 100%;
  color: #333;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  width: 100%;
  text-decoration: none;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__link {
    gap: 10px;
  }
}
.mainContents .social .socialGroup__link:has(.socialGroup__link__ttl-none) {
  align-items: flex-start;
}
.mainContents .social .socialGroup__link:has(.socialGroup__link__text) {
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .mainContents .social .socialGroup__link:has(.socialGroup__link__text) .socialGroup__link__ttl::after {
    top: 4px !important;
    bottom: auto !important;
    right: -10px;
  }
}
.mainContents .social .socialGroup__link img {
  width: 60px;
  height: auto;
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__link img {
    width: 34px;
  }
}
.mainContents .social .socialGroup__link__ttl {
  position: relative;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__link__ttl {
    font-size: 20px;
    width: 100%;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__link__ttl {
    font-size: 16px;
  }
}
.mainContents .social .socialGroup__link__ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  right: -25px;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  background-image: url("/shared/images/icon-link-red-01.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__link__ttl::after {
    right: 0;
  }
}
.mainContents .social .socialGroup__link__ttl-none::after {
  display: none;
}
.mainContents .social .socialGroup__link__text {
  font-size: 18px;
  color: #555;
}
@media screen and (max-width: 768px) {
  .mainContents .social .socialGroup__link__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__link span {
    display: inline-block;
    width: 100%;
    padding-right: 10px;
    font-size: 16px;
  }
}
.mainContents .social .socialGroup__text {
  font-size: 18px;
  line-height: 1.7777777778;
  margin-top: 30px;
}
@media screen and (max-width: 820px) {
  .mainContents .social .socialGroup__text {
    margin-top: 60px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .socialGroup__text {
    font-size: 3.2vw;
    line-height: 1.875;
    margin-top: 5.3333333333vw;
  }
}
.mainContents .social .socialGroup .is-active-socialGroupList {
  pointer-events: auto;
  height: 100%;
  opacity: 1;
  transition: 0.3s;
}
.mainContents .social .socialGroup .is-active-socialGroupBtn {
  border-color: #E60012;
  transition: 0.3s;
}
.mainContents .social .rainbowplanet {
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 160px;
  background: #E60012;
}
@media screen and (max-width: 820px) {
  .mainContents .social .rainbowplanet {
    margin-top: 120px;
    padding-top: 50px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .rainbowplanet {
    margin-top: 100px;
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
.mainContents .social .rainbowplanet a {
  display: block;
  width: 950px;
  margin: 0 auto;
}
@media screen and (max-width: 820px) {
  .mainContents .social .rainbowplanet a {
    width: 708px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents .social .rainbowplanet a {
    width: 315px;
  }
}