@charset "UTF-8";
/* CSS Document */

img { -ms-interpolation-mode: bicubic; }

.sp{
display: none;
}

.hamburger-menu{
display: none;
}

header{
text-align: center;
position: relative;
height: auto;
padding-bottom: 25%;
}

header h1{
width: 60%;
display: inline-block;
margin-top: 4%;
}

.top_copy{
width: 50%;
display: inline-block;
margin-top: 2%;
}

.top_txt{
font-size:  calc(100vw * 6 / 375);
font-weight: 500;
margin-top: 2%;
line-height: 2em;
}

.top_ec{
width: 15%;
position: absolute;
top: 4%;
left: 3%;
}

.top_ec img{
position: absolute;
top: 0;
left: 0;
}

.rotate{
animation: rotate_anime 40s linear infinite;
}
@keyframes rotate_anime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.top_button{
background: url("../img/top/top_button_ba.svg") no-repeat center center;
background-size: 100%;
width: 20%;
position: fixed;
top: -50px;
right: -5%;
font-size:  calc(100vw * 7 / 375);
font-weight: 500;
color: #fff;
line-height: 1.3em;
padding: 6% 2% 4% 0;
color: #FFFF00;
transition: 0.5s ;
z-index: 999;
height: 16%;
}

.top_button:hover{
opacity: 1;
width: 24%;
height: 20%;
font-size:  calc(100vw * 9 / 375);
}

.logo_w{
width: 40%;
}

.pointing01{
width: 25%;
position: absolute;
top: 20%;
left: -3%;
}

.pointing02{
width: 20%;
position: absolute;
bottom: 5%;
left: 5%;
}

.pointing03{
width: 25%;
position: absolute;
bottom: -10%;
right: 25%;
}

/*--- cssアニメーション ここから ---*/
.keyframe {
  animation-name: anim_sc;
  transform: scale(0.9, 0.9);
}

@keyframes anim_sc {
  100% {
    transform: scale(1, 1);
  }
}

.animation {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 0.5s;
}

.animation02 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 0.3s;
}

.animation03 {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 0.7s;
}
/*--- cssアニメーション ここまで ---*/

/*ゆらゆらここから*/
.shake {
    animation: shake 2s infinite;
  animation-delay:0.2s;
    transform: rotate(20deg);
}
@keyframes shake {
    50% {
        transform: rotate(-20deg);
    }
    100% {
        transform: rotate(20deg);
    }}

.shake02 {
    animation: shake 2s infinite;
  animation-delay:0.3s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake03 {
    animation: shake 2s infinite;
  animation-delay:0.4s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake04 {
    animation: shake 2s infinite;
  animation-delay:0.5s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake05 {
    animation: shake 2s infinite;
  animation-delay:0.6s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake06 {
    animation: shake 2s infinite;
  animation-delay:0.7s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake07 {
    animation: shake 2s infinite;
  animation-delay:0.8s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake08 {
    animation: shake 2s infinite;
  animation-delay:0.9s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake09 {
    animation: shake 2s infinite;
  animation-delay:1.0s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake10 {
    animation: shake 2s infinite;
  animation-delay:1.1s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake11 {
    animation: shake 2s infinite;
  animation-delay:1.2s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake12 {
    animation: shake 2s infinite;
  animation-delay:1.3s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake13 {
    animation: shake 2s infinite;
  animation-delay:1.4s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake14 {
    animation: shake 2s infinite;
  animation-delay:1.5s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake15 {
    animation: shake 2s infinite;
  animation-delay:1.6s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}

.shake16 {
    animation: shake 2s infinite;
  animation-delay:1.7s;
    transform: rotate(20deg);
}
@keyframes shake02 {
    100% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(20deg);
    }}
/*ゆらゆらここまで*/

/* ズームインここから */
.zoomIn00{
  animation-name:zoomInAnime;
  animation-delay:0.0s;
  animation-duration:2.0s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn00sp{
  animation-name:zoomInAnime;
  animation-delay:3.5s;
  animation-duration:2.0s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn01{
  animation-name:zoomInAnime;
  animation-delay:0.1s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn02{
  animation-name:zoomInAnime;
  animation-delay:0.2s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn03{
  animation-name:zoomInAnime;
  animation-delay:0.3s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn04{
  animation-name:zoomInAnime;
  animation-delay:0.4s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn05{
  animation-name:zoomInAnime;
  animation-delay:0.5s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn06{
  animation-name:zoomInAnime;
  animation-delay:0.6s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn07{
  animation-name:zoomInAnime;
  animation-delay:0.7s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn08{
  animation-name:zoomInAnime;
  animation-delay:0.8s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn09{
  animation-name:zoomInAnime;
  animation-delay:0.9s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn10{
  animation-name:zoomInAnime;
  animation-delay:1.0s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn11{
  animation-name:zoomInAnime;
  animation-delay:1.1s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn12{
  animation-name:zoomInAnime;
  animation-delay:1.2s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn13{
  animation-name:zoomInAnime;
  animation-delay:1.3s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn14{
  animation-name:zoomInAnime;
  animation-delay:1.4s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn15{
  animation-name:zoomInAnime;
  animation-delay:1.5s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn16{
  animation-name:zoomInAnime;
  animation-delay:1.6s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn17{
  animation-name:zoomInAnime;
  animation-delay:1.7s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
.zoomIn18{
  animation-name:zoomInAnime;
  animation-delay:1.8s;
  animation-duration:0.5s;
  animation-fill-mode:backwards;
}
@keyframes zoomInAnime{
  from {
  transform: scale(0.0);
  }

  to {
      transform: scale(1);
  }
}
/* ズームインここまで */

.face01{
width: 7%;
position: absolute;
top: 35%;
left: 11%;
}

.face02{
width: 8%;
position: absolute;
top: 52%;
left: 3%;
}

.face03{
width: 8%;
position: absolute;
top: 60%;
left: 15%;
}

.face04{
width: 6.5%;
position: absolute;
top: 78%;
left: 8%;
}

.face05{
width: 7.5%;
position: absolute;
top: 80%;
left: 22%;
}

.face06{
width: 7.0%;
position: absolute;
top: 65%;
left: 30%;
}

.face07{
width: 7.0%;
position: absolute;
top: 83%;
left: 37%;
}

.face08{
width: 7.3%;
position: absolute;
top: 70%;
left: 45%;
}

.face09{
width: 7.0%;
position: absolute;
top: 80%;
left: 55%;
}

.face10{
width: 7.7%;
position: absolute;
top: 82%;
left: 68%;
}

.face11{
width: 7.7%;
position: absolute;
top: 65%;
left: 63%;
}

.face12{
width: 7.0%;
position: absolute;
top: 62%;
left: 75%;
}

.face13{
width: 7.0%;
position: absolute;
top: 54%;
left: 91%;
}

.face14{
width: 7.0%;
position: absolute;
top: 42%;
left: 80%;
}

.face15{
width: 7.5%;
position: absolute;
top: 34%;
left: 90%;
}

.face16{
width: 7.0%;
position: absolute;
top: 24%;
left: 80%;
}

.hzoom{
transition: 0.4s ;
}

.hzoom:hover{
width: 10%;
margin-left: -2%;
margin-top: -2%;
}

.lines01{
width: 14%;
position: absolute;
bottom: 20%;
right: 0%;
}

.lines02{
width: 15%;
position: absolute;
bottom: 5%;
right: 5%;
}

.event_over{
width: 160%;
margin-left: -30%;
}

.event{
background: #E50012 url("../img/top/ba01.svg") no-repeat top center;
background-attachment: fixed;
background-size: 90%;
padding: 55px 0;
position: relative;
}

.midashi01{
text-align: center;
margin-bottom: 40px;
}
.midashi01 h2{
font-size: 5.0rem;
color: #fff;
font-weight: 700;
line-height: 1.2em;
}
.midashi01 h2 b{
font-size: 3.0rem;
color: #FFFF00;
font-weight: 700;
}

.midashi02{
text-align: center;
margin-bottom: 40px;
}
.midashi02 h2{
font-size: 5.0rem;
color: #E50012;
font-weight: 700;
line-height: 1.2em;
}
.midashi02 h2 b{
font-size: 3.0rem;
color: #000000;
font-weight: 700;
}

.event_list{
width: 1200px;
margin: 0 auto;
}


.event_list > li{
position: relative;
  max-width: 98%;
  margin: 20px auto;
  padding: 13px;
  background: #E50012;
  font: 16px sans-serif;
  color: #FFF;
  outline: 10px solid #fff;
  outline-offset: -7px;
  margin-bottom: 55px;
}



.accordion_input {
  display: none;
}
.accordion_label {
  cursor: pointer;
  color: #000;
  background-color: #fff;
  width: 100%;
  display: block;
  z-index: 9;
  position: relative;
}
.accordion_label::after {
  content: "+";
  font-size: 7.0rem;
  position: absolute;
  top: 30px;
  right: 2%;
  color: #E50012;
}
.accordion_input:checked ~ .accordion_label::after {
  content:"−";
}
.event_container{
  height: 0px;
  overflow: hidden;
  transition: height 1s;
  margin-top: 0px;
  padding: 0 0;
  position: relative;
  background: #fff;
  padding: 0 4%;
}
.accordion_input:checked ~ .event_container{
  height: auto;
}



.event_title{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 20px;
position: relative;
}

.event_title > dt{
width: 11%;
background: url("../img/top/ba02.svg") no-repeat center center;
background-size: 100%;
font-size: 6.6rem;
text-align: center;
color: #fff;
font-family: "Zen Maru Gothic", serif;
font-weight: 700;
padding: 15px 0;
}

.event_title > dd{
width: 88%;
font-family: "Zen Maru Gothic", serif;
}

.event_title > dd h3{
font-size: 4.8rem;
font-weight: 700;
line-height: 1.0em;
}

.event_title > dd h3 span{
font-size: 2.5rem;
background: #FFFF00;
font-weight: 600;
padding: 0 0.5em;
margin-left: 0.5em;
}

.event_ymdt{
display: flex;
flex-wrap: wrap;
align-items: flex-end;
margin-top: -10px;
}

.event_ymdt dt{
font-size: 2.5rem;
font-weight: 500;
background: #000000;
color: #fff;
width: 9%;
padding: 0.2em 0;
text-align: center;
border-radius: 10px;
margin-bottom: 10px;
margin-right: 0.5em;
}

.event_ymdt dt:nth-of-type(2){
margin-left: 1em;
}

.event_ymdt dd{
font-size: 4.8rem;
font-weight: 600;
color: #E50012;
}

.event_ymdt dd b{
font-size: 5.5rem;
font-weight: 600;
}

.event_copy{
font-family: "Zen Maru Gothic", serif;
font-size: 2.5rem;
font-weight: 500;
color: #000000;
margin-left: 10%;
line-height: 1.7em;
margin-bottom: 15px;
}

.wrapper{
width: 100%;
margin: 0 auto;
overflow: hidden;
padding-bottom: 55px;
position: relative;
}

.swiper-pagination-bullets{
background: #fff;
padding: 5px 5px 3px 5px;
border-radius:20px;
display: block !important;
width: auto !important;
position: absolute;
bottom: 0;
    left: 50%!important;
    transform: translateX(-50%)!important;
    -webkit-transform: translateX(-50%)!important;
    -ms-transform: translateX(-50%)!important;
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  display: inline-block;
  border-radius: 100%;
  border: 2px #E50012 solid;
  background: #fff !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #E50012 !important;
}

.event_section{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 10px;
margin-bottom: 20px;
font-family: "Zen Maru Gothic", serif;
}

.event_section div:nth-of-type(1){
order: 2;
width: 42%;
}

.event_section div:nth-of-type(2){
order: 1;
width: 54%;
}

.event_section div h4:nth-of-type(1){
background: #E50012;
color: #fff;
font-size: 2.5rem;
font-weight: 600;
border-radius: 10px;
padding-left: 0.5em;
}

.event_section div h4:nth-of-type(2){
background: #000000;
color: #fff;
font-size: 2.5rem;
font-weight: 600;
border-radius: 10px;
padding-left: 0.5em;
}

.event_section div ul{
padding-left: 2em;
margin-top: 8px;
margin-bottom: 20px;
}

.event_section div ul li{
color: #000000;
font-size: 2.2rem;
font-weight: 500;
list-style-type: disc;
margin-bottom: 5px;
}

.event_section div p{
color: #000000;
font-size: 1.8rem;
font-weight: 500;
margin-top: 8px;
line-height: 1.7em;
}

.event_data{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 30px;
}

.event_data dt{
width: 22%;
display: flex;
align-items: flex-start;
border-bottom: #000000 1px dotted;
margin-bottom: 5px;
padding-bottom: 14px;
}

.event_data dt:last-of-type{
border: none;
margin-bottom: 0;
padding-bottom: 0;
}

.event_data dt p{
color: #E50012;
font-size: 2.2rem;
font-weight: 500;
}

.event_data dt img{
width: 28px;
margin-top: 10px;
}

.event_data dd{
width: 78%;
border-bottom: #000000 1px dotted;
margin-bottom: 5px;
padding-bottom: 14px;
}

.event_data dd:last-of-type{
border: none;
margin-bottom: 0;
padding-bottom: 0;
}

.event_data dd p{
font-size: 3.0rem;
font-weight: 600;
line-height: 1.1em;
}

.event_data dd p span{
font-size: 2.2rem;
font-weight: 500;
}

.event_data dd iframe{
width: 100%;
height: 300px;
margin-top: 10px;
}

.logo_ec{
width: 25%;
position: absolute;
bottom: -1%;
right: -1%;
}

.anchor_navi{
position: fixed;
top: 35%;
right: -25px;
z-index: 99;
opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
}

.anchor_navi li{
text-align: right;
margin-bottom: 10px;
}

.anchor_navi li a{
font-size: 2.6rem;
font-weight: 500;
color: #fff;
background: #E50012;
border: #fff 2px solid;
display: inline-block;
padding: 0.1em 1.5em 0.1em 0.5em;
border-radius: 50px;
}



.anchor_navi.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}


.linesns{
width: 100px;
position: fixed;
bottom: 2%;
right: 1%;
z-index: 99;
opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
transition: 0.4s ;
}

.linesns:hover{
width: 150px;
}

.linesns.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.comments{
width: 1200px;
padding: 50px 0;
margin: 0 auto;
}

.comments li{
margin-bottom: 40px;
}

.green dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.green dl dt{
width: 12%;
}

.green dl dd{
width: 80%;
border-radius: 30px;
position: relative;
margin-top: 50px;
}

.green dl dd{
background: #BFFD91;
}

.green dl dd img{
width: 60px;
position: absolute;
top: 55px;
left: -50px;
}

.orange dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.orange dl dt{
order: 2;
width: 12%;
}

.orange dl dd{
order: 1;
width: 80%;
border-radius: 30px;
position: relative;
margin-top: 50px;
}

.orange dl dd{
background: #FDE491;
}

.orange dl dd img{
width: 60px;
position: absolute;
top: 55px;
right: -50px;
}

.comments_line li dl dd p{
padding: 3% 5%;
font-size: 2.8rem;
font-weight: 500;
}

.faq{
background: #E50012;
padding: 55px 0;
position: relative;
}

.faq_over{
width: 120%;
margin-left: -10%;
}

.faq_box{
background: #fff;
border-radius: 40px;
height: auto!important;
}

.q{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 15px;
padding: 7% 7% 0 7%;
}

.q dt{
width: 12%;
background: #E50012;
color: #fff;
font-size: 3.2rem;
font-weight: 500;
text-align: center;
line-height: 1em;
padding: 0 0.5% 0.2em 0;
border-radius: 10px;
}

.q dd{
font-size: 2.8rem;
font-weight: 500;
width: 85%;
margin-top: -5px;
}

.a{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
padding: 0% 7% 7% 7%;
}

.a dt{
width: 12%;
background: #FFFF00;
color: #E50012;
font-size: 3.3rem;
font-weight: 500;
text-align: center;
line-height: 1em;
padding: 0 0.5% 0.2em 0;
border-radius: 10px;
}

.a dd{
font-size: 1.8rem;
font-weight: 500;
width: 85%;
margin-top: -5px;
line-height: 1.8em;
}

.signup{
padding: 55px 0;
position: relative;
}

.form_box{
width: 1060px;
margin: 0 auto;
border: #E50012 3px solid;
border-radius: 40px;
padding: 40px 80px;
}

.form_dl_01{
border-bottom: #000000 2px dotted;
margin-bottom: 20px;
padding-bottom: 20px;
}

.form_dl_01 dt{
font-size: 2.8rem;
font-weight: 500;
color: #E50012;
margin-bottom: 15px;
}

.form_dl_01 dt b{
background: #000000;
color: #fff;
font-size: 1.8rem;
padding: 0.1em 0.5em;
margin-left: 0.5em;
border-radius: 10px;
}

.form_dl_01 dd{
line-height: 9em;
}

.form_dl_01 dd label{
font-size: 2.5rem;
font-weight: 500;
margin-right: 2em;
}

.form_dl_01 dd input{
width: 25px;
height: 25px;
border-radius: 5px;
}

.form_separate{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-bottom: #000000 2px dotted;
margin-bottom: 30px;
padding-bottom: 30px;
}

.form_separate li{
width: 47%;
}

.form_separate li dl{
}

.form_separate li dl dt{
font-size: 2.8rem;
font-weight: 500;
color: #E50012;
margin-bottom: 15px;
}

.form_separate li dl dd input{
width: 96%;
font-size: 2.8rem;
font-family: "Zen Maru Gothic", serif;
padding: 1% 2%;
border-radius: 10px;
border: #707070 2px solid;
}


.form_dl_02{
border-bottom: #000000 2px dotted;
margin-bottom: 30px;
padding-bottom: 30px;
}

.form_dl_02 dt{
font-size: 2.8rem;
font-weight: 500;
color: #E50012;
margin-bottom: 15px;
}

.form_dl_02 dt b{
background: #000000;
color: #fff;
font-size: 1.8rem;
padding: 0.1em 0.5em;
margin-left: 0.5em;
border-radius: 10px;
}

.form_dl_02 dd select{
font-size: 2.8rem;
font-family: "Zen Maru Gothic", serif;
font-size: 700;
border-radius: 10px;
border: #707070 2px solid;
padding: 0.2em 0.5em;
background: #fff;
}


.form_dl_03{
border-bottom: #000000 2px dotted;
margin-bottom: 30px;
padding-bottom: 30px;
}

.form_dl_03 dt{
font-size: 2.8rem;
font-weight: 500;
color: #E50012;
margin-bottom: 15px;
}

.form_dl_03 dd {
font-size: 2.8rem;
font-weight: 500;
}

.post_code{
width: 20%;
font-size: 2.8rem;
font-family: "Zen Maru Gothic", serif;
padding: 1% 2%;
border-radius: 10px;
border: #707070 2px solid;
margin-bottom: 10px;
}

.address{
width: 96%;
font-size: 2.8rem;
font-family: "Zen Maru Gothic", serif;
padding: 1% 2%;
border-radius: 10px;
border: #707070 2px solid;
}


.form_dl_04{
border-bottom: #000000 2px dotted;
margin-bottom: 30px;
padding-bottom: 30px;
}

.form_dl_04 dt{
font-size: 2.8rem;
font-weight: 500;
color: #E50012;
margin-bottom: 15px;
}

.form_dl_04 dd {
font-size: 2.8rem;
font-weight: 500;
}

.form_dl_04 dd label{

margin-right: 0.5em;
}

.form_dl_04 dd input{
width: 96%;
font-size: 2.8rem;
font-family: "Zen Maru Gothic", serif;
padding: 1% 2%;
border-radius: 10px;
border: #707070 2px solid;
}

.radio01{
width: 25px !important;
height: 25px;
padding: auto;
border-radius: 5px;
border: #707070 1px solid;
}

.form_button01{
width: 300px;
display: block;
margin: 0 auto;
position: relative;
}

.form_button01 input{
border: none;
width: 100%;
display: block;
background: #E50012;
color: #FFFF00;
	font-size:3.0rem;
font-weight: 500;
text-align: center;
padding: 4% 0 4% 0;
position: relative;
margin: 0 auto;
border-radius: 20px;
margin-bottom: 3%;
font-family: "Zen Maru Gothic", serif;
cursor: pointer;
}

.pointing04{
width: 25%;
position: absolute;
bottom: -50%;
right: -5%;
}

.form_txt{
font-size: 1.7rem;
font-family: "Zen Maru Gothic", serif;
font-weight: 500;
color: #000000;
margin-top: 5px;
margin-bottom: 10px;
}

.form_txt b{
font-size: 110%;
font-weight: 700;
background: #E50012;
color: #fff;
padding: 0 0.5em;
margin-right: 0.5em;
}

footer{
padding: 55px 0;
text-align: center;
}

footer img{
width: 572px;
margin-bottom: 35px;
}

footer p{
font-size: 2.5rem;
font-weight: 400;
line-height: 1.8em;
}


.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}


.stretch{
align-items: stretch !important;
}

.ec01{
width: 20%;
position: absolute;
top: -55px;
left: 65px;
}

.notes{
font-size: 1.5rem;
margin-bottom: 30px;
background: #FFFF00;
text-align: center;
}

.form_txt_02{
font-size: 2.0rem;
font-weight: 500;
border: #000000 3px solid;
margin-bottom: 3%;
padding: 2%;
border-radius: 20px;
}

.form_txt_02 b{
font-weight: 500;
background: linear-gradient(transparent 50%, #FFFF00 50%);
}

.reports{
width: 85px;
position: absolute;
top: -20px;
left: -9%;
}

.report_midashi{
background: #E50012;
color: #fff;
font-family: "Zen Maru Gothic", serif;
font-weight: 500;
font-size: 3.5rem;
padding: 0 0.5em;
position: relative;
border-radius: 10px;
margin-bottom: 30px;
}

.report_midashi b{
position: absolute;
top: 5%;
right: 0;
font-size: 3.0rem;
font-family: "Zen Maru Gothic", serif;
font-weight: 500;
color: #FFFF00;
}

.report_comment{
margin-bottom: 10%;
}

.report_comment li{
margin-bottom: 3%;
}

.report_comment dl dd p{
font-family: "Zen Maru Gothic", serif;
font-weight: 500;
color: #000000;
}

.adjust{
top: 30px !important;
}

.cancel{
font-size: 2.3rem;
background: #BD0210;
color: #fff;
display: inline-block;
padding: 0.4em 1em;
margin-top: 1%;
}

.cancel b{
color: #FFFF00;
border: #FFFF00 1px solid;
padding: 0 0.5em;
margin-left: 0.5em;
}

.end_news{
background: #E50012;
padding: 1% 0;
text-align: center;
color: #FFFF00;
font-size: 2.5rem;
font-weight: bold;
}

.end_txt{
font-weight: bold;
font-size: 2.5rem;
text-align: center;
}