﻿body {
  background: #f5f5f5;
  overflow-x: hidden;
}

._inner {
  width: 1000px;
  margin: 0 auto;
}

@media only screen and (max-width: 1000px) {
  ._inner {
    width: 100%;
    padding: 0 20px;
  }
}

.inquiry ._inner {
  width: 840px;
  margin: 0 auto;
}

@media only screen and (max-width: 840px) {
  .inquiry ._inner {
    width: 100%;
    padding: 0 20px;
  }
}

.container {
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  text-align: center;
}

.top-contents {
  background-image: url(../../images/top-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top 80px center;
  width: 100%;
  margin: 0 auto 75px auto;
  height: 100vh;
  position: relative;
}

@media only screen and (max-width: 980px) {
  .top-contents {
    background-position: top 60px center;
  }
}

@media only screen and (max-width: 414px) {
  .top-contents {
    height: 53vh;
    margin: 0 auto 45px auto;
  }
}

.gheader {
  position: fixed;
  height: 80px;
  background: #135bc8;
  width: 100%;
  z-index: 10;
  max-width: 1500px;
}

@media only screen and (max-width: 980px) {
  .gheader {
    height: 60px;
  }
}

.gheader ._inner {
  max-width: 1500px;
}

.gheader ._inner .logo {
  width: 89px;
  height: auto;
  position: absolute;
  top: 7.5px;
  left: 20px;
}

@media only screen and (max-width: 980px) {
  .gheader ._inner .logo {
    height: 50px;
    top: 10px;
    width: 240px;
  }
}

@media only screen and (max-width: 980px) {
  .gheader ._inner .logo img.pc-logo {
    display: none;
  }
}

.gheader ._inner .logo img.sp-logo {
  display: none;
}

@media only screen and (max-width: 980px) {
  .gheader ._inner .logo img.sp-logo {
    display: block;
  }
}

.gheader ._inner .gnav {
  position: absolute;
  top: 15px;
  left: 90px;
}

@media only screen and (max-width: 1400px) {
  .gheader ._inner .gnav {
    left: 80px;
  }
}

@media only screen and (max-width: 980px) {
  .gheader ._inner .gnav {
    display: none;
  }
}

.gheader ._inner .gnav li {
  display: inline-block;
  margin: 0 15px 0 0;
  font-weight: 500;
}

@media only screen and (max-width: 1400px) {
  .gheader ._inner .gnav li {
    margin: 0 10px 0 0;
  }
}

.gheader ._inner .gnav li.active a {
  border-bottom: 2px solid #fff;
  padding: 0 0 2px 0;
}

.gheader ._inner .gnav li a {
  color: #fff;
}

@media only screen and (max-width: 1400px) {
  .gheader ._inner .gnav li a {
    font-size: 1.4rem;
  }
}

.gheader ._inner .header-tel {
  font-weight: 500;
  font-size: 1.4rem;
  position: absolute;
  width: 170px;
  height: 50px;
  color: #fff;
  top: 15px;
  right: 160px;
  border-left: 1px dotted rgba(255, 255, 255, 0.5);
  padding: 0 0 0 15px;
}

@media only screen and (max-width: 1300px) {
  .gheader ._inner .header-tel {
    display: none;
  }
}

.gheader ._inner .header-tel span {
  font-size: 2rem;
  position: absolute;
  top: 20px;
  right: 0;
}

.gheader ._inner .header-tel span:before {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../../images/phone-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 19.5px;
  height: 19px;
  top: 6px;
  left: -23px;
}

.gheader ._inner a.header-contact {
  display: inline-block;
  background: #83c434;
  border-radius: 4px;
  font-weight: 500;
  position: absolute;
  height: 50px;
  right: 20px;
  top: 15px;
  padding: 12px 15px 12px 50px;
  color: #fff;
  opacity: 1;
  transition-duration: 0.2s;
}

@media only screen and (max-width: 1120px) {
  .gheader ._inner a.header-contact {
    display: none;
  }
}

.gheader ._inner a.header-contact:hover {
  opacity: 0.7;
}

.gheader ._inner a.header-contact span {
  position: relative;
}

.gheader ._inner a.header-contact span:before {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../../images/pc-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 19.5px;
  top: 0;
  left: -30px;
}

.gheader ._inner .header-inquiry {
  display: none;
  position: absolute;
  top: 26px;
  right: 20px;
  border: 1px solid #fff;
  border-radius: 20px;
  color: #fff;
  padding: 5px 25px 5px 10px;
  font-size: 1.4rem;
}

.gheader ._inner .header-inquiry:after {
  content: "▼";
  display: inline-block;
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: 1.2rem;
}

@media only screen and (max-width: 1120px) {
  .gheader ._inner .header-inquiry {
    display: none;
  }
}

@media only screen and (max-width: 980px) {
  .gheader ._inner .header-inquiry {
    display: none;
  }
}

.center-logo {
  position: absolute;
  width: 430px;
  top: calc(50% - 120px);
  left: calc(50% - 215px);
}

@media only screen and (max-width: 667px) {
  .center-logo {
    width: 50%;
    top: 25%;
    left: 25%;
  }
}

@media only screen and (max-width: 414px) {
  .center-logo {
    width: 56vw;
    top: 23vh;
    left: 23vw;
  }
}

.title-wrap {
  background-image: url(../../images/title-bg.png);
  background-repeat: no-repeat;
  background-size: 300px 73.5px;
  background-position: top center;
  position: relative;
  display: inline-block;
  margin: 0 0 20px 0;
}

.title-wrap._step-up {
  background-image: url(../../images/step-up-title-bg.png);
  background-size: 107.5px auto;
  margin: 0 0 30px 0;
}

.title-wrap._step-up :after {
  background: linear-gradient(0deg, #4481eb, #04befe);
}

.title-wrap._step-up ._text {
  margin: 50px 0 30px;
}

.title-wrap ._title {
  visibility: hidden;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #83c434;
  padding: 50px 0 0 0;
  font-size: 2.2rem;
}

.title-wrap ._text {
  font-size: 2.7rem;
  font-weight: 500;
  margin: 10px 0 30px;
}

@media only screen and (max-width: 768px) {
  .title-wrap ._text {
    font-size: 2.2rem;
  }
}

@media only screen and (max-width: 414px) {
  .title-wrap ._text {
    font-size: 2rem;
  }
}

.title-wrap :after {
  content: "";
  width: 50px;
  height: 2px;
  background-color: #83c434;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.gallery .title-wrap :after {
  content: none;
}

section.concept {
  margin: 0 0 20px 0;
}

section.concept .__text {
  letter-spacing: 0.05rem;
}

@media only screen and (max-width: 414px) {
  section.concept .__text {
    text-align: left;
  }
}

section.commitment {
  margin: 0 0 75px 0;
}

@media only screen and (max-width: 768px) {
  section.commitment {
    margin: 0 0 50px 0;
  }
}

section.commitment .title-wrap {
  margin: 0 0 90px 0;
}

section.commitment ._wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap {
    padding: 0 20px;
  }
}

section.commitment ._wrap ._once {
  width: calc(33.33% - 26.66px);
  margin: 0 40px 100px 0;
  border: solid #22b0d4 5px;
  border-radius: 20px;
  position: relative;
  padding: 140px 20px 10px 20px;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  section.commitment ._wrap ._once {
    width: calc(50% - 10px);
    margin: 0 10px 70px 0;
  }
  section.commitment ._wrap ._once:nth-child(2n) {
    margin: 0 0 70px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once {
    width: 100%;
    margin: 0 0 70px 0;
    padding: 120px 20px 10px 20px;
  }
}

section.commitment ._wrap ._once:nth-child(3) {
  margin: 0 0 100px 0;
}

@media only screen and (max-width: 768px) {
  section.commitment ._wrap ._once:nth-child(3) {
    margin: 0 10px 70px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once:nth-child(3) {
    margin: 0 0 70px 0;
  }
}

section.commitment ._wrap ._once:nth-child(4) {
  margin: 0 40px 0 0;
}

@media only screen and (max-width: 768px) {
  section.commitment ._wrap ._once:nth-child(4) {
    margin: 0 0 70px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once:nth-child(4) {
    margin: 0 0 70px 0;
  }
}

section.commitment ._wrap ._once:nth-child(5) {
  margin: 0;
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once:nth-child(5) {
    margin: 0;
  }
}

section.commitment ._wrap ._once ._image {
  width: 144px;
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once ._image {
    width: 120px;
    top: -40px;
  }
}

section.commitment ._wrap ._once ._title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #22b0d4;
  position: relative;
}

@media only screen and (max-width: 414px) {
  section.commitment ._wrap ._once ._title {
    font-size: 1.8rem;
  }
}

section.commitment ._wrap ._once ._title:after {
  content: "";
  width: 80%;
  height: 2px;
  position: absolute;
  bottom: -15px;
  background-color: #22b0d4;
  left: 0;
  right: 0;
  display: inline-block;
  margin: 0 auto;
}

section.commitment ._wrap ._once ._text {
  padding: 15px 0 0 0;
}

section.slider {
  margin: 0 0 20px 0;
  padding: 20px 0;
}

@media only screen and (max-width: 414px) {
  section.slider {
    padding: 10px 0 20px 0;
  }
}

section.slider ul {
  padding: 0;
}

section.slider .slider {
  overflow-x: hidden;
}

section.slider .slick-list {
  padding: 110px 0 !important;
}

@media only screen and (max-width: 414px) {
  section.slider .slick-list {
    padding: 0 !important;
  }
}

section.slider .slick-slide {
  text-align: center;
}

section.slider .slider01 img {
  height: auto;
  display: inline-block;
}

section.slider .slider01 .slick-slide img {
  transition-duration: 0.2s;
  opacity: 0.5;
}

@media only screen and (max-width: 414px) {
  section.slider .slider01 .slick-slide img {
    opacity: 1;
  }
}

section.slider .slider01 .slick-slide.slick-active img {
  transition-duration: 0.2s;
  opacity: 0.5;
}

@media only screen and (max-width: 414px) {
  section.slider .slider01 .slick-slide.slick-active img {
    opacity: 1;
  }
}

section.slider .slider01 .slick-slide.slick-active.slick-current {
  position: relative;
  z-index: 1;
}

section.slider .slider01 .slick-slide.slick-active.slick-current img {
  transform: scale(1.4);
  opacity: 1;
  transition-duration: 0.2s;
  z-index: 1;
  border-radius: 10px;
  box-shadow: 0px 10px 21px 0px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 414px) {
  section.slider .slider01 .slick-slide.slick-active.slick-current img {
    transform: none;
    box-shadow: none;
    border-radius: 0;
  }
}

section.slider .slick-prev,
section.slider .slick-next {
  width: 65px;
  height: 65px;
  z-index: 1;
}

@media only screen and (max-width: 414px) {
  section.slider .slick-prev,
  section.slider .slick-next {
    width: 40px;
    height: 40px;
    opacity: 0.7;
  }
}

section.slider .slick-prev {
  left: 30px;
}

@media only screen and (max-width: 414px) {
  section.slider .slick-prev {
    left: 10px;
  }
}

section.slider .slick-next {
  right: 30px;
}

@media only screen and (max-width: 414px) {
  section.slider .slick-next {
    right: 10px;
  }
}

section.supports {
  padding: 75px 0;
  background: #f5f5f5;
}

@media only screen and (max-width: 768px) {
  section.supports {
    padding: 55px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.supports .__text {
    text-align: left;
  }
}

section.supports ul {
  margin: 50px 0 0 0;
  padding: 0;
}

section.supports ul li {
  width: calc(50% - 10px);
  margin: 0 20px 20px 0;
  padding: 20px;
  float: left;
  text-align: left;
  background: #fff;
}

@media only screen and (max-width: 414px) {
  section.supports ul li {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

section.supports ul li:nth-child(2n) {
  margin: 0 0 20px 0;
}

@media only screen and (max-width: 414px) {
  section.supports ul li:nth-child(2n) {
    margin: 0 0 10px 0;
  }
}

section.supports ul li:last-child {
  width: 100%;
}

@media only screen and (max-width: 414px) {
  section.supports ul li:last-child .___text {
    display: unset;
  }
}

section.supports ul li:last-child ._image {
  width: 200px;
}

@media only screen and (max-width: 768px) {
  section.supports ul li:last-child ._image {
    float: left;
    margin: 0 20px 0 0;
  }
}

@media only screen and (max-width: 414px) {
  section.supports ul li:last-child ._image {
    width: 100px;
    margin: 0 15px 10px 0;
    display: unset;
  }
}

section.supports ul li ._image {
  margin: 0 20px 0 0;
  float: left;
  width: 125px;
}

@media only screen and (max-width: 768px) {
  section.supports ul li ._image {
    float: none;
    width: 100%;
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.supports ul li ._image {
    float: left;
    width: 100px;
    margin: 0 15px 10px 0;
  }
}

section.supports ul li .__title {
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 10px 0;
  color: #22b0d4;
}

@media only screen and (max-width: 414px) {
  section.supports ul li .__title {
    font-size: 1.8rem;
    margin: 0 0 10px 0;
  }
}

section.supports ul li .___text {
  margin: 0;
  display: table;
}

@media only screen and (max-width: 768px) {
  section.supports ul li .___text {
    display: unset;
  }
}

section.recommended {
  padding: 75px 0;
  margin: 0 0 75px 0;
  background-image: url(../../images/contents-bg01.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  section.recommended {
    padding: 55px 0;
  }
}

@media only screen and (max-width: 768px) {
  section.recommended {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.recommended {
    padding: 55px 0 20px 0;
  }
}

section.recommended .title-wrap {
  background-image: url(../../images/title-bg02.png);
  background-size: 134.5px 46.5px;
  margin: 0 0 50px 0;
}

section.recommended .title-wrap ._title {
  color: #fffc01;
}

section.recommended .title-wrap ._text {
  color: #fff;
}

section.recommended .title-wrap :after {
  background-color: #fffc01;
}

section.recommended ._grid {
  display: grid;
  display: -ms-grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto auto;
  -ms-grid-rows: auto 1fr;
  -ms-grid-columns: auto auto;
  text-align: left;
  margin: 0 0 50px 0;
}

@media only screen and (max-width: 768px) {
  section.recommended ._grid {
    margin: 0 0 30px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid {
    grid-template-rows: unset;
    grid-template-columns: unset;
    -ms-grid-rows: unset;
    -ms-grid-columns: unset;
  }
}

section.recommended ._grid._02 {
  border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
  padding: 0 0 50px 0;
}

@media only screen and (max-width: 768px) {
  section.recommended ._grid._02 {
    padding: 0 0 30px 0;
  }
}

section.recommended ._grid._03 {
  grid-template-columns: 200px auto;
  -ms-grid-columns: 200px auto;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid._03 {
    grid-template-columns: unset;
    -ms-grid-columns: unset;
  }
}

section.recommended ._grid._03 ._grid01 {
  text-align: center;
  color: #fff;
  line-height: 1.4;
  font-weight: 500;
}

section.recommended ._grid._03 ._grid01 img {
  width: 100%;
  margin: 0 0 10px 0;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid._03 ._grid01 img {
    width: 70%;
  }
}

section.recommended ._grid ._grid01 {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  margin: 0 40px 0 0;
}

@media only screen and (max-width: 768px) {
  section.recommended ._grid ._grid01 {
    margin: 0 20px 0 0;
  }
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid ._grid01 {
    order: 2;
    grid-row: unset;
    grid-column: unset;
    -ms-grid-row: unset;
    -ms-grid-column: unset;
    margin: 0;
    padding: 0 0 0 20px;
  }
}

section.recommended ._grid ._grid01 img {
  width: 300px;
}

section.recommended ._grid ._grid02 {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid ._grid02 {
    order: 1;
    grid-row: unset;
    grid-column: unset;
    -ms-grid-row: unset;
    -ms-grid-column: unset;
  }
}

section.recommended ._grid ._grid02 ._title {
  color: #fff;
  font-size: 2.3rem;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid ._grid02 ._title {
    font-size: 2rem;
    margin: 0 0 15px 0;
  }
}

section.recommended ._grid ._grid02 ._title span {
  background: #fff;
  font-family: "Montserrat", sans-serif;
  border-radius: 20px;
  padding: 5px 10px;
  margin: 0 10px 0 0;
  font-weight: bold;
  width: 100px;
  text-align: center;
  font-size: 1.6rem;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid ._grid02 ._title span {
    margin: 0 5px 0 0;
  }
}

section.recommended ._grid ._grid02 ._title span span {
  color: #4481eb;
  background: -webkit-linear-gradient(0deg, #4481eb, #04befe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: 100px;
  margin: 0;
  text-align: center;
}

section.recommended ._grid ._grid03 {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  justify-content: top;
}

@media only screen and (max-width: 414px) {
  section.recommended ._grid ._grid03 {
    order: 3;
    grid-row: unset;
    grid-column: unset;
    -ms-grid-row: unset;
    -ms-grid-column: unset;
  }
}

section.recommended ._grid ._grid03 ._text {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.7;
}

@media only screen and (max-width: 768px) {
  section.recommended ._grid ._grid03 ._text {
    font-size: 1.5rem;
  }
}

section.class {
  margin: 0 0 75px 0;
  background-image: url(../../images/contents-bg04.png);
  background-position: top 32px center;
  background-size: 1220px auto;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 768px) {
  section.class {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 768px) {
  section.class {
    background-size: 135% auto;
  }
}

@media only screen and (max-width: 414px) {
  section.class {
    background-image: none;
  }
}

section.class ._inner {
  padding: 0 0 60px;
}

@media only screen and (max-width: 1000px) {
  section.class ._inner {
    padding: 0 20px 60px;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._inner {
    padding: 0 20px 20px;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._text {
    text-align: left;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._text br {
    display: none;
  }
}

section.class .__text {
  letter-spacing: 0.05rem;
}

section.class ._wrap {
  padding: 77px 0 0 0;
}

section.class ._wrap ._once {
  width: calc(50% - 35px);
  float: left;
  margin: 0 70px 100px 0;
  border: 15px solid #10c45c;
  border-radius: 10px;
  position: relative;
  padding: 0 0 20px 0;
  background: #fff;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once {
    width: calc(50% - 20px);
    margin: 0 40px 80px 0;
    border: 10px solid #10c45c;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once {
    width: 100%;
    float: none;
    margin: 0 auto 80px auto;
  }
}

section.class ._wrap ._once:nth-child(2n) {
  margin: 0 0 100px 0;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once:nth-child(2n) {
    margin: 0 0 80px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(2n) {
    margin: 0 auto 80px auto;
  }
}

section.class ._wrap ._once:nth-child(2) {
  border: 15px solid #f8c403;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(2) {
    border: 10px solid #f8c403;
  }
}

section.class ._wrap ._once:nth-child(2) ._title {
  color: #f8c403;
}

section.class ._wrap ._once:nth-child(2) ._target {
  background-color: #f8c403;
}

section.class ._wrap ._once:nth-child(3) {
  border: 15px solid #fb380b;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(3) {
    border: 10px solid #fb380b;
  }
}

section.class ._wrap ._once:nth-child(3) ._title {
  color: #fb380b;
}

section.class ._wrap ._once:nth-child(3) ._target {
  background-color: #fb380b;
}

section.class ._wrap ._once:nth-child(4) {
  border: 15px solid #a96127;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(4) {
    border: 10px solid #a96127;
  }
}

section.class ._wrap ._once:nth-child(4) ._title {
  color: #a96127;
}

section.class ._wrap ._once:nth-child(4) ._target {
  background-color: #a96127;
}

section.class ._wrap ._once:nth-child(5) {
  border: 15px solid #9aa5ae;
  margin: 0 70px 0 0;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(5) {
    border: 10px solid #9aa5ae;
  }
}

section.class ._wrap ._once:nth-child(5) ._title {
  color: #9aa5ae;
}

section.class ._wrap ._once:nth-child(5) ._target {
  background-color: #9aa5ae;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once:nth-child(5) {
    width: calc(50% - 20px);
    margin: 0 40px 0 0;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(5) {
    width: 100%;
    margin: 0 auto 80px auto;
  }
}

section.class ._wrap ._once:nth-child(6) {
  border: 15px solid #ba9b2a;
  margin: 0 0 0 0;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(6) {
    border: 10px solid #ba9b2a;
  }
}

section.class ._wrap ._once:nth-child(6) ._title {
  color: #ba9b2a;
}

section.class ._wrap ._once:nth-child(6) ._target {
  background-color: #ba9b2a;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once:nth-child(6) {
    width: 100%;
    margin: 0 auto 0 auto;
  }
}

section.class ._wrap ._once ._image {
  position: absolute;
  width: 137.5px;
  height: 136.5px;
  top: -77px;
  margin: 0 auto;
  left: 0;
  right: 0;
}

section.class ._wrap ._once ._image img {
  border: 10px solid #fff;
}

section.class ._wrap ._once ._title {
  font-size: 3.5rem;
  color: #10c45c;
  padding: 70px 0 0 0;
  line-height: 1.2;
  margin: 0 0 20px 0;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once ._title {
    font-size: 3rem;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once ._title {
    font-size: 2.6rem;
  }
}

section.class ._wrap ._once ._title span {
  font-size: 2.6rem;
  display: block;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once ._title span {
    font-size: 2.2rem;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once ._title span {
    font-size: 1.9rem;
  }
}

section.class ._wrap ._once ._target {
  background-color: #10c45c;
  padding: 3px 10px;
  font-size: 1.7rem;
  width: 90%;
  color: #fff;
  display: inline-block;
  margin: 0 0 15px 0;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once ._target {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once ._target {
    font-size: 1.5rem;
  }
}

section.class ._wrap ._once ._target span {
  position: relative;
  padding: 0 26px 0 0;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once ._target span {
    padding: 0 15px 0 0;
  }
}

section.class ._wrap ._once ._target span:after {
  content: "▶︎";
  position: absolute;
  display: inline-block;
  top: 4px;
  right: 5px;
  font-size: 1.4rem;
}

@media only screen and (max-width: 414px) {
  section.class ._wrap ._once ._target span:after {
    top: 3px;
    right: 1px;
    font-size: 1rem;
  }
}

section.class ._wrap ._once ._text {
  width: 90%;
  margin: 0 auto;
  text-align: left;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  section.class ._wrap ._once ._text {
    font-size: 1.5rem;
  }
}

section.step-up {
  margin: 0 0 75px 0;
  background-image: url(../../images/step-up-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  min-height: 521.5px;
  padding: 60px 0;
}

@media only screen and (max-width: 768px) {
  section.step-up {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.step-up .title-wrap ._text {
    font-size: 1.9rem;
  }
}

section.step-up .__text {
  width: 55%;
  margin: 0 auto 50px;
  font-size: 1.8rem;
  line-height: 1.7;
}

@media only screen and (max-width: 414px) {
  section.step-up .__text {
    width: 100%;
    margin: 0 auto 30px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

section.step-up a {
  font-size: 1.8rem;
  padding: 0 0 5px;
  border-bottom: 1px solid #666;
}

@media only screen and (max-width: 414px) {
  section.step-up a {
    font-size: 1.6rem;
  }
}

section.plan {
  margin: 0 0 75px 0;
}

@media only screen and (max-width: 768px) {
  section.plan {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.plan {
    margin: 0 0 40px 0;
  }
}

section.plan .__text {
  padding: 0 0 50px 0;
}

@media only screen and (max-width: 414px) {
  section.plan .__text {
    text-align: left;
    padding: 0 0 20px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.plan .__text br {
    display: none;
  }
}

section.plan .movie {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0px;
  position: relative;
  margin: 0 0 75px 0;
}

@media only screen and (max-width: 768px) {
  section.plan .movie {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.plan .movie {
    margin: 0 0 40px 0;
  }
}

section.plan .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

section.plan .time-table-title {
  width: 40%;
  margin: 0 auto 10px auto;
}

@media only screen and (max-width: 414px) {
  section.plan .time-table-title {
    width: 70%;
  }
}

section.plan .time-table {
  width: 90%;
  margin: 0 auto 60px auto;
}

@media only screen and (max-width: 768px) {
  section.plan .time-table {
    width: 100%;
    margin: 0 auto 30px auto;
  }
}

section.plan .time-table img {
  display: block;
}

.mediaLink {
  display: flex;
  justify-content: center;
}
.mediaLink__item {
  display: flex;
  border: 1px solid #135bc8;
}
.mediaLink__title {
  display: flex;
  align-items: center;
  background: #135bc8;
  /* 	background: linear-gradient(0deg, #4481eb, #04befe); */
  color: #fff;
  font-weight: 700;
  padding: 0.75em 1em;
  width: 120px;
}
.mediaLink__text {
  text-align: left;
  margin: 0;
  padding: 0.75em 1em;
  position: relative;
  flex: 1;
  line-height: 1.6;
}
.mediaLink__link {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

@media only screen and (max-width: 768px) {
  .mediaLink__item {
    flex-direction: column;
  }
  .mediaLink__title {
    width: 100%;
  }
}

section.voice {
  padding: 75px 0 175px 0;
  background: #f5f5f5;
}

@media only screen and (max-width: 768px) {
  section.voice {
    padding: 55px 0 135px 0;
  }
}

section.voice .title-wrap {
  margin: 0 0 40px 0;
}

section.voice .title-wrap span {
  font-size: 2rem;
}

@media only screen and (max-width: 414px) {
  section.voice .title-wrap span {
    font-size: 1.6rem;
  }
}

section.voice ._grid {
  display: grid;
  display: -ms-grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  -ms-grid-rows: auto auto;
  -ms-grid-columns: auto auto;
  width: calc(25% - 15px);
  margin: 0 20px 0 0;
  float: left;
  border: 1px solid #dddddd;
  border-radius: 10px;
  font-size: 1.8rem;
  background: #fff;
  padding: 20px;
}

@media only screen and (max-width: 768px) {
  section.voice ._grid {
    width: calc(50% - 5px);
    margin: 0 10px 10px 0;
    font-size: 1.6rem;
  }
  section.voice ._grid:nth-child(2n) {
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.voice ._grid {
    width: 100%;
    font-size: 1.6rem;
    margin: 0 0 15px 0;
  }
}

section.voice ._grid:nth-child(4) {
  margin: 0;
}

section.voice ._grid ._grid01 {
  grid-row: 1 / 2;
  grid-column: 1 / 3;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin: 0 0 15px 0;
  text-align: left;
}

section.voice ._grid ._grid02 {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  font-weight: 500;
  padding: 10px 10px 0 0;
  font-size: 1.5rem;
}

@media only screen and (max-width: 768px) {
  section.voice ._grid ._grid02 {
    text-align: left;
    padding: 0 10px 0 0;
  }
}

@media only screen and (max-width: 414px) {
  section.voice ._grid ._grid02 {
    text-align: center;
    padding: 10px;
  }
}

section.voice ._grid ._grid03 {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

section.voice ._grid ._grid03 img {
  width: 110px;
}

section.photo {
  background-image: url(../../images/contents-bg06.png);
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  height: calc(100vw * 0.5);
  max-height: 750px;
  position: relative;
  z-index: 1;
  top: -100px;
}

section.inquiry {
  background-image: url(../../images/contents-bg07.png);
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  height: calc(100vw * 0.7);
  max-height: 1050px;
  position: relative;
  z-index: 1;
  top: -150px;
  color: #fff;
  padding: 150px 0 0 0;
}

@media only screen and (max-width: 1300px) {
  section.inquiry {
    padding: 100px 0 0 0;
  }
}

@media only screen and (max-width: 1180px) {
  section.inquiry {
    padding: 70px 0 0 0;
  }
}

@media only screen and (max-width: 980px) {
  section.inquiry {
    height: calc(100vw * 0.75);
  }
}

@media only screen and (max-width: 768px) {
  section.inquiry {
    min-height: 850px;
    background-size: auto 850px;
    top: -130px;
    color: #fff;
    padding: 50px 0 0 0;
  }
}

section.inquiry._02 {
  background-image: none;
  height: auto;
  max-height: auto;
  position: relative;
  z-index: unset;
  top: 0;
  padding: 0;
}

@media only screen and (max-width: 768px) {
  section.inquiry._02 {
    min-height: unset;
    top: 0;
  }
}

section.inquiry._02 ._wrap {
  padding: 40px 30px;
  background-color: #135bc8;
  border-radius: 8px;
}

@media only screen and (max-width: 1100px) {
  section.inquiry._02 ._wrap {
    background-color: #135bc8;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry._02 ._wrap {
    width: 90%;
    margin: 0 auto;
    padding: 20px;
  }
}

section.inquiry._02 ._wrap .inquiry-tel {
  color: #fff;
}

section.inquiry._02 ._wrap .inquiry-tel span:before {
  content: "";
  background-image: url(../../images/phone-icon.png);
  background-repeat: no-repeat;
  top: 12px;
  left: 7px;
  width: 26px;
  height: 26.5px;
}

section.inquiry ._title {
  font-size: 3rem;
  font-weight: 500;
  text-align: left;
  position: relative;
  padding: 0 0 0 110px;
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 1100px) {
  section.inquiry ._title {
    padding: 0 0 0 150px;
  }
}

@media only screen and (max-width: 850px) {
  section.inquiry ._title {
    font-size: 2.6rem;
    padding: 0 0 0 130px;
    margin: 0 0 20px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._title {
    font-size: 2.2rem;
    padding: 0;
  }
}

section.inquiry ._title:before {
  content: "";
  background-image: url(../../images/logo.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  width: 155px;
  height: 111px;
  top: 0;
  left: -60px;
}

@media only screen and (max-width: 1100px) {
  section.inquiry ._title:before {
    left: 0px;
  }
}

@media only screen and (max-width: 850px) {
  section.inquiry ._title:before {
    font-size: 3rem;
    width: 115px;
    height: 83px;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._title:before {
    content: none;
  }
}

section.inquiry ._title span {
  font-size: 3.4rem;
  margin: 0 0 0 -20px;
  position: relative;
}

@media only screen and (max-width: 850px) {
  section.inquiry ._title span {
    font-size: 3rem;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._title span {
    font-size: 2.6rem;
  }
}

section.inquiry ._title span:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  width: 89%;
  height: 2px;
  margin: auto;
  background-image: linear-gradient(
    to right,
    #fff,
    #fff 5px,
    transparent 5px,
    transparent 10px
  );
  background-size: 10px 2px;
  background-repeat: repeat-x;
}

section.inquiry ._title span strong {
  color: #fffc01;
}

section.inquiry ._text {
  text-align: left;
  font-size: 1.7rem;
  line-height: 1.7;
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 850px) {
  section.inquiry ._text {
    margin: 0 0 20px 0;
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._text {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

section.inquiry ._text strong {
  color: #fffc01;
}

section.inquiry ._wrap {
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 8px;
}

@media only screen and (max-width: 1100px) {
  section.inquiry ._wrap {
    background-color: rgba(255, 255, 255, 0.7);
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._wrap {
    width: 90%;
    margin: 0 auto;
    padding: 20px;
  }
}

section.inquiry ._wrap .inquiry-btn {
  float: left;
  width: calc(50% - 10px);
  margin: 0 20px 0 0;
}

@media only screen and (max-width: 768px) {
  section.inquiry ._wrap .inquiry-btn {
    float: none;
    width: 100%;
  }
}

section.inquiry ._wrap .inquiry-btn a {
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section.inquiry ._wrap .inquiry-btn a:hover {
  opacity: 0.8;
}

section.inquiry ._wrap .inquiry-tel {
  float: left;
  width: calc(50% - 10px);
  position: relative;
  display: inline-block;
  color: #333;
  font-size: 2.2rem;
  font-weight: 500;
  padding: 20px 0 0 0;
}

@media only screen and (max-width: 768px) {
  section.inquiry ._wrap .inquiry-tel {
    float: none;
    width: 100%;
  }
}

@media only screen and (max-width: 414px) {
  section.inquiry ._wrap .inquiry-tel {
    font-size: 1.4rem;
  }
}

section.inquiry ._wrap .inquiry-tel:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 54px;
  width: 100%;
  height: 2px;
  margin: auto;
  background-image: linear-gradient(
    to right,
    #fff,
    #fff 5px,
    transparent 5px,
    transparent 10px
  );
  background-size: 10px 2px;
  background-repeat: repeat-x;
}

@media only screen and (max-width: 768px) {
  section.inquiry ._wrap .inquiry-tel:after {
    content: none;
  }
}

section.inquiry ._wrap .inquiry-tel span {
  font-weight: 700;
  font-size: 3.2rem;
  position: relative;
  padding: 0 0 0 37px;
  margin: 10px 0 0 0;
}

@media only screen and (max-width: 414px) {
  section.inquiry ._wrap .inquiry-tel span {
    display: block;
    font-size: 2.6rem;
    padding: 0 0 0 25px;
  }
}

section.inquiry ._wrap .inquiry-tel span:before {
  content: "";
  background-image: url(../../images/phone-icon02.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  top: 12px;
  left: 10px;
  width: 22px;
  height: 26.5px;
}

@media only screen and (max-width: 414px) {
  section.inquiry ._wrap .inquiry-tel span:before {
    top: 11px;
    left: 20px;
    width: 18px;
    height: 20.5px;
  }
}

section.price {
  margin: 0 0 75px 0;
}

@media only screen and (max-width: 768px) {
  section.price {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 768px) {
  section.price {
    margin: -50px 0 50px 0;
  }
}

section.price ._wrap {
  border: 3px solid #2c2c2c;
  box-shadow: 7px 7px 0px 0px #2c2c2c;
  position: relative;
  padding: 100px 100px 80px;
}

@media only screen and (max-width: 768px) {
  section.price ._wrap {
    padding: 60px 60px 40px;
  }
}

@media only screen and (max-width: 768px) {
  section.price ._wrap {
    padding: 60px 20px 40px;
  }
}

section.price ._wrap ._title {
  background: #2c2c2c;
  font-size: 3.6rem;
  padding: 10px 20px;
  position: absolute;
  width: 60%;
  margin: 0 auto;
  top: -35px;
  left: 0;
  right: 0;
  display: inline-block;
  color: #fff;
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
  section.price ._wrap ._title {
    width: 80%;
    font-size: 3rem;
  }
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._title {
    font-size: 2.2rem;
  }
}

section.price ._wrap ._title span {
  font-size: 3rem;
  padding: 0 0 0 20px;
}

@media only screen and (max-width: 768px) {
  section.price ._wrap ._title span {
    font-size: 2.6rem;
  }
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._title span {
    display: block;
    font-size: 1.6rem;
    padding: 0;
  }
}

section.price ._wrap ._once._01 {
  margin: 0 0 40px 0;
}

section.price ._wrap ._once._02 .__title span {
  background: #22b0d4;
}

section.price ._wrap ._once._02 ._once-inner {
  background-color: #edf9ff;
}

section.price ._wrap ._once._02 ._once-inner td span:before {
  color: #22b0d4;
}

section.price ._wrap .__title {
  text-align: left;
  font-size: 2.5rem;
  margin: 0 0 20px 0;
}

@media only screen and (max-width: 768px) {
  section.price ._wrap .__title {
    font-size: 2rem;
    font-weight: 500;
  }
}

@media only screen and (max-width: 414px) {
  section.price ._wrap .__title {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0 0 15px 0;
  }
}

section.price ._wrap .__title span {
  font-family: "Montserrat", sans-serif;
  font-size: 1.7rem;
  background: #83c434;
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: bold;
  margin: 0 20px 0 0;
}

@media only screen and (max-width: 414px) {
  section.price ._wrap .__title span {
    font-size: 1.3rem;
    display: table;
    margin: 0;
  }
}

section.price ._wrap ._once-inner {
  background-color: #edf4e6;
  padding: 40px;
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._once-inner {
    padding: 15px;
  }
}

section.price ._wrap ._once-inner table {
  text-align: left;
  border-collapse: collapse;
  border-spacing: 0;
}

section.price ._wrap ._once-inner table th {
  font-size: 1.8rem;
  font-weight: 500;
  vertical-align: top;
  padding: 0 20px 20px 0;
}

@media only screen and (max-width: 768px) {
  section.price ._wrap ._once-inner table th {
    font-size: 1.6rem;
    width: 20%;
    padding: 0 0 10px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._once-inner table th {
    display: block;
    width: 100%;
  }
}

section.price ._wrap ._once-inner table td {
  font-size: 1.5rem;
  font-weight: 500;
  vertical-align: top;
  padding: 0 0 10px 20px;
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._once-inner table td {
    display: block;
    width: 100%;
    padding: 0 0 10px 20px;
    font-weight: normal;
    font-size: 1.4rem;
  }
}

section.price ._wrap ._once-inner table td._border {
  border-bottom: 1px solid #fff;
  margin: 0 0 10px 0;
  display: block;
}

section.price ._wrap ._once-inner table td span {
  position: relative;
}

section.price ._wrap ._once-inner table td span:before {
  content: "◆";
  position: absolute;
  color: #83c434;
  top: 0;
  left: -20px;
}

section.price ._wrap ._once-inner ._text {
  border-top: 2px solid #fff;
  text-align: left;
  line-height: 1.7;
  padding: 20px 0 0 0;
}

@media only screen and (max-width: 414px) {
  section.price ._wrap ._once-inner ._text {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

section.gallery {
  max-width: 100%;
  margin: 0 auto;
  padding: 75px 0;
}

@media only screen and (max-width: 768px) {
  section.gallery {
    padding: 55px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.gallery {
    padding: 30px 0;
  }
}

section.gallery .title-wrap {
  width: 300px;
}

section.gallery ul {
  padding: 0;
}

section.gallery .slick-slide {
  margin: 0 20px;
}

section.gallery .slick-slide img {
  width: auto;
  height: 460px;
}

section.gallery .slick-prev,
section.gallery .slick-next {
  width: 65px;
  height: 65px;
  z-index: 1;
}

@media only screen and (max-width: 414px) {
  section.gallery .slick-prev,
  section.gallery .slick-next {
    width: 40px;
    height: 40px;
    opacity: 0.7;
  }
}

section.gallery .slick-prev {
  left: 30px;
}

@media only screen and (max-width: 414px) {
  section.gallery .slick-prev {
    left: 10px;
  }
}

section.gallery .slick-next {
  right: 30px;
}

@media only screen and (max-width: 414px) {
  section.gallery .slick-next {
    right: 10px;
  }
}

section.qa {
  padding: 75px 0;
  margin: 0 0 75px 0;
}

@media only screen and (max-width: 768px) {
  section.qa {
    padding: 55px 0;
  }
}

@media only screen and (max-width: 768px) {
  section.qa {
    margin: 0 0 50px 0;
  }
}

@media only screen and (max-width: 414px) {
  section.qa {
    margin: 0 0 20px 0;
  }
}

section.qa ._wrap {
  border: 3px solid #2c2c2c;
  box-shadow: 7px 7px 0px 0px #2c2c2c;
  position: relative;
  padding: 100px 80px 80px;
}

@media only screen and (max-width: 768px) {
  section.qa ._wrap {
    padding: 60px 60px 40px;
  }
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap {
    padding: 60px 15px 40px;
  }
}

section.qa ._wrap ._title {
  background: #2c2c2c;
  font-size: 3.6rem;
  padding: 10px 20px;
  position: absolute;
  width: 60%;
  margin: 0 auto;
  top: -35px;
  left: 0;
  right: 0;
  display: inline-block;
  color: #fff;
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
  section.qa ._wrap ._title {
    width: 80%;
    font-size: 3rem;
  }
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap ._title {
    font-size: 2.2rem;
  }
}

section.qa ._wrap ._title span {
  font-size: 3rem;
  padding: 0 0 0 20px;
}

@media only screen and (max-width: 768px) {
  section.qa ._wrap ._title span {
    font-size: 2.6rem;
  }
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap ._title span {
    display: inline-block;
    font-size: 2rem;
    padding: 0 0 0 10px;
  }
}

section.qa ._wrap dl {
  text-align: left;
  font-size: 1.7rem;
  line-height: 1.6;
}

@media only screen and (max-width: 768px) {
  section.qa ._wrap dl {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap dl {
    font-size: 1.5rem;
  }
}

section.qa ._wrap dl dt {
  color: #22b0d4;
  margin: 0 0 5px 0;
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap dl dt {
    text-indent: 20px;
  }
}

section.qa ._wrap dl dt span {
  position: relative;
}

section.qa ._wrap dl dt span:before {
  content: "●";
  color: #333;
  position: absolute;
  top: 0;
  left: -30px;
}

@media only screen and (max-width: 414px) {
  section.qa ._wrap dl dt span:before {
    left: -40px;
  }
}

section.qa ._wrap dl dd {
  border-bottom: 1px dotted #333;
  padding: 0 0 15px 0;
  margin: 0 0 15px 0;
}

section.qa ._wrap dl dd:last-child {
  border: none;
  padding: 0;
  margin: 0;
}

footer {
  background: #135bc8;
  padding: 80px 0 50px;
}

@media only screen and (max-width: 414px) {
  footer {
    padding: 30px 0 20px;
  }
}

@media only screen and (max-width: 414px) {
  footer .pc-footer {
    display: none;
  }
}

footer .sp-footer {
  display: none;
}

@media only screen and (max-width: 414px) {
  footer .sp-footer {
    display: block;
  }
}

footer ._inner {
  width: 1100px;
  margin: 0 auto;
}

@media only screen and (max-width: 1100px) {
  footer ._inner {
    width: 100%;
    padding: 0 20px;
  }
}

footer ._inner .map-wrap {
  width: calc(70% - 50px);
  float: left;
  margin: 0 50px 0 0;
}

@media only screen and (max-width: 768px) {
  footer ._inner .map-wrap {
    width: calc(55% - 30px);
    margin: 0 30px 0 0;
  }
}

@media only screen and (max-width: 414px) {
  footer ._inner .map-wrap {
    width: 100%;
    margin: 0;
  }
}

footer ._inner .map-wrap .map {
  width: 100%;
  padding-bottom: 65%;
  height: 0px;
  position: relative;
  margin: 0 0 55px 0;
}

@media only screen and (max-width: 768px) {
  footer ._inner .map-wrap .map {
    padding-bottom: 115%;
  }
}

@media only screen and (max-width: 414px) {
  footer ._inner .map-wrap .map {
    padding-bottom: 70%;
    margin: 0 0 20px 0;
  }
}

footer ._inner .map-wrap .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

footer ._inner .caption {
  width: 30%;
  float: right;
  text-align: left;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  footer ._inner .caption {
    width: 45%;
  }
}

@media only screen and (max-width: 414px) {
  footer ._inner .caption {
    width: 100%;
  }
}

footer ._inner .caption ._title {
  font-size: 2.1rem;
}

@media only screen and (max-width: 414px) {
  footer ._inner .caption ._title {
    margin: 0 0 5px 0;
  }
}

footer ._inner .caption ._address {
  font-size: 1.6rem;
}

@media only screen and (max-width: 414px) {
  footer ._inner .caption ._address {
    margin: 0 0 15px 0;
  }
}

footer ._inner .caption ._tel {
  font-size: 1.7rem;
  margin: 0 0 30px 0;
}

footer ._inner .caption ._tel br {
  display: none;
}

@media only screen and (max-width: 1100px) {
  footer ._inner .caption ._tel br {
    display: block;
  }
}

footer ._inner .caption ul.footer-banner {
  padding: 0;
  margin: 0;
}

footer ._inner .caption ul.footer-banner li {
  margin: 0 0 10px 0;
}

footer ._inner .caption ul.footer-banner li a {
  opacity: 1;
  transition-duration: 0.2s;
}

footer ._inner .caption ul.footer-banner li a:hover {
  opacity: 0.8;
}

footer ._inner .caption ul.footer-banner li a img {
  width: 270px;
}

footer ._inner ._tel {
  color: #fff;
  text-align: left;
  font-size: 1.6rem;
}

footer ._inner ul.footer-banner {
  padding: 20px 0 10px 0;
  width: 80%;
  margin: 0 auto;
}

footer ._inner ul.footer-banner li {
  margin: 0 0 10px 0;
}

footer .copyright {
  color: #fff;
  padding: 0 20px;
}

.sp-menu {
  display: none;
}

@media only screen and (max-width: 980px) {
  .sp-menu {
    display: block;
  }
}

.sp-menu-wrap {
  width: 100%;
  background: #000;
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 990;
  display: none;
  margin: 0;
  padding: 10px 0 20px 0;
  opacity: 0.9;
  overflow: auto;
  height: 100vh;
  width: 100vw;
}

.sp-menu-inner {
  overflow: auto;
}

ul#menu {
  list-style-type: none;
  width: 100%;
  background: #000;
  position: relative;
  left: 0px;
  top: 0px;
  margin: 0;
  padding: 100px 20px 50px 20px;
  opacity: 0.9;
}

ul#menu li {
  text-align: center;
  position: relative;
}

ul#menu li a {
  text-decoration: none;
  display: block;
  padding: 10px 20px;
  color: #fff;
  font-size: 1.8rem;
  position: relative;
  font-weight: bold;
}

ul#menu li a.second_level {
  padding: 15px 0 15px 55px;
}

ul#menu li a.second_level:before {
  content: "";
  position: absolute;
  width: 7px;
  height: 2px;
  display: block;
  background: #fff;
  top: 28px;
  left: 40px;
}

ul#menu li a:hover {
  opacity: 0.5;
}

div#sp-icon {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 999;
  border-radius: 20px;
}

div#sp-icon:hover {
  cursor: pointer;
  opacity: 0.7;
}

div#sp-icon span:before {
  display: inline-block;
  width: 25px;
  height: 2px;
  right: 0;
  top: 2px;
  border-radius: 2px;
  background: #fff;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.3s;
}

div#sp-icon span,
div#sp-icon span:after {
  display: inline-block;
  width: 25px;
  height: 2px;
  right: 0;
  border-radius: 2px;
  background: #fff;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.3s;
}

div#sp-icon span:after {
  bottom: 2px;
}

div#sp-icon.sp-open span:before,
div#sp-icon.sp-open span,
div#sp-icon.sp-open span:after {
  background: #fff;
}

div#sp-icon span {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

div#sp-icon span:before {
  content: "";
  transform: translateY(-10px) rotate(0deg);
}

div#sp-icon span:after {
  content: "";
  transform: translateY(10px) rotate(0deg);
}

div.sp-open span {
  background: transparent !important;
}

div.sp-open span:before {
  transform: rotate(45deg) !important;
  width: 25px !important;
  top: 0 !important;
}

div.sp-open span:after {
  transform: rotate(-45deg) !important;
  width: 25px !important;
  bottom: 0 !important;
}

.fixed-banner {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1000;
  background-color: #ffffffcc;
  padding: 20px;
}

.fixed-banner img {
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
  transition: all 0.3s ease 0s;
}

@media screen and (max-width: 768px) {
  .fixed-banner {
    padding: 10px;
  }
}

@media (hover: hover) {
  .fixed-banner a:hover img {
    transform: scale(1.05);
  }
}
