@charset "utf-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/* common */

/*
.fixed_btn{
  position: fixed;
  top: 10px; 
  right: 10px;
  padding: 6px 20px;
  border: solid 3px #FFF;
  border-radius: 5px;
  background-color: #66F;
  color: #FFF;
  cursor : pointer;
}
*,
*::before,
*::after{
    box-sizing: border-box;
}
*/

.fixed_btn{
  position: fixed;
  top: 10px; 
  right: 10px;
  padding: 6px 20px;
  border: solid 3px #FFF;
  border-radius: 5px;
  background-color: #13366c;
  color: #FFF;
  cursor : pointer;
  font-size: 1.125rem;
  font-weight: bold;
}
*,
*::before,
*::after{
    box-sizing: border-box;
}

/*main*/

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, sans-serif;
}

a {
  text-decoration: none;
}

img{
  max-width: 100%;
}

p{
  font-size: 16px;
  line-height: 2;
  color: #333;
}

.container {
  max-width: 1020px;
  padding: 0 15px;
  margin: 0 auto;
}

.wrapper {
  margin-right: auto;
  margin-left:  auto;
  max-width: 1160px;
  padding-right: 10px;
  padding-left:  10px;
  box-sizing: border-box;
  overflow: hidden;
}

.mv {
  background-color: #fafbfc;
  height: 800px;
  position: relative;
}
.mv h1 svg{
  width: 100%;
}
.mv h1{
  color:#13366c;
  font-weight: bold;
  font-size: 2rem;
  line-height: 2.2;
  position: absolute;
  top: 38%;
  left: 10%;
  z-index: 1;
  width: 590px;
}
.mv h1 svg{
  fill: #13366c;
}
.mv .visual{
  background-image: url("../images/mv.jpg");
  width: 60%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-size: cover;
  border-radius: 0 0 0 20px;
  background-position: center;
}
@media only screen and (min-width:560px) and (max-width:959px) {
  .mv{
    height: 600px;
  }
  .mv h1{
    font-size: 1.5rem;
    width: 500px;
  }
}
@media screen and (max-width:559px) {
  .mv{
    height: 500px;
  }
  .mv h1{
    font-size: 5vw;
    width: 85%;
    top: 34%;
    left: 7%;
  }
  .mv .visual{
    width: 85%;
    opacity: 0.6;
  }
}

.whats{
  background-color: #fafbfc;
  background-image: url("../images/bg_intro.jpg");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 100px 0;
  text-align: center;
}
.whats h2{
  font-size: 2.125rem;
  font-weight: bold;
  color: #13366c;
}
h2.en::before{
  display: block;
  color: #b6e6fe;
  margin-bottom: 6px;
  font-size: 2.5rem;
  font-family: 'Roboto', sans-serif;
}
.whats h2::before{
  content: "Whats";
}
.whats_flex{
  display: flex;
  margin-top: 50px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.whats_box{
  background-color: #fff;
  width: 31.428%;
  padding: 40px 15px;
  border-radius: 10px;
  height: 280px;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
}
.whats_box p{
  font-size: 1.125rem;
  line-height: 1.777;
  margin-top: 20px;
}
.whats h2::before{
  content: "Whats";
}
@media only screen and (min-width:560px) and (max-width:959px) {
  .whats_box{
    width: 48%;
    height: auto;
  }
}
@media screen and (max-width:559px) {
  .whats{
    padding: 60px 0;
  }
  .whats_box{
    width: 100%;
    height: auto;
  }
  .whats h2{
    font-size: 1.8rem;
  }
}

.wish{
  background-color: #edf8ff;
  padding: 100px 0;
}
.wish h2{
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #333;
  text-align: center;
}
.wish h2::before{
  content: "I wish I had...";
}
.wish p{
  margin-top: 20px;
}
.wish > p{
  text-align: center;
}
.wish_image_outer{
  position: relative;
  margin-top: 70px;
}
.wish_image{
  position: absolute;
  width: calc(50% - 25px);
  height: 420px;
  background-size: cover;
}
.wish_image.left{
  background-image: url("../images/img_wish01.jpg");
  background-position: top right;
  border-radius: 0 20px 20px 0;
}
.wish_txt_container{
  position: relative;
  max-width: 1020px;
  padding: 0 15px;
  margin: 0 auto;
}
.wish_txt_right{
  width: calc(50% - 25px);
  position: relative;
  left: calc(50% + 25px);
  padding: 80px 0;
}
.wish_txt_right > h3 {
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #13366c;
  padding-left: 90px;
  position: relative;
}
.wish_txt_right > h3::before {
  content: url("../images/ico_wish01.png");
  display: inline-block;
  position: absolute;
  left: 0;
  top: 5px;
}
.wish_image.right{
  background-image: url("../images/img_wish02.jpg");
  background-position: center;
  border-radius: 20px 0 0 20px;
  right: 0;
}
.wish_txt_left{
  width: calc(50% - 25px);
  position: relative;
  padding: 15px 0;
}
.wish_txt_left > h3 {
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #13366c;
  padding-left: 90px;
  position: relative;
}
.wish_txt_left > h3::before {
  content: url("../images/ico_wish02.png");
  display: inline-block;
  position: absolute;
  left: 0;
  top: 5px;
}
@media only screen and (max-width:959px) {
  .wish_image{
    width: 95%;
    position: relative;
    height: 400px;
  }
  .wish_image.left{
    background-position: center;
  }
  .wish_txt_right{
    width: 100%;
    left: 0;
    padding: 40px 0;
  }
  .wish_image.right{
    background-position: right;
    left: 5%;
  }
  .wish_txt_left{
    width: 100%;
    left: 0;
    padding: 40px 0;
  }
}
@media screen and (max-width:559px) {
  .wish{
    padding: 60px 0;
  }
  .wish_image{
    height: 300px;
  }
  .wish h2{
    font-size: 1.7rem;
    text-align: left;
    padding: 0 15px;
  }
  .wish > p{
    text-align: left;
    padding: 0 15px;
  }
  .wish_image_outer{
    margin-top: 50px;
  }
  .wish_txt_right, .wish_txt_left{
    padding: 30px 0 0 0;
  }
  .wish_txt_right > h3, .wish_txt_left > h3{
    padding-left: 30px;
    padding-top: 30px;
  }
  .wish_txt_right > h3::before, .wish_txt_left > h3::before{
    opacity: 0.3;
  }
  .wish_txt_right > h3, .wish_txt_left > h3{
    font-size: 1.5rem;
  }
}

.important{
  background-image: url("../images/bg_important.jpg");
  padding: 100px 0;
  background-position: top;
  background-size: 100%;
  background-repeat: no-repeat;
  background-color: #62d3fc;
}
.important h2{
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.important_box{
  width: 1050px;
  margin: 0 auto;
  display: flex;
  margin-top: 60px;
}
.important_image{
  width: calc(50% - 25px);
  background-size: cover;
}
.first .important_image{
  background-image: url("../images/img_important01.jpg");
  border-radius: 20px 0 0 20px;
}
.second .important_image{
  background-image: url("../images/img_important02.jpg");
  border-radius: 0 20px 20px 0;
}
.important_txt{
  width: calc(50% + 25px);
  background-color: #fff;
  padding: 50px;
}
.first .important_txt{
  border-radius: 0 20px 20px 0;
}
.second .important_txt{
  border-radius: 20px 0 0 20px;
}
.important h3{
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #333333;
}
.important_txt > p{
  margin-top: 10px;
}
@media only screen and (max-width:959px) {
  .important{
    padding: 100px 15px;
  }
  .important_box{
    width: 100%;
    display: block;
  }
  .important_image{
    width: 100%;
    height: 200px;
  }
  .first .important_image{
    border-radius: 20px 20px 0 0;
    background-position: left 50% top 70%;
  }
  .second .important_image{
    border-radius: 0 0 20px 20px;
    background-position: left 40% top 30%;
  }
  .important_txt{
    width: 100%;
    padding: 40px 30px;
  }
  .first .important_txt{
    border-radius: 0 0 20px 20px;
  }
  .second .important_txt{
    border-radius: 20px 20px 0 0;
  }
}
@media screen and (max-width:559px) {
  .important{
    padding: 60px 15px;
  }
  .important_box{
    margin-top: 30px;
  }
  .important h2{
    font-size: 1.5rem;
    text-align: left;
    text-shadow: 0 0 5px #32a1e0;
  }
  .important h3{
    font-size: 1.6rem;
  }
}

.save{
  padding: 100px 0 150px 0;
}
.save h2{
  font-size: 1.875rem;
  line-height: 1.333;
  font-weight: bold;
  color: #13366c;
  text-align: center;
}
.save h2::before{
  content: "Save a lot of time!";
}
.save_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}
.save_flex > div{
  width: 26%;
}
.save_flex > div > img{
  display: block;
  margin: 0 auto;
}
.save_flex > div > p{
  text-align: center;
  margin-top: 20px;
}
@media only screen and (max-width:959px) {
  .save{
    padding: 100px 15px 150px 15px;
  }
  .save_flex > div{
    width: 45%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width:559px) {
  .save_flex > div{
    width: 100%;
  }
  .save{
    padding: 60px 15px 100px 15px;
  }
  .save h2{
    font-size: 1.5rem;
  }
}

.reduce{
  background-color: #edf8ff;
  padding-bottom: 100px;
}
.reduce h2{
  background-color: #5ccfff;
  width: 1050px;
  border-radius: 60px;
  color: #fff;
  font-weight: bold;
  padding: 40px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  top: -60px;
  font-size: 1.875rem;
  vertical-align: middle;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
}
.reduce h2::after{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border: 20px solid transparent;
  border-top: 30px solid #5ccfff;
}
.reduce h2 svg{
  fill: #13366c;
  width: 300px;
  margin-right: 10px;
}
.reduce_flex{
  display: flex;
  margin-top: 30px;
  align-items: flex-start;
}
.reduce_left{
  margin-right: 10px;
}
.reduce_left > h3{
  font-size: 1.4rem;
  font-weight: bold;
  color: #13366c;
  line-height: 1.8;
  position: relative;
  padding-left: 80px;
}
.reduce_left > h3::before{
  content: url("../images/ico_reduce01.png");
  position: absolute;
  left: 0;
  top: 10px;
}
.reduce_box{
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
  margin-top: 10px;
}
.reduce_box > p{
  position: relative;
  padding-left: 50px;
}
.reduce_box > p::before{
  content: url("../images/ico_reduce02.png");
  position: absolute;
  left: 0;
  top: 0;
}
.btn_line{
  display: block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #13366c;
  border: solid 3px #13366c;
  background: #fff;
  border-radius: 10px;
  transition: .4s;
  text-align: center;
  width: 530px;
  padding: 30px 0;
  font-size: 1.75rem;
  font-weight: bold;
  margin: 30px auto 0 auto;
}
.btn_line::after{
  content: url("../images/ico_dl.png");
  margin-left: 10px;
  position: absolute;
  margin-top: 0;
  transition: 0.4s;
}
.btn_line:hover {
  background: #13366c;
  color: white;
}
.btn_line:hover::after{
  content: url("../images/ico_dl_w.png");
  margin-top: 5px;
}
@media only screen and (max-width:959px) {
  .reduce h2{
    width: 90%;
    line-height: 1.5;
    padding: 30px;
  }
  .reduce h2 svg{
    width: 50%;
  }
  .reduce_flex{
    display: block;
  }
  .reduce_flex > img{
    display: block;
    margin: 30px auto 0 auto;
  }
  .btn_line::after{
    position: relative;
  }
}
@media screen and (max-width:559px) {
  .reduce{
    padding-bottom: 60px;
  }
  .reduce h2{
    padding: 20px;
  }
  .reduce h2 svg{
    width: 90%;
  }
  .btn_line{
    width: 90%;
    font-size: 1.3rem;
    padding: 20px;
  }
}

.faq{
  padding: 100px 0 50px 0;
}
.faq h2{
  font-size: 2.125rem;
  font-weight: bold;
  color: #13366c;
  text-align: center;
}

.faq_table_q{
  max-width: 792%;
  margin: 30px 100px 10px 100px;
}

.faq_table_q td{
    vertical-align:top;
}

.faq_q_img{
    max-width:20%;
    }

.faq_q_img img{
    max-width: 80px;
    max-height: 80px;
}

.faq_q_content{
    margin-top:0px;
    padding:5px;
    width:100%;
    font-size: 1.25rem;
    line-height:1.5rem;
}

.faq_balloon_q{
  position: relative;
  background: #fde7d1;
  padding: 15px;
  margin:0px 0px 0px 30px;
  border-radius:15px;
}
.faq_balloon_q:after{
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 0px;
  height: 0px;
  margin-top: 20px;
  margin-left: -35px;
  border-style: solid;
  border-color: #fde7d1 transparent transparent transparent ;
  border-width: 20px 0 20px 20px;
}

.faq_table_a{
  max-width: 792%;
  margin: 0px 100px 50px 100px;
}

.faq_table_a td{
    vertical-align:top;
}

.faq_a_img{
    max-width:20%;
}

.faq_a_img img{
    max-width: 80px;
    max-height: 80px;
}

.faq_a_content{
    margin-top:0px;
    padding:5px;
    width:100%;
    font-size: 1.25rem;
    line-height:1.5rem;
}

.faq_balloon_a{
  position: relative;
  background: #AACCFF;
  padding: 15px;
  margin:0px 30px 0px 0px;
  border-radius:15px;
}
.faq_balloon_a:after{
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 0px;
  height: 0px;
  margin-top: 20px;
  margin-right: 0px;
  border-style: solid;
  border-color: #AACCFF transparent transparent transparent ;
  border-width: 20px 20px 0 0;
}

.results{
  padding: 100px 0 50px 0;
}
.results h2{
  font-size: 2.125rem;
  font-weight: bold;
  color: #13366c;
  text-align: center;
}
.results img{
  display: block;
  margin: 10px auto 0 auto;
}

.results_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}
.results_flex > div{
  width: 50%;
}
.results_flex > div > img{
  display: block;
  margin: 0 auto;
}
.results_flex > div > p{
  text-align: center;
  margin-top: 20px;
}



.resultsQ{
  padding: 100px 0 50px 0;
}
.resultsQ h2{
  font-size: 2.125rem;
  font-weight: bold;
  color: #13366c;
  text-align: center;
}
.resultsQ img{
  display: block;
  margin: 10px auto 0 auto;
}

.resultsQ_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}
.resultsQ_flex > div{
  width: 33%;
}
.resultsQ_flex > div > img{
  display: block;
  margin: 0 auto;
}
.results_flex > div > p{
  text-align: center;
  margin-top: 20px;
}

@media only screen and (max-width:959px) {
  .results{
    padding: 100px 15px 150px 15px;
  }
  .results_flex > div{
    width: 45%;
    margin-bottom: 30px;
  }
  
  .resultsQ{
    padding: 100px 15px 150px 15px;
  }
  .resultsQ_flex > div{
    width: 45%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width:559px) {
  .results_flex > div{
    width: 100%;
  }
  .results{
    padding: 60px 15px 100px 15px;
  }
  .results h2{
    font-size: 1.5rem;
  }

  .resultsQ_flex > div{
    width: 50%;
  }
  .resultsQ{
    padding: 60px 15px 100px 15px;
  }
  .resultsQ h2{
    font-size: 1.5rem;
  }

  .faq_table_q{
    margin: 20px 10px;
  }

  .faq_table_a{
    margin: 20px 10px;
  }
}

.voice{
  text-align: center;
  padding: 50px 0 100px 0;
}
.voice h2{
  font-size: 2.125rem;
  font-weight: bold;
  color: #13366c;
}
h2.en::before{
  display: block;
  color: #b6e6fe;
  margin-bottom: 6px;
  font-size: 2.5rem;
  font-family: 'Roboto', sans-serif;
}
.voice h2::before{
  content: "Voice of the Customer";
}
.voice p{
  margin-top: 20px;
  margin-bottom: 40px;
}
.voice_box{
  border-top: 3px solid #d2edff;
  padding: 30px 0 50px 0;
}
.voice h3{  
  font-size: 1.85rem;
  font-weight: bold;
  color: #13366c;
  position: relative;
}
.voice h3::before{
  content: url('../images/ico_voice.png');
  position: relative;
  top: 7px;
  margin-right: 10px;
}
p.voice_name{
  font-size: 1.5rem;
  font-weight: bold;
  margin: 10px 0 30px 0;
}
.voice_name span{
  font-size: 1.25rem;
}
.voice_flex{
  display: flex;
  align-items: flex-start;
  margin-top: 30px;
}
.voice_flex img{
  height: auto;
  margin-right: 40px;
  max-height: 150px;
}
.voice_flex p{
  text-align: left;
  margin: 0;
}
.voice > div:last-child{
  border-bottom: 3px solid #d2edff;
}
@media only screen and (min-width:560px) and (max-width:959px) {
  .voice_flex{
    display: block;
  }
  .voice_flex img{
    margin: 0;
  }
  .voice_flex p{
    margin-top: 30px;
  }
}
@media screen and (max-width:559px) {
  .voice{
    padding: 30px 0 60px 0;
  }
  .voice_flex{
    display: block;
  }
  .voice_flex img{
    margin: 0;
  }
  .voice_flex p{
    margin-top: 30px;
  }
  .voice h3::before{
    content: url('../images/ico_voice.png');
    position: relative;
    margin: 0 0 20px 0;
    display: block;
    top: 0;
  }
}
footer{
  padding: 80px 0 20px 0;
  background-image: url("../images/bg_footer.jpg");
}
.btn_flat{
  display: block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #fff;
  border: solid 3px #13366c;
  background: #13366c;
  border-radius: 10px;
  transition: .4s;
  text-align: center;
  width: 530px;
  padding: 30px 0;
  font-size: 1.75rem;
  font-weight: bold;
  margin: 30px auto 0 auto;
  position: relative;
}
.btn_flat::before{
  content: "Registration";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  color: #fff;
  font-size: 2.5rem;
  font-family: 'Roboto', sans-serif;
  text-align: center;
  opacity: 0.5;
}
.btn_flat::after{
  content: url("../images/ico_arrow.png");
  margin-left: 10px;
  position: absolute;
  transition: 0.4s;
}
.btn_flat:hover {
  background: #fff;
  color: #13366c;
}
.btn_flat:hover::after{
  content: url("../images/ico_arrow_n.png");
  margin-left: 20px;
}

.btn_flat_normal{
  display: block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #fff;
  border: solid 3px #13366c;
  background: #13366c;
  border-radius: 10px;
  transition: .4s;
  text-align: center;
  width: 300px;
  padding: 15px 0;
  font-size: 1.75rem;
  font-weight: bold;
  margin: 20px auto 0 auto;
  position: relative;
}
.btn_flat_normal:hover{
  background: #fff;
  color: #13366c;
}

.btn_flat_orange{
  display: block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #fff;
  border: solid 3px #FF6633;
  background: #FF9933;
  border-radius: 10px;
  transition: .4s;
  text-align: center;
  width: 300px;
  padding: 15px 0;
  font-size: 1.75rem;
  font-weight: bold;
  margin: 20px auto 0 auto;
  position: relative;
}
.btn_flat_orange:hover{
  background: #fff;
  color: #FF6633;
}


footer p{
  color: #13366c;
  font-weight: bold;
  text-align: center;
  margin-top: 70px;
}
@media only screen and (min-width:560px) and (max-width:959px) {
}
@media screen and (max-width:559px) {
  .btn_flat{
    width: 90%;
    font-size: 1.3rem;
    padding: 20px;
  }
  .btn_flat::after{
    position: relative;
    top: 5px;
  }  
}

/*responsive*/
@media screen and (max-width:559px) {
/*sp*/
  .pc{
    display: none;
  }
  .tb{
    display: none;
  }
}
   
@media only screen and (min-width:560px) and (max-width:959px) {
/*tablet*/
  .tb{
    display: block;
  }
  .sp{
    display: none;
  }
  
}
  
@media screen and (min-width:960px) {
/*pc*/
  .pc{
    display: block;
  }
  .tb{
    display: none;
  }
  .sp{
    display: none;
  }
  .wrapper {
    max-width: 930px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

