@charset "UTF-8";

/*
---------------------------------------------
共通設定
---------------------------------------------
*/

* {
  box-sizing: border-box;
}

body {
	color: #333;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	line-height: 1;
	margin: 0;
	font-size: 16px;
}

a {
  text-decoration: none;
  transition-duration: .5s;
}

a:hover {
  opacity: .7;
}

ol,ul,li {
  list-style: none;
}

img {
  max-width: 100%;
}

/*
---------------------------------------------
ヘルパー
---------------------------------------------
*/

.flex {
  display: flex;
	flex-wrap: wrap;
}

.flex-nowrap {
  display: flex;
}

.flex-end {
  display: flex;
  justify-content: flex-end;
}

.flex-between {
	display: flex;
  justify-content: space-between;
	flex-wrap: wrap;
}

.flex-start {
	display: flex;
  justify-content: flex-start;
	flex-wrap: wrap;
}

.flex-reverse {
	display: flex;
  flex-direction: row-reverse;
	flex-wrap: wrap;
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex-stretch {
	display: flex;
	justify-content: stretch;
}

.flex-column {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.flex-col-center {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.flex-col-end {
	display: flex;
	align-items: flex-end;
}

.text-center {
	text-align:center;
}

.text-right {
	text-align: right;
}

.font-normal {
	font-weight: normal;
}

.font-bold {
	font-weight: bold;
}

.pc {
	display:block;
}

.sp {
	display:none;
}

br.sp,
img.sp,
span.sp {
	display:none;
}

br.pc,
img.pc,
span.pc {
	display:inline;
}

.trantion {
  transition-duration: .5s;
}

@media screen and (max-width: 767px) {
	.sp-block {
		display: block;
	}

	.pc {
		display:none;
	}
	.sp {
		display:block;
	}

  br.sp,
  img.sp,
  span.sp {
		display:inline;
	}

  br.pc,
  img.pc,
  span.pc {
		display:none;
	}
}

/*
---------------------------------------------
共通項目
---------------------------------------------
*/

.contents-inner {
  margin: auto;
  max-width: 1200px;
}

.btn-y,
.btn-r {
  border-radius: 30px;
  color: #333;
  display: inline-block;
  line-height: 60px;
  text-align: center;
  width: 196px;
}

.btn-y {
  background: #fff100;
}

.btn-r {
  background: #f56570;
  color: white;
}

.btn-y i,
.btn-r i {
  margin-right: 7px;
}

@media screen and (max-width: 1080px) {
  .contents-inner {
    margin: auto;
    width: 90%;
  }
}

@media screen and (max-width: 767px) {
  .btn {
    width: 100%;
  }

  .inner-sp {
    margin: auto;
    width: 90%;
  }
}

@media screen and (max-width: 490px) {
  .btn.online::before {
    left: 17%;
  }

  .btn.insta::before {
    left: 26%;
  }
}

/*
---------------------------------------------
ヘッダー header
---------------------------------------------
*/

.header {
  background: white;
  position: fixed;
  width: 100%;
  z-index: 3;
}

.header .logo {
  margin-top: 13px;
  margin-bottom: 14px;
  margin-left: 30px;
  width: 297px;
}

.header .logo img {
  width: 100%;
}

.header .inner > div {
  margin-left: auto;
  margin-top: 13px;
  margin-right: 30px;
}

.header .list li:last-child {
  margin-left: 7px;
}

@media screen and (max-width: 1080px) {
  .header .inner > div {
    margin-right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .header .logo {
    margin-top: 9px;
    margin-bottom: 8px;
    margin-left: 16px;
    width: 171px;
  }
}


/*
---------------------------------------------
ハンバーガー
---------------------------------------------
*/

.menu {
	position: fixed;
  right: 0;
  top: 0;
  z-index: 12;
  background: #154285;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all 0.4s !important;
	box-sizing: border-box;
}

.menu-trigger {
  width: 50px;
	height: 50px;
  display: block;
}

.menu-trigger span {
	position: absolute;
	left: 0;
	width: 25px;
	height: 1px;
	background-color: white;
  border-radius: 3px;
  margin-left: 13px;
}

.menu-trigger span:nth-of-type(1) {
	top: 20px;
}

.menu-trigger span:nth-of-type(2) {
	top: 27px;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color:white;
	border-radius: 3px;
	transition: all 0.4s;
}

.menu-trigger.active span {
	background-color: #fff;
}

.menu-trigger.active span:nth-of-type(1) {
	transform: scale(0) translateY(20px);
	background-color: white;
}

.menu-trigger.active span:nth-of-type(2) {
	transform: rotate(-45deg);
	background-color: white;
}

.menu-trigger.active span:nth-of-type(2)::after {
	transform: rotate(90deg);
	background-color: white;
}

.menu-trigger.active span:nth-of-type(3) {
	transform: scale(0) translateY(-20px);
	background-color: white;
}

/*
---------------------------------------------
ドロワー
---------------------------------------------
*/

.drawer-sp {
  display: none;
  position: fixed;
  top: 50px;
  left: 0;
  height: 100%;
  width: 100%;
  background: #154285;
  z-index: 11;
  padding: 50px 20px 0;
}

.drawer-sp li {
  border-bottom: solid 1px white;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.drawer-sp li a {
  color: white;
}

.drawer-sp li i {
  display: inline-block;
  margin-left: auto;
}



/*
---------------------------------------------
メインコンテンツ main
---------------------------------------------
*/

.main  {
  padding-top: 85px;
}

@media screen and (max-width: 767px) {
  .main  {
    padding-top: 50px;
  }
}

/* ヒーロー _hero */

#home ._hero .top {
  position: relative;
  background: url("../images/hero-bg01.jpg") no-repeat center/cover;
  height: 650px;
}

#home ._hero .top .left {
  position: absolute;
  transform: skewX(15deg);
  background: rgba(21,66,133,.8);
  color: white;
  margin-left: -90px;
  padding: 45px 0 0 170px;
  height: 650px;
  width: 855px;
}

#home ._hero .top .left .inner {
  transform: skewX(-15deg);
}

#home ._hero .top .left .lead {
  font-size: 27px;
  text-shadow: 0 0 10px #154285;
}

#home ._hero .top .left .catch {
  font-size: 70px;
  font-weight: bold;
  line-height: 1.1;
  text-shadow: 0 0 10px #154285;
}

#home ._hero .top .left .catch span {
  color: #fff100;
  font-size: 100px;
}

#home ._hero .top .left .text {
  font-size: 36px;
  line-height: 1.2;
  margin-bottom: 10px;
}

#home ._hero .top .left .text span {
  color: #fff100;
  font-weight: bold;
  font-size: 50px;
}

#home ._hero .top .list li {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  width: 105px;
  height: 105px;
  background: #FFF100 url(../images/bg_top_circle.png) no-repeat center/110px;
  border-radius: 100px;
  margin-right: min(2vw,20px);
}

#home ._hero .top .list li p{
  font-size: 20px;
  color: #154285;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

#home ._hero .top .list li span.txt14{font-size: 0.7em; line-height: 1;}
#home ._hero .top .list li span.txt17{font-size: 0.85em; line-height: 1;}
#home ._hero .top .list li span.txt32{font-size: 1.6em; line-height: 1;}
#home ._hero .top .list li span.txt39{font-size: 1.95em; line-height: 1;}
#home ._hero .top .list li span.txt56{font-size: 2.8em; line-height: 1;}

#home ._hero .box {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: 330px;
  height: 300px;
}

#home ._hero .box::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background: url("../images/hero-bg02.png") no-repeat;
  width: 154px;
  height: 206px;
  z-index: 2;
}

#home ._hero .box a {
  position: absolute;
  top: 0;
  right: 0;
  background: #fff100;
  border-radius: 50%;
  color: #333;
  display: block;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.4;
  height: 225px;
  width: 225px;
  text-align: center;
  z-index: 1;
}

#home ._hero .box a i {
  display: block;
  margin-top: 30px;
  margin-bottom: 3px;
}

#home ._hero .bottom {
  position: relative;
  background: #e7ecf3;
  padding-top: 121px;
}

#home ._hero .bottom::after {
  position: absolute;
  bottom: -79px;
  right: 50%;
  transform: translateX(50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 79px 155px 0 155px;
  border-color: #e7ecf3 transparent transparent transparent;
}

#home ._hero .bottom .heading {
  position: absolute;
  right: 50%;
  top: -37px;
  transform: translateX(50%) skewX(-25deg);
  background: #154285;
  padding: 34px 0;
  width: 1150px;
  text-align: center;
  box-shadow: 0 0 0 10px #e7ecf3;
  z-index: 2;
}

#home ._hero .bottom .heading span {
  transform: skewX(25deg);
  color: #fff100;
  display: inline-block;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4;
}

#home ._hero .bottom .list {
  position: relative;
  margin: 0 auto;
  padding-bottom: 30px;
  width: 940px;
}

#home ._hero .bottom .list::after {
  position: absolute;
  right: 0;
  top: -56px;
  content: "";
  background: url("../images/hero-bg03.png") no-repeat;
  width: 305px;
  height: 373px;
  z-index: 2;
}

#home ._hero .bottom .list li {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 25px;
}

#home ._hero .bottom .list li .fa-stack {
  height: 1.8em;
  width: 2.3em;
}

#home ._hero .bottom .list li i {
  font-size: 40px;
}

#home ._hero .bottom .list li i:first-child {
  color: yellow;
}

#home ._hero .bottom .list li i:last-child {
  color: #154285;
}

@media screen and (max-width: 1230px) {
  #home ._hero .bottom .heading {
    width: 85%;
  }
}

@media screen and (max-width: 1190px) {
  #home ._hero .bottom .heading span {
    font-size: 30px;
  }
}

@media screen and (max-width: 960px) {
  #home ._hero .bottom .list {
    width: 100%;
  }

  #home ._hero .top .left {
    padding: 45px 0 0 110px;
    width: min(93%,750px);
  }

  #home ._hero .top .left .catch {
    font-size: 65px;
  }

  #home ._hero .top .left .catch span {
    font-size: 90px;
  }
}

@media screen and (max-width: 890px) {
  #home ._hero .bottom .heading span {
    font-size: 26px;
  }
}

@media screen and (max-width: 767px) {
  #home ._hero .top {
    position: relative;
    background: url(../images/hero-bg01-sp.jpg) no-repeat top right/cover;
    height: 525px;
  }

  #home ._hero .top .left {
    position: absolute;
    width: 100%;
    height: 297px;
    background: linear-gradient(180deg,rgba(21,66,133,0.8) 0%,rgba(21,66,133,0.8) 50%,rgba(21,66,133,1) 70%,rgba(21,66,133,1) 100%);
    bottom: -15px;
    transform: skewX(0) skewY(5deg);
    padding: 25px 15px 0;
    margin-left: 0;
  }

  #home ._hero .top .left .inner {
    transform: skewX(0) skewY(-5deg);
    margin: -33px auto 0;
    width: min(90%,315px);
  }

  #home ._hero .top .left .lead {
    font-size: 16px;
    margin-bottom: 5px;
    text-shadow: 0 0 5px #222;
  }

  #home ._hero .top .left .catch {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: 0.06em;
    margin-bottom: 20px;
    text-shadow: 0 0 5px #222;
  }

  #home ._hero .top .left .catch span {
    font-size: 40px;
  }
  
  #home ._hero .top .list{
    width: min(100%,315px);
    justify-content: space-between;
    margin: 0 auto;
  }
  
  #home ._hero .top .list li {
    width: 150px;
    height: 48px;
    font-size: 16px;
    background: #FFF100 url(../images/bg_top_circle_sp.png) no-repeat center/140px;
    padding: 0;
    margin-right: 0;
    margin-bottom: 10px;
  }

  
    #home ._hero .top .list li p{
      font-size: 18px;
      color: #154285;
      font-weight: bold;
      text-align: center;
      line-height: 1;
    }
    
    #home ._hero .top .list li span.txt14.sp{
      display: inline-block;
    }
    
    #home ._hero .top .list li span.txt14{font-size: 0.6em; line-height: 1;}
    #home ._hero .top .list li span.txt17{font-size: 0.7em; line-height: 1;}
    #home ._hero .top .list li span.txt32{font-size: 1.1em; line-height: 1;}
    #home ._hero .top .list li span.txt39{font-size: 1.6em; line-height: 1;}
    #home ._hero .top .list li span.txt56{font-size: 1.6em; line-height: 1;}


  #home ._hero .bottom {
    padding-top: 30px;
  }

  #home ._hero .bottom::after {
    bottom: -38px;
    border-width: 38px 75px 0 75px;
  }

  #home ._hero .bottom .heading {
    top: 34px;
    transform: translateX(50%) skewX(-10deg);
    background: #154285;
    box-shadow: none;
    margin-bottom: 20px;
    margin-right: 0;
    padding: 10px 0;
    width: 88%;
  }

  #home ._hero .bottom .heading span {
    transform: skewX(10deg);
    font-size: 24px;
  }

  #home ._hero .bottom .list::after {
    background: none;
  }

  #home ._hero .bottom .list {
    margin: 110px auto 0;
    width: 95%;
  }

  #home ._hero .bottom .list li {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 15px;
  }

  #home ._hero .bottom .list li .fa-stack {
    width: 2.0em;
  }

  #home ._hero .bottom .list li i {
    font-size: 24px;
  }

  #home ._hero .bottom .list li .text {
    width: calc(100% - 2.0em);
  }
}

@media screen and (max-width: 370px) {
  #home ._hero .bottom .heading span {
    font-size: 19px;
  }
}


/* ココが違う _different */

#home ._different {
  margin-top: 110px;
  margin-bottom: 100px;
}

#home ._different .heading {
  /* position: relative; */
  color: #154285;
  font-size: 46px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 40px;
  text-align: center;
}

#home ._different .heading::after,
#home ._different .heading::before {
  display: inline-block;
  content: "";
  width: 57px;
  height: 99px;
}

#home ._different .heading::before {
  background: url("../images/line.png") no-repeat;
}

#home ._different .heading::after {
  transform: scale(-1, 1);
  background: url("../images/line.png") no-repeat;
}

#home ._different .heading span {
  background: linear-gradient(transparent 60%, #fff100 60%);
}

#home ._different .box {
  position: relative;
  margin: auto;
  height: 389px;
}

#home ._different .box::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background: url("../images/hero-bg04.jpg") no-repeat;
  width: 700px;
  height: 397px;
}

#home ._different .box .left {
  position: relative;
  width: 512px;
  z-index: 1;
}

#home ._different .left .title {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 30px;
}

#home ._different .left .title span {
  background: linear-gradient(transparent 60%, #fff100 60%);
  color: #154285;
}

#home ._different .left .text {
  line-height: 2;
  margin-right: 50px;
}

@media screen and (max-width: 1170px) {
  #home ._different .box::after {
    background-position: top right;
    background-size: contain;
    width: 50%;
  }
}

@media screen and (max-width: 970px) {
  #home ._different .heading {
    font-size: 35px;
  }
}

@media screen and (max-width: 767px) {
  #home ._different {
    margin-top: 70px;
    margin-bottom: 53px;
  }

  #home ._different .heading {
    font-size: 26px;
    margin-bottom: 21px;
  }

  #home ._different .heading::after,
  #home ._different .heading::before {
    bottom: 0;
    background-size: cover;
    width: 24px;
    height: 43px;
  }

  #home ._different .heading::before {
    left: 0;
  }

  #home ._different .heading::after {
    right: 0;
  }

  #home ._different .box {
    height: auto;
  }

  #home ._different .box::after {
    position: relative;
    background: url(../images/hero-bg04-sp.jpg) no-repeat;
    background-size: contain;
    width: 100%;
    height: 70vw;
  }

  #home ._different .left .title {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;
  }

  #home ._different .left .text {
    line-height: 1.8;
    margin-right: 0;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 370px) {
  #home ._different .heading {
    font-size: 22px;
  }
}


/* くるまのミツクニの強み _strong */

#home ._strong {
  background: url("../images/strong-bg.jpg") no-repeat center/cover;
  padding-top: 101px;
  padding-bottom: 99px;
}

#home ._strong .sub {
  color: #fff100;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}

#home ._strong .heading {
  color: white;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}

#home ._strong .img {
  margin-bottom: 30px;
  text-align: center;
}

#home ._strong .main-text {
  color: white;
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 50px;
  text-align: center;
}

#home ._strong .main-text span {
  color: #fff100;
  font-weight: bold;
}
#home ._strong .list.flex{
  justify-content: space-between;
}

#home ._strong li {
  position: relative;
  background: white;
  border-radius: 20px;
  padding-bottom: 25px;
  width: calc(95% / 4);
}

#home ._strong .img img {
  border-radius: 16px 16px 0 0;
}

#home ._strong .point {
  position: absolute;
  right: 50%;
  transform: translateX(50%) skew(-25deg);
  background: #fff100;
  color: #154285;
  font-size: min(2.3vw,22px);
  font-weight: bold;
  margin: -57px 0 0;
  padding: 10px 0;
  text-align: center;
  width: min(20vw,222px);
}

#home ._strong .point > p {
  transform: skew(25deg);
}

#home ._strong .point span {
  font-size: min(3vw,30px);
  font-weight: bold;
  vertical-align: text-bottom;
  margin-left: 5px;
}

#home ._strong .title {
  position: relative;
  font-size: 30px;
  font-weight: bold;
  margin-top: 45px;
  margin-bottom: 40px;
  text-align: center;
}

#home ._strong .title::after {
  position: absolute;
  bottom: -13px;
  right: 50%;
  transform: translateX(50%);
  content: "";
  background: #154285;
  height: 3px;
  width: 50px;
}

#home ._strong .text {
  line-height: 1.8;
  margin: auto;
  padding: 0 24px;
}

/* @media screen and (max-width: 1220px) {
  #home ._strong li {
    width: 31.3%;
  }

  #home ._strong li:not(:last-child) {
    margin-right: 3%;
  }
}

@media screen and (max-width: 1080px) {
  #home ._strong .point {
    padding: 13px;
    width: auto;
  }
} */

@media screen and (max-width: 767px) {
  #home ._strong {
    padding-top: 50px;
    padding-bottom: 30px;
  }

  #home ._strong .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  #home ._strong .heading {
    font-size: 24px;
    margin-bottom: 30px;
  }

  #home ._strong .main-text {
    margin-bottom: 20px;
    text-align: left;
  }

  #home ._strong .img {
    width: calc(100% + 2px);
    margin: -1px auto 20px -1px;
  }

  #home ._strong li {
    font-size: 18px;
    margin-bottom: 20px;
    padding-bottom: 30px;
    width: 100%;
  }

  #home ._strong .list .img img {
    width: 100%;
  }

  #home ._strong .point {
    font-size: 20px;
    margin: -44px 0 0;
    padding: 10px 0;
    width: 248px;
  }

  #home ._strong .point span {
    font-size: 30px;
    vertical-align: sub;
  }

  #home ._strong .title {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 35px;
  }

  #home ._strong .text {
    font-size: 16px;
  }
}


/* ご購入の流れ _flow */

#home ._flow {
  background: #e7ecf3;
  padding-top: 99px;
  padding-bottom: 100px;
}

#home ._flow .sub {
  color: #154285;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}

#home ._flow .heading {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}

#home ._flow .list li {
  position: relative;
  width: 300px;
}

#home ._flow li:not(:last-child) {
  margin-right: 149px;
}

#home ._flow .list li:not(:last-child)::after {
  position: absolute;
  right: -100px;
  top: 40%;
  transform: translateY(-50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 31.5px 0 31.5px 50px;
  border-color: transparent transparent transparent #154285;
}

#home ._flow .list .img {
  margin-bottom: 30px;
}

#home ._flow .list li:nth-child(3) .img,
#home ._flow .list li:nth-child(2) .img {
  padding-top: 37px;
}

#home ._flow .list .text {
  line-height: 1.8;
}

#home ._flow .list .text a {
  color: #154285;
  text-decoration: underline;
}

@media screen and (max-width: 1220px) {
  #home ._flow .list li {
    width: 28%;
  }

  #home ._flow .list li:not(:last-child) {
    margin-right: 8%;
  }

  #home ._flow .list .img img {
    width: 100%;
  }

  #home ._flow .list li:not(:last-child)::after {
    top: 35%;
    right: -26%;
  }
}

@media screen and (max-width: 767px) {
  #home ._flow {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  #home ._flow .contents-inner {
    width: 90%;
  }

  #home ._flow .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  #home ._flow .heading {
    font-size: 24px;
    margin-bottom: 40px;
  }

  #home ._flow .list li {
    margin-bottom: 90px;
    width: 100%;
  }

  #home ._flow .list li:nth-child(3) .img,
  #home ._flow .list li:nth-child(2) .img {
    padding-top: 0;
  }

  #home ._flow .list li:not(:last-child)::after {
    position: absolute;
    right: 50%;
    top: auto;
    bottom: -70px;
    transform: translate(50%, 0%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 30px 0 30px;
    border-color: #154285 transparent transparent transparent;
  }

  #home ._flow .list li:last-child {
    margin-bottom: 0;
  }
}


/* お客様の声 _voice */

#home ._voice {
  background: url("../images/voice-bg.jpg") no-repeat center/cover;
  padding: 100px 0 89px;
}

#home ._voice .sub {
  color: #154285;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}

#home ._voice .heading {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}

#home ._voice .list {
  margin-top: 70px;
  padding-bottom: 10px;
}

#home ._voice .list .swiper-slide {
  background: white;
  border-radius: 15px;
  box-shadow: 7px 7px 0 #154285;
  padding: 0 20px 30px;
  text-align: center;
  width: 380px;
  height: auto;
}

#home ._voice .swiper-slide:not(:last-child) {
  margin-right: 27px;
}

.swiper-button-next,
.swiper-button-prev {
  display: none;
  z-index: 15;
}

#home ._voice .list .img {
  margin-top: -50px;
  margin-bottom: 20px;
}

#home ._voice .list .img img {
  border-radius: 50%;
  width: 100px;
  height: 100px;
}

#home ._voice .list .title {
  color: #154285;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}

#home ._voice .list .name {
  margin-bottom: 20px;
}

#home ._voice .list .text {
  line-height: 1.8;
  text-align: left;
  margin-bottom: auto;
}

@media screen and (max-width: 1220px) {
  #home ._voice .list .swiper-slide {
    width: 30%;
  }

  #home ._voice .list .swiper-slide:not(:last-child) {
    margin-right: 5%;
  }
}

@media screen and (max-width: 767px) {
  #home ._voice {
    padding: 50px 0 40px;
  }

  #home ._voice .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  #home ._voice .heading {
    font-size: 24px;
    margin-bottom: 30px;
  }

  #home ._voice .inner {
    padding: 0 20px
  }

  #home ._voice .list .img img {
    width: 80px;
    height: 80px;
  }

  #home ._voice .swiper-container {
    padding: 0 30px 30px;
  }

  #home ._voice .list .swiper-slide {
    margin-bottom: 20px;
    width: 80%;
  }

  #home ._voice .list .swiper-slide:not(:last-child) {
    margin-right: 0;
  }

  .swiper-button-next,
  .swiper-button-prev {
    color: #154285;
    display: block;
    width: auto;
  }

  .swiper-button-prev {
    left: 0;
  }

  .swiper-button-next {
    right: 0;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-size: 24px;
  }

  .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background: white;
    border: solid 2px #154285;
    opacity: 1;
  }

  .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 7px;
  }

  .swiper-pagination-bullet-active {
    opacity: 1;
    background: #154285;
  }
}


/* よくある質問 _qanda */

#home ._qanda {
  padding: 100px 0;
}

#home ._qanda .sub {
  color: #154285;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}

#home ._qanda .heading {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 50px;
  text-align: center;
}

#home ._qanda .box {
  position: relative;
  background: #e7ecf3;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 10px;
  cursor: pointer;
}

#home ._qanda .box::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  content: "+";
  color: #154285;
  font-size: 28px;
  font-weight: normal;
}

#home ._qanda .box > div {
  justify-content: flex-start;
}

#home ._qanda .box span {
  background: #154285;
  border-radius: 50%;
  color: #fff100;
  display: inline-block;
  font-size: 26px;
  font-weight: bold;
  line-height: 60px;
  margin-right: 20px;
  text-align: center;
  min-width: 60px;
}

#home ._qanda .ques {
  line-height: 1.5;
  padding-right: 30px;
  width: calc(100% - 60px);
}

#home ._qanda .ans {
  display: none;
  padding: 20px;
}

#home ._qanda .list {
  margin-top: 50px;
}

#home ._qanda .btn-r,
#home ._qanda .btn-y {
  border-radius: 40px;
  font-size: 26px;
  font-weight: bold;
  padding: 10px 0;
  width: 500px;
  box-shadow: 0 3px 6px #0000001A;
}

#home ._qanda .btn-y {
  margin-right: 30px;
}

#home ._qanda .btn-r i,
#home ._qanda .btn-y i {
  margin-right: 20px;
}

@media screen and (max-width: 1080px) {
  #home ._qanda .list li {
    width: 50%;
  }

  #home ._qanda .btn-r,
  #home ._qanda .btn-y {
    width: 95%;
  }
}

@media screen and (max-width: 990px) {
  #home ._qanda .list {
    display: block;
  }

  #home ._qanda .list li {
    width: 100%;
  }

  #home ._qanda .btn-r,
  #home ._qanda .btn-y {
    font-size: 20px;
    line-height: 2;
    width: 100%;
  }

  #home ._qanda .btn-r i,
  #home ._qanda .btn-y i {
    display: block;
    font-size: 24px;
    margin-right: 0;
  }

  #home ._qanda .btn-y {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  #home ._qanda {
    padding: 50px 0;
  }

  #home ._qanda .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  #home ._qanda .heading {
    font-size: 24px;
    margin-bottom: 30px;
  }

  #home ._qanda .box {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 10px;
  }

  #home ._qanda .box span {
    font-size: 20px;
    line-height: 40px;
    margin-right: 10px;
    min-width: 40px;
  }

  #home ._qanda .ques {
    padding-right: 55px;
    width: calc(100% - 50px);
  }

  #home ._qanda .list {
    margin-top: 30px;
  }
}


/*
---------------------------------------------
フッター
---------------------------------------------
*/

.footer {
  background: #eee;
  padding-top: 100px;
}

.footer .pagetop a {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #154285;
  border: solid 2px white;
  border-radius: 50%;
  color: white;
  width: 70px;
  height: 70px;
  z-index: 3;
}

.footer .pagetop a::after {
  position: absolute;
  content: "";
  right: 50%;
  bottom: 45%;
  transform: translate(50%, 50%) rotate(-45deg);
  display: block;
  width: 20px;
  height: 20px;
  border-top: solid 2px white;
  border-right: solid 2px white;
}

.footer .sub {
  color: #154285;
  font-size: 26px;
  margin-bottom: 15px;
  text-align: center;
}

.footer .heading {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 50px;
  text-align: center;
}

.footer .table {
  margin: 0 auto 100px;
  width: 1030px;
}

.footer .table a {
  color: #154285;
  text-decoration: underline;
}

.footer .table th,
.footer .table td {
  border-bottom: solid 1px #aaa;
  padding: 20px 0;
}

.footer .table th {
  font-weight: bold;
  width: 135px;
}

.footer .bottom {
  background: #154285;
  color: white;
  font-size: 14px;
  line-height: 50px;
  text-align: center;
}

.footer .bottom .list li:first-child {
  margin-right: 30px;
}

.footer .bottom .list a {
  color: white;
}

.footer .bottom .list a i {
  margin-left: 20px;
}

.footer .bottom .copyright {
  margin-left: auto;
}

@media screen and (max-width: 1080px) {
  .footer .table {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    padding-top: 50px;
    margin-bottom: 50px;
  }

  .footer .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .footer .heading {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .footer .table {
    margin-bottom: 40px;
  }

  .footer .table th,
  .footer .table td {
    display: block;
    padding: 15px 0;
  }

  .footer .table th {
    width: 100%;
  }

  .footer .table th {
    border-bottom: none;
    padding: 15px 0 0 0;
  }

  .footer .bottom {
    line-height: auto;
  }

  .footer .bottom .contents-inner {
    width: 100%;
  }

  .footer .bottom .copyright {
    display: block;
    line-height: 1.4;
    margin-left: 0;
    padding: 16px 0;
    text-align: center;
    width: 100%;
  }

  .footer .bottom .footer-btn {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 5;
  }

  .footer .bottom .footer-btn li:not(:last-child) {
    width: calc((100% - 64px) / 2);
  }

  .footer .bottom .footer-btn li:last-child {
    background: #154285;
    width: 64px;
  }

  .footer .bottom .footer-btn li:last-child a {
    color: white;
  }

  .footer .bottom .footer-btn .btn-r,
  .footer .bottom .footer-btn .btn-y {
    border-radius: 0;
    line-height: 50px;
    width: 100%;
  }
}

@media screen and (max-width: 374px) {
  #home ._hero .top .left {
    padding: 25px 0px 0;
  }
  #home ._hero .top .list {
    justify-content: space-evenly;
  }
  #home ._hero .top .list li {
    width: 117px;
    height: 37px;
    background: #FFF100 url(../images/bg_top_circle_sp.png) no-repeat center/112px;
  }
}