@charset "utf-8";
@import "html5reset-1.6.1.css";

/* ---------------------------------------------------------
common
----------------------------------------------------------*/
*{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html{
  font-size: 62.5%;/* 10px */
}
body{
  font-size: 1.4em;/* 16px */
  line-height: 1.8;
  letter-spacing: 0.3px;
  color: #4B4B4B;
  font-family: "游ゴシック Medium","游ゴシック体","Yu Gothic Medium",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",verdana,"メイリオ","Meiryo","Osaka",sans-serif;
  background: #fff;
}
#wrapper{
  width: 100%;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
a{
  color: #4B4B4B;
  text-decoration: none;
}
a[href*="tel:"] {
  color: #fff;
}

img{
  max-width: 100%
}
object{
  pointer-events: none;
}
.header_time_pc {
  display: none;
}
.pc_only{
  display: none!important;
}
.pagetop{
  width: 50px;
  height: 50px;
  background: #042575;
  border-radius: 50%;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 2000;
  text-align: center;
  color: #fff;
  /*display: flex;*/
  display: none;
  align-items: center;
  justify-content: center;
}
.mincho {
  font-family: "游明朝体", "yumincho", "游明朝", "yu mincho", "ヒラギノ明朝 pro", "hiragino mincho pro", "hgs明朝e", "ｍｓ ｐ明朝", "ms pmincho", serif;
}
.gothic {
  font-family: "游ゴシック Medium","游ゴシック体","Yu Gothic Medium",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",verdana,"メイリオ","Meiryo","Osaka",sans-serif;
}
.for_pc {
  display: none;
}
.for_sp {
  display: block;
}

/* ---------------------------------------------------------
header
----------------------------------------------------------*/
header{
  width: 100%;
  padding: 1.5rem 0 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8000;
  background: #fff;
}
.headerInner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.logo{
  margin: 0 0 0 1.5rem;
}
.logo img {
  width: 180px;
  display: block;
}

/* ---------------------------------------------------------
nav
----------------------------------------------------------*/
nav{
  padding: 2rem 1.5rem 10rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(255,255,255,0.9);
  display: none;
  overflow-x: auto;
}
nav.on{
  display: block;
}
nav .logo{
  width: calc(100% - 70px);
}
nav .gloval_nav li{
  margin: 2.5rem 0 0;
  color: #292929;
}
nav .gloval_nav li {
  font-size: 1.5rem;
  font-weight: bold;
  display: block;
  position: relative;
  padding: 0 0 0 2rem;
}
nav .foot_nav{
  margin: 3rem 0 0;
}
nav .foot_nav li a{
  font-size: 1.8rem;
  padding: 2rem 0;
}
.sp_nav_btn{
  margin: 0 1.5rem 0 0;
  width: 24px;
  height: 24px;
  position: relative;
  z-index: 9999;
  background: url("../images/sp_menu.svg") center top no-repeat;
}
.sp_nav_btn.active {
  background-image: url("../images/sp_menu_close.svg");
}
/* アコーディング */
.accordion-content {
  display: none;
  position: absolute;
}
.accordion-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .accordion-nav li {
  margin-top: 1.8rem;
}
/* ヘッダー下情報 */
.header_info {
  width: 100%;
  background-color: #042575;
  margin-top: 1.5rem;
  color: #fff;
  padding: .5rem 1.5rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
}
.header_tel {
  font-size: 1.6rem;
  margin-right: .5rem;
  letter-spacing: 1.2px;
}
.header_tel::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 600;
  content: "\f879";
  color: #fff;
  margin-right: 3px;
  font-size: 1.4rem;
}
.header_time {
  letter-spacing: 2px;
}

/* ---------------------------------------------------------
top
----------------------------------------------------------*/
/* first-view */
.firstView {
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-image: url(../images/first_view_sp.jpg);
  min-height: 35vh;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.firstView_jpText {
  width: 80%;
  text-align: center;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
  border-bottom: none;
}
.top_text1 {
  width: 85%;
}
.top_text2 {
  width: 90%;
}
.top_text3 {
  width: 80%;
}
.contentInner {
  padding: 2.8rem 0rem;
  width: 92%;
  margin: 0 auto;
}
.news .contentInner {
  border-bottom: 1px solid #6f7eac;
}

/* news */
.lead_title {
  display: inline-block;
  border-top: 1px solid #6f7eac;
  font-size: 2rem;
  padding-top: 1.6rem;
  padding-right: 3rem;
  letter-spacing: 2.4px;
  color: #042575;
  margin-bottom: 2.4rem;
  font-weight: normal;
}
.lead_day {
  letter-spacing: 1.4px;
  color: #4B4B4B;
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
}
.lead_text {
  margin-bottom: 5rem;
}
button.button,
input[type="submit"].button,
.button {
  text-align: center;
  font-size: 1.6rem;
  padding: 1.5rem;
  border: 1px solid #000;
  display: block;
}
.button-news {
  width: 280px;
  border-color: #8191B9;
  background: url("../images/button_item.png") right center no-repeat;
  background-size: 8px 16px;
  margin: 0 auto;
  color: #15347E;
}

/* message */
.heading {
  font-size: 2.2rem;
  color: #042575;
  letter-spacing: 1px;
  text-align: center;
  font-weight: normal;
}
.top .heading {
  margin-bottom: 3rem;
}
.heading.heading-design {
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
  position: relative;
  line-height: 1.4;
}
.heading.heading-design::after {
  content: '';
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 40px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #8191B9;
}
.heading span {
  display: block;
  font-size: 1.4rem;
}
.service .heading {
  margin-bottom: 3rem;
}
.subHeading {
  font-size: 1.8rem;
  color: #042575;
  text-align: center;
  font-weight: normal;
  margin-bottom: 1.5rem;
}
.detail .subHeading {
  font-weight: bold;
  line-height: 1.5;
}
.points_box .subHeading {
  font-size: 1.6rem;
}
.points_box.demerit .subHeading {
  color: #B50031;
}
.layoutRow {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  /*justify-content: space-between;*/
}
.layoutRow-item-s {
  width: 35%;
}
.layoutRow-item-m {
  padding-left: 2rem;
  width: 63%;
}
.layoutRow-item-l {
  width: 100%;
  margin-top: 2rem;
}
.sub-heading {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
}

/* サービス */
.service {
  /*background-color: #F5F5DC;*/
  background: url("../images/bg_service.png") left top repeat;
}
.layoutList li {
  border-top: 1px solid #6f7eac;
  padding-top: 2rem;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  position: relative;
}
.top .set_positon {
  position: absolute;
  bottom: 2.5rem;
  left: 0;
  right: 0;
}
/*.layoutList li:not(:last-child) {*/
.layoutList li{
  padding-bottom: 2.5rem;
}
.layoutList li img  {
  margin-bottom: 2rem;
}
.layoutList li .text {
  margin-bottom: 8rem;
  text-align: left;
}
button.button-details,
input[type="submit"].button-details,
.button-details {
  width: 280px;
  background: #5DB4EA 0% 0% no-repeat padding-box;
  border-radius: 100px;
  border: none;
  color: #fff;
  margin: 0 auto;
}
.form_wrapper input[type="submit"].button-details,
.form_wrapper .button-details {
  width: auto;
  padding: 1rem 3.5rem;
  /*font-size: 1.4rem;*/
  display: block;
}
input[type="submit"].button-details.button-back {
  background-color: #969696;
}

/* animation */
.fade_off {
  opacity: 0;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -o-transition: all 1s;
  -ms-transition: all 1s;
  transition: all 1s;
}
.fade_on {
  opacity: 1;
}

/* ---------------------------------------------------------
footer
----------------------------------------------------------*/
.footer_banners a {
  display: block;
  max-width: 330px;
  margin-left: auto;
  margin-right: auto;
}
.footer_banners img {
  display: block;
}
.footer_banners > *:not(:last-child) {
  margin-bottom: 1rem;
}
.footer_about {
  background: url("../images/bg_footer_sp.png") center top no-repeat;
  background-size: cover;
}
.footer .tel {
  background-color: #ECEFF7;
  display: block;
  padding: 3rem 2rem;
  text-align: center;
}
.tel_text {
  color: #042575;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-weight: bold;
  letter-spacing: 1px;
}
.tel_number {
  color: #E57474;
  font-size: 2.8rem;
  margin-bottom: 1rem;
  letter-spacing: 1px;
  position: relative;
  line-height: 1;
  display: inline-block;
  padding-left: 2rem;
}
.tel_number::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 600;
  content: "\f879";
  color: #E57474;
  font-size: 1.8rem;
  text-align: center;
  display: block;
  position: absolute;
  top: 5px;
  left: -5px;
}
.tel_time {
  color: #042575;
  letter-spacing: 2.5px;
  font-size: 1.2rem;
}
.footer .mail {
  margin-bottom: 1.5rem;
  background-color: #E57474;
  padding: 2.4rem 2rem;
  display: block;
  text-align: center;
}
.mail_text {
  color: #fff;
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  font-weight: bold;
}
.footer .mail img {
  max-width: 44px;
}
.footer .info {
 color: #042575;
}
.info_name {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.info_address {
font-size: 1.4rem;
}
#copyright{
  padding: 1rem 0;
  text-align: center;
  font-size: 1.2rem;
  color: #B9B9B9;
}
.logo a {
  display: block;
}
.accordion-content.open {
  display: block;
}
.accordion-content {
  display: block;
  position: static;
}
.error_msg {
  color: #f00;
}
.lead_newsTitle {
  font-weight: bold;
  font-size: 1.8rem;
  color: #042575;
  font-family: "游明朝体", "yumincho", "游明朝", "yu mincho", "ヒラギノ明朝 pro", "hiragino mincho pro", "hgs明朝e", "ｍｓ ｐ明朝", "ms pmincho", serif;
}
.top .text dl dt {
  font-size: 1.6rem;
  color: #042575;
}
.top .text > *:not(:last-child) {
  margin-bottom: 1.2rem;
}
.top .text dl dt,
.top .text dl dd,
.point {
  position: relative;
  padding-left: 1.8rem;
}
.top .text dl dt:before,
.point:before {
  background: #042575;
  content: "";
  height: 12px;
  width: 12px;
  left: 0;
  position: absolute;
  top: 8px;
}
.font_small {
  font-size: 1.5rem;
}



@media screen and (min-width:960px){
  .top .set_positon {
   bottom: 4rem;
  }
  .top .text dl dt {
    font-size: 1.8rem;
  }
  .top .text dl dt:before,
  .point:before {
    top: 10px;
  }
  .lead_newsTitle {
    font-size: 1.6rem;
  }
  .top_text1 {
    width: 100%;
    margin-right: 1.5rem;
  }
  .top_text2 {
    width: 100%;
  }
  .accordion-content {
    display: none;
    position: absolute;
  }
  .button {
    padding: 1rem;
  }
  body{
    font-size: 1.6em;/* 16px */
    /*line-height: 1.7;*/
    letter-spacing: 0.96px;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
  a:hover,
  input[type="submit"].button:hover {
    opacity: .5;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .sp_only{
    display: none;
  }
  .pc_only{
    display: block!important;
  }
  .pagetop:hover{
    /*background: #fbac91;*/
    opacity: .5;
    cursor: pointer;
  }
  .headerInner{
    max-width: 1360px;
    margin-right: auto;
    margin-left: auto;
  }
  .contentInner {
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
  }
  .contentInner {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .header_tel::before,
  a[href*="tel:"] {
    color: #292929;
  }
  .for_pc {
    display: block;
  }
  .for_sp {
    display: none;
  }
  /* top */
  .layoutList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .layoutList li {
    width: 420px;
  }
  .layoutList li:nth-child(odd) {
    margin-right: 6rem;
  }
  .layoutRow {
    display: block;
    overflow: hidden;
  }
  .layoutRow-item-s {
    width: 230px;
    float: left;
  }
  .layoutRow-item-m {
    width: calc( 100% - 270px );
    padding-left: 0;
    float: right;
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  .layoutRow-item-l {
    width: calc( 100% - 270px );
    margin-left: 270px;
    margin-top: 0;
  }
  .subHeading {
    font-size: 2.4rem;
  }
  .layoutList li:not(:last-child),
  .layoutList li {
    padding-bottom: 4rem;
  }
  .layoutList li .text {
    margin-bottom: 7.5rem;
  }

  /* ---------------------------------------------------------
  header
  ----------------------------------------------------------*/
  header{
    padding: 0;
    flex-wrap: wrap;
  }
  header:before {
    content: '';
    display: inline-block;
    background:#E0E0E0;
    height: 1px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 67px;
  }
  .logo {
    /*margin: 3rem 4rem;*/
    margin: 3rem 4rem 3rem 1rem;
  }
  .logo img {
    width: 342px;
  }
  .sp_nav_btn{
    display: none;
  }
  .header_tel::before {
    font-size: 2rem;
    margin-right: 5px;
  }
  .header_info {
    display: inline-block;
    width: 300px;
    text-align: right;
    background-color: transparent;
    color: #292929;
    padding: 0;
    /*margin: 3rem 4rem;*/
    margin: 3rem 1rem 3rem 4rem;
  }
  .header_time {
    font-size: 1.2rem;
  }
  .header_time_pc {
    display: inline-block;
  }
  .header_tel {
    font-size: 2.2rem;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .firstView_jpText {
    max-width: 920px;
    width: 100%;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #fff;
  }

  /* ---------------------------------------------------------
  nav
  ----------------------------------------------------------*/
  nav{
    width: 100%;
    height: auto;
    display: block!important;
    overflow-x: auto;
    background-color: transparent;
    position: static;
    padding: 2rem 0 2rem 4rem;
    /*border-top: solid 1px #E0E0E0;*/
  }
  nav .gloval_nav li>*:first-child {
    padding: 0;
  }
  nav .logo,
  nav .gloval_nav li a:before,
  nav .foot_nav{
    display: none;
  }
  nav .gloval_nav{
    display: flex;
    /*text-align: center;*/
  }
  nav .gloval_nav li {
    margin: 0 7rem 0 0;
    padding: 0;
    /*width: 5rem;*/
  }
  nav .accordion {
    font-size: 1.6rem;
    font-weight: bold;
  }
  nav .accordion:hover {
    cursor: pointer;
  }
  nav .gloval_nav li a{
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
    padding: 0;
    /*color: #fff;*/
    padding: 0;
    transition-duration: .5s;
  }
  nav .accordion-nav li {
    margin: 0;
    margin: 0 0 0 0;
    padding: 1rem 0 1rem 2rem;
    width: 20rem;
    background-color: #fff;
  }
  .accordion-nav li a {
    padding-left: 0;
  }
  .accordion_item {
    position: relative;
  }
  nav {
    overflow-x: visible;
  }
  .heading {
    font-size: 3rem;
  }
  .heading span {
    font-size: 1.6rem;
  }

  /* top */
  .firstView {
    min-height: 65vh;
    background-image: url("../images/first_view_pc.jpg");
    background-position: center center;
    flex-direction: column;
  }
  .news .contentInner {
    padding-top: 9rem;
    display: flex;
    justify-content: space-between;
  }
  .lead_title {
    width: 200px;
    padding-top: 2rem;
    font-size: 2.6rem;
  }
  .lead_day {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    font-weight: bold;
  }
  .lead_info {
    width: calc( 100% - 260px );
  }
  .lead_text {
    margin-bottom: 4.5rem;
  }
  .button-news {
    margin: 0 0 0 auto;
    width: 240px;
  }
  .button-details {
    width: 100%;
  }
  .service .contentInner {
    padding-bottom: 4rem;
  }
  .footer_banners {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
  }
  .footer_banners img {
    display: block;
  }
  .footer_banners a {
    margin: 0;
  }
  .footer_banners > *:not(:last-child) {
    margin: 0 45px 0 0;
  }
  .footer_inner {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  .footer_company {
    order: 0;
    min-width: 330px;
  }
  .footer_contact {
    order: 1;
    display: flex;
    width: calc(100% - 330px);
    justify-content: flex-end;
  }
  .footer .tel {
    width: 370px;
    padding-left: 0;
    padding-right: 0;
  }
  .footer .mail {
    width: 370px;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .mail_text {
    font-size: 1.8rem;
  }
  .info_name {
    font-size: 2.6rem;
    margin-bottom: 2rem;
  }
  .tel_text {
    font-size: 1.8rem;
  }
  .tel_number {
    /*font-size: 4.2rem;*/
    margin-bottom: 0;
  }
  #copyright {
    font-size: 1.4rem;
    padding: 2rem 0;
  }
  .top_text3 {
    width: 400px;
  }
  .points_box .subHeading {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  .form_wrapper input[type="submit"].button-details,
  .form_wrapper .button-details {
    width: 280px;
    padding: 1.5rem;
    font-size: 1.6rem;
  }
}