@charset "UTF-8";
 body {
   font-family: "メイリオ", Meiryo, Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "ＭＳ Ｐゴシック", sans-serif;
   position:relative;
   color: #fff;
   position:relative;
   margin: 0;
   text-align: center;
   position:relative;
   }

   *, *::before, *::after {
  box-sizing: border-box;
}

a {
    outline: none;
    color: #fff;
    word-wrap:break-word;
text-decoration: none;
}

p {
    margin: 0;
    padding: 0;
}

/* h1 {
  font-family: fot-matisse-pron, sans-serif;
  font-style: normal;
  font-weight: bold;
} */

.center{
    text-align:center;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-table;
}
/* Hides from IE-mac \*/

* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.back {
  margin: 0 ;
  padding: 0 ;
  font-size: 15px ;
  background-repeat: no-repeat;
  width: 100%;
  text-align: left;
}

.back a {

}

.back::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-1;
width:100%;
height:100vh;
}

main {
  background-color: #eb0b00;
  font-family: "ryo-gothic-plusn", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt";
}

main p,main li {
  font-family: "ryo-gothic-plusn", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.6em;
}
  
main h1,main h2,main h3,main h4 {
  font-family: "ryo-gothic-plusn", sans-serif;
  font-weight: 900;
  font-style: normal;
  line-height: 1.3em;
}

main a {
  color: #eb0b00;
  text-decoration: underline
}

.wrapper {
  padding: clamp( 2rem, calc( 1rem + 4vw ), 4rem ) clamp( 1rem, calc( -0.5rem + 6vw ), 4rem );
background-color: #eb0b00;
opacity: 1;
background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, #eb0b00 10px ), repeating-linear-gradient( #bf000055, #bf0000 );
}


/* ///////////////////////////////////////////メニューボタン/////////////////////////////////////////// */

.menu_block {
  font-size: 16px;
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 105px;
  z-index: 1000;
  background-color: #231815;
}

.menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
  margin: 0rem auto;
  max-width: 100%;
  width: 100%;
  text-align: center;
  font-weight: 900;
  line-height: 1.3;
}

.menu p {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.3;
}

.menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp( 0.5rem, calc( 0.25rem + 1vw ), 1rem ) 0.5rem;
  border: solid #231815 2px;
  color: #231815;
  font-size: clamp( 14px, calc( 12px + 0.5vw ), 18px );
  font-weight: 700;
  /* background-color: #e50113; */
  box-shadow: 0 5px 0 #231815;
  transition: 0.3s;
  text-decoration: none
}

.menu a:hover {
  transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #8f8f8f50;
}

.menu_small {
  font-size: 14px;
}

.menu_guidelines,.menu_guidelines,.menu_inquiry {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
}

.menu_guidelines a {
  /* background-color: #e50113; */
  /* background-image: radial-gradient(#e52423 20%, transparent 20%), radial-gradient(#e52423 20%, transparent 20%);
  background-size: 3px 3px;
  background-position: 0 0, 3px 3px; */
  background-image: linear-gradient(139deg, #e4c566, #ffec92 50%, #c0912a);

}
.menu_inquiry a {
  /* background-color: #00a758; */
  background-image: linear-gradient(139deg, #e4c566, #ffec92 50%, #c0912a);
}

.menu_block_sp {
  display: none;
}


/* ///////////////////////////////////////////ヘッダー画像/////////////////////////////////////////// */

.top {
      display: flex;
    justify-content: center;
    align-items: center;
  position: relative;
  background-image: url(../images/top_back.webp);
background-size: cover;
    background-position: center;
    padding: 4rem 1rem;
    /* height: 60vh; */
    max-height: 750px;

}

.top img {
  display: block;
  /* max-width: 1920px; */
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  /* animation: heartbeat 1.8s ease-in-out infinite;
  transform-origin: center; */
}

/* ///////////////////////////////////////////応募要項 /////////////////////////////////////////// */

.guidelines_h1 {
  width: 100%;
  max-width: 1000px;
  background-color: #000;
  padding: 2rem 1rem;
  margin: 0 auto;
  border-radius: 10px 10px 0px 0px;
}

.guidelines_h1 h1 {
  font-size: clamp( 24px, calc( 20px + 1vw ), 32px );
text-align: center;
margin: 0;
}

.guidelines {
  width: 100%;
  max-width: 1000px;
  padding: clamp( 2rem, calc( 1rem + 4vw ), 4rem ) clamp( 1rem, calc( -0.5rem + 6vw ), 4rem );
  margin: 0 auto;
  border: solid 2px #000;
      border-radius: 0px 0px 10px 10px;
  background-color: #f1f1f1;
color: #1c1c1c;
}


.block {
  margin-bottom: 2rem;
}

.block:last-child {
  margin-bottom: 0rem;
}

.block h2 {
  font-size: clamp( 20px, calc( 18px + 0.5vw ), 24px );
  margin-bottom: 1rem;
}

.block p,.block li {
  font-size: clamp( 16px, calc( 15px + 0.25vw ), 18px );
  margin-left: 1rem;
  /* list-style-type: disc; */
}

.block p {
  font-size: clamp( 16px, calc( 15px + 0.25vw ), 18px );
  margin: 0rem 0rem 0.5rem 1rem ;
}

.p_big {
  font-size: clamp( 18px, calc( 16px + 0.5vw ), 22px );
}

.block .asterisk {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0rem;
}

.block .listmarker {
  /* padding-left: 1em;
  text-indent: -0.5em; */
  
    padding-left: 0.5em;
    text-indent: -0.5em;
  margin-top: 0rem;
}

/* ///////////////////////////////////////////応募ボタン/////////////////////////////////////////// */

.btn_area {
  /* clip-path: polygon(0 0, 100% 40px, 100% 100%, 0 100%); */
  /* clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%); */
    padding: 4rem 1rem;
    /* padding: 6rem 1rem 4rem 1rem;
    background-color: rgb(0, 0, 0); */
      border-top: 4px solid #000000;
  border-bottom: 4px solid #000000;
  /* opacity: 0.8; */
  background: radial-gradient(#292929 15%, transparent 16%) 0 0, radial-gradient(#292929 15%, transparent 16%) 5px 5px, radial-gradient(#292929 15%, transparent 20%) 0 1px, radial-gradient(#292929 15%, transparent 20%) 5px 6px;
  background-color: #141414;
  background-size: 10px 10px;
}

 .btn_area button {
width: 100%;
    max-width: 600px;
    position: relative;
    padding: 1rem;
    font-size: clamp( 24px, calc( 20px + 1vw ), 32px );
    font-weight: 900;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.4s ease;
    overflow: hidden;
    color: #d62119;
        font-feature-settings: "palt";
        border: solid 2px #9e7200;
        
    }

        .btn-container {
      /* display: flex;
      justify-content: center;
      align-items: center; */
      text-align: center;
    margin: 0 auto;
    }

    .btn-effect-9 {
      
       /* background: #e4c566; */
       background-image: linear-gradient(139deg, #e4c566, #ffec92 50%, #c0912a);
       box-shadow: 0 5px 0 #bc8600;
     }

    .btn-effect-9:hover {
           
       transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #aaaaaa;
  animation: pulse 1.1s infinite;
     }

    @keyframes pulse {
      0% { transform: scale(1); box-shadow: 0 0 0 0 rgb(182, 131, 89); }
      70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(155, 89, 182, 0); }
      100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(155, 89, 182, 0); }
    }

.btn_p_small {
  display: block;
  transform: skewX(-25deg); 
}



.pc_br {
  display: block;
}

.sp_br {
  display: none;
}

.sp_br_450 {
  display: none;
}

@media screen and (max-width: 1299px) {
.menu_block {
  top: 60px;
}
}


@media screen and (max-width: 1000px) {

}


@media screen and (max-width: 768px) {

  .top {
  background-image: url(../images/top_back_sp.webp);
  height: 70vh;
  /* padding-bottom: 1rem; */
}

  .top img {

  padding-bottom: 1rem;
}

.menu_block_sp {
  display: block;
  bottom: 0px;
    font-size: 16px;
  display: block;
  position: -webkit-sticky;
  position: sticky;
  z-index: 1000;
  background-color: #231815;
}

.menu_block {
  display: none;
}


}

@media screen and (max-width: 600px) {
.pc_br {
  display: none;
}

.sp_br {
  display: block;
}

}

@media screen and (max-width: 460px) {
.sp_br {
  display: block;
}
}


@media screen and (max-width: 450px) {

.sp_br_450 {
  display: block;
}

}

