@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Specify the box size calculation method */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Improved responsiveness of links and buttons on touch devices */
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

/* --------------------
	Settings
	変数・mixin設定
-------------------- */
/*
	書体
-------------------- */
/*
	カラー
-------------------- */
/*
	その他
-------------------- */
/* --------------------
	Base
	基本設定
-------------------- */
html {
  font-size: 1.8vw; }
  @media screen and (min-width: 1000px) {
    html {
      font-size: 18px; } }
  @media screen and (max-width: 768px) {
    html {
      font-size: 3.86vw; } }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal; }
  body a {
    color: inherit;
    text-decoration: none;
    /*&[href^="tel:"] {
    	pointer-events: none;
    }*/ }
  body img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  body em {
    font-style: normal; }
  body li {
    list-style: none; }
  body h1, body h2, body h3, body h4, body h5, body h6 {
    font-weight: inherit; }

.wrap {
  background: white;
  width: 100%;
  color: #000000; }
  @media screen and (max-width: 768px) {
    .wrap {
      /*a {
      	&[href^="tel:"] {
      		pointer-events: auto;
      	}
      }*/ } }

/* --------------------
	Layout
-------------------- */
/* Mixin */
/* common parts */
/* background image */
/* button */
/*
	Wrap
------------------------------------------------------------ */
.wrap img {
  width: 100%;
  height: auto; }

/*
	Header
------------------------------------------------------------ */
.header {
  background: white;
  width: 100%;
  color: #000000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000; }
  .header__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: .5rem 0;
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: space-between; }
  .header__heading {
    width: 20rem; }
  .header__button {
    width: calc(15rem * 2 + .5rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: .5rem; }
    .header__button-item01 a {
      transition: all .2s ease-in-out;
      cursor: pointer;
      background-color: #0034ea;
      width: 100%;
      height: 100%;
      padding-right: 1em;
      border-radius: .5rem;
      color: white;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
      height: 3rem; }
      .header__button-item01 a::after {
        transition: all .2s ease-in-out;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-style: normal;
        content: '';
        width: .5rem;
        height: .5rem;
        border-top: 2px solid white;
        border-right: 2px solid white;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%) rotate(45deg); }
      .header__button-item01 a:hover::after {
        right: .8rem; }
      .header__button-item01 a .icon {
        padding: 0 .4em 0 0; }
        .header__button-item01 a .icon img {
          width: 1.3em;
          height: 1.3em;
          object-fit: contain; }
      .header__button-item01 a .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em; }
      @media screen and (max-width: 768px) {
        .header__button-item01 a {
          border-radius: .5rem; }
          .header__button-item01 a::after {
            right: 3vw; }
          .header__button-item01 a:hover::after {
            right: 3vw; }
          .header__button-item01 a .icon {
            padding: 0 .8em 0 0; }
            .header__button-item01 a .icon img {
              width: 1.5em;
              height: 1.5em; }
          .header__button-item01 a .text {
            line-height: 1.4em;
            font-size: 1rem; } }
      @media screen and (max-width: 768px) {
        .header__button-item01 a {
          filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
      .header__button-item01 a br {
        display: none; }
    .header__button-item02 a {
      transition: all .2s ease-in-out;
      cursor: pointer;
      background-color: #0034ea;
      width: 100%;
      height: 100%;
      padding-right: 1em;
      border-radius: .5rem;
      color: white;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      background-color: #ff8121;
      filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
      height: 3rem; }
      .header__button-item02 a::after {
        transition: all .2s ease-in-out;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-style: normal;
        content: '';
        width: .5rem;
        height: .5rem;
        border-top: 2px solid white;
        border-right: 2px solid white;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%) rotate(45deg); }
      .header__button-item02 a:hover::after {
        right: .8rem; }
      .header__button-item02 a .icon {
        padding: 0 .4em 0 0; }
        .header__button-item02 a .icon img {
          width: 1.3em;
          height: 1.3em;
          object-fit: contain; }
      .header__button-item02 a .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em; }
      @media screen and (max-width: 768px) {
        .header__button-item02 a {
          border-radius: .5rem; }
          .header__button-item02 a::after {
            right: 3vw; }
          .header__button-item02 a:hover::after {
            right: 3vw; }
          .header__button-item02 a .icon {
            padding: 0 .8em 0 0; }
            .header__button-item02 a .icon img {
              width: 1.5em;
              height: 1.5em; }
          .header__button-item02 a .text {
            line-height: 1.4em;
            font-size: 1rem; } }
      .header__button-item02 a .text {
        line-height: 1.6em;
        font-size: .75em;
        font-weight: 400;
        text-align: center; }
        .header__button-item02 a .text .font {
          font-size: 2em; }
      @media screen and (max-width: 768px) {
        .header__button-item02 a .icon {
          padding: 0 .4em 0 0; } }
      @media screen and (max-width: 768px) {
        .header__button-item02 a {
          filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
  @media screen and (max-width: 768px) {
    .header {
      position: static;
      top: auto;
      left: auto;
      z-index: 1; }
      .header__inner {
        padding: 3vw 0; }
      .header__heading {
        width: 13rem;
        margin: 0 auto; }
      .header__button {
        width: 100%;
        grid-gap: 0;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 1000; }
        .header__button-item01 a, .header__button-item02 a {
          height: 4rem;
          border-radius: 0;
          filter: none; }
        .header__button-item01 a br {
          display: block; } }

/* visual */
.visual {
  background-color: white;
  background-image: url("../images/visual.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden; }
  .visual__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 8rem 0 4rem;
    position: relative; }
    .visual__inner::before, .visual__inner::after {
      content: '';
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 1; }
    .visual__inner::before {
      background-image: url("../images/visual_map.svg");
      background-position: top center;
      width: 50%;
      height: 100%;
      top: -10rem;
      left: -16%; }
    .visual__inner::after {
      background-image: url("../images/visual_water.webp");
      width: 10%;
      height: 20%;
      top: 14rem;
      left: 53.5%;
      mix-blend-mode: hard-light; }
  .visual__heading {
    width: 61.8%;
    position: relative;
    z-index: 50; }
  .visual__price {
    filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
    margin: 3rem auto 0 2.5rem;
    display: flex;
    position: relative;
    z-index: 50; }
    @media screen and (max-width: 768px) {
      .visual__price {
        filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
    .visual__price::before {
      position: absolute;
      content: " ";
      background-image: url("../images/visual_credit.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100%;
      width: 15rem;
      height: 3.5rem;
      left: 3.5rem;
      top: -2.5rem;
      z-index: 4; }
    .visual__price .head {
      background-color: #ff8121;
      padding: 1rem 1.2rem;
      border-radius: 1rem 0 0 1rem;
      line-height: 1.2em;
      color: white;
      font-size: 1.39rem; }
    .visual__price .body {
      background-color: white;
      background-image: url("../images/icon_tool.svg");
      background-position: 95% 50%;
      background-repeat: no-repeat;
      background-size: auto 80%;
      border-radius: 0 1rem 1rem 0;
      padding: .5rem 1rem 0;
      color: #ff8121;
      font-size: 2.5rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      position: relative; }
      .visual__price .body .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em;
        font-weight: 700; }
      .visual__price .body .large {
        font-size: 1.5em;
        position: relative;
        bottom: .08em; }
      .visual__price .body .tax {
        font-size: .26em;
        position: absolute;
        top: 1.6em;
        right: 5.3em; }
  .visual__list {
    display: grid;
    grid-template-columns: repeat(6, 4.5rem);
    grid-gap: .5rem;
    justify-content: flex-end;
    position: absolute;
    top: 2rem;
    right: 0; }
    .visual__list-item {
      position: relative; }
      .visual__list-item::after {
        filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
        content: '';
        background-color: #3d99ff;
        width: 4.5rem;
        height: 4.5rem;
        margin: 0 auto;
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 10; }
        @media screen and (max-width: 768px) {
          .visual__list-item::after {
            filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
      .visual__list-item img {
        position: relative;
        z-index: 20; }
  .visual__image {
    width: 50%;
    position: absolute;
    right: -2rem;
    bottom: 0;
    z-index: 2; }
  .visual__appeal {
    width: 49%;
    position: absolute;
    right: 0;
    bottom: 2rem;
    z-index: 10; }
  @media screen and (max-width: 768px) {
    .visual {
      background-image: url("../images/visual-sp.webp"); }
      .visual__inner {
        padding: 23vw 0 0; }
        .visual__inner::before {
          width: 80vw;
          height: 100%;
          top: -35vw;
          left: -13vw; }
        .visual__inner::after {
          width: 14vw;
          height: 18vw;
          top: 40vw;
          left: 88%; }
      .visual__heading {
        width: 100%; }
      .visual__price {
        width: fit-content;
        margin: 3.5rem auto 0 0;
        display: block; }
        .visual__price::before {
          width: 84%;
          height: 46%;
          left: 1rem;
          top: -3rem; }
        .visual__price .head {
          padding: 1vw 0;
          border-radius: .5rem .5rem 0 0;
          font-size: 1.06rem;
          text-align: center; }
          .visual__price .head br {
            display: none; }
        .visual__price .body {
          border-radius: 0 0 .5rem .5rem;
          padding: 3vw 3vw 2vw;
          font-size: 1.88rem; }
      .visual__list {
        margin: 0 auto;
        grid-template-columns: repeat(6, 3.7rem);
        justify-content: center;
        grid-gap: 1vw;
        top: 5vw;
        right: 0;
        left: 0; }
        .visual__list-item {
          text-align: center; }
          .visual__list-item::after {
            width: 3.7rem;
            height: 3.7rem; }
      .visual__image {
        width: 65%;
        right: -5vw; }
      .visual__appeal {
        width: 100%;
        padding: 5vw 0;
        position: relative;
        right: auto;
        bottom: auto; } }

/*
	Contents
------------------------------------------------------------ */
.contents {
  background: transparent;
  color: #000000;
  /* 埋め込み地図・動画 レスポンシブ対応用 */ }
  .contents .video,
  .contents .map {
    width: 100%;
    max-width: 1000px;
    height: 0;
    margin: 0 auto;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden; }
    .contents .video iframe,
    .contents .map iframe {
      width: 100% !important;
      height: 100% !important;
      position: absolute;
      top: 0;
      left: 0; }

/*
	Contents	主な編集箇所
------------------------------------------------------------ */
/* cv */
.cv {
  background-color: #0034ea;
  background-image: url("../images/cv.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
  overflow: hidden; }
  .cv__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    background-image: url("../images/icon_watch.svg");
    background-position: 10% 60%;
    background-repeat: no-repeat;
    background-size: 18% auto;
    padding: 3rem 0;
    text-align: center;
    position: relative; }
  .cv__catch {
    background-image: url("../images/cv_line.svg");
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1em .5em;
    line-height: 1.8em;
    font-size: 2.3rem;
    font-weight: 500;
    position: relative;
    z-index: 10; }
    .cv__catch .emphasis {
      color: #ffff21; }
    .cv__catch .font {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em;
      font-size: 1.29em; }
  .cv__text {
    padding: 1rem 0 1.5rem;
    line-height: 1.5em;
    font-size: 1.88rem;
    font-weight: 600;
    position: relative;
    z-index: 10; }
    .cv__text .emphasis {
      color: #ffff21; }
    .cv__text .font {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em;
      font-size: 1.29em; }
  .cv__image {
    width: 35%;
    position: absolute;
    bottom: 0;
    left: 77%; }
  .cv__appeal {
    width: 49%;
    margin: 0 auto;
    padding: 0 0 1rem; }
  .cv__button {
    position: relative;
    z-index: 10; }
  .cv01 .cv__text br:last-child {
    display: none; }
  .cv01 .cv__button a {
    transition: all .2s ease-in-out;
    cursor: pointer;
    background-color: #0034ea;
    width: 100%;
    height: 100%;
    padding-right: 1em;
    border-radius: .5rem;
    color: white;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: #ff8121;
    width: fit-content;
    margin: 0 auto;
    padding: .5em 2em;
    font-size: 2em;
    filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2)); }
    .cv01 .cv__button a::after {
      transition: all .2s ease-in-out;
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 400;
      font-style: normal;
      content: '';
      width: .5rem;
      height: .5rem;
      border-top: 2px solid white;
      border-right: 2px solid white;
      position: absolute;
      top: 50%;
      right: 1rem;
      transform: translateY(-50%) rotate(45deg); }
    .cv01 .cv__button a:hover::after {
      right: .8rem; }
    .cv01 .cv__button a .icon {
      padding: 0 .4em 0 0; }
      .cv01 .cv__button a .icon img {
        width: 1.3em;
        height: 1.3em;
        object-fit: contain; }
    .cv01 .cv__button a .font {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em; }
    @media screen and (max-width: 768px) {
      .cv01 .cv__button a {
        border-radius: .5rem; }
        .cv01 .cv__button a::after {
          right: 3vw; }
        .cv01 .cv__button a:hover::after {
          right: 3vw; }
        .cv01 .cv__button a .icon {
          padding: 0 .8em 0 0; }
          .cv01 .cv__button a .icon img {
            width: 1.5em;
            height: 1.5em; }
        .cv01 .cv__button a .text {
          line-height: 1.4em;
          font-size: 1rem; } }
    .cv01 .cv__button a::after {
      width: .35em;
      height: .35em;
      right: 1.5rem; }
    .cv01 .cv__button a:hover::after {
      right: 1.3rem; }
    .cv01 .cv__button a .icon img {
      width: 1.1em;
      height: 1.1em; }
    .cv01 .cv__button a .text {
      line-height: 1.2em; }
    @media screen and (max-width: 768px) {
      .cv01 .cv__button a {
        width: 100%;
        height: 3.9rem;
        padding: 0 1em 0 0; }
        .cv01 .cv__button a .text {
          font-size: 1.8rem; } }
    @media screen and (max-width: 768px) {
      .cv01 .cv__button a {
        filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
  .cv02 .cv__inner {
    background-position: 10% 40%; }
  .cv02 .cv__button {
    width: calc(20rem * 2 + 2rem);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem; }
    .cv02 .cv__button-item01 a, .cv02 .cv__button-item02 a {
      filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
      font-size: 1.33rem; }
      @media screen and (max-width: 768px) {
        .cv02 .cv__button-item01 a, .cv02 .cv__button-item02 a {
          filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
    .cv02 .cv__button-item01 a {
      transition: all .2s ease-in-out;
      cursor: pointer;
      background-color: #0034ea;
      width: 100%;
      height: 100%;
      padding-right: 1em;
      border-radius: .5rem;
      color: white;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      background-color: white;
      padding: .6em 1em .6em 0;
      color: #0034ea; }
      .cv02 .cv__button-item01 a::after {
        transition: all .2s ease-in-out;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-style: normal;
        content: '';
        width: .5rem;
        height: .5rem;
        border-top: 2px solid white;
        border-right: 2px solid white;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%) rotate(45deg); }
      .cv02 .cv__button-item01 a:hover::after {
        right: .8rem; }
      .cv02 .cv__button-item01 a .icon {
        padding: 0 .4em 0 0; }
        .cv02 .cv__button-item01 a .icon img {
          width: 1.3em;
          height: 1.3em;
          object-fit: contain; }
      .cv02 .cv__button-item01 a .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em; }
      @media screen and (max-width: 768px) {
        .cv02 .cv__button-item01 a {
          border-radius: .5rem; }
          .cv02 .cv__button-item01 a::after {
            right: 3vw; }
          .cv02 .cv__button-item01 a:hover::after {
            right: 3vw; }
          .cv02 .cv__button-item01 a .icon {
            padding: 0 .8em 0 0; }
            .cv02 .cv__button-item01 a .icon img {
              width: 1.5em;
              height: 1.5em; }
          .cv02 .cv__button-item01 a .text {
            line-height: 1.4em;
            font-size: 1rem; } }
      .cv02 .cv__button-item01 a::after {
        width: .6rem;
        height: .6rem;
        border-top-color: #0034ea;
        border-right-color: #0034ea;
        right: 1em; }
      .cv02 .cv__button-item01 a:hover::after {
        right: calc(1em - .2rem); }
      .cv02 .cv__button-item01 a .text {
        font-weight: 700; }
      @media screen and (max-width: 768px) {
        .cv02 .cv__button-item01 a {
          height: 3.9rem;
          padding: 0 1em 0 0; }
          .cv02 .cv__button-item01 a .text {
            font-size: 1.2rem; } }
    .cv02 .cv__button-item02 a {
      transition: all .2s ease-in-out;
      cursor: pointer;
      background-color: #0034ea;
      width: 100%;
      height: 100%;
      padding-right: 1em;
      border-radius: .5rem;
      color: white;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      background-color: #ff8121;
      padding: .6em 1em .6em 0;
      color: white; }
      .cv02 .cv__button-item02 a::after {
        transition: all .2s ease-in-out;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-style: normal;
        content: '';
        width: .5rem;
        height: .5rem;
        border-top: 2px solid white;
        border-right: 2px solid white;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%) rotate(45deg); }
      .cv02 .cv__button-item02 a:hover::after {
        right: .8rem; }
      .cv02 .cv__button-item02 a .icon {
        padding: 0 .4em 0 0; }
        .cv02 .cv__button-item02 a .icon img {
          width: 1.3em;
          height: 1.3em;
          object-fit: contain; }
      .cv02 .cv__button-item02 a .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em; }
      @media screen and (max-width: 768px) {
        .cv02 .cv__button-item02 a {
          border-radius: .5rem; }
          .cv02 .cv__button-item02 a::after {
            right: 3vw; }
          .cv02 .cv__button-item02 a:hover::after {
            right: 3vw; }
          .cv02 .cv__button-item02 a .icon {
            padding: 0 .8em 0 0; }
            .cv02 .cv__button-item02 a .icon img {
              width: 1.5em;
              height: 1.5em; }
          .cv02 .cv__button-item02 a .text {
            line-height: 1.4em;
            font-size: 1rem; } }
      .cv02 .cv__button-item02 a::after {
        width: .6rem;
        height: .6rem;
        right: 1em; }
      .cv02 .cv__button-item02 a:hover::after {
        right: calc(1em - .2rem); }
      .cv02 .cv__button-item02 a .text {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em;
        font-size: 1.5em; }
      @media screen and (max-width: 768px) {
        .cv02 .cv__button-item02 a {
          height: 3.9rem;
          padding: 0 1em 0 0; }
          .cv02 .cv__button-item02 a .text {
            font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    .cv {
      background-image: url("../images/cv-sp.webp"); }
      .cv__inner {
        background-position: 3% 50%;
        background-size: 25% auto;
        width: 100%;
        padding: 8vw 5vw; }
      .cv__catch {
        padding: 0 1em .5em;
        font-size: 1.44rem; }
      .cv__text {
        padding: 1rem 0 1.5rem;
        font-size: 1.2rem; }
      .cv__image {
        width: 48%;
        left: 50%; }
      .cv__appeal {
        width: 100%;
        padding: 0 0 3vw; }
      .cv01 .cv__text {
        width: fit-content;
        margin: 0 auto 0 0; }
        .cv01 .cv__text br:last-child {
          display: block; }
      .cv01 .cv__button {
        width: 80vw;
        margin: 0 auto; }
      .cv02 .cv__inner {
        background-position: 3% 32%; }
      .cv02 .cv__button {
        width: 80vw;
        grid-template-columns: 1fr;
        grid-gap: 3vw; }
        .cv02 .cv__button-item01 a, .cv02 .cv__button-item02 a {
          font-size: 1.33rem; } }

/* 全ブロック共通 */
.reason,
.area,
.voice,
.step,
.faq {
  padding: 4rem 0; }
  @media screen and (max-width: 768px) {
    .reason,
    .area,
    .voice,
    .step,
    .faq {
      padding: 8vw 0; } }
  .reason__inner,
  .area__inner,
  .voice__inner,
  .step__inner,
  .faq__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto; }
  .reason__heading,
  .area__heading,
  .voice__heading,
  .step__heading,
  .faq__heading {
    padding: 0 0 2rem;
    text-align: center; }
    .reason__heading .sub,
    .area__heading .sub,
    .voice__heading .sub,
    .step__heading .sub,
    .faq__heading .sub {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em;
      width: fit-content;
      margin: 0 auto;
      line-height: 1em;
      color: #0034ea;
      font-size: 2.8rem;
      font-weight: 700;
      letter-spacing: .1em;
      position: relative; }
      .reason__heading .sub::after,
      .area__heading .sub::after,
      .voice__heading .sub::after,
      .step__heading .sub::after,
      .faq__heading .sub::after {
        content: '';
        background-color: #0034ea;
        width: 1em;
        height: 4px;
        border-radius: 10em;
        margin: .4em auto .6em;
        display: block; }
      .reason__heading .sub .icon,
      .area__heading .sub .icon,
      .voice__heading .sub .icon,
      .step__heading .sub .icon,
      .faq__heading .sub .icon {
        width: 1.17em;
        display: block;
        position: absolute;
        top: -.03em;
        left: calc(100% + .3em); }
    .reason__heading .main,
    .area__heading .main,
    .voice__heading .main,
    .step__heading .main,
    .faq__heading .main {
      line-height: 1.6em;
      font-size: 2.77rem;
      font-weight: 700; }
    @media screen and (max-width: 768px) {
      .reason__heading,
      .area__heading,
      .voice__heading,
      .step__heading,
      .faq__heading {
        padding: 0 0 5vw; }
        .reason__heading .sub,
        .area__heading .sub,
        .voice__heading .sub,
        .step__heading .sub,
        .faq__heading .sub {
          font-size: 2rem; }
        .reason__heading .main,
        .area__heading .main,
        .voice__heading .main,
        .step__heading .main,
        .faq__heading .main {
          font-size: 1.88rem; } }
  .reason__text,
  .area__text,
  .voice__text,
  .step__text,
  .faq__text {
    line-height: 1.8em; }
    @media screen and (max-width: 768px) {
      .reason__text,
      .area__text,
      .voice__text,
      .step__text,
      .faq__text {
        /*br {
        	display: none;
        }*/ } }
  .reason__image,
  .area__image,
  .voice__image,
  .step__image,
  .faq__image {
    text-align: center; }
    .reason__image img.circle,
    .area__image img.circle,
    .voice__image img.circle,
    .step__image img.circle,
    .faq__image img.circle {
      border-radius: 100%;
      overflow: hidden; }

/* 各ブロック個別 */
.service {
  padding: 4rem 0;
  background-image: url("../images/service.webp");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-bottom: 0;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .service {
      padding: 8vw 0; } }
  .service__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 4rem;
    position: relative; }
    .service__inner::after {
      content: '';
      background-image: url("../images/service_image06.webp");
      background-position: right bottom;
      background-repeat: no-repeat;
      background-size: contain;
      width: 46%;
      height: 20rem;
      display: block;
      position: absolute;
      left: 66%;
      bottom: 0; }
  .service__heading {
    text-align: center; }
    .service__heading .sub {
      background-color: #0034ea;
      width: fit-content;
      margin: 0 auto 1rem;
      padding: 0 2em;
      border-radius: 10em;
      line-height: 2em;
      color: white;
      font-size: 1.66rem;
      font-weight: 700;
      position: relative; }
      .service__heading .sub::after {
        content: '';
        background-color: #0034ea;
        width: 1em;
        height: .5em;
        margin: 0 auto;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        position: absolute;
        top: calc(100% - 1px);
        right: 0;
        left: 0; }
    .service__heading .main {
      line-height: 1.6em;
      font-size: 2.44rem;
      font-weight: 700; }
      .service__heading .main .marker {
        background: linear-gradient(transparent 60%, #ffff21 60%); }
      .service__heading .main br:nth-child(1), .service__heading .main br:nth-child(4) {
        display: none; }
  .service__text {
    line-height: 1.8em;
    font-size: 1.77rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 10; }
    .service__text .marker01 {
      background: linear-gradient(transparent 60%, #ffff21 60%); }
    .service__text .marker02 {
      background: linear-gradient(transparent 5%, #0034ea 5%, #0034ea 95%, transparent 95%);
      color: white; }
    .service__text01 {
      padding: 0 0 2rem; }
  .service__box {
    filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
    padding: 4rem 0;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .service__box {
        filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
    .service__box-item {
      background-color: white;
      background-image: url("../images/icon_tool.svg");
      background-position: calc(100% - .5rem) calc(100% - .5rem);
      background-repeat: no-repeat;
      background-size: 3rem auto;
      width: calc((100% - 4rem) / 3);
      border-radius: 1rem;
      position: relative; }
      .service__box-item .catch {
        filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
        background-image: url("../images/icon_drop.svg");
        background-position: center bottom;
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.33rem;
        height: 7.56rem;
        padding-bottom: 1rem;
        line-height: 1.2em;
        color: white;
        font-size: 1.2rem;
        font-weight: 700;
        text-align: center;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        position: absolute;
        top: -2rem;
        left: -1rem; }
        @media screen and (max-width: 768px) {
          .service__box-item .catch {
            filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.2)); } }
      .service__box-item .list {
        padding: 1rem 1rem 5rem; }
        .service__box-item .list-item {
          padding: 0 0 0 1.3em;
          line-height: 1.8em;
          font-size: .88rem;
          font-weight: 500;
          text-indent: -1.3em; }
          .service__box-item .list-item::before {
            content: '';
            background-image: url("../images/icon_check.svg");
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
            width: 1.2em;
            height: 1.2em;
            margin: 0 .3em -.2em 0;
            display: inline-block; }
      .service__box-item .text {
        margin: 0 auto;
        line-height: 1.2em;
        color: #ff8121;
        font-size: 2rem;
        font-weight: 500;
        text-align: center;
        position: absolute;
        bottom: 1rem;
        right: 0;
        left: 0; }
        .service__box-item .text-price {
          font-weight: 700; }
          .service__box-item .text-price .font {
            font-family: "Oswald", sans-serif;
            font-weight: 400;
            font-style: normal;
            letter-spacing: .05em;
            font-weight: 700; }
          .service__box-item .text-price .large {
            font-size: 1.5em; }
          .service__box-item .text-price .tax {
            font-size: .26em;
            position: absolute;
            top: -1.5em;
            right: 9.5em; }
      .service__box-item .image {
        border-radius: 1rem 1rem 0 0;
        overflow: hidden; }
      .service__box-item01 .catch, .service__box-item03 .catch {
        padding-bottom: 2rem; }
      .service__box-item04 .list, .service__box-item05 .list {
        padding-bottom: 6.5rem; }
      .service__box-item04 {
        margin: 3rem 2rem 0 auto; }
      .service__box-item05 {
        margin: 3rem auto 0 0; }
  @media screen and (max-width: 768px) {
    .service {
      background-image: url("../images/service-sp.webp");
      padding-bottom: 0; }
      .service__inner {
        padding: 0;
        position: relative; }
        .service__inner::after {
          background-position: center bottom;
          width: 100%;
          margin: 0 auto;
          height: 15rem;
          position: relative;
          left: auto;
          bottom: auto; }
      .service__heading .sub {
        font-size: 1.25rem; }
      .service__heading .main {
        font-size: 1.8rem; }
        .service__heading .main br:nth-child(1), .service__heading .main br:nth-child(4) {
          display: block; }
      .service__text {
        font-size: 1.3rem; }
        .service__text01 {
          padding: 0; }
        .service__text02 {
          padding: 3vw 0; }
      .service__box {
        width: 78vw;
        margin: 0 auto;
        padding: 8vw 0;
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 5vw; }
        .service__box-item {
          background-position: calc(100% - 3vw) calc(100% - 3vw);
          background-size: 4.6rem auto;
          width: 100%;
          border-radius: .5rem; }
          .service__box-item .catch {
            width: 18.84vw;
            height: 26.7vw;
            padding-bottom: 1.3rem;
            font-size: 1rem;
            top: 5vw;
            left: -9.42vw; }
          .service__box-item .list {
            padding: 5vw; }
            .service__box-item .list-item {
              padding: 0 0 0 1.3em;
              line-height: 1.8em;
              font-size: .88rem;
              font-weight: 500;
              text-indent: -1.3em; }
              .service__box-item .list-item::before {
                content: '';
                background-image: url("../images/icon_check.svg");
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
                width: 1.2em;
                height: 1.2em;
                margin: 0 .3em -.2em 0;
                display: inline-block; }
          .service__box-item .text {
            padding: 0 0 5vw;
            font-size: 2rem;
            position: relative;
            bottom: auto;
            right: auto;
            left: auto; }
            .service__box-item .text-price .tax {
              right: 12.3em; }
          .service__box-item .image {
            border-radius: .5rem .5rem 0 0; }
          .service__box-item01 .catch, .service__box-item03 .catch {
            padding-bottom: 2rem; }
          .service__box-item04 .list, .service__box-item05 .list {
            padding-bottom: 3vw; }
          .service__box-item04, .service__box-item05 {
            margin: 0; }
          .service__box-item05 .catch {
            padding-bottom: 1rem; } }

.reason {
  background-color: #e1f4ff; }
  .reason__heading {
    padding: 0; }
  .reason__box {
    max-width: 50rem;
    margin: 0 auto;
    padding: 4rem 0 0;
    display: flex;
    justify-content: space-between; }
    .reason__box-item .number {
      width: 5.7rem;
      position: absolute;
      top: 0;
      left: 0; }
    .reason__box-item .heading {
      padding: .5rem 0 1.5rem 7rem;
      line-height: 1.4em;
      font-size: 1.66rem;
      font-weight: 700; }
      .reason__box-item .heading .emphasis {
        color: #0034ea; }
      .reason__box-item .heading .font {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em; }
    .reason__box-item .text {
      line-height: 1.8em;
      font-size: .88rem; }
    .reason__box-item .image {
      border-radius: 1rem;
      overflow: hidden; }
    .reason__box-item01 {
      width: calc(100% - 16rem - 2rem);
      position: relative; }
    .reason__box-item02 {
      width: 16rem; }
    .reason__box02, .reason__box04 {
      flex-flow: row-reverse; }
  @media screen and (max-width: 768px) {
    .reason__box {
      max-width: none;
      padding: 8vw 0 0;
      display: block; }
      .reason__box-item .number {
        width: 4rem; }
      .reason__box-item .heading {
        padding: .2rem 0 0 5rem;
        font-size: 1.25rem; }
      .reason__box-item .text {
        padding: 3vw 0;
        font-size: .88rem; }
      .reason__box-item .image {
        border-radius: .5rem; }
      .reason__box-item01, .reason__box-item02 {
        width: 100%; }
      .reason__box01 {
        padding: 5vw 0 0; } }

.area {
  background-image: url("../images/area_map.svg");
  background-position: -1rem -10rem;
  background-repeat: no-repeat;
  background-size: 50% auto; }
  .area__box {
    display: grid;
    grid-template-columns: 35% calc(100% - 35% - 1rem);
    grid-gap: 2rem 1rem; }
    .area__box-item {
      background-color: white;
      padding: 2rem 1rem 1rem;
      border: 2px solid;
      border-radius: 1rem;
      position: relative; }
      .area__box-item .heading {
        background-color: #000000;
        width: calc(100% - 3rem);
        max-width: 15em;
        margin: 0 auto;
        border-radius: 10em;
        line-height: 2em;
        color: white;
        font-size: 1.2rem;
        font-weight: 700;
        text-align: center;
        position: absolute;
        top: -1.2rem;
        right: 0;
        left: 0; }
        .area__box-item .heading01 {
          background-color: #78bde9; }
        .area__box-item .heading02 {
          background-color: #82c875; }
        .area__box-item .heading03 {
          background-color: #f4a617; }
      .area__box-item .list {
        margin: 0 auto;
        display: grid;
        grid-gap: .3rem; }
        .area__box-item .list-item {
          background-color: #000000;
          border-radius: 10em;
          line-height: 1.8em;
          color: white;
          font-size: .88rem;
          font-weight: 700;
          text-align: center; }
        .area__box-item .list01 {
          grid-template-columns: repeat(2, 1fr); }
          .area__box-item .list01 .list-item {
            background-color: #78bde9; }
        .area__box-item .list02 {
          grid-template-columns: repeat(4, 1fr); }
          .area__box-item .list02 .list-item {
            background-color: #82c875; }
        .area__box-item .list03 {
          max-width: calc(8rem * 5 + .3rem * 4);
          grid-template-columns: repeat(5, 1fr); }
          .area__box-item .list03 .list-item {
            background-color: #f4a617; }
      .area__box-item01 {
        border-color: #78bde9; }
      .area__box-item02 {
        border-color: #82c875; }
      .area__box-item03 {
        border-color: #f4a617;
        grid-column: 1 / 3; }
  @media screen and (max-width: 768px) {
    .area {
      background-position: -35vw -41vw;
      background-size: 110vw auto; }
      .area__heading {
        padding-bottom: calc(1rem + 5vw); }
      .area__box {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: calc(1rem + 3vw); }
        .area__box-item {
          padding: calc(1rem + 3vw) 3vw 3vw;
          border-radius: .5rem; }
          .area__box-item .heading {
            width: calc(100% - 3rem);
            max-width: 15em;
            margin: 0 auto;
            font-size: 1rem;
            top: calc(-1rem - 1px); }
          .area__box-item .list {
            grid-template-columns: repeat(3, 1fr);
            grid-gap: 1vw; }
            .area__box-item .list03 {
              max-width: none; }
          .area__box-item03 {
            grid-column: auto; } }

.voice {
  background-color: #3d99ff;
  background-image: url("../images/voice.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white; }
  .voice__heading .sub,
  .voice__heading .main {
    color: inherit; }
  .voice__heading .sub::after {
    background-color: white; }
  .voice__box {
    background-color: white;
    max-width: 50rem;
    margin: 0 auto 1rem;
    padding: 2rem;
    border-radius: 2rem;
    color: #000000;
    display: flex;
    justify-content: space-between; }
    .voice__box-item .catch {
      background-color: #0034ea;
      width: fit-content;
      padding: .5rem;
      border-radius: .5rem;
      color: white;
      font-size: .88rem;
      font-weight: 700; }
    .voice__box-item .heading {
      padding: 1rem 0;
      line-height: 1.5em;
      font-size: 1.44rem;
      font-weight: 700; }
      .voice__box-item .heading .emphasis {
        color: #3d99ff; }
    .voice__box-item .text {
      line-height: 1.8em;
      font-size: .88rem; }
    .voice__box-item .profile {
      padding: .5rem 0 0;
      line-height: 1.5em;
      font-size: .88rem;
      font-weight: 500; }
    .voice__box-item .image {
      border-radius: 50%;
      overflow: hidden; }
    .voice__box-item01 {
      width: calc(100% - 9rem - 2rem); }
    .voice__box-item02 {
      width: 9rem;
      text-align: center; }
    .voice__box:last-child {
      margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .voice {
      background-image: url("../images/voice-sp.webp"); }
      .voice__box {
        max-width: none;
        margin: 0 auto 3vw;
        padding: 5vw;
        border-radius: 1rem;
        display: block;
        position: relative; }
        .voice__box-item .heading {
          min-height: 5.7em;
          padding: 3vw calc(5vw + 20vw) 3vw 0;
          font-size: 1.13rem; }
          .voice__box-item .heading br {
            display: none; }
        .voice__box-item .profile {
          padding: 1vw 0 0;
          font-size: .77rem; }
        .voice__box-item01 {
          width: 100%; }
        .voice__box-item02 {
          width: 20vw;
          position: absolute;
          top: 5vw;
          right: 5vw; }
        .voice__box:last-child {
          margin: 0 auto; } }

.step__heading {
  padding-bottom: 4rem; }
.step__text {
  text-align: center;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 2rem 0 1rem; }
.step__image {
  width: 50%;
  margin: 0 auto; }
.step__box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2rem; }
  .step__box-item {
    text-align: center;
    position: relative; }
    .step__box-item .number {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em;
      background-image: url("../images/icon_drop.svg");
      background-position: center bottom;
      background-repeat: no-repeat;
      background-size: contain;
      width: 3rem;
      height: 4.5rem;
      padding-bottom: .8rem;
      line-height: 1.2em;
      color: white;
      font-size: 1.7rem;
      font-weight: 700;
      text-align: center;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      position: absolute;
      top: -3rem;
      left: 0; }
    .step__box-item .heading {
      padding: 1rem 0 .5rem;
      line-height: 1.5em;
      font-size: 1.11rem;
      font-weight: 700; }
      .step__box-item .heading .free {
        background-color: #ff8121;
        margin: 0 0 0 .3rem;
        padding: 0 .6em;
        border-radius: 10em;
        line-height: 1em;
        color: white;
        font-size: .7em;
        font-weight: 500;
        vertical-align: middle; }
    .step__box-item .text {
      line-height: 1.8em;
      font-size: .88rem;
      text-align: left; }
    .step__box-item .image {
      height: 5rem;
      display: flex;
      align-items: center;
      justify-content: center; }
      .step__box-item .image img {
        width: 100%;
        max-width: 6rem;
        height: 5rem;
        object-fit: contain; }
@media screen and (max-width: 768px) {
  .step__heading {
    padding-bottom: 5vw; }
  .step__text {
    letter-spacing: 0; }
  .step__image {
    width: 80%; }
  .step__box {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 8vw 5vw; }
    .step__box-item {
      padding: 10vw 0 0; }
      .step__box-item .number {
        width: 2.81rem;
        height: 4rem;
        padding-bottom: .5rem;
        top: 0; }
      .step__box-item .image {
        padding-left: 5vw; } }

.faq {
  background-color: #4186ff;
  background-image: url("../images/faq.webp");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  color: white; }
  .faq__heading .sub,
  .faq__heading .main {
    color: inherit; }
  .faq__heading .sub::after {
    background-color: white; }
  .faq__list {
    display: grid;
    grid-template-columns: 1fr; }
    .faq__list-item {
      overflow: hidden;
      border-bottom: 2px solid white; }
      .faq__list-item .head,
      .faq__list-item .body {
        line-height: 1.8em;
        display: flex;
        align-items: flex-start;
        position: relative; }
      .faq__list-item .head {
        min-height: 3rem;
        padding: 1rem 3rem 1rem 0;
        border-radius: .5rem;
        color: white;
        font-size: 1.11rem;
        font-weight: 700;
        position: relative;
        cursor: pointer; }
        .faq__list-item .head::before, .faq__list-item .head::after {
          transition: all .2s ease-in-out;
          content: '';
          background: white;
          display: block;
          position: absolute;
          top: 50%;
          transform: translateY(-50%); }
        .faq__list-item .head::before {
          width: 1.5rem;
          height: 4px;
          right: 1rem; }
        .faq__list-item .head::after {
          width: 4px;
          height: 1.5rem;
          right: calc(((1.5rem - 4px) / 2) + 1rem);
          opacity: 1; }
        .faq__list-item .head.is-active::after {
          opacity: 0; }
      .faq__list-item .body {
        transition: all .2s ease-in-out;
        height: 0;
        padding: 0 1rem 0 0;
        font-size: 1rem; }
        .faq__list-item .body.is-active {
          padding: .5rem 1rem 1rem 0;
          height: auto;
          min-height: 3rem; }
      .faq__list-item .icon {
        font-family: "Oswald", sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: .05em;
        padding: 0 1rem;
        font-size: 2rem;
        display: block; }
      .faq__list-item a {
        color: #0034ea;
        border-bottom: 1px solid #0034ea; }
  @media screen and (max-width: 768px) {
    .faq__list-item {
      border-bottom-width: 1px; }
      .faq__list-item .head {
        padding: 0.5rem calc(1rem + 6vw) 0.5rem 0;
        font-size: 1rem; }
        .faq__list-item .head::before {
          width: 1rem;
          height: 2px;
          right: 3vw; }
        .faq__list-item .head::after {
          width: 2px;
          height: 1rem;
          right: calc(((1rem - 2px) / 2) + 3vw); }
      .faq__list-item .body {
        padding: 0; }
        .faq__list-item .body.is-active {
          padding: 2vw 0 5vw; }
      .faq__list-item .icon {
        padding: 0 3vw;
        font-size: 1.2rem; } }

/* contact */
.contact {
  padding: 4rem 0;
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .contact {
      padding: 8vw 0; } }
  .contact__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto; }
  .contact__heading {
    padding: 0 0 2rem;
    text-align: center; }
    .contact__heading .sub {
      font-family: "Oswald", sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: .05em;
      width: fit-content;
      margin: 0 auto;
      line-height: 1em;
      color: #0034ea;
      font-size: 2.8rem;
      font-weight: 700;
      letter-spacing: .1em;
      position: relative; }
      .contact__heading .sub::after {
        content: '';
        background-color: #0034ea;
        width: 1em;
        height: 4px;
        border-radius: 10em;
        margin: .4em auto .6em;
        display: block; }
      .contact__heading .sub .icon {
        width: 1.17em;
        display: block;
        position: absolute;
        top: -.03em;
        left: calc(100% + .3em); }
    .contact__heading .main {
      line-height: 1.6em;
      font-size: 2.77rem;
      font-weight: 700; }
    @media screen and (max-width: 768px) {
      .contact__heading {
        padding: 0 0 5vw; }
        .contact__heading .sub {
          font-size: 2rem; }
        .contact__heading .main {
          font-size: 1.88rem; } }
  .contact__text {
    line-height: 1.8em;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .contact__text {
        /*br {
        	display: none;
        }*/ } }
  @media screen and (max-width: 768px) {
    .contact {
      padding-bottom: 0; }
      .contact__text {
        font-size: .88rem; }
      .contact .form {
        padding-bottom: 8vw; } }

/*
	Footer
------------------------------------------------------------ */
.footer {
  background: #e6e6e6;
  color: #000000; }
  .footer__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem 0;
    text-align: center; }
  .footer__heading {
    width: 20rem;
    margin: 0 auto; }
  .footer__text {
    padding: 2rem 0;
    line-height: 1.8em;
    font-size: .88rem; }
  .footer .copyright {
    line-height: 1.8em;
    font-size: .88rem; }
  @media screen and (max-width: 768px) {
    .footer__inner {
      padding: 5vw 0 calc(5vw + 4rem); }
    .footer__heading {
      width: 13rem; }
    .footer__text {
      padding: 3vw 0; } }
