@charset "UTF-8";
/* CSS Document */


@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap');

html{
    font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
	font-size:1.6rem;/* 16px*/
	line-height: 1.9;
	-webkit-text-size-adjust: 100%;
  color:#000;
  }

a{color:#000; text-decoration:none;}
a.u-line{
  text-decoration: underline;
}
a:hover{
	opacity:0.6;
	transition: 0.3s all;}
	
img{
	max-width: 100%;
	height: auto;
}  

.Contents{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

section + section{
  margin-top: 150px;
}
.bold{font-weight: bold;}
.small{font-size: 1.4rem}

@media screen and (min-width:768px){.pc_hidden{display: none;}}
@media screen and (max-width:767px) {.sp_hidden{display: none;} body {font-size: 1.4rem;}
section + section{
  margin-top: 100px;
}}

.camp_wrapper{
  position: relative;
  overflow:clip;
}

.camp_bg_left{
  position: absolute;
  top: 400px;
  left: 0;
  z-index: 0;
  width: 24%;
}

.camp_bg_right{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 21%;
}


@media screen and (max-width:1024px) {
  .camp_bg_left{
    width: 20%;
    top: 350px;}
    
  .camp_bg_right{
    width: 18%;
    top: 150px;}
}
@media screen and (max-width:767px) {
  .camp_bg_left{top: 250px;}
  .camp_bg_right{top: 280px;}
  
}

/*header*/
header{
  padding: 20px 30px;
  position: absolute;
  top: 0;
  width: 100%;
  display: flex;
  z-index: 10;
  justify-content: space-between;
  box-sizing: border-box;
  align-items: center;
}
h1{
  width: 170px;
}

nav ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
nav ul li {
  padding: 0 15px;
  font-weight: 500;
  display: inline-block;
}

@media screen and (max-width:1024px) {
  header{
    padding: 10px;}
  h1{
    position: absolute;
    top: 10px;
    left: 10px;
    width: 120px;
  }
  header .btn{
    position: absolute;
    top: 20px;
    right: 10px;
  }
  nav{
    width: 100%;
    padding-top: 100px;
  }
}
@media screen and (max-width:767px) {
  nav{ padding-top: 80px;}
  nav ul{justify-content: space-around}
  nav ul li{padding: 0 ;}
}

/*btn*/
.btn a {
  background: linear-gradient(90deg, rgba(234, 84, 4, 1) 0%, rgba(246, 171, 0, 1) 100%);
  display: block;
  color: #FFF;
  padding: 20px 60px 20px 40px;
  line-height: 1;
  border-radius: 50px;
  font-weight: 700;
  text-align: center;
  box-sizing: border-box;
  position: relative;
  border: none;
  cursor: pointer;
}


.btn a:after{
  content: '';
  display: block;
  background: url("../images/arrow_wh-2.png") no-repeat 0 0;
  width: 22px;
  height: 8px;
  background-size: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 25px;
  transition: 0.3s;
}


@media screen and (min-width:768px) {
  .btn a:hover:after {
    right: 20px;
    transition: 0.3s;
  }
}
@media screen and (max-width:767px) {
  .btn a, .btn input {
    padding: 10px 40px 10px 20px;
    font-size: 1.2rem;
  }
  .btn a:after{
    right: 15px;
  }
  
}

/*camp_kv*/
.camp_kv_wrap{
  position: relative;
  padding-top: 140px;
}
.camp_kv{
  width: 45%;
  position: relative;
  text-align: center;
  margin: 0 auto;
}
.camp_kv_left{
  position: absolute;
  width: 28%;
  left: -3%;
  top: 220px;
  z-index: 1;
}
.camp_kv_right{
  position: absolute;
  width: 33%;
  right: -5%;
  top: 120px;
  z-index: 1;
}
.camp_kv_logo{
  max-width: 500px;
  margin: 0 auto 30px auto;
}
.ttl_ribbon_img{
  max-width: 360px;
  margin: 0 auto 30px auto;
}

.ttl_ribbon {
  display: inline-block;
  position: relative;
  height: 50px;/*リボンの高さ*/
  line-height: 1.5;
  text-align: center;
  padding: 0 30px;/*横の大きさ*/
  font-size: 1.8rem;
  background: #ea5404;
  color: #FFF;
  font-weight: 500;
  box-sizing: border-box;
}

.ttl_ribbon:before, .ttl_ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ttl_ribbon:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ttl_ribbon:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.camp_kv_ttl1{
  font-size: 2.8rem;
  margin: 50px 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.camp_kv_ttl2{
  line-height: 1;
  font-size: 8rem;
  font-weight: 700;
  margin-right: -0.5em;
}
.camp_lead{
  font-size: 1.8rem;
  margin: 40px 0;
  text-align: center;
}
.marker{
  background:linear-gradient(transparent 80%, #fdf400 80%);
}


@media screen and (max-width:1024px) {
  .camp_kv_wrap{padding-top: 180px;}
  .camp_kv_logo{width: 70%;}
  .camp_kv{
      width: 80%;
      position: relative;
      text-align: center;
      margin: 0 auto;
    }
    .camp_kv_left{
      width: 20%;
    }
    .camp_kv_right{
      width: 25%;
      top: 140px;
    }
    .camp_kv_ttl1{font-size: 2.2rem;}
    .camp_kv_ttl2{font-size: 6rem;}
}
@media screen and (max-width:767px) {
  .camp_kv_wrap{padding-top: 160px;}
  .camp_kv_left{top: 200px;}
  .camp_kv_right{top: 200px;}
  .camp_kv{
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
  }
  .camp_kv_logo{
    width: 60%;
  }
  .ttl_ribbon_img{
    z-index: 100;
    max-width: 250px;}
    
  .ttl_ribbon {
    height: 100px;
    font-size: 1.4rem;}
  .camp_kv_ttl1{font-size: 1.6rem;}
  .camp_kv_ttl2{font-size: 4rem;}  
  .camp_lead{
    font-size: 1.4rem;
    text-align: left;
  }
}

/*footer*/
footer{
  background: url("../images/cycamp/bg_footer.png") no-repeat top left #F6F5ED;
  background-size: 100%;
  padding: 0px 30px 30px 30px;
  margin-top: 150px;
}
.foot_logo{
  text-align: center;
}
.foot_logo img{
  max-width: 210px;
}
.foot_nav{
  padding: 40px 0;
  display: flex;flex-wrap: wrap;
  justify-content: center;
}
.foot_nav li{
  display: block;
  font-weight: 500;
  margin: 0 20px;
}
.foot_cy_logo img{
  width: 170px;
}
.foot_bottom{
  font-size: 1.4rem;
}

@media screen and (min-width:768px) {
  .foot_bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .foot_bottom_right{
    display: flex;
  }
  .foot_bottom_right p + p{
    margin-left: 30px;
  }
}
@media screen and (max-width:767px) {
  .foot_bottom{
    text-align: center;
  }
  .foot_nav li{
    margin: 10px 0;
    text-align: center;
    width: 100%;}
    
  .foot_cy_logo{
    margin-bottom: 20px;
  }
  .foot_bottom_right p + p{margin-top: 20px;}
}


/*camp_program*/
.camp_program{
 text-align: center;
}
.sttl{
  text-align: center;
}
.sttl h2{
  line-height: 1.2;
  display: inline-block;
  font-weight: 700;
  font-size: 4rem;
}
.ssttl{
  font-weight: 700;
  font-size: 3rem;
}
.img-program{
  max-width: 900px;
  margin: 40px auto;
}
.wave_top{
  margin-top: 200px;
}
.camp_example{
  background: #F6F5ED;
  padding-bottom: 50px;
}
.lead_camp_example{
  font-size: 2.4rem;
  margin-bottom: 40px;
  text-align: center;
  font-weight: 700;
}
.camp_exampl_box{
  text-align: center;
}
.camp_exampl_ttl{
  font-size: 2rem;
  font-weight: 700;
  margin: 10px 0;
}
.camp_exampl_txt{
  font-size: 1.8rem;
}
.camp_exampl_box{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width:768px) {
 .camp_example_list{
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 .camp_exampl_box{
   width: 30.333333%;
   margin: 0 1%;
   margin-bottom: 60px;
 }
}


@media screen and (max-width:1024px) {
  .sttl h2{font-size:3.6rem;}
  .ssttl{font-size:2.4rem;}
  .lead_camp_example{
  font-size: 2rem;}
  
  .camp_exampl_box{
   width: 48%;
   margin: 0 1%;
   margin-bottom: 60px;
 }
  
}
@media screen and (max-width:767px) {
  .sttl h2{font-size:2.2rem;}
  .ssttl{font-size:1.8rem;}
  .wave_top{
    margin-top: 100px;
  }
  .lead_camp_example{
  font-size: 1.8rem;}
  
  .camp_exampl_box{
    margin:0 0 60px 0;
    width: 100%;
    ;
  }
  .camp_exampl_ttl{font-size: 1.6rem;}
  .camp_exampl_txt{font-size: 1.4rem;}
}


/*voice*/
.ttl_section{
  text-align: center;
  margin-bottom: 40px;
}
.ttl_section img{
  max-height: 55px;
  width: auto;
}

@media screen and (min-width:1260px) {
  .voice_box:nth-of-type(1) img{
    transform: translateX(-70px)
  }
  .voice_box:nth-of-type(2) img{
    transform: translateX(70px)
  }
}
@media screen and (min-width:768px) {
  
  .voice_box img{
    width: 64.72%;
  }
  .voice_box:nth-of-type(even){
    text-align: right;
  }
  
  
}
@media screen and (max-width:767px) {
  .ttl_section img{
    max-height: 28px;}
  
  .voice_box{
    margin-bottom: 20px;
  }
}


/*contact*/
table.FormList{
  max-width: 750px;
  margin: 30px auto;
}

table.FormList th,
table.FormList td{
  text-align: left;
  font-size: 1.8rem;
  padding: 20px;
  vertical-align: middle;
}

table.FormList th {
  white-space: nowrap;
  font-weight: 700;
}


input.wpcf7-text{
	height:60px;
  border-radius: 60px;
	padding:10px 20px;
	border:none;
  background: #f6f5ee;
  font-size: 1.8rem;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
	}			

	
textarea{
  font-size: 1.8rem;
	border-radius: 30px;
	padding:20px;
	border:none;
  background: #f6f5ee;
  width: 100%;
  box-sizing: border-box;
  min-height: 200px;}

/*セレクトボックス*/
select::-ms-expand {
  display: none !important;
}
.select{
  position: relative;
}
.select .wpcf7-form-control {
   background: #f6f5ee;
   -webkit-appearance: none;
	-moz-appearance: none;
   border: none;
   width: 100%;
   height: 60px;
   padding: 10px 40px 10px 20px;
   font-size: 1.8rem;
   box-sizing: border-box;
	border-radius: 60px;
  
}
.select:after{
  content: '';
  display: block;
  background: url("../images/select.png") no-repeat 0 0;
  width: 10px;
  height: 27px;
  background-size: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

/*ラジオボタン*/
.wpcf7-radio{
  display: flex;
}
.wpcf7-list-item + .wpcf7-list-item{
  margin-left: 30px;}
  
.custom_radio input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.custom_radio .wpcf7-list-item.first {
  margin-left: 0;
}

.custom_radio span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.custom_radio span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  border: 2px solid #CCC;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.custom_radio span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 12px;
  height: 12px;
  background-color: #00A9E7;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

.custom_radio input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}
/*チェックボックス*/
.agree .check-box{
  margin-top: 20px;
}
.check-box input{
  display: none;
}
.wpcf7-list-item-label{
  padding-left: 30px;
  font-size: 1.6rem;
  position:relative;
  display: inline-block;
  
}
.wpcf7-list-item-label::before{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 18px;
  height: 18px;
  background: #FFF;
  border:2px solid #CCC;
}
.check-box input:checked + .wpcf7-list-item-label{
  color:#ea5404;
}
.check-box input:checked + .wpcf7-list-item-label::before{
	 background: #ea5404;
   border:2px solid #ea5404;
}
.check-box input:checked + .wpcf7-list-item-label::after{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 6px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #FFF;
  border-right: 3px solid #FFF;
 
}  

.form_btn{
  width: 330px;
  margin: 0 auto;
  position: relative;
}
.form_btn input{
  color: #FFF;
  padding: 30px 60px 30px 40px;
  line-height: 1;
  border-radius: 50px;
  font-weight: 700;
  text-align: center;
  border: none;
  font-size: 2rem;
  background: linear-gradient(90deg, rgba(234, 84, 4, 1) 0%, rgba(246, 171, 0, 1) 100%);
  display: block;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}
.form_btn:after{
  content: '';
  display: block;
  background: url("../images/arrow_wh-2.png") no-repeat 0 0;
  width: 22px;
  height: 8px;
  background-size: 100%;
  position: absolute;
  top: 35px;
  margin: auto;
  right: 25px;
  transition: 0.3s;
}
.form_btn input:hover{
  opacity:0.6;
	transition: 0.3s all;
}


.wpcf7 span.wpcf7-not-valid-tip{
	display:inline;
	color:#F05673;
	padding-left:5px;
	font-size:79%;}
  
.wpcf7 .wpcf7-not-valid{
	border:1px solid #F05673;}
	



.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 40px 0;
	padding: 20px;
	border: none;
  font-size: 1.8rem;
  color: #DB4145;
  background: #FFF;
  text-align: center;}

.wpcf7 form.sent .wpcf7-response-output {
	border: none;
}

/*送信ローディング*/	
.wpcf7-spinner {
	visibility: hidden;
	display: block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 50px auto;
	position: relative;
}  

	
	
	
	@media screen and (max-width:767px) {
    
    input.wpcf7-text,
    textarea,
    .select .wpcf7-form-control{font-size: 1.4rem;}
    
    table.FormList th,
    table.FormList td{
      display: block;
      padding: 0;
      font-size: 1.4rem;
    }
     table.FormList th{
       padding-top: 10px;
       border-bottom: none;
       padding-bottom: 10px;
     }
     table.FormList td{padding-bottom: 10px;}
     
     .form_btn{width: 100%;}
     .form_btn:after{top: 23px;}
     .form_btn input{font-size: 1.6rem; padding: 20px 30px 20px 20px;}
     
}


/*fadein*/  
@keyframes fadeIn {
    0% {opacity: 0;}
    100% {opacity: 1}}

.top_fadein{animation: fadeIn 2s ease 0s 1 normal;}

.fadein {
  opacity: 0;
  transition : all 1500ms;
  visibility: hidden;
  }
.fadein-up {
  opacity: 0;
  transform : translate(0, 40px);
  transition : all 1500ms;
  visibility: hidden;
  
  }
  
.fadein-up.fadein-up-l{
  transform : translate(0, 100px);
}


.fadein-right{
  opacity: 0;
  transform : translate(40px, 0);
  transition : all 1500ms;
  visibility: hidden;
  }
.fadein-left{
  opacity: 0;
  transform : translate(-40px, 0);
  transition : all 1500ms;
  visibility: hidden;
  }  

.fadein.scrollin,
.fadein-up.scrollin,
.fadein-right.scrollin,
.fadein-left.scrollin{
  opacity: 1;
  transform: translate(0, 0);
  visibility: visible;
}

/*順番にフェードイン*/
.fadein-order {
  opacity: 0;
  transform : translate(0, 60px);
  transition : all 1500ms;
  visibility: hidden;
}
.fadein-order.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  visibility: visible;
}