@charset "UTF-8";

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
html{
  overflow-y: scroll;
  scroll-behavior: smooth;
}

body {
  margin: 0 auto;
  padding: 0;
  font-family:'Century Gothic','Futura','游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Osaka,sans-serif;
  font-size: 16px;
  color: #000;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5);
  box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.5);
  background: url(../images/secbg_back.jpg);
  background-size: 100%;
  background-position: center;
  background-attachment: fixed;
  overflow: hidden;
  overflow-y: hidden;
}
main {width: 800px;margin: 0 auto;padding: 0;}
.article, .top_image_in {
    width: 800px;
    margin: 0 auto;
}
.article {
    background-color: #fff;
    border-left: 1px solid #0BAAB7;
    border-right: 1px solid #0BAAB7;
}
.flex-box {
  display: flex;
}
.flex{
  display:flex;
  flex-wrap: wrap;
  margin: 0;
}

.mv1 {
  opacity: 0;
  transform : translate(0,70px);
  transition : 1.0s;
}

.mv1.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}


ul.check {
  padding: 0 0 0 2.8em;
  position: relative;
  font-size: 1.2em;
  border-bottom: 2px solid #e6e2c2;
}
ul.check li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}
ul.check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  font-size: 1.2em;
  line-height: 1.5em;
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #d09f00; /*アイコン色*/
}

a:link, a:visited, a:hover, a:active {text-decoration: none;}
.topbar{background: #fff1ad;margin: 0;padding: 10px;font-size: 28px;color: #162514;text-align: center;font-weight: 900;}
.topbar p{margin: 0;padding: 0;}
.topbanner_waku{padding-top: 1rem;background: url(../images/head_topbg.png);background-position: top center;background-size: cover;}
.topbanner_waku .txt{padding: 0 10%;}
.showdata{
  margin: 0px auto -40px;
  padding: 10px 50px;
  background: #fff;
  border-radius: 50px;
  color: #000;
  text-align: center;
  display: table;
  position: relative;
  font-size: 26px;
  font-weight: 900;
  z-index: 5;
}
.header_sec{margin: 0 auto;padding: 0;background-image: url(../images/header_bg_y.png);background-repeat: no-repeat;background-size: cover;background-color: #fdfdf0;width: 100%;}
.head{margin: 0 auto;padding: 10px 0 0;width: 1000px;}
.headtop{background: #4ba1d6;width: 100%;display: block;margin: 0;padding: 2px 0;}
.headtop .txt{width: 60%;padding: 15px;margin: 0 auto;display: block;}
.headtop p{font-size: 32px;text-align: center;color: #fff;line-height: 0;}

.sec01{background: url(../images/sec01_bg.png);background-size: 100%;padding-top: 1rem;}
.sec02{background: url(../images/sec02_bg.png);background-size: 100%;padding-top: 1rem;}
.sec03{background: url(../images/sec03_bg.png);background-size: 100%;padding-top: 1rem;}
.sec04{background: url(../images/sec04_bg.png);background-size: 100%;padding-top: 1rem;}
.sec05{background: url(../images/sec05_bg.png);background-size: 100%;padding-top: 1rem;}
.sec06{background: url(../images/sec06_bg.png);background-size: 100%;padding-top: 1rem;}

.secbg_yp{background: url(../images/sec04_bg.png)repeat;background-size: 100%;}
.secbg_op{background: url(../images/sec01_bg.png);background-size: 100%;}

.secbg_wp {
  background-color: #ffffff;
  background-image:
   radial-gradient(#f1f1f1 4%, #f1f1f1 7%, transparent 7%),
   radial-gradient(#f1f1f1 4%, #f1f1f1 7%, transparent 7%),
   linear-gradient(#ffffff 5%,#ffffff 5%,
     transparent 15%, transparent 15%),
   linear-gradient(45deg, transparent 30%, transparent 49%,
     #f1f1f1 49%, #f1f1f1 50%,
     transparent 50%, transparent 100%),
   linear-gradient(-45deg, transparent 30%, transparent 49%,
     #f1f1f1 49%, #f1f1f1 50%,
     transparent 50%, transparent 100%);
  background-position: 50px 50px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;
  background-size: 100px 100px,100px 100px,100% 4px,100px 100px,100px 100px;
}

.secbg_main{background: url(../images/secbg_mc.jpg)repeat;background-size: 100%;position: relative;}
.secbg_pr{background: url(../images/secbg_pro02.jpg)repeat;background-size: 100%;position: relative;}
.secbg_w{background:#fff;}
.secbg_blc{background: #090c0c;}
.secbg_blc_p{background: url(../images/secbg_d02.jpg)repeat;background-size: 100%;position: relative;}
.secbg_gld{background: url(../images/secbg_gold.jpg)repeat;background-size: 100%;position: relative;}
.secbg_kira{background: url(../images/secbg_kira.png)repeat;background-size: 100%;position: relative;}
.secbg_w_mz{background:#fff;position: relative;}
.secbg_w_mz:before{position: absolute;content: "";background: url(../images/mizutama_top.png)no-repeat;background-position: top;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}
.secbg_w_mz:after{position: absolute;content: "";background: url(../images/mizutama_bt.png)no-repeat;background-position: bottom;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}
.secbg_d_mz{background:url(../images/secbg_d.png);position: relative;background-size: cover;}
.secbg_d_mz:before{position: absolute;content: "";background: url(../images/mizutama_top.png)no-repeat;background-position: top;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}

.secbg_y_mz{background:#fffaea;position: relative;}
.secbg_y_mz:before{position: absolute;content: "";background: url(../images/mizutama_top_y.png)no-repeat;background-position: top;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}
.secbg_y_mz:after{position: absolute;content: "";background: url(../images/mizutama_bt_y.png)no-repeat;background-position: bottom;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}

.secbg_w_dot{background: url(../images/secbg_dot.png)repeat;background-size: 100%;top: 0;left: 0;position: relative;}
.secbg_pink{background: url(../images/secbg_pink.png)repeat-y;background-size: 100%;top: 0;left: 0;position: relative;}
.secbg_wp_wv_top{background:#fff;position: relative;}
.secbg_wp_wv_top:after{position: absolute;content: "";background: url(../images/wave_top_p.png)no-repeat;background-position: top;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}

.secbg_wg_wv_top{background:#fff;position: relative;}
.secbg_wg_wv_top:after{position: absolute;content: "";background: url(../images/wave_top_lg.png)no-repeat;background-position: top;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}
.secbg_wg_wv_bt{background:#fff;position: relative;}
.secbg_wg_wv_bt:after{position: absolute;content: "";background: url(../images/wave_bt_lg.png)no-repeat;background-position: bottom;background-size: 100%;top: 0;left: 0;bottom: 0;right: 0;z-index: 0;}
.secbg_lg{background: #cdf5f5;}

.secbg_w_arr{position: relative;padding: 2rem 0;background: url(../images/secbg_lb_downarr.png)no-repeat;background-color: #fff;background-position: top;background-size: 100%;}
.secbg_b{background:#004fa0;}
.secbg_b_arr{position: relative;padding: 2rem 0;background: url(../images/secbg_w_downarr.png)no-repeat;background-color: #1bb9ee;background-position: top;background-size: 100%;}
.secbg_b_arr_s{position: relative;padding: 2rem 0;background: url(../images/secbg_w_downarr02.png)no-repeat;background-color: #1bb9ee;background-position: top;background-size: 100%;}
.secbg_lb{background: #e1edff;}
.secbg_lb_p{background-image: url(../images/secbg_lb.png);background-color: #dcf5fe;background-repeat: repeat-y;background-size: 100%;}
.secbg_lb_arr{position: relative;padding: 2rem 0 0;background: url(../images/secbg_w_downarr.png)no-repeat;background-color: #d5eef3;background-position: top;background-size: 100%;}
.secbg_ly{background: #fff9f0;}
.secbg_ly_p{background-image: url(../images/secbg_ly.png);background-color: #fff9f0;background-repeat: repeat-y;background-size: 100%;}
.voice_bg {background-image: url(../images/voice_bg.png);}
.reason_bg {background-image: url(../images/reason_bg.png);background-size: contain;}

.secbg_g{background:#fafafa;}
.secbg_y{background:#fffeef;}
.secbg_dy{background:#fff9dc;}
.secbg_yo{background: #fff5c8;}
.secbg_ly{background: #fafaed;}
.secbg_lr{background: #fdf6f4;}
.secbg_lr_r{position: relative;background: url(../images/secbg_lg_top02.png)no-repeat;background-color: #fdf6f4;background-position: bottom;background-size: 100%;}

.moviebg{margin: 30px auto;padding: 30px;background: #96d2d6;border-radius: 30px;}
.profile01_bg {background:#f1fcfe;}
.profile_bg {background-image: url(../images/pro_bg.png);}
.bg1 {
    background-image: url(../images/bg.png);
    background-size: cover;
}
.waku2 {
    padding: 20px 30px;
    width: 90%;margin: 0 auto;
    text-align: -webkit-left;
    font-size: 1.2rem;
    background-color: #fff;    color: #000;
   box-shadow: 0px 3px 6px rgb(0 0 0 / 20%);
    border-radius: 1em;
}
h2.hukititle {
  position: relative;
  font-size: 32px;
  margin: 0 auto;
  padding: 1.5rem 2rem;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  border-radius: 0 20px 0 20px;
  background: #fff;
}
h2.hukititle span{font-size: 24px;}
h2.hukititle:before {
  position: absolute;
  right: 50px;
  bottom: -21px;
  width: 0;
  height: 0;
  content: '';
  border-width: 21px 21px 0 0;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}
h2.hukititle:after {
  position: absolute;
  right: 54px;
  bottom: -14px;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 14px 0 0;
  border-style: solid;
  border-color: #d9f2f4 transparent transparent transparent;
}

.combox{position: relative;margin: 0 20px;padding: 0;z-index: 1;}
.accordion *, .accordion *:before, .accordion *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.accordion {
  position: relative;
}
.accordion label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 97%;
  height: 200px;
  margin: 0 0px 0 18.5px;
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 45%);
}
.accordion input:checked + label {
  background: inherit; /* 開いた時にグラデーションを消す */
}
.accordion label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  padding: 10px 45px;
  bottom: 20px;
  left: 50%;
  width: fit-content;
  font-size: 22px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f13a'' 続きをよむ';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 50px;
  background-color: #22a3af;
  box-shadow: 0 5px 0 #005b62;
  transition: all .2s;
  z-index: 1;
}
.accordion input {
  display: none;
}
.accordion .cp_container {
  overflow: hidden;
  height: 190px; /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
  background: url(../images/sec_com_bg.png);
  background-size: contain;
  margin: 0 0px 0 13.49px;
  padding: 0 25px;
}
.accordion input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}
.accordion input:checked + label:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f139'' 閉じる';
}
.accordion input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s;
}

.accordion_f *, .accordion_f *:before, .accordion_f *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.accordion_f {
  position: relative;
}
.accordion_f label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 180px; /* グラデーションの高さ */
  border-radius: 0 0 30px 30px;
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 45%);
}
.accordion_f input:checked + label {
  background: inherit; /* 開いた時にグラデーションを消す */
}
.accordion_f label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  padding: 10px 45px;
  bottom: 20px;
  left: 50%;
  width: fit-content;
  font-size: 22px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f13a'' 続きをよむ';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 50px;
  background-color: #e34a84;
  transition: all .2s;
  z-index: 1;
}
.accordion_f input {
  display: none;
}
.accordion_f .cp_container {
  overflow: hidden;
  height: 180px; /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
}
.accordion_f input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}
.accordion_f input:checked + label:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f139'' 閉じる';
}
.accordion_f input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s;
}

.accordion_pro *, .accordion_pro *:before, .accordion_pro *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.accordion_pro {
  position: relative;
}
.accordion_pro label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200px; /* グラデーションの高さ */
  border-radius: 0 0 30px 30px;
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 45%);
}
.accordion_pro input:checked + label {
  background: inherit; /* 開いた時にグラデーションを消す */
}
.accordion_pro label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  padding: 10px 45px;
  bottom: 20px;
  left: 50%;
  width: fit-content;
  font-size: 22px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f13a'' 続きをよむ';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 50px;
  background-color: #1b74be;
  transition: all .2s;
  z-index: 1;
}
.accordion_pro input {
  display: none;
}
.accordion_pro .cp_container {
  overflow: hidden;
  height: 230px; /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
}
.accordion_pro input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}
.accordion_pro input:checked + label:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f139'' 閉じる';
}
.accordion_pro input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s;
}

.comtable{padding: 20px 5px}

.seccom01{position: relative;margin: 0 auto;padding: 0;}
.seccom01 .title{
  position: absolute;
  margin: 0;
  padding: 0;
  top: 0px;
  left: 0%;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
}
.seccom01 .txt{
  position: absolute;
  margin: 0;
  padding: 0;
  top: 440px;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
.mistakewaku{
  display: block;
  border: 5px solid #83c8ce;
  border-radius: 20px;
  background: #fff;
  margin: 1rem auto;
  padding: 20px;
}
.mistakewaku img{padding-bottom: 10px;}
.mistakewaku p{font-size: 24px;line-height: 40px;}

.nayamibox01{position: relative;margin: 0 auto;padding: 0;}
.nayamibox01 img{width: 95%;}
.nayamibox01 p{
  background: #f6f7fe;
  margin: -20px 10px 0px 110px;
  padding: 40px 20px 20px;
  font-size: 18px;
  border: 1px solid #8c008a;
}
.nayamibox02{position: relative;margin: 50px auto 0;padding: 0;}
.nayamibox02 img{width: 100%;padding-left: 5%;}
.nayamibox02 p{
  background: #f6f7fe;
  margin: -20px 110px 0px 10px;
  padding: 40px 20px 20px;
  font-size: 18px;
  border: 1px solid #8c008a;
}

.reasonbox{position: relative;margin: 30px;border:2px solid #12baba;border-radius: 30px;box-shadow: 10px 10px 0 #12baba;}
.reasonbox .ttl{margin: 0 auto;padding: 0 10px;width: 80%;display: block;}
.reasonbox .image{padding: 20px;}
.reasonbox p{font-size: 20px;padding: 0 20px;}

ol.merit {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em 0.8em;
  border: solid 2px #faa38e;
  background: #fff;
  font-size: 24px;
}
ol.merit li {
  border-bottom: dashed 1px #faa38e;
  position: relative;
  padding: 0.5em 0.5em 0.5em 30px;
  line-height: 1.5em;
}
ol.merit li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  background: #faa38e;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
ol.merit li:last-of-type {
  border-bottom: none; /*最後のliの線だけ消す*/
}

.noticewaku {
    position: relative;
    font-size: 24px;
    text-align: center;
    padding: 4rem 1rem 1rem;
    background-color: #fffeef;
    background-image: repeating-linear-gradient(45deg, #ffe497 0 5px, #fffeef 5px 10px);
    background-position: top;
    background-size: 100% 2rem;
    background-repeat: no-repeat;
}
.noticewaku::before {
    position: absolute;
    top: 1rem;
    left: 50%;
    padding: 0.5rem 3em;
    transform: translateX(-50%);
    border-radius: 30px;
    background-color: #333;
    box-shadow: 0 0 5px black;
    color: #EBBB2F;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    content: attr(data-title);
}
.noticewaku p {
    color: #333;
    line-height: 1.5;
}

.heading_txt {position: relative;margin: -4rem auto 2rem;padding-top: 0px;padding-left: 30px;font-size: 36px;text-align: center;color: #000;}
.heading_arr {
  position: relative;
  padding-bottom: 70px;
  font-size: 50px;
  line-height: 70px;
  text-align: center;
}
.heading_arr::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 36px 0 36px;
  border-color: #b99a00 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}

/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#08b3b2;
  border-radius: 100px;
  border: 1px solid #08b3b2;
  width: 40px;
  height: 40px;
  color: #fff;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:20px;
  transition:all 0.3s;
  opacity: .5;
}
#page-top a:hover{background: #f1f9f9;color: #08b3b2;border: 1px solid #f1f9f9;}
#page-top {position: fixed;right: 10px;z-index: 2;opacity: 0;transform: translateY(100px);}

/*　上に上がる動き　*/
#page-top.UpMove{animation: UpAnime 0.5s forwards;}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#page-top.DownMove{animation: DownAnime 0.5s forwards;}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

.slide_waku{
  display: block;
  background: url(../images/slide_center_bg.png)repeat-y;
  margin: 0 15px;
  padding: 10px;
  background-size: 100%;
  background-position: center;
  height: 430px;
  color: #131313;
  text-align: center;
}
.slide_waku span{
  background: #131313;
  padding: 5px 20px;
  margin: 0;
  color: #fff;
  border-radius: 50px;
  font-size: 22px;
}
.clock.icon {
  color: #000;
  display: inline-block;
  position: absolute;
  margin-left: 12px;
  margin-top: 12px;
  width: 15px;
  height: 15px;
  position: relative;
  border: solid 1px currentColor;
  border-radius: 8px;
}
.clock.icon:before {
  content: '';
  position: absolute;
  top: 7px;
  left: 7px;
  width: 5px;
  height: 1px;
  background-color: currentColor;
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
}
.clock.icon:after {
  content: '';
  position: absolute;
  top: 2px;
  left: 7px;
  width: 1px;
  height: 6px;
  background-color: currentColor;
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
}


.btn {width: 100%;margin: 0 auto;}
.btn02 {width: 60%;margin: 2% auto;}
.btn_area03 {
    position: relative;
    text-align: center;
    margin: 0 auto;
}
.btn03 {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 57%;
    bottom: 15%;
    left: 5%;
    -ms-transform: translate(0%,0%);
    -webkit-transform: translate(0%,0%);
    transform: translate(0%,0%);
}
@media screen and (max-width: 768px){
.btn03 {width: 60%;left: 4%;}
}
.flex-box {display: flex;}

.sectxt_waku {
    position: relative;
    margin: 70px 0;
    padding: 36px 1em 10px;
    border: solid 3px #1bb9ee;
    border-radius: 20px;
    background: #fff;
}
.sectxt_waku .box-title {
    position: absolute;
    display: inline-block;
    top: 0%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    padding: 0 50px;
    line-height: 2;
    font-size: 30px;
    background: #1bb9ee;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
}
.sectxt_waku p {
    margin: 0; 
    padding: 0 30px;
    font-size: 24px;
    line-height: 40px;
}
.sectxt_waku ul, ol {padding: 0;display: inline-block;}
.sectxt_waku ul li {
  position: relative;
  list-style-type: none!important;/*ポチ消す*/
  padding: 0.5em 3.5em 0.5em 0.5em;
  margin-bottom: 5px;
  margin-left: 30px;
  font-size: 24px;
  line-height: 1.5;
  background: #dbebf8;
  vertical-align: middle;
  color: #505050;
  border-radius: 15px 0px 0px 15px;/*左側の角丸く*/
}
.sectxt_waku ul li:before{ 
  display:inline-block; 
  vertical-align: middle;
  /*以下白丸つくる*/
  content:'';
  width:1em;
  height: 1em;
  background: #fff;
  border-radius: 50%;
  margin-right: 8px;
}

.reflection-img{width:540px;height:145px;position:relative;overflow:hidden;display: block;margin: 0 auto;}
.reflection {
    height:100%;
    width:30px;
    position:absolute;
    top:-180px;
    left:0;
    background-color: #fef5c8;
    opacity:0;
    transform: rotate(45deg);
    animation: reflection 3s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 3s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 3s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 3s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 3s ease-in-out infinite;
}
 
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}


.inner {
  max-width: 100%;
  overflow: hidden;
}

.ityped-cursor {
  font-size: 1em;
  opacity: 1;
  -webkit-animation: blink 0.3s infinite;
  -moz-animation: blink 0.3s infinite;
  animation: blink 0.3s infinite;
  animation-direction: alternate;
}

@keyframes blink {
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes blink {
  100% {
    opacity: 0;
  }
}

@-moz-keyframes blink {
  100% {
    opacity: 0;
  }
}

.wrapper_com{position: relative;margin: 0 10%;text-align: center;color: #000;}
.sec_com_space{
  position: relative;
  display: inline-grid;
  border: 0px solid #de9c08;
  margin: 2% 2%;
  padding: 10px 0 0 0;
  text-align: center;
  width: calc(100%/2.5);
}
.sec_com{
  position: relative;
  display: inline-grid;
  border: 12px solid #3dcae4;
  background: #fff;
  margin: 2% 2%;
  padding: 10px 0 0 0;
  text-align: center;
  width: 100%;
}
.sec_com p{display: inline-block;}
.sec_com img{padding: 3%;}
.sec_com .stutxt{
  display: block;
  margin: 2% 5% 0;
  padding: 0% 5%;
  background: #f7f5e7;
  border-radius: 40px;
  color: #cc880d;
}
.sec_com .comtitle{
  display: block;
  text-align: left;
  margin: 0 auto;
  padding: 8% 3%;
  line-height: 26px;
  font-size: 18px;
}
.sec_com::before,
.sec_com::after {
  content: "";
  position: absolute;
  transform: rotate(-45deg);
  width: 150px;
  height: 0px;
  background-color: #fefefe00;
  z-index: 1;
}
.sec_com::before {
  top: 30px;
  left: -45px;
  border-bottom: 3px solid #fff300;
}
/*.sec_com::after {
  bottom: -10px;
  right: -25px;
  border-top: 1px solid #131313;
}*/

summary {
  list-style: none;
  position: relative;
  margin: 8px;
  padding: 10px 70px 10px 30px;
  font-size: 30px;
  cursor: pointer;
  background-color: #d5eef3;
}
summary::-webkit-details-marker {display: none;}
summary:hover,
details[open] summary {
  background-color: #d5eef3;
}
summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: transform 0.5s;
  font-size: 30px;
}
details[open] summary::after {transform: translateY(-50%) rotate(45deg);}
.answer {
  font-family: 'M PLUS 1p', sans-serif;
  text-align: left;
  font-size: 24px;
  line-height: 40px;
  font-weight: 400;
  padding: 0 20px 10px;
}

details[open] .answer {animation: fadein 0.5s ease;}
@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.sec03title{width: 80%;display: block;text-align: center;margin: 0% auto -5%;}
.sec03txt{margin: 0 0% 2%;padding: 4rem 1rem 1rem;color: #000;font-size: 1.4rem;text-align: left;background: #fff;border: 4px solid #000;line-height: 2.4rem;}

.p30{font-size: 28px;}
.pm30 {padding-bottom: 30px;}
.mt30 {margin-top: 30px;}
.pm50 {padding-bottom:50px;}
.pic {padding: 10px;object-fit: cover;width: 100%;height: 280px;}
.support {display: flex;margin-bottom: 2%;}
.support_waku {background-color: #FFF;color: #000;border: 0.2em;box-shadow: 0px 1px 15px rgb(0 0 0 / 20%);border-radius: 1em;margin: 2em 0px 1rem;padding: 2em;}
.support_t1 {width: auto;height: 100%;}
.t1 {font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;font-size: 1.7rem;padding: 3% 0px 0% 3%;color: #604f2d;}
.support_waku .pic {padding: 10px;object-fit: cover;width: 100%;height: 280px;}
.textwaku {padding: 0 4%;margin: 0 auto;text-align: center;}
.textwaku h3 {color: #222020;font-size: 1.5rem;}
.orange_balloon {position: relative;display: inline-block;margin: 0;padding: 11px 30px;border-radius: 25px;background: #a08d0e;color: #fff;font-size: 1.2rem;}
.step_title {font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;font-weight: 700;color: #604f2d;font-size: 36px;;text-align: center;}
.stepwaku {margin: 3rem 1.5rem;background: #fff;border-radius: 20px;border: 3px solid #ac8038;}
.steptxt {padding: 0 2rem 2rem;font-size: 1.3rem;color: #3e302d;}
.stepwaku img.pic {padding: 10px;object-fit: cover;width: 100%;height: 280px;}
.stepbg {background: #fafaed;}
.point_waku {
    background-color: #FFF;
    color: #000;
    border: 0.2em;
    box-shadow: 0px 1px 15px rgb(0 0 0 / 20%);
    border-radius: 1em;
    margin: 1em 0px 1rem;
    padding: 2em 2em 0;
}

.box{display:flex;}
.voice_title{padding-left: 3%;width: 70%;}
.voice_pic{width: 30%;}
.voicetitpic{width: 180px;float: right;}
.hidden_show .h1 {font-size: 1.5rem;font-weight: 700;letter-spacing: 0.10em;line-height: 1.4;}
.old{background: #ca100c;border-radius: 0.5em;color: #fff;font-size: 1.2rem;padding: .5% 1%;margin-left: 2%;}
.movie iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.movie {width: 100%;padding-bottom: 56.25%;height: 0px;margin: 0px auto;position: relative;}
li {list-style-type: none;}
.voice{margin: 0% 5% ;}
.voice .mv {width: 100%;margin: 0 auto;}
.voice li{margin-bottom: 5%;}
.voice li img{display: block;margin: auto;position: relative;z-index: 1;}
.voice dl{background: #f5f3e1;font-size: 1.2rem;padding: 5%;border-radius: 1em;}
.voice dt{color: #e40627;font-weight: bold;font-size: 1.2em;}
.voice dd{padding: 1% 2% 1%;margin: 1% 2% 3%;color: #000;border-bottom: 2px dotted #dfdfdf;}
.voice dd:last-child{margin-bottom: 0;border-bottom: none;padding-bottom: 0;}
.hidden_box {margin: 0px 0 0px;padding: 0;}
.hidden_box label {
  display: block;
  background:#887802;
  color: #fff;
  margin: 2% auto;
  padding: 2%;
  width: 100%;
  border-radius: 50px;
  font-size: 1.1em;
  cursor : pointer;
  text-align: center;
  font-weight: bold;
}
/*ボタンホバー時*/
.hidden_box label:hover{background: #a79404;;color: #fff;}
.hidden_box label:before{content: "▼ 続きを読む";}
.hidden_box label:after{content:" ▼";}

/*チェックは見えなくする*/
.hidden_box input {display: none;}
/*中身を非表示にしておく*/
.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
  padding: 10px 0;
  height: auto;
  opacity: 1;
}
 input[type="checkbox"] {display: none;margin-right: 6px;}

.pricebox01{display: block;background: #fff;border-radius: 0;position: relative;padding: 0rem 2rem 2rem;margin: 0;color: #000;}
.pricebox01 .submitbtn_cre{position: relative;display: block;width: 100%;padding: 1rem;margin: 0 auto;}
.pricebox01 .submitbtn_bank{position: relative;display: block;width: 100%;padding: 1rem;margin: 0 auto;}

.pricebox01 .notice {
    position: relative;
    margin: 2em 5%;
    padding: 0.5em 1em;
    border: solid 3px #e68c33;
    background: #fff7f0;
}
.pricebox01 .notice .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #e68c33;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.pricebox01 .notice p {margin: 0; padding: 0;line-height: 28px;}
.pricebox01bt{display: block;background: #fff;border-radius: 0 0 50px 50px;position: relative;margin: 0;color: #000;}

.profilewaku{position: relative;margin: 0 14.5px 20px;border:3px solid #97c1e4;border-radius: 20px;background: #fff;z-index: 1;}
.profilewaku p{margin: 0;padding: 20px;font-size: 24px;}

.mediawaku{position: relative;margin: 0 14.5px;}
.mediawaku p{margin: 0;color: #000;background: #fff;font-size: 24px;border-radius: 0 0 20px 20px;border-left: 4px solid #97c1e4;border-right: 4px solid #97c1e4;border-bottom: 4px solid #97c1e4;}

.stepbox{position: relative;margin: 0;padding: 10px 20px;z-index: 1;}
.stepbox .linebtn{
  position: absolute;
  top: 64%;
  left: 60px;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
  margin:0;
  padding:0;
}
.stepbox .huki01{
  position: absolute;
  top: 20px;
  right: 20px;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
  margin:0;
  padding:0;
}
.stepbox .huki02{
  position: absolute;
  top: 40px;
  right: 60px;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
  margin:0;
  padding:0;
}
.stepbox .huki03{
  position: absolute;
  top: 30px;
  right: 40px;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
  margin:0;
  padding:0;
}

.sec_profile{margin: 2% 5%;color: #000;font-size: 1.2rem;text-align: left;}
.sec06_reason{margin: 0 5% 3%;}
.sec07txt{margin: 2% 5%;color: #000;font-size: 1.1rem;text-align: left;}
.sec_graph{margin: 0 5% 3%;text-align: center;}
.sectxt{margin: 2% 5% 0;color: #000;font-size: 22px;text-align: left;line-height: 40px;position: relative;z-index: 1;}
.sectxt p{margin: 0;padding: 0;}
.sectxt_c{margin: 2% 5%;color: #000;font-size: 24px;text-align: center;}
.sectxt_c_waku{margin: 1% 5%;color: #000;font-size: 24px;text-align: center;border: 6px double #c2a176;border-radius: 20px;background: #fff;}
.sectxt_waku_w{margin: 1% 5%;color: #000;font-size: 24px;text-align: center;border-radius: 20px;background: #fff;padding: 50px 20px 20px;}
.sectxt_waku_bf{margin: 2% 0;color: #000;font-size: 24px;text-align: center;border: 5px solid #000;border-radius: 30px;background: #fff;padding: 20px;}
.sectxt_waku_pro{margin: 0;color: #000;font-size: 24px;text-align: left;border-radius: 20px;background: #fff;padding: 20px 50px;}
.sectxt_l_waku{margin: 2% 0;color: #000;font-size: 24px;text-align: left;border: 6px double #ceb800;border-radius: 30px;background: #fff;padding: 20px;}
.sectxt_l_waku p.step {border-bottom: 1px solid #ceb800;padding: 10px;width: 90%;display: block;margin: 0 auto 20px;}
.sectxt_l_waku p {padding: 10px;width: 90%;display: block;margin: 0 auto 20px;}
.sectxt_bc{margin: 1% 5%;color: #000;font-size: 32px;text-align: center;}
.secimg{position: relative;margin: 0 5%;padding: 0;z-index: 1;}
.secimg .content{padding: 10px;}
.secimg p.txt{font-size: 24px;line-height: 36px;}
.secimg span.title{font-size: 32px;line-height: 42px;font-weight: bold;color: #000;}
.secimg span.title_b{font-size: 36px;line-height: 50px;font-weight: bold;color: #000;}

.imgflex{display: flex;margin: 0 2%;position: relative;z-index: 1;}
.imgflex .con{padding: 5px;}

.secreason{margin: 1% 5%;padding: 1rem 0;display: block;}
.secreason .content{padding: 10px;}
.secreason p.txt{font-size: 24px;line-height: 36px;}
.secreason span.title{font-size: 32px;line-height: 42px;font-weight: bold;color: #dd8025;}
.secreason .line{border: 1px solid #f3c799;}
.tokutyou_waku{position: relative;margin: 2% 5%;padding: 0;text-align: left;color: #000;display: block;background: #fff;}
.tokutyou_waku p{padding: 70px 20px;position: relative;z-index: 2;font-size: 24px;}
.tokutyou_waku:before{
  content: " ";
  position: absolute;
  background-image: url(../images/sec04_waku_top.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 100px;
  top: 0;
}
.tokutyou_waku:after{
  content: " ";
  position: absolute;
  background-image: url(../images/sec04_waku_bt.png);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;
  width: 100%;
  height: 100px;
  bottom: 0;
}

.seccom{margin: 1% 5%;padding: 1rem 20px;display: block;background: #fff;}
.seccom .content{padding: 10px;}
.seccom p{font-size: 22px;line-height: 42px;letter-spacing: -2px;}
.seccom p.name{font-size: 28px;line-height: 36px;}
.seccom span.detail{margin: 0 20px;font-size: 20px;letter-spacing: 0px;line-height: 32px;font-weight: bold;color: #fff;background: #dd8025;padding: 5px 30px;border-radius: 50px;}
.seccom .line{border: 1px solid #f3c799;}

.tokuten_waku{position: relative;margin: 5%;padding: 0;text-align: left;color: #000;display: block;background: #fff;}
.tokuten_waku .title{display: block;padding: 10px;}
.tokuten_waku p{padding: 20px;position: relative;z-index: 2;font-size: 24px;}

.flexwaku{display: flex;margin: 0 auto;}
.reasonwaku {
    display: block;
    width: 90%;
    margin: 0 auto 40px;
    padding: 0 0 10px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 10px 10px 0 #bad4fb;
}
.reasonwaku .box-title {
    font-size: 32px;
    padding: 10px;
    text-align: center;
    color: #262626;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.reasonwaku p {
    padding: 30px;
    margin: 0;
    font-size: 24px;
    line-height: 36px;
}

.flexwaku{display: flex;margin: 0 auto;}
.ansinwaku {
    width: calc(98%/2);
    margin: 5px;
    padding: 20px 0 10px;
    background: #fafafa;
    border-radius: 0px;
}
.ansinwaku .box-title {
    font-size: 22px;
    background: #fafafa;
    padding: 4px;
    text-align: center;
    color: #000;
    font-weight: bold;
}
.ansinwaku p {
    padding: 15px;
    margin: 0;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: -1px;
}

.step_con{margin: 0 5% 3%;}

.com_menu {max-width: 400px;float: left;margin: 0 auto;text-align: center;}
.com_menu a {display: block;padding: 15px;text-decoration: none;color: #000;}
.com_menu label {
    width: 395px;
    display: block;
    margin: 0;
    padding : 15px;
    line-height: 1;
    cursor :pointer;
    text-align:center;
}
.com_menu input {
    display: none;
}
.com_menu ul {
  width: 353px;
  margin: -13% 7% 0;
  padding: 3% 2%;
  font-size: .9rem;
  color: #000;
  background: #fff;
  list-style: none;
  text-align: center;
  border: 5px solid #ececec;
  border-radius: 0 0 20px 20px;
}
.com_menu li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -ms-transition: all 0.8s;
    -o-transition: all 0.8s;
    transition: all 0.8s;
}
#change01:checked ~ #links01 li,
#change02:checked ~ #links02 li,
#change03:checked ~ #links03 li,
#change04:checked ~ #links04 li,
#change05:checked ~ #links05 li,
#change06:checked ~ #links06 li {
    height: auto;
    text-align: left;
    opacity: 1;
}




img {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

.stepbtn {
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  background: #668ad8;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #627295;
  border-radius: 3px;
}
.stepbtn:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}


.btn_area {
  position: relative;
  text-align: center;
  margin: 0;
  padding: 0;
  z-index: 1;
}
.btn_area .formtxt{
  margin: 0;
  padding: 0;
}
.btn_area .formtxt p{margin: 0;}

.btn_area .formbtn{
  position: absolute;
  width: 94%;
  top: 59%;
  left: 3%;
  -ms-transform: translate(-0%,-0%);
  -webkit-transform: translate(-0%,-0%);
  transform: translate(-0%,-0%);
  padding: 0;
  margin: 0;
}
.btn_area .formbtn_lpink{
  position: absolute;
  width: 95%;
  top: 38%;
  left: 3%;
  -ms-transform: translate(-0%,-0%);
  -webkit-transform: translate(-0%,-0%);
  transform: translate(-0%,-0%);
  padding: 0;
  margin: 0;
}
.btn_area .formbtn_b{
  position: absolute;
  width: 90%;
  top: 68%;
  left: 5%;
  -ms-transform: translate(-0%,-0%);
  -webkit-transform: translate(-0%,-0%);
  transform: translate(-0%,-0%);
  padding: 0;
  margin: 0;
}
.btn_area .formbtn_b02{
  position: absolute;
  width: 90%;
  top: 65%;
  left: 5%;
  -ms-transform: translate(-0%,-0%);
  -webkit-transform: translate(-0%,-0%);
  transform: translate(-0%,-0%);
  padding: 0;
  margin: 0;
}
.btn_area .formbtn_g{
  position: absolute;
  width: 90%;
  top: 26%;
  left: 5%;
  -ms-transform: translate(-0%,-0%);
  -webkit-transform: translate(-0%,-0%);
  transform: translate(-0%,-0%);
  padding: 0;
  margin: 0;
}


a.btn img:hover {
  transform: translateY(-10px);
  transition: all 0.2s;
}


.aco, btn {
  cursor: pointer;
}

.aco_content {
  display: none;
}

.scroll_animation {
  opacity: 0;
  transform: translateZ(-1px) translateY(50px);
}

.float {
  transition: all 1s;
}

.is-show {
  opacity: 1;
  transform: translateZ(-1px) translateY(0px);
}

.next_anima {
  transform: translateZ(1px) translateY(0px);
}

.my_flash_link_btn {
  display: inline-block;
  color: #fff;
  cursor: pointer;
  border-radius: 10px;
  height: 20%;
  width: 80%;
  position: relative;
  overflow: hidden;
  background-image: url("../images/join_btn_o.png");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  /* ボタンをキラッとさせる */
}

.my_flash_link_btn:hover {
  transition: all 0.5s;
  transform: translateY(-10px);
}

.my_flash_link_btn img {
  opacity: 0;
  width: 100%;
}

.my_flash_link_btn:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  /* 【変更部分】inifiniteによりずっと続ける */
  -webkit-animation: shine 2s infinite;
  animation: shine 2s infinite;
}

@-webkit-keyframes shine {
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

@keyframes shine {
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

.cp_iptxt {
  position: relative;
  width: 80%;
  margin: 40px 3%;
}
.cp_iptxt input[type='text'] {
  font: 15px/24px sans-serif;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  transition: 0.3s;
  letter-spacing: 1px;
  color: #000;
  border: 1px solid #1b2538;
  border-radius: 4px;
}
.ef input[type='text']:focus {
  border: 1px solid #da3c41;
  outline: none;
  box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}

.cp_table *, .cp_table *:before, .cp_table *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 24px;
  line-height: 40px;
}
.cp_table {
  width: 95%;
  margin: 3% 2.5%;
  border-collapse: collapse;
}
.cp_table th, .cp_table td {
  padding: 10px;
  color: #000;
  border: 1px solid #eaf4f9;
}
.cp_table th {
  background: #4b7cb9;
  color: #fff;
}
.cp_table td {
  background: #fff;
}
.cp_table th {
  width: 18%;
  text-align: left;
}
.cp_table td {
  width: 72%;
  text-align: left;
}

.cp_table02 *, .cp_table02 *:before, .cp_table02 *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_table02 {
  width: 95%;
  margin: 3% 2.5%;
  border-collapse: collapse;
}
.cp_table02 th, .cp_table02 td {
  padding: 10px;
  color: #000;
  border: 1px solid #eaf4f9;
}
.cp_table02 th {
  background: #29a0ad;
  color: #fff;
}
.cp_table02 td {
  background: #fff;
}
.cp_table02 th {
  width: 18%;
  text-align: left;
}
.cp_table02 td {
  width: 72%;
  text-align: left;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 95%;
  margin: 1% 2.5% 1%;
  color: #1b2538;
}
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
  background: rgb(158 222 226);
  font-size: 24px;
}
.cp_qa .cp_actab label::before {
  font-family: serif;
  font-size: 1.5em;
  margin-left: -2em;
  padding-right: 0.5em;
  content: 'Q';
}
.cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #0a8282;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
  font-size: 1.7em;
  font-weight: bold;
  line-height: 2em;
  position: absolute;
  top: 0;
  right: 0;
  content: '+';
  display: inline-block;
  width: 2em;
  height: 2em;
  -webkit-transition: transform 0.4s;
          transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 0 0 2.5em;
  -webkit-transition: max-height 0.2s;
          transition: max-height 0.2s;
  border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
  font-family: serif;
  font-size: 2em;
  position: absolute;
  margin: 0.4em 0 0 -1em;
  padding: 0;
  content: 'A';
}
.cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0;
  font-size: 20px;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
  max-height: 40em;
  background-color: #fff;
  border: 10px solid rgb(158 222 226);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
  color: #0a8282;
  border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}


.direction {
  width: 12vw;
  height: 0vw;
  display: block;
  margin: 0 auto;
  transition: all 1s;
  margin-top: -6vw;
}

.stretch {
  height: 8vw;
  transition: all 1s;
}

.blue_direction_wrap {
  position: relative;
  padding: 5vw;
}

.blue_direction {
  width: 30vw;
  position: absolute;
  left: 50%;
  top: 0;
  height: 0%;
  display: block;
  margin: 0 auto;
  transform: translateX(-50%);
  transition: all 1s;
}

.txt {
  position: relative;
  transform: translateZ(1);
  z-index: 3;
}

.blue_stretch {
  height: 100%;
  transition: all 1s;
}

.comment {
  position: relative;
}

.comm {
  position: absolute;
  top: 16%;
  left: 5%;
  width: 30%;
}

.animation_wrap {
  background-image: url("../images/bg.png");
  background-size: 200vw;
  padding: 5vw;
  width: 100%;
}

.animation_wrap img {
  width: 100%;
  display: block;
  margin: 0 auto;
}

.animation_wrap img:nth-child(3) {
  width: 30%;
}

.animation_wrap2 img {
  width: 60%;
}

.animation_wrap2 img:nth-child(3) {
  width: 60%;
}

.border {
  padding: 0.1rem;
  margin: 1rem 0;
  border-bottom: solid 2px #333;
}

.border img {
  width: 65%;
}


.youtube {
  position: relative;
  margin-top: 20px;
}

iframe {
  position: absolute;
  left: 5%;
  right: 5%;
  top: 0;
  display: block;
  text-align: center;
  margin: 0 auto;
  width: 91%;
  height: 93%;
}

.q_and_a {
  background-image: url("../img/qanda/bg.png");
  background-repeat: repeat;
  background-size: 500px;
  padding: 15px;
}

.conents {
  margin: 0px auto;
  width: 100%;
  background-color: #fff;
  color: #333;
  padding: 0;
}

.q, .a {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  color: #333;
  padding: 30px 20px;
  padding-left: 100px;
  text-align: left;
  border: solid 1px #62cfca;
  font-size: 25px;
  font-family: 'Sawarabi Gothic', sans-serif;
  font-weight: 4px;
}

.q img, .a img {
  height: 60px;
  width: 60px;
  position: absolute;
  left: 20px;
  top: 25px;
}

.a {
  background-color: #fef8f4;
  display: none;
}
.p05{font-size: 0.5em;}
.p06{font-size: 0.6em;}
.p07{font-size: 0.7em;}
.p08{font-size: 0.8em;}
.p09{font-size: 0.9em;}
.p10{font-size: 1.0em;}
.p12{font-size: 1.2em;}
.p14{font-size: 1.4em;}
.p16{font-size: 1.6em;}
.p20{font-size: 2.0em;}
.p24{font-size: 2.4em;}
.pt10{padding-top: 10px;}
.pt20{padding-top: 20px;}
.pt30{padding-top: 30px;}
.pb10{padding-bottom: 10px;}
.pb20{padding-bottom: 20px;}
.pb30{padding-bottom: 30px;}

.under{text-decoration: underline;}
.strong{font-weight: 900;}
.red{color: #cf4019;}
.blue{color: #155FCF;}
.purple{color: #10095d;}
.green{color: #009c65;}
.forpc { display: block; }
.forsp { display: none; }

.marker_pink {background: linear-gradient(transparent 50%, #ffc9bc 50%);font-weight: bold;}
.marker_y {background: linear-gradient(transparent 50%, #fff293 50%);font-weight: bold;}
.marker_or {background: linear-gradient(transparent 50%, #ffd6b3 50%);font-weight: bold;}
.marker_b {background: linear-gradient(transparent 50%, #71cbf9 50%);font-weight: bold;}

.maru {font-family: 'M PLUS Rounded 1c', sans-serif;font-family: 'Kosugi Maru', sans-serif;}
.noto {font-family: 'Noto Sans JP', sans-serif;font-weight: 900;}
.sawa {font-family: 'Sawarabi Gothic', sans-serif;}
.kaisei {font-family: 'Kaisei Decol', serif;}
.shadow {box-shadow: 2px 2px 6px #666;}

.center{margin: 0 auto;text-align: center;padding: 0px;}
.imgcenter{position: relative;margin: 0 auto;display: block;z-index: 1;}
.titlecenter{position: relative;margin: 0 auto;padding: 20px 0;display: block;z-index: 1;}
.pricecenter{position: relative;margin: 0 auto;padding: 50px 0 20px;display: block;z-index: 1;}
.imgright{float: right;position: relative;top: 0rem;padding: 5px;}

.linebtnSide {width: 250px; height: auto; position: fixed; right: 0; top:30px; z-index: 9999; }
.linebtnBottom {width: 100%; height: auto; position: fixed; bottom: 0; z-index: 9999;line-height: 0; }
.linebtnBottom img {width: 100%;}

/*  フッター
----------------------------------------------- */
footer {
  z-index:1000;
  position: relative;
  clear:both;
  font-size: 14px;
  color:#333;
  padding: 20px 0;
  text-align: center;
  background: #ffeaec;
  line-height: 26px;
  }

footer a {
  color:#333;
  }

footer a:hover {
  color:#f46da1;
  }

@media screen and (max-width: 780px) {
  body {width: 100%;}
  .article{width: 100%;border: 0px;}
  main{width: 100%;}
  img {margin: 0;padding: 0;}
  .combox{margin: 0 5px;}
  .accordion .cp_container{margin: 0 0px 0 7.49px;padding: 0 10px;height: 120px;}
  .accordion input:checked ~ .cp_container{padding-bottom: 50px;}
  .accordion label{width: 97%;height: 140px;margin: 0 0px 0 8.5px;background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 50%);}
  .accordion label:after{padding: 0 30px;font-size: 16px;bottom: 10px;}
  .accordion_f label {background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 50%);}
  .accordion_f label:after{font-size: 18px;margin: 0 auto;padding: 5px 45px;width: 60%;}
  .accordion_f .cp_container{height: 160px;}
  .accordion_pro label {background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(255 255 255) 50%);}
  .accordion_pro label:after{font-size: 18px;margin: 0 auto;padding: 5px 45px;width: 60%;}
  .accordion_pro .cp_container{height: 200px;}
  .voice {margin: 0% 3%;}
  .voicetitpic{width: 75px;}
  .header_sec{background-size: cover;background-position: center center;background-image: url(../images/header_bg_y.png);}
  .headtop p{font-size: 20px;line-height: 3px;}
  .headtop .txt {width: 100%;padding: 8px 15px;}
  .head{margin: 0 auto;padding-top: 10px;padding-bottom: 0;width: 100%;}
  .btn_area .formtxt{margin: 0 0 -10px;padding-bottom: 10px;font-size: 10px;}

  .nayamibox01 p{margin: -10px 10px 0px 10px;padding: 20px 8px 10px;font-size: 16px;}
  .nayamibox02{margin: 20px auto 0;}
  .nayamibox02 p{margin: -30px 10px 0px 10px;padding: 40px 8px 10px;font-size: 16px;}
  .reasonbox{margin: 30px 5px;border-radius: 20px;box-shadow: 5px 5px 0 #12baba;}
  .reasonbox .ttl{width: 100%;}
  .reasonbox p{font-size: 18px;padding: 0 15px;}
  .reasonwaku {width: 98%;margin: 2% 1% 30px;border-radius: 10px;}
  .reasonwaku .box-title{font-size: 24px;letter-spacing: 0;}
  .reasonwaku p{padding: 10px;font-size: 20px;line-height: 32px;}

  .profilewaku {
    position: relative;
    margin: 0 5px;
    border:2px solid #09b3b2;
    border-radius: 10px;
  }
  .profilewaku p {margin: 0;padding: 15px;font-size: 18px;}

  .stepbox{padding: 5px;}
  .stepbox .linebtn{top: 62%;left: 20px;}
  .stepbox .huki01{top: 0;right: 0;}
  .stepbox .huki02{top: 0;right: 30px;}
  .stepbox .huki03{top: 0;right: 20px;}

  .mb30 {margin-bottom: 10px;}
  .pic {height: 200px;}
  .support_waku {margin: 3% 0 5%;padding: 1em 1em 1em;}
  .support_t1 {width: 80px;height: 100%;}
  .t1 {font-size: 1.2rem;padding: 0% 0px 0% 2%;}
  ul.check {margin: 0;padding: 0 0 0 2em;}
  ul.check li:before{left: 7px;}
  .stepwaku {margin: 1rem .5rem;}
  .steptxt {padding: 0 5px 1rem;font-size: 18px;}
  .step_title {font-size: 28px;}
  .stepwaku img.pic {height: 150px;}
  .point_waku {margin: 3% 0 5%;padding: 1em 1em 1em;}
  .voice li {margin-bottom: 5%;}
  .voice dl {font-size: 1rem;}
  .h1 {font-size: 1.2rem;letter-spacing: -1px;}

  .sectxt_waku .box-title{font-size: 24px;padding: 0 20px;width: 85%;text-align: center;}
  .sectxt_waku ul li{margin-left: 0;padding: 10px;font-size: 22px;}
  .sectxt_waku p{font-size: 20px;line-height: 36px;padding: 0;}
  .topbar {font-size: 20px;line-height: 30px;}
  .showdata {margin: 0px auto;padding: 5px 40px;font-size: 18px;}
  .topbanner_waku .txt {padding: 0 2%;}
  .secbg_lg_g{background-size: cover;height: auto;}
  .sectxt_waku_bf{font-size: 20px;padding: 20px 10px;}
  .sectxt_waku_pro{font-size: 18px;padding: 20px 10px;margin: 0 1%;}

  .seccom{margin: 1%;}
  .seccom p{letter-spacing: 0px;font-size: 20px;line-height: 30px;}
  .seccom p.name{font-size: 24px;}
  .seccom span.detail{line-height: 50px;}

  .flexwaku{display: block;}
  .ansinwaku{width: 98%;margin: 2% 1%;}
  .flex {display: flex;flex-wrap: wrap;margin: 0;padding: 0 20px 0 20px;}
  .formbox {margin: 0 5px 0 5px;list-style: none;width: 37px;}
  .wrapper_com{margin: 0 2%;}
  .sec_com {margin: 2% auto;width: 100%;}
  .sec_com::before, .sec_com::after{width: 90px;}
  .sec_com::before{top: 10px;left: -35px;border-bottom: 2px solid #fff300;}
  summary{font-size: 18px;}
  .answer{font-size: 20px;line-height: 30px;}
  .heading_txt {margin: -2rem auto 0rem;padding-left: 0px;font-size: 24px;}
  .btn_area{margin:0;padding: 0;}
  .btn_area .formbtn{top: 59%;}
  .btn_area .formbtn_w{top: 28%;}
  .btn_area .formbtn_b{top: 68%;}
  .btn_area .formbtn_b02{top: 68%;}
  .seccom01 .txt{top: 25%;}
  .waku2{width: 96%;padding: 20px 10px;font-size: 18px;}

  .tokutenbox {display: block;padding: 1.5em 1em 1em;margin: 4em 2% 0em;}
  .tokutenbox .tokutentitle {font-size: 22px;margin: 0 auto 0rem;line-height: 33px;}

  .btn{width: 100%;}
  .sectxt {margin: 2% 2% 0;font-size: 18px;line-height: 32px;}
  .sectxt_c {margin: 2% 2%;font-size: 18px;}
  .sectxt_bc {margin: 2% 1%;font-size: 22px;}
  .tokutyou_waku {margin: 2% 1%;}
  .tokutyou_waku p {padding: 30px 10px;font-size: 20px;}
  .tokuten_waku{margin: 5% 1%;}
  .tokuten_waku p{padding: 0px 2px 20px;;font-size: 20px;}
  .sectxt_c_waku {margin: 1% 1%;font-size: 20px;}
  .sectxt_l_waku{margin: 1% 1%;font-size: 18px;padding: 10px;}
  .sectxt_l_waku p.step{padding: 5px;width: 96%;}
  .sectxt_l_waku p{padding: 5px 0;width: 96%;}

  .titlecenter{padding: 10px 0;}
  .pricecenter{padding: 20px 0 15px;}
  .imgflex{margin: 0;}
  .imgflex .con{padding: 0;}
  .secimg{margin: 0% 1%;}
  .secimg .content {padding: 5px;}
  
  .btn_area02 .formtext02 {position: absolute;width: 90%;top: 55%;}
  .cp_iptxt input[type='text'] {padding: .5rem;}
  .my_flash_link_btn {height: 25%;}
  .com_menu {max-width: 100%;}
  .com_menu label {width: 98vw;padding: 15px 10px 30px;}
  .com_menu ul {width: 89vw;margin: -17% 6.5% 0;font-size: 1.1rem;}
  .cp_table *, .cp_table *:before, .cp_table *:after {font-size: 20px;line-height: 30px;}
  .cp_table {width: 100%;margin: 0;}
  .cp_table tr {display: block;margin-bottom: 10px;}
  .cp_table th {display: block;width: 100%;}
  .cp_table td {
    display: list-item;
    list-style: none;
    width: 100%;
    margin-left: 0em;
    border: none;
    position: relative;
  }
  .cp_qa .cp_actab {width: 100%;margin: 1% 0%;}
  .cp_qa .cp_actab label{padding: 1em 1.25em 1em 2.5em;}
  .cp_qa .cp_actab label::after {font-size: 1.3em;line-height: 2.6em;}
  .cp_table02 {width: 100%;margin: 0;}
  .cp_table02 tr {display: block;margin-bottom: 10px;}
  .cp_table02 th {display: block;width: 100%;}
  .cp_table02 td {
    display: list-item;
    list-style: none;
    width: 100%;
    margin-left: 0em;
    border: none;
    position: relative;
  }
  .sec_graph {margin: 0 0% 3%;}
  .movie { width:100%; padding-bottom: 56.25%; height:0px; margin: 40px auto; position: relative; }
  .movie iframe{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

  .p05{font-size: 8px;}
  .p06{font-size: 10px;}
  .p07{font-size: 12px;}
  .p08{font-size: 14px;}
  .p09{font-size: 16px;}
  .p10{font-size: 18px;}
  .p12 {font-size: 18px;}
  .p14{font-size: 28px;}
  .p16{font-size: 24px;}
  .p20{font-size: 26px;}
  .p24{font-size: 27px;}
  .p30 {font-size: 22px;}
  .p32{font-size: 29px;}
  .p36{font-size: 30px;}

  .btn_bg2 {
    height: 170px;
  }
  .q, .a {
    font-size: 16px;
    padding-left: 70px;
  }
  .q img, .a img {
    width: 40px;
    height: 40px;
  }
  .stretch {
    height: 12vw;
    transition: all 1s;
  }
  .direction {
    margin-top: -10vw;
  }
  footer {margin: 0;padding: 2% 0 3%;}
  .forpc { display: none; }
  .forsp { display: block;margin: 0 auto;}
}


/* ================================= ▼ 20230921 追記 ▼ ================================= */

/* ************* ▼ 固定フッターボタン ▼ ************* */
/* 上書き */
.btn_area {
  contain: paint;
}
@media screen and (max-width: 780px) {
  #page-top {
    display: none;
  }
}

/* 追記 */
html,
body,
.fix_footer_container {
  overflow: initial !important;
}
.fix_footer_container {
  position: relative;
}
.fix_footer {
  position: sticky;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  contain: paint;
  padding: 2% 4% 1%;
  background: rgba(0,0,0,0.7);
  text-align: center;
}
.fix_footer img {
  max-width: 500px;
}
/* ************* ▲ 固定フッターボタン ▲ ************* */

/* ================================= ▲ 20230921 追記 ▲ ================================= */