@charset "UTF-8";
@font-face{font-family:"Noto Sans JP";font-display:swap;src:url(../fonts/NotoSansJP-VariableFont_wght.ttf)format("truetype")}
html {
  background: #fff;
  overflow-x: hidden;
}
body {
  width: 100% !important;
  height: 100% !important;
  background: url("../images/bg.png") left top;
  background-size: 1000px !important;
  background-repeat: repeat !important;
  overflow-x: hidden;
  margin:0 !important;
  padding: 0 !important;
}
/**reset**/
#main-wrap , .main , .col-1{margin:0 auto !important;padding: 0!important;}
 {margin:0 !important;}
header {display:none;}
#pankuzu_v2 {display:none;}
#common {margin:0 !important;}
footer {margin:0 !important;}
/**reset**/
main {
  font-size: 16px;
  color: #444;
  line-height: 200%;
  font-family:'Noto Sans JP','Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
  margin: 0;
}
img { width: 100%;}
a {
  font-family:'Noto Sans JP','Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
  opacity: 1;
  transition: all .3s;
  color: #ccc;
}
a:hover {
  opacity: 0.8;
  transition: all .3s;
}
h1.title {display:none;}
.spinner {
  width: 50px;
  height: 50px;
  margin: 10rem auto 0 auto;
  text-align: center;
  border: 5px solid #c0c0c0;
  border-top: 5px solid #4caf50;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
h1.h2,h3,h4,h5 {
  font-family:'Noto Sans JP','Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
}
.pc_only{display: block;}
.sp_only{display: none;}
header img{display: block;width: 100%;}
.mv {
  width: 100%;
  position: relative;
}
.mv .navmain {
  position: absolute;
  top:0rem;
  right:.4rem;
  z-index:9999;
}
.mv .drawer_hidden {
  display: none;
}
/* ハンバーガーアイコンの設置スペース */
.mv .drawer_open {
  width: 48px;
  height: 48px;
  padding: 10px;
  display: flex;
  justify-content: end;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}
/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #fff;
  transition: 0.5s;
  position: absolute;
}
/* 三本線の一番上の棒の位置調整 */
.mv .drawer_open span:before {
  bottom: 8px;
}
/* 三本線の一番下の棒の位置調整 */
.mv .drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
.mv #drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}
/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
.mv #drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}
.mv #drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
/* メニューのデザイン*/
.mv .nav {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 5rem;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  opacity: 0.95;
  transition: .3s;
}
/* メニュー黒ポチを消す */
.mv .nav_list {
  list-style: none;
}
/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav {
  left: 50%;/* メニューを画面に入れる */
}
#drawer_input {

}
.mv .nav li {
  display: block;
  padding: 0;
  border-bottom: 1px dotted #ccc;
  z-index: 100;
  color: #333;
}
.mv .nav li a{
  display: block;
  color: #333;
  padding: .8rem 1rem;
}
@media screen and (min-width: 768px) {
  .mv .navmain {
    top:-5rem;
    right:10rem;
  }
  .mv .nav {
    width: 250px;
  }
  #drawer_input:checked ~ .nav {
    left: 50%;/* メニューを画面に入れる */
  }
  .mv .nav li a{
    padding: 1rem 1rem;
  }
  .mv .navmain {
    top:.8rem;
    right:.8rem;
  }
  #drawer_input:checked ~ .nav {
    left: 50%;/* メニューを画面に入れる */
  }
}
#contents {
  width: 100%;
}
#contents .contents_inner {
  width: 600px;
  margin: 0 auto;
  border-left: 1px solid #18b84b;
  border-right: 1px solid #18b84b;
  background: #fff;
}
#contents .contents_wrapper {
  border-left: 1px solid #18b84b;
  border-right: 1px solid #18b84b;
}
.section_inner {
  margin: 0 auto;
}
.area-btn {
  padding: 2.5rem 0 5rem 0;
}
.area-btn a{
  display:block;
  width: 80%;
  margin: 0 auto;
}
.area-point {
  background: #f4f1e6;
  padding: 5rem 0;
}
.area-point .intro img{
  width: 80%;
  margin: 0 auto !important;
}
.area-point .point{
  width: 100%;
  margin: 2rem 0;
  display:flex;
  align-items: start;
  justify-content: center;
  flex-wrap: wrap;
}
.area-point .point .point_inner{
  width: 50%;
  text-align:center;
  margin: 2rem auto;
}
.area-point .point .point-head{
  width: 88%;
  margin: 0 auto;
}
.area-point .point .point-text{
  width: 84%;
  margin-left: 9.8%;
  background: #fff;
  text-align: center;
  padding: 1rem 0 2rem 0;
}
.area-point .point .point-acc{
  width:84%;
  margin-left: 9.8%;
  background: #79766d;
  text-align: center;
  color: #fff;
  padding:.5rem 0;
  border-radius: 0 0 5px 5px;
}
.area-regist {
  background: url(../images/step_back.webp) repeat-y;
  padding: 0 0 2rem 0;
}
.area-regist .area-regist-head{
  position:relative;
  top: -2.5rem;
}
.area-regist .area-regist-head img{
  width: 60%;
  margin: 0 auto !important;;
}
.area-regist .area-regist-text {
  color: #fff;
}
.area-regist .area-regist-text table{
  width: 90%;
  margin: 0 auto;
}
.area-regist .area-regist-text th{
  width: 25%;
}
.area-regist .area-regist-text th img{
  width: 100%;
}
.area-regist .area-regist-text td{
  width: 75%;
  letter-spacing:.1rem;
  padding-left:1rem;
  vertical-align:top;
}
.area-regist .area-regist-text .area-regist-text_title{
  font-size: 140%;
  font-weight:700;
  text-decoration: underline;
  margin-top:.5rem;
  margin-bottom:.5rem;
  letter-spacing: .1rem;
}
.area-regist .area-regist-text .area-regist-text_detail{
  font-size: 110%;
  line-height: 140%;
}
.area-regist {
  background: url(../images/step_back.webp) repeat-y;
  padding: 0 0 2rem 0;
}
.area-regist .area-regist-head{
  position:relative;
  top: -2.5rem;
}
/*アコーディオンタイトル*/
.point-acc {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    transition: all .5s ease;
    background: #fff;
}
/*アイコンの＋と×*/
.point-acc::before,
.point-acc::after{
    position: absolute;
    content:'';
    width: 20px;
    height: 5px;
    background-color: #fff;
}
.point-acc::before{
    top:46%;
    right: 15px;
    transform: rotate(0deg);
}
.point-acc::after{
    top:46%;
    right: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.point-acc.close::before{
  transform: rotate(45deg);
}
.point-acc.close::after{
  transform: rotate(-45deg);
}
.point-acc_box{
  width: 84%;
  margin-left: 9.8%;
  font-size: 100%;
  display: none;/*はじめは非表示*/
  background: #fff;
  padding:.5rem .7rem;
  margin-top: 5px;
  font-size: 90%;
  border: 2px solid #79766d;
  border-radius: 5px;
}
.point-acc_box .check{
  background: #93cf33;
  padding: .2rem .4rem;
  line-height: 100%;
  font-size: 80%;
  width: 40%;
  text-align:center;
  margin: .5rem auto;
  border-radius:10px;
  color: #fff;
  letter-spacing: .1rem;
}
.area-qa {
  padding:4rem 0;
  background: #fff; 
}
.area-qa .area-qa-head img{
  width: 60%;
  margin: 0 auto !important;;
}
.area-qa .support_inner {
  width: 90% !important;
  margin: 1rem auto !important;
}
.area-qa .support_inner .support_box{
  font-size: 100%;;
  display: none;/*はじめは非表示*/
  background: #fff;
  border-radius: 10px;
  padding: 1vw;
  border-top: 1px dotted #ccc;
}
.support_inner .icon{
  width: 10% !important;
  margin-right:10px;
}
.support_inner .atext{
  width: 90% !important;
}
/*アコーディオンタイトル*/
  .qa-acc {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: normal !important;
    transition: all .5s ease;
    background: #fff;
    border-radius: 10px;
    color: #555;
    font-size:100%;
    display:flex;
    align-items: center;
    padding: .5vw;
    border:1px solid #ccc;
    border-radius:40px;
    margin-bottom:.5rem;
}
/*アイコンの＋と×*/
.qa-acc::before,
.qa-acc::after{
    position: absolute;
    content:'';
    width: 20px;
    height: 5px;
    background-color: #ccc;
}
.qa-acc::before{
    top:46%;
    right: 15px;
    transform: rotate(0deg);
}
.qa-acc::after{
    top:46%;
    right: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.qa-acc.close::before{
  transform: rotate(45deg);
}
.qa-acc.close::after{
  transform: rotate(-45deg);
}
.qa-acc_box{
  display: none;/*はじめは非表示*/
  font-size:90%;
}
.qa-acc_box_inner{
  display: flex;
  align-items: center !important;
  padding: .5vw;
}
.qa-acc_box_inner p{
  width: 80%;
}
.area-result {
  padding:1rem 0 0 0;
  background: #fff; 
}
.area-result .area-result-head img{
  width: 80%;
  margin: 0 auto !important;;
}
.fadeUpTrigger{
    opacity: 0;
}
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }}
.anime-updown {
  animation: 2s fuwafuwa infinite;
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@media (max-width: 750px) {
  .pc_only{display: none;}
  .sp_only{display: block;}
  #contents .contents_inner {
    width: 100%; 
  }
  .footer .copy{
    width: 100%; 
  }
  footer .footer_inner{
    width: 100%;
  }
  .area-btn {
    padding: 2rem 0 3rem 0;
  }
  .area-point {
    padding: 3rem 0;
  }
  .area-point .intro img{
    width: 95%;
  }
  .area-point .point .point-acc{
    font-size: 80%;
  }
  .area-regist .area-regist-text th{
    width: 18%;
    height: 100px;
  }
  .area-regist .area-regist-text td{
    width: 82%;
    letter-spacing:0;
  }
  .area-regist .area-regist-text .area-regist-text_title{
    font-size: 120%;
    margin-bottom:.2rem;
    font-weight:normal;
  }
  .area-regist .area-regist-text .area-regist-text_detail{
    font-size: 75%;
  }
  .area-point .point .point_inner{
    margin: 1rem auto;
  }
  .area-point .point .point-text{
    font-size:80%;
    padding: .5rem 0 1rem 0;
    line-height:140%;
  }
  .point-acc::before,
  .point-acc::after{
      position: absolute;
      content:'';
      width: 12px;
      height: 3px;
      background-color: #fff;
  }
  .point-acc::before{
      top:46%;
      right: 8px;
      transform: rotate(0deg);
  }
  .point-acc::after{
      top:46%;
      right: 8px;
      transform: rotate(90deg);
  }
  .point-acc_box{
    line-height:140%;
    padding:.5rem .3rem;
    font-size:75%;
    border: 2px solid #79766d;
  }
  .point-acc_box .check{
    margin: 0 auto .2rem auto;
  }
  .area-qa {
    padding:3rem 0;
  }
  .qa-acc::before,
  .qa-acc::after{
      position: absolute;
      content:'';
      width: 12px;
      height: 3px;
      background-color: #ccc;
  }
  .qa-acc::before{
      top:46%;
      right: 8px;
      transform: rotate(0deg);
  }
  .qa-acc::after{
      top:46%;
      right: 8px;
      transform: rotate(90deg);
  }
  .area-qa .support_inner {
    width: 100% !important;
    margin: 1rem 0;
    padding: 0 1rem;
  }
  .area-qa .support_inner .icon{
    width: 8%;
    margin-right:5px;
  }
  /*アコーディオンタイトル*/
  .qa-acc {
    width: 100% !important;
    font-size:90% !important;
    padding:.5rem !important;
    line-height: 120% !important;
    font-weight: normal !important;
  }
  .qa-acc_box{
    font-size:75%;
    margin-top: .5rem;
    padding: 0 .5rem;
  }
  .qa-acc_box_inner{
    padding: .5vw;
  }
  .qa-acc_box_inner p{
    width: 92%;
    line-height: 140%;
  }
  .area-result {
    padding:0;
  }
  .area-result .area-result-head img{
    width: 90%;
  }
  .area-btn a{
    width: 90%;
  }
}
