body{
  margin:0;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color:#16479b;
  font-size:32px;
}
header{
  width:100%;
  max-width: 1024px;
  margin:0 auto;
}
main{
  max-width: 1024px;
  margin:0 auto;
}
.footer{
  max-width: 1024px;
  margin:0 auto;
}
a{
  text-decoration: none;
  font-size:15px;
}
p{
  font-size:15px;
  margin:0;
}
.warning{
  color: red;
  text-align: center;
  margin-bottom: 14px;
}
.infomation{
  color: #ffc107;
  text-align: center;
  margin-bottom: 14px;
}

/*button*/
.button_a{
  text-align: center;
  margin-top: 36px;
}
.button_a a{
  font-size: 18px;
  font-weight: bold;
  color: white;
  padding: 18px 35px;
}
.button_b{
  text-align: center;
}
.button_b a{
  font-size: 1.2rem;
  font-weight: bold;
  color: white;
  padding: 18px 35px;
  display: block;
}

/*pager*/
.pager{
  margin-top:10px;
}
.pager  ul.pagination {
  text-align: center;
  margin: 0;
  padding: 0;
}

.pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  background:#e02792;
  width: 50px;
  height: 50px;
  text-align: center;
  position: relative;
}

.pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  color: #fff;
  text-decoration: none;
}

.pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active{
  color: #fff;
  background: #e467c3;
}

@media only screen and (max-width: 640px){
  .pager .pagination li{
    display: none;
  }

  .pager .pagination li.pre,
  .pager .pagination li.next{
    display: inline-block;
    width: 40%;
    height: 50px;
    text-align: center;
  }

  .pager .pagination li.pre a,
  .pager .pagination li.next a{
    width: 100%;
    text-align: center;
  }

  .pager .pagination li.pre span::after{
    content: "　前へ";
  }

  .pager .pagination li.next span::before{
    content: "次へ　";
  }

}

/*hover*/
.hover{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-weight: bold;
    color: #16479b;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.7s ease-out;
    transition: all 0.7s ease-out;
    background: -webkit-linear-gradient(180deg,#16479b,#16479b,#ffffff,#ffffff);
    background: -webkit-linear-gradient(left,#16479b,#16479b,#ffffff,#ffffff);
    background: linear-gradient(90deg,#ffffff,#ffffff,#16479b,#16479b);
    background-position: 1% 50%;
    background-size: 300% 300%;
}
.hover:hover {
    background-position: 99% 50%;
    color: white!important;
    border: 2px solid #16479b;
    cursor: pointer;
}
.hover_a{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.hover_a:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}

/*star*/
.star{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    font-size:20px;
    margin-bottom: 7px;
}
.star:before, .star:after{
    content: '★★★★★';
}
.star:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32;
}
.star[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star[data-rate="0"]:after{ width: 0%; } /* 星0 */

.star_wa{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    font-size:30px;
}
.star_wa:before, .star_wa:after{
    content: '★★★★★';
}
.star_wa:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32;
}
.star_wa[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star_wa[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star_wa[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star_wa[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star_wa[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star_wa[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star_wa[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star_wa[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star_wa[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star_wa[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star_wa[data-rate="0"]:after{ width: 0%; } /* 星0 */

.rating {
  display: inline-flex;
  flex-direction: row-reverse;
  margin-top: 10px;
}
.hidden--visually {
  border: 0;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.rating__label {
  cursor: pointer;
  color: gray;
}
.rating__icon::before {
  content: "★";
  font-size: 2rem;
}
.rating__input:hover ~ .rating__label {
  color: lightgray;
}
.rating__input:checked ~ .rating__label {
  color: #ffbb00;
}
.rating_number{
  font-size: 17px;
  margin-left: 2px;
}
.rating_number_wa{
  font-size: 26px;
  margin-left: 4px;
}

/*header*/
header{
  display:flex;
  justify-content: space-between;
  position: relative;
  z-index: 10;
}
.logo{
  margin-top: 7px;
  margin-left: 17px;
  width: 120px;
  height: 50px;
}
.logo img{
  width: 100%;
}
.login{
  margin-left: auto;
  padding-top:0px;
  padding-right: 22px;
}
.login a, .signup a{
  font-size:10px;
}
.signup{
  background: linear-gradient(to right top, #16479B, #7a438f);
  padding: 0px 22px;
}
.signup a{
  color:white;
  font-weight: bold;
}
.menu{
  background: linear-gradient(to right top, #16479B, #7a438f);
  padding: 0px 22px 0 50px;
}
.menu a{
  color:white;
}
#dropdown{
  display:none;
  background-color: white;
  position: absolute;
  right: 0;
  top: 56px;
  padding: 0;
}
#dropdown li{
  text-align: center;
}
#dropdown li a{
  display: block;
  height: 55px;
  border: 2px solid #17479b;
  border-bottom: none;
  line-height: 55px;
  padding: 0 18px;
  color: #16479b;
}
#dropdown li:last-child a{
  border-bottom:2px solid #17479b;
}
@media screen and (min-width:640px){
  .logo img{
    width:200px;
  }
  .logo{
    margin-top: 30px;
    margin-left: 30px;
  }
  .login{
    padding-top:20px;
    padding-right:30px;
  }
  .signup{
    padding:20px 40px;
  }
  .login a, .signup a{
    font-size:17px;
  }
  .menu{
    padding: 10px 22px 0 50px;
  }
  #dropdown{
    top: 80px;
  }
}
/*モーダル*/
#login, #signup{
  display: none;
  width: 90%;
  margin: 50px 5%;
  border:solid 2px #16479B;
  background-color: #fff;
  height: 547px;
  position: fixed;
  z-index: 10;
  text-align: center;
}
#signup{
  height: 610px!important;
}
#login img, #signup img{
  height:100px;
  margin-top: 5rem;
}
.close{
  width: 40px;
  position: absolute;
  margin-top: 0!important;
  display: block;
  top: 0;
  right: 0;
  margin-right: 25px;
}
.signup_form, .login_form{
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  margin-top: 4rem;
  font-size: 0;
}
.signup_form{
  margin-top: 5rem!important;
}
.signup_form a, .login_form a{
  display: block;
  margin-bottom: 14px;
  color: #bbb;
}
.signup_form input[type = "id"], .signup_form input[type = "email"], .signup_form input[type = "password"], .login_form input[type = "id"], .login_form input[type = "email"], .login_form input[type = "password"] {
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  width: 95%;
  outline: none;
  transition: 0.25s;
  text-align: center;
  height: 10px;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
}
.signup_form input[type = "submit"], .login_form input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.signup_form input[type = "submit"], .login_form input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.signup_form input[type = "submit"]:hover, .login_form input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
@media screen and (min-width:640px) and ( max-width:1024px){
  .signup_form, .login_form{
    margin-top: 6rem;
    padding-bottom: 1rem;
  }
  #login, #signup{
    width: 80%;
    margin: 50px 10%;
    height: 560px;
  }
  .signup_form input[type = "submit"], .login_form input[type = "submit"]{
    width:50%;
  }
}
@media screen and ( min-width:1024px) {
  #login, #signup{
    width: 819.2px;
    margin-left:102.4px;
  }
}


/*footer*/
footer{
  color:white;
  background-color:#16479B;
  text-align: center;
}
ul {
  list-style: none;
  margin:0;
}
.footer-content{
  vertical-align: top;
  text-align: right;
  font-size: 36px;
  display: flex;
  justify-content: space-between;
  width: 80%;
}
.footer-left, .footer-right{
  display:inline-block;
  text-align: left;
}
.footer-right li, .footer-left p{
  font-weight: bold;
  font-size: 16px;
}
.footer-left p{
  margin-bottom: 10px;
}
.footer-left{
  margin-top:0;
  margin-left:10%;
}
.footer-right{
  vertical-align: top;
  margin-top: -13px;
  margin-left:0;
}
footer li{
  line-height: 50px;
  font-size:24px;
}
footer li a{
  color: white;
}
footer img{
  width: 66%;
  margin-top: 50px;
  margin-bottom: 50px;
}
.rights{
  padding-top: 50px;
  text-align: center;
  font-size: 12px;
  padding-bottom: 50px;
}
@media screen and (min-width:640px){
  footer{
    text-align: inherit;
  }
  footer img{
    width: 200px;
    margin-top: 50px;
    margin-left: 30px;
  }
  .footer-content{
    font-size: 36px;
    display:inline-block;
    width:60%;
  }
  footer li{
    line-height: 44px;
    font-size:16px;
  }
  .rights{
    font-size: 12px;
    padding-bottom: 20px;
  }
  .footer-right li, .footer-left p{
    font-size: 14px;
  }
  .footer-left{
    margin-top: 65px;
    margin-left: 0;
  }
  .footer-right{
    margin-left: 40px;
    margin-top: 51px;
  }
}

/*top-video*/
.top_video{
  position: relative;
}
.top_video > div{
  position: absolute;
  width:100%;
}
.top_video p{
  position: absolute;
  color: white;
  text-shadow: 0 2px 5px rgb(0 0 0 / 50%);
  top:50%;
  width: 100%;
  text-align: center;
  font-size: 1rem;
}
@media screen and (min-width:640px){
  .top_video p{
    font-size:2rem;
  }
}


/*top-contents*/
.top_wrapper img{
  width:100px;
  height: 100%;
  display: block;
}
.top_wrapper{
  width:35%;
  margin-bottom: 80px;
  display: none;
}
.top_wrapper h2{
  font-size:1rem;
  margin: 14px 0 5px 0;
}
.top_wrapper p{
  margin: 0;
  margin-top: 5px;
}
.flexbox{
  display:flex;
}
.button{
  text-align: center;
}
.button a{
  font-size: 18px;
  font-weight: bold;
  color: white;
  padding: 18px 35px;
}
@media screen and (min-width:640px){
  .top_wrapper{
    display: inline-block;
  }
}

/*top-topic*/
.topic{
  text-align: center;
  margin-bottom: 80px;
  width:100%;
  margin:0;
}
.topic>img{
  height: 100px;
  vertical-align: middle;
}
.topic p{
  font-size: 18px;
  font-weight: bold;
  padding-left: 108px;
  margin-top: -70px;
}
.topic_wrapper{
  display: flex;
  flex-wrap:wrap;
  margin-top:20px;
  margin-bottom: 50px;
}
.topics{
  flex:auto;
  height:100px;
  text-align: left;
  border: solid 2px #16479b;
  width: 100%;
  margin: 0 0 -2px;
}
.topics span{
  float: right;
  margin-right:16px;
}
.topics img{
  height: 96px;
}
.topic_text{
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width:640px){
  .topics{
    width:48%;
  }
  .topics:nth-child(even){
    border-left:none;
  }
  .topic{
    width: 80%;
    margin: 0 10%;
  }
  .topic a{
    font-size: 20px;
  }
}

/*search*/
.search img{
  height:100px;
}
.search{
  text-align: center;
  margin-bottom: 80px;
  margin-top:80px;
}
.search form{
  width: 80%;
  position: static;
  top: 0%;
  left: 0%;
  transform: translate(0%,0%);
  margin: 0 10%;
}
.search select{
  border: 2px solid #16479b;
  padding: 10px 60% 10px 10px;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  margin-bottom: 10px;
}
.search input{
  border: none;
  padding: 10px 30px;
  color: white;
  font-weight: bold;
  margin-left: 10px;
}
.search h2{
  font-size: 24px;
  margin: 0;
  margin-top: 10px;
}
.search h2 span{
  color: #e02892;
}
@media screen and (min-width:640px){
  .search select{
    padding: 10px 20% 10px 10px;
  }
  .search select:first-child{
    margin-right: 5px;
  }
  .search h2{
    margin-top: 0;
  }
}

/*top-WA*/
.top_wa>img{
  height:100px;
  margin-bottom: 20px;
}
.top_wa{
  text-align: center;
  width: 90%;
  margin: 0 5%;
  margin-bottom: 80px;
}
.index{
  width:100%;
  margin-bottom:20px;
}
.index h5{
  font-size: 18px;
  margin: 0;
  text-align: left;
  margin-left: 5px;
}
.index p{
  text-align: left;
  margin: 0 2%;
}
.index>img{
  width: 95%;
}
@media screen and (min-width:640px){
  .index{
    width:30%;
    display: inline-block;
    vertical-align: top;
  }
}

/*top-Youtube*/
.youtube>img{
  height:100px;
  margin-bottom: 20px;
}
.youtube{
  text-align: center;
  margin-bottom: 80px;
}
.youtube_wrapper{
  width: 100%;
  aspect-ratio: 16 / 9;
  margin:0 auto;
}
.youtube_wrapper iframe{
  width:100%;
  height:100%;
}
@media screen and (min-width:640px){
  .youtube_wrapper{
    width: 70%;
  }
}

/*review*/
.reviews>img{
  height:100px;
  margin-bottom: 20px;
}
.reviews{
  text-align: center;
  width: 90%;
  margin: 0 5%;
  margin-bottom: 80px;
}
.review_wrapper{
  display: flex;
  flex-wrap:wrap;
}
.review{
  flex:auto;
  border: 4px solid #16479b;
  margin-right:1%;
  text-align: left;
  width:100%;
  margin-bottom:20px;
}
.review:last-child{
  margin: 0;
}
.review_top{
  margin: 12px 12px 0 12px;
}
.review_bottom{
  margin: 0 12px 12px 12px;
}
.review_bottom p:nth-child(2){
  margin-bottom: 0;
  height: 100px;
  overflow-y: scroll;
}
.review_bottom p:last-child{
  font-size: 12px;
  text-align: right;
  margin: 0;
}
.review_top img{
  width: 30%;
}
.review_text{
  display: inline-block;
  vertical-align: top;
}
.review_text p{
  font-size: 12px;
  margin: 0;
}
.review_text a{
  font-weight:bold;
  font-size: 20px;
}
@media screen and (min-width:640px){
  .review{
    width:30%;
    margin-bottom:0;
  }
  .review_text a{
    font-size:16px;
  }
}

/*top-about*/
.abouts>img{
  height:100px;
  display: block;
  margin: 20px auto;
}
.about1, .about3, .about4{
  width: 90%;
  margin: 0 auto;
}
.about1{
  margin-bottom: 62px;
}
.about2{
  padding:102px 5%;
  transform: skewY(-0.06turn);
  margin-bottom: 90px;
}
.about3{
  margin-bottom: 62px;
}
.about4{
  margin-bottom:80px;
}
.about2_wrapper_right, .about2_wrapper_left{
  transform: skewY(0.06turn);
  margin-bottom: 30px;
}
.about2_wrapper_right:last-child{
  margin-bottom:0;
}
.about1 img, .about3 img{
  width:100%;
}
.about2_wrapper_right img{
  width:85%;
  margin-left:15%;
}
.about2_wrapper_left img{
  width:85%;
}
.about3_wrapper{
  margin-bottom: 40px;
}
.about1 p{
  margin-bottom: 20px;
}
.about1 span{
  font-size: 20px;
  font-weight: bold;
  background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #fcff3b 0%) repeat scroll 0 0;
}
.about2_wrapper_right p{
  display: inline-block;
  padding: 14px;
  background-color: white;
  font-weight: bold;
  position: absolute;
  margin-top: -16px;
  font-size: 0.9rem;
  border: 1px solid #16479b;
}
.about2_wrapper_left p{
  display: inline-block;
  padding: 14px;
  background-color: white;
  font-weight: bold;
  position: absolute;
  margin-top: -16px;
  right:0;
  font-size: 0.9rem;
  border: 1px solid #16479b;
}
.about3_wrapper p{
  margin-left: 12px;
}
.about4 h2{
  font-size: 22px;
    margin: 0;
    text-align: center;
    color: white;
    background: linear-gradient(to left, #2458a7, #1fa0d8);
    padding: 10px;
    -webkit-transform: skew(-15deg);
    transform: skew(-15deg);
    margin-bottom: 30px;
}
.about4 h3{
  margin: 0;
  font-size: 20px;
  margin-bottom: 10px;
}
.about4_number{
  font-size: 120px;
  font-weight: bold;
  color: #a2deff;
  letter-spacing: -7px;
  position: absolute;
  z-index: -1;
  margin-top: -44px;
}
.about4_wrapper_left, .about4_wrapper_right{
  padding-bottom: 15px;
  margin-bottom: 24px;
  border-bottom: 2px solid #a2deff;
  position: relative;
}
.about4_wrapper_right .about4_number{
  right:0;
}
.about4_wrapper_left h3{
  width: 85%;
  margin-left: 15%;
}
.about4_wrapper_left p:last-child{
  width: 85%;
  margin-left: 15%;
}
.about4_wrapper_right p:last-child{
  width:85%;
}
@media screen and (min-width:640px){
  .about1 p:first-child{
    width:70%;
    display: inline-block;
  }
  .about1 img{
    width:28%;
    vertical-align: top;
    margin-bottom: 12px;
  }
  .about2{
    transform: skewY(0.98turn);
    display: flex;
    flex-wrap: wrap;
  }
  .about2_wrapper_right, .about2_wrapper_left{
    transform: skewY(-0.98turn);
    display: inline-block;
    width: 33%;
  }
  .about2_wrapper_right img, .about2_wrapper_left img{
    width: 97%;
    margin-left: 3%;
  }
  .about2_wrapper_left p{
    right:auto;
    left:0
  }
  .about3{
    width:80%;
  }
  .about3 img{
    width:50%;
  }
  .about3_wrapper p{
    width: 47%;
    display: inline-block;
    vertical-align: top;
    margin-top: 20px;
  }
  .about4{
    width: 76%;
  }
  .about4 h2{
    width: 45%;
    margin: 30px auto;
  }
  .about4_wrapper_left h3{
    width: 88%;
    margin-left: 12%;
  }
  .about4_wrapper_left p:last-child{
    width: 88%;
    margin-left: 12%;
  }
  .about4_wrapper_right p:last-child{
    width: 88%;
  }
  .about4_wrapper_left, .about4_wrapper_right{
    padding-bottom:32px;
  }
}

/*result*/
.results{
  margin-bottom:80px!important;
}
.results>img{
  height:100px;
  margin: 0 auto;
  margin-bottom: 20px;
  margin-top: 20px;
  display: block;
}
.result{
  border:4px solid #16479b;
  flex:auto;
  margin-bottom: 20px;
  display: inline-block;
}
.result img{
  width:100%;
}
.result_bottom>a{
  font-size: 24px;
}
.result_bottom{
  padding:0 5%;
}
.result_bottom p:last-child{
  margin: 12px 0;
}
.category{
  font-size: 0;
  margin-top: 10px;
}
.category a{
  background-color: #16479b;
  color: white;
  padding: 3px 5px;
  display: inline-block;
  margin: 0 5px 5px 0;
  font-weight: bold;
}
@media screen and (min-width:640px){
  .results{
    width: 90%;
    margin: 0 5%;
  }
  .result{
    width: 31.7%;
    margin: 0;
    margin-bottom: 10px;
    vertical-align: top;
  }
  .result_bottom{
    height: 305px;
    overflow: hidden;
  }  
  .result:nth-of-type(3n){
    margin-right:0;
  }
  .category a{
    font-size: 12px;
  }
}
@media screen and (min-width:640px) and ( max-width:960px) {
  .result{
    width:47.8%;
  }
}


/*wa*/
.wa{
  margin-bottom:80px;
}
.wa img{
  width: 100%;
}
.wa_text{
  padding:0 5%;
}
.main_text{
  padding:0 5%;
  font-size: 16px;
  margin-bottom: 30px;
}
.wa_text p:first-child{
  font-size: 24px;
}
.wa_reviews>img{
  height:100px;
  margin-bottom: 20px;
}
.wa_reviews{
  text-align: center;
  margin-bottom: 80px;
}
.wa_review_wrapper{
  text-align: left;
}
.wa_review{
  text-align: left;
  border: 4px solid #16479b;
  margin-bottom: 10px;
  display: inline-block;
}
.wa_review p{
  margin: 6px 3% 5px 3%;
}
.wa_review p:nth-child(2){
  height:100px;
  overflow-y: scroll;
}
.wa_review p:last-child{
  text-align: right;
}
@media screen and (min-width:640px){
  .wa_review_wrapper{
    width: 90%;
    margin: 0 5%;
  }
  .wa_review{
    width:48%;
  }
  .wa_review:nth-of-type(2n){
    margin-right: 0;
  }
  .wa_text p:nth-of-type(2){
    margin:4px 0;
  }
}

/*edit*/
.edit{
  text-align: center;
  margin-bottom: 80px;
}
.edit>img{
  height:100px;
  margin-bottom: 20px;
  margin-top: 20px;
}
.edit_form{
  width: 90%;
  text-align: left;
  font-size: 0;
  margin: 0 5%;
}
.edit_form a{
  font-weight: bold;
  display: inline-block;
}
.edit_form .links{
  background: none;
  display: inline-block;
  padding: 15px 10px;
  width: 97%;
  outline: none;
  transition: 0.25s;
  text-align: left;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(to right, #16479B, #7a438f);
  color: #ffffff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  background-size: 200% auto;
  text-align: center;
}
.edit_form .links:hover{
  background-position: right center;
  background-color: #16479B;
  cursor: pointer;
}
.edit_form input[type = "id"],.edit_form input[type = "email"],.edit_form input[type = "password"]{
  background: none;
  display: inline-block;
  padding: 15px 10px;
  width: 100%;
  outline: none;
  transition: 0.25s;
  text-align: left;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  border: 2px solid #16479b;
  box-sizing: border-box;
}
.edit_form input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.edit_form input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.edit_form input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
.delete_form{
  width: 90%;
  text-align: center;
  margin:0 auto;
}
.delete_form textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  outline: none;
  text-align: left;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  width:100%;
  height:140px;
  box-sizing: border-box;
}
.delete_form input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.delete_form input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.delete_form input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
@media screen and (min-width:640px){
  .edit_form{
    width: 60%;
    margin: 0 20%;
  }
  .edit_form .links{
    width:96%;
  }
  .delete_form{
    width: 60%;
  }
}

/*check*/
.check{
  margin-bottom:80px;
}
.check img{
  width:100%;
}
.check>p{
  font-weight: bold;
  margin: 30px 0;
  text-align: center;
}
.check_wrapper{
  width: 90%;
  margin: 0 5%;
}
.check_wrapper h2{
  margin:0;
  font-size: 30px;
}
.check_wrapper p{
  font-weight: bold;
  background-color: #16479b;
  color: white;
  padding: 10px 16px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.check_form{
  width: 100%;
  text-align: center;
  margin:0;
}
.check_form textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  outline: none;
  text-align: left;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  width:100%;
  height:140px;
  box-sizing: border-box;
}
.check_form input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.check_form input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.check_form input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
@media screen and (min-width:640px){
  .check{
    width: 80%;
    margin: 0 10%;
    margin-bottom: 80px;
  }
  .check_wrapper{
    width:100%;
    margin:0;
  }
  .check>p{
    font-size: 30px;
  }
  .check_text{
    width: 60%;
  }
}

/*done*/
.done{
  width: 80%;
  margin: 0 10%;
  text-align: center;
  margin-bottom: 80px;
}
.done>img{
  height: 100px;
  margin-top: 1rem;
}
.done p{
  font-weight: bold;
  margin-top: 1rem;
}
.done form{
  width: 100%;
  position: inherit;
  top: 0;
  left: 0;
  transform: translate(0,0);
  text-align: center;
  margin-top: 2rem;
}
@media screen and (min-width:640px){
  .done{
    width: 60%;
    margin: 0 20%;
  }
}

/*messsage*/
#message>img{
  height: 100px;
  margin-top: 5rem;
}
#message p{
  font-weight: bold;
  margin-bottom:20px;
}
.message_text{
  text-align: left;
  border: 2px solid #16479b;
  padding: 12px 10px;
  margin: 0 5%;
  margin-bottom: 16px;
}
.message_text p{
  font-weight:normal!important;
  margin:0!important;
}
#message input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
#message input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
#message input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
#message{
  width: 90%;
  margin: 0 5%;
  text-align: center;
  margin-bottom: 80px;
  border:solid 2px #16479B;
  background-color: #fff;
  height: 523px;
  position: fixed;
  z-index: 10;
  text-align: center;
}
@media screen and (min-width:640px){
  .message_text{
    width:80%;
    margin:0 10%;
    margin-bottom: 16px;
  }
  #message input[type = "submit"]{
    width:50%;
  }
}

/*case*/
.cases{
  margin-bottom: 80px;
}
.cases>img{
  height:100px;
  display: block;
  margin: 0 auto;
  margin-bottom: 20px;
}
.case_wrapper{
  background-color: #16479b;
  color: white;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 30px;
}
.case{
  flex:auto;
  width:100%;
}
.case_left{
  margin-bottom: 30px;
}
.case_left h2{
  margin: 0;
  font-size: 20px;
  text-align: center;
  margin: 20px 0 10px 0;
}
.case_left p{
  width: 90%;
  margin: 0 5%;
}
.case_left p:last-child{
  text-align: right;
}
.case_right{
  width: 90%;
  margin: 0 5%;
  font-weight: bold;
}
.text_right{
  background-color:white;
  color:#16479b;
  padding: 10px;
  width: 80%;
  margin-left: 13%;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  margin-bottom: 10px;
}
.text_left{
  border:2px solid white;
  padding: 10px;
  width: 80%;
  border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  margin-bottom: 10px;
}
@media screen and (min-width:640px){
  .case{
    flex:auto;
    width:40%;
  }
  .case_wrapper{
    padding: 0 5%;
  }
  .case_right{
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

/*chatroom*/
.chat{
  color: #16479b;
  border-top: 2px solid #16479b;
  display: block;
  padding: 12px;
  position: relative;
}
.chat:last-child{
  border-bottom:2px solid #17479b;
}
.chatroom>img{
  height:100px;
  display: block;
  margin: 0 auto;
  margin-bottom: 20px;
  margin-top: 20px;
}
.mychat_left{
  width: 90%;
  display:inline-block;
  position: relative;
}
.mychat_left>span{
  position: absolute;
  right: 0;
  color: #e02792;
}
.mychat_left img{
  width: 30%;
}
.mychat_left h2{
  display: inline-block;
  vertical-align: top;
  margin: 0;
  margin-top: 29px;
}
.mychat_left p{
  width: 100%;
  display: inline-block;
  margin-bottom: 5px;
}
.mychat_left p:last-child{
  text-align: right;
}
.mychat_right{
  display: inline-block;
  width: 10%;
  position: absolute;
  margin-top: 40px;
  width: 10%;
}
.mychat_right img{
  width: 100%;
}
.select{
  display: none!important;
}
@media screen and (min-width:640px){
  .chatroom{
    width: 90%;
    margin: 0 5%;
  }
  .chats{
    width: 50%;
    display: inline-block;
    margin:0 25%;
  }
  .mychat_right{
    margin-top: 37px;
  }
  .chat{
    border: 2px solid #17479b;
    border-bottom: none;
  }
  .select{
    width: 59%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    font-size: 28px;
    margin-top: 20px;
  }
}

/*chat*/
.chat_wa{
  width: 250px;
  margin: 10px 5%;
  height: 130px;
}
.chat_right{
  width:100%;
  margin-top:0;
  height: calc(100vh - 307px);
  overflow-y: scroll;
}
.chat_wa>img{
  width: 46%;
  min-width: 110px;
}
.chat_wa_text{
  display: inline-block;
  width: 45%;
  min-width: 110px;
  vertical-align: top;
  font-size: 0;
}
.chat_wa_text img{
  width: 10%;
}
.chat_wa_text>a{
  font-size:18px;
  font-weight: bold;
}
.chat_wa_text a:last-child{
  vertical-align: bottom;
  font-size:14px;
  font-weight: normal;
}
.chat_wa a{
  color:#16479b;
}
.message_wrapper{
  width: 90%;
  padding: 0 5%;
  background-color: white;
  position:fixed;
  bottom:0;
  z-index: 5;
  height: 80px;
}
.message_form{
  width:100%;
}
.message_form textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  width: 76%;
  outline: none;
  text-align: left;
  height: 56px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  display: inline-block;
  box-sizing: border-box;
}
.message_form button{
  -webkit-appearance: none;
  border-radius: 0;
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 20%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
  display: inline-block;
  vertical-align: top;
  margin-top: 17px;
  max-width: 140px;
}
.message_form button{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f)!important;
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.message_form button:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
.messages{
  width: 90%;
  margin: 0 5%;
}
.messages .text_right{
  background-color:white;
  border:2px solid #16479b;
  color:#16479b;
  padding: 10px;
  width: 80%;
  margin-left: 20%;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  margin-bottom: 10px;
  font-weight: bold;
  box-sizing: border-box;
}
.messages .text_left{
  background-color:#16479b;
  color:white;
  padding: 10px;
  width: 80%;
  border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  margin-bottom: 10px;
}
.text_left span.time{
  display: block;
  margin-top: 10px;
  font-weight: normal;
  text-align: right;
}
.line{
  display: block;
}
span.line_right{
  float: right;
}
.text_right span.time{
  font-weight: normal;
}
button.delete{
  margin: 0 0 0 auto;
  color: white!important;
  background: #e02792;
  border: none;
  padding: 3px;
}
@media screen and (min-width:640px){
  .message_wrapper{
    width:100%;
    padding:0;
    padding-bottom: 10px;
    height:70px;
  }
  .chat_wrapper{
    width:95%;
    margin: 0 auto;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
  }
  .chat_left{
    width:100%;
    height: auto;
    margin: 0;
    display:inline-block;
    position: relative;
  }
  .chat_right{
    width: 100%;
    margin: 0;
    display: inline-block;
    vertical-align: top;
    position:relative;
    height: calc(100vh - 160.5px);
  }
  .chat_wa_text a:last-child{
    vertical-align: super;
  }
  .messages {
    width: 100%;
    margin:0;
    padding:0;
  }
  .message_form textarea[type = "text"]{
    width:56%;
    max-width: 570px;
  }
}

/*user*/
.user{
  width:90%;
  margin:0 auto;
  margin-bottom:80px;
  margin-top:20px;
}
.user img{
  height:100px;
  display: block;
  margin:0 auto;
  margin-bottom:20px;
}
.user_info{
  border:2px solid #16479b;
  margin-bottom:20px;
}
.user_info h2{
  font-size: 33px;
  background-color: #16479b;
  color: white;
  padding: 10px 20px;
  margin:0;
}
.user_text{
  padding:15px 20px;
}
.user_text span{
  font-weight: bold;
}
.message_to_user{
  width: 100%;
  text-align: center;
  margin:0;
}
.message_to_user textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  width: 100%;
  outline: none;
  text-align: left;
  height: 140px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  box-sizing: border-box;
}
.message_to_user input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.message_to_user input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.message_to_user input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}

/*question*/
.body_wrapper_vh{
  background: linear-gradient(to right, #16479B, #7a438f);
  height:100vh;
}
.body_wrapper_100{
  background: linear-gradient(to right, #16479B, #7a438f);
  height:100%;
}
.question{
  font-size: 0;
}
.question>a{
  padding: 5px;
  margin-left: 4%;
  display: inline-block;
  margin-bottom: 10px;
  color: white;
  font-size: 12px;
  font-weight: bold;
  background-color: #7a438f;
}
.question p{
  width: 90%;
  margin: 0 auto;
  font-weight: bold;
  color:white;
}
.ques{
  display:flex;
  flex-flow: column;
  justify-content:space-between;
}
.ques a{
  display: block;
  color:white;
  font-weight:bold;
  text-align: center;
  margin-bottom:1%;
  font-size: 24px;
  height: 6vh;
  line-height: 6vh;
  width: 100%;
  background: rgba(255,255,255,0.1);
}
.ques a:hover{
  background: rgba(255,255,255,0.3);
}
.ques a:last-child{
  margin-bottom: 0;
}
.yesno a{
  display: block;
  color:white;
  font-weight:bold;
  text-align: center;
  margin-bottom:1%;
  font-size: 24px;
  height: 6vh;
  line-height: 6vh;
  width: 100%;
  background: rgba(255,255,255,0.1);
}
.yesno a:hover{
  background: rgba(255,255,255,0.3);
}
.yesno a:last-child{
  margin-bottom: 0;
}
.scroll a{
  display: block;
  color:white;
  font-weight:bold;
  text-align: center;
  margin-bottom:1%;
  font-size: 24px;
  height: 6vh;
  line-height: 6vh;
  background: rgba(255,255,255,0.1);
}
.scroll a:hover{
  background: rgba(255,255,255,0.3);
}
.scroll a:last-child{
  margin-bottom: 0;
}
.q_done{
  margin-bottom: 80px;
}
.q_done img{
  height:100px;
  display: block;
  margin:0 auto;
  margin-top:20px;
  margin-bottom:20px;
}
.q_done p{
  text-align: center;
}
.q_text textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #fff;
  padding: 15px 10px;
  width: 90%;
  margin: 0 auto;
  out: none;
  text-align: left;
  height: 140px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  box-sizing: border-box;
  background-color:rgba(255,255,255,0.1);
  color: #fff;
}
.q_text input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.q_text input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.q_text input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
.question input[type="range"]{
  width:90%;
  margin:0 5%;
}
.question p:last-child{
  text-align: center;
  font-size: 30px;
}
.boxes{
  display: inline-block;
  width: 45%;
  font-size: 0;
  vertical-align: top;
  margin-top: 20px;
  margin-bottom: 20px;
  width: 90%;
  margin: 10px 5%;
}
input[type="checkbox"] { display: none; }
input[type="checkbox"] + label {
  display: inline-block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  font: 14px/20px 'Open Sans', Arial, sans-serif;
  color: #fff;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  margin-right: 40px;
}
input[type="checkbox"] + label:last-child { margin-bottom: 0; }
input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}
input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.question input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
  background-color:rgba(255,255,255,0.1);
}
.question input[type = "submit"]:hover {
  background-color:rgba(255,255,255,0.3);
}
@media screen and (min-width:640px){
  .body_wrapper_100{
    height:100vh;
  }
  .question>a{
    margin-left: 5%;
  }
  .ques, .yesno{
    display: flex;
    flex-wrap: wrap;
    flex-flow: inherit;
    width: 90%;
    margin: 0 auto;
  }
  .ques a, .yesno a{
    flex: auto;
    margin-right: 1%;
    height: 29.8vh;
    line-height: 29.8vh;
  }
  .ques a:last-child, .yesno a:last-child{
    margin-right:0;
  }
  .scroll{
    width: 90%;
    margin: 0 auto;
    overflow-y: scroll;
    height: 76vh;
  }
  .scroll a{
    margin-bottom: 0.5%;
  }
}

/*mailcheck*/
.mailcheck{
  color: red;
  font-size: 18px;
  text-align: center;
}
.mailcheck input[type="submit"]{
  border-radius: 0;
  background-color: #16479b;
  border: 0;
  color: white;
  padding: 10px;
  margin-bottom: 20px;
  margin-top: 10px;
}

/*topic*/
.topic_top{
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
.topic_top>img{
  margin-top: 10px;
}
.topic_top img{
  width:100%;
}
.topic_top .checkbox{
  width:40px;
}
.topic_top a{
  font-size: 24px;
  background: linear-gradient(transparent 50%, yellow 60%);
  font-weight: bold;
  text-align: center;
}
.topic_top h3{
  margin: 0;
  font-size: 20px;
  margin-bottom: 10px;
  text-align: left;
}
.topic_check p{
  width: 85%;
  display: inline-block;
  margin-bottom: 10px;
  text-align: left;
  vertical-align: middle;
  margin-top: -11px;
}
.topic_lifeplan_text{
  margin-top: 20px;
  text-align: left;
  margin-bottom: 30px
}
.topic_lifeplan_text span{
  font-size: 17px;
  background: linear-gradient(transparent 50%, yellow 60%);
  font-weight: bold;
}
.topic_top_text{
  margin-top: 20px;
  text-align: left;
  margin-bottom: 30px
}
.topic_top_text span{
  font-size: 17px;
  background: linear-gradient(transparent 50%, yellow 60%);
  font-weight: bold;
}
.topic_bottom{
  background-color: #ceebfb;
  padding: 30px 0 60px 0;
  margin-bottom: 80px;
}
.topic_bottom_wrapper{
  width:90%;
  margin:0 auto;
}
.topic_bottom img{
  width:100%;
}
.topic_bottom h2{
  margin-bottom: 0;
  font-size: 1rem;
}
.topic_bottom span{
  font-size:56px;
  margin-right: 5px;
}
@media screen and (min-width:640px){
  .topic_top img{
    width:40%;
  }
  .topic_check{
    width: 56%;
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
  }
  .topic_bottom_flex{
    width: 31%;
    display: inline-block;
    vertical-align: top;
    margin-right: 1%;
  }
  .topic_bottom_flex:last-child{
    margin-right:0;
  }
  .topic_bottom_flex_2{
    width: 48%;
    display: inline-block;
    vertical-align: top;
    margin-right: 1%;
  }
  .topic_bottom_flex_2:last-child{
    margin-right:0;
  }
}

/*contact*/
.contact{
  text-align: center;
  margin-bottom: 80px;
  margin-top:20px;
}
.contact>img{
  height:100px;
  margin-bottom: 20px;
  margin-top: 20px;
}
.contact_form{
  width: 90%;
  text-align: left;
  font-size: 0;
  margin: 0 5%;
}
.contact_form a{
  font-weight: bold;
  display: inline-block;
}
.contact_form input[type = "name"],.contact_form input[type = "email"]{
  background: none;
  display: inline-block;
  padding: 15px 10px;
  width: 100%;
  outline: none;
  transition: 0.25s;
  text-align: left;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  border: 2px solid #16479b;
  box-sizing: border-box;
}
.contact_form input[type = "submit"]{
  border: 0;
  background: none;
  display: block;
  padding: 15px 10px;
  width: 70%;
  outline: none;
  color: white;
  transition: 0.25s;
  cursor: pointer;
  height:54px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
.contact_form input[type = "submit"]{
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(to right, #16479B, #7a438f);
    color: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    background-size: 200% auto;
}
.contact_form input[type = "submit"]:hover {
    background-position: right center;
    background-color: #16479B;
    cursor: pointer;
}
.contact_form textarea[type = "text"]{
  background: none;
  display: block;
  border: 2px solid #16479b;
  padding: 15px 10px;
  outline: none;
  text-align: left;
  margin-bottom: 1rem;
  font-size: 15px;
  border-radius: 0;
  resize: none;
  width:100%;
  height:140px;
  box-sizing: border-box;
}
.contact p{
  margin:0 5%;
}
@media screen and (min-width:640px){
  .contact_form{
    width: 60%;
    margin: 0 20%;
  }
}

/*q&a*/
.qa{
  width:90%;
  margin:0 auto;
}
.qa img{
  height:100px;
  display: block;
  margin: 20px auto;
}
.qa h3{
  margin: 0;
  font-size: 20px;
  margin-bottom:5px;
}
.qa p{
  margin-bottom:40px;
}
.qa span{
  font-size: 30px;
  color:#a2deff;
  font-weight: bold;
}
@media screen and (min-width:640px){
  .qa{
    width:80%;
  }
}

/*fixed common*/
.common{
  width: 90%;
  margin: 20px 5% 80px 5%;
}
.common span{
  display: block;
  font-weight:bold;
  margin-bottom: 20px;
  margin-top: 20px;
}
.common h2{
  text-align: center;
  font-size: 20px;
}
@media screen and (min-width:640px){
  .common{
    width: 80%;
    margin: 20px 10% 80px 10%;
  }
}

.flow>img{
  height:100px;
  display: block;
  margin: 20px auto;
}
.flow1 {
  width: 90%;
  margin: 0 auto;
}

.flow1{
  margin-bottom: 62px;
}

.flow1 img{
  width:100%;
}

.flow1_wrapper{
  margin-bottom: 40px;
}

.flow1_wrapper p{
  margin-left: 12px;
}

@media screen and (min-width:640px){
  
  .flow1{
    width:80%;
  }
  .flow1 img{
    width:100%;
  }
  .flow1_wrapper p{
    width: 95%;
    display: inline-block;
    vertical-align: top;
    margin-top: 20px;
  }
}