/* CSS Document */
.mainContents .main .shareIcons {
  z-index: 1;
}

* {
  margin: 0px;
  padding: 0px;
}

#unstereotype .section {
  margin-top: 90px;
}

#unstereotype .inlineblock {
  display: inline-block;
}

.shareIcons a img {
  transition: .3s linear;
}

#unstereotype a {
  transition: .3s linear;
  opacity: 1;
}

#unstereotype a:hover, .shareIcons a img:hover {
  opacity: 0.7;
  transition: .3s linear;
}

#unstereotype .text_left {
  text-align-last: left;
}

#unstereotype .text_right {
  text-align: right;
}

#unstereotype .text_center {
  text-align: center;
}

#unstereotype .text_bold {
  font-weight: bold;
}

#unstereotype .block_center {
  display: block;
  margin: auto;
}

/* cover */
#unstereotype .cover .cover_img {
  position: relative;
  max-width: 1320px;
  min-width: 960px;
  width: 100%;
  height: auto;
  margin: auto;
}

#unstereotype {
  font-size: 21px;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: justify;
  text-justify: inter-ideograph;
  /* lead */
}

#unstereotype img {
  display: block;
  max-width: 100%;
  margin: auto;
}

#unstereotype .note {
  font-size: 14px;
  font-weight: normal;
  line-height: 21px;
}

#unstereotype {
  font-size: 16px;
  line-height: 1.5;
}

#unstereotype section {
  margin: auto;
  margin-top: 80px;
  width: 960px;
}

#unstereotype .large {
  font-size: 40px;
  line-height: 1.35;
}

#unstereotype .red {
  color: #f00;
}

#unstereotype .gray {
  color: #444444;
}

#unstereotype .gray_bg {
  background-color: #f6f3ea;
  padding: 30px;
}

#unstereotype .menu .gray_bg {
  border-radius: 16px;
}

#unstereotype h2 {
  font-size: 28px;
  line-height: 42px;
  text-align: center;
}

#unstereotype h2 img {
  margin-top: 30px;
  margin-bottom: 23px;
}

#unstereotype .lead {
  margin: auto;
  margin-top: 43px;
}

#unstereotype .lead img {
  margin-bottom: 79px;
}

#unstereotype .lead p {
  margin-bottom: 40px;
}

#unstereotype a[data-lightbox="img"] {
  position: relative;
  display: inline-block;
}

#unstereotype a[data-lightbox="img"]:hover::after {
  opacity: 1;
  transition: 0.2s ease-in-out;
}

#unstereotype .menu {
  padding-bottom: 30px;
}

#unstereotype .menu .menu_list {
  margin-top: 32px;
  margin-bottom: -60px;
}

#unstereotype .menu .menu_list a {
  display: inline-block;
}

#unstereotype .class1 img {
  margin-top: 40px;
}

#unstereotype .class2 h3 {
  margin-top: 20px;
  margin-bottom: 20px;
}

#unstereotype .class2 .flow > div {
  position: relative;
}

#unstereotype .class2 .flow > div::after {
  content: url(/jp/ja/contents/sustainability/youth/unstereotype/img/class2_arrow.svg);
  position: absolute;
  right: -15px;
  top: 50%;
  transform: rotate(-90deg);
}

#unstereotype .class2 .flow > div:last-child::after {
  display: none;
}

#unstereotype .class2 .number {
  display: block;
  margin: auto;
  width: 1.5em;
  background: #1b1b1b;
  color: #fff;
  text-align: center;
  margin-bottom: 12px;
}

#unstereotype .class2 .flow_img {
  margin-top: 23px;
  margin-bottom: 30px;
}

#unstereotype .class2 .flex > div {
  width: 33.33%;
  padding: 0 25px;
}

#unstereotype .class3 > p {
  margin: 30px 0;
}

#unstereotype .class3 .flex {
  margin-bottom: 90px;
}

#unstereotype .class3 .flex > div {
  width: 20%;
}

#unstereotype .class3 .bx-wrapper {
  margin: 0 48px;
}

#unstereotype .class3 h3 {
  font-size: 16px;
  margin-bottom: 12px;
}

#unstereotype .class3 .planning_overview {
  background: #e7ece6;
  padding: 20px 50px;
}

#unstereotype .class3 .planning_overview ol {
  margin-left: 1em;
}

#unstereotype .class3 .planning_overview ol li {
  list-style-type: decimal;
}

#unstereotype .class3 .name {
  text-align: center;
  margin: 10px 0 40px;
}

#unstereotype .class3 .title {
  font-size: 18px;
  margin-bottom: 17px;
  text-align: center;
}

#unstereotype .class3 #mdl-check1 + .mdl-label + .mdl-content .title {
  color: #5b3889;
}

#unstereotype .class3 #mdl-check2 + .mdl-label + .mdl-content .title {
  color: #d84c8c;
}

#unstereotype .class3 #mdl-check3 + .mdl-label + .mdl-content .title {
  color: #1174aa;
}

#unstereotype .class3 #mdl-check4 + .mdl-label + .mdl-content .title {
  color: #e78d2a;
}

#unstereotype .class3 #mdl-check5 + .mdl-label + .mdl-content .title {
  color: #248b46;
}

#unstereotype .class4 .gray_bg > p {
  margin: 10px 0 20px;
}

#unstereotype .class4 .class4_img {
  font-size: 14px;
  margin: 0 auto 20px;
  text-align: center;
}

#unstereotype .class4 .class4_img .title {
  font-size: 16px;
  margin: 18px 0 10px;
}
#unstereotype .class4 .class4_img .speakers_list{
  display: inline-block;
  text-align: left;
}

#unstereotype .class4 h3 {
  font-size: 24px;
  margin-top: 60px;
}

#unstereotype .recommendation{
  text-align: center;
}
#unstereotype .recommendation .recommendation_block{
  margin-top: 30px;
}
#unstereotype .recommendation .recommendation_title{
  display: inline-block;
  border-bottom: 16px solid #fff;

}
#unstereotype .recommendation .recommendation_subtitle{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
#unstereotype .recommendation .recommendation_num{
  display: inline-block;
  margin-bottom: 5px;
  padding: 5px 10px;
  color: #fff;
  font-weight: normal;
  background-color: #757575;
  border-radius: 8px;
}
#unstereotype .recommendation .recommendation_img{
  width: 235px;
  margin: 30px auto 0;
}
#unstereotype .recommendation .recommendation_text{
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.5;
}

#unstereotype .recommendation .lastText{
  margin-top: 10px;
  padding-bottom: 30px;
}
#unstereotype .recommendation .lastText::before,
#unstereotype .recommendation .lastText::after{
  content: "(";
  display: inline-block;
  font-size: 80px;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  color: #fff;
  vertical-align: middle;
}

#unstereotype .recommendation .lastText p{
  display: inline-block;
  vertical-align: middle;
  padding: 0 60px;
  font-size: 18px;
  line-height: 1.5;
}

#unstereotype .recommendation .lastText::after{
  content: ")";
}

#unstereotype .class4 .voc {
  width: 880px;
  margin: auto;
  margin-top: 21px;
}

#unstereotype .class4 .voc > div {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 14px;
  padding: 0 44px 0 44px;
  width: 670px;
  height: 80px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(/jp/ja/contents/sustainability/youth/unstereotype/img/baloon.png);
}

#unstereotype .class4 .voc > div:nth-child(even) {
  margin-right: 0;
  margin-left: auto;
}

/* #unstereotype .class4 .voc > div:nth-child(even) p {
  transform: rotateZ(180deg);
  margin-right: 0;
  margin-left: auto;
} */

#unstereotype .class4 .teacher {
  margin-top: 27px;
  margin-bottom: 100px;
}

#unstereotype .class4 .teacher > div {
  position: relative;
}

#unstereotype .class4 .teacher .name {
  margin: 15px auto;
  text-align: center;
}

#unstereotype .afterword {
  margin-top: 100px;
  margin-bottom: 210px;
}

#unstereotype .afterword p {
  margin-right: 30px;
}

/* accordion */
#unstereotype .acd-check, #unstereotype .mdl-check {
  display: none;
}

#unstereotype {
  position: relative;
}

#unstereotype .acd-label {
  position: absolute;
  text-align: center;
  color: #999999;
  text-decoration: none;
  font-size: 16px;
  width: 140px;
  font-weight: normal;
  display: block;
  line-height: 1.6;
  cursor: pointer;
  bottom: -50px;
  margin-left: -70px;
  left: 50%;
}

#unstereotype .acd-check:checked + .acd-label {
  bottom: -40px;
}

#unstereotype .mdl-label {
  margin-top: 2em;
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
  color: #999999;
  font-weight: 700;
  line-height: 24px;
}

#unstereotype .acd-check + .acd-label::before {
  content: "";
  position: relative;
  margin-right: 0.5em;
  margin-top: 0.4em;
  display: inline-block;
  border: solid 12px #999999;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-right-color: transparent;
  transform: rotate(90deg);
}

#unstereotype .acd-check:checked + .acd-label::before {
  transform: rotate(-90deg);
  margin-top: -3%;
}

#unstereotype .acd-check + .acd-label span.on {
  display: none;
}

#unstereotype .acd-check + .acd-label span.off {
  display: inline-block;
}

#unstereotype .acd-check:checked + .acd-label span.on {
  display: inline-block;
}

#unstereotype .acd-check:checked + .acd-label span.off {
  display: none;
}

#unstereotype .acd-content {
  height: 6.5em;
  padding: 10px 30px;
  overflow: hidden;
  transition: 0.5s ease-in-out;
}

#unstereotype .acd-check:checked + .acd-label + .acd-content {
  height: 100%;
  opacity: 1;
  padding: 10px 30px;
  visibility: visible;
  transition: 0.5s ease-in-out;
}

#unstereotype .acd-content * {
  height: 0;
}

#unstereotype .acd-check:checked + .acd-label + .acd-content * {
  height: auto;
}

/* modal */
#unstereotype .mdl-check + .mdl-label + .mdl-content {
  position: fixed;
  height: 0;
  width: 0;
  opacity: 0;
  padding: 0 10px;
  visibility: hidden;
  margin-top: 50vh;
  margin-left: 50vw;
  background-color: #fff;
  border: solid 2px #e7ece6;
  transition: 0.8s ease-in-out;
}

#unstereotype .mdl-content > * {
  opacity: 0;
  transition: 0.8s ease-in-out 0.7s;
}

#unstereotype .mdl-check:checked + .mdl-label + .mdl-content > * {
  opacity: 1;
  transition: 0.8s ease-in-out 0.7s;
}

#unstereotype .mdl-check:checked + .mdl-label {
  border: none;
  margin: 0;
  padding: 0;
  color: transparent;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: rgba(255, 255, 255, 0.75);
  transition: 0s;
}

#unstereotype .mdl-check:checked + .mdl-label img {
  opacity: 0;
  transition: 0s;
}

#unstereotype .mdl-check:checked + .mdl-label::after {
  content: "";
  background: url(../img/button_close.png);
  position: fixed;
  height: 22px;
  width: 22px;
  margin: 0;
  right: 5%;
  top: 5%;
}

#unstereotype .mdl-check:checked + .mdl-label + .mdl-content {
  height: 100%;
  opacity: 1;
  padding: 60px;
  visibility: visible;
  overflow: auto;
  position: fixed;
  margin-top: 0;
  margin-left: 0;
  height: 85%;
  width: 90%;
  top: 10%;
  left: 5%;
  z-index: 4;
  transition: 0.5s ease-in-out;
}

#unstereotype .mdl-check:checked + .mdl-label + .mdl-content > div {
  margin: auto;
  max-width: 960px;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: .02em;
}

#unstereotype .mdl-content h2 {
  margin: 0;
  padding: 0 0 30px;
}

#unstereotype .mdl-content ul {
  padding-left: 1em;
}

#unstereotype .mdl-content li {
  text-indent: -1em;
}

@media (min-width: 768px) {
  #unstereotype .flex {
    display: flex;
    justify-content: space-between;
    flex-shrink: 1;
    flex-grow: 1;
  }
  #unstereotype .flex--reverse {
    flex-direction: row-reverse;
  }
  #unstereotype .flex--aligncenter {
    align-items: center;
  }
  #unstereotype .flex--alignend {
    align-items: end;
  }
  #unstereotype .flex--alignstart {
    align-items: flex-start;
  }
  #unstereotype .flex--contentcenter {
    justify-content: center;
  }
  #unstereotype .flex--contentstart {
    justify-content: flex-start;
  }
  #unstereotype .flex--contentaround {
    justify-content: space-around;
  }
  #unstereotype .flex--wrap {
    flex-wrap: wrap;
  }
  #unstereotype .sp_display {
    display: none;
  }
  #wrapper .container .mainContents {
    width: 1082px;
  }
  #unstereotype .shareIcons {
    max-width: 960px;
    margin: 0 auto;
  }
  #unstereotype .lead_copy {
    line-height: 2;
  }
  #unstereotype .class2 p {
    font-size: 14px;
  }
  #unstereotype .class2 .num4 {
    position: relative;
    width: auto;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #unstereotype .class2 .num4 .number {
    position: relative;
    display: inline-block;
    margin: 0 10px 0 0;
    /* left: 32%; */
  }

  #unstereotype .text_offset{
    margin: 30px 50px 50px;
  }

  #unstereotype .class3 .planning_overview {
    margin: 30px 0;
  }

  #unstereotype .class3 .mdl-label {
    margin-top: 0;
  }
  #unstereotype .bx-wrapper .bxslider img {
    margin-right: 2px !important;
    min-width: 120px;
  }
  #unstereotype .class4 .voc > div:nth-child(even) {
    padding-left: 30px;
    background-image: url(/jp/ja/contents/sustainability/youth/unstereotype/img/baloon_right.png);
    margin-right: 0;
    margin-left: 32%;
  }
  /* accordion */
  /* modal */
  #unstereotype .acd-label img:hover, #unstereotype .mdl-label img:hover {
    opacity: 0.6;
    transition: 0.5s ease-in-out;
  }
  #unstereotype .acd-label img, #unstereotype .mdl-label img {
    opacity: 1;
    transition: 0.5s ease-in-out;
  }
  #unstereotype .mdl-check:checked + .mdl-label:hover {
    opacity: 1;
  }
  #unstereotype a[data-lightbox="img"]::after {
    content: "";
    opacity: 0;
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -30px;
    margin-left: -30px;
    background-image: url(/jp/ja/contents/sustainability/youth/unstereotype/img/magnifier.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: 0.2s ease-in-out;
  }

  #unstereotype .logo_img{
    width: 183px;
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  #unstereotype .flex--sp.flex {
    display: flex;
    justify-content: space-between;
  }
  #unstereotype .flex--sp.flex--reverse {
    flex-direction: row-reverse;
  }
  #unstereotype .flex--sp.flex--aligncenter {
    align-items: center;
  }
  #unstereotype .flex--sp.flex--alignend {
    align-items: end;
  }
  #unstereotype .flex--sp.flex--contentcenter {
    justify-content: center;
  }
  #unstereotype .flex--sp.flex--contentstart {
    justify-content: flex-start;
  }
  #unstereotype .flex--sp.flex--wrap {
    flex-wrap: wrap;
  }
  #unstereotype .pc_display {
    display: none;
  }
  #unstereotype .section {
    margin-top: 45px;
    width: 94vw;
  }
  #unstereotype .section img {
    width: 100%;
  }
  /* cover */
  #unstereotype .cover {
    width: 94vw;
  }
  #unstereotype .cover .cover_img, #unstereotype .cover .cover_img img {
    width: 100%;
    height: auto;
    min-width: 0;
  }
  #unstereotype h2 {
    font-size: 30px;
    letter-spacing: 0;
  }
  #unstereotype .lead {
    width: 100%;
    text-align: center;
  }
  #unstereotype a[data-lightbox="img"]::after {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -30px;
    margin-left: -30px;
    background-image: url(/jp/ja/contents/sustainability/youth/unstereotype/img/magnifier.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: 0.2s ease-in-out;
  }
  #unstereotype .note {
    margin: 21px auto 0;
    font-size: 13px;
    line-height: 24px;
  }
  #unstereotype {
    font-size: 13px;
  }
  #unstereotype section {
    width: 100%;
    margin-top: 36px;
  }
  #unstereotype .large {
    font-size: 20px;
  }
  #unstereotype .gray_bg {
    padding: 27px 25px;
  }
  #unstereotype h2 {
    font-size: 23px;
    line-height: 1.5;
  }
  #unstereotype h2 img {
    margin: 10px auto;
    width: 120px;
  }
  #unstereotype .lead {
    font-size: 14px;
  }
  #unstereotype .lead img {
    margin-bottom: 37px;
  }
  #unstereotype .lead p {
    margin-bottom: 21px;
  }
  #unstereotype .menu .menu_list {
    margin-bottom: -80px;
  }
  #unstereotype .menu .menu_list a {
    width: 41%;
    margin-bottom: 27px;
  }
  #unstereotype .class1 h2 {
    margin-bottom: 20px;
  }
  #unstereotype .class2 h3 {
    font-size: 20px;
  }
  #unstereotype .class2 .gray_bg {
    width: 100vw;
    margin-left: -3vw;
    padding-left: 3vw;
    padding-right: 3vw;
    border-radius: 0;
  }
  #unstereotype .class2 .flow > div::after {
    transform: rotate(0);
    right: 50%;
    margin-left: -14px;
    bottom: 4px;
    top: auto;
  }
  #unstereotype .class2 .number {
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 13px;
  }
  #unstereotype .class2 .flow_img {
    width: 80%;
    margin: 0 auto;
  }
  #unstereotype .class2 .flow_img img {
    margin-bottom: 15px;
  }
  #unstereotype .class2 .flex > div {
    position: relative;
    width: 80%;
    margin: auto;
    padding: 0 0 38px 32px;
  }
  #unstereotype .class2 .flex > div:last-child {
    padding-bottom: 20px;
  }
  #unstereotype .class2 .num4 {
    position: relative;
    width: 80%;
    margin: auto;
    padding: 0 0 38px 32px;
  }
  #unstereotype .class2 .num4 .text_center {
    text-align: left;
  }
  #unstereotype .class3 h2 {
    margin-bottom: 20px;
  }
  #unstereotype .class3 h3 {
    font-size: 14px;
  }
  #unstereotype .class3 .flex {
    margin-bottom: 21px;
  }
  #unstereotype .class3 .flex > div {
    width: 33.3333%;
  }
  #unstereotype .class3 .bx-wrapper {
    margin: 0;
  }
  #unstereotype .class3 .bx-wrapper .bx-prev {
    left: 0;
  }
  #unstereotype .class3 .bx-wrapper .bx-next {
    right: 0;
  }

  #unstereotype .text_offset{
    margin: 4vw 0 6vw;
  }

  #unstereotype .class3 .planning_overview {
    margin: 4vw 0;
  }

  #unstereotype .class3 .planning_overview {
    padding: 10px 15px;
  }
  #unstereotype .class4 .gray_bg {
    width: 100vw;
    margin-left: -3vw;
    padding-left: 3vw;
    padding-right: 3vw;
    border-radius: 0;
  }
  #unstereotype .class4 .title_04_text {
    width: 100px;
  }
  #unstereotype .class4 .class4_img {
    font-size: 13px;
    width: 100%;
  }
  #unstereotype .class4 .class4_img .title {
    font-size: 15px;
  }
  #unstereotype .class4 .class4_img p {
    padding: 0 20px;
  }
  #unstereotype .class4 h3 {
    font-size: 20px;
    margin-top: 36px;
  }

  #unstereotype .recommendation .recommendation_subtitle{
    font-size: 17px;
    font-weight: bold;
    line-height: 1.5;
  }
  #unstereotype .recommendation .recommendation_num{
    display: inline-block;
    margin-bottom: 5px;
    padding: 5px 10px;
    color: #fff;
    font-weight: normal;
    background-color: #757575;
    border-radius: 8px;
  }
  #unstereotype .recommendation .recommendation_img{
    width: 70%;
    margin: 4vw auto 0;
  }
  #unstereotype .recommendation .recommendation_text{
    margin-top: 3vw;
    font-size: 13px;
    line-height: 1.5;
  }

  #unstereotype .recommendation .lastText{
    padding-bottom: 0;
  }

  #unstereotype .recommendation .lastText p{
    padding: 0 2vw;
    font-size: 13px;
    line-height: 1.5;
  }

  #unstereotype .class4 .voc {
    width: 100%;
  }
  #unstereotype .class4 .voc > div {
    width: 86%;
    background-image: none;
    border: solid 1px #cccccc;
    border-radius: 7px;
    height: auto;
    padding: 10px 20px;
    margin-bottom: 12px;
    margin-left: 12px;
    position: relative;
  }
  #unstereotype .class4 .voc > div::after {
    content: "";
    background-image: url(/jp/ja/contents/sustainability/youth/unstereotype/img/baloon_sp.svg);
    display: block;
    width: 13px;
    height: 12px;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -11px;
    top: 8%;
  }
  #unstereotype .class4 .voc > div:nth-child(even) {
    margin-right: 12px;
  }
  #unstereotype .class4 .voc > div:nth-child(even)::after {
    margin-bottom: 82%;
    transform: rotateZ(180deg);
    left: 99.5%;
  }
  #unstereotype .class4 .teacher {
    margin-bottom: 90px;
  }
  #unstereotype .afterword {
    margin-bottom: 60px;
    margin-top: 36px;
  }
  #unstereotype .afterword p {
    margin: 0 0 21px;
  }
  #unstereotype .afterword img {
    padding-right: 65px;
  }
  /* modal */
  #unstereotype .mdl-content h2 {
    margin: 0;
    padding: 0 0 30px;
  }
  #unstereotype .mdl-check:checked + .mdl-label + .mdl-content {
    padding: 30px;
  }
  #unstereotype .mdl-check:checked + .mdl-label + .mdl-content > div {
    font-size: 16px;
  }
  #unstereotype .acd-content {
    margin-bottom: 56px;
  }

  #unstereotype .logo_img{
    width: 60%;
    margin-top: 2vw;
  }

  .lb-image[src*="/jp/ja/contents/sustainability/youth/unstereotype/img/worksheet_1.jpg"]{
    width: 120vw!important;
    height: auto!important;
  }
}

@media screen and (max-width: 1370px) and (min-width: 768px) {
  #wrapper .container .mainContents {
    margin: 0 auto;
  }
}

.shareIcons {
  text-align: right;
}

.shareIcons li {
  display: inline-block;
  padding: 10px 5px !important;
}
