@charset "UTF-8";

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
html{
  overflow-y: scroll;
  scroll-behavior: smooth;
}
.hop {
  animation: hop 2.5s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes hop {
  0% {
    transform: translate(0, -20px)
  }
  3.27869% {
    transform: translate(0, 20px)
  }
  6.55738% {
    transform: translate(0, -20px)
  }
  9.83606% {
    transform: translate(0, 10px)
  }
  13.11475% {
    transform: translate(0, -20px)
  }
  16.39344% {
    transform: translate(0, 20px)
  }
  18.03279% {
    transform: translate(0, 0)
  }
  100% {
    transform: translate(0, 0)
  }
}

.shake {
  animation: shake 3.875s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes shake {
  0% {
    transform: rotate(-12deg)
  }
  5.16129% {
    transform: rotate(12deg)
  }
  6.45161% {
    transform: rotate(24deg)
  }
  11.6129% {
    transform: rotate(-24deg)
  }
  12.90323% {
    transform: rotate(-24deg)
  }
  18.06451% {
    transform: rotate(24deg)
  }
  19.35484% {
    transform: rotate(24deg)
  }
  24.51613% {
    transform: rotate(-24deg)
  }
  25.80645% {
    transform: rotate(-24deg)
  }
  30.96774% {
    transform: rotate(24deg)
  }
  32.25807% {
    transform: rotate(24deg)
  }
  37.41935% {
    transform: rotate(-24deg)
  }
  38.70968% {
    transform: rotate(-24deg)
  }
  43.87097% {
    transform: rotate(24deg)
  }
  48.3871% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(0deg)
  }
}
body {
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
  font-family:'Century Gothic','Futura','游ゴシック',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Osaka,sans-serif;
  font-size: 16px;
  color: #FFF;
  -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);
  overflow: hidden;
  overflow-y: hidden;
}
main {width: 800px;margin: 0 auto;    background: #fff;  -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);}
.flex-box {
  display: flex;
}
.blinking{
    animation:blink 1s ease-in-out infinite alternate;
}
.relative_h {position: relative;}
.absolute_h {  top: 25%;right: 5%; z-index: 999;width: 90%; ;position: absolute;}
.relative {position: relative;}
.absolute {right: 12%; z-index: 999 ;position: absolute;    top: 63%; }
.absolute2 {right: 15%; z-index: 999 ;position: absolute;    top: 91%; }
.btn {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 90%;
  left: 5%;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
}

.click {
  cursor: pointer;
  margin: 0;
}
.click img {
  display:block;
  /*width:100%;*/
}
/* ポップアップウインドウの設定 */
.popup {
  background-color: #efefef;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.8);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 500px;
  height: 250px;
  z-index: 999;
  border: 2px #ffffff solid;
  font-size: large;
}
/* 閉じるアイコン（右上） */
.icon-close {
  color: #000;
  font-size: 40px;
  padding: 0 10px;
  position: absolute;
  top: 0%;
  right: 0;
}
/* いいえボタン */
label.btn-close {
  box-sizing: border-box;
  width: 30%;
  background: #8e8e8e;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
}
/* はいボタン */
a.btn-go {
  box-sizing: border-box;
  width: 30%;
  background: #00B900;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
  text-decoration: none;
}
a.btn-no {
  box-sizing: border-box;
  width: 30%;
  background: #CCC;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
  text-decoration: none;
}
.btn_box {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin: auto;
}
/* ポップアップの内容 */
.popup-content {
  padding-left: 5%;
  padding-right: 5%;
  margin: 0 auto;
  color: #131313;
  line-height: 1.8rem;
  padding-top: 80px;
  width: 100%;
  height: 150px;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  /* ポップアップウインドウの設定 */
  .popup {
    /* display: none; */
    width: 70%;
    height: 250px;
  }
}
@media screen and (max-width: 600px) {
  .popup {
    /* display: none; */
    width: 90%;
    height: 250px;
  }
  .popup-content {
    padding-top: 20%;
    padding-bottom: 2%
    height:auto;
  }
  a.btn-go,
  label.btn-close {
    width: 50%;
  }
}
@media screen and (max-width: 320px) {
  /* ポップアップウインドウの設定 */
}


.btn{animation:bound 0.8s infinite}.btn{animation:hop 2.4s infinite}@keyframes hop{0%,40%{transform:skew(0deg,0deg)}5%{transform:skew(5deg,5deg)}10%{transform:skew(-4deg,-4deg)}15%{transform:skew(3deg,3deg)}20%{transform:skew(-2deg,-2deg)}25%{transform:skew(1deg,1deg)}30%{transform:skew(-0.6deg,-0.6deg)}35%{transform:skew(0.3deg,0.3deg)}}@keyframes bound{0%,100%{transform:translateY(0)}10%{transform:translateY(-10px)}20%{transform:translateY(-18px)}30%{transform:translateY(-22px)}40%{transform:translateY(-24px)}50%{transform:translateY(-25px)}60%{transform:translateY(-24px)}70%{transform:translateY(-22px)}80%{transform:translateY(-18px)}90%{transform:translateY(-10px)}}.btn:hover{cursor:pointer;opacity:.8}

.btn{
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin:center;
}

@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);}
}

.mt10 {margin-top:10px;}
.mt30 {margin-top:30px;}
.mt50 {margin-top:50px;}
.mb30 {margin-bottom:30px;}
.pm30 {padding-bottom:30px;}
.pm50 {padding-bottom:50px;}
.linebtnSide {width: 290px; 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%;}
/***voice**/
.voice_bg{  background: #fff;}
.container {
  position: relative;
  width: calc(100%/2.1);
  display: inline-block;
  margin: 1% 8px 1% 8px;
  color: #000;
}
.sectxt{margin: 2% 5%;color: #000;font-size: 1.5rem;}
.sectxt2{margin: 0% 5%;color: #000;font-size: 1.5rem;}
@media screen and (max-width: 640px){
.absolute2 {font-size: .7rem; top: 90%;right: 1%;}
  .btn {width: 95%;left:3%;padding: 5px;    top: 61%;}
.container {  width: 100%;margin: 0 auto; padding: 2%;}
.sectxt{margin: 2% 5%;}
.sectxt2{margin: 0% 3%;}
.mt30 {margin-top:10px;}
.mt50 {margin-top:30px;}
.mb30 {margin-bottom:10px;}
.pm30 {padding-bottom:10px;}
.pm50 {padding-bottom:50px;}
}
label.combtn  {
  position: absolute;
  z-index: 1;
  bottom: 9px;
  margin: 0 10px;
  width: 95%;
  height: 100px; /*グラデーションで隠す高さ*/
  cursor: pointer;
  text-align: center;
  background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
input:checked + label.combtn  {
  background: inherit; 
}
label.combtn:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 50%;
  width: 200px;
  content: '続きをよむ';
  transform: translate(-50%, 0);
  color: #ffffff;
  border-radius: 20px;
  background-color:#f0788b;
}
input {
  display: none;
}
.text-wrapper {
  overflow: hidden;
  height: 250px;
  transition: all 0.5s;
  background: #fff;
  padding: 10px;
  border: 10px solid #a4dae3;
}
/*今回消した部分*/
/* input:checked + label {
  display: none ;
} */
input:checked ~ .text-wrapper {
  height: auto;
  padding-bottom: 60px;
  transition: all 0.5s;
}


.wrapper_com{position: relative;margin: 0 auto;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: 1px solid #de9c08;
  background: #fff;
  margin: 2% 2%;
  padding: 10px 0 0 0;
  text-align: center;
  width: calc(100%/2.5);
}
.sec_com p{display: inline-block;}
.sec_com img{padding: 1%;float: right;}
.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: 70px;
  height: 25px;
  background-color: #fefefe00;
  z-index: 1;
}
.sec_com::before {
  top: -10px;
  left: -25px;
  border-bottom: 1px solid #131313;
}
/***end**/
/**tokuten**/
.to_bg {background-image: url(../images/to_bg.png);background-size: contain;}
/**profile**/
.profile_bg {background-image: url(../images/pro_bg.png);}
.profile2_bg {
    background-image: url(../images/bg.png);
    background-size: cover;
}
.waku2 {
    padding: 20px 30px;
    width: 90%;
    text-align: -webkit-left;
    font-size: 21px;
    background-color: #fff;    color: #000;
    border: 3px solid #000;margin: 0 auto;
}
@media only screen and (max-width: 640px){
.waku2 {
    padding: 10px 10px ;
    width: 90% ;
    font-size: 1rem;
}}
/***end**/
a:link, a:visited, a:hover, a:active {text-decoration: none;}
.header_sec{position: relative;}
.secbg_w{background:#fff;}
.secbg_g {background: #dceaea;}
.secbg_b{background:#d6f1f5;}
.secbg_lb{background: #d7edfc;}
.secbg_y{background:#fefbe1;}
.secbg_yo{background: #fff5c8;}
.secbg_ly{background: #fdfcf7;}
.secbg_main{background: #97d0d6;}

.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);
}
.pt30{padding-top:30px;}
.pt50{padding-top:50px;}
/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  border-radius: 5px;
  border: 1px solid #0458b5;
  width: 60px;
  height: 60px;
  color: #0458b5;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:1.6rem;
  transition:all 0.3s;
  opacity: .5;
}
#page-top a:hover{background: #babee0;}
#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);
  }
}

.flex-box {display: flex;}

.noticebox{
    padding: 0 1em;
    background: #fff;
    height: 500px;
    color: #c9151e;
    font-weight: 900;
    text-align: center;
    font-size: 35px;
}
.noticebox p {
    margin: 0; 
    padding: 0;
    font-size: 52px;
    line-height: 65px;
    font-weight: 900;
}
.noticebox span.txt{
    font-size: 40px;
    line-height: 65px;
}
.noticebox p.line {
    border-bottom: 1px solid #fff;
    padding: 10px;
}
table.notice{
    background:#0a2d84;
    font-size: 30px;
    line-height: 180%;
    text-align: left;
    color: #000000;
    margin: 10px auto 0;
    padding: 10px;
    border: 1px solid #ccc;
    width: 90%;
}
table.notice td{
    padding: 5px;
    width: 300px;
    text-align: center;
    background: #ffffff;
}
table.notice td{
    font-weight: 300;
    vertical-align: middle;
    color: #000;
}
table.notice td.red{
    color: #c9151e;
    font-weight: 800;
}
table.notice td.past{
    background: #84898d;
    color: #faff00;
    font-weight: 900;
}
table.notice td.today{
    background: #c9151e;
    color: #fff;
}


ul.sec03 {
  background: white;
  padding: 0 0.5em;
  position: relative;
}
ul.sec03 li.check {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 1.5em;
  border-bottom: 2px solid #b8c1c7;
  list-style-type: none!important;
}
ul.sec03 li.check:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";/*アイコン種類*/
  font-weight: 900;
  position: absolute;
  left : 0.5em; /*左端からのアイコンまで*/
  color: #668ad8; /*アイコン色*/
}
ul.sec03 li.lightbull {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 1.5em;
  border-bottom: 2px solid #b8c1c7;
  list-style-type: none!important;
}
ul.sec03 li.lightbull:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0eb";/*アイコン種類*/
  font-weight: 900;
  position: absolute;
  left : 0.5em; /*左端からのアイコンまで*/
  color: #eaa652; /*アイコン色*/
}
/*ul.sec03 li:last-of-type {border-bottom: none;}*/

ol.sec08 {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:0;
  margin: 1rem 10%;
}
ol.sec08 li {
  position: relative;
  padding: 0.5em;
  line-height: 1.5em;
  background: #f1f8ff;
  border-left : solid 50px #4675da;
  margin-bottom: 5px;
  color: #131313;
  font-size: 22px;
}
ol.sec08 li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -43px;
  width: 35px;
  height: 1em;
  line-height: 1;
  text-align: center;
}

.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 auto;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: 1px solid #de9c08;
  background: #fff;
  margin: 2% 2%;
  padding: 10px 0 0 0;
  text-align: center;
  width: calc(100%/2.5);
}
.sec_com p{display: inline-block;}
.sec_com img{padding: 1%;float: right;}
.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: 70px;
  height: 25px;
  background-color: #fefefe00;
  z-index: 1;
}
.sec_com::before {
  top: -10px;
  left: -25px;
  border-bottom: 1px solid #131313;
}
/*.sec_com::after {
  bottom: -10px;
  right: -25px;
  border-top: 1px solid #131313;
}*/

summary {
  list-style: none;
  position: relative;
  margin-bottom: 0px;
  padding: 10px 70px 10px 30px;
  cursor: pointer;
  background-color: #d8be39;
}
summary::-webkit-details-marker {display: none;}
summary:hover,
details[open] summary {
  background-color: #bc9e04;
}
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;
  line-height: 26px;
  font-weight: 400;
  padding: 0 20px 10px;
}

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

.movie { width:100%; padding-bottom: 56.25%; height:0px; margin: 0px auto; position: relative; }
.movie iframe{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.com_menu {margin: 0 auto;text-align: center;}
.com_menu a {display: block;padding: 15px;text-decoration: none;color: #000;}
.com_menu label {
    width: 100%;
    display: block;
    margin: 0;
    padding : 0;
    line-height: 1;
    cursor :pointer;
    text-align:center;
}
.com_menu input {
    display: none;
}
.com_menu ul {
  width: 100%;
  margin: 0 auto;
  padding: 0 6%;
  font-size: 22px;
  color: #000;
  background: #fff;
  list-style: none;
  text-align: center;
  background: url(../images/sec04_bg.png);
  background-size: 100%;
}
.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;
}


.hidden_box {
    margin: 0em 0;/*前後の余白*/
    padding: 0;
}
/*ボタン装飾*/
.hidden_box label {
    padding: 15px;
    font-weight: bold;
    cursor :pointer;
}
/*ボタンホバー時*/
.hidden_box label:hover {
    background: none;
}
/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}
/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 10px;
    margin: -2px 54.7% 0 4.8%;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
    color: #000;
}
/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
  padding: 10px;
  margin: -2px 54.7% 0 4.8%;
  height: auto;
  opacity: 1;
  text-align: left;
  border: 2px solid #f2ab00;
  border-radius: 0 0 20px 20px;
  background-color: #fff;
}

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;/*線を消す*/
}

.form01{margin: 0rem;}
.form02{margin: -5rem 0 -3px;}
.form03{margin: -5rem 0 0;}

.btn_area {
  position: relative;
  text-align: center;
  margin: 0 auto;
}
.btn_area02 {
  position: relative;
  text-align: center;
  margin: 0 auto;
  height: 730px;
}
.btn_area03 {
  position: relative;
  text-align: center;
  margin: 0 auto;
}

.btn_area .formtext{
  position: absolute;
  width: 90%;
  top: 26%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  padding: 0;
  margin: 0;
}
.btn_area02 .formtext{
  position: absolute;
  width: 90%;
  top: 29%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  padding: 0;
  margin: 0;
}
.btn_area03 .formtext03{
  position: absolute;
  width: 70%;
  top: 56%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  padding: 0;
  margin: 0;
}


.btn02 {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 90%;
  top: 47%;
  left: 5%;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
}
.btn03 {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 57%;
  top: 79%;
  left: 9%;
  -ms-transform: translate(0%,0%);
  -webkit-transform: translate(0%,0%);
  transform: translate(0%,0%);
}


.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(239 226 192);
  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: #915700;
}
/* --質問の＋アイコン */
.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(239 226 192);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
  color: #915700;
  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%;
}

a.btn2 {
  background-image: url("../img/btn/button_join.png");
  height: 66%;
}

a.btn3 {
  background-image: url("../img/join.png");
  background-size: 92%;
}

a.btn4 {
  background-image: url("../img/form_btn.png");
}

a.btn5 {
  background-image: url("../img/btn/button_hope.png");
  background-size: 87%;
}

.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;
}

.under{text-decoration: underline;}
.strong{font-weight: 900;}
.red{color: #d64d63;}
.blue{color: #155FCF;}
.green{color: #96dc28;}
.forpc { display: block; }
.forsp { display: none; }

.marker_pink {background: linear-gradient(transparent 50%, #ffb3e4 50%);font-weight: bold;}
.marker_or {background: linear-gradient(transparent 50%, #ffd6b3 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;    color: #000;}
.imgcenter{position: relative;margin: 0 auto;display: block;}
.imgright{float: right;position: relative;top: 0rem;padding: 5px;}



/*  フッター
----------------------------------------------- */
footer {
  z-index:1000;
  position: relative;
  clear:both;
  font-size: 12px;
  color:#fefefe;
  padding: 5px 0 20px;
  text-align: center;
  background: #000;
  line-height: 30px;
  }

footer a {
  color:#fefefe;
  }

footer a:hover {
  color:#ffc55b;
  }

@media screen and (max-width: 780px) {

  body {width: 100%;}
  main{width: 100%;}
  .flex {display: flex;flex-wrap: wrap;margin: 0;padding: 0 20px 0 20px;}
  .formbox {margin: 0 5px 0 5px;list-style: none;width: 37px;}
  .sec_com {margin: 2% auto;width: calc(95%/1);}
  .sec_com_space{display: none;}
  .sec03title {width: 100%;margin: 0% auto -10%;}
  .sec03txt{margin: 2% 3%;font-size: 1rem;padding: 1rem 3% 1rem;line-height: 28px;}
  ul.sec03 {margin: 0;}
  .reasonbox {display: block;width: calc(90%/1);margin: 1rem auto 2rem;padding: 1rem;height: auto;}
  .heading_txt {margin: -2rem auto 0rem;padding-left: 0px;font-size: 24px;}
  ol.sec08 {margin: 1rem 0%;}
  ol.sec08 li{font-size: 18px;}
  .sec08txt {padding: 1rem 1% 1rem;font-size: 17px;line-height: 28px;}
  ul {padding: 0.5rem 1rem 0.5rem 2rem;}
  ul li:before {left: 0.5em;}
  .btn02{width: 95%;top: 45%;left: 2.5%;padding: 5px;}
  .btn03{width: 60%;left: 7%;padding: 5px;top:77%;}
  table.notice td{width: 100%;display: block;font-size: 24px;}
  .notice td.splaout{background: #fff;}

  .com_menu {max-width: 100%;}
  .com_menu label {width: 100%;padding: 0;}
  .com_menu ul {width: 100%;margin: 0;padding-top: 10px;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: 20px;}
  .p14{font-size: 22px;}
  .p16{font-size: 24px;}
  .p20{font-size: 26px;}
  .p24{font-size: 27px;}
  .p30{font-size: 28px;}
  .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;padding: 0px;}
}


/* ポップアップウインドウの設定 */
.popup {
  background-color: #efefef;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.8);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 500px;
  height: 250px;
  z-index: 999;
  border: 2px #ffffff solid;
  font-size: large;
}
/* 閉じるアイコン（右上） */
.icon-close {
  color: #000;
  font-size: 40px;
  padding: 0 10px;
  position: absolute;
  top: 0%;
  right: 0;
}
/* いいえボタン */
label.btn-close {
  box-sizing: border-box;
  width: 30%;
  background: #8e8e8e;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
}
/* はいボタン */
a.btn-go {
  box-sizing: border-box;
  width: 30%;
  background: #00B900;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
  text-decoration: none;
}
a.btn-no {
  box-sizing: border-box;
  width: 30%;
  background: #CCC;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 10px;
  display: block !important;
  min-width: 85px;
  text-decoration: none;
}
.btn_box {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin: auto;
}
/* ポップアップの内容 */
  .line_popup { width:50%; }
.popup-content {
  padding-left: 5%;
  padding-right: 5%;
  margin: 0 auto;
  color: #131313;
  line-height: 1.8rem;
  padding-top: 80px;
  width: 100%;
  height: 150px;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  /* ポップアップウインドウの設定 */
  .popup {
    /* display: none; */
    width: 70%;
    height: 250px;
  }
}
@media screen and (max-width: 600px) {
  .popup {
    /* display: none; */
    width: 90%;
    height: 250px;
  }
  .popup-content {
    padding-top: 20%;
    padding-bottom: 2%
    height:auto;
  }
  a.btn-go,
  label.btn-close {
    width: 50%;
  }
}
@media screen and (max-width: 320px) {
  /* ポップアップウインドウの設定 */
}