#camp_27_11{
  background-color: #f2f4f4;
}

#camp_27_11 .sp{
  display: block;
}
#camp_27_11 .pc{
  display: none;
}

#camp_27_11 p,
#camp_27_11 li,
#camp_27_11 a,
#camp_27_11 button{
  font-size: clamp(13px,88vw,14px);
  line-height: 1.5;
  font-weight: 700;
}

#camp_27_11 .link{
  color: #0f9ca7;
  text-decoration: underline;
  &:hover{
    color: #fa621b;
  }
}

#camp_27_11 .flex{
  display: flex;
}

#camp_27_11 .red{
  color: #e84a57;
}

#camp_27_11 .bg_red{
  background-color: #e84a57;
}

#camp_27_11 .blue{
  color: #0f9ca7;
}

#camp_27_11 .bg_blue{
  background-color: #0f9ca7;
}

#camp_27_11 .radius_hd_red,#camp_27_11 .radius_hd_blue{
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  width: 200px;
  height: 25px;
  border-radius: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 16px;
  padding-top: 2px;
}

#camp_27_11 .point_list li{
  padding-left: 16px;
  margin-bottom: 8px;
  position: relative;
  text-align: left;
  &::before{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #2d3636;
    position: absolute;
    left: 0;
    top: 8px;
    z-index: 1;
  }
}

#camp_27_11 .common_hd{
  font-size: 24px;
  line-height: 1.3;
  text-align: center;
  padding-bottom: 24px;
}

#camp_27_11 .radius_hd_red{
  background-color: #e84a57;
}

#camp_27_11 .radius_hd_blue{
  background-color: #0f9ca7;
}

#camp_27_11 .text_margin{
  padding-bottom: 16px;
}

#camp_27_11 .white_block{
  background-color: #fff;
  padding: 24px 16px;
  border-radius: 4px;
}

#camp_27_11 .gray_block{
  background-color: #f2f4f3;
  border-radius: 4px;
  padding: 16px;
}

#camp_27_11 .caution{
  font-size: 12px;
  font-weight: normal;
  line-height: 1.3;
}

#camp_27_11 .scroll_area{
  width: 100%;
  height: 80px;
  background-color: #fff;
  box-shadow: 0px -2px 4px 0 rgba(0,0,0,0.2);
  position: fixed;
  bottom: 0;
  z-index: 1000;
  transition: .2s cubic-bezier(0.76, 0, 0.24, 1);
  .flex{
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
  }
}

#camp_27_11 .contents .contents_inner{
  height: 0;
  overflow: hidden;
  transition: .6s cubic-bezier(0.76, 0, 0.24, 1);
}

#camp_27_11 .mv_wrapper{
  position: relative;
  width: 100%;
  height: 600px;
  .mv_area{
    position: relative;
    z-index: 1;
    padding: 16px 16px 0;
  }
  .bg_wrapper{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    .flex{
      width: 100%;
      height: 100%;
      .red_block,.blue_block{
        width: 50%;
        height: 100%;
      }
      .red_block{
        background-color: #e84a57;
        background-image: repeating-linear-gradient(-45deg, #f75267 0 3px,#e84a57 3px 7px);        
      }
      .blue_block{
        background-color: #0f9ca7;
        background-image: repeating-linear-gradient(-45deg, #12b1b5 0 3px,#0f9ca7 3px 7px);        
      }
    }
  }
}

#camp_27_11 .ribbon_red,#camp_27_11 .ribbon_blue{
  position: relative;
  &::before{
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

#camp_27_11 .ribbon_red{
  &::before{
    background-image: url('/special/2025/camp_27_11/images/ribbon_red.webp');
  }
}

#camp_27_11 .ribbon_blue{
  &::before{
    background-image: url('/special/2025/camp_27_11/images/ribbon_blue.webp');
  }
}

#camp_27_11 .common_btn{
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 14px;
  text-align: center;
  width: 250px;
  height: 40px;
  border-radius: 4px;
}

#camp_27_11 .blue_btn{
  background-color: #0f9ca7;
  color: #fff;
  border: 2px solid #0f9ca7;
  transition:  .6s cubic-bezier(0.76, 0, 0.24, 1);
  &:hover{
    background-color: #fff;
    color: #0f9ca7;
  }
}

#camp_27_11 .orange_btn{
  background-color: #fa621b;
  box-shadow: 3px 3px 0px 0px rgba(175,58,18,0.75);
  transition:  .6s cubic-bezier(0.76, 0, 0.24, 1);
  &:hover{
    transform: translate(3px,3px);
    box-shadow: none;
  }
}

#camp_27_11 .mv_wrapper{
  margin-bottom: 24px;
  .mv_area{
    .mv_inner{
      h1{
        .sp{
            max-height: 550px;
        }
      }
    }
  }
}

#camp_27_11 .about_wrapper{
  padding-bottom: 40px;
  .about_area{
    padding: 0 16px;
    .lead_text_block{
      text-align: center;
      padding-bottom: 16px;
    }
    .white_block{
      padding: 24px 0 0;
      margin-bottom: 32px;
      .doc_title{
        font-size: 18px;
        font-weight: 700;
        padding-bottom: 16px;
        text-align: center;
      }
      .date{
        text-align: center;
        padding-bottom: 16px;
      }
      .contents{
        .contents_inner{
          .flex{
            display: block;
            .img{
              margin-bottom: 16px;
              img{
                max-width: 200px;
                margin: 0 auto;
              }
            }
            .text_block{
              padding: 16px;
              .gray_block{
                h3{
                  font-size: 16px;
                  padding-bottom: 16px;
                }
              }
            }
          }
        }
        .sp_accordion_btn{
          width: 100%;
          height: 30px;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #fff;
          font-size: 14px;
          font-weight: 700;
          border: none;
          span{
            position: relative;
            &::after{
              content: '';
              display: block;
              width: 18px;
              height: 5px ;
              border-top: solid 5px #fff;
              border-right: solid 9px transparent;
              border-left: solid 9px transparent;
              border-bottom: solid 5px transparent;
              position: absolute;
              right: -24px;
              bottom: 3px;
              transition:  .6s cubic-bezier(0.76, 0, 0.24, 1);
            }
          }
        }
        .sp_accordion_btn.btn_active span::after{
          transform: rotate(180deg);
          bottom: 9px;
        }
      }
    }
    .text{
      padding-bottom: 16px;
    }
    .caution{
      text-align: center;
    }
  }
}

#camp_27_11 .entry_wrapper{
  background-color: #e84a57;
  background-image: repeating-linear-gradient(-45deg, #f75267 0 3px,#e84a57 3px 7px);
  padding: 40px 16px;
  .entry_area{
      .common_hd{
        color: #fff;
        padding-bottom: 24px;
      }
      .white_block{
        position: relative;
        padding: 40px 16px 24px;
        .text{
          padding-bottom: 16px;
        }
        .common_btn{
          margin: 0 auto;
        }
        .gray_block{
          .contents{
            padding-bottom: 32px;
            .red_border_btn{
              color: #e84a57;
              border-bottom: solid 2px #e84a57;
              &::before,&::after{
                background-color: #e84a57;
              }
            }
            .blue_border_btn{
              color: #0f9ca7;
              border-bottom: solid 2px #0f9ca7;
              &::before,&::after{
                background-color: #0f9ca7;
              }
            }
            .contents_inner{
              visibility: visible;
              height: auto;
            }
          }
          .contents:nth-last-of-type(1){
            padding-bottom: 0;
          }
        }
      }
      .white_block:nth-of-type(1){
        margin-bottom: 72px;
        .text{
          text-align: center;
        }
        &::after{
          content: '';
          display: block;
          width: 46px;
          height: 40px;
          border-top: solid 20px #fff;
          border-right: solid 22.5px transparent;
          border-left: solid 22.5px transparent;
          border-bottom: solid 20px transparent;
          position: absolute;
          bottom: -68px;
          left: 0;
          right: 0;
          margin: 0 auto;
        }
      }
      .step_1,.step_2{
        &::before{
          content: '';
          display: block;
          width: 100px;
          height: 24px;
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          left: 0;
          top: 0;
          z-index: 1;
        }
      }
      .step_1{
        &::before{
          background-image: url('/special/2025/camp_27_11/images/step_1.svg');
        }
      }
      .step_2{
        margin-top: 72px;
        &::before{
          background-image: url('/special/2025/camp_27_11/images/step_2.svg');
        }
      }
    }
}

#camp_27_11 .get_wrapper{
  padding: 40px 16px;
  .get_area{
    .common_hd{
      text-align: center;
      padding-bottom: 64px;
      position: relative;
      &::after{
        content: '';
        display: block;
        width: 45px;
        height: 40px;
        border-top: solid 20px #e84a57;
        border-right: solid 22.5px transparent;
        border-left: solid 22.5px transparent;
        border-bottom: solid 20px transparent;
        position: absolute;
        right: 0;
        left: 0;
        bottom: 2px;
        margin: 0 auto;
      }
    }
    .white_block{
      h3{
        font-size: 18px;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        padding-bottom: 8px;
        color: #e84a57;
      }
      .text{
        text-align: center;
      }
      .btn_block{
        margin-top: 16px;
        .flex{
          flex-wrap: wrap;
          justify-content: space-between;
          gap: 24px 0;
          .common_btn{
            width: 36vw;
            min-width: 140px;
            height: 40px;
            border-radius: 4px;
            padding: 0 8px;
            font-size: 12px;
            line-height: 1.3;
          }
        }
      }
    }
    .white_block:nth-of-type(1){
      margin-bottom: 24px;
    }
  }
}

#camp_27_11 .situation_wrapper{
  padding: 40px 16px 40px;
  .situation_area{
    .common_hd{
      text-align: center;
      padding-bottom: 24px;
    }
    .white_block{
      padding: 24px 32px;
      .info_area{
        padding: 0 16px 0;
        .flex{
          display: block;
          .gray_block{
            margin-bottom: 16px;
            .flex{
              display: flex;
              justify-content: space-between;
              align-items: center;
              .text{
                width: 60%;
                font-size: 12px;
                text-align: center;
              }
              .right_text{
                width: 40%;
                img{
                  max-width: 90px;
                  margin: 0 auto;
                }
              }
            }
          }
        }
      }
      .advice_area{
        .flex{
          display: block;
          .fukidashi{
            width: 100%;
            padding-bottom: 16px;
          }
          .illust{
            margin: 0 auto;
            max-width: 165px;
            padding-bottom: 16px;
          }
        }
        .advice{
          font-size: 18px;
          text-align: center;
          color: #e84a57;
          padding-bottom: 8px;
          letter-spacing: 0.025em;
        }
      }
    }
  }
}

#camp_27_11 .detail_wrapper{
  padding: 40px 16px 80px;
  .detail_area{
    .white_block{
      .detail_block{
        padding-bottom: 32px;
        h3{
          font-size: 16px;
          font-weight: 700;
          padding-bottom: 16px;
          color: #e84a57;
          text-align: center;
        }
        p{
          text-align: center;
          font-weight: normal;
        }
        .contents{
          padding: 24px 0 0;
          h4{
            font-size: 14px;
            text-align: center;
            padding-bottom: 8px;
            span{
              position: relative;
              &::before,&::after{
                content: '';
                display: block;
                width: 40px;
                height: 1px;
                background-color: #2d3636;
                position: absolute;
                bottom: 9px;
              }
              &::before{
                left: -50px;
              }
              &::after{
                right: -50px;
              }
            }
          }
        }
        .point_list{
          li{
            font-weight: normal;
          }
        }
      }
      .detail_block:nth-last-of-type(1){
        padding-bottom: 0;
      }
    }
  }
}

@media screen and (max-width: 768px) {
    .l_siteWrap.bg-trp .l_siteContents {
        padding-top: 0;
    }
}

@media screen and (min-width:769px){

#camp_27_11 .sp{
  display: none;
}
#camp_27_11 .pc{
  display: block;
}

#camp_27_11 p,
#camp_27_11 li,
#camp_27_11 a,
#camp_27_11 button{
  font-size: 16px;
  line-height: 1.5;
}

#camp_27_11 .common_hd{
  font-size: 32px;
}

#camp_27_11 .common_btn{
  width: 250px;
  height: 40px;
}

#camp_27_11 .white_block{
  padding: 32px 24px;
}

#camp_27_11 .contents .contents_inner{
  height: auto;
  overflow: visible;
}

#camp_27_11 .mv_wrapper{
  position: relative;
  width: 100%;
  height: 400px;
  .mv_area{
    position: relative;
    z-index: 1;
    padding: 16px 0 0;
    .mv_inner{
      max-width: 757px;
      margin: 0 auto;
    }
  }
  .bg_wrapper{
      .red_block{
        background-color: #e84a57;
        background-image: repeating-linear-gradient(-45deg, #f75267 0 4px,#e84a57 4px 7px);        
      }
      .blue_block{
        background-color: #0f9ca7;
        background-image: repeating-linear-gradient(-45deg, #12b1b5 0 4px,#0f9ca7 4px 7px);        
      }
    }
  }

#camp_27_11 .about_wrapper{
  .about_area{
    padding: 0;
    max-width: 960px;
    margin: 0 auto;
    .lead_text_block{
      text-align: center;
      padding-bottom: 16px;
    }
    .text{
      text-align: center;
    }
    .white_block{
      text-align: center;
      padding: 32px 0;
      margin-bottom: 32px;
      .doc_title{
        img{
          margin: 0 auto;
        }
      }
      .contents{
        .contents_inner{
          .flex{
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 48px;
            .img{
              width: 220px;
              img{
                max-width: none;
                margin: 0 auto;
              }
            }
            .text_block{
              width: 510px;
              .text{
                text-align: justify;
              }
              .gray_block{
                h3{
                  font-size: 16px;
                  padding-bottom: 16px;
                  text-align: left;
                }
                .point_list{
                  li{
                    text-align: left;
                  }
                }
              }
            }
          }
        }
        .sp_accordion_btn{
          display: none;
        }
        .sp_accordion_btn.btn_active span::after{
          transform: rotate(180deg);
          bottom: 9px;
        }
      }
    }
    .ribbon_red{
      .doc_title{
        img{
          max-width: 625px;
        }
      }
    }
    .ribbon_blue{
      .doc_title{
        img{
          max-width: 428px;
        }
      }      
    }
    .text{
      padding-bottom: 16px;
    }
    .caution{
      text-align: center;
    }
  }
}

#camp_27_11 .ribbon_red,
#camp_27_11 .ribbon_blue{
  position: relative;
  &::before{
    width: 60px;
    height: 60px;
  }
  &::after{
    content: '';
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(180deg);
  }
}

#camp_27_11 .ribbon_red{
  border: 4px solid #e84a57;
  &::after{
    background-image: url('/special/2025/camp_27_11/images/ribbon_red.webp');
  }
}

#camp_27_11 .ribbon_blue{
  border: 4px solid #0f9ca7;
  &::after{
    background-image: url('/special/2025/camp_27_11/images/ribbon_blue.webp');
  }
}

#camp_27_11 .entry_wrapper{
  padding: 40px 0;
  .entry_area{
    max-width: 960px;
    margin: 0 auto;
      .white_block{
        padding: 40px 0 32px;
        .text{
          text-align: center;
          padding-bottom: 24px;
        }
        .common_btn{
          margin: 0 auto;
        }
        .gray_block{
          width: 600px;
          margin: 0 auto;
          .contents{
            padding-bottom: 0;
            .contents_inner{
              div{
                width: 450px;
                margin: 0 auto;
                .radius_hd_red,.radius_hd_blue{
                  display: flex;
                }
              }
            }
            .contents_inner.active{
              margin-bottom: 24px;
            }
          }
          .contents:nth-of-type(1){
            padding-bottom: 32px;
          }
        }
      }
      .white_block:nth-of-type(1){
        margin-bottom: 72px;
        .text{
          text-align: center;
        }
        &::after{
          content: '';
          display: block;
          width: 46px;
          height: 40px;
          border-top: solid 20px #fff;
          border-right: solid 22.5px transparent;
          border-left: solid 22.5px transparent;
          border-bottom: solid 20px transparent;
          position: absolute;
          bottom: -68px;
          left: 0;
          right: 0;
          margin: 0 auto;
        }
      }
      .step_1,.step_2{
        &::before{
          content: '';
          display: block;
          width: 100px;
          height: 24px;
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          left: 0;
          top: 0;
          z-index: 1;
        }
      }
      .step_1{
        &::before{
          background-image: url('/special/2025/camp_27_11/images/step_1.svg');
        }
      }
      .step_2{
        margin-top: 72px;
        &::before{
          background-image: url('/special/2025/camp_27_11/images/step_2.svg');
        }
      }
    }
}

#camp_27_11 .get_wrapper{
  padding: 40px 0;
  .get_area{
    max-width: 960px;
    margin: 0 auto;
    .white_block{
      h3{
        font-size: 24px;
      }
      .btn_block{
        .flex{
          justify-content: none;
          gap: 25px 35px;
          .common_btn{
            width: 200px;
            font-size: 14px;
          }
        }
      }
    }
    .white_block:nth-of-type(1){
      margin-bottom: 24px;
    }
  }
}

#camp_27_11 .situation_wrapper{
  padding: 40px 0 40px;
  .situation_area{
    max-width: 960px;
    margin: 0 auto;
    .common_hd{
      text-align: center;
      padding-bottom: 24px;
      .caution{
        color: #2d3636;
      }
    }
    .white_block{
      padding: 32px 24px;
      .info_area{
        padding: 0 0 0;
        .flex{
          display: flex;
          justify-content: space-between;
          margin-bottom: 16px;
          .gray_block{
            width: 280px;
            height: 100px;
            margin-bottom: 0;
            .flex{
              width: 100%;
              height: 100%;
              display: block;
              .text{
                width: 100%;
                font-size: 16px;
                padding-bottom: 8px;
              }
              .right_text{
                width: 100%;
                #situ_pc_1{
                    max-width: 120px;
                }
                #situ_pc_2{
                    max-width: 109px;
                }
                #situ_pc_3{
                    max-width: 90px;
                }
              }
            }
          }
        }
      }
      .advice_area{
        .flex{
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 40px;
          margin-bottom: 24px;
          .fukidashi{
            max-width: 180px;
            padding-bottom: 0;
          }
          .illust{
            margin: 0;
            max-width: 160px;
            padding-bottom: 0;
          }
        }
        .advice{
          padding-bottom: 24px;
        }
      }
    }
  }
}

#camp_27_11 .detail_wrapper{
  padding: 40px 0 80px;
  .detail_area{
    max-width: 960px;
    margin: 0 auto;
    .white_block{
      .detail_block{
        padding: 0 180px 32px;
        h3{
          text-align: left;
          font-weight: 700;
          font-size: 18px;
        }
        .link{
          font-size: 14px;
        }
        p{
        text-align: left;
        font-size: 14px;
        }
        .caution{
          font-size: 12px;
        }
        .contents{
          width: 450px;
          padding: 24px 0 0;
          h4{
            text-align: left;
            font-size: 14px;
            padding-bottom: 8px;
            padding-left: 51px;
            span{
              position: relative;
              &::before,&::after{
                content: '';
                display: block;
                width: 40px;
                height: 1px;
                background-color: #2d3636;
                position: absolute;
                bottom: 9px;
              }
              &::before{
                left: -50px;
              }
              &::after{
                right: -50px;
              }
            }
          }
          p{
            text-align: left;
          }
        }
        .point_list{
          li{
            font-size: 14px;
          }
        }
      }
      .detail_block:nth-last-of-type(1){
        padding-bottom: 0;
      }
    }
  }
}

}