html{font-size: 62.5%;}/*ベースを10pxにしています*/
body {font-size: 1.0rem; font-family: 'Noto Sans JP', sans-serif;}
img {width: 100%;}
/* /common ------------------------------------*/



/*------------------------------------ 
TOP ------------------------------------*/
body {line-height: 3.2rem; background: #fafafa;}
h2 {font-size: 2.4rem; text-align: center; margin-bottom: 70px;}
section {padding: 100px 0 140px;}
.monaco_sake {font-size: 1.4rem;}
.slick-arrow {display: none !important;}


/*------------------------------------ 
Language ------------------------------------*/
.language {
background: #151515;
font-size: 1.2rem;
line-height: 2.2rem;
}
.language ul {display: flex; justify-content: flex-end;}
.language ul li {margin: 0 0.9%; display: block;}
.language ul li a {color: #B7B7B7;}
.language ul li a:hover {color: #a85d5d; transition: 0.2s;}

.language li:before{
content: "";
display: inline-block;
width: 14px;
height: 11px;
margin-right: 5px;
background-size: contain;
vertical-align:-1px;
}

#msa_top .language li.ja:before{background-image: url(../images/flag_ja.gif);}
#msa_top_en .language li.ja:before, #msa_top_fr .language li.ja:before{background-image: url(../images/flag_ja2.gif);}

#msa_top_en .language li.en:before{background-image: url(../images/flag_en.gif);}
#msa_top .language li.en:before, #msa_top_fr .language li.en:before{background-image: url(../images/flag_en2.gif);}

#msa_top_fr .language li.fr:before{background-image: url(../images/flag_fr.gif);}
#msa_top .language li.fr:before, #msa_top_en .language li.fr:before{background-image: url(../images/flag_fr2.gif);}


/*------------------------------------ 
HEADER ------------------------------------*/
header {background: #E60012; color: #fff;}
.header {max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center;}
.header div {width: 65%;}
#msa_top_fr .header div.header_right {width: 70%;}
.header ul {display: flex; justify-content: flex-end;}
.header ul li {margin: 0 0 0 8%;}
.logo_msa {max-width: 70px;}

.header_right a {
position: relative;
}
.header_right a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.header_right a:hover::after {
  transform: scale(1, 1);
}

/*------------------------------------ 
KV ------------------------------------*/
.kv {margin-bottom: 25px !important; width: 100%;}


/*------------------------------------ 
ENTRY（TOP） ------------------------------------*/
#entry {
padding: 100px 20px 60px 20px;
}
.entry_inner {
text-align: center;
color: #333333;
background: #fff;
max-width: 960px;
width: 100%;
margin: 0 auto;
padding: 30px 0 25px 0;
/* box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .2);
transition: 0.4s; */
border: #777777 1px solid;
}
.entry_inner:hover {
box-shadow: none;
/* opacity: 0.7; */
}
.entry_title {
font-size: 3.4rem;
font-weight: 700;
margin-top: 5px;
margin-bottom: 5px;
line-height: 3.6rem;
}
.entry_title_fin {
color: #aaaaaa;
}
.link_entry2nd {
display: inline-block;
background:linear-gradient(transparent 90%, #E60012 0%);
color: #E60012;
line-height: 2.0rem;
margin-top: 8px;
}
.link_entry2nd_fin {
  color: #aaaaaa;
  background:none;
  border-bottom:1px solid #aaaaaa;
}


/*------------------------------------ 
GREETING ------------------------------------*/
#greeting {background: #ffffff;}
#greeting h2 {
  margin-bottom: 0;
}
.greeting_inner {
  width: 100%;
  max-width: 960px; 
  margin: 0 auto;
  padding: 0 4%;
}
.greeting_wrap {
  border-top: #333333 1px solid;
  border-bottom: #333333 1px solid;
  padding: 50px 50px;
  margin-top: -100px;
}
.greeting_image {
  width:100% ;
  max-width: 180px;
  margin: 0 0 0 auto;
}
.greeting_wrap p {
margin-bottom: 25px;
}
.name {
  text-align: right;
  }
  .greeting_wrap p.mb {
    margin-bottom: 80px;
  }
  .greeting_text_fr {
    line-height: 2.8rem;
  }

/*------------------------------------ 
ABOUT ------------------------------------*/
#about {background: #fafafa;}
#about .about_inner {
    width: 100%;
    max-width: 960px; margin: 0 auto;
}

#about .image02 {max-width: 560px; margin: 60px auto;}
#about .image_flex {display: flex; justify-content: space-between;}
#about .image_flex figure {max-width: 465px;}
#about figure {margin: 60px 0;}
#about .image_flex figure {margin: 60px 0 0;}

#about h2.about_judging {padding-top: 20px;}

/*------------------------------------ 
Award ------------------------------------*/
#award {background: #fff;}
#award .award_inner {width: 100%; max-width: 800px; margin: 0 auto;}
#award h3 {font-size: 1.8rem; margin-top: 50px;}
#award h3:first-child {margin-top: 0px;}
#award ul {font-size: 1.3rem; font-weight: 300; line-height: 2.2rem;}
#award ul li {border-bottom: 1px solid #ccc; line-height: 2.4rem; padding: 28px 0;}

#award a {color: #a52a2a; transition-duration: 0.3s; text-decoration: underline;}
#award a:hover {opacity: 0.6; color: #E60012;}

#award .name {font-weight: 500;}


/*------------------------------------ 
Judge ------------------------------------*/
#judge .judge_inner {width: 100%; max-width: 960px; margin: 0 auto;}

#judge figure {display: flex; align-items: flex-end;}
#judge figcaption {
padding-left: 3%;
}
#judge figure img {width: 100%; max-width: 240px;}

#judge .person {margin-bottom: 50px;}
/* #judge .person:last-child {margin-bottom: 0px;} */
#judge .person figure figcaption {line-height: 2.4rem; margin-top: 10px;}
#judge .person figure figcaption span {font-size: 2.2rem;}


/*------------------------------------ 
Operation ------------------------------------*/
#sponsor .sponsor_inner {
  width: 100%;
  max-width: 960px; margin: 0 auto;
  padding: 0 4%;
}
#sponsor {background: #fff;}
#sponsor a:hover {opacity: 0.7;}
h3.about_support {
text-align: center;
font-size: 1.8rem;
margin-top: 50px;
}
#sponsor .logo_amfj, #sponsor .logo_pl {
max-width: 120px;
}
.sponsor, .support {
text-align: center;
margin: 28px 0;
}
#sponsor .image05 {
max-width: 400px;
margin: 0 auto;
}


/*------------------------------------ 
CONTACT ------------------------------------*/
#contact .contact_inner {
  width: 100%;
  max-width: 960px; margin: 0 auto;
  padding: 0 4%;
}
.mail-btn {
    background: #fff;
    border: #E60012 1px solid;
    max-width: 420px;
    text-align: center;
    margin: 0 auto;
    padding: 8px;
    font-size: 1.6rem;
    font-weight: 400;
    transition: 0.3s;
}
.mail-btn:hover {
  color: #E60012;
}

/*------------------------------------ 
PAGE_TOP BUTTON ------------------------------------*/
#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 6%;
    bottom: 30px;
    background: #E60012;
    opacity: 0.9;
    border-radius: 8px;
    opacity: 0;
    transition: 0.4s;
  }
  #page_top.active {
      opacity: 1;
  }
  #page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
  }
  #page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f0d8';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 32px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  


/*------------------------------------ 
ENTRYページ ------------------------------------*/
#msa_entry2nd .language li.ja:before{background-image: url(../images/flag_ja.gif);}
#msa_entry2nd_en .language li.ja:before, #msa_entry2nd_fr .language li.ja:before{background-image: url(../images/flag_ja2.gif);}

#msa_entry2nd_en .language li.en:before{background-image: url(../images/flag_en.gif);}
#msa_entry2nd .language li.en:before, #msa_entry2nd_fr .language li.en:before{background-image: url(../images/flag_en2.gif);}

#msa_entry2nd_fr .language li.fr:before{background-image: url(../images/flag_fr.gif);}
#msa_entry2nd .language li.fr:before, #msa_entry2nd_en .language li.fr:before{background-image: url(../images/flag_fr2.gif);}


.entry2nd_inner, .outline_inner {
    width: 100%;
    max-width: 800px; margin: 0 auto;
}
.outline_inner h3 {
  font-size: 1.8rem;
  margin-top: 50px;
  margin-bottom: 28px;
}
#msa_entry2nd section ul {
    /* text-indent: -12px; */
    padding-left: 12px;
}


/* エントリーフォームはこちらボタン */
.link_form {margin-top: 80px; padding: 0 5%;}
.entry2nd {padding-bottom: 60px;}
.form-btn {
    background: #E60012;
    border: #E60012 1px solid;
    max-width: 420px;
    text-align: center;
    margin: 0 auto;
    padding: 8px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    transition: 0.3s;
}
.form-btn_fin {
  background: #777777;
  border: none;
}
.form-btn:hover {
  background: #fff;
  border: #E60012 1px solid;
  color: #151515;
}
.form-btn_fin:hover {
  background: #777777;
  border: none;
  color: #fff;
}


/*------------------------------------ 
Footer ------------------------------------*/
footer {width: 100%; background: #E60012; color: #fff; text-align: center;}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }



@media screen and (max-width: 1220px) {
    .header {padding: 0 4%;}
    }

@media screen and (max-width: 980px) {
.header, #about .about_inner, #award .award_inner, #judge .judge_inner {
padding: 0 4%;
}
.entry2nd_inner, .outline_inner {
padding: 0 4%;
}

.logo_msa {max-width: 50px;}

#about figure:last-child {margin-left: 3%;}

/*------------------------------------ 
HEADER ------------------------------------*/
.header div, #msa_top_fr .header div.header_right {
  width: 100%;
}

/*------------------------------------ 
GREETING（TOP） ------------------------------------*/
.greeting_wrap {
  padding: 50px 30px;
}

}


@media screen and (max-width: 684px) {
  h2 {margin-bottom: 55px;}
  #msa_top section {padding: 80px 0 110px;}

#judge figure {display: block; text-align: center;}
#judge figure img {width: 80%;}
#judge figcaption {width: 80%; max-width: 340px; padding-left: 0; text-align: left; margin: 0 auto;}

/*------------------------------------ 
HEADER ------------------------------------*/
.header div {
  width:46px;
} 

/*------------------------------------ 
ENTRY（TOP） ------------------------------------*/
#msa_top #entry {
  padding: 40px 3%;
}
.entry_title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 3.0rem;
}
.entry_inner {
  padding: 12px;
}

/*------------------------------------ 
GREETING（TOP） ------------------------------------*/
.greeting_wrap {
  padding: 50px 15px;
}
.greeting_image {
  max-width: 110px;
  margin: 10px 0 5px auto;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
.pc { display: none !important; }
.sp { display: block !important; } 
}

