@charset "UTF-8";
html {
  color: #000;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
  position: relative;
  background: #fff;
  font-weight: 300;
  transition: .3s;
}
@media (max-width: 1000px) {
  html {
    font-size: 52%;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-size: 1.6rem;
  transition: .3s;
}
body a {
  color: #000;
  text-decoration: none;
  transition: .3s;
  /*vertical-align: top;*/
}
body a:hover {
  text-decoration: none;
  opacity: .8;
}
body a:focus {
  overflow: hidden;
  outline: none;
}
body .indent {
  padding-left: 1em;
  text-indent: -1em;
}
body dt, body dd, body p, body li, body th, body td, body address {
  line-height: 3.2rem;
  letter-spacing: 1px;
}
body img {
  max-width: 100%;
}
body .red {
  color: #ed6a6a;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .center {
  text-align: center;
}

/* -----------------------------------------
		common
----------------------------------------- */
.onpc {
  display: block;
}

.onsp {
  display: none;
}

.pinkline{
  font-weight: 400;
  background: linear-gradient(transparent 70%, #fff79a 50%);
}

@media (max-width: 768px) {
  .onpc {
    display: none;
  }

  .onsp {
    display: block;
  }
}
.container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 4%;
}

.contenxBox01 {
  padding: 11.5rem 0;
}

@media (max-width: 768px) {
  .contenxBox01 {
    padding: 12vw 0;
  }
}
.h2-common {
  font-size: 3.6rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: .2rem;
  margin: 0 0 8rem;
}
.h2-common span {
  display: block;
  text-align: center;
  margin-top: 1.6rem;
}
.h2-common span i {
  font-style: normal;
  width: 14px;
  height: 14px;
  border-radius: 14px;
  background: #77b800;
  content: "";
  display: inline-block;
  margin: 0 8px;
}
.h2-common span i:nth-of-type(2) {
  background: #b7e16a;
}

@media (max-width: 768px) {
  .h2-common {
    margin-bottom: 10vw;
    font-size: 6vw;
  }
}
.res {
  background: #f16f6f;
  text-align: center;
  padding: 6rem 0;
}
.res h2 {
  font-size: 5rem;
  color: #fff79a;
  margin: 0 0 4rem;
}
.res h2 span {
  font-size: 3.6rem;
  color: #fff;
  display: block;
  margin: 1.2rem 0 0;
}
.res p {
  position: relative;
  display: inline-block;
}
.res p a {
  position: absolute;
  bottom: 2.4rem;
  left: 2.8rem;
}

@media (max-width: 768px) {
  .res {
    padding: 8vw 0;
  }
  .res h2 {
    font-size: 6vw;
    margin: 0 0 6vw;
  }
  .res h2 span {
    font-size: 3vw;
    margin-top: 3vw;
  }
  .res p {
    display: none;
  }
  .res .onsp p {
    display: block;
    margin: 0 0 3vw;
  }
  .res .onsp p a {
    position: static;
  }
}
.link-common {
  text-align: center;
}
.link-common a {
  display: inline-block;
  background: #77b800;
  color: #fff;
  text-align: center;
  padding: 1.2rem 7rem;
  margin: 3rem 0 0;
  border-radius: 5px;
  position: relative;
}
.link-common a:after {
  content: "chevron_right";
  font-family: "Material Icons";
  right: 1rem;
  top: 1.3rem;
  position: absolute;
}

@media (max-width: 768px) {
  .link-common a {
    padding: 3vw 4%;
    width: 100%;
    box-sizing: border-box;
  }
  .link-common a:after {
    top: 3.2vw;
  }
}
/* -----------------------------------------
		header
----------------------------------------- */
header {
  padding: 24px 0 20px;
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 2;
  transition: .3s;
}
header .container {
  display: flex;
  justify-content: space-between;
}
header .container .logo {
  margin: 11px 4% 0 0;
  transition: .3s;
  width: 56.6rem;
}
header .container .logo.logo-tab {
  display: none;
}
header .container .logo.logo-sp {
  display: none;
}
header .container ul {
  display: flex;
  justify-content: space-between;
  width: 46%;
  transition: .3s;
}
header .container ul.btn-tab {
  display: none;
}
header .container ul.btn-sp {
  display: none;
}
header .container ul li:first-child {
  margin: 0 2rem 0 0;
}
header .container ul li:last-child {
  padding-top: 2.2rem;
  border-top: 3px solid #e7e8e4;
  margin-top: .6rem;
}
header.scroll {
  padding: 10px 0 0;
  background: rgba(255, 255, 255, 0.9);
}
header.scroll .logo {
  width: 24rem;
  position: relative;
  top: .6rem;
}
header.scroll ul {
  width: 46rem;
  position: relative;
  top: .7rem;
}
header.scroll nav {
  padding: 0 0 16px;
  border-bottom: 1px solid #dbdbdb;
}
header.scroll nav ul {
  width: 100%;
}
header.scroll nav ul li {
  line-height: 1;
}
header.scroll nav ul li a {
  padding: .6rem 0;
}
header .summary {
  display: none;
}

@media (max-width: 1000px) {
  header {
    padding: 0 0 1vw;
  }
  header .container {
    align-items: center;
  }
  header .container .logo {
    display: none;
    width: 34%;
    margin: 0 4% 0 0;
    line-height: 0;
  }
  header .container .logo.logo-tab {
    display: block;
  }
  header .container .logo.logo-sp {
    display: none;
  }
  header .container ul {
    display: none;
  }
  header .container ul.btn-tab {
    display: flex;
  }
  header .container ul.btn-sp {
    display: none;
  }
  header .container ul li {
    line-height: 0;
  }
  header .container ul li:first-child {
    margin-right: 4%;
  }
  header .container ul li:last-child {
    padding-top: 0;
    border-top: none;
    margin-top: 0;
  }
  header .summary {
    display: block;
    background: #77b800;
    color: #fff;
    text-align: center;
    padding: .2rem 0;
    margin: 0 0 1vw;
  }
}
@media (max-width: 768px) {
  header {
    padding: 0 0 8px;
  }
  header .container .logo {
    width: 196px;
    top: 0;
    max-width: 45vw;
  }
  header .container .logo.logo-tab {
    display: none;
  }
  header .container .logo.logo-sp {
    display: block;
  }
  header .container ul {
    display: none;
  }
  header .container ul.btn-tab {
    display: none;
  }
  header .container ul.btn-sp {
    justify-content: flex-end;
    display: flex;
  }
  header .container ul li {
    width: 25%;
  }
  header nav {
    display: none;
  }
  header.scroll {
    padding: 8px 0;
  }
  header .summary {
    font-size: 2.4vw;
    line-height: 5vw;
  }
}
/* -----------------------------------------
		mv
----------------------------------------- */
#mv {
  background: url(../img/mv-bg.jpg) no-repeat center top/cover;
  padding-top: 13.9rem;
}

@media (max-width: 1000px) {
  #mv {
    padding-top: 10vw;
  }
  #mv .container {
    padding: 0;
  }
}
@media (max-width: 768px) {
  #mv {
    padding-top: 16vw;
    background: none;
  }
}
/* -----------------------------------------
		firsttime
----------------------------------------- */
#firsttime .container {
  background: url(../img/icon-firsttime.png) no-repeat right 4% top;
}
#firsttime .container .box {
  display: flex;
  justify-content: space-between;
  padding: 0 4rem;
}
#firsttime .container .box .img {
  margin-left: 6rem;
  order: 2;
}
#firsttime .container .box .text {
  flex: 1;
  order: 1;
}
#firsttime .container .box .text p {
  font-size: 1.7rem;
  line-height: 3.8rem;
  margin: 0 0 2rem;
}
#firsttime .container .box .text h3 {
  font-size: 2.7rem;
  line-height: 4.2rem;
  color: #ffa92e;
  background: url(../img/icon-item.png) no-repeat left center;
  padding: 0 0 0 10rem;
  margin: 0 0 1.8rem;
}
#firsttime .container .box .text ul li {
  color: #ed6a6a;
  font-weight: 600;
  border-bottom: 1px solid #ccc;
  padding: 1rem 0 1rem 1rem;
}

@media (max-width: 1000px) {
  #firsttime .container .box .img {
    width: 37rem;
  }
}
@media (max-width: 768px) {
  #firsttime .container {
    background-size: 20% auto;
  }
  #firsttime .container .box {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  #firsttime .container .box .img {
    margin: 0 auto 3vw;
    order: 2;
    width: 100%;
    text-align: center;
  }
  #firsttime .container .box .text {
    width: 100%;
    order: 1;
    margin-bottom: 6rem;
  }
  #firsttime .container .box .text h3 {
    background-size: 12vw auto;
    padding: 0 0 0 15vw;
  }
}
/* -----------------------------------------
		entrust
----------------------------------------- */
#entrust {
  background: #77b800 url(../img/entrust-bg.jpg) no-repeat center top/cover;
  padding: 5% 0 11.5rem;
}
#entrust .container {
  position: relative;
}
#entrust .container .photo {
  position: absolute;
  right: 5%;
  top: -19%;
  z-index: 0;
  width: 29%;
}
#entrust .container h2 {
  font-size: 4.2rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: .15rem;
  margin: 0 0 4%;
  padding: 0 32% 0 0;
  line-height: 6rem;
}
#entrust .container h2 strong {
  color: #fdff54;
}
#entrust .container h2 span {
  font-size: 2.6rem;
  display: block;
  margin-top: 0rem;
}
#entrust .container ul {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
#entrust .container ul li {
  background: #fff;
  border-radius: 5px;
  padding: .8rem .8rem 1.6rem;
  width: 30%;
}
#entrust .container ul li .img {
  margin: 0 0 1rem;
}
#entrust .container ul li dl {
  padding: 0 4%;
}
#entrust .container ul li dl dt {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 1rem;
  text-align: center;
}

@media (max-width: 1000px) {
  #entrust .container .photo {
    display: none;
  }
  #entrust .container h2 {
    text-align: center;
    padding-right: 0;
  }
}
@media (max-width: 768px) {
  #entrust {
    padding: 10vw 0 6vw;
  }
  #entrust .container h2 {
    font-size: 7vw;
    line-height: 10vw;
    margin-bottom: 8vw;
  }
  #entrust .container ul {
    display: block;
  }
  #entrust .container ul li {
    margin: 0 0 3vw;
    width: 100%;
    box-sizing: border-box;
  }
  #entrust .container ul li .img {
    text-align: center;
  }
}
/* -----------------------------------------
		why
----------------------------------------- */
#why .container h2 {
  font-size: 2.7rem;
}
#why .container h2 strong {
  color: #f16f6f;
  display: block;
  font-size: 3.6rem;
  margin: 2rem 0 3rem;
}
#why .container h2 + p {
  font-size: 1.7rem;
  line-height: 3.8rem;
  margin: 0 0 7rem;
}
#why .container p {
  text-align: center;
}

@media (max-width: 768px) {
  #why .container h2 {
    line-height: 5rem;
  }
}
/* -----------------------------------------
		reason
----------------------------------------- */
#reason {
  background: #f5fde5;
  padding-bottom: 5rem;
}
#reason .container ul {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
}
#reason .container ul li {
  background: #fff;
  border-radius: 5px;
  padding: .8rem .8rem 1.6rem;
  width: 30%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  margin: 0 0 9rem;
  position: relative;
}
#reason .container ul li .num {
  background: #77b800;
  width: 9.5rem;
  height: 9.5rem;
  border-radius: 9.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: #fff;
  font-size: 3.6rem;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: -4.5rem;
  left: 38%;
}
#reason .container ul li .num span {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  line-height: 2.4rem;
}
#reason .container ul li .img {
  margin: 0 0 1rem;
}
#reason .container ul li dl {
  padding: 0 4%;
}
#reason .container ul li dl dt {
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 1rem;
  text-align: center;
  color: #77b800;
}
#reason .container ul li:nth-of-type(4) {
  margin-left: 17%;
}
#reason .container ul li:nth-of-type(5) {
  margin-right: 17%;
}

@media (max-width: 768px) {
  #reason .container h2 {
    margin-bottom: 17vw;
  }
  #reason .container ul {
    display: block;
  }
  #reason .container ul li {
    width: 100%;
    box-sizing: border-box;
  }
  #reason .container ul li .num {
    left: 50%;
    margin-left: -4.75rem;
  }
  #reason .container ul li .img {
    text-align: center;
  }
  #reason .container ul li:nth-of-type(4) {
    margin-left: 0;
  }
  #reason .container ul li:nth-of-type(5) {
    margin-right: 0;
  }
}
/* -----------------------------------------
		case
----------------------------------------- */
#case {
  padding-bottom: 5rem;
}
#case .container ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#case .container ul li {
  width: 48.5%;
  margin: 0 0 3rem;
}
#case .container ul li h3 {
  background: #77b800;
  text-align: center;
  padding: .8rem 0 1rem;
  text-align: center;
  margin: 0 0 3rem;
  color: #fff;
}
#case .container ul li .img {
  margin: 0 0 1rem;
}
#case .container ul li .info {
  display: flex;
  justify-content: space-between;
  margin: 3rem 0 0;
}
#case .container ul li .info ul {
  justify-content: flex-start;
  display: flex;
  flex-wrap: nowrap;
}
#case .container ul li .info ul li {
  border: 1px solid #77b800;
  min-width: 11.8rem;
  padding: .2rem 0 .4rem;
  margin-right: 1rem;
  text-align: center;
  color: #77b800;
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  #case .container ul {
    display: block;
  }
  #case .container ul li {
    width: 100%;
  }
  #case .container ul li h3 {
    padding-left: 4%;
    padding-right: 4%;
  }
}
/* -----------------------------------------
		price
----------------------------------------- */
#price .container section {
  margin: 0 0 9.2rem;
}
#price .container section:last-of-type {
  margin-bottom: 0;
}
#price .container section:nth-of-type(1) table {
  border-right: 1px solid #727272;
  border-bottom: 1px solid #727272;
  font-size: 1.8rem;
  background: #fff;
  width: 80%;
  margin: 0 auto;
}
#price .container section:nth-of-type(1) table tr th, #price .container section:nth-of-type(1) table tr td {
  border-top: 1px solid #727272;
  border-left: 1px solid #727272;
  padding: .6rem 1.4rem;
  text-align: center;
  font-weight: 400;
}
#price .container section:nth-of-type(1) table tr th {
  background: #77b800;
  color: #fff;
  white-space: nowrap;
}
#price .container section:nth-of-type(1) table tr td.sub {
  background: #edf2e4;
}
#price .container section h3 {
  background: #77b800;
  font-size: 2.8rem;
  text-align: center;
  color: #fff;
  font-weight: 600;
  padding: 1.4rem 0 1.6rem;
  margin: 0 0 4rem;
}
#price .container section section {
  border: 6px solid #e8e9e5;
  padding: 3.7rem;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 3rem;
  width: 80%;
}
#price .container section section:last-of-type {
  margin-bottom: 3rem;
}
#price .container section section .text {
  flex: 1;
  width: 100%;
}
#price .container section section .text h4 {
  font-size: 2.4rem;
  font-weight: 500;
  background: url(../img/dotline.png) repeat-x left bottom;
  margin: 0 0 2.2rem;
  padding: 0 0 2.2rem;
  color: #77b800;
}
#price .container section section .text table {
  border-right: 1px solid #afafaf;
  border-bottom: 1px solid #afafaf;
  font-size: 1.6rem;
  width: 100%;
  margin: 0 0 1rem;
}
#price .container section section .text table tr th, #price .container section section .text table tr td {
  border-top: 1px solid #afafaf;
  border-left: 1px solid #afafaf;
  text-align: left;
  font-weight: 300;
  padding: .6rem 1.4rem;
}
#price .container section section .text table tr th {
  background: #f3f3f3;
  color: #000;
  width: 30%;
}
#price .container section section .text table tr td.sub {
  background: #edf2e4;
}
#price .container section section .img {
  margin: 0 4rem 0 0;
}

@media (max-width: 1000px) {
  #price .container section:nth-of-type(1) table {
    width: 100%;
  }
  #price .container section section {
    width: 100%;
    box-sizing: border-box;
  }
}
@media (max-width: 768px) {
  #price .container section:nth-of-type(1) table tr th, #price .container section:nth-of-type(1) table tr td {
    font-size: 3vw;
  }
  #price .container section section {
    display: block;
  }
  #price .container section section .img {
    text-align: center;
    margin: 0 0 3vw;
  }
}
/* -----------------------------------------
		instance
----------------------------------------- */
#instance {
  background: #f8f8f8;
}
#instance .container h2 + p {
  text-align: center;
  font-size: 1.7rem;
  line-height: 3.8rem;
  margin: -3rem 0 6rem;
}
#instance .container ul {
  display: flex;
  justify-content: space-between;
}
#instance .container ul li {
  width: 30%;
}
#instance .container ul li .img {
  margin: 0 0 1rem;
}
#instance .container ul li h3 {
  color: #77b800;
  font-size: 2.3rem;
  line-height: 3.2rem;
  font-weight: 500;
  background: url(../img/dotline.png) repeat-x left bottom;
  padding: 0 0 2rem;
  margin: 0 0 1rem;
}
#instance .container ul li table {
  border-right: 1px solid #afafaf;
  border-bottom: 1px solid #afafaf;
  font-size: 1.6rem;
  width: 100%;
  margin: 1rem 0 1rem;
}
#instance .container ul li table tr th, #instance .container ul li table tr td {
  border-top: 1px solid #afafaf;
  border-left: 1px solid #afafaf;
  text-align: left;
  font-weight: 300;
  padding: .6rem 1.4rem;
  line-height: 2.6rem;
  vertical-align: middle;
  background: #fff;
}
#instance .container ul li table tr th {
  font-weight: 500;
}
#instance .container ul li table tr.price th, #instance .container ul li table tr.price td {
  color: #f16f6f;
}

@media (max-width: 768px) {
  #instance .container ul {
    display: block;
  }
  #instance .container ul li {
    width: 100%;
    margin: 0 0 6rem;
  }
}
/* -----------------------------------------
		area
----------------------------------------- */
#area {
  background: url(../img/entrust-bg.jpg) no-repeat center top/cover;
}
#area .container h2 {
  color: #fff;
}
#area .container .map {
  background: #fff;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  padding: 8.8rem 9.8rem;
}
#area .container .map .text {
  flex: 1;
  width: 100%;
  text-align: center;
  align-items: center;
  align-content: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#area .container .map .text p {
  font-size: 2.2rem;
  line-height: 4.1rem;
  font-weight: 600;
  margin: 0 0 3rem;
}
#area .container .map .text ul {
  display: flex;
  justify-content: space-between;
  padding: 0;
}
#area .container .map .text ul li {
  width: 16rem;
  margin: 0 1rem 1.6rem;
  padding: .6rem 0;
  text-align: center;
  background: #ffa422;
  font-size: 2rem;
  color: #fff;
  font-weight: 500;
  border-radius: 5px;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  #area .container .map {
    padding: 3vw 4vw;
  }
  #area .container .map .text p br {
    display: none;
  }
  #area .container .map .text ul {
    padding: 0;
  }
  #area .container .map .text ul li {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #area .container .map {
    display: block;
    padding: 8vw 7vw;
  }
  #area .container .map .img {
    text-align: center;
  }
  #area .container .map .text ul {
    display: block;
    text-align: center;
  }
  #area .container .map .text ul li {
    padding: .6rem 3rem;
    display: inline-block;
    box-sizing: border-box;
    margin: 0 0 1.5rem;
  }
}
/* -----------------------------------------
		flow
----------------------------------------- */
#flow .container ul {
  display: flex;
  justify-content: space-between;
  padding: 0 3.2rem;
}
#flow .container ul li {
  position: relative;
}
#flow .container ul li:after {
  content: url(../img/icon-tri.png);
  position: absolute;
  right: -6rem;
  top: 10rem;
}
#flow .container ul li:last-child:after {
  display: none;
}
#flow .container ul li dl {
  background: #77b800;
  width: 22.8rem;
  height: 22.8rem;
  border-radius: 22.8rem;
  color: #fff;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  margin: 0 0 1rem;
}
#flow .container ul li dl dt {
  font-family: 'Century Gothic',serif;
  font-size: 4.3rem;
  margin: 0 0 1.4rem;
  width: 100%;
  text-align: center;
}
#flow .container ul li dl dd {
  font-size: 2.4rem;
  font-weight: 600;
}
#flow .container ul li p {
  width: 22.8rem;
}

@media (max-width: 1000px) {
  #flow .container ul li:after {
    right: -2.5vw;
    top: 9vw;
  }
  #flow .container ul li dl {
    width: 19vw;
    height: 19vw;
    border-radius: 19vw;
  }
  #flow .container ul li p {
    width: 19vw;
  }
}
@media (max-width: 768px) {
  #flow .container ul {
    padding: 0;
    flex-wrap: wrap;
  }
  #flow .container ul li {
    width: 100%;
    margin: 0 0 4rem;
  }
  #flow .container ul li:after {
    right: 0;
    top: 0;
    display: none;
  }
  #flow .container ul li dl {
    width: 100%;
    height: auto;
    padding: 4vw 0;
    border-radius: 0;
  }
  #flow .container ul li p {
    width: 100%;
  }
}
/* -----------------------------------------
		faq
----------------------------------------- */
#faq {
  padding-top: 4rem;
}
#faq .container .faq-wrap {
  background: #77b800;
  border-radius: 5px;
  padding: 8rem 6.2rem 5rem;
  margin: 0 9rem;
}
#faq .container .faq-wrap h2 {
  color: #fff;
}
#faq .container .faq-wrap h2 span i {
  background: #e3f6c0;
}
#faq .container .faq-wrap h2 span i:nth-of-type(2) {
  background: #b5dd6a;
}
#faq .container .faq-wrap ul li {
  background: #fff;
  border-radius: 5px;
  padding: 3rem;
  margin: 0 0 2rem;
}
#faq .container .faq-wrap ul li dl dt {
  font-size: 2.4rem;
  color: #77b800;
  font-weight: 600;
  position: relative;
  padding-left: 5rem;
  margin: 0 0 1.4rem;
}
#faq .container .faq-wrap ul li dl dt:before {
  content: "Q";
  color: #fff;
  font-size: 2.4rem;
  background: #77b800;
  width: 4rem;
  height: 4rem;
  line-height: 3.5rem;
  border-radius: 4rem;
  display: inline-block;
  text-align: center;
  font-weight: normal;
  position: absolute;
  left: 0;
}

@media (max-width: 1000px) {
  #faq .container .faq-wrap {
    margin: 0;
  }
}
@media (max-width: 768px) {
  #faq .container .faq-wrap {
    margin: 0;
    padding: 10vw 5% 6vw;
  }
  #faq .container .faq-wrap ul li {
    padding: 2rem;
  }
  #faq .container .faq-wrap ul li dl dt {
    font-size: 2rem;
    padding-right: 4rem;
    cursor: pointer;
  }
  #faq .container .faq-wrap ul li dl dt:after {
    position: absolute;
    right: 0;
    top: .2rem;
    background: #ffa422;
    text-align: center;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    content: "+";
  }
  #faq .container .faq-wrap ul li dl dt.active:after {
    content: "-";
    line-height: 6vw;
  }
}
/* -----------------------------------------
		company
----------------------------------------- */
#company {
  padding: 3rem 0rem;
}
#company .container .box {
  display: flex;
  justify-content: space-between;
  padding: 0 7rem;
}
#company .container .box iframe {
  width: 49rem;
  height: 32rem;
  margin: 0 4rem 0 0;
}
#company .container .box .text {
  flex: 1;
}
#company .container .box .text h3 {
  font-size: 2.4rem;
  margin: 0 0 1.6rem;
  padding: 0 0 2.2rem;
  color: #77b800;
  background: url(../img/dotline.png) repeat-x left bottom;
}
#company .container .box .text p {
  background: url(../img/logo-acec.png) no-repeat left top 1rem;
  padding: 0 0 0 13rem;
}

@media (max-width: 768px) {
  #company .container .box {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
  }
  #company .container .box iframe {
    width: 100%;
    margin: 0 0 4rem 0;
    order: 2;
  }
  #company .container .box .text {
    order: 1;
    width: 100%;
    margin: 0 0 2rem;
  }
}
/* -----------------------------------------
		form
----------------------------------------- */
#form {
  padding: 0;
}
#form.thanks {
  margin: 10rem 0 0;
  padding: 0 5%;
}
#form h2 {
  color: #77b800;
}
#form h2 + p {
  font-size: 1.6rem;
  line-height: 3rem;
  text-align: center;
  margin: 0 0 5rem;
}
#form form dl {
  display: flex;
  justify-content: flex-start;
  padding: 0;
  margin: 0 15rem;
  border-top: solid 1px #ccc;
}
#form form dl dt {
  font-size: 1.6rem;
  text-align: left;
  width: 30%;
  margin: 0 3% 0 0;
  padding: 1.6rem 3rem;
  box-sizing: border-box;
  background: #edf1e6;
}
#form form dl dt span {
  display: inline-block;
  background: #ca1219;
  color: #fff;
  text-align: center;
  line-height: 1;
  border-radius: .3rem;
  padding: .2rem .6rem .4rem;
  font-size: 1.2rem;
  font-weight: 500;
  float: none;
  position: relative;
  top: 1rem;
  vertical-align: middle;
  position: relative;
  top: -.2rem;
  margin-right: 1rem;
}
#form form dl dd {
  font-size: 1.6rem;
  text-align: left;
  width: 67%;
  padding: 1.6rem 0;
  box-sizing: border-box;
}
#form form dl dd input {
  box-shadow: none;
  border: 1px solid #ccc;
  border-radius: .5rem;
  padding: .5rem .8rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.6rem;
  box-sizing: border-box;
}
#form form dl dd select {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.6rem;
  box-sizing: border-box;
}
#form form dl dd textarea {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  padding: .5rem .8rem;
  font-size: 1.6rem;
  box-sizing: border-box;
  border-radius: .5rem;
  border: 1px solid #ccc;
}
#form form dl dd .form-size01 {
  width: 40%;
}
#form form dl dd .form-size02 {
  width: 18%;
}
#form form dl dd .form-size03 {
  width: 80%;
}
#form form dl dd a {
  text-decoration: underline;
}
#form form dl dd a:hover {
  text-decoration: none;
}
#form form dl dd .ico-mfp-window:after {
  content: "launch";
  font-family: "Material Icons";
  font-style: normal;
  display: inline-block;
  position: relative;
  top: 1px;
}
#form form dl:last-of-type {
  border-bottom: solid 1px #ccc;
}
#form form .check {
  background: #f4f4f4;
  text-align: centlefter;
  padding: 1rem 2rem;
  margin: 1rem 0 0;
}
#form form .send {
  text-align: center;
  margin: 5rem 0 0;
}
#form form .send button {
  border: none;
  background: #ed6a6a;
  color: #fff;
  display: inline-block;
  text-align: center;
  padding: 2rem 8rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-shadow: none;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
#form .form-info {
  background: #f5f5f5;
  width: 70rem;
  margin: 6rem auto 0;
  padding: 3rem;
  box-sizing: border-box;
}
#form .form-info h3 {
  font-size: 2rem;
  margin: 0 0 1rem;
}
#form .form-info .tel i {
  font-family: "Material Icons";
  position: relative;
  top: .2rem;
  left: -.4rem;
}

@media (max-width: 1000px) {
  #form form dl {
    margin: 0;
  }
  #form form dl dd .form-size01 {
    width: 40%;
  }
  #form form dl dd .form-size02 {
    width: 18%;
  }
  #form form dl dd .form-size03 {
    width: 80%;
  }
}
@media (max-width: 768px) {
  #form {
    padding: 0;
  }
  #form h2 + p {
    text-align: left;
    padding: 0 4%;
  }
  #form form.container {
    padding: 0;
  }
  #form form dl {
    display: block;
    border-bottom: 0;
  }
  #form form dl dt, #form form dl dd {
    width: 100%;
  }
  #form form dl dt {
    font-weight: 500;
    padding: 1rem 4% !important;
    margin: 0 0 2% !important;
  }
  #form form dl dd {
    padding: 2% 4% 5% !important;
  }
  #form form dl dd input, #form form dl dd select, #form form dl dd textarea {
    width: 100% !important;
    padding: 1rem .8rem;
  }
  #form form dl dd input[type="radio"] {
    width: auto !important;
  }
  #form form dl dd textarea {
    height: 300px !important;
  }
  #form form .check input {
    width: auto !important;
    display: inline;
    position: relative;
    top: -1px;
  }
  #form .form-info {
    width: 90%;
    margin: 6rem 5% 0;
  }
  #form .form-info h3 {
    margin: 0 0 1.6rem;
  }
  #form .form-info p {
    font-size: 1.3rem;
    line-height: 2.4rem;
  }
  #form .form-info .tel a {
    display: block;
    margin-top: 15px;
    padding: 6px;
    border: 1px solid #77b800;
    border-radius: 5px;
    color: #77b800;
    text-align: center;
    font-size: 1.8rem;
  }
}
.thanks {
  text-align: center;
  font-size: 1.8rem;
  line-height: 5rem;
}

/* -----------------------------------------
		nav-float
----------------------------------------- */
#nav-float {
  display: none;
}

@media (max-width: 768px) {
  #nav-float {
    position: fixed;
    display: block;
    bottom: 0;
  }
  #nav-float ul {
    display: flex;
    justify-content: space-between;
  }
  #nav-float ul li {
    line-height: 0;
  }
}
/* -----------------------------------------
		footer
----------------------------------------- */
footer {
  text-align: center;
  padding: 5rem 0;
}
footer small {
  text-align: center;
  display: block;
  letter-spacing: 2px;
}
footer .bnr {
  padding: 0 4%;
}

/* -----------------------------------------
		contact
----------------------------------------- */
.contact {
  border-top: 5px solid #77b800;
}
.contact .logo {
  text-align: center;
  margin: 6rem 0 3rem;
  padding: 0 4%;
}
.contact h2.h2-common {
  margin: 0 0 1.6rem;
  font-size: 3.6rem;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
.contact input[type="radio"] {
  position: relative;
  top: -.3rem;
}
.contact input[type="radio"] + label {
  display: inline-block;
  margin-right: 2rem;
  cursor: pointer;
}
.contact .radio {
  margin: 0.5rem;
}
.contact .radio input[type="radio"] {
  opacity: 0;
  display: none;
}
.contact .radio input[type="radio"] + .radio-label:before {
  content: '';
  background: #ddd;
  border-radius: 100%;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  position: relative;
  top: .6rem;
  margin-right: 1rem;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.contact .radio input[type="radio"]:checked + .radio-label:before {
  background-color: #fff;
  box-shadow: inset 0 0 0 6px #77b800;
}
.contact .radio input[type="radio"]:focus + .radio-label:before {
  outline: none;
  border-color: #fff;
}
.contact .radio input[type="radio"]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 6px #77b800;
  border-color: #253900;
  background: #253900;
}
.contact .radio input[type="radio"] + .radio-label:empty:before {
  margin-right: 0;
}

@media (max-width: 768px) {
  .contact .logo {
    margin-top: 3.6rem;
    padding-left: 8%;
    padding-right: 8%;
  }
  .contact dl dt {
    font-size: 3.6vw !important;
  }
  .contact dl dd {
    font-size: 3.2vw !important;
  }
  .contact .radio {
    margin: 0;
  }
  .contact .radio input[type="radio"] + .radio-label {
    background: #eee;
    display: block;
    padding: 4vw 3vw;
    border-radius: 5px;
    margin: 0 0 2vw;
    box-sizing: border-box;
  }
  .contact .radio input[type="radio"] + .radio-label:before {
    top: .2vw;
  }
  .contact .radio input[type="radio"]:checked + .radio-label {
    background: #77b800;
    color: #fff;
    font-weight: 500;
  }
  .contact .radio input[type="radio"]:checked + .radio-label:before {
    background-color: #77b800;
    box-shadow: inset 0 0 0 .4rem #fff;
  }
}
