@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  height: 100%;
  font-size: 62.5%; /*10px*/
}
html, body {
  height: 100%;
}
body {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Osaka", Verdana, Arial, sans-serif;
  line-height: 1.6;
  color: #333;
  background: #fff;
  font-feature-settings: "palt";
  word-wrap: break-word;
  position: relative;
  font-weight: bold;
}
body a {
  color: #004098;
  text-decoration: none;
}
body a:hover {
  color: #002d6c;
  text-decoration: underline;
}
body a:focus {
  outline: none;
}
body li {
  list-style: none;
}
/* ********************************************************** */
/* テキスト */
/* ********************************************************** */
h1 {
  font-size: 9.2rem;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
h2, .font_90 {
  font-size: 9.0rem;
  letter-spacing: 0.1rem;
}
.font_70 {
  font-size: 7.0rem;
}
.font_60 {
  font-size: 6.0rem;
}
.font_48 {
  font-size: 4.8rem;
}
.font_36 {
  font-size: 3.6rem;
  color: #fff;
  text-align: center;
}
h3, .font_30 {
  font-size: 3.0rem;
  line-height: 1.4;
}
.font_28 {
  font-size: 2.8rem;
}
.font_24 {
  font-size: 2.4rem;
}
.font_18 {
  font-size: 1.8rem;
}
.font_16, .example {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: justify;
}
.txt_center {
  text-align: center;
}
.txt_center_pc {
  text-align: center;
}
@media screen and (max-width: 1139px) {
  h1 {
    font-size: 7.6vw;
  }
  h2, .font_90 {
    font-size: 6.0rem;
  }
  .font_70 {
    font-size: 5.2rem;
  }
  .font_60 {
    font-size: 5.0rem;
  }
  .font_48 {
    font-size: 4.0rem;
  }
  .font_36 {
    font-size: 2.6rem;
    color: #fff;
    text-align: center;
  }
  h3, .font_30 {
    font-size: 2.4rem;
  }
  .font_28 {
    font-size: 2.4rem;
  }
  .font_24 {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 7.0vw;
  }
  h2, .font_90 {
    font-size: 4.8rem;
  }
  .font_70 {
    font-size: 4.6rem;
    line-height: 1.2;
  }
  .font_60 {
    font-size: 4.0rem;
    line-height: 1.2;
  }
  .font_48 {
    font-size: 3.0rem;
  }
  .font_36 {
    font-size: 3.6vw;
    color: #fff;
    text-align: center;
  }
  h3, .font_30 {
    font-size: 1.8rem;
  }
  .font_28 {
    font-size: 1.8rem;
  }
  .font_24 {
    font-size: 1.6rem;
  }
  .font_18 {
    font-size: 1.6rem;
  }
  .font_16, .example {
    font-size: 1.4rem;
  }
  p {
    text-align: justify;
  }
  .mission_content02 p {
    text-align: inherit;
  }
  .txt_center_pc {
    text-align: inherit;
  }
}
.txt_blue {
  color: #004097;
}
.txt_red {
  color: #e60012;
}
.txt_White {
  color: #fff;
}
.txt_gray {
  color: #a9a9a9;
}
.example {
  vertical-align: top;
}
/* ********************************************************** */
/* コンテナ1140 */
/* ********************************************************** */
.container {
  width: 1140px;
  margin: 0 auto;
  max-width: 90vw;
  padding: 80px 0;
  position: relative;
}
.cv_container {
  width: 721px;
  margin: 0 auto;
  max-width: 90vw;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .container {
    max-width: 85vw;
    padding: 80px 0;
  }
}
@media screen and (max-width: 885px) {
  .cv_container {
    width: 100%;
    margin: 0 auto;
    max-width: 90vw;
    padding: 20px 0 20px 0;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 80vw;
    padding: 40px 0;
  }
}
/* ********************************************************** */
/* 青線1140 */
/* ********************************************************** */
.b-blue {
  background: #004098;
  width: 1140px;
  height: 2px;
  margin: 0 auto;
  max-width: 90vw;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .b-blue {
    max-width: 85vw;
  }
}
@media screen and (max-width: 767px) {
  .b-blue {
    max-width: 80vw;
  }
}
/* ********************************************************** */
/* ファーストビュー */
/* ********************************************************** */
.bg_fv {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #004098;
  margin: 0 auto;
  box-sizing: border-box;
}
.fv_cloud {
  position: absolute;
  width: 100%;
  bottom: 0;
  height: auto;
  max-height: 400px;
  object-position: top;
}
.fv_people {
  position: absolute;
  width: 100%;
  max-width: 2000px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.confetti_l {
  position: absolute;
  width: auto;
  left: 0;
  bottom: 0;
  height: 780px;
}
.confetti_r {
  position: absolute;
  width: auto;
  right: 0;
  bottom: 0;
  height: 780px;
}
#fv .container {
  padding: 130px 0 80px 0;
}
#fv a {
  position: absolute;
  margin: 30px auto auto 30px;
  max-width: 80vw;
}
#fv .container {
  height: 1140px;
}
.ribbon {
  width: 640px;
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
  padding: 0 60px;
  font-size: 3.6rem;
  background: #e60012;
  color: #fff;
  box-sizing: border-box;
  margin: 0 auto 30px auto;
}
.ribbon:before, .ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}
.ribbon:before {
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 30px;
  border-color: transparent transparent transparent #004098;
  border-style: solid;
}
.ribbon:after {
  top: 0;
  right: 0;
  border-width: 30px 30px 30px 0px;
  border-color: transparent #004098 transparent transparent;
  border-style: solid;
}
.fv_point_pc {
  margin: 0 auto;
}
.fv_point_sp {
  margin: 0 auto;
  display: none;
}
#fv li {
  max-width: 30vw;
  height: 234px;
  margin: 0 auto;
}
.fv_line_l {
  position: absolute;
  height: 220px;
  width: auto;
  top: 240px;
  left: 0;
}
.fv_line_r {
  position: absolute;
  height: 220px;
  width: auto;
  top: 240px;
  right: 0;
}
@media screen and (max-width: 1139px) {
  .fv_cloud, .fv_people {
    height: 250px;
  }
  .confetti_l {
    height: 500px;
  }
  .confetti_r {
    height: 500px;
  }
  #fv .container {
    height: auto;
  }
  .ribbon {
    width: auto;
    max-width: 640px;
    font-size: 3.0rem;
  }
  #fv ul {
    display: flex;
  }
  #fv li {
    height: auto;
  }
  .fv_line_l {
    height: 140px;
    width: auto;
    top: 240px;
    left: 0;
  }
  .fv_line_r {
    height: 140px;
    width: auto;
    top: 240px;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  #fv .container {
    padding: 100px 0 70px 0;
  }
  #fv ul {
    display: inherit;
  }
  #fv li {
    width: 100%;
    max-width: 300px;
  }
  #fv a {
    margin: 15px auto auto 15px;
  }
  .ribbon {
    width: 400px;
    max-width: 100%;
    height: 60px;
    line-height: 1.3;
    padding: 8px;
    font-size: 1.8rem;
  }
  .ribbon:before {
    border-width: 30px 0px 30px 30px;
  }
  .ribbon:after {
    border-width: 30px 30px 30px 0px;
  }
  .fv_line_l {
    height: auto;
    width: 10vw;
    top: 196px;
    left: 0;
  }
  .fv_line_r {
    height: auto;
    width: 10vw;
    top: 196px;
    right: 0;
  }
  .fv_point_pc {
    display: none;
  }
  .fv_point_sp {
    display: inherit;
  }
}
/* ********************************************************** */
/* 導入 */
/* ********************************************************** */
.intro_point {
  display: block;
  color: #e60012;
  padding: 6px 0;
  border-top: solid 2px #e60012;
  border-bottom: solid 2px #e60012;
  width: 850px;
  max-width: 90vw;
  margin: 20px auto;
}
.b-red {
  background: #e60012;
  width: 850px;
  height: 2px;
  margin: 0 auto;
  max-width: 90vw;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .intro_point {
    max-width: 85vw;
  }
}
@media screen and (max-width: 767px) {
  .intro_point {
    max-width: 80vw;
  }
}
/* ********************************************************** */
/* ミッション */
/* ********************************************************** */
.bg_mission {
  width: 100%;
  height: auto;
  background: url(../images/mission_bg.jpg) no-repeat left bottom;
  background-size: cover;
  margin: 0 auto;
  box-sizing: border-box;
}
.mission_content01 {
  background: rgba(0, 0, 0, 0.6);
  padding: 40px 40px 20px 40px;
  max-width: 1000px;
}
.clr_30 {
  margin-right: 30px;
}
.mission_content02 {
  background: rgba(0, 0, 0, 0.6);
  padding: 40px;
  max-width: 860px;
  margin: 0 0 0 auto;
}
#mission table {
  border-collapse: collapse;
  font-size: 2.4rem;
  text-align: center;
}
#mission table th, table td {
  border: solid 2px #fff;
  width: 240px;
  max-width: 100%;
  padding: 2px 10px;
}
@media screen and (max-width: 1139px) {
  #mission table {
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_content01, .mission_content02 {
    padding: 20px;
  }
  #mission table {
    font-size: 1.6rem;
  }
}
/* ********************************************************** */
/* 景品 */
/* ********************************************************** */
.prize_content_l {
  position: relative;
  margin-bottom: 120px;
}
.prize_content_l_inner {
  max-width: 640px;
  height: 500px;
  border: solid 10px #efefef;
  box-sizing: border-box;
  padding: 30px 170px 50px 50px;
}
.prize_img_l {
  position: absolute;
  top: 60px;
  right: 0;
  max-width: calc(100% - 500px);
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.prize_content_r {
  position: relative;
  margin-bottom: 120px;
}
.prize_content_r_inner {
  max-width: 640px;
  height: 500px;
  border: solid 10px #efefef;
  box-sizing: border-box;
  padding: 30px 50px 50px 170px;
  margin: auto 0 auto auto;
}
.inner_d {
  width: 640px;
  max-width: calc(100% - 300px);
}
.prize_img_r {
  position: absolute;
  top: 60px;
  left: 0;
  max-width: calc(100% - 500px);
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.img_d {
  min-width: 430px;
  object-position: left;
}
#prize a {
  font-size: 1.6rem;
  color: #004098;
  text-decoration: underline;
}
#prize a:hover {
  color: #002d6c;
}
.img_cap_a {
  font-size: 1.4rem;
  position: absolute;
  color: #767676;
  right: 15px;
  bottom: -50px;
}
.img_cap_d {
  font-size: 1.4rem;
  position: absolute;
  color: #fff;
  right: 515px;
  bottom: -50px;
}
@media screen and (max-width: 1139px) {
  .img_cap_d {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .prize_content_l, .prize_content_r {
    margin-bottom: 90px;
  }
  .prize_content_l_inner {
    max-width: 70vw;
    height: auto;
    padding: 10px 20px 160px 20px;
  }
  .prize_img_l {
    position: inherit;
    margin: -200px 0 0 auto;
    max-width: 70vw;
    height: auto;
  }
  .prize_content_r_inner {
    max-width: 70vw;
    height: auto;
    padding: 10px 20px 160px 20px;
  }
  .prize_img_r {
    position: inherit;
    margin: -200px auto 0 0;
    max-width: 70vw;
    height: auto;
  }
  .img_d {
    min-height: 420px;
  }
  .img_cap_a {
    font-size: 1.2rem;
  }
  .img_cap_d {
    font-size: 1.2rem;
    display: inherit;
    right: 90px;
  }
}
@media screen and (max-width: 560px) {
  .img_d {
    min-width: inherit;
    max-width: inherit;
    min-height: 420px;
    max-height: 400px;
    width: 100vw;
    margin: -200px calc(50% - 50vw) 0; /* 画面幅いっぱいにはみ出させるためのネガティブマージン */
  }
  .img_cap_d {
    display: inherit;
    right: -30px;
  }
}
@media screen and (max-width: 360px) {
  .img_d {
    min-height: 115vw;
  }
  .img_cap_d {
    display: none;
  }
}
/* ********************************************************** */
/* スケジュール */
/* ********************************************************** */
.bg_schedule {
  width: 100%;
  height: auto;
  background: #efefef;
  background-size: cover;
  margin: 0 auto;
  box-sizing: border-box;
}
/* ********************************************************** */
/* 注意事項 */
/* ********************************************************** */
#caution ul {
  list-style: none;
}
li.li_deco {
  text-indent: -1rem;
  padding-left: 1rem;
}
li.li_deco::before {
  content: '・';
}
/* ********************************************************** */
/* コンバージョン */
/* ********************************************************** */
p.personal strong {
  text-align: justify;
  font-size: 19px;
  font-weight: bold;
  font-feature-settings: "palt";
  color: #3E3A39;
}
p.personal span {
  text-align: justify;
  font-size: 16px;
  font-weight: bold;
  font-feature-settings: "palt";
  color: #0D7EDE;
  border-bottom: solid 1px;
}
strong {
  border-left: 5px solid #e76425;
  margin-bottom: 40px;
  padding-left: 15px !important;
}
.gArrowbtn02 {
  display: block;
  margin: 0 auto 20px auto;
  padding: 6px 30px;
  width: 100%;
  max-width: 720px;
  border: none;
  font-size: 3.2rem;
  color: #fff;
  background: #004098;
  text-align: center;
  border-radius: 10px;
}
.gArrowbtn02 a {
  display: block;
  padding: 12px 0;
  color: #fff;
  text-decoration: none;
}
.gArrowbtn02:hover {
  background: #002d6c;
  cursor: pointer;
}
.gArrowbtn02 a:hover {
  color: #fff;
}
.gArrowbtn02 span {
  width: 100%;
  display: inline-block;
  background: url(../images/icon_arrow_red_r_01.png) no-repeat left center;
  background-size: 18px 26px;
  font-weight: bold;
}
.gArrowbtn02 a span {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  p.personal strong {
    font-size: 14px;
  }
  .gArrowbtn02 {
    padding: 4px 20px;
    width: 100%;
    font-size: 1.4rem;
  }
  .gArrowbtn02 span {
    padding: 10px 17px;
    background-size: 12px auto;
    font-size: 2.0rem;
  }
}
.arrow_blue {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 24px solid #004098;
  border-bottom: 0;
  margin: 10px auto;
}
/* ********************************************************** */
/* コピーライト */
/* ********************************************************** */
#copyright img {
  display: block;
  margin: 0 auto;
}