@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("//fonts.googleapis.com/css2?family=Antonio:wght@100;200;300;400;500;600;700&display=swap");
@import url("//code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css");
/*-----------------------------------

safeguarding.scss

------------------------------------*/
a {
  color: #e60012;
  text-decoration: none; }

html {
  width: 100%;
  font-size: 62.5%;
  overflow-y: auto; }

body {
  min-width: 100%;
  overflow: hidden;
  background: #f5f3f3;
  color: #000;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 1.3rem;
  line-height: 130%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body.is-nav {
    height: 100%;
    overflow: hidden; }

#header,
.kvArea,
#main {
  box-sizing: border-box;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  background: none;
  font-feature-settings: 'palt'; }

img {
  vertical-align: bottom; }

strong {
  font-weight: bold; }

#pagetop {
  width: 100%; }

.wrapper {
  width: 100%;
  margin: 0 auto; }

.container {
  background: none;
  padding: 0; }

#main {
  padding-top: 0;
  background-size: 100% auto; }

.wide_base {
  width: 90%; }

.wide_baseL {
  width: 100%; }

body.mfp-zoom-out-cur {
  position: fixed; }

#pageTopBtn {
  z-index: 10000; }

/* ==========================================================================
   COMMON
========================================================================== */
.CLM__half, .CLM__three {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: -ms- left;
  justify-content: -webkit- left;
  justify-content: left;
  align-items: -ms- top;
  align-items: -webkit- top;
  align-items: top; }
  .CLM__half img, .CLM__three img {
    width: 100%; }
  .CLM__half .wide100, .CLM__three .wide100 {
    width: 100% !important; }
.CLM__half > li, .CLM__half > article, .CLM__half > figure {
  width: 48%;
  margin-right: 4%; }
  .CLM__half > li:nth-child(2n), .CLM__half > article:nth-child(2n), .CLM__half > figure:nth-child(2n) {
    margin-right: 0; }
.CLM__three > li, .CLM__three > article, .CLM__three > figure {
  width: 32%;
  margin-right: 2%; }
  .CLM__three > li:nth-child(3n), .CLM__three > article:nth-child(3n), .CLM__three > figure:nth-child(3n) {
    margin-right: 0; }

.nowrapCLM {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: -ms- space-between;
  justify-content: -webkit- space-between;
  justify-content: space-between;
  align-items: -ms- top;
  align-items: -webkit- top;
  align-items: top; }
  .nowrapCLM > li {
    flex: 1;
    margin-right: 3%; }
    .nowrapCLM > li:last-child {
      margin-right: 0; }
    .nowrapCLM > li img {
      width: 100%; }
    .nowrapCLM > li a {
      display: block; }

.txt__honbun {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.25vw;
  line-height: 1.65;
  margin-bottom: 1em;
  text-align: left; }
.txt__size16 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5vw;
  line-height: 1.65;
  margin-bottom: 1em;
  text-align: left; }
.txt__size18 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.75vw;
  line-height: 1.65;
  margin-bottom: 1em;
  text-align: left; }
.txt__size20 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4vw;
  line-height: 1.65;
  margin-bottom: 1em;
  font-weight: bold;
  text-align: left; }
.txt__size22 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.25vw;
  line-height: 1.65;
  margin-bottom: 1em;
  font-weight: bold;
  text-align: left; }
.txt__size26 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.5vw;
  line-height: 1.65;
  margin-bottom: 1em;
  font-weight: bold;
  text-align: left; }
.txt__red {
  color: #e60012; }
.txt__bold {
  font-weight: bold; }
.txt__left {
  text-align: left; }
.txt__right {
  text-align: right; }
.txt__center {
  text-align: center; }

.list__style {
  font-size: 3.5vw;
  line-height: 1.65;
  padding-left: 1em; }
  .list__style__disc {
    list-style: disc;
    text-align: left; }
    .list__style__disc li {
      margin-left: 1em;
      margin-bottom: 1em;
      line-height: 1.5; }
  .list__style__decimal {
    list-style: decimal;
    text-align: left; }

.btn {
  padding: 1.5em 0;
  font-size: 3.8vw;
  width: 100%; }
  .btn::after {
    font-size: 5vw; }

.commonTable {
  border: 1px solid #CCC; }
  .commonTable tbody th, .commonTable tbody td {
    font-size: 3.5vw;
    padding: .75em .5em;
    text-align: center;
    line-height: 1.5; }
  .commonTable tbody td {
    text-align: left;
    background: #FFF; }

.sec {
  text-align: center; }
  .sec__inner900, .sec__inner980, .sec__inner1100, .sec__inner1200, .sec__innerWide, .sec__inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 5%; }
  .sec__inner__gray {
    position: relative;
    margin: 150px auto 60px; }

.heading__main {
  margin-bottom: 30px; }
  .heading__main:after {
    width: 10vw; }
  .heading__main .eng_L {
    font-size: 7vw; }
  .heading__main .jpn_S {
    font-size: 6vw;
    padding: 3vw 0 6vw; }

.kome {
  display: block; }

.headerArea__left__jleaguejp {
  left: 15px; }

body:before {
  width: 95%;
  opacity: 0.1; }

/* ==========================================================================
   header
========================================================================== */
#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  padding: 10px 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: -ms- space-between;
  justify-content: -webkit- space-between;
  justify-content: space-between;
  align-items: -ms- center;
  align-items: -webkit- center;
  align-items: center;
  z-index: 500;
  min-width: inherit;
  height: 60px;
  box-shadow: none; }
  #header .header__left {
    width: calc(100% - 60px);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: -ms- left;
    justify-content: -webkit- left;
    justify-content: left;
    align-items: -ms- center;
    align-items: -webkit- center;
    align-items: center; }
    #header .header__left__jleaguejp {
      margin: 0 0 0 10px; }
      #header .header__left__jleaguejp img {
        width: auto;
        height: 40px; }
    #header .header__left__logo {
      padding-left: 0;
      text-align: center; }
      #header .header__left__logo a {
        line-height: 40px;
        display: inline-block;
        vertical-align: middle; }
        #header .header__left__logo a.pcDISP {
          display: none !important; }
        #header .header__left__logo a.spDISP {
          display: block !important; }
      #header .header__left__logo img {
        width: 90%;
        vertical-align: middle;
        position: relative;
        top: -2px;
        height: auto; }
  #header .header__right {
    width: 60px;
    height: 60px;
    text-align: right;
    background: #259841; }

.menu-trigger {
  display: inline-block;
  width: 25px;
  height: 20px;
  position: fixed;
  top: 10px;
  right: 17px;
  z-index: 222222;
  margin-top: 10px;
  cursor: pointer; }
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    margin: 0 auto;
    background-color: #fff; }
    .menu-trigger span:nth-of-type(1) {
      top: 0; }
    .menu-trigger span:nth-of-type(2) {
      top: 9px; }
    .menu-trigger span:nth-of-type(3) {
      bottom: 0; }
  .menu-trigger.active {
    right: 15px; }
    .menu-trigger.active span:nth-of-type(1) {
      transform: translateY(9px) rotate(-45deg); }
    .menu-trigger.active span:nth-of-type(2) {
      opacity: 0; }
    .menu-trigger.active span:nth-of-type(3) {
      transform: translateY(-9px) rotate(45deg); }

#navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 1000;
  height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  text-align: center;
  display: none; }
  #navigation.spDISP {
    display: block !important; }
  #navigation .navigation_inner {
    padding: 0 20px;
    box-sizing: border-box; }
  #navigation .navList {
    text-align: center;
    margin-top: 60px; }
    #navigation .navList li {
      letter-spacing: 0.1em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
      text-align: left; }
      #navigation .navList li:nth-child(1) {
        border-top: 1px solid rgba(255, 255, 255, 0.3); }
      #navigation .navList li h1 a {
        color: #c7ba66; }
      #navigation .navList li > a, #navigation .navList li > span {
        padding: 1em 0.5em;
        color: #FFF;
        display: block;
        font-weight: 700;
        font-family: "Antonio", "Noto Sans JP", sans-serif;
        font-size: 18px;
        font-size: 1.8rem; }
        #navigation .navList li > a i, #navigation .navList li > span i {
          display: inline-block;
          padding-left: 10px;
          font-size: 12px;
          font-size: 1.2rem;
          font-style: normal; }
      #navigation .navList li > a {
        position: relative; }
        #navigation .navList li > a::after {
          display: inline-block;
          font-family: "ionicons";
          content: "\f30f";
          position: absolute;
          right: 5%;
          top: 50%;
          transform: translateY(-50%);
          font-size: 70%;
          opacity: 0.6; }
      #navigation .navList li > span {
        opacity: 0.3; }
      #navigation .navList li .eng {
        display: block;
        color: #259841;
        font-family: "Antonio", sans-serif;
        line-height: 1.3; }
      #navigation .navList li.navList__logo a {
        display: block;
        text-align: center; }
        #navigation .navList li.navList__logo a::after {
          display: none; }
        #navigation .navList li.navList__logo a img {
          margin: auto;
          vertical-align: top;
          width: 100%; }
      #navigation .navList li.nolink a {
        pointer-events: none;
        opacity: 0.4; }

/* ==========================================================================
   kvArea
========================================================================== */
.kvArea {
  margin-top: 0px;
  background: url(/img/special/safeguarding/kv_bg.jpg) no-repeat top center;
  background-size: cover;
  height: 350px; }
  .kvArea__img img {
    width: 90%; }

/* ==========================================================================
   sybkvArea
========================================================================== */
.subkvArea {
  margin-top: 0;
  min-height: 200px; }
  .subkvArea__title .eng_L {
    font-size: 55px;
    font-size: 5.5rem; }

/* ==========================================================================
   navArea
========================================================================== */
.navArea .nav__wrap {
  background: #DBE6DE;
  width: 100%; }
  .navArea .nav__wrap li {
    border-bottom: 2px solid #1E7A35;
    background: #259841;
    width: calc((100% - 6px) / 2);
    border-right: 2px solid #1E7A35; }
    .navArea .nav__wrap li:nth-child(3), .navArea .nav__wrap li:nth-child(5) {
      border-left: 2px solid #1E7A35; }
    .navArea .nav__wrap li:nth-child(2) {
      position: relative; }
      .navArea .nav__wrap li:nth-child(2):before {
        content: "NEW";
        color: #FFEB3B;
        font-size: 120%;
        position: absolute;
        font-weight: bold;
        left: 34px;
        top: 6px; }

/* ==========================================================================
   declarationArea
========================================================================== */
.declarationArea .declaration__title {
  margin-bottom: 30px; }
  .declarationArea .declaration__title img {
    width: 100%; }
  .declarationArea .declaration__title p {
    font-size: 10vw; }
.declarationArea .declaration__youtube {
  width: 100%; }

/* ==========================================================================
   .policyArea
========================================================================== */
.policyArea .policy__wrap {
  padding: 40px 20px; }
.policyArea .policy__txt {
  font-size: 4vw; }

/* ==========================================================================
   .leadArea
========================================================================== */
.leadArea .lead__wrap {
  display: block; }
  .leadArea .lead__wrap--left, .leadArea .lead__wrap--right {
    width: 100%; }
  .leadArea .lead__wrap img {
    width: 60%;
    display: block;
    margin: 0 auto; }
.leadArea .lead__title {
  margin-bottom: 20px; }
  .leadArea .lead__title span {
    padding: 3.5vw 4vw;
    font-size: 6vw; }
.leadArea .lead__txt {
  font-size: 4vw;
  margin-bottom: 10px; }

/* ==========================================================================
   definitionArea
========================================================================== */
.definitionArea .definition__lead {
  margin-bottom: 20px; }
.definitionArea .definition__wrap {
  display: block; }
  .definitionArea .definition__wrap--left, .definitionArea .definition__wrap--right {
    width: 100%; }
  .definitionArea .definition__wrap--left {
    margin-bottom: 20px; }
  .definitionArea .definition__wrap--con {
    padding: 20px; }
  .definitionArea .definition__wrap--title {
    font-size: 18px;
    font-size: 1.8rem; }
  .definitionArea .definition__wrap--subtitle {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 10px; }
  .definitionArea .definition__wrap--txt {
    line-height: 2; }
  .definitionArea .definition__wrap--list li {
    font-size: 100%;
    padding-left: 30px;
    padding-right: 10px;
    line-height: 1.7; }
    .definitionArea .definition__wrap--list li:after {
      width: 10px;
      height: 10px;
      left: 10px;
      top: 13px; }

/* ==========================================================================
   abuseArea
========================================================================== */
.abuseArea .abuse__title {
  margin-bottom: 20px; }
.abuseArea .abuse__subtitle {
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 16px;
  font-size: 1.6rem; }
.abuseArea .abuse__lead {
  text-align: left; }
.abuseArea .abuse__wrap {
  display: block;
  margin-bottom: 40px; }
.abuseArea .abuse__con {
  width: 100%; }
  .abuseArea .abuse__con figcaption {
    padding: 20px;
    line-height: 1.7; }
  .abuseArea .abuse__con--title {
    font-size: 16px;
    font-size: 1.6rem; }
  .abuseArea .abuse__con--img img {
    width: 70%;
    display: block;
    margin: 0 auto; }
.abuseArea .abuse__list {
  padding: 0 10px; }
  .abuseArea .abuse__list--item + .abuse__list--item {
    margin-top: 20px; }
  .abuseArea .abuse__list--item p {
    margin-bottom: 3px; }
  .abuseArea .abuse__list--item span {
    font-size: 10px;
    font-size: 1rem; }
  .abuseArea .abuse__list--item:after {
    width: 10px;
    height: 10px; }
.abuseArea .bg__white:after {
  border: 55px solid transparent;
  border-top: 35px solid #fff; }
.abuseArea .bg__white .sec__inner980 {
  padding-bottom: 40px; }
.abuseArea .bg__gray .sec__inner980 {
  padding-top: 70px; }

/* ==========================================================================
   checklistArea
========================================================================== */
.checklistArea .checklist__lead {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 30px;
  line-height: 1.7; }
.checklistArea .checklist__ankr {
  margin-bottom: 50px; }
  .checklistArea .checklist__ankr li {
    width: calc(100% / 3); }
    .checklistArea .checklist__ankr li:nth-child(1) {
      border-left: none; }
      .checklistArea .checklist__ankr li:nth-child(1) a {
        padding: 0px 0px 10px 10px; }
        .checklistArea .checklist__ankr li:nth-child(1) a:after {
          left: calc(50% + 5px); }
    .checklistArea .checklist__ankr li:nth-child(3) {
      border-right: none; }
      .checklistArea .checklist__ankr li:nth-child(3) a {
        padding: 0px 10px 10px 0px; }
        .checklistArea .checklist__ankr li:nth-child(3) a:after {
          left: calc(50% - 5px); }
    .checklistArea .checklist__ankr li a {
      padding: 0px 10px 10px;
      box-sizing: border-box;
      height: 70px;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.2; }
.checklistArea .checklist__wrap--title {
  padding: 15px; }
.checklistArea .checklist__wrap--con {
  padding: 20px; }
.checklistArea .checklist__wrap--list li {
  line-height: 1.5; }
  .checklistArea .checklist__wrap--list li:after {
    top: 4px;
    width: 10px;
    height: 10px; }

/* ==========================================================================
   clubjleaguelead
========================================================================== */
.clubjleaguelead__title {
  margin-bottom: 30px; }
  .clubjleaguelead__title p {
    font-size: 6vw; }
  .clubjleaguelead__title img {
    margin-bottom: 20px; }
.clubjleaguelead__list {
  width: 100%; }
  .clubjleaguelead__list li {
    align-items: flex-start; }
    .clubjleaguelead__list li + li {
      margin-top: 20px; }
    .clubjleaguelead__list li > span {
      margin-right: 15px;
      width: 35px;
      height: 35px;
      line-height: 35px; }
    .clubjleaguelead__list li p {
      line-height: 1.7;
      font-size: 16px;
      font-size: 1.6rem; }

.clubjleaguepointArea {
  background-size: 110%;
  padding-top: 30px; }
  .clubjleaguepointArea .clubjleaguepoint__title {
    margin-bottom: 10px;
    line-height: 2;
    font-size: 6vw; }
    .clubjleaguepointArea .clubjleaguepoint__title span {
      font-size: 6vw; }
  .clubjleaguepointArea .clubjleaguepoint__list {
    width: 100%;
    justify-content: flex-start; }
    .clubjleaguepointArea .clubjleaguepoint__list li {
      height: auto;
      width: calc((100% - 10px) / 2);
      margin-right: 10px;
      aspect-ratio: 4 / 4;
      font-size: 4vw;
      line-height: 1.3;
      margin-bottom: 10px; }
      .clubjleaguepointArea .clubjleaguepoint__list li:last-child(5) {
        margin-bottom: 0px; }
      .clubjleaguepointArea .clubjleaguepoint__list li:nth-child(2n) {
        margin-right: 0; }

.clubjleaguepolicy__wrap + .clubjleaguepolicy__wrap {
  margin-top: 10px; }
.clubjleaguepolicy__wrap--con {
  padding: 20px;
  line-height: 2; }
  .clubjleaguepolicy__wrap--con ul li:after {
    width: 10px;
    height: 10px; }
.clubjleaguepolicy__img {
  width: 100%;
  margin-top: 30px; }

.clubjleagueproject__list li {
  display: block; }
  .clubjleagueproject__list li .title {
    width: 100%;
    padding: 15px;
    align-items: center; }
  .clubjleagueproject__list li > p {
    width: 100%;
    line-height: 2; }

/* ==========================================================================
   fifaArea
========================================================================== */
.fifaArea .fifa__wrap + .heading__main {
  margin-top: 60px;
  padding-top: 60px; }
.fifaArea .fifa__wrap li {
  width: 100%; }
  .fifaArea .fifa__wrap li + li {
    margin-top: 60px; }
  .fifaArea .fifa__wrap li .title {
    line-height: 1.3;
    font-size: 14px;
    font-size: 1.4rem; }
  .fifaArea .fifa__wrap li img {
    width: 50%; }
  .fifaArea .fifa__wrap li .btn {
    width: 100%; }
  .fifaArea .fifa__wrap li:nth-child(2) {
    margin-left: 0; }

/* ==========================================================================
   workshop
========================================================================== */
.workshop .jpn_S {
  font-size: 2.6rem;
  display: block;
  text-align: center;
  font-weight: 900;
  padding: 10px 0 30px 0;
  line-height: 1.3; }
.workshop__lead {
  margin-bottom: 40px; }
.workshop__inner {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 40px;
  line-height: 2; }
.workshop_img {
  display: block;
  margin: auto;
  width: 80%; }
  .workshop_img_inner {
    width: unset;
    margin-right: unset;
    text-align: center; }
    .workshop_img_inner img {
      width: 100%;
      margin-bottom: 10px;
      border: 1px solid #e1e1e1; }
    .workshop_img_inner p {
      font-weight: bold;
      height: 55px; }
.workshop_checkbox {
  text-align: center; }
  .workshop_checkbox_inner {
    text-align: left; }
    .workshop_checkbox_inner label {
      margin-right: unset;
      display: block; }
      .workshop_checkbox_inner label:last-child {
        margin-right: 0; }
  .workshop_checkbox .box {
    margin-top: 40px !important; }
    .workshop_checkbox .box a {
      padding: 20px 0px;
      display: flex;
      flex-direction: column;
      width: 90%;
      margin: 10px auto;
      color: #fff;
      background-color: #f4a943;
      border-radius: 5px;
      font-weight: bold; }

/* ==========================================================================
   ETC
========================================================================== */
.pcDISP {
  display: none !important; }

.spDISP {
  display: block !important; }

.mfp-bg {
  opacity: .95; }

.snsBtnWrap {
  height: 50px;
  background: #FFF; }

.bottomArea .snsNav li a:before {
  line-height: 1; }

.specialArea {
  background: #FFF; }

.floatingBnr {
  z-index: 1111111111111111111; }

.margT0 {
  margin-top: 0px; }

.margT10 {
  margin-top: 5px; }

.margT20 {
  margin-top: 10px; }

.margT30 {
  margin-top: 15px; }

.margT40 {
  margin-top: 20px; }

.margT50 {
  margin-top: 25px; }

.margT60 {
  margin-top: 30px; }

.margT70 {
  margin-top: 35px; }

.margT80 {
  margin-top: 40px; }

.margB0 {
  margin-bottom: 0px; }

.margB10 {
  margin-bottom: 5px; }

.margB20 {
  margin-bottom: 10px; }

.margB30 {
  margin-bottom: 15px; }

.margB40 {
  margin-bottom: 20px; }

.margB50 {
  margin-bottom: 25px; }

.margB60 {
  margin-bottom: 30px; }

.margB70 {
  margin-bottom: 35px; }

.margB80 {
  margin-bottom: 40px; }

.paddT0 {
  padding-top: 0px; }

.paddT10 {
  padding-top: 5px; }

.paddT20 {
  padding-top: 10px; }

.paddT30 {
  padding-top: 15px; }

.paddT40 {
  padding-top: 20px; }

.paddT50 {
  padding-top: 25px; }

.paddT60 {
  padding-top: 30px; }

.paddT70 {
  padding-top: 35px; }

.paddT80 {
  padding-top: 40px; }

.paddB0 {
  padding-bottom: 0px; }

.paddB10 {
  padding-bottom: 5px; }

.paddB20 {
  padding-bottom: 10px; }

.paddB30 {
  padding-bottom: 15px; }

.paddB40 {
  padding-bottom: 20px; }

.paddB50 {
  padding-bottom: 25px; }

.paddB60 {
  padding-bottom: 30px; }

.paddB70 {
  padding-bottom: 35px; }

.paddB80 {
  padding-bottom: 40px; }

.fade-up,
.fade-from-left,
.fade-from-right,
.fade-here {
  transition: opacity 0.7s;
  transition: transform 1s; }
