@charset "UTF-8";
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
html {
  padding: 0;
  font-size: 62.5%;
}
body {
  -webkit-text-size-adjust: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  line-height: 1.5;
  color: #000;
  /*-webkit-transition: opacity 1.2s ease;
  -o-transition: opacity 1.2s ease;
  transition: opacity 1.2s ease;*/
}
body * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
}
.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.br_pc {
  display: block;
}
.br_sp {
  display: none;
}
@media (max-width:768px) {
  .br_pc {
    display: none;
  }
  .br_sp {
    display: block;
  }
}
/*------------------------------------------------------------
	clearfix
------------------------------------------------------------*/
.clearfix:after {
  display: block;
  content: '';
  height: 0;
  clear: both;
}
/*------------------------------------------------------------
  text style
------------------------------------------------------------*/
.fsSS {
  font-size: 1.2rem;
}
.fwB {
  font-weight: bold;
}
.cRed {
  color: #e12727;
}
.cGray {
  color: #ccc;
}
.ls00 {
  letter-spacing: 0;
}
.ls01 {
  letter-spacing: 0.1em;
}
.ls02 {
  letter-spacing: 0.2em;
}
.lh13 {
  line-height: 1.3;
}
.lh20 {
  line-height: 2;
}
.tRight {
  text-align: right;
}
.tLeft {
  text-align: left;
}
.tCenter {
  text-align: center;
}
.tJfy {
  text-align: justify;
}
.tIndent {
  text-indent: 1em;
}
/*------------------------------------------------------------
  headline
------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  line-height: 1;
  margin: 0;
  padding: 0;
}
/*------------------------------------------------------------
  link & button
------------------------------------------------------------*/
a {
  color: inherit;
  text-decoration: none;
  word-wrap: break-word; /* IE 5+ */
}
/*------------------------------------------------------------
	layout
------------------------------------------------------------*/
.rightBox {
  float: right;
}
.leftBox {
  float: left;
}
/* margin padding */
.m00 {
  margin: 0 !important;
}
.m05 {
  margin: 5px !important;
}
.m10 {
  margin: 10px !important;
}
.m20 {
  margin: 20px !important;
}
.m30 {
  margin: 30px !important;
}
.m40 {
  margin: 40px !important;
}
.m50 {
  margin: 50px !important;
}
.m100 {
  margin: 100px !important;
}
.mt00 {
  margin-top: 0 !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.mt150 {
  margin-top: 150px !important;
}
.mb00 {
  margin-bottom: 0 !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mb200 {
  margin-bottom: 200px !important;
}
.mr00 {
  margin-right: 0 !important;
}
.mr05 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr100 {
  margin-right: 100px !important;
}
.ml00 {
  margin-left: 0 !important;
}
.ml05 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml100 {
  margin-left: 100px !important;
}
.p00 {
  padding: 0 !important;
}
.p05 {
  padding: 5px !important;
}
.p10 {
  padding: 10px !important;
}
.p20 {
  padding: 20px !important;
}
.p30 {
  padding: 30px !important;
}
.p40 {
  padding: 40px !important;
}
.p50 {
  padding: 50px !important;
}
.p100 {
  padding: 100px !important;
}
.pt00 {
  padding-top: 0 !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt100 {
  padding-top: 100px !important;
}
.pb00 {
  padding-bottom: 0 !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb100 {
  padding-bottom: 100px !important;
}
.pr00 {
  padding-right: 0 !important;
}
.pr05 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.pr100 {
  padding-right: 100px !important;
}
.pl00 {
  padding-left: 0 !important;
}
.pl05 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.prl00 {
  padding-left: 100px !important;
}
/*------------------------------------------------------------
	contents
------------------------------------------------------------*/
@media (min-width: 1200px) {
  .container {
    width: 768px;
  }
}
#body_warap {
  background: url("../images/body_bk.gif") #ccc repeat 0 0 /100%;
  background-size: cover;
  min-height: 100vh;
}
#siteHead h1 {
  background-color: #4dbce9;
}
#siteHead h1 img {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 15px 0;
}
/*#siteHead h1 img {
  width: 100%;
}*/
.top_area {}
.top_img02 {
  width: 90%;
  margin: 0 auto 10px;
  display: block;
}
.button05 a span, .button05 button span  {
  margin: 0 auto;
}
.button05 a, .button05 button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0.5em 1em;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  background-color: #f7931e;
  box-shadow: 0 5px 0 #bf6e16;
  transition: 0.3s;
  border-radius: 5px;
}
.button05 a::after, .button05 button::after {
  content: '';
  width: 13px;
  height: 13px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
.button05 a:hover, .button05 button:hover {
  transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #bf6e16;
}
.a_btn2 a:hover, .a_btn2 button:hover {
  transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #143170;
}
.container {
  padding-right: 0px !important;
  padding-left: 0px !important;
}
.row {
  padding-right: 0px !important;
  padding-left: 0px !important;
}
.top_area .row {
  margin-right: 0px !important;
  margin-left: 0px !important;
  background-color: #fff;
  padding: 20px;
}
#topView {
  background-color: #4dbce9;
  padding: 20px;
}
#topView .inner {}
#topView .inner:after {
  content: "";
  display: block;
  padding-top: 109%;
}
#topView .inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
#topView .inner #title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -4%;
  z-index: 4;
  width: 65%;
}
#topView .inner .top_img04 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 30%;
  z-index: 2;
  width: 90%;
}
#topView .inner .top_img05 {
  background-color: #fff;
  padding: 4%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 72%;
  z-index: 2;
  width: 90%;
}
.sec1 .container {
  background-color: #fff;
  padding: 30px;
  position: relative;
}
.sec1 .container::after {
  content: "";
  display: block;
  padding-top: 28%;
}
.sec1 .container .button05 {
  position: absolute;
  width: 80%;
  margin: 0 auto;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.top_img06 {
  position: absolute;
  width: 85px;
  top: 18%;
  left: 12%;
  z-index: 3;
}
.top_img07 {
  position: absolute;
  width: 90px;
  top: 24%;
  right: 11%;
  z-index: 3;
}
.sec1 .button05 a {
  font-size: 2.5rem;
  padding: 1em 1em;
}
.sec1_txt1 {
  position: absolute;
  /*top: 18%;*/
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-size: 2.6rem;
  font-weight: bold;
  top: 28%;
}
.review_ttl h2 {
  text-align: center;
  /* color: #2862e0;*/
  display: inline;
  font-size: 2.6rem;
}
.top_img08 {
  display: inline;
  width: 85px;
  vertical-align: bottom;
}
.review_in {
  text-align: center;
  padding: 30px 0;
}
.qa_sec_in {
  background-color: #fff;
}
.qa_sec_in {
  margin-right: 0px !important;
  margin-left: 0px !important;
  padding: 30px 10px 30px;
}
.qa_sec_ttl {
  text-align: center;

}
.qa_img1 {
  display: block;
  margin: 30px auto -20px;
  width: 210px;
}
.ico_q {
  display: inline-block;
  width: 5%
}
.qa_img2 {
  display: inline-block;
  width: 8%;
}
.q_txt {
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
  padding: 0;
}
.q_txt span {
  display: inline-block;
  margin-right: 5px;
}
.a_btn {
  padding: 60px 0 30px;
  width: 80%;
  margin: 0 auto;
}
.a_btn .button05 a {
  padding: 1em 1em;
}
.a_btn2 a, .a_btn2 button {
  background-color: #2862e0;
  box-shadow: 0 5px 0 #143170;
}
.q_txt em {
  padding-right: 10px;
  color: #193e4d;
  vertical-align: middle;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.4;
  font-style: normal;
}
.q_txt span {
  padding-left: 10px;
  color: #2a6780;
  vertical-align: middle;
  font-size: 2.6rem;
  font-weight: bold;
}
.sub_txt {
  text-align: center;
}
.a_btn .col-6 {
  margin-bottom: 30px;
}
.back_btn {
  font-size: 1.2rem;
  padding-left: 20px;
}
#target-table {
  margin: 20px auto 0;
  width: 80%;
}
#target-table tbody tr {
  border: solid 1px rgba(210, 215, 217, 0.75);
  border-left: 0;
  border-right: 0;
}
#target-table td {
  padding: 0.75em 0.75em;
  font-size: 1.4rem;
}
#target-table th {
  color: #3d4449;
  font-weight: 600;
  padding: 0 0.75em 0.75em 0.75em;
  text-align: left;
}
.form_sec_in {
  margin-right: 0px !important;
  margin-left: 0px !important;
  padding: 30px 10px 30px;
  background-color: #fff;
}
.form_top::after {
  content: "";
  display: block;
  padding-top: 24%;
}
.form_top {
  background: rgba(0, 0, 0, 0) url("../images/top_img13.png") no-repeat scroll 0 0 / 100% auto;
  margin: 30px auto 10px;
  position: relative;
  width: 95%;
}
.form_top_ttl {
  top: 43%;
  left: 24%;
  position: absolute;
  z-index: 2;
  font-size: 3.0rem;
}
.form_top_ttl span {
  font-size: 4.0rem;
  font-weight: bold;
}
.form_cont_ttl h2 {
  font-size: 3.0rem;
  font-weight: bold;
  text-align: center;
  display: block;
}
.form_cont_ttl h2 span {
  color: #2862e0;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  display: block;
  text-align: center;
  display: block;
  margin-bottom: 10px;
}
.form_cont_txt1 {
  font-weight: bold;
  font-size: 2.0rem;
  text-align: center;
}
/*お問い合わせ*/
.contact_box {
  padding: 30px 0;
  background-color: #fff;
}
.contact_box_in {
  width: 90%;
  margin: 0 auto;
}
form .form-control {
  padding: 15px;
  width: 100%;
}
form .form_item {
  font-size: 1.4rem;
  padding: 15px;
}
form .form_content {
  padding: 3px;
}
form .form_content input.input-sm {
  width: 100%;
}
.required {
  display: inline-block;
  background: #bc170f;
  border-radius: 3px;
  padding: 2px 4px 1px;
  color: #fff;
  margin: 0 0 0 5px;
  font-size: 10px;
  margin: 0 10px 0 5px;
  font-size: 12px;
}
.option {
  padding: 2px 4px 1px;
  margin: 0 0 0 5px;
  font-size: 1.4rem;
}
.form-control {
  font-size: 16px;
}
@media screen and (min-width:960px) {
  .form-control {
    font-size: 13px;
  }
}
.form-control:focus {
  background-color: #fff;
  border-color: #0e224d;
  /* color: #2862E0;*/
  outline: 0 none;
}
.btn {
  font-size: 13px;
}
.contact_box .txt1 {
  text-align: center;
  font-size: 1.8rem;
  color: #F7080C;
  font-weight: bold;
  padding: 20px 0;
}
.contact_box .txt2 {
  margin: 10px 0;
  font-size: 1.4rem;
}
#tel{
  border: 2px solid #bc170f;
}
.button05 button span {
  margin: 0 auto;
}
.button05 button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 1em;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  background-color: #2862e0;
  box-shadow: 0 5px 0 #143170;
 background-color: #f7931e;
  box-shadow: 0 5px 0 #bf6e16;
  transition: 0.3s;
  border-radius: 5px;
  border: none;
  width: 100%;
    cursor: pointer;
}
.button05 button::after {
  content: '';
  width: 13px;
  height: 13px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
.button05 button:hover {
  transform: translateY(3px);
  text-decoration: none;
box-shadow: 0 2px 0 #f7931e;
}

.a_btn2 button:hover {
  box-shadow: 0 2px 0 #2862e0;
}
.button05 button span {
  margin: 0 auto;
}
.a_btn2 a, .a_btn2 button {
  background-color: #2862e0;
  box-shadow: 0 5px 0 #143170;
}
.top_img14 {
  display: block;
  width: 80%;
  margin: 30px auto;
}
.slider {
  margin: 0 auto;
  width: 90%;
}
.slider img {
  height: auto;
  width: 100%;
}
/*slick setting*/
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slider .slick-slide {
  display: block;
  padding: 0 10px;
}
.top_img12, .top_img11 { width: 100%;}
#target-table tr {cursor: pointer;}
/*▼max-width: 576px
********************************************/
@media (max-width: 576px) {
  #topView {
    padding: 10px;
  }
  #topView {
    padding: 10px;
  }
  .button05 a, .button05 button {
    font-size: 1.6rem;
  }
  .top_area .top_img01 {
    margin-top: 10px;
  }
  .top_area .row {
    padding: 2px 10px 8px;
  }
  #topView .inner #title {
    width: 51%;
  }
  #topView .inner .top_img04 {
    top: 25%;
    width: 88%;
  }
  #topView .inner .top_img05 {
    top: 73%;
    padding: 2% 4%;
  }
  #topView .inner:after {
    padding-top: 94%;
  }
  #siteHead h1 a {
    width: 70%;
    padding: 8px 0;
  }
  .sec1 .container .button05 {
    width: 90%;
    top: 40%;
  }
  .top_img06 {
    width: 60px;
    top: 10%;
    left: 4%;
  }
  .sec1_txt1 {
    font-size: 1.6rem;
    top: 18%;
  }
  .top_img07 {
    width: 65px;
    top: 10%;
    right: 3%;
  }
  .sec1 .button05 a, .sec1 .button05 button {
    font-size: 1.8rem;
    padding: 1.1em 1.1em;
  }
  .sec1 .container {
    padding: 20px;
  }
  .sec1 .container::after {
    padding-top: 30%;
  }
  .q_txt em {
    font-size: 1.7rem;
  }
  .q_txt span {
    font-size: 1.6rem;
  }
  .qa_img1 {
    width: 160px;
  }
  .sub_txt {
    text-align: center;
    font-size: 1.3rem;
  }
  .a_btn {
    width: 100%;
    padding: 40px 0;
  }
  #target-table {
    width: 95%;
  }
  #target-table {
    margin: 15px auto 0;
    width: 95%;
  }
  .form_top_ttl {
    top: 41%;
    left: 24%;
    font-size: 1.5rem;
  }
  .form_top_ttl span {
    font-size: 2.4rem;
    font-weight: bold;
  }
  .form_cont_ttl h2 {
    font-size: 2.0rem;
  }
  .form_cont_ttl h2 span {
    font-size: 1.7rem;
  }
  .form_cont_txt1 {
    font-size: 1.6rem;
  }
  .form_sec_in {
    padding: 10px 10px 20px;
  }
  .form_top {
    margin: 20px auto 10px;
  }
  form .form_item {
    padding: 10px 10px 5px;
  }
  .contact_box {
    padding: 5px 0;
  }
  .contact_box .txt1 {
    font-size: 1.4rem;
    padding: 10px 0;
  }
  .contact_box .txt2 {
    text-align: center;
  }
  .top_img14 {
    display: block;
    width: 90%;
    margin: 30px auto;
  }
  .slider {
    margin: 0 auto;
    width: 90%;
  }
  .review_ttl h2 {
    font-size: 1.6rem;
  }
  .top_img08 {
    width: 50px;
  }
  .slider p {
    font-size: 1.3rem;
  }
  .review_in {
    padding: 15px 0;
  }

    .qa_sec_in {
  padding:20px 10px 30px;
}

}
/*▲max-width: 576px
********************************************/


            .form_txt1 { font-size: 30px; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin-bottom: 20px; text-align: center;}
            .form_txt2 { margin-bottom: 20px;}
            .form_fix_sec { width: 95%; margin: 30px auto; background-color: #fff; border-radius: 20px;text-align: center;  line-height: 1.7; padding: 20px 0;}
            .form_fix_ink { background-color: #D1E752;width: 95%;; border-radius: 10px; margin: 10px auto; padding:15px 0;}


            .txt_x2 {font-size: 1.8rem; font-weight: bold;}
            @media (max-width: 576px) {
                 .txt_x2 {font-size: 1.3rem; font-weight: bold;}
            }

.font_s { font-size: 1.6rem;}
.button05 button p{margin: 0 auto;}
 @media (max-width: 576px) {
                 .font_s {font-size: 1.3rem; font-weight: bold;}
     .button05 button {
  padding:0.8em 0.8em;
     }
            }


/*▲ローディング
********************************************/
.wrapper {
  width: 200px;
  height: 60px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}

.circle {
  width: 20px;
  height: 20px;
  position: absolute;
  border-radius: 50%;
  background-color: rgb(255 212 1);
  left: 15%;
  transform-origin: 50%;
  animation: circle .5s alternate infinite ease
}

@keyframes circle {
  0% {
    top: 60px;
    height: 5px;
    border-radius: 50px 50px 25px 25px;
    transform: scaleX(1.7)
  }
  40% {
    height: 20px;
    border-radius: 50%;
    transform: scaleX(1)
  }
  100% {
    top: 0%
  }
}

.circle:nth-child(2) {
  left: 45%;
  animation-delay: .2s
}

.circle:nth-child(3) {
  left: auto;
  right: 15%;
  animation-delay: .3s
}

.shadow {
  width: 20px;
  height: 4px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, .5);
  position: absolute;
  top: 62px;
  transform-origin: 50%;
  z-index: -1;
  left: 15%;
  filter: blur(1px);
  animation: shadow .5s alternate infinite ease
}

@keyframes shadow {
  0% {
    transform: scaleX(1.5)
  }
  40% {
    transform: scaleX(1);
    opacity: .7
  }
  100% {
    transform: scaleX(.2);
    opacity: .4
  }
}

.shadow:nth-child(4) {
  left: 45%;
  animation-delay: .2s
}

.shadow:nth-child(5) {
  left: auto;
  right: 15%;
  animation-delay: .3s
}

.wrapper span {
  position: absolute;
  top: 75px;
  font-family: 'Lato';
  font-size: 20px;
  letter-spacing: 12px;
  color: rgb(255 212 1);
  left: 15%
}
