@CHARSET "UTF-8";
/*
*** basic setting on css/normalize.css ***
*/


/* = common setting
-------------------------------------------------------------- */ 

*{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html{
  font-size: 62.5%;
  overflow-y: scroll;
}
body {
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",sans-serif;
  color: #333;
  line-height: 1.5;
  letter-spacing: 1px;
  background: #d9eaec;
}

a {
  outline: none;
  color: #333;
  text-decoration: none;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transform: translateZ(0);
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
}
a:hover {
  color: #74a64c;
}
*:focus {
  outline: none;
}
img,svg{
  max-width: 100%;
  height: auto;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  vertical-align: bottom;
  -webkit-transform: translateZ(0);
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
}
iframe{
  max-width: 100%;
}
h1,h2,h3,h4,h5,h6{
  margin: 0 0 2rem;
}
ul,dl,dt,dd{
  margin: 0;
  padding: 0;
}
li{
  list-style-type: none;
  margin: 0;
  padding: 0;
}
p{
  margin: 0 0 2rem;
}
figure{
  padding: 0;
  margin: 0;
}
.sp_none{
  display: none;
}

.btn_link{
  background: #74a64c;
  border: #74a64c solid 1px;
  color: #fff;
  display: block;
  padding: 1.5rem 1rem;
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  border-radius: 50px;
}
.btn_link:hover{
  background: #568e29;
  color: #fff;
}

.link_none{
  pointer-events: none !important;
  cursor: default !important;
  opacity: .3;
}

table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table th{
  padding: 1rem;
  text-align: left;
  border: #ccc solid 1px;
  width: 30%;
}
table td{
  padding: 1rem;
  border: #ccc solid 1px;
}

.txt_right{
  text-align: right;
}
.accordion dt{
  position: relative;
  cursor: pointer;
}
.accordion dt::after{
  content: '';
  width: 10px;
  height: 10px;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -8px;
  transform: rotate(135deg);
}
.accordion dt.open::after{
  transform: rotate(-45deg);
  margin-top: -3px;
}
.accordion dd{
  display: none;
}

.youtube_wrap{
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background: #ccc;
}
.youtube_wrap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wrapper{
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
}


.list_arrow{
  position: relative;
  padding-left: 15px;
}
.list_arrow::before{
  content: '';
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #74a64c;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.input_box{
  font-size: 1.6rem;
  padding: 5px;
  background: #f7f8f8;
  border: 0;
  box-shadow: 0 0 3px rgba(0,0,0,.5);
  border-radius: 5px;
  line-height: 1.7;
  width: 100%;
}
.short__input_box{
  width: 40%;
}
.input_check{
  width: 2rem;
  height: 2rem;
  margin-right: 5px;
  vertical-align: middle;
}
label{
  cursor: pointer;
}
button{
  cursor: pointer;
  outline: 0;
  transition: .3s;
  font-weight: bold;
}

.form_box__wrap{
  padding: 4rem 5%;
  box-shadow: 0 0 3px rgba(0,0,0,.3);
  border-radius: 10px;
  background: #fff;
}
.form_box{
  margin-bottom: 3rem;
}

.form_box dt{
  font-weight: bold;
  margin-bottom: 5px;
}
.form_box dd{
  margin-bottom: 2rem;
}
.form_check{
  text-align: center;
}
.input_error p{
  color: #a40000;
  font-size: 1.2rem;
  margin: .5rem 0 0;
}
.input_success p{
  font-size: 1.2rem;
  margin: .5rem 0 0;
  color: #009e96;
}
.submit_wrap p{
  text-align: center;
  margin-top: 2rem;
}
.required{
  background: #a40000;
  display: inline-block;
  padding: 1px 5px;
  font-size: 1rem;
  margin-right: 1rem;
  border-radius: 5px;
}


.thumbnail_box{
  overflow: hidden;
  position: relative;
}
.thumbnail_box::before{
  content: '';
  background: #eee;
  width: 100%;
  padding-top: 75%;
  display: block;
}
.thumbnail_box img{
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}


/* =RWD
-------------------------------------------------------------- */

@media screen and (min-width: 760px){
  .pc_none{
    display: none;
  }
  .sp_none{
    display: block;
  }
  a[href*="tel:"] {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
    color: inherit !important;
  }
  table th{
    padding: 2rem;
    vertical-align: top;
    width: 250px;
  }
  table td{
    padding: 2rem;
  }
  .form_box__wrap{
    padding: 4rem 8rem 3rem;
  }
}
@media screen and (min-width: 1024px){
  html{
    font-size: 75%;
  }
  .input_box{
    font-size: 1.4rem;
  }
}