@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: #242424; }
  @media screen and (max-width: 768px) {
    .wrap {
      /*a {
      	&[href^="tel:"] {
      		pointer-events: auto;
      	}
      }*/ } }

/* --------------------
	Layout
-------------------- */
/* Mixin */
/* common parts */
/* button */
/*
	Wrap
------------------------------------------------------------ */
body a {
  transition: all .2s ease-in-out;
  cursor: pointer; }
  body a:hover {
    opacity: .7; }
  @media screen and (max-width: 768px) {
    body a:hover {
      opacity: 1; } }

.wrap {
  overflow: hidden; }
  .wrap img {
    width: 100%;
    height: auto; }
  .wrap .pc {
    display: none; }
  .wrap .sp {
    display: none; }
  .wrap .mplus {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
    font-style: normal; }
  .wrap .number {
    font-family: "Rubik", sans-serif;
    font-weight: 500;
    font-style: normal; }
  .wrap .red {
    color: #ff0133; }
  @media screen and (max-width: 768px) {
    .wrap .sp {
      display: block; }
    .wrap .pc {
      display: none; } }

/*
	Header
------------------------------------------------------------ */
.header {
  background: white;
  width: 100%;
  color: #242424;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000; }
  .header__inner {
    padding: .8rem;
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: space-between; }
  .header__button {
    width: 28rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .header__button-item {
      width: calc((100% - .5rem) / 2); }
      .header__button-item a {
        display: block;
        border-radius: 100rem;
        text-align: center;
        padding: .8rem 0; }
      .header__button-item01 {
        overflow: hidden;
        position: relative; }
        .header__button-item01::after {
          animation: 3s 0s shine linear infinite;
          background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
          content: '';
          height: 100%;
          left: -100%;
          position: absolute;
          top: 0;
          transform: skewX(-25deg);
          width: 50%; }
@keyframes shine {
  20% {
    left: 150%; }
  100% {
    left: 150%; } }
        .header__button-item01 a {
          background: #ff0133;
          border: solid 4px #d9002b;
          color: white;
          font-size: 1.2rem; }
          .header__button-item01 a img {
            width: 1rem;
            vertical-align: sub; }
      .header__button-item02 a {
        background: white;
        border: solid 4px #ff0133;
        color: #ff0133;
        font-weight: 900;
        letter-spacing: .05em; }
        .header__button-item02 a img {
          width: 2rem;
          vertical-align: sub; }
  @media screen and (max-width: 768px) {
    .header {
      position: relative; }
      .header__heading {
        margin: 0 auto; }
      .header__button {
        display: none; } }

/* visual */
.visual {
  background-color: white;
  background-image: url("../images/visual.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .visual__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 6rem 0 0;
    position: relative; }
    .visual__inner::before {
      position: absolute;
      content: " ";
      background-image: url("../images/visual_image.webp");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100%;
      width: 27rem;
      height: 36rem;
      bottom: -3rem;
      right: -3rem; }
  .visual__list {
    display: flex;
    align-items: flex-end; }
    .visual__list-item {
      border-radius: 10px;
      background: #242424;
      color: white;
      padding: .5rem 1rem;
      margin-right: .5rem;
      letter-spacing: .1em;
      font-size: 1.2rem; }
    .visual__list .note {
      font-size: .8rem; }
  .visual__heading {
    padding: 1.5rem 0;
    width: 70%;
    position: relative;
    z-index: 2; }
  .visual__catch {
    margin: 0 0 .5rem 1.5rem;
    width: 40%; }
  .visual__credit {
    margin: 0 0 3rem 1.5rem;
    padding: 1rem;
    background: white;
    border-radius: 10px;
    width: 40%;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700; }
    .visual__credit .text {
      margin-bottom: .5rem; }
  .visual__appeal {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 54%; }
  .visual__text {
    background: #242424;
    color: white;
    text-align: center;
    font-size: 1.4rem;
    line-height: 0;
    font-weight: 700;
    padding: 1.5rem 0; }
  @media screen and (max-width: 768px) {
    .visual {
      background-image: url("../images/visual-sp.webp"); }
      .visual__inner {
        padding: 2rem 0 10rem; }
        .visual__inner::before {
          width: 15rem;
          height: 19.8rem;
          bottom: 0;
          right: -4rem; }
      .visual__list-item {
        border-radius: 5px;
        padding: .25rem .5rem;
        margin-right: .25rem;
        font-size: 3.6vw; }
      .visual__list .note {
        font-size: 3.2vw; }
      .visual__heading {
        width: 100%; }
      .visual__catch {
        position: relative;
        left: -1.5rem;
        margin: 0.5rem 0;
        width: 74%; }
      .visual__credit {
        margin: 0;
        padding: .5rem;
        width: 64%;
        font-size: 3.6vw; }
      .visual__appeal {
        bottom: 1rem;
        width: 100%; }
      .visual__text {
        font-size: 5.5vw; } }

/*
	Contents
------------------------------------------------------------ */
.contents {
  background: transparent;
  color: #242424;
  /* 埋め込み地図・動画 レスポンシブ対応用 */ }
  .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: #fff4ad;
  background-image: url("../images/cv.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2rem 0; }
  .cv__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto; }
    .cv__inner .red {
      margin-bottom: 1rem;
      font-weight: 700; }
  .cv__text {
    text-align: center;
    font-weight: 900;
    font-size: 1.8rem;
    letter-spacing: .05em;
    margin-bottom: 1rem; }
    .cv__text .marker {
      background: linear-gradient(transparent 70%, #ffffff 70%); }
    .cv__text .number {
      font-weight: 500;
      font-size: 2.4rem; }
    .cv__text .small {
      font-size: 1.4rem; }
  .cv__pop {
    position: relative; }
    .cv__pop::after {
      position: absolute;
      content: " ";
      background-image: url("../images/cv_pop.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100%;
      width: 5rem;
      height: 5rem;
      top: -1.5rem;
      right: -.5rem;
      pointer-events: none; }
  .cv__tel {
    width: 60%;
    margin: 0 auto; }
    .cv__tel a {
      display: block;
      border-radius: 100rem;
      text-align: center;
      padding: .8rem 0;
      overflow: hidden;
      position: relative;
      background: #ff0133;
      border: solid 4px #d9002b;
      color: white;
      font-size: 2.4rem; }
      .cv__tel a img {
        width: 1.8rem;
        vertical-align: bottom; }
      .cv__tel a::after {
        animation: 3s 0s shine linear infinite;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
        content: '';
        height: 100%;
        left: -100%;
        position: absolute;
        top: 0;
        transform: skewX(-25deg);
        width: 50%; }
@keyframes shine {
  20% {
    left: 150%; }
  100% {
    left: 150%; } }
  .cv__contact {
    width: 40%;
    margin: 1rem auto; }
    .cv__contact a {
      display: block;
      border-radius: 100rem;
      text-align: center;
      padding: .8rem 0;
      background: white;
      border: solid 4px #ff0133;
      color: #ff0133;
      font-weight: 900;
      letter-spacing: .05em; }
      .cv__contact a img {
        width: 2rem;
        vertical-align: sub; }
  .cv__credit {
    margin: 1rem auto;
    padding: 1rem;
    background: white;
    border-radius: 10px;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center; }
    .cv__credit .image {
      width: 40%;
      margin-left: 1rem; }
  .cv__image {
    width: 60%;
    margin: 0 auto; }
  .cv__note {
    color: #4063ae;
    text-align: center;
    margin-top: .5rem;
    font-weight: 500; }
  @media screen and (max-width: 768px) {
    .cv {
      background-image: url("../images/cv-sp.webp"); }
      .cv__text {
        font-size: 7vw; }
        .cv__text .number {
          font-size: 10vw; }
        .cv__text .small {
          font-size: 5.5vw; }
      .cv__pop::after {
        width: 15vw;
        height: 15vw;
        top: -1rem;
        right: -1rem; }
      .cv__tel {
        width: 100%; }
        .cv__tel a {
          padding: .8rem 0;
          font-size: 8vw; }
          .cv__tel a img {
            width: 7%; }
      .cv__contact {
        width: 78%; }
        .cv__contact a img {
          width: 7%;
          vertical-align: baseline; }
      .cv__credit {
        padding: .5rem;
        border-radius: 5px;
        text-align: start;
        font-size: 3.6vw;
        line-height: 1.3em; }
        .cv__credit .image {
          width: 52%;
          margin-left: .5rem; }
      .cv__image {
        width: 100%; } }

/* 全ブロック共通 */
.price,
.compare,
.reason,
.flow,
.area,
.voice,
.faq,
.contact {
  padding: 3rem 0; }
  @media screen and (max-width: 768px) {
    .price,
    .compare,
    .reason,
    .flow,
    .area,
    .voice,
    .faq,
    .contact {
      padding: 8vw 0; } }
  .price__inner,
  .compare__inner,
  .reason__inner,
  .flow__inner,
  .area__inner,
  .voice__inner,
  .faq__inner,
  .contact__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto; }
  .price__heading,
  .compare__heading,
  .reason__heading,
  .flow__heading,
  .area__heading,
  .voice__heading,
  .faq__heading,
  .contact__heading {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 2.3rem;
    text-align: center; }
    .price__heading-sub,
    .compare__heading-sub,
    .reason__heading-sub,
    .flow__heading-sub,
    .area__heading-sub,
    .voice__heading-sub,
    .faq__heading-sub,
    .contact__heading-sub {
      text-align: center;
      font-size: 1.2rem;
      line-height: 1.8em;
      margin-bottom: 1rem; }
      .price__heading-sub .marker,
      .compare__heading-sub .marker,
      .reason__heading-sub .marker,
      .flow__heading-sub .marker,
      .area__heading-sub .marker,
      .voice__heading-sub .marker,
      .faq__heading-sub .marker,
      .contact__heading-sub .marker {
        background: #ffff33; }
    .price__heading .number,
    .compare__heading .number,
    .reason__heading .number,
    .flow__heading .number,
    .area__heading .number,
    .voice__heading .number,
    .faq__heading .number,
    .contact__heading .number {
      font-size: 3rem;
      font-weight: 700; }
    .price__heading .orange,
    .compare__heading .orange,
    .reason__heading .orange,
    .flow__heading .orange,
    .area__heading .orange,
    .voice__heading .orange,
    .faq__heading .orange,
    .contact__heading .orange {
      color: #ff6c00; }
  .price__text,
  .compare__text,
  .reason__text,
  .flow__text,
  .area__text,
  .voice__text,
  .faq__text,
  .contact__text {
    line-height: 1.8em;
    text-align: justify; }
  .price__image,
  .compare__image,
  .reason__image,
  .flow__image,
  .area__image,
  .voice__image,
  .faq__image,
  .contact__image {
    text-align: center; }
  @media screen and (max-width: 768px) {
    .price__heading,
    .compare__heading,
    .reason__heading,
    .flow__heading,
    .area__heading,
    .voice__heading,
    .faq__heading,
    .contact__heading {
      font-size: 8vw;
      line-height: 1.3em; }
      .price__heading-sub,
      .compare__heading-sub,
      .reason__heading-sub,
      .flow__heading-sub,
      .area__heading-sub,
      .voice__heading-sub,
      .faq__heading-sub,
      .contact__heading-sub {
        font-size: 5vw;
        line-height: 1.8em;
        margin-bottom: .5rem; }
      .price__heading .number,
      .compare__heading .number,
      .reason__heading .number,
      .flow__heading .number,
      .area__heading .number,
      .voice__heading .number,
      .faq__heading .number,
      .contact__heading .number {
        font-size: 11vw; } }

/* 各ブロック個別 */
.price {
  padding: 3rem 0 0; }
  .price__list {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-flow: wrap;
    padding: 2rem 0; }
    .price__list::after {
      display: block;
      content: "";
      width: calc((100% - 3rem) /3); }
    .price__list-item {
      background: white;
      border-radius: 16px;
      filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.3));
      width: calc((100% - 3rem) /3);
      margin-bottom: 1.5rem;
      position: relative; }
      @media screen and (max-width: 768px) {
        .price__list-item {
          filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3)); } }
      .price__list-item .title {
        background: #ff6c00;
        border-radius: 16px 16px 0 0;
        color: white;
        text-align: center;
        font-size: 1.4rem;
        font-weight: 900;
        padding: .5rem 0; }
      .price__list-item .list {
        padding: 1rem 1rem 5rem; }
        .price__list-item .list-item {
          position: relative;
          padding: .25rem 0 .25rem 1.5rem;
          line-height: 1.3em; }
          .price__list-item .list-item::before {
            position: absolute;
            content: " ";
            background-image: url("../images/icon_check.svg");
            background-position: center;
            background-repeat: no-repeat;
            background-size: 100%;
            width: 1.2rem;
            height: 1.2rem;
            top: .25rem;
            left: 0; }
      .price__list-item .money {
        position: absolute;
        left: 1.5rem;
        bottom: 1rem;
        color: #ff6c00; }
        .price__list-item .money .number {
          font-size: 4rem; }
        .price__list-item .money .medium {
          font-size: 1.8rem;
          font-weight: 700;
          position: relative; }
          .price__list-item .money .medium::before {
            position: absolute;
            content: "（税込）";
            top: -.25rem;
            left: -.5rem;
            font-size: .7rem;
            font-weight: normal; }
  .price__image {
    width: 36rem;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .price {
      padding: 2rem 0 0; }
      .price__list {
        padding: 2rem 0 0; }
        .price__list::after {
          display: none; }
        .price__list-item {
          border-radius: 8px;
          width: calc((100% - 1rem) /2);
          margin-bottom: 1rem; }
          .price__list-item .title {
            border-radius: 8px 8px 0 0;
            font-size: 5vw; }
          .price__list-item .list {
            padding: 1rem .5rem 4rem;
            font-size: 3.6vw; }
            .price__list-item .list-item {
              padding: .25rem 0 .25rem 1rem; }
              .price__list-item .list-item::before {
                width: 3.6vw;
                height: 3.6vw;
                top: .5rem; }
          .price__list-item .money {
            left: .5rem; }
            .price__list-item .money .number {
              font-size: 11vw; }
            .price__list-item .money .medium {
              font-size: 5vw; }
              .price__list-item .money .medium::before {
                top: -.5rem;
                left: -.5rem;
                font-size: 2.5vw; }
      .price__image {
        width: 90%; } }

.compare {
  background: #fff4ad; }
  .compare__heading-sub .marker {
    background: white; }
  .compare__image {
    margin: 2rem auto 0;
    width: 70%; }
  @media screen and (max-width: 768px) {
    .compare__image {
      width: 100%; } }

.reason {
  background: #fff4ad; }
  .reason__list {
    padding: 2rem 0 0; }
    .reason__list-item {
      background: white;
      border: 4px solid #242424;
      border-radius: 16px;
      position: relative;
      padding: 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1rem; }
      .reason__list-item .no {
        position: absolute;
        left: -1rem;
        top: .5rem;
        width: 10rem; }
      .reason__list-item .image {
        width: 44%; }
      .reason__list-item .inner {
        width: 54%; }
        .reason__list-item .inner .head {
          text-align: center;
          font-size: 1.6rem;
          font-weight: 900;
          line-height: 1.4em; }
          .reason__list-item .inner .head .orange {
            color: #ff6c00;
            font-size: 2rem; }
          .reason__list-item .inner .head .red {
            font-size: 2rem; }
          .reason__list-item .inner .head .number {
            font-size: 2.6rem; }
        .reason__list-item .inner .text {
          text-align: justify;
          line-height: 1.5em;
          margin: 1rem 0 0; }
  @media screen and (max-width: 768px) {
    .reason__list {
      padding: 2rem 0 1rem; }
      .reason__list-item {
        border-radius: 8px;
        padding: 2rem 1.5rem 1.5rem;
        display: block; }
        .reason__list-item .no {
          width: 44%; }
        .reason__list-item .image {
          width: 100%; }
        .reason__list-item .inner {
          width: 100%; }
          .reason__list-item .inner .head {
            margin-top: 1rem;
            font-size: 5vw; }
            .reason__list-item .inner .head .orange {
              font-size: 6vw; }
            .reason__list-item .inner .head .red {
              font-size: 6vw; }
            .reason__list-item .inner .head .number {
              font-size: 7vw; } }

.flow {
  background: #ffffc4; }
  .flow__heading {
    color: #ff6c00; }
  .flow__list {
    max-width: 760px;
    margin: 0 auto;
    padding: 2rem 0; }
    .flow__list-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: white;
      border: 4px solid #ff6c00;
      border-radius: 16px;
      padding: 1.5rem;
      margin-bottom: 1rem; }
      .flow__list-item .image {
        width: 20%; }
      .flow__list-item .inner {
        width: 76%; }
        .flow__list-item .inner .number {
          color: #ff6c00;
          font-size: 1.2rem; }
        .flow__list-item .inner .head {
          font-size: 1.6rem;
          font-weight: 900;
          margin: .5rem 0 1rem; }
        .flow__list-item .inner .text {
          line-height: 1.5em;
          text-align: justify; }
        .flow__list-item .inner .image {
          width: 60%;
          margin-top: .5rem; }
      .flow__list-item05 {
        border: 4px solid #ff0133; }
        .flow__list-item05 .inner .number {
          color: #ff0133; }
  @media screen and (max-width: 768px) {
    .flow__list-item {
      border-radius: 8px;
      padding: 1.5rem; }
      .flow__list-item .inner .number {
        font-size: 4.2vw; }
      .flow__list-item .inner .head {
        font-size: 5vw;
        margin: 0.5rem 0; }
      .flow__list-item .inner .image {
        width: 100%; } }

.area__text {
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5em;
  font-weight: 700; }
  .area__text .orange {
    background: #ff6c00;
    border-radius: 100rem;
    color: white;
    padding: 0 1rem; }
    .area__text .orange .number {
      font-size: 1.6rem; }
.area__image {
  width: 60%;
  margin: 2rem auto; }
.area .accordion {
  max-width: 800px;
  background: white;
  margin: .5rem auto; }
.area .accordion:not([open]) {
  margin-bottom: .5rem; }
.area .accordion summary {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 1rem;
  background: #ff6c00;
  color: white;
  font-weight: 700;
  cursor: pointer;
  border-radius: 16px; }
.area .accordion summary::-webkit-details-marker {
  display: none; }
.area .accordion summary::before,
.area .accordion summary::after {
  width: 3px;
  height: .9em;
  border-radius: 5px;
  background-color: #fff;
  content: ''; }
.area .accordion summary::before {
  position: absolute;
  right: 2rem;
  rotate: 90deg; }
.area .accordion summary::after {
  transition: rotate .3s;
  position: absolute;
  right: 2rem; }
.area .accordion[open] summary::after {
  rotate: 90deg; }
.area .accordion div {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0.5rem 0 0;
  padding: 1rem;
  color: #333333;
  transition: transform .5s, opacity .5s; }
.area .accordion[open] div {
  transform: none;
  opacity: 1; }
.area .answer {
  background: white;
  border: 4px solid #ff6c00;
  border-radius: 16px;
  line-height: 1.5em; }
@media screen and (max-width: 768px) {
  .area__text {
    font-size: 3.8vw;
    margin: 1.5rem 0; }
    .area__text .orange {
      padding: 0 .5rem; }
      .area__text .orange .number {
        font-size: 5.5vw; }
  .area__image {
    width: 80%;
    margin: 0 auto; }
  .area .accordion summary {
    padding: 1rem;
    line-height: 1.3em;
    border-radius: 8px; }
  .area .answer {
    border-radius: 8px; } }

.voice {
  background: #ffe25d; }
  .voice__list {
    max-width: 800px;
    margin: 2rem auto; }
    .voice__list-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: white;
      border: 4px solid #242424;
      border-radius: 16px;
      padding: 1.5rem;
      margin-bottom: 1rem; }
      .voice__list-item .prof {
        width: 13rem; }
        .voice__list-item .prof .image img {
          border-radius: 16px; }
        .voice__list-item .prof .detail {
          text-align: center;
          margin-top: 1.5rem; }
          .voice__list-item .prof .detail .orange {
            background: #ff6c00;
            color: white;
            border-radius: 100rem;
            font-weight: 700;
            padding: .5rem 1rem; }
      .voice__list-item .text {
        font-size: 1.1rem;
        width: 26rem;
        text-align: justify;
        line-height: 1.8rem;
        font-weight: 500; }
  @media screen and (max-width: 768px) {
    .voice__list-item {
      align-items: flex-start;
      border-radius: 8px;
      padding: 1rem; }
      .voice__list-item .prof {
        width: 32%; }
        .voice__list-item .prof .image img {
          border-radius: 8px; }
        .voice__list-item .prof .detail {
          position: relative;
          left: -2.5rem;
          top: 1rem;
          margin-top: 0; }
          .voice__list-item .prof .detail .orange {
            padding: 0.5rem;
            display: block;
            font-size: 3.2vw;
            width: 36vw; }
      .voice__list-item .text {
        font-size: 3.6vw;
        width: 64%; } }

.faq {
  background: #fff4ad; }
  .faq__heading {
    margin: 1rem 0 2rem;
    color: #ff6c00; }
  .faq .accordion {
    max-width: 800px;
    margin: .5rem auto; }
  .faq .accordion:not([open]) {
    margin-bottom: .5rem; }
  .faq .accordion summary {
    display: flex;
    align-items: center;
    position: relative;
    padding: 1rem;
    background: #ff6c00;
    color: white;
    font-weight: 700;
    cursor: pointer;
    border-radius: 16px; }
  .faq .accordion summary::-webkit-details-marker {
    display: none; }
  .faq .accordion summary::before,
  .faq .accordion summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #fff;
    content: '';
    margin: auto;
    top: 0;
    bottom: 0; }
  .faq .accordion summary::before {
    position: absolute;
    right: 2rem;
    rotate: 90deg; }
  .faq .accordion summary::after {
    transition: rotate .3s;
    position: absolute;
    right: 2rem; }
  .faq .accordion[open] summary::after {
    rotate: 90deg; }
  .faq .accordion div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0.5rem 0 0;
    padding: 1rem;
    color: #333333;
    transition: transform .5s, opacity .5s; }
  .faq .accordion[open] div {
    transform: none;
    opacity: 1; }
  .faq .number {
    font-size: 1.2rem; }
    .faq .number-a {
      color: #ff6c00; }
  .faq .answer {
    display: flex;
    justify-content: flex-start;
    background: white;
    border: 4px solid #ff6c00;
    border-radius: 16px;
    line-height: 1.5em;
    text-align: justify; }
    .faq .answer .icon {
      font-weight: 700;
      margin: 0 .3rem 0 0; }
  @media screen and (max-width: 768px) {
    .faq .accordion summary {
      border-radius: 8px;
      padding: 1rem 3rem 1rem 1rem;
      line-height: 1.3em;
      align-items: baseline; }
    .faq .answer {
      border-radius: 8px; } }

/*
	Footer
------------------------------------------------------------ */
.footer {
  background: #242424;
  color: white; }
  .footer__inner {
    padding: 2rem 0; }
  .footer__text {
    text-align: center;
    line-height: 2em; }
    .footer__text .large {
      font-size: 1.2rem;
      font-weight: 700; }
  .footer .copyright {
    text-align: center;
    margin: 2rem 0 0; }
  @media screen and (max-width: 768px) {
    .footer__inner {
      padding: 2rem 0 10rem; } }

/* Floating area */
.floating {
  display: none;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  background: #fff25d;
  padding: .5rem; }
  .floating__text {
    color: #ff0133;
    font-weight: 900;
    font-size: 3.6vw; }
  .floating__button {
    padding: .5rem 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .floating__button-item01 {
      width: 36%; }
      .floating__button-item01 a {
        display: block;
        border-radius: 100rem;
        text-align: center;
        padding: .5rem 0;
        background: white;
        border: solid 4px #ff0133;
        color: #ff0133;
        font-weight: 900;
        letter-spacing: .05em;
        line-height: 1.6em; }
        .floating__button-item01 a img {
          width: 24%;
          vertical-align: sub; }
    .floating__button-item02 {
      width: 62%; }
      .floating__button-item02 a {
        display: block;
        border-radius: 100rem;
        text-align: center;
        padding: .8rem 0;
        overflow: hidden;
        position: relative;
        background: #ff0133;
        border: solid 4px #d9002b;
        color: white;
        font-size: 3.2vw;
        line-height: 1.5em; }
        .floating__button-item02 a .number {
          font-size: 6vw; }
        .floating__button-item02 a::after {
          animation: 3s 0s shine linear infinite;
          background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
          content: '';
          height: 100%;
          left: -100%;
          position: absolute;
          top: 0;
          transform: skewX(-25deg);
          width: 50%; }
@keyframes shine {
  20% {
    left: 150%; }
  100% {
    left: 150%; } }
  .floating__pop {
    position: relative; }
    .floating__pop::after {
      position: absolute;
      content: " ";
      background-image: url("../images/cv_pop.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100%;
      width: 16vw;
      height: 16vw;
      top: -3rem;
      right: 0;
      pointer-events: none; }
  @media screen and (max-width: 768px) {
    .floating {
      display: block; } }
