@charset "utf-8";
/* default */
html{
  font-size:16px;
}
@media screen and (max-width: 1280px) {
  html{
    font-size:14px;
  }
}
body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
  color: #222;
  font-size: 100%;
  line-height: 1.5;
  position: relative;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: bold;
}
strong{
  font-weight:700;
  color:inherit;
}
a {
  color: #0d7ccc;
}
a:hover {
  color: #259cf1;
  text-decoration: underline;
}
.btn{
  display: inline-block;
  position: relative;
  overflow:hidden;
  color: #fff;
  background-color: #3d70bb;
  border: solid 1px #3d70bb;
  box-shadow: 0 4px #174d8b;
  border-radius: 4px;
  padding: 0.8rem 1rem .6rem;
  line-height: 1;
  text-align: center;
  transition:.2s;
}
button.btn{
  padding: 0.8rem 1rem;
}
.btn:hover{
  color:#fff;
  text-decoration:none;
  box-shadow: none!important;
  transform: translateY(4px);
}
.btn::after,
.btn_flat::after,
a.arrow::after{
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  transition: transform .7s;
  background-color: transparent;
  content: '';
}
.btn:hover::after,
.btn_flat:hover::after,
a.arrow:hover::after{
  z-index: 0;
  background-color: rgba(255,255,255,0.2);
  -ms-transform: scale(100);
  transform: scale(100);
}
.btn i{
  color:#fff;
  margin-right:.2em;
}
.btn.pink{
  background-color: #fa3f5b;
  border: solid 1px #fa3f5b;
  box-shadow: 0 4px #cf364d;
}
.btn.green{
  background-color: #419438;
  border: solid 1px #419438;
  box-shadow: 0 4px #327c39;
}
.btn.orange{
  background-color: #fb9004;
  border: solid 1px #fb9004;
  box-shadow: 0 4px #b77d2d;
}
.btn.disabled{
  background-color: #8b8b8b;
  border: solid 1px #8b8b8b;
  box-shadow: 0 4px #6b6b6b;
  pointer-events:none;
}
.btn_flat{
  padding: .7rem 1rem;
  font-size: .88rem;
  line-height: 1.33333;
  border-radius: 3px  min-width: none;
  display: inline-block;
  font-weight: bold;
  text-align: center;
  touch-action: manipulation;
  border: 1px solid transparent;
  -webkit-box-shadow: inset 0 0 2px #fff;
  box-shadow: inset 0 0 2px #fff;
  text-decoration: none;
  letter-spacing: .05em;
  color: #fff;
  background-color: #3d70bb;
  border: solid 1px #174d8b;
  position: relative;
  overflow:hidden;
}
.btn.large_btn,
.btn_flat.large_btn{
  font-size:1.15rem;
  padding: .7rem 2rem;
}
@media screen and (max-width: 640px) {
  .btn_flat{
    min-width: none;
  }
}
.btn_flat.pink{
  background-color: #fa3f5b;
  border: solid 1px #cf364d;
}
.btn_flat.green{
  background-color: #419438;
  border-color: #327c39;
}
.btn_flat.orange{
  background-color: #fb9004;
  border: solid 1px #b77d2d;
}
.btn_flat.white{
  background-color: #ffffff;
  border: solid 1px #afafaf;
  color:inherit;
}
.btn_flat.white:hover{
  color:inherit;
}
.btn_flat.white i{
  color:#fa3f5b;
}
.btn_flat.disabled{
  background-color: #8b8b8b;
  border: solid 1px #8b8b8b;
  pointer-events:none;
}
.btn_flat:hover{
  color:#fff;
  text-decoration:none;
}
.btn_flat i{
  color:#fff;
}
::selection {
  color: #fff;
  background: #161c61;
}
.btn_cv{
  display: block;
  background-color: #c0392b;
  width: auto;
  padding: 2rem 7rem 2rem 2rem;
  margin: 2rem auto;
  color: #fff;
  cursor: pointer;
  border-radius: 5px;
  transition: .4s;
  font-size:1.2rem;
  font-weight:bold;
  box-shadow: 0 4px #922a1f;
  position:relative;
  overflow:hidden;
}
.btn_cv:hover{
  box-shadow: none!important;
  transform: translateY(4px);
}
.btn_cv::before{
  color: #ffffff;
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 700;
  font-size:1.5rem;
  right: 0;
  top:10%;
  width:5rem;
  height:80%;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
  border-left: 2px groove #f14533;
}
.btn_cv::after{
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  transition: transform .7s;
  background-color: transparent;
  content: '';
}
.btn_cv:hover::after{
  z-index: 0;
  background-color: rgba(255,255,255,0.2);
  -ms-transform: scale(100);
  transform: scale(100);
}
.btn_cv.pink{
  background-color: #fa3f5b;
  box-shadow: 0 4px  #cf364d;
}
.btn_cv.pink::before{
  border-color: #ff566f;
}
.btn_cv.blue{
  background-color: #3d70bb;
  box-shadow: 0 4px  #174d8b;
}
.btn_cv.blue::before{
  border-color: #4f8be4;
}
.btn_cv.orange{
  background-color: #fb9004;
  box-shadow: 0 4px  #b77d2d;
}
.btn_cv.orange::before{
  border-color: #f9b65a;
}
.btn_cv.green{
  background-color: #419438;
  box-shadow: 0 4px  #327c39;
}
.btn_cv.green::before{
  border-color: #50b346;
}
a.arrow{
  background-color:#ff9100;
  color:#fff;
  text-decoration:none;
  font-size:1.5rem;
  padding:1rem 5rem;
  border-radius:10px;
  background-color: #ff9200;
  border: solid 1px #ff9200;
  box-shadow: 0 5px #b77d2d;
  transition:.2s;
  position:relative;
  overflow:hidden;
  display:inline-block;
}
a.arrow:hover{
  text-decoration:none;
  box-shadow: none!important;
  transform: translateY(4px);
}
a.arrow::before{
  display:block;
  content:url(../img/arrow.svg);
  width:1.5em;
  position:absolute;
  right:.5rem;
  top:50%;
  margin-top:-1em;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.require {
  color: red;
}
ul li {
  list-style-type: none;
  margin: 0 0 .5em;
}
ul li:focus {
  outline-color: transparent;
}
.list{
  background: none;
  border-radius: 0;
  box-shadow: none;
  padding-left:.5rem;
}
.list li {
    list-style-type: none; /*点を非表示*/
    position: relative; /*基準位置*/
    padding-left: 0.6em;
}
.list li:before {
    border-radius: 50%; /*丸くする*/
    width: 5px; /*点の幅*/
    height: 5px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.6em; /*点の位置*/
    content: "";
    background: #259cf1; /*点の色*/
}
.check_list li{
  padding-left:1.5rem;
  position:relative;
}

.check_list li::before{
  color: #259cf1;
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: 700;
  left: 0;
  top:.05rem;
}
ol {
  padding: 1rem 0 1rem 1.5rem;
}
ol li {
  padding: 0 0 1em;
}
ul.inline li {
  display: inline-block;
  margin-right: 2.5em;
}
figcaption {
  margin-top: .5rem;
  font-size: .9rem;
  line-height: 1.5;
}
.lead {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #1e225e;
}
i {
  color: #419438;
  padding-right:0.2rem;
}
i.white {
  color: #FFF;
}
.text_center{
  text-align:center;
}
.pc_text_center{
  text-align:center;
}
.text_right{
  text-align:right;
}
.pc_text_right{
  text-align:right;
}
@media screen and (max-width: 640px) {
  .pc_text_center{
    text-align:left;
  }
  .pc_text_right{
    text-align:left;
  }
}
.well{
  background-color:#eee;
  padding:1rem;
  margin:1rem 0;
}
.well.danger{
  background-color:#ffe6e6;
  color:#bf0000;
}
.well *:last-child{
  margin-bottom:0;
}
/* title */
.main_contents h1 {
  position: relative;
  padding: 0.2rem .5rem;
  font-weight:bold;
  font-size: 1.5rem;
  line-height:1.2;
  margin-bottom: 1rem;
  border-left: 5px solid #419438;
}
.main_contents h1 i{
  margin-right:.2em;
}
.main_contents h2,
main h2.center {
  font-size: 2rem;
  text-align: center;
  color: #171c60;
  font-weight: bold;
  margin-bottom: 30px;
  /* padding-top: 2em; */
  clear:both;
}
main h2.center small{
  display:block;
  font-size:1.25rem;
  color:#023894;
}
@media screen and (max-width: 640px) {
  .main_contents h2,
  main h2.center {
    font-size:1.5rem;
    margin-bottom:1em;
  }
}

.main_contents .container h2:first-child {
  padding-top:0;
}

.main_contents h3{
  background: #259CF1;
  color: #fff;
  font-weight: normal;
  padding: .5rem;
  font-size: 1.2rem;
  margin-bottom: 10px;
  margin-top: 2rem;
  clear:both;
}
.main_contents h4 {
	font-weight:bold;
	font-size: 1.1rem;
	color:#259cf1;
	margin-bottom:.15rem;
}
.main_contents h5 {
	font-weight:bold;
	font-size:.88rem;
	margin-bottom:.15rem;
}
.main_contents .center_tit{
  border:none;
  text-align:center;
  font-size:2rem;
  display:block;
  background:none;
  color:inherit;
  border:none;
  text-align:center;
  font-size:2rem;
  font-weight:bold;
  padding:0;
  margin-bottom:1em;
  text-shadow:none;
}
.main_contents .center_tit::after{
  content:none;
}


/* end/title */



.main_contents h3{

}

.main_contents h5{

}
.main_contents p {
  line-height: 2;
  margin-bottom: 1rem;
}
.main_contents .column_detail p{
  line-height:1.8;
}
.pc-text-center {
  text-align: center;
}
.box {
  padding:2rem 1.5rem;
}
.box.gray{
  background-color:#f8f8f8;
  border:none;
  box-shadow:none;
}
.box.bule{
  background-color:#ddf5ff;
  border:none;
  box-shadow:none;
}
.box *:first-child{
  margin-top:0;
}
.box *:last-child{
  margin-bottom:0;
}
@media screen and (max-width: 640px) {
  .pc-text-center {
    text-align: left;
  }
  .box {
    padding:2rem 1rem;
  }
}
section{
  padding:4rem 0;
}
.highlight {
  background-color: #ebf5f9;
  padding:4rem 0;
  margin-bottom:0!important;
}
.container {
  max-width: 1200px;
  width: 100%;
  padding: 0 1rem;
}
@media screen and (max-width: 1280px) {
  .container {
    max-width: 880px;
  }
}
@media screen and (max-width: 960px) {
  .container {
    max-width: 668px;
  }
}
@media screen and (max-width: 960px) {
  .pc_only {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  .sp_only {
    display: none;
  }
}
.xs_only{
  display:none;
}
@media screen and (max-width: 640px) {
  .xs_only{
    display:block;
  }
  .xs_none{
    display:none;
  }
  section{
    padding:2rem 0;
  }
  .highlight {
    padding:2rem 0;
  }
}
.main_contents table{
  margin-bottom:1rem;
  width:100%;
  table-layout:auto;
}
.main_contents table th{
  width:25%;
  font-weight:normal;
}
.main_contents table th,
.main_contents table td{
  border:1px solid #ddd;
  padding:1rem;
}

.main_contents table th{
  background-color:#f8f8f8;
  vertical-align: middle;
  text-align:center;
}
.check {
  margin-top:3rem;
  position: relative;
}

.check p {
  display: inline-block;
  position: absolute;
  top: -1.3em;
  left: 1rem;
  z-index: 10;
  color: #fff;
  background-color: #3d70bb;
  border-radius: 20px;
  padding: .2em 1em .3em 2.5em;
  overflow: hidden;
  border-left: none;
  line-height: 2;
  margin: 0;
}
.check p:before{
  position: absolute;
  left: 0.8em;
  top:0;
  font-family: "Font Awesome 5 Free";
  content: "\f0eb";
  font-weight: 700;
  font-size: 1.1rem;
}
.check.matome p:before{
  content: "\f46d";
}
.check.pink p:before{
  content: "\f06b";
  left:.6em;
  top:-.1em;
}
.cp_point li:before{
  color: #3d70bb;
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: 700;
  left: 0;
}
.matome .cp_point li:before{
  color:#da3c41;
}
.pink .cp_point li:before{
  color:#fa3f5b;
  content:"\f3a5";
}
.matome .cp_point {
  border: 3px double #da3c41;
    background-color: #fff8fb;
}

.check.matome  p {
  background-color: #da3c41;
}
.pink .cp_point {
  border: 3px double #fa3f5b;
    background-color: #fff8fb;
}
.pink .cp_point li i {
  color: #fa3f5b;
  position: absolute;
  top: .5em;
  left: 0;
}
.check.pink  p {
  background-color: #fa3f5b;
}
.check p span {
  position: absolute;
  top: 0em;
  left: 0.3em;
  width: 1.8em;
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
}
.check p i {
  color:#fff;
}
.check li{
  margin-bottom:0.5rem;
}
@media (max-width: 640px) {
  table.responsive_stack, table.responsive_stack thead, table.responsive_stack tbody, table.responsive_stack tr, table.responsive_stack th, table.responsive_stack td {
    display: block;
    width: auto!important;
  }
  table.responsive_stack th {
    background-color: #F3F3F3;
    border-bottom: none!important;
    padding: .4rem;
    text-align: center;
    line-height: 1.5;
  }
  table.responsive_stack td {
    border-bottom: none!important;
  }
  table.responsive_stack {
    border-bottom: 1px solid #ddd;
  }
}
.orange_txt{
  color:#ff7f00;
}
.red_txt{
  color:red;
}
.blue_txt{
  color:blue;
}
.marker {
  font-size: 1.2rem;
  font-weight: bold;
  position: relative;
  background: linear-gradient(transparent 20%, #ffff66 80%);
  background-size: 100% 60%;
  background-position: left .5em;
  background-repeat: no-repeat;
}
.strong{
  color:#f00;
  font-weight:bold;
  font-size:1.3rem;
}
.wavy{
  text-decoration: underline wavy #fa3f5b;
  font-weight:bold;
  font-size:1rem;
}
/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
  .wavy {
    border-bottom: double 6px #fa3f5b;
  }
}
.dot {
  -webkit-text-emphasis: dot #fa3f5b;
  text-emphasis: dot #37ab9d;
  font-weight:bold;
  font-size:1rem;
}
.column_detail h2{
  margin:1.5rem 0 .5rem;
  clear:both;
}
.column_detail h3{
  clear:both;
}
.column_detail h2::after{
  background:url(../../img/icon_note.svg) no-repeat #327c39 center/50%;
}
.pull_left{
  float:left;
  padding: 0 .5rem .5rem 0;
  max-width:40%;
}
.pull_right{
  float:right;
  padding:0 0 .5rem .5rem ;
  max-width:40%;
}
.btn_area{
  clear:both;
}
/* animetion */
.img_slide_anim {
  position: relative;
  overflow: hidden;
  z-index: 0;
  transform: translateY(40px);
  opacity: 0;
  transition: 1s cubic-bezier(0.5, 0.1, 0.2, 1) 0.2s;
}
.img_slide_anim:nth-child(1) {transition-delay: 0.1s;}
.img_slide_anim:nth-child(2) {transition-delay: 0.3s;}
.img_slide_anim:nth-child(3) {transition-delay: 0.5s;}
.img_slide_anim:nth-child(4) {transition-delay: 0.7s;}
.img_slide_anim:nth-child(5) {transition-delay: 0.9s;}
.img_slide_anim:nth-child(6) {transition-delay: 1.1s;}
.img_slide_anim.imgStart {
  transform: translateY(0);
  opacity: 1;
}
@keyframes head_anim {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes head_anim {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-moz-keyframes head_anim {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes leftFade {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@-webkit-keyframes leftFade {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@-moz-keyframes leftFade {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes bottomFade {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-webkit-keyframes bottomFade {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-moz-keyframes bottomFade {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

/* end/animetion */

/* subvisual */

.subvisual {
  background: url(../img/sub.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  height: 20vw;
  max-height: 440px;
  min-height: 260px;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  position: relative;
  overflow:hidden;
  background-position:center;
  margin-top: 123px;
}
.subvisual.inner{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.subvisual .sub_tit {
  display:inline-block;
  min-width:350px;
  text-align:left;
  background-color: rgba(0,0,0,0.4);
  vertical-align:middle;
  padding:2rem 1.5rem;
  position:relative;
}
@media screen and (max-width: 640px) {
  .subvisual .sub_tit {
    min-width:100%;
  }

}
.subvisual .sub_tit h1{
  font-size: 2.8rem;
  font-weight:900;
  color: #fff;
  letter-spacing: .1em;
  line-height:1;
}

.subvisual .sub_tit::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  margin-left:-50vw;
  display:block;
  width:50vw;
  height:100%;
  background-color:rgba(0,0,0,0.4);
}
.subvisual .sub_tit h1 small {
  font-size: 1.2rem;
  letter-spacing:0;
  display:block;
  width:100%;
  margin-bottom: 1rem;
  font-weight: 500;
  text-align: left;
}
.subvisual .sub_tit p{
  color:#fff;
  font-size: 1rem;
  line-height:1.8;
  margin-top: 2rem;
  margin-bottom:0;
  letter-spacing:.1em;
  max-width: 500px;
}
@media screen and (max-width: 1087px) {
  .subvisual .container {
    width: 100%;
  }
}
@media screen and (max-width: 1280px) {
  .subvisual {
    margin-top:121px;
  }
  .subvisual .sub_tit{
    padding-left:0;
  }
}
@media screen and (max-width: 960px) {
  .subvisual {
    margin-top:60px;
  }
  .subvisual .sub_tit h1{
    font-size:2.4rem
  }
}
@media screen and (max-width: 640px) {
  .subvisual{
    min-height:200px;
  }
  .subvisual .sub_tit {
    padding:2rem 0;
  }
  .subvisual .sub_tit h1{
    font-size:7vw;
    letter-spacing: 0;
    line-height:1.2;
  }
  .subvisual .sub_tit h1 small {
    font-size:4vw;
    margin-bottom:.25em;
  }
  .subvisual .sub_tit p{
    font-size:1rem;
  }
  .subvisual h1::after{
    content:none;
  }
}

/* end/subvisual */

/* breadcrumb */
.breadcrumb{
  margin-bottom:0!important;
  font-size:.88rem;
  background-color:#f3fbff;
}
.breadcrumb li{
  margin:.5rem 0;
}
/* header */
header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index: 2000;
  background-color:#fff;
  -webkit-transition: -webkit-transform .4s ease;
  transition: -webkit-transform .4s ease;
  transition: transform .4s ease;
  transition: transform .4s ease, -webkit-transform .4s ease;
}
header.fixed {
  -webkit-transform: translateY(-96px);
  transform: translateY(-96px);
}
header .h_top{  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  padding:.5rem 0;
}
header .h_top .logo a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  text-decoration:none;
}
header .h_top .logo img{
  width: 64px;
  margin-right: 0.75rem;
}
header .h_top .logo h1{
  text-align:left;
  font-size: 1.75rem;
  font-weight:900;
  color:#161c61;
  line-height:1.25;
}
header .h_top .logo h1 small{
  display:block;
  color:#222;
  font-size: 1.25rem;
  font-weight: 500;
}

header .h_top .h_info{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
header .h_top .h_info .tel{
  margin-right:1.5rem;
}
header .h_top .h_info .tel .reception{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content:         center;
  font-size: 1rem;
  line-height:1;
  margin:0;
}
header .h_top .h_info .tel .reception img{
  width:1.2rem;
  margin:0 .25rem 0 0;
  display:inline-block;

}
header .h_top .h_info .tel a{
  font-size: 1.82rem;
  font-weight:900;
  display:block;
  transform   : scale(1, 1.2);
  line-height:1.2;
  color:#6dc8f2;
  cursor:default;
}
header .h_top .h_info .tel a:hover{
  text-decoration:none;
}
header .h_top .h_info .tel .time{
  font-size:.88rem;
}
header .h_top .h_info .h_contact .h_company{
  text-align:right;
  line-height:1;
}
header .h_top .h_info .h_contact .h_company a{
  font-size:.9rem;
  color:#222;
  padding:0 .25rem;
  position:relative;
}
header .h_top .h_info .h_contact .h_company a:first-child::after{
  border-right:1px solid #222;
  content:"";
  height:14px;
  position:absolute;
  right:-.25rem;
  top:50%;
  margin-top:-7px;
}
header .h_top .h_info .h_contact > a{
  display:block;
  color:#fff;
  padding: .5rem 1.7rem .25rem;
  margin-top:.5rem;
}
header .h_top .h_info .h_contact > a small{
  font-size:.8rem;
  display:block;
  text-align:center;
  margin-bottom:.1rem;
}
header .h_top .h_info .h_contact > a span{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
  font-weight:700;
  font-size:1.25rem;
}
header .h_top .h_info .h_contact > a span.icon_svg{
  width:1.7rem;
  margin:0 .5rem 0 0;
}
@media screen and (max-width: 1280px) {
  header.fixed {
    -webkit-transform: translateY(-86px);
    transform: translateY(-86px);
  }
}
/* end/header */
/* nav */
#navArea{
  border-top:1px solid #e1e1e1;
  border-bottom:1px solid #e1e1e1;
}
#navArea nav ul{
  display: -webkit-flex;
  display: flex;
  border-right:1px solid #e1e1e1;
}
#navArea nav ul li{
  width:calc(100% / 6);
  margin:0;
}
#navArea nav ul li a{
  display:block;
  text-align:center;
  border-left:1px solid #e1e1e1;
  color:#222;
  padding:.5rem 0;
  text-decoration:none;
  background-color:#fff;
  transition:.2s;
}
#navArea nav ul li a:hover{
  background-color:#bfdeec;
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 960px) {
  header{
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08);
    height: 60px;
  }
  header .container{
    max-width:100%;
  }
  header.fixed {
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
  }
  header .h_top .logo{
    width:100%;
    margin-right: 45px;
  }
  header .h_top .logo img{
    width: 40px;
    margin-right: 0.5rem;
  }
  header .h_top .logo h1{
    font-size: 1.2rem;
    font-weight:900;
    line-height:1.5;
    width:100%;
  }
  header .h_top .logo h1 small{
    font-size: .9rem;
  }
  header .h_top .h_info{
    display:none;
  }
  #navArea{
    border:none;
  }
  #navArea nav {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    bottom: 0;
    width: 260px;
    min-height:100vh;
    background: #ffffff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 2000;
    opacity: 0;
    padding-top: 110px;
  }
  #navArea nav::before{
    width: calc(100% - 6rem);
    height: 80px;
    display:block;
    position:absolute;
    top: 1rem;
    left: 2.8rem;
    content:"";
    background: url(../img/logo.svg) no-repeat center;
    background-size:contain;
  }
  #navArea.open nav {
    left: 0;
    opacity: 1;
    background-color: #f9f9f9;
  }
  #navArea .container {
    padding: 0;
  }
  #navArea nav ul{
    display:block;
  }
  #navArea nav ul li{
    width:100%;
  }
  #navArea nav ul li a {
    text-align:left;
    border-top:1px solid #e6e6e6;
    background-color:#fff;
    transition-duration: 0.2s;
    padding: 0.65rem 1rem;
    font-size: 1rem;
  }
  #navArea .btn{
    display:block;
    width:calc(100% - 2rem);
    margin:1rem auto;
    font-size:.94rem;
  }
  #navArea  .h_info {
    margin-top:1rem;
  }
  #navArea  .h_info .tel{
    margin:1rem;
    text-align:center;
  }
  #navArea  .h_info .tel .reception{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content:         center;
    font-size: 1rem;
    line-height:1;
    margin:0 0 0.25rem;
  }
  #navArea  .h_info .tel .reception img{
    width:1.2rem;
    height:1.2rem;
    margin:0 .25rem 0 0;
    display:inline-block;
    object-fit:contain;
  }
  #navArea  .h_info .tel a{
    font-size: 2rem;
    font-weight:900;
    display:block;
    transform   : scale(1, 1.2);
    line-height:1.2;
    color:#6dc8f2;
    cursor:default;
  }
  #navArea  .h_info .tel a:hover{
    text-decoration:none;
  }
  #navArea  .h_info .tel .time{
    font-size:1rem;
    text-align:center;
    display:block;
  }
  #navArea  .h_info .h_contact .h_company{
    text-align:right;
    line-height:1;
  }
  #navArea  .h_info .h_contact .h_company a{
    font-size:.9rem;
    color:#222;
    padding:0 .25rem;
    position:relative;
  }
  #navArea  .h_info .h_contact .h_company a:first-child::after{
    border-right:1px solid #222;
    content:"";
    height:14px;
    position:absolute;
    right:-.25rem;
    top:50%;
    margin-top:-7px;
  }
  #navArea  .h_info .h_contact > a{
    display:block;
    color:#fff;
    padding: .5rem 1.7rem .25rem;
    margin-top:.5rem;
  }
  #navArea  .h_info .h_contact > a small{
    font-size:.8rem;
    display:block;
    text-align:center;
    margin-bottom:.1rem;
  }
  #navArea  .h_info .h_contact > a span{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content:         center;
    font-weight:700;
    font-size:1.25rem;
  }
  #navArea  .h_info .h_contact > a span.icon_svg{
    width:1.7rem;
    margin:0 .5rem 0 0;
  }


  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
    padding: 30px;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 16px;
    width: 30px;
    height: 2px;
    background-color: #161c5f;
    border-radius: 4px;
    transition: all .5s;
  }
  .toggle_btn span:nth-child(1) {
    top: 20px;
  }
  .toggle_btn span:nth-child(2) {
    top: 30px;
  }
  .toggle_btn span:nth-child(3) {
    top: 40px;
  }
  .open .toggle_btn span {
    background-color: #fff;
  }
  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-315deg);
  }
  .open .toggle_btn span:nth-child(2) {
    opacity: 0;
  }
  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(315deg);
  }
  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: .8;
    z-index: 2;
    cursor: pointer;
  }
}



/* end/gnav */

/* end/nav */

/* mv */
.mv{
  background:url(../img/mv_bg.jpg) no-repeat center top #8dc6ef;
  padding:0;
  margin-top:137px;
  position:relative;
}
.mv .inner{
  position:relative;
}
.mv h2 .txt{
  position:absolute;
  top:28px;
  left:-9px;
}
.mv h2 .zero{
  position:absolute;
  top:13px;
  left:520px;
  animation: anime1 3s ease 1.5s infinite;
}
@keyframes anime1{
  0% { transform: scale(1); }
  60% { transform: scale(1); }
  75% { transform: scale(1.2); }
  80% { transform: scale(1); }
  100% { transform: scale(1); }
}
.mv h2 .yen{
  position:absolute;
  top:322px;
  left:765px;
  z-index:10;
}
.mv .female{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
  position:relative;
}
.mv .female img{
  margin:17px 17px 0 0;
}
.mv .point{
  position:absolute;
  left:16px;
  top:205px;
}
.mv .member{
  position:absolute;
  top:390px;
  left:30px;
  z-index:10;
}
.mv .mv_reason{
  background-color:#161c5f;
  position:relative;
  z-index:20;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  padding:0rem 2rem 1.5rem;

}
.mv .mv_reason h3{
  text-align:center;
  color:#fff;
  font-size:2rem;
  width:100%;
  margin-bottom:1rem;
}
.mv .mv_reason h3 span{
  font-weight:900;
  color:#fefe00;
  font-size:3rem;
}
.mv .mv_reason .reason_item{
  width: 31%;
  position:relative;
}
.mv .mv_reason .reason_item h4{
  position:absolute;
  width:100%;
  text-align:center;
  top:-.5rem;
  left:0;
}
.mv .mv_reason .reason_item h4 span{
  display:inline-block;
  background-color:#fff;
  font-weight:700;
  color:#171c60;
  padding:.25rem 1rem;
  font-size:1.25rem;
  transform:rotate(-5deg);
}
.mv .mv_reason .reason_item p{
  color:#fff;
  margin-top:.5rem;
}
@media screen and (max-width: 1280px) {
  .mv{
    margin-top:122px;
  }
  .mv h2{
    position:relative;
    z-index:10;
  }
  .mv h2 .txt{
    width:432px;
  }
  .mv h2 .zero{
    width:220px;
    top:13px;
    left:380px;
  }
  .mv h2 .yen{
    width:80px;
    top:255px;
    left:572px;
  }
  .mv .female{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content:         flex-end;
    position:relative;
  }
  .mv .female img{
    margin:17px 5px 0 0;
    width:235px;
  }
  .mv .point{
    width:360px;
    left:16px;
    top:166px;
  }
  .mv .member{
    width:600px;
    top:303px;
    left:30px;
    z-index:10;
  }
  .mv .mv_reason{
    padding:0 1.5rem 1.5rem;
  }
  .mv .mv_reason .reason_item{
    width: 32%;
  }
  .mv .mv_reason .reason_item p{
    font-size:.96rem;
  }
}
@media screen and (max-width: 960px) {
  .mv{
    margin-top:60px;
  }
  .mv h2 .txt{
    width:332px;
    left:0;
  }
  .mv h2 .zero{
    width:165px;
    top:13px;
    left: 312px;
  }
  .mv h2 .yen{
    width:62px;
    top:192px;
    left:426px;
  }
  .mv .female img{
    margin:17px 5px 0 0;
    width:167px;
  }
  .mv .point{
    width:256px;
    left:18px;
    top:126px;
  }
  .mv .member{
    width:400px;
    top:231px;
    left:30px;
  }
  .mv .mv_reason .reason_item{
    width: 32%;
  }
  .mv .mv_reason .reason_item h4 span{
    font-size:1.1rem;
  }
  .mv .mv_reason .reason_item p{
    font-size:.9rem;
  }
}
@media screen and (max-width: 640px) {
  .mv h2 .txt{
    width:75%;
    left:3%;
    top:7%;
  }
  .mv h2 .zero{
    width:19%;
    top:36%;
    left: 46%;
  }
  .mv h2 .yen{
    width:11%;
    top:60.5%;
    left:61%;
  }
  .mv .female{
    margin:0 0 0 70%;
    padding-top:9%;
    width:30%;
    height:64.5vw;
  }
  .mv .female img{
    width:100%;
    margin:0;
    object-fit: contain;
  }
  .mv .point{
    width:41%;
    left:3%;
    top:41%;
  }
  .mv .member{
    width:67%;
    top:auto;
    bottom:0;
    left:3%;
  }
  .mv .mv_reason{
    padding:1.5rem 1rem 0;
  }
  .mv .mv_reason h3{
    font-size:6vw;
    width: calc(50% - .5rem);
    margin-bottom:0;
    height:100%;
    line-height:1.2;
    margin-top: 12vw;
  }
  .mv .mv_reason h3 span{
    font-size:1.5em;
  }
  .mv .mv_reason .reason_item{
    width: calc(50% - .5rem);
    margin-bottom:1.5rem;
  }
  .mv .mv_reason .reason_item h4 span{
    font-size:3vw;
  }
  .mv .mv_reason .reason_item p{
    font-size:.9rem;
  }
}
/* end/mv */

/* cv */
.cv{
  background-color: #6cc8f1;
  position:relative;
  padding:2rem 0;
}
.comparison + .cv{
  background-color:#0d3861;
}
.cv h2{
  font-weight:700;
  font-size:2.2rem;
  color:#fff;
  text-align:center;
  letter-spacing:.2rem;
  margin-bottom:.5rem;
}
.cv h2 strong,
.cv h2 span{
  font-weight:900;
  color:#fefe00;
  font-size:3.7rem;
}
.cv .inner{
  background-color:#fff;
  border-radius:10px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  padding:2rem 1rem;
}
.cv .left{
  width:calc(50% - 1rem);
}
.cv .left .info{
  background-color:#e9f2c8;
  padding:.5rem 1rem .75rem;
}
.cv .left .info h3{
  display:inline-block;
  background-color:#00b600;
  color:#fff;
  padding:.25rem .5rem;
  transform:translate(0, -1.5rem);
}
.cv .left .info .catch{
  margin-top:-1.5rem;
  font-size:1.85rem;
  font-weight:700;
  color:#00b600;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.cv .left .info .catch strong{
  background-color:#ff9200;
  color:#fff;
  display:inline-block;
  font-size:1.2rem;
  border-radius:50px;
  padding:.1rem 1rem;
  margin-left:1rem;
  font-weight:500;
  letter-spacing:.1rem;
}
.cv .left .info .white{
  background-color:#fff;
  border-radius:5px;
  margin-top:.25rem;
  padding:.5rem 1rem;
  font-size:1.4rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.cv .left .info .white span:first-child{
  margin-right:1rem;
}
.cv .left .tel a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
  cursor:default;
  text-decoration:none;
  margin-top:1rem;
}
.cv .left .tel a .tel_icon{
  width:75px;
  margin-right:1rem;
}
.cv .left .tel a p small{
  display:block;
  font-size:1rem;
  font-weight:700;
  color:#222;
  letter-spacing:0.1rem;
}
.cv .left .tel a p{
  color:#161b60;
  font-weight:900;
  font-size:4rem;
  line-height:1;
  letter-spacing:-.1rem;
}

.cv .right{
  width:calc(50% - 1rem);
}
.cv .right a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
  color:#fff;
  font-size:2rem;
  letter-spacing:.2rem;
  font-weight:900;
  height:6.2rem;
  text-decoration:none;
  border-radius:10px;
  transition:.2s;
  position:relative;
  overflow:hidden;
}
.cv .right .mail{
  margin-bottom:1.5rem;
  background-color: #ff9200;
  border: solid 1px #ff9200;
  box-shadow: 0 5px #b77d2d;
}
.cv .right a.mail .icon_svg{
  width:3rem;
  margin-right:.5rem;
  display:block;
}
.cv .right .line{
  letter-spacing:.3rem;
  background-color: #00b804;
  border: solid 1px #00b804;
  box-shadow: 0 5px #086d0b;
}
.cv .right a:hover{
  box-shadow: none!important;
  transform: translateY(4px);
}
.cv .right a::after{
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  transition: transform .7s;
  background-color: transparent;
  content: '';
}
.cv .right a:hover::after{
  z-index: 0;
  background-color: rgba(255,255,255,0.2);
  -ms-transform: scale(100);
  transform: scale(100);
}
.cv .right a.line .icon_svg{
  width:4.2rem;
  margin-right:.5rem;
  display:block;
}
@media screen and (max-width: 1280px) {
  .cv h2{
    font-size:2rem;
    letter-spacing:.1rem;
    margin-bottom:0;
  }
  .cv h2 strong,
  .cv h2 span{
    font-size:3.4rem;
  }
  .cv .left .info .catch{
    margin-top:-1.25rem;
    font-size:1.5rem;
  }
  .cv .left .info .catch strong{
    font-size:1.2rem;
  }
  .cv .left .info .white{
    font-size:1.12rem;
  }
  .cv .left .tel a .tel_icon{
    width:60px;
  }
  .cv .left .tel a p{
    font-size: 3.1rem;
  }
  .cv .right a{
    font-size:2rem;
    letter-spacing:.2rem;
    height:5.4rem;
  }
}
@media screen and (max-width: 960px) {
  .cv .inner{
    padding-bottom:1.5rem;
  }
  .cv h2{
    font-size:1.8rem;
    letter-spacing:.1rem;
    margin-bottom: .5rem;
    line-height:1.2;
  }
  .cv h2 strong,
  .cv h2 span{
    font-size:2.4rem;
  }
  .cv .left{
    width:100%;
  }
  .cv .left .info h3{
    font-size:1.2rem;
  }
  .cv .left .info .catch{
    margin-top:-1.25rem;
    font-size:1.5rem;
    -webkit-justify-content: center;
    justify-content:         center;
  }
  .cv .left .info .catch strong{
    font-size:1.3rem;
  }
  .cv .left .info .white{
    font-size:1.3rem;
    -webkit-justify-content: center;
    justify-content:         center;
  }
  .cv .left .tel{
    margin:1rem 0;
  }
  .cv .left .tel a .tel_icon{
    width:60px;
  }
  .cv .left .tel a p{
    font-size: 4.8rem;
  }
  .cv .right{
    width:100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content:         space-between;
  }
  .cv .right a{
    width:calc(50% - .5rem);
    font-size:1.5rem;
    letter-spacing:0.1rem;
    height:5rem;
  }
  .cv .right .mail{
    margin-bottom:0;
  }
  .cv .right .line{
    letter-spacing:0.1rem;
  }
  .cv .right a.mail .icon_svg{
    width:2.2rem;
  }
  .cv .right a.line .icon_svg{
    width:3rem;
  }
}
@media screen and (max-width: 640px) {
  .cv h2{
    font-size:5.5vw;
    letter-spacing:.1rem;
    margin-bottom:1rem;
    line-height:1.2;
  }
  .cv h2 strong,
  .cv h2 span{
    font-size:1.4em;
  }
  .cv .left .info h3{
    font-size:4vw;
  }
  .cv .left .info .catch{
    margin-top:-.75em;
    font-size:4vw;
  }
  .cv .left .info .catch strong{
    font-size:3.5vw;
    margin-left:.75em;
    padding:.1em .75em;
  }
  .cv .left .info .white{
    font-size:3.2vw;
    padding:.5em;
    -webkit-justify-content: center;
    justify-content:         center;
  }
  .cv .left .info .white span:first-child{
    margin-right:.5em;
  }
  .cv .left .tel{
    margin:1rem 0;
  }
  .cv .left .tel a .tel_icon{
    width:11vw;
    margin-right:3vw;
  }
  .cv .left .tel a p{
    font-size: 8.8vw;
    white-space:nowrap;
  }
  .cv .left .tel a p small{
    font-size:3vw;
    letter-spacing:0;
    font-weight:500;
  }
  .cv .right a{
    width:100%;
    font-size:6vw;
    letter-spacing:0;
    height:3em;
    max-height:70px;
  }
  .cv .right .mail{
    margin-bottom:1rem;
    letter-spacing:0;
  }
  .cv .right .line{
    letter-spacing:0;
  }
  .cv .right a.mail .icon_svg{
    width:8vw;
  }
  .cv .right a.line .icon_svg{
    width:11vw;
  }
}
/* end/cv */

/* online */
.online{
  background-color:#f8f8f8;
  position:relative;
  padding:0 0 4rem;
}
.online .tit{
  background-color:#fff;
  padding:2rem 0;
  position:relative;
}
.online .tit::after{
  position:absolute;
  content:"";
  border-top: 30px solid #ffffff;
  border-right: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid transparent;
  bottom:-60px;
  left:50%;
  margin-left:-30px;
}
.online .lead{
  color:#222;
  font-weight:900;
  line-height:1.5;
  margin:2.5rem 0;
  font-size:2.4rem;
}
.online h2{
  font-size:3.5rem;
  font-weight:900;
  color:#1e225e;
  letter-spacing:.1em;
}
.online .step_area{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  position:relative;
}
.online .step_area > .img{
  position:absolute;
  right:0;
  top:0;
  transform:translateY(-100%);
}

.online .step_area .step{
  width:calc(50% - 1.25rem);
  background-color:#fff;
  margin-bottom:2.5rem;
  padding:1.5rem;
  position:relative;
  border-radius:10px;
}
.online .step_area .step > p{
  font-size:3rem;
  font-weight:900;
  color:#6dc8f2;
  position:absolute;
  top:-2.2rem;
}
.online .step_area .step .inner{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin-top:1.5rem;
}
.online .step_area .step .inner .text{
  width:calc(100% - 196px - 1.5rem);
}
.online .step_area .step .inner .text h3{
  background-color:#161c61;
  font-weight:700;
  font-size:1.5rem;
  color:#fff;
  display:block;
  border-radius:1.75rem;
  padding:.5rem 1.5rem;
  line-height:1.5rem;
  text-align:center;
  max-width:10em;
  position:relative;
  margin-bottom:1rem;
}
.online .step_area .step .inner .text h3::after{
  position:absolute;
  content:"";
  border-top: 10px solid #161c61;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  bottom:-20px;
  left:50%;
  margin-left:-10px;
}
.online .step_area .step .inner .text p{
  margin-bottom:0;
}
.online .step_area .step .inner .text p small{
  display:block;
  margin-top:1em;
}
.online .more{
  background-color:#fff;
  padding:2rem;
  border-radius:10px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.online .more p{
  max-width: 27em;
  font-size:1.5rem;
}
.online .more a{
  display:block;
}
@media screen and (max-width: 1280px) {
  .online .lead{
    font-size:2.2rem;
  }
  .online h2{
    font-size:3rem;
  }
  .online .step_area > .img{
    width:240px;
  }
  .online .step_area .step{
    width:calc(50% - 1rem);
    padding:1.5rem 1.5rem;
  }
  .online .step_area .step > p{
    font-size:2.5rem;
  }
  .online .step_area .step .inner{
    margin-top:1rem;
  }
  .online .step_area .step .inner .img{
    width:132px;
  }
  .online .step_area .step .inner .text{
    width:calc(100% - 132px - 1rem);
  }
  .online .step_area .step .inner .text h3{
    font-size:1.2rem;
  }
  .online .more{
    padding:1.5rem;
  }
  .online .more p{
    max-width:35rem;
    font-size:1.5rem;
  }
  .online .more a{
    font-size:1.25rem;
  }
}
@media screen and (max-width: 960px) {
  .online h2{
    font-size:2.4rem;
  }
  .online .lead{
    font-size:1.65rem;
  }
  .online .step_area > .img{
    width:188px;
  }
  .online .step_area .step{
    width:100%;
    padding:1.5rem 1.5rem;
  }
  .online .step_area .step > p{
    font-size:2.5rem;
  }
  .online .step_area .step .inner{
    margin-top:1rem;
  }
  .online .more{
    padding:1.5rem;
  }
  .online .more p{
    max-width:100%;
    font-size:1.3rem;
  }
  .online .more a{
    font-size:1.25rem;
    margin:1rem auto 0;
  }
}
@media screen and (max-width: 640px) {
  .online h2{
    font-size:6vw;
    text-align:center;
  }
  .online .lead{
    font-size: 4vw;
    writing-mode:vertical-rl;
    line-height:2;
    margin-left:10vw;
  }
  .online .step_area > .img{
    width:42vw;
  }
  .online .step_area .step > p{
    font-size:3rem;
  }
  .online .step_area .step .inner{
    margin-top:1rem;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
  .online .step_area .step .inner .img{
    width:100px;
  }
  .online .step_area .step .inner .text{
    width:calc(100% - 100px - 1rem);
  }
  .online .more{
    padding:1.5rem;
  }
  .online .more p{
    max-width:100%;
    font-size:1.3rem;
  }
  .online .more a{
    font-size:1.25rem;
    margin:1rem auto 0;
  }
}
/* end/online */

/* comparison */
.comparison{
  position:relative;
  padding:0;
  background-color:#fff;
}
.comparison .tit{
  background-color:#161c61;
  position:relative;
}
.comparison .tit::after{
  position:absolute;
  content:"";
  border-top: 40px solid #161c61;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid transparent;
  bottom:-80px;
  left:50%;
  margin-left:-40px;
}
.comparison .tit h2{
  color:#fff;
  text-align:center;
  font-size:3.5rem;
  font-weight:900;
  line-height:1.5;
  padding:.5em;
}
/* タブメニュー */
.tab-menu {
  display: -webkit-flex;
  display: flex;
  margin:0;
  padding:0;
  margin:5rem 0 0;
}
.tab-menu__item {
  box-sizing: border-box;
  margin:0;
  width:50%;
  font-size:2rem;
  font-weight:900;
}
.tab-trigger {
  text-align: center;
  cursor: pointer;
  display: block;
  background-color:#fff;
  overflow: hidden;
  position: relative;
  color:#5f5f5f;
  padding:1rem 0;
}
.tab-trigger.is-active {
  background-color: #fff4e6;
  color:#ff9817;
}
/* タブコンテンツ */
.tab-content {
  background-color:#fff4e6;
}
.tab-content__item {
  box-sizing: border-box;
  padding: 20px;
  display: none;
  text-align: left;
}
.tab-content__item.is-active {
  display: block;
  animation: fade 0.5s ease;
}
.tab-content__item .inner{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.tab-content__item .inner ul{
  width:25%;
  background-color:#ebebeb;
  padding:1rem 0 1rem;
  position:relative;
}
.tab-content__item .inner ul li{
  background-color:#fff;
  text-align:center;
  margin-right:1rem;
  margin-bottom:.75rem;
  height:3.5rem;
  font-size:1.5rem;
  line-height:3.5rem;
  position:relative;
  z-index:10;
}
.tab-content__item .inner ul li:first-child{
  background:none;
}
.tab-content__item .inner ul:first-child li{
  margin-left:1rem;
}
.tab-content__item .inner .th li{
  background-color:#98aab8;
  color:#fff;
}
.tab-content__item .inner .startup li{
  font-weight:900;
  color:#e10214;

}
.tab-content__item .inner ul.startup::after{
  content:"";
  position:absolute;
  top:-.5rem;
  left:-.75rem;
  width:calc(100% + .5rem);
  height:calc(100% + 1rem);
  background-color:#6cc8f1;
  z-index:5;
}
@keyframes fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.comparison .catch{
  margin:2.5rem 0 0;
  background-color:#fff;
}
.comparison .catch small{
  display:inline-block;
  color:#009ef4;
  position:relative;
}
.comparison .catch small::before{
  position:absolute;
  content:"";
  border-right:3px solid #009ef4;
  height:1em;
  left:-0.5em;
  top:50%;
  margin-top:-.5em;
  transform:rotate(-20deg);
}
.comparison .catch small::after{
  position:absolute;
  content:"";
  border-right:3px solid #009ef4;
  height:1em;
  right:-0.3em;
  top:50%;
  margin-top:-.5em;
  transform:rotate(20deg);
}
.comparison .catch strong{
  color:#e00312;
  font-weight:900;
  font-size:1.25em;
}
.comparison .catch .container > p{
  font-size:3.5rem;
  text-align:center;
  font-weight:900;
  padding-bottom:3rem;
  position:relative;
  letter-spacing:.2rem;
}
.comparison .catch .container > p::after{
  position:absolute;
  content:"";
  border-top: 70px solid #ffffff;
  border-right: 200px solid transparent;
  border-bottom: 200px solid transparent;
  border-left: 200px solid transparent;
  bottom:-270px;
  left:50%;
  margin-left:-200px;
}

.comparison .campaign{
  background-color:#009cf6;
  padding:4rem 0 3rem;
}
.comparison .campaign h2{
  color:#fff;
  font-weight:900;
  font-size:3.5rem;
  text-align:center;
  letter-spacing:.2rem;
  margin-bottom:.5em;
}
.comparison .campaign h2 .text_yellow{
  color:#eaed34;
  display:inline-block;
}
.comparison .campaign h2 .text_large{
  font-size:1.75em;
  letter-spacing:.1em;
  display:inline-block;
  margin:0 0 0 .5rem;
}
.comparison .campaign ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.comparison .campaign ul li{
  background-color:#fff;
  width:calc(50% - .75rem);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom:1.5rem;
}
.comparison .campaign ul li .img{
  width:102px;
  padding:1rem;
}
.comparison .campaign ul li p{
  font-size:2rem;
  margin-bottom:0;
  padding-bottom:0;
  font-weight:900;
}
.comparison .campaign ul li p .price{
  color:#e00213;
  display:inline-block;
  margin-left:1rem;
  font-size:1.25em;
}
.comparison .more{
  margin:1rem 0;
}
@media screen and (max-width: 1280px) {
  .comparison .tit h2{
    font-size:3rem;
  }
  .comparison .catch .container > p{
    font-size:3rem;
  }
  .comparison .catch .container > p::after{
    border-top: 50px solid #ffffff;
    border-right: 180px solid transparent;
    border-bottom: 180px solid transparent;
    border-left: 180px solid transparent;
    bottom:-230px;
    margin-left:-180px;
  }
  .comparison .campaign h2{
    font-size:3rem;
    margin-bottom:.5rem;
  }
  .comparison .campaign ul li .img{
    width:80px;
  }
  .comparison .campaign ul li p{
    font-size:1.6rem;
  }
  .comparison .campaign ul li p .price{
    font-size:1.5em;
  }
}
@media screen and (max-width: 960px) {
  .comparison .tit h2{
    font-size:2.4rem;
  }
  .comparison .tit::after{
    border-top: 26px solid #161c61;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  /* タブメニュー */
  .tab-menu {
    margin:4rem 0 0;
  }
  .tab-menu__item {
    font-size:1.6rem;
  }
  /* タブコンテンツ */
  .tab-content__item {
    padding: 14px;
  }
  .tab-content__item .inner ul li{
    margin-bottom:.5rem;
    height:3rem;
    font-size:1.2rem;
    line-height:3rem;
  }
  .tab-content__item .inner .th li{
    background-color:#98aab8;
    color:#fff;
  }
  .comparison .catch .container > p{
    font-size:2.4rem;
  }
  .comparison .catch .container > p::after{
    border-top: 30px solid #ffffff;
    border-right: 150px solid transparent;
    border-bottom: 150px solid transparent;
    border-left: 150px solid transparent;
    bottom:-180px;
    margin-left:-150px;
  }
  .comparison .campaign h2{
    font-size:2.3rem;
    margin-bottom:.5rem;
  }
  .comparison .campaign ul li{
    -webkit-justify-content: center;
    justify-content:         center;
  }
  .comparison .campaign ul li .img{
    width:80px;
  }
  .comparison .campaign ul li p{
    font-size:1.4rem;
    text-align:center;
    width:13rem;
    line-height:1.25;
  }
  .comparison .campaign ul li p .price{
    font-size:1.5em;
    margin:0;
    display:block;
  }
}
@media screen and (max-width: 640px) {
  .comparison .container:nth-of-type(2){
    padding:0;
  }
  .comparison .tit h2{
    font-size:4.8vw;
    padding:1em 0;
  }
  /* タブメニュー */
  .tab-menu {
    margin:3.5rem 0 0;
  }
  .tab-menu__item {
    font-size:4vw;
  }
  /* タブコンテンツ */
  .tab-content__item {
    padding: 14px;
  }
  .tab-content__item .inner ul{
    width:calc(100% / 3);
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content:         center;
    padding:0 0.5rem;
  }
  .tab-content__item .inner ul.th{
    display:none;
  }
  .tab-content__item .inner ul li{
    width:100%;
    margin-bottom:.5rem;
    height:3em;
    font-size:4vw;
    line-height:1.2em;
    margin:0 0 .5rem;
    padding-top:.25em;
  }
  .tab-content__item .inner ul li span{
    font-weight:500;
    font-size:3vw;
  }
  .tab-content__item .inner .th li{
    background-color:#98aab8;
    color:#fff;
  }
  .tab-content__item .inner ul li:first-child{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content:         center;
    font-size:1rem;
  }
  .tab-content__item .inner ul li:first-child img{
    width:100%;
  }
  .tab-content__item .inner ul.startup::after{
    top:-.5rem;
    left:-0.25rem;
  }
  .comparison .campaign{
    padding:4rem 0 1rem;
  }
  .comparison .catch .container > p{
    font-size: 6.2vw;
    letter-spacing:0;
    line-height:1.5em;
    padding-bottom:2rem;
  }
  .comparison .campaign h2{
    font-size:6vw;
    margin-bottom:1rem;
    line-height:1.1;
  }
  .comparison .campaign ul li .img{
    width:12vw;
    padding:3vw 1vw;
  }
  .comparison .campaign ul li p{
    font-size: 3.4vw;
    text-align:center;
    width: calc(100% - 13vw);
    line-height:1.25;
  }
  .comparison .campaign ul li p .price{
    font-size:1.5em;
    margin:0;
    display:block;
  }
  .campaign .more .large{
    font-size:1.2rem;
  }
}

/* end/comparison */

/* flow */
.flow{
  position:relative;
  background-color:#fff;
}
.flow h2{
  font-size:3.5rem;
  text-align:center;
  font-weight:900;
  color:#083961;
}
.flow .flow_area{
  background-color:#e4f6ff;
  margin-top:3rem;
  position:relative;
}
.flow .flow_area::after{
  position:absolute;
  width:50%;
  height:100%;
  content:"";
  display:block;
  top:0;
  right:0;
  background-color:#a3bedf;
  z-index:1;
}
.flow .flow_area .flow_tit{
  display: -webkit-flex;
  display: flex;
  position:relative;
  z-index:10;
}
.flow .flow_area .flow_tit p{
  width:50%;
  text-align:center;
  font-size:2rem;
  font-weight:700;
  background-color:#009df4;
  color:#fff;
  padding:1rem 0;
}
.flow .flow_area .flow_tit p:last-child{
  background-color:#161c61;
}
.flow .flow_area ol{
  list-style:none;
  position:relative;
  z-index:5;
  padding:0;
}
.flow .flow_area ol li{
  background-color:#fff;
  border-radius:10px;
  width:calc(50% - 2rem);
  margin-top:3rem;
  padding:1rem;
  position:relative;
}
.flow .flow_area ol li.client{
  margin-left:1rem;
}
.flow .flow_area ol li.both{
  margin-left:calc(25% + 1rem);
  z-index:10;
}
.flow .flow_area ol li.startup{
  margin-left:calc(50% + 1rem);
}
.flow .flow_area ol li .num{
  position:absolute;
  top:-27px;
  left:1rem;
  width:54px;
  height:54px;
  border-radius:50%;
  display:block;
  color:#fff;
  font-weight:900;
  font-size:2rem;
  background-color:#009df4;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
}
.flow .flow_area ol li.both .num{
  background-color:#ff9100;
}
.flow .flow_area ol li.startup .num{
  background-color:#161c61;
}
.flow .flow_area ol li h3{
  font-size:1.5rem;
  font-weight:700;
  color:#009df4;
  text-align:center;
  margin:.5rem 0;
}
.flow .flow_area ol li.both h3{
  color:#ff9100;
}
.flow .flow_area ol li.startup h3{
  color:#161c61;
}
.flow .flow_area ol li p{
  font-size:1.2rem;
}
.flow .flow_area ol li.startup .img.pc_only{
  position:absolute;
  top:0;
  right:0;
  transform:translateY(-100%);
}
.flow .flow_bottom{
  position:relative;
  z-index:10;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  padding:3rem 2rem;
}
.flow .flow_bottom .txt,
.flow .flow_bottom .flow_img{
  width:calc(50% - 2rem);
}
.flow .flow_bottom .txt{
  font-size:1.5rem;
  font-weight:700;
}
@media screen and (max-width: 1280px) {
  .flow h2{
    font-size:3rem;
  }
  .flow .flow_area ol li{
    background-color:rgba(255,255,255,.9);
  }
  .flow .flow_area ol li .num{
    top:-24px;
    left:1rem;
    width:48px;
    height:48px;
  }
  .flow .flow_area ol li h3{
    font-size:1.4rem;
  }
  .flow .flow_area ol li p{
    font-size:1.1rem;
  }
  .flow .flow_area ol li.startup .img.pc_only{
    width:380px;
    transform:translateY(-100%);
  }
}
@media screen and (max-width: 960px) {
  .flow h2{
    font-size:2.4rem;
  }
  .flow .flow_area .flow_tit p{
    font-size:1.5rem;
  }
  .flow .flow_area ol li{
    background-color:#fff;
    margin-top:2.5rem;
  }
  .flow .flow_area ol li .num{
    top:-20px;
    font-size:1.8rem;
    left:1rem;
    width:40px;
    height:40px;
  }
  .flow .flow_area ol li.flow02{
    width:calc(90% - 2rem);
    margin-left:calc(5% + 1rem);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content:         space-between;
  }
  .flow .flow_area ol li.flow02 .img{
    width:300px;
    position:absolute;
    right:-3rem;
    bottom:0;
  }
  .flow .flow_area ol li.flow02 .txt{
    width:calc(100% - 180px);
    text-align:left;
  }
  .flow .flow_area ol li.flow02 .txt h3{
    text-align:left;
  }
  .flow .flow_area ol li h3{
    font-size:1.3rem;
  }
  .flow .flow_area ol li p{
    font-size:1.1rem;
  }
  .flow .flow_bottom{
    padding:2rem 1rem;
  }
  .flow .flow_bottom .txt,
  .flow .flow_bottom .flow_img{
    width:calc(50% - 1rem);
  }
  .flow .flow_bottom .txt{
    font-size:1.2rem;
    font-weight:700;
  }
}
@media screen and (max-width: 640px) {
  .flow .container{
    padding:0;
  }
  .flow h2{
    font-size:8vw;
  }
  .flow .flow_area{
    margin-top:1.5rem;
  }
  .flow .flow_area .flow_tit p{
    width:50%;
    text-align:center;
    font-size:5vw;
  }
  .flow .flow_area ol li{
    background-color:#fff;
    border-radius:10px;
    width:calc(50% - 2rem);
    margin-top:2.4rem;
    padding:1rem .5rem;
  }
  .flow .flow_area ol li.client{
    margin-left:1rem;
  }
  .flow .flow_area ol li.both.flow02{
    margin-left:calc(5% + 1rem);
  }
  .flow .flow_area ol li.flow02 .img{
    display:none;
  }
  .flow .flow_area ol li.flow02 .txt{
    width:100%;
    text-align:left;
  }
  .flow .flow_area ol li.startup{
    margin-left:calc(50% + 1rem);
  }
  .flow .flow_area ol li .num{
    top:-20px;
    width:40px;
    height:40px;
    font-size:1.5rem;
  }
  .flow .flow_area ol li h3{
    font-size:3vw;
    text-align:center;
  }
  .flow .flow_area ol li p{
    font-size:3.2vw;
  }
  .flow .flow_bottom{
    padding:2rem 1rem 3rem;
  }
  .flow .flow_bottom .txt,
  .flow .flow_bottom .flow_img{
    width:100%;
  }
  .flow .flow_bottom .txt{
    font-size:1rem;
    margin-bottom:1rem;
    background-color:#fff;
    padding:1rem;
  }
}
/* end/flow */

/* one_day */
.one_day{
  padding:0 0 2rem;
}
.one_day h2{
  text-align:center;
  font-size:2rem;
  margin-bottom:3rem;
}
.one_day h2 small{
  display:block;
  font-size:1.25rem;
  color:#023894;
}
.one_day ol{
  list-style:none;
  padding:0;
  max-width:1000px;
  margin:0 auto;
}
.one_day ol > li{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  border-bottom:dotted 3px #dedede;
  padding-bottom:1.5rem;
  margin-bottom:1.5rem;
}
.one_day ol > li:nth-child(even){
  flex-direction:row-reverse;
}
.one_day ol > li .txt{
  width:calc(70% - 1rem);
  position:relative;
}
.one_day ol > li .img{
  width:30%;
}
.one_day ol > li .txt h3{
  font-weight:900;
  font-size:1.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom:1rem;
  line-height:1.25;
}
.one_day ol > li .txt .num{
  color:#299cf1;
  font-weight:900;
  font-size:1.2rem;
  text-align:center;
  line-height:1;
  position:relative;
  padding-right:.75rem;
  margin-right:.75rem
}
.one_day ol > li .txt .num::after {
    position: absolute;
    right: 0;
    top:2px;
    content: '';
    display: block;
    height:100%;
    background-color: #299cf1;
    width: 2px;
    animation: elasticus 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0)
  }
  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
  }
  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
  }
  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0)
  }
}
.one_day ol > li .txt .num span{
  font-size:2em;
  display:block;
}
.one_day ol > li .txt ul{
  padding-left:2rem;
}
.one_day ol > li .txt ul li{
  list-style:disc;
  margin-bottom:.5rem;
  padding-bottom:0;
}
.one_day .last{
  font-weight:900;
  font-size:3rem;
  color:#e00312;
  letter-spacing:.1em;
  display:inline-block;
  position:relative;
}
.one_day .last::before{
  position:absolute;
  content:"";
  border-right:3px solid #e00312;
  height:5rem;
  left:-1em;
  top:50%;
  margin-top:-2.5rem;
  transform:rotate(-20deg);
}
.one_day .last::after{
  position:absolute;
  content:"";
  border-right:3px solid #e00312;
  height:5rem;
  right:-.75em;
  top:50%;
  margin-top:-2.5rem;
  transform:rotate(20deg);
}
@media screen and (max-width: 960px) {
  .one_day .last{
    font-size:2.5rem;
  }
}
@media screen and (max-width: 640px) {
  .one_day ol > li .txt{
    width:100%;
  }
  .one_day ol > li .img{
    width:100%;
    max-width:70%;
    margin:1rem auto 0;
  }
  .one_day .last{
    font-size:6vw;
  }
}

/* end/one_day */

/* teikei */
.teikei {
  padding-top:0;
}
.teikei .tit{
  background-color:#a0e2ff;
  position:relative;
  margin-bottom:4rem;
}
.teikei .tit::after{
  position:absolute;
  content:"";
  border-top: 40px solid #a0e2ff;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid transparent;
  bottom:-80px;
  left:50%;
  margin-left:-40px;
  z-index:10;
}
.teikei .tit h2{
  color:#1e225e;
  text-align:center;
  font-size:3.5rem;
  font-weight:900;
  line-height:1.5;
  padding:.5em;
  letter-spacing:.1em;
}
.teikei .lead{
  font-size:1.25rem;
  color:inherit;
  margin-bottom:1em;
}
.teikei .teikei_item{
  border-bottom:1px solid #ddd;
  padding-bottom:3rem;
  margin-bottom:3rem;
}
.teikei .teikei_item:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.teikei .teikei_item h3{
  font-weight:900;
  font-size:1.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom:1rem;
  line-height:1.25;
}
.teikei .teikei_item h3 span{
  font-size: 1.1rem;
  color:#299cf1;
  margin-right:1rem;
}
.teikei .teikei_item h3 .num{
  font-weight:700;
  font-size:2.5em;
  display:block;
  text-align:center;
  line-height:1;
  position:relative;
  margin:0;
}
.teikei .teikei_item .inner{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.teikei .teikei_item .inner .txt{
  width:calc(55% - 1rem);
}
.teikei .teikei_item .inner .img{
  width:calc(45% - 1.5rem);
  background-color:#299cf1;
}
.teikei .teikei_item .inner .img img{
  transform:translate(-.5rem, -.5rem);
}
.teikei .teikei_item p{
  margin-bottom:1rem;
}
.teikei .teikei_item ul{
  padding-left:2rem;
  margin-bottom:1rem;
}
.teikei .teikei_item ul li{
  list-style:disc;
  margin-bottom:.5rem;
  padding-bottom:0;
}
.teikei .teikei_item ul.teikei_list{
  padding-left:0;
  margin-bottom:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.teikei .teikei_item ul.teikei_list li{
  list-style:none;
  margin:0 1rem 1rem 0;
  background-color:#1e225e;
  font-size:1.2rem;
  color:#fff;
  padding:.5rem 1rem;
}
@media screen and (max-width: 1280px) {
  .teikei .tit h2{
    font-size:3rem;
  }

}
@media screen and (max-width: 960px) {
  .teikei .tit h2{
    font-size:2.4rem;
  }
  .teikei .tit::after{
    border-top: 26px solid #a0e2ff;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  .teikei .teikei_item .inner{
    flex-direction:column-reverse;
  }
  .teikei .teikei_item .inner .txt{
    width:100%;
  }
  .teikei .teikei_item .inner .img{
    width:100%;
    margin-bottom:1rem;
    margin-left:.5rem
  }

}
@media screen and (max-width: 640px) {
  .teikei .tit h2{
    font-size:4.8vw;
    padding:1.5em 0;
  }

}
/* end/teikei */

/* reason */
.reason{
  background-color:#dff2fb;
  padding-bottom:0;
}
.reason h2{
  font-size:3.5rem;
  font-weight:900;
  text-align:center;
  position:relative;
  letter-spacing: .1em;
  margin-right:4rem;
}
.reason h2 img{
  display:inline-block;
}
.reason h2 small{
  position:absolute;
  font-size:1.5rem;
  color:#299cf1;
  font-weight:700;
  top: -1.5rem;
  right: 2rem;
  transform:rotate(10deg);
  letter-spacing:0;
}
.reason h2 small::before{
  position:absolute;
  content:"";
  border-right:2px solid #009ef4;
  height:2.5em;
  left:-1em;
  top:30%;
  margin-top:-.5em;
  transform:rotate(-20deg);
}
.reason h2 small::after{
  position:absolute;
  content:"";
  border-right:2px solid #009ef4;
  height:2.5em;
  right:-.8em;
  top:30%;
  margin-top:-.5em;
  transform:rotate(20deg);
}
.reason h2 span{
  margin-left:2em;
}
.reason ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.reason li{
  background:url(../img/note_bg.png) repeat #fff;
  width:calc(50% - 1rem);
  margin-top:3rem;
  font-size:1.25rem;
  padding:2em 1rem;
  position:relative;
  box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.3);
}
.reason li:first-child{
  width:100%;
  padding:2em;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.reason li:first-child .tit h3{
  letter-spacing:.1em;
  font-size:2rem;
}

.reason li:first-child .img{
  width:208px;
}
.reason li:first-child .txt{
  width:calc(100% - 230px);
}
.reason li:first-child p{
  font-size:1.5rem;
  letter-spacing:.1em;
}
.reason li:first-child .vote{
  position:absolute;
  top:2rem;
  right:2rem;
  width:120px;
  height:120px;
  font-size:1.5rem;
  transform:translateY(0%);
}
.reason li:first-child .vote .num{
  font-size:4rem;
}
.reason li .rank{
  font-weight:900;
  display:inline-block;
  line-height:1;
  margin-right:1rem;
  background:url(../img/icon_rank04.svg) no-repeat bottom center / contain;
}
.reason li:nth-child(1) .rank{background-image:url(../img/icon_rank01.svg);}
.reason li:nth-child(2) .rank{background-image:url(../img/icon_rank02.svg);}
.reason li:nth-child(3) .rank{background-image:url(../img/icon_rank03.svg);}
.reason li .rank .num{
  color:#e00312;
  font-size:4rem;
  margin:0 .2rem;
}
.reason li .tit{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.reason li .tit h3{
  font-weight:900;
  font-size: 1.75rem;
  width:calc(100% - 7rem);
  line-height:1.5;
}
.reason li .vote{
  position:absolute;
  top:0;
  right:1rem;
  width:88px;
  height:88px;
  border-radius:50%;
  background-color:#299cf1;
  color:#fff;
  font-size:1.2rem;
  font-weight:500;
  display: -webkit-flex;
  display: flex;
  flex-direction:column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content:         center;
  line-height:1;
  transform:translateY(-50%);
}
.reason li .vote .num{
  display:block;
  width:100%;
  text-align:center;
  line-height:1;
  font-size:3rem;
  font-weight:900;
}
.reason li p{
  font-size:1.4rem;
  margin-top:1em;
}
.reason .client_carousel{
  height:267px;
  width: 100%;
  overflow:hidden;
  position:relative;
  margin-top:4rem;
}
.reason .client_carousel::before{
  content:"";
  display:block;
  background:url(../img/reason_carousel.jpg) repeat-x;
  position:absolute;
  width:400%;
  height:267px;
  -webkit-animation: about-anim 30s linear infinite normal;
  animation: about-anim 30s linear infinite normal;
}
@-webkit-keyframes about-anim {
    0%   { -webkit-transform: translateX(0); }
    100% { -webkit-transform: translateX(-2014px); }
}
@keyframes about-anim {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-2014px); }
}
@media screen and (max-width: 1280px) {
  .reason h2{
    font-size:3rem;
  }
  .reason h2 img{
    display:inline-block;
  }
  .reason h2 small{
    font-size:0.5em;
  }
  .reason li{
    margin-top:3rem;
    padding:2rem 1rem;
  }
  .reason li:first-child{
    margin-top:2rem;
  }
  .reason li:first-child .tit h3{
    letter-spacing:.1em;
    font-size:2rem;
  }
  .reason li:first-child p{
    font-size:1.5rem;
    letter-spacing:.1em;
  }
  .reason li:first-child .vote{
    position:absolute;
    top:2rem;
    right:2rem;
    width:110px;
    height:110px;
  }
  .reason li .tit h3{
    font-size: 1.4rem;
  }
  .reason li .vote{
    width:60px;
    height:60px;
    font-size:1.2rem;
  }
  .reason li .vote .num{
    font-size:2.2rem;
  }
  .reason li p{
    font-size:1.2rem;
  }
  .reason .client_carousel{
    height:200px;
  }
  .reason .client_carousel::before{
    background:url(../img/reason_carousel.jpg) repeat-x top left / contain;
    position: relative;
    width:400%;
    height:200px;
    -webkit-animation: about-anim 25s linear infinite normal;
    animation: about-anim 25s linear infinite normal;
  }
  @-webkit-keyframes about-anim {
      0%   { -webkit-transform: translateX(0); }
      100% { -webkit-transform: translateX(-1509px); }
  }
  @keyframes about-anim {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-1509px); }
  }
}
@media screen and (max-width: 960px) {
  .reason h2{
    font-size:2.4rem;
    margin-right:5rem;
  }
  .reason h2 img{
    display:inline-block;
  }
  .reason h2 small{
    font-size:0.5em;
  }
  .reason li{
    margin-top:3rem;
    padding:1.5rem 1rem 1rem;
    width:calc(50% - .75rem);
  }
  .reason li:first-child{
    margin-top:3rem;
    padding:1.5rem 1rem 1rem;
  }
  .reason li:first-child .img{
    width:150px;
  }
  .reason li:first-child .txt{
    width:calc(100% - 164px);
  }
  .reason li:first-child .tit h3{
    letter-spacing:.1rem;
    font-size:1.5rem;
  }
  .reason li:first-child p{
    font-size:1.25rem;
    letter-spacing:.1em;
  }
  .reason li:first-child .vote{
    position:absolute;
    top:1rem;
    right:1rem;
    width:80px;
    height:80px;
  }
  .reason li:first-child .vote .num{
    font-size:3rem;
  }
  .reason li .tit h3{
    font-size: 1.3rem;
  }
  .reason li .vote{
    width:48px;
    height:48px;

    font-size:1.2rem;
  }
  .reason li .vote .num{
    font-size:1.8rem;
  }
  .reason li p{
    font-size:1.1rem;
  }
  .reason .client_carousel{
    height:200px;
  }
  .reason .client_carousel::before{
    background:url(../img/reason_carousel.jpg) repeat-x top left / contain;
    position:absolute;
    width:400%;
    height:200px;
    -webkit-animation: about-anim 25s linear infinite normal;
    animation: about-anim 25s linear infinite normal;
  }
  @-webkit-keyframes about-anim {
      0%   { -webkit-transform: translateX(0); }
      100% { -webkit-transform: translateX(-1509px); }
  }
  @keyframes about-anim {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-1509px); }
  }
}
@media screen and (max-width: 640px) {
  .reason h2{
    font-size:6vw;
    margin-right:0;
    transform:translateX(-8%);
  }
  .reason h2 img{
    display:inline-block;
    width:15vw;
  }
  .reason h2 small{
    font-size:0.5em;
    right:-1rem;
  }
  .reason h2 span{
    margin-left:2em;
  }
  .reason li{
    margin-top: 1rem;
    padding:1rem;
    width:100%;
  }
  .reason li:first-child{
    margin-top:2rem;
    padding:1rem;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
  .reason li:first-child .img{
    width:200px;
    margin:0 auto;
  }
  .reason li:first-child .txt{
    width:100%;
  }
  .reason li:first-child .tit h3{
    letter-spacing:0;
    font-size:1.rem;
    padding-right:0;
    line-height:1.25;
  }
  .reason li:first-child p{
    font-size:1.2rem;
    letter-spacing:.1rem;
  }
  .reason li:first-child .vote{
    width:60px;
    height:60px;
    font-size:1.2rem;
    top:.5rem;
    right:.5rem;
  }
  .reason li:first-child .vote .num{
    font-size:2.2rem;
  }
  .reason li .tit h3{
    font-size: 1.2rem;
    line-height:1.25;
    padding-right:3.5rem;
  }
  .reason li .vote{
    width:60px;
    height:60px;
    font-size:1.2rem;
    top:.5rem;
    right:.5rem;
    transform:translateX(0);
  }
  .reason li .vote .num{
    font-size:2.2rem;
  }
  .reason li p{
    font-size:1rem;
    margin-top:.5rem;
  }
  .reason .client_carousel{
    height:200px;
  }
  .reason .client_carousel::before{
    width:800%;
  }
}
/* end/reason */

/* problem */
.problem{
  padding:0;
}
.problem .tit{
  background-color:#f8f1fa;
  position:relative;
}
.problem .tit::after{
  position:absolute;
  content:"";
  border-top: 40px solid #f8f1fa;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid transparent;
  bottom:-80px;
  left:50%;
  margin-left:-40px;
  z-index:10;
}
.problem .tit h2{
  color:#239df1;
  text-align:center;
  font-size:3.5rem;
  font-weight:900;
  line-height:1.5;
  padding:.5em;
  letter-spacing:.1em;
}
.problem .inner{
  position:relative;
  height:482px;
}
.problem .inner .img{
  position:absolute;
  right: 50%;
  top:0;
  height:482px;
}
.problem .inner .img img{
  height:482px;
  width:auto;
  max-width:none;
}

.problem .inner .container{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
  height:482px;
}
.problem .inner .container .txt{
  width: 65%;
  background-color:rgba(255,255,255,.5);
  padding:3rem 2rem;
}
.problem .inner .container .txt .red li{
  font-size:1.75rem;
  font-weight:700;
  padding-left:3.5rem;
  margin-bottom:2.5rem;
}
.problem .inner .container .txt .red li:last-child{
  margin-bottom:0;
}
.problem .inner .container .txt .red li::before{
  content:url(../img/icon_check.svg);
  width:2.5rem;
}
.problem .support{
  font-size:3rem;
  text-align:center;
  font-weight:900;
  padding:1em 0;
  margin-bottom:0;
  letter-spacing:.1em;
  line-height:1.8;
}
.problem .support .point{
  color:#e00312;
  font-size:3.5rem;
  position:relative;
  display:inline-block;
}
.problem .support .point::before{
  content:"・・・・";
  position:absolute;
  top:0;
  left:0;
  transform:translateY(-40%);
}
@media screen and (max-width: 1280px) {
  .problem .tit h2{
    font-size:3rem;
  }
  .problem .inner{
    position:relative;
    height:382px;
  }
  .problem .inner .img{
    position:absolute;
    right: auto;
    left:-140px;
    height:382px;
  }
  .problem .inner .img img{
    height:382px;
  }
  .problem .inner .container{
    height:382px;
  }
  .problem .inner .container .txt{
    width: 60%;
  }
  .problem .inner .container .txt .red li{
    font-size:1.5rem;
  }
  .problem .support{
    font-size:2.5rem;
  }
  .problem .support .point{
    font-size:3rem;
  }
}
@media screen and (max-width: 960px) {
  .problem .tit h2{
    font-size:2.4rem;
  }
  .problem .tit::after{
    border-top: 26px solid #f8f1fa;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  .problem .inner{
    position:relative;
    height:382px;
  }
  .problem .inner .img{
    position:absolute;
    right: auto;
    left:-140px;
    height:340px;
  }
  .problem .inner .img img{
    height:340px;
  }
  .problem .inner .container{
    height:340px;
  }
  .problem .inner .container .txt{
    width: 60%;
    padding:2rem 1rem;
  }
  .problem .inner .container .txt .red li{
    font-size:1.4rem;
    margin-bottom:2rem;
    padding-left:2.5rem;
  }
  .problem .inner .container .txt .red li::before{
    width:2rem;
    top:.3rem;
  }
  .problem .support{
    font-size:2rem;
  }
  .problem .support .point{
    font-size:3rem;
  }
}
@media screen and (max-width: 640px) {
  .problem .tit h2{
    font-size:6vw;
  }
  .problem .inner{
    position:relative;
    overflow:hidden;
    height:382px;
  }
  .problem .inner .img{
    position:absolute;
    right: auto;
    left:-140px;
    height:300px;
  }
  .problem .inner .img img{
    height:382px;
  }
  .problem .inner .container{
    height:382px;
  }
  .problem .inner .container .txt{
    width: 100%;
    padding:2rem 1rem;
  }
  .problem .inner .container .txt .red li{
    font-size:1.4rem;
  }
  .problem .support{
    font-size:6vw;
  }
  .problem .support .point{
    font-size:1.4em;
  }
}
/* end/problem */

/* staff */
.staff{
  padding:0;
  background-color:#e0f2fb;
}
.staff .tit{
  background-color:#a0e2ff;
  position:relative;
  margin-bottom:4rem;
}
.staff .tit::after{
  position:absolute;
  content:"";
  border-top: 40px solid #a0e2ff;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid transparent;
  bottom:-80px;
  left:50%;
  margin-left:-40px;
  z-index:10;
}
.staff .tit h2{
  color:#1e225e;
  text-align:center;
  font-size:3.5rem;
  font-weight:900;
  line-height:1.5;
  padding:.5em;
  letter-spacing:.1em;
}
.staff .staff_area{
  padding-bottom:4rem;
}
.staff .staff_area h3{
  background-color:#1e225e;
  color:#fff;
  font-size:1.5rem;
  font-weight:700;
  padding:.5rem 1rem;
  margin:2rem 0 1.5rem;
}
.staff .staff_area h3:nth-of-type(2){background-color:#239df1;}
.staff .staff_area h3:nth-of-type(3){background-color:#ff9200;}
.staff .staff_area ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin-right:-1.5rem;
}
.staff .staff_area ul li{
  padding-right:1.5rem;
  width:25%;
  margin-bottom:1.5rem;
}
.staff .staff_area ul li .inner{
  background-color:#fff;
  height:100%;
  display:block;
  text-decoration:none;
  color:inherit;
  padding:0 1rem 1rem;
  transition:.2s;
}
.staff .staff_area ul li .inner:hover{
  box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.1);
  transform:translateY(-10px);
}
.staff .staff_area ul li .inner .img{
  margin:0 -1rem;
}
.staff .staff_area ul li .inner h4{
  font-weight:700;
  font-size:1.15rem;
  margin-top:1rem;
}
.staff .staff_area ul li .inner .position{
  color:#1e225e;
  font-weight:700;
}
.staff .staff_area ul:nth-of-type(2) li .inner .position{color:#239df1;}
.staff .staff_area ul:nth-of-type(3) li .inner .position{color:#ff9200;}

.onayami{
  background-color:#f5fbff;
  padding:4rem 0;
  position:relative;
}
.onayami::after{
  position:absolute;
  content:"";
  border-top: 70px solid #f5fbff;
  border-right: 200px solid transparent;
  border-bottom: 200px solid transparent;
  border-left: 200px solid transparent;
  bottom:-270px;
  left:50%;
  margin-left:-200px;
}
.onayami h2{
  position:absolute;
  width:100%;
  top:0;
  left:0;
  transform:translateY(-20%);
}
.onayami ul{
  position:relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
  margin-top:7rem;
}
.onayami ul li:first-child{
  position:absolute;
  top:0;
  left:0;
  z-index:10;
}
.onayami ul li:nth-child(2){
  position:absolute;
  top:0;
  left:28%;
}
.onayami_bottom{
  padding:6rem 0 0;
  background-color:#fff;
}
.onayami_bottom .container{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.onayami_bottom .container p{
  width:calc(50% - .5rem);
  font-size:2.5rem;
  font-weight:900;
  line-height:2;
}
.onayami_bottom .container p .point{
  color:#e00312;
  font-size:3rem;
  position:relative;
  display:inline-block;
}
.onayami_bottom .container p .point::before{
  content:"・・・・";
  position:absolute;
  top:0;
  left:0;
  transform:translateY(-41%);
}

.onayami_bottom .container .img{
  width:calc(50% - .5rem);
}
@media screen and (max-width: 1280px) {
  .staff .tit h2{
    font-size:3rem;
  }
  .onayami::after{
    border-top: 50px solid #f5fbff;
    border-right: 160px solid transparent;
    border-bottom: 160px solid transparent;
    border-left: 160px solid transparent;
    bottom:-210px;
    margin-left:-160px;
  }
  .onayami h2 img{
    width:560px;
  }
  .onayami ul{
    margin-top:5rem;
  }
  .onayami ul li:first-child{
    width:300px;
  }
  .onayami ul li:nth-child(2){
    position:absolute;
    top:0;
    left:28%;
    width:283px;
  }
  .onayami ul li:nth-child(3) img{
    width:420px;
  }
  .onayami_bottom{
    padding:6rem 0 0;
    background-color:#fff;
  }
  .onayami_bottom .container p{
    font-size:2.25rem;
  }
  .onayami_bottom .container p .point{
    font-size:2.75rem;
  }
}
@media screen and (max-width: 960px) {
  .staff .tit h2{
    font-size:2.4rem;
  }
  .staff .tit::after{
    border-top: 26px solid #a0e2ff;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  .staff .staff_area ul{
    margin-right:0;
    justify-content:space-around;
  }
  .staff .staff_area ul li{
    padding-right:0;
    width:40%;
    margin-bottom:2rem;
  }
  .onayami{
    padding-bottom:2rem;
  }
  .onayami h2 img{
    width:460px;
  }
  .onayami ul{
    margin-top:3rem;
  }
  .onayami ul li:first-child{
    width:220px;
  }
  .onayami ul li:nth-child(2){
    position:absolute;
    top:0;
    left:28%;
    width:200px;
  }
  .onayami ul li:nth-child(3) img{
    width:300px;
  }
  .onayami_bottom{
    padding:4rem 0 0;
  }
  .onayami_bottom .container p{
    font-size:1.7rem;
  }
  .onayami_bottom .container p .point{
    font-size:2rem;
  }
}
@media screen and (max-width: 640px) {
  .staff .tit h2{
    font-size:4.6vw;
    padding:1.5em 0;
  }
  .staff .staff_area h3{
    font-size:1.1rem;
  }
  .staff .staff_area ul{
    margin-right:0;
    justify-content:space-between;
  }
  .staff .staff_area ul li{
    padding-right:0;
    width:calc(50% - .5rem);
    margin-bottom:1rem;
  }
  .staff .staff_area ul li .inner{
    padding:0 .5rem .5rem;
  }
  .staff .staff_area ul li .inner .img{
    margin:0 -0.5rem;
  }
  .staff .staff_area ul li .inner h4{
    margin-top:.5rem;
  }
  .onayami{
    padding-bottom:2rem;
  }
  .onayami h2{
    padding:0 1rem;
  }
  .onayami ul{
    margin-top:3rem;
  }
  .onayami ul li:first-child{
    width:50vw;
  }
  .onayami ul li:nth-child(2){
    position:absolute;
    top:0;
    left:45%;
    width:50vw;
  }
  .onayami ul li:nth-child(3) img{
    width:70vw;
    padding-top:49vw;
    position:relative;
    left:-24%;
  }
  .onayami_bottom{
    padding:4rem 0 0;
  }
  .onayami_bottom .container p{
    font-size:1.7rem;
  }
  .onayami_bottom .container p .point{
    font-size:2rem;
  }
  .onayami_bottom .container p{
    width:100%;
    font-size:6vw;
    font-weight:900;
    line-height:2em;
    text-align:center;
  }
  .onayami_bottom .container p .point{
    font-size:1.4em;
  }
  .onayami_bottom .container p .point::before{
    transform:translateY(-56%);
  }
  .onayami_bottom .container .img{
    width:100%;
  }
}
/* end/staff */

/* faq */
.faq h2{
  text-align:center;
  font-size:2rem;
  margin-bottom:2.5rem;
}
.faq h2 small{
  display:block;
  font-size:1.25rem;
  color:#023894;
}
.faq_list{
  margin:4rem auto;
  max-width:1000px;
}
.faq_list .answer{
  display:none;
}
.faq_list ul{
  border-top:1px solid #ddd;
}
.faq_list li{
  border-bottom:1px solid #ddd;
  margin:0;
  position:relative;
}
.faq_list li::before,
.faq_list li::after {
	position: absolute;
	background-color: #f98625;
	content: '';
}

.faq_list li::before {
	top: 2.9rem;
	right: 22px;
	width: 18px;
	height: 2px;
	-webkit-transition: all .3s;
	        transition: all .3s;
}
.faq_list li::after {
	top: 2.4rem;
	right: 30px;
	width: 2px;
	height: 18px;
	-webkit-transition: all .3s;
	        transition: all .3s;
}
.faq_list li.open::before {
	background-color: #151515;
}

.faq_list li.open::after {
	background-color: #151515;
	-webkit-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}
.faq_list li h3.question{
  font-weight:700;
  font-size:1.3rem;
  padding-left:2.2rem;
  position:relative;
  padding:2rem 3.5rem 2rem 4rem;
  z-index:10;
  cursor:pointer;
  transition:.2s;
  color:#1e225e;
}
.faq_list li h3.question:hover{
  color:#fb9004;
}
.faq_list li h3.question::before{
  content:"Q";
  font-size:2rem;
  position:absolute;
  top:1.25rem;
  left:2rem;
}
.faq_list li .answer{
  font-size:1.15rem;
  padding-left:2.2rem;
  position:relative;
  padding:0 2rem 2rem 4rem;
}
.faq_list li .answer::before{
  content:"A";
  font-size:2rem;
  position:absolute;
  top:-.75rem;
  left:2.1rem;
  color:#fb9004;
}
.faq .more{
  text-align:center;
}
@media screen and (max-width: 1280px) {
  .faq .tit h2{
    font-size:3rem;
  }
  .faq_list li::before {
      top: 2.9rem;
  }
  .faq_list li::after {
      top: 2.35rem;
  }
}
@media screen and (max-width: 960px) {
  .faq .tit h2{
    font-size:2.4rem;
  }
  .faq .tit::after{
    border-top: 26px solid #f8f1fa;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  .faq_list li::before {
      top: 2.9rem;
  }
  .faq_list li::after {
      top: 2.35rem;
  }
}
@media screen and (max-width: 640px) {
  .faq .tit h2{
    font-size:6vw;
  }
  .faq_list li::before {
      top: 1.9rem;
      right: 10px;
  }
  .faq_list li::after {
      top: 1.3rem;
      right:18px;
  }
  .faq_list li h3.question{
    font-weight:700;
    font-size:1.2rem;
    padding:1rem 3.5rem 1rem 1.75rem;
    z-index:10;
    cursor:pointer;
    transition:.2s;
    color:#1e225e;
  }
  .faq_list li h3.question::before{
    content:"Q";
    font-size:1.5rem;
    position:absolute;
    top:.75rem;
    left:0;
  }
  .faq_list li .answer{
    font-size:1.15rem;
    padding-left:2.2rem;
    position:relative;
    padding:0 2rem 1rem 1.75rem;
  }
  .faq_list li .answer::before{
    content:"A";
    font-size:1.5rem;
    position:absolute;
    top:-.25rem;
    left:0.2rem;
    color:#fb9004;
  }

}
/* end/problem */


/* column_sec */
.column_sec{
  padding-top:0;
  background-color:#e9eff9;
}
.column_sec .tit{
  background-color:#1e225e;
  position:relative;
  margin-bottom:4rem;
}
.column_sec .tit::after{
  position:absolute;
  content:"";
  border-top: 40px solid #1e225e;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid transparent;
  bottom:-80px;
  left:50%;
  margin-left:-40px;
  z-index:10;
}
.column_sec .tit h2{
  color:#fff;
  text-align:center;
  font-size:3.5rem;
  font-weight:900;
  line-height:1.5;
  padding:.5em;
  letter-spacing:.1em;
}
.column_sec h3{
  text-align:center;
  font-size:2rem;
  margin-bottom:2.5rem;
}
.column_sec h3 small{
  display:block;
  font-size:1.25rem;
  color:#023894;
}
.column_sec .columns_area{
  background-color:#fff;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.column_sec .columns_area.reverse{
  flex-direction:row-reverse;
}
.column_sec .columns_area .img{
  width:50%;
}
.column_sec .columns_area .txt{
  width:50%;
  padding:2rem;
}
.column_sec .columns_area .txt h4{
  font-size:1.4rem;
  font-weight:900;
  margin-bottom:.5rem;
}
.column_sec .columns_area .txt p{
  margin-bottom:1rem;
}
.column_sec .columns_area .txt .btn_area a{
  display:inline-block;
  background-color:#1e225e;
  color:#fff;
  padding:.5rem 3rem;
  border-radius:1.5rem;
  font-weight:500;
  text-decoration:none;
  transition:.4s;
}
.column_sec .columns_area .txt .btn_area a:hover{
  background-color:#259cf1;
}
@media screen and (max-width: 1280px) {
  .column_sec .tit h2{
    font-size:3rem;
  }
  .column_sec .columns_area .txt{
    width:50%;
    padding:1.5rem;
  }
}
@media screen and (max-width: 960px) {
  .column_sec .tit h2{
    font-size:2.3rem;
  }
  .column_sec .tit::after{
    border-top: 26px solid #161c61;
    border-right: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 26px solid transparent;
    bottom:-52px;
    margin-left:-26px;
  }
  .column_sec .inner{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content:         space-between;
  }
  .column_sec .columns_area{
    width:calc(50% - .5rem);
    margin-bottom:1rem;
    -webkit-align-items: stretch;
    align-items: stretch;
    flex-direction:column;
    position:relative;
    padding-bottom:3rem;
  }
  .column_sec .columns_area.reverse{
    flex-direction:column;
  }
  .column_sec .columns_area .img{
    width:100%;
  }
  .column_sec h3{
    font-size:1.5rem;
    margin-bottom:2rem;
  }
  .column_sec h3 small{
    font-size:0.8em;
  }
  .column_sec .columns_area .txt{
    width:100%;
    padding:1rem;
  }
  .column_sec .columns_area .txt h4{
    font-size:1.25rem;
    font-weight:700;
  }
  .column_sec .columns_area .txt .btn_area a{
    display:block;
    text-align:center;
    position:absolute;
    bottom:1.5rem;
    left:1rem;
    width:calc(100% - 2rem);
  }
}
@media screen and (max-width: 640px) {
  .column_sec .tit h2{
    font-size:4.4vw;
    padding:1.5em 0;
  }
  .column_sec .columns_area{
    width:100%;
    margin-bottom:1.5rem;
  }
}
/* end/column_sec */

/* message */
.message{
  background:url(../img/message_img001.jpg) no-repeat top center / cover #f4f5f7;
  padding:0;
  height:741px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.message .inner{
  width:52%;
  background-color:rgba(255,255,255,.5);
  padding:3rem 2rem;
}
.message .inner h2{
  color:#1e225e;
  font-weight:900;
  font-size:2.2rem;
  margin-bottom:1em;
}
.message .inner p{
  font-size:1.3rem;
  line-height:2;
}
@media screen and (max-width: 1280px) {
  .message{
    background:url(../img/message_img001.jpg) no-repeat top right -190px / cover #f4f5f7;
    height:550px;
  }
  .message .inner{
    width:56%;
    background-color:rgba(255,255,255,.5);
  }
}
@media screen and (max-width: 960px) {
  .message{
    background:url(../img/message_img001.jpg) no-repeat top right -220px / cover #f4f5f7;
    height:550px;
  }
  .message .inner{
    width:56%;
    background-color:rgba(255,255,255,.5);
  }
  .message .inner h2{
    font-size:1.5rem;
    margin-bottom:1em;
  }
  .message .inner p{
    font-size:1.1rem;
    line-height:2;
  }
}
@media screen and (max-width: 960px) {
  .message{
    background:url(../img/message_img001.jpg) no-repeat top right -220px / cover #f4f5f7;
    height:550px;
  }
  .message .inner{
    width:100%;
    background-color:rgba(255,255,255,.6);
  }
  .message .inner h2{
    font-size:1.5rem;
    margin-bottom:1em;
  }
  .message .inner p{
    font-size:1.1rem;
    line-height:2;
  }
}
/* end/message */

/* form */
.form{
	padding: 4rem 0;
}

#contact_form .input_item dl {
    width:100%;
    background: #3cb9eb;
    border: 1px solid #3cb9eb;
    border-top: none;
}

#contact_form .input_item dl dt {
	color:#fff;
    float: left;
    line-height: 30px;
    height: 30px;
    padding: 30px 0 0px 30px;
}

#contact_form .input_item dl dt span {
    font-size: 14px;
    margin: 0 10px 0 0;
    display: inline;
    line-height: 20px;
    padding: 3px 10px;
    color: #ffffff;
    height: 18px;
    border-radius: 4px;
}
.form-text{
  position:relative;
}
.form_tel {
    position: absolute;
    top: 80px;
    font-size: 380%;
    font-weight: bold;
    left: 100px;
}
#contact_form .input_item dl dt span.req {
    background: #e93f23;
}
#contact_form .input_item dl dt span.req02 {
    background: #333;
}

#contact_form .input_item dl dt span.any {
    background: #cccccc;
}

#contact_form .input_item dl dd {
    background: #fff;
    border-left: 1px solid #fff;
    border-top: 1px solid #3cb9eb;
    margin-left: 27%;
    padding: 40px 0 40px 10px;
}

#contact_form .input_item dl dd li {
    display: inline-block;
    margin: 0 15px 0 0;
    line-height: 30px;
    height: 30px;
    padding: 3px 0;
}

#contact_form .input_item dl dd p.mail_caution {
    font-size: 16px;
    line-height: 19px;
    color: #313131;
    margin: 5px 0 0 0;
}

#contact_form .input_item dl dd input[type="text"],
#contact_form .input_item dl dd input[type="number"],
#contact_form .input_item dl dd input[type="email"],
#contact_form .input_item dl dd input[type="tel"]{
    width:80%;
    font-size: 1.2rem;
    height:38px;
    padding: 3px 0 3px 10px;
    margin:0;
    border:1px solid #ddd;
    border-radius:5px;
}
#contact_form .input_item dl dd input:focus{
  outline:none;
  border:1px solid #fb9004;
}
#contact_form .input_item .transmission .btn_submit{
    border: 3px double #FFFFFF;
    background: #e93f23;
    text-shadow: none;
    color: #ffffff;
    width:60%;
    padding: 30px 0;
    margin: 25px 0;
    display: block;
    opacity: 1.0;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    margin: 0 auto;
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
    font-size:1.8rem;
}

#contact_form .input_item .transmission .btn_submit:hover{
    background-color:#fb9004;
}

#contact_form .input_item dl dd input[type="text"].inp_error,
#contact_form .input_item dl dd input[type="number"].inp_error,
#contact_form .input_item dl dd input[type="tel"].inp_error,
#contact_form .input_item dl dd textarea.inp_error {
    border: 1px solid #F88A8A;
    background: #F4D4D4;
}

#contact_form .input_item dl dd textarea {
    width: 80%;
    padding: 10px 3px 10px 10px;
    border:1px solid #ddd;
  border-radius:5px;
    font-size:1.2rem;
}
#contact_form .input_item dl dd textarea:focus{
  border-color:#fb9004;
  outline:none;
}
#contact_form .input_item dl dd small{
  font-size:1rem;
}
#energy_contact #send_status{
    padding: 5px 0 25px;
    text-align: center;
}
.cp_ipselect {
	overflow: hidden;
	width: 90%;
	/* margin: 2em auto; */
	text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 1.2em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}
span.error_m {
    font-size: 15px;
    font-weight: normal;
    color: #FF4040;
    display: block;
    margin: 0;
}
form dt {
    border-top: 1px solid #fff;
    clear: left;
    float: left;
    width: 27%;
    font-weight: normal !important;
    padding-left: 30px;
    font-size: 1.125rem;
    padding-top: 10px;
}
.policy{
  margin-top:1rem;
}
.policy a{
  margin:.5rem;
}
@media (max-width:768px) {
  .form{
      padding-top: 70px;
      padding-bottom: 50px;
      font-size: 14px;
      }
  .form .title img{
      width: 50%;
  }
  #contact_form .input_item dl dt {
      line-height: 30px;
      height: 10px;
      padding: 10px 0 5px 10px;
      width: 40%;
  }
  form dt {
      font-weight: normal !important;
      /* font-size: 12px; */
  }
  #contact_form .input_item dl dt span {
      font-size: 12px;
  }
  #contact_form .input_item dl dd {
      margin-left: 40%
  }
  #contact_form .input_item dl dd input[type="text"],
  #contact_form .input_item dl dd input[type="number"],
  #contact_form .input_item dl dd input[type="email"],
  #contact_form .input_item dl dd input[type="tel"]{
      width:80%;

      height:30px;
      padding: 3px 0 3px 10px;
      margin:0;
  }
  #contact_form .input_item dl dd textarea {
      width: 95%;
  }
  #contact_form .input_item .transmission .btn_submit{
      font-size: 18px;
      padding: 13px 0;
      width:11em;
  }
}

/* content08 */
#content08 {
	padding: 70px 0 160px;
	background-image: url(../images/company_bg.jpg) ;
	background-size: cover;
}
.form-table {
  width: 100%;
}
.form-table th, .form-table td {
    border: 1px solid #ffffff;
    padding: 10px;
	background-color:rgba(255,255,255,0.8);
	color: #3d3d3d;
    vertical-align: middle;
}
.form-table th {
	background-color:rgba(60,185,235,0.8);
    color: #fff;
    position: relative;
    text-align: left;
    width: 200px;
    font-weight: 500;
    vertical-align: middle;
    text-align: center;
    height: 100px;
    }
@media (max-width:768px) {
#content08 .title img{
	width: 15%;
}
}
@media (max-width:767px) {


.form-table th {
    width: 100px;
    height: 100px;
    font-size: 16px;
}
.form-table th, .form-table td {
	font-size: 16px;
}
}

.form {
  color: #171c60;
}
.form .title {
  margin-bottom: 20px;
}
.form .title p {
  font-size: 2.4rem;
  position: relative;
  text-align: center;
  color: #171c60;
}
.form .title p span {
  position: absolute;
  top: -32px;
  font-size: 1.4rem;
  font-weight: normal;
  left: calc(50% - 32px);
}
.form .text-center {
  text-align: center;
}
.form .pb-20 {
 padding-bottom: 20px;
}
.visible-sm, .visible-md, .visible-lg {
    display: none!important;
}
.form span.lightorange {
    color: #e93f23;
}
.form dl {
  margin-bottom: 2rem;
}
.cf::before, .cf::after {
    display: table;
    clear: both;
    content: '';
}
.cf {
  display: flex;
  flex-wrap: wrap;
}
.col-xs-5 {
    width: 41.66666667%;
}
.col-xs-6 {
    width: 50%;
}
input {
  font-size: 1.2rem;
  color: #171c60;
}
select {
  font-size: 1.2rem;
  color: #171c60;
}
label {
  font-size: 1.3rem;
  color: #171c60;
  margin-right:1rem;
}
/*RadioとText*/
label.radio {
	cursor       : pointer;
	position     : relative;
	margin-right : 0.5rem;
	overflow     : hidden;
	padding-left : 25px;
	display      : inline-block;
	line-height:24px;
	font-size:1.1rem;
}
label.radio:before {
	position      : absolute;
	width         : 20px;
	height        : 20px;
	border        : 1px solid #666;
	border-radius : 50%;
	left          : 0px;
	top           : 3px;
	content       : '';
	z-index       : 3;
}
label.radio:after {
	content          : '';
	position         : absolute;
	width            : 12px;
	height           : 12px;
	border-radius    : 100%;
	left             : 4px;
	top              : 7px;
	background-color: #1e225e;
	z-index          : 1;
}
label.radio input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	z-index    : 2;
	width      : 20px;
	height     : 20px;
	left       : -23px;
	top        : 1px;
	margin     : 0px;
	box-shadow : 20px -1px #FFF;
}
label.radio input[type="radio"]:checked {
	box-shadow : none;
}
label.radio input[type="radio"]:focus {
	opacity    : 0.2;
	box-shadow : 20px -1px #FFF;
}
@media (min-width: 768px) {
  .col-sm-3 {
      width: 25%;
  }
}

@media (max-width: 767px) {
  .form .title p {
    font-size: 2rem;
  }
  input {
    font-size: 1rem;
  }
  select {
    font-size: 1rem;
  }
  label {
    /* font-size: 1rem; */
  }
  .visible-xs {
      display: block!important;
  }
  select {
    font-size: 1.1rem;
    color: #171c60;
  }
  .pl-xs-5 {
    padding-left: 15px !important;
  }
}
@media screen and (max-width: 960px) {
  #contact_form .input_item dl dt {
      color:#fff;
      float: left;
      line-height: 30px;
      height:auto;
      padding:1rem;
  }
}
@media (max-width: 640px) {
  #contact_form .input_item dl dt{
    float:none;
    width:100%;
    height:auto;
    padding:.5rem 1rem;
  }
  #contact_form .input_item dl dt br{
    display:none!important;
  }
  #contact_form .input_item dl dd{
    float:none;
    width:100%;
    margin:0;
    padding:1rem;
  }
  #contact_form .input_item dl dd input[type="text"], #contact_form .input_item dl dd input[type="number"], #contact_form .input_item dl dd input[type="email"], #contact_form .input_item dl dd input[type="tel"]{
    width:100%;
  }
  #contact_form .input_item dl dd textarea{
    width:100%;
    padding:.5rem 1rem;
  }
}
.formError + input{
  background-color:#ffe5e5;
}

/* Z-INDEX */
 .formError { z-index: 990; }
    .formError .formErrorContent { z-index: 991; }
    .formError .formErrorArrow { z-index: 996; }

    .ui-dialog .formError { z-index: 5000; }
    .ui-dialog .formError .formErrorContent { z-index: 5001; }
    .ui-dialog .formError .formErrorArrow { z-index: 5006; }




.inputContainer {
	position: relative;
	float: left;
}

.formError {
	position: absolute;
	top: 300px;
	left: 300px;
	display: block;
	cursor: pointer;
	text-align: left;
}

.formError.inline {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
}

.ajaxSubmit {
	padding: 20px;
	background: #55ea55;
	border: 1px solid #999;
	display: none;
}

.formError .formErrorContent {
	width: 100%;
	background: #ee0101;
	position:relative;
	color: #fff;
	min-width: 120px;
	font-size: 11px;
	padding: 4px 10px 4px 10px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
}

.formError.inline .formErrorContent {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
}

.greenPopup .formErrorContent {
	background: #33be40;
}

.blackPopup .formErrorContent {
	background: #393939;
	color: #FFF;
}

.formError .formErrorArrow {
	width: 15px;
	margin: -2px 0 0 13px;
	position:relative;
}
body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
	margin: -2px 13px 0 0;
}

.formError .formErrorArrowBottom {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	margin: 0px 0 0 12px;
	top:2px;
}

.formError .formErrorArrow {
	font-size: 0px;
	height: 1px;
	border-top: 7px solid #f02323;
	border-right: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid transparent;
	margin: 0 0 0 1rem;
	line-height: 0;
	font-size: 0;
	display: block;
}

.formError .formErrorArrowBottom div {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
}

.greenPopup .formErrorArrow div {
	background: #33be40;
}

.blackPopup .formErrorArrow div {
	background: #393939;
	color: #FFF;
}


/* end/form */


/* footer */
footer {

}
footer.footer {
  padding: 0;
  background: #303030;
}
footer .fotter-inner {
  padding: 4rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  color: #fff;
}
footer .fotter-inner h3 {
  font-size: 1.6rem;
  margin-bottom: 30px;
  position: relative;
  letter-spacing: 3px;
}
footer .fotter-inner h3:after {
  position: absolute;
  content: "";
  left: 130px;
  top: 50%;
  background: #fff;
  width: 100px;
  height: 1px
}
footer .footer-company {
  width: 48%
}
footer .footer-company dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 1.2rem;
  margin-bottom: 25px;
  line-height: 1.75;
}
footer .footer-company dt {
  width: 7rem;
}
footer .footer-company dd {
  width: calc(100% - 7rem);
}
footer .footer-access {
  width: 48%
}
footer .from-station {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
footer .map {
  margin-bottom: 20px;
}
footer .map iframe {
  height: 350px
}
footer .from-station .from-station-text {
  width: 60%;
  letter-spacing: 2px;
}
footer .from-station  .from-station-button {
  width: 40%;
}
footer .from-station  .from-station-button p {
  text-align: right;
}
footer .more {
  padding: 10px 20px;
  border: solid 1px #fff;
  display: inline-block;
  color: #fff;
  letter-spacing: 3px;
  position: relative;
  text-decoration: none;
}
footer .more:hover {
  background: #fff;
  content: "";
  transition: .4s;
  color: #303030;
}
footer .footer-company .more {
  margin-top: 10px
}
footer .from-station .from-station-button {
  position: relative;
}
footer .from-station .more {
  margin: auto;
  right: 0;
}
footer .copyright {
  background: #fff;
  padding: 20px;
}
footer .copyright {
  text-align: center;
}

@media (max-width: 1199px) {

  footer .from-station .more {
    margin-left: 20px;
  }
  footer .from-station .from-station-text {
    width: 100%;
    margin-bottom: 20px;
  }
  footer .from-station .more {
    margin-left: 0;
  }
  footer .from-station  .from-station-button {
    width: 100%;
  }
  footer .from-station  .from-station-button p {
    text-align: left;
  }
}

@media (max-width: 767px) {
  footer .fotter-inner {
    padding: 4rem 0;
  }
  footer .footer-company {
    width: 100%;
    margin-bottom: 30px;
  }
  footer .footer-access {
    width: 100%;
  }
  footer .footer-company dl {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 640px) {
  footer .fotter-inner h3{
    font-size:1.2rem;
    margin-bottom:1rem;
  }
  footer .fotter-inner h3:after{
    left:90px;
  }
  footer .footer-company dl{
    font-size:1rem;
  }
  footer .map{
    margin-bottom:.5rem;
  }
  footer .copyright{
    font-size:.8rem;
  }
}
/* end/footer */


/* cookie */
.high-light {
  background: #D7F3FF;
}
.cookie {
  padding: 4%;
}
.cookie .container {
  /* padding: 50px; */
  max-width: 1300px;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
}


.cookie p {
    line-height: 1.75;
}

@media (max-width: 767px) {
  .cookie h2 {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  .cookie .container {
    padding: 10px;
  }
}
/* end/cookie */

/* online_page */
#online .teikei{
  margin-bottom:3rem;
}
#online .teikei h2.lead{
  font-size:2.5rem;
  font-weight:900;
  color:#171c5f;
  margin-bottom:1rem;
}
#online .teikei .teikei_item ul{
  padding-left:0.5rem;
}
#online .teikei .teikei_item ul li{
  list-style:none;
  font-size:1.2rem;
}
#online .support .lead{
  font-size:1.2rem;
}
#online .support .box{
  font-size:1.2rem;
}
#online .support .box + p{
  line-height:2;
  font-size:1.2rem;
}
#online .one_day.flow{
  background:none;
  padding:0;
}
#online .one_day ol > li:nth-child(even){
  flex-direction:row;
}
#online .one_day ol > li:last-child{
  border:none;
}
#online .highlight.flow{
  background-color:#f8f8f8;
  margin-bottom:0;
}
#online .faq_list{
  margin-bottom:0;
}
@media screen and (max-width: 960px) {
  #online .teikei .teikei_item .inner{
    flex-direction:column;
  }
  #online .teikei .teikei_item .inner .txt{
    margin-bottom:1rem;
  }
}
@media screen and (max-width: 640px) {
  #online .teikei h2.lead{
    font-size:2rem;
    line-height:1.5;
    font-weight:900;
    color:#171c5f;
    margin-bottom:1rem;
  }
}
/* end_online_page */

/* schedule */
#schedule .support{
  max-width:1000px;
  margin:0 auto 3rem;
}
#schedule .support ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin-right:-1rem;
}
#schedule .support ul li{
  width:calc(100% / 8);
  padding-right:1rem;
}
#schedule .support ul li .inner{
  background-color:#6dc8f2;
  color:#171c5f;
  writing-mode:vertical-rl;
  width:100%;
  height:19rem;
  padding:1rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-weight:700;
  font-size:1.3rem;
  border:4px double #fff;
}
#schedule .support ul li .inner .num{
  font-weight:900;
  font-size:2.5rem;
  margin-bottom:.5rem;
}
#schedule .one_day ol > li .txt .box{
  margin:1rem 0;
  padding:1rem 2rem;
}
#schedule .one_day ol > li .txt .box ul{
  padding:0;
  margin:0;
}
#schedule .one_day ol > li .txt .box ul li{
  margin:.5rem .75rem .5rem 0;
}
@media screen and (max-width: 640px) {
  #schedule .support ul li{
    width:25%;
    margin-bottom:1rem;
  }
  #schedule .support ul li .inner{
    width:100%;
    height:17rem;
    padding:.5rem 1rem;
    font-size:1.2rem;
  }
  #schedule .support ul li .inner .num{
    font-weight:900;
    font-size:2rem;
    margin-bottom:.5rem;
  }
  #schedule .one_day ol > li .txt .box{
    margin:1rem 0;
    padding:1rem;
  }
}

/* end/schedule */

/* advisory_service */
#advisory_service .tokucho ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content:         center;
}
#advisory_service .tokucho ul li{
  width:29%;
  margin: 2%;
  position:relative;
}
#advisory_service .tokucho ul li .num{
  position:absolute;
  left:0;
  top:0;
  background-color:#171c5f;
  width:1.5em;
  height:1.5em;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
  font-size:2rem;
  font-weight:900;
  color:#fff;
}
#advisory_service .tokucho ul li .txt{
  position:absolute;
  left:0;
  bottom:0;
  font-size:1rem;
  background-color:rgba(0,0,0,0.7);
  width:100%;
  color:#fff;
  padding:.5rem ;
  text-align:center;
}
@media screen and (max-width: 960px) {
  #advisory_service .tokucho ul li{
    width:46%;
    margin: 2%;
    position:relative;
  }
}
@media screen and (max-width: 640px) {
  #advisory_service .tokucho ul li{
    width:80%;
    margin: 1rem auto;
    position:relative;
  }
}
#advisory_service .columns_area{
  background-color:#fff;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#advisory_service .columns_area.reverse{
  flex-direction:row-reverse;
}
#advisory_service .columns_area .img{
  width:50%;
}
#advisory_service .columns_area .txt{
  width:50%;
  padding:2rem;
}
#advisory_service .columns_area .txt h4{
  font-size:1.4rem;
  font-weight:900;
  margin-bottom:.5rem;
}
#advisory_service .columns_area .txt p{
  margin-bottom:1rem;
}
#advisory_service .columns_area .txt .btn_area a{
  display:inline-block;
  background-color:#1e225e;
  color:#fff;
  padding:.5rem 3rem;
  border-radius:1.5rem;
  font-weight:500;
  text-decoration:none;
  transition:.4s;
}
#advisory_service .columns_area .txt .btn_area a:hover{
  background-color:#259cf1;
}
#advisory_service .one_day ol > li:nth-child(even){
  flex-direction:row;
}
#advisory_service .one_day ol > li .txt{
  width:100%;
  position:relative;
}
@media screen and (max-width: 1280px) {
  #advisory_service .columns_area .txt{
    width:50%;
    padding:1.5rem;
  }
}
@media screen and (max-width: 960px) {
  #advisory_service .inner{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content:         space-between;
  }
  #advisory_service .columns_area{
    width:calc(50% - .5rem);
    margin-bottom:1rem;
    -webkit-align-items: stretch;
    align-items: stretch;
    flex-direction:column;
    position:relative;
    padding-bottom:3rem;
  }
  #advisory_service .columns_area.reverse{
    flex-direction:column;
  }
  #advisory_service .columns_area .img{
    width:100%;
  }
  #advisory_service h3{
    font-size:1.5rem;
    margin-bottom:2rem;
  }
  #advisory_service h3 small{
    font-size:0.8em;
  }
  #advisory_service .columns_area .txt{
    width:100%;
    padding:1rem;
  }
  #advisory_service .columns_area .txt h4{
    font-size:1.25rem;
    font-weight:700;
  }
  #advisory_service .columns_area .txt .btn_area a{
    display:block;
    text-align:center;
    position:absolute;
    bottom:1.5rem;
    left:1rem;
    padding:.5rem;
    width:calc(100% - 2rem);
  }
}
@media screen and (max-width: 640px) {
  #advisory_service .columns_area{
    width:100%;
    margin-bottom:1.5rem;
  }
}
/* end/advisory_service */

/* joseikin */
#joseikin .joseikin_lead{
  font-weight:900;
  font-size:2rem;
  color:#171c5f;
  text-align:center;
  margin-bottom:1em;
}
#joseikin main .pc-text-center{
  font-size:1.2rem;
  line-height:2;
  margin-bottom:3rem;
}
.joseikin_list .item{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin-bottom:1.5rem;
  position:relative;
}
.joseikin_list .left{
  border:4px solid #ddd;
  background-color:#fff;
  width:calc(50% - 20px);
  padding:1rem;
  border-radius:5px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.joseikin_list .yajirushi{
  border-top: 20px solid #1e225e;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
  width:20px;
  position:absolute;
  left:50%;
  margin:-20px 0 0 -10px;
  top:50%;
  transform:rotate(-90deg);
}
.joseikin_list .right{
  background-color:#96deff;
  width:calc(50% - 20px);
  padding:1rem;
  border-radius:5px;
  color:#1e225e;
}
.joseikin_list .right h3{
  font-size:1.1rem;
  font-weight:700;
}
.joseikin_list .right p{
  font-size: 2rem;
  color:#e20000;
  font-weight:700;
  display:inline-block;
}
.joseikin_list .right p.hosoku{
  font-size:1rem;
  display:inline-block;
  color:#222;
}

@media screen and (max-width: 640px) {
  #joseikin .joseikin_lead{
    font-size:1.75rem;
    text-align:left;
  }
  .joseikin_list .left{
    border:2px solid #ddd;
    width:calc(50% - 10px);
    padding:.5rem;
  }
  .joseikin_list .yajirushi{
    border-top: 10px solid #1e225e;
    border-right: 20px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 20px solid transparent;
    width:10px;
    margin: -10px 0 0 -15px;
    top:50%;
  }
  .joseikin_list .right{
    width:calc(50% - 10px);
    padding:.5rem;
  }
  .joseikin_list .right h3{
    font-size:1rem;
  }
  .joseikin_list .right p{
    font-size:1.25rem;
  }
}

/* end/joseikin */

/* financing */
#financing .lead_area p{
  font-size:1.2rem;
  line-height:2;
}
#financing .lead_area p strong{
  font-size:1.2em;
  color:#fb9004;
}
#financing .main_contents table{
  table-layout:fixed;
}
#financing .main_contents table td{
  background-color:#fff;
  text-align:center;
}
.financing_list ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.financing_list ul li{
  width:calc(50% - .5rem);
  border:1px solid #eee;
  margin-bottom:1rem;
  background-color:#f8f8f8;
}
.financing_list ul li a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  padding:5px 24px 5px 5px;
  text-decoration:none;
  position:relative;
  transition:.2s;
}
.financing_list ul li a:hover{
  background-color:#cbefff;
}
.financing_list ul li a::before{
    width: 18px;
    height: 18px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #1e225e;
    position: absolute;
    top: 0;
    bottom: 0;
    right: .5rem;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.financing_list ul li a::after{
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 9px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.financing_list ul li a .img{
  width:100px;
}
.financing_list ul li a .txt{
  width:calc(100% - 108px);
}
.financing_list ul li a .txt h3{
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:.25em;
  color:#1e225e;
}
.financing_list ul li a .txt p{
  font-size:.88rem;
  color:#1f1f1f;
}
@media screen and (max-width: 640px) {
  .financing_list ul li{
    width:100%;
  }
  .financing_list ul li a .img{
    width:80px;
  }
  .financing_list ul li a .txt{
    width:calc(100% - 88px);
  }
}
@media screen and (max-width: 640px) {
  #financing .main_contents table th{
    padding:.5rem 3px;
    font-size:.8rem;
  }
  #financing .main_contents table td{
    padding:.5rem 3px;
    font-size:.8rem;
  }
}
.yushi_list{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin-top:2rem;
}
.yushi_list li{
  background-color:#8fd0ff;
  width:48%;
  text-align:center;
  padding:1rem;
  margin-bottom:1rem;
  border-radius:5px;
  font-size:1.3rem;
}
@media screen and (max-width: 960px) {
  .yushi_list li{
    font-size:1.1rem;
  }
}
@media screen and (max-width: 640px) {
  .yushi_list li{
    font-size:1rem;
  }
}
#financing .one_day.yushi ol > li:nth-child(even){
  flex-direction:row;
}
#financing .one_day.yushi ol > li .txt{
  width:calc(100% - 5rem);
  position:relative;
}
#financing .one_day.yushi ol > li .img{
  width:3rem;
  background-color:#299cf1;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content:         center;
}
#financing .one_day.yushi ol > li .img p{
  writing-mode:vertical-rl;
  font-size:1.2rem;
  font-weight:700;
  color:#fff;
  letter-spacing:.1em
}
.mt3{
  margin-top:3rem;
}
.mt0{
  margin-top:0!important;
}
.text-center {
  text-align: center;
}
.back-btn {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .table_scroll {
      overflow-x: scroll;
  }
}
.page-index04 .box p {
  margin-top: 1rem;
}
.page-index06 .box .check_list {
  margin-bottom: 1rem;
}
.page-company .map iframe {
  height: 400px;
}
/* end/financing */

/* simulation */
#simulation .teikei h2.lead{
  font-size:2.2rem;
  font-weight:900;
  color:#171c5f;
  margin-bottom:1rem;
}
#simulation .teikei p{
  font-size:1.1rem;
  line-height:2;
}
#simulation .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
#simulation .flex .left{
  width:calc(50% - 1rem);
}
#simulation .flex .right{
  width:calc(50% - 1rem);
}
#simulation .flex01{
  margin:3rem 0;
  -webkit-align-items: center;
  align-items: center;
}
#simulation .flex01 .sample{
  background-color:#ffffff;
  padding:1rem;
  font-size:1.2rem;
  font-weight:700;
  line-height:1.8;
  margin:0 auto;
  text-align:center;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  flex-direction:column;
  -webkit-justify-content: center;
  justify-content:         center;
}
#simulation .flex01 .sample h3{
  margin:0 0 1rem;
  background:none;
  padding:0;
  color:#259cf1;
}
#simulation .flex01 .sample ul li{
  margin-bottom:0;
  line-height:2;
  text-align:left;
}
#simulation .flex01 .sample ul.list li{
  padding-left:1.5rem;
}
#simulation .flex01 .sample ul.list li:before{
  top:.8em;
  width: 8px; /*点の幅*/
  height: 8px; /*点の高さ*/
  left:.15em;
}
#simulation .flex01 .sample ul{
  padding:0;
  margin-bottom:.5rem;
}
#simulation .flex01 .sample p{
  margin-bottom:0;
  padding:0;
  font-weight:normal;
}
@media screen and (max-width: 960px) {
  #simulation .flex .left{
    width:100%;
  }
  #simulation .flex .right{
    width:100%;
  }
}

@media screen and (max-width: 640px) {
  #simulation .teikei h2.lead{
    font-size:1.5rem;
    line-height:1.5;
    font-weight:900;
    color:#171c5f;
    margin-bottom:1rem;
  }
}
/* end/simulation */

/* fix_btn */
.fix_btn{
  width: 100%;
  position:fixed;
  bottom: 0;
  z-index: 1000;
}
.fix_btn ul{
  display: -webkit-flex;
  display: flex;
  list-style:none;
  margin:0;
  padding:0;
  height:80px;
}
.fix_btn li img{
	height:37px;
	display:block;
	margin:0 auto 2px;
}
.fix_btn a{
	width:100%;
	height:100%;
	display:block;
	padding:0;
	border-right:1px solid #fff;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content:         center;
    flex-direction:column;
    text-decoration:none;
}
.fix_btn li{
	width:33.3%;
	text-align:center;
	margin-bottom:0;
}
.fix_btn li:last-child{
	width:33.4%;
	background:#ff9200;
}
.fix_btn li:nth-child(2){
	background:#31ae36;
}
.fix_btn li:nth-child(2) img{
	border-radius:5px;
	border:1px solid #fff;
}
.fix_btn li:first-child{
	background-color:#1e225e;
}
.fix_btn li:last-child a{
	border:none;
}
.fix_btn a span{
	font-size:14px;
	color:#fff;
}
@media screen and (max-width: 640px) {
  .fix_btn ul{
    height:60px;
  }
  .fix_btn li img{
      height:28px;
      margin:0 auto 2px;
  }
  .fix_btn a span{
      font-size:12px;
  }
}


/* end/fix_btn */
