@charset "UTF-8";
/* reset
---------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%; }

img {
  border: 0;
  vertical-align: bottom; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

sub {
  vertical-align: sub; }

sup {
  vertical-align: super; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

pre {
  white-space: pre-wrap; }

/* base
---------------------------------------------------------------------------- */
/*------------- General Elements -------------*/
html {
  font-size: 62.5%; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #3a3a3a;
  font-size: 1.5rem;
  margin: 0 auto;
  min-width: 1100px; }

a {
  text-decoration: none;
  color: #2c6cd6;
  outline: none; }
  a:hover, a:active, a:focus {
    text-decoration: none; }

img {
  max-width: 100%; }

* {
  word-break: break-all;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media screen and (max-width: 767px) {
  body {
    font-size: 3.46667vw;
    min-width: 100%; } }
@media (min-width: 767px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
/*------------- .l-header -------------*/
.l-header {
  -webkit-box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
  position: fixed;
  background: #fff;
  z-index: 10;
  padding: 20px 0;
  width: 100%; }

.l-header-inner {
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 0 20px; }

.l-header-logo {
  width: 338px; }

.l-header-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  width: 550px; }

.l-header-nav-clinic {
  width: 360px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .l-header-nav-clinic li {
    width: 180px;
    font-size: 1.5rem;
    line-height: 0.4;
    letter-spacing: 0.05em;
    font-weight: 700; }
    .l-header-nav-clinic li a {
      color: #3a3a3a; }
  .l-header-nav-clinic li:nth-child(n+3) {
    margin-top: 10px; }

.l-header-nav-clinic-txt {
  border: solid 1px #3a3a3a;
  width: 50px;
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-right: 5px;
  padding: 5px 0;
  border-radius: 5px; }

.l-header-time {
  padding: 10px;
  background: #eeeeee;
  font-size: 1.2rem;
  line-height: 1.66667;
  letter-spacing: 0.1em;
  font-weight: 700;
  width: 170px; }

.l-header-btn,
.l-header-close {
  display: none; }

@media screen and (max-width: 767px) {
  .l-header {
    -webkit-box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
    padding: 4.66667vw 0; }

  .l-header-inner {
    margin: 0 auto;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
    padding: 0 3.33333vw;
    position: relative; }

  .l-header-btn {
    cursor: pointer;
    display: block;
    width: 33.33333vw;
    text-align: center;
    padding: 4vw 0;
    border-radius: 1.06667vw;
    color: #ffffff;
    font-size: 3.46667vw;
    font-weight: 700;
    background-image: -webkit-linear-gradient(-90deg, #009b78 50%, #008365 51%); }

  .l-header-logo {
    width: 53.33333vw; }

  .l-header-nav {
    display: none;
    position: fixed;
    top: 20vw;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    width: 100%;
    background: #fff;
    z-index: 1;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    border-top: solid 1px #eeeeee; }

  .l-header-nav-clinic {
    width: 100%;
    padding: 6.66667vw 4vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .l-header-nav-clinic li {
      width: 47%;
      font-size: 4vw; }
      .l-header-nav-clinic li a {
        color: #3a3a3a;
        display: block;
        border-bottom: solid 2px #ccc;
        padding-bottom: 4vw;
        position: relative; }
        .l-header-nav-clinic li a::before {
          position: absolute;
          top: 0;
          right: 2vw;
          content: "";
          background: #f36191 url(../images/icn_tel.svg) no-repeat center center;
          background-size: 4vw 4.8vw;
          width: 8.93333vw;
          height: 8.93333vw;
          border-radius: 50%; }
    .l-header-nav-clinic li:nth-child(n+3) {
      margin-top: 4vw; }

  .l-header-nav-clinic-txt {
    border: none;
    width: 100%;
    display: block;
    font-size: 4vw;
    text-align: left;
    margin-right: 0;
    padding: 0;
    border-radius: 0;
    margin-bottom: 2.66667vw; }

  .l-header-time {
    padding: 4vw 0;
    background: #3a3a3a;
    font-size: 4.26667vw;
    width: 92vw;
    margin: 0 auto;
    color: #fff;
    text-align: center; }

  .l-header-time-txt {
    font-size: 3.2vw;
    font-weight: 500; }

  .l-header-close {
    cursor: pointer;
    background: #eeeeee;
    text-align: center;
    padding: 2.66667vw 0;
    margin-top: 8vw;
    font-size: 4.26667vw;
    font-weight: 700;
    display: block; }
    .l-header-close span {
      position: relative; }
      .l-header-close span::before {
        position: absolute;
        top: 2.66667vw;
        left: -6vw;
        content: "";
        width: 2.66667vw;
        height: 2.66667vw;
        border-top: 0.26667vw solid #3a3a3a;
        border-right: 0.26667vw solid #3a3a3a;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }

  .is-show {
    display: block; } }
.p-mv {
  padding-top: 100px;
  position: relative; }
  .p-mv img {
    width: 100%; }

.p-mv-btn {
  position: absolute;
  bottom: 4%;
  right: 21%;
  width: 33%; }
  .p-mv-btn img {
    width: 100%; }
    .p-mv-btn img:hover {
      opacity: 0.9; }
  .p-mv-btn .p-cv-btn {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    overflow: inherit !important;
    cursor: pointer !important; }

@media screen and (max-width: 767px) {
  .p-mv {
    padding-top: 20.66667vw;
    position: relative; }
    .p-mv img {
      width: 100%; }
    .p-mv .p-mv-btn {
      position: absolute;
      left: 0;
      bottom: 0.93333vw;
      right: 0;
      width: 94.4vw;
      margin: 0 auto; }
      .p-mv .p-mv-btn img {
        width: 100%; } }
.p-news {
  background: #fff; }

.p-news-inner {
  padding: 30px 0 40px;
  width: 1100px;
  margin: 0 auto; }

.p-news-ttl {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center; }
  .p-news-ttl span {
    position: relative; }
    .p-news-ttl span::before {
      position: absolute;
      left: -60px;
      content: "";
      background: url(../images/icn_note.svg) no-repeat left top;
      background-size: 50px 44px;
      width: 50px;
      height: 44px; }

.p-news-txt {
  font-size: 1.5rem;
  line-height: 1.73333;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 30px; }

@media screen and (max-width: 767px) {
  .p-news-inner {
    padding: 8vw 0 10.66667vw;
    width: 100%;
    margin: 0 auto; }

  .p-news-ttl {
    font-size: 4.8vw;
    margin-left: 28.66667vw;
    text-align: left; }
    .p-news-ttl span {
      position: relative; }
      .p-news-ttl span::before {
        position: absolute;
        top: 1.33333vw;
        left: -21.33333vw;
        content: "";
        background: url(../images/icn_note.svg) no-repeat left top;
        background-size: 16.66667vw 14.8vw;
        width: 16.66667vw;
        height: 14.8vw; }

  .p-news-txt {
    font-size: 3.46667vw;
    margin: 3.33333vw 4vw 0; } }
.p-trouble-ttl {
  background: #000;
  color: #fff;
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  text-align: center;
  padding: 30px 0; }

.p-trouble-ttl-sub {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700; }

.p-trouble-ttl-sub02 {
  font-size: 5rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #9ca9d3; }

.p-trouble-icn {
  position: relative; }
  .p-trouble-icn::before {
    content: "";
    background: url(../images/icn_trouble.svg) no-repeat left top;
    background-size: 49px 72px;
    width: 49px;
    height: 72px;
    position: absolute;
    top: -10px;
    right: -50px; }

.p-trouble-area {
  background: url(../images/bg_trouble_pc.png) no-repeat center top;
  background-size: cover;
  padding-bottom: 40px; }

.p-trouble-area-inner {
  width: 1100px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 60px 0 80px; }

.p-trouble-area-inner-list {
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500; }
  .p-trouble-area-inner-list li {
    position: relative;
    padding-left: 30px; }
    .p-trouble-area-inner-list li::before {
      position: absolute;
      top: 25px;
      left: 0;
      content: "";
      width: 20px;
      height: 20px;
      background: #3a3a3a;
      border-radius: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }

.p-trouble-area-inner-img {
  width: 414px; }

.p-trouble-area-col {
  color: #27285d;
  font-weight: 700;
  border-bottom: solid 6px #27285d; }

@media screen and (max-width: 767px) {
  .p-trouble-ttl {
    font-size: 4.53333vw;
    padding: 4vw 0; }

  .p-trouble-ttl-sub {
    font-size: 5.86667vw; }

  .p-trouble-ttl-sub02 {
    font-size: 6.93333vw; }

  .p-trouble-icn::before {
    background-size: 6.53333vw 9.6vw;
    width: 6.53333vw;
    height: 9.6vw;
    top: -12vw;
    right: 9.33333vw; }

  .p-trouble-area {
    background: url(../images/bg_trouble_sp.png) no-repeat center top;
    background-size: cover; }

  .p-trouble-area-inner {
    width: 100%;
    padding: 5.33333vw 0 9.33333vw;
    -ms-flex-direction: column-reverse;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }

  .p-trouble-area-inner-list {
    font-size: 4vw;
    margin-top: 8vw; }
    .p-trouble-area-inner-list li {
      position: relative;
      padding-left: 9.33333vw; }
      .p-trouble-area-inner-list li::before {
        position: absolute;
        top: 4vw;
        left: 4vw;
        content: "";
        width: 4vw;
        height: 4vw;
        background: #3a3a3a;
        border-radius: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }

  .p-trouble-area-inner-img {
    width: 94%;
    margin: 0 auto; }

  .p-trouble-area-col {
    border-bottom: solid 0.8vw #27285d; } }
.p-trouble-box {
  background: url(../images/bg_doctor_pc.png) no-repeat top center;
  background-size: cover; }

.p-trouble-box-inner {
  width: 1100px;
  margin: 0 auto;
  padding: 40px 0 100px;
  position: relative; }

.p-trouble-box-inner-sub {
  background: #000;
  width: 473px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative; }
  .p-trouble-box-inner-sub::before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -15px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #000 transparent transparent transparent;
    margin: 0 auto; }

.p-trouble-box-inner-sub-mt {
  margin-top: 180px; }

.p-trouble-box-inner-ttl {
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  font-family: 'Noto Serif JP', sans-serif;
  color: #fff;
  margin: 40px 0 60px; }

.p-trouble-box-inner-ttl02 {
  font-size: 8rem;
  line-height: 0.75;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative; }
  .p-trouble-box-inner-ttl02::before {
    position: absolute;
    left: 25px;
    bottom: 0;
    content: "";
    width: 5px;
    height: 5px;
    background: #fff;
    border-radius: 50%; }
  .p-trouble-box-inner-ttl02::after {
    position: absolute;
    left: 80px;
    bottom: 0;
    content: "";
    width: 5px;
    height: 5px;
    background: #fff;
    border-radius: 50%; }

.p-trouble-box-inner-ttl03 {
  font-size: 5rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative; }

.p-trouble-box-inner-txt {
  font-size: 3.6rem;
  line-height: 1.66667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff; }

.p-trouble-box-inner-tax {
  font-size: 2rem;
  line-height: 3;
  letter-spacing: 0.1em;
  font-weight: 700; }

.p-trouble-box-inner-discount {
  position: relative;
  padding-left: 30px; }
  .p-trouble-box-inner-discount::before {
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/icn_discount.png) no-repeat left top;
    width: 424px;
    height: 81px;
    content: ""; }

.p-trouble-box-inner-txt02 {
  font-size: 3rem;
  line-height: 2.66667;
  letter-spacing: 0.025em;
  font-weight: 700;
  color: #fff;
  margin-top: 20px;
  position: relative; }
  .p-trouble-box-inner-txt02::before {
    position: absolute;
    content: "";
    left: 150px;
    bottom: -5px;
    width: 330px;
    height: 20px;
    background: #f5eb49; }

.p-trouble-box-inner-txt03 {
  font-size: 6rem;
  line-height: 1.33333;
  letter-spacing: 0.025em;
  font-weight: 700; }

.p-trouble-box-inner-txt04 {
  font-size: 4rem;
  line-height: 2;
  letter-spacing: 0.025em;
  font-weight: 700; }

.p-trouble-box-inner-txt05 {
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-top: 50px;
  color: #fff;
  position: relative; }
  .p-trouble-box-inner-txt05::before {
    position: absolute;
    content: "";
    left: 310px;
    bottom: -10px;
    width: 340px;
    height: 20px;
    background: #f5eb49; }

.p-trouble-box-inner-txt06 {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700; }

.p-trouble-box-inner-inline {
  display: inline; }

@media screen and (max-width: 767px) {
  .p-trouble-box {
    background: url(../images/bg_doctor_sp.png) no-repeat top center;
    background-size: cover; }

  .p-trouble-box-inner {
    width: 100%;
    padding: 5.33333vw 4vw 8vw; }

  .p-trouble-box-inner-sub {
    width: 84vw;
    font-size: 4vw; }
    .p-trouble-box-inner-sub::before {
      bottom: -2vw;
      border-width: 2vw 2vw 0 2vw; }

  .p-trouble-box-inner-sub-mt {
    margin-top: 14.66667vw; }

  .p-trouble-box-inner-ttl {
    font-size: 6.66667vw;
    margin: 5.33333vw 0 5.33333vw; }

  .p-trouble-box-inner-ttl02 {
    font-size: 10.66667vw; }
    .p-trouble-box-inner-ttl02::before {
      left: 2.66667vw;
      width: 1.33333vw;
      height: 1.33333vw; }
    .p-trouble-box-inner-ttl02::after {
      position: absolute;
      left: 10.66667vw;
      content: "";
      width: 1.33333vw;
      height: 1.33333vw; }

  .p-trouble-box-inner-ttl03 {
    font-size: 6.66667vw;
    position: relative; }

  .p-trouble-box-inner-txt {
    font-size: 5.33333vw; }

  .p-trouble-box-inner-tax {
    font-size: 4vw;
    line-height: 1.2; }

  .p-trouble-box-inner-discount {
    padding-left: 0; }
    .p-trouble-box-inner-discount::before {
      top: 2.66667vw;
      background: url(../images/icn_discount.png) no-repeat left top;
      background-size: 56.53333vw 10.8vw;
      width: 56.53333vw;
      height: 10.8vw; }

  .p-trouble-box-inner-txt02 {
    font-size: 5.33333vw;
    margin-top: 5.33333vw;
    line-height: 1; }
    .p-trouble-box-inner-txt02::before {
      left: 0;
      bottom: 6.66667vw;
      width: 49.06667vw;
      height: 2.66667vw; }

  .p-trouble-box-inner-txt03 {
    font-size: 8vw;
    line-height: 1; }

  .p-trouble-box-inner-txt04 {
    font-size: 5.33333vw;
    line-height: 1; }

  .p-trouble-box-inner-txt05 {
    font-size: 4vw;
    line-height: 1;
    margin-top: 5.33333vw; }
    .p-trouble-box-inner-txt05::before {
      left: 0;
      bottom: -4vw;
      width: 44vw;
      height: 2.66667vw; }

  .p-trouble-box-inner-txt06 {
    font-size: 5.33333vw;
    line-height: 1; }

  .p-trouble-box-inner-inline {
    display: block; }

  .p-trouble-box-inner-mt {
    margin-top: 2vw; }

  .p-trouble-box-inner-mt02 {
    margin-top: 6.66667vw; } }
.p-trouble-table {
  width: 100%; }

.p-trouble-table td {
  background: #fff;
  border: solid 2px #f36191; }

.p-trouble-table-bg {
  background: #f36191 !important; }

.p-trouble-table-th {
  font-size: 2rem;
  line-height: 3;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #f36191;
  border-right: solid 2px #f36191;
  border-radius: 15px 15px 0 0;
  background: #fff; }

.p-trouble-table-th02 {
  font-size: 2.8rem;
  line-height: 2.14286;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  border-right: solid 2px #f36191;
  border-radius: 15px 15px 0 0;
  background: #0cbbaf; }

.p-trouble-table-txt {
  font-size: 1.8rem;
  line-height: 2.55556;
  letter-spacing: 0.1em;
  font-weight: 700;
  width: 12%;
  vertical-align: middle;
  text-align: center; }

.p-trouble-table-txt02 {
  font-size: 1.7rem;
  line-height: 1.52941;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 44%;
  vertical-align: middle;
  padding: 0 30px; }

.p-trouble-table-txt03 {
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 44%;
  vertical-align: middle;
  background: #0cbbaf !important;
  border-top: solid 2px #0cbbaf !important;
  padding: 0 7px !important; }

.p-trouble-table-txt03-sub {
  background: #fffce9;
  padding: 20px 20px;
  font-weight: 500; }

.p-trouble-table-txt03-col {
  color: #f36191;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700; }

.p-trouble-table-txt03-pb {
  padding: 0 7px 7px !important; }

@media screen and (max-width: 767px) {
  .p-trouble-table {
    width: 100%;
    margin-top: 10.66667vw; }

  .p-trouble-table td {
    border: solid 0.53333vw #f36191; }

  .p-trouble-table-th {
    font-size: 4vw;
    border-right: solid 0.53333vw #f36191;
    border-radius: 2vw 2vw 0 0; }

  .p-trouble-table-th02 {
    font-size: 4.53333vw;
    border-right: solid 0.53333vw #f36191;
    border-radius: 2vw 2vw 0 0; }

  .p-trouble-table-txt {
    font-size: 4vw;
    width: 12%;
    line-height: 1.2; }

  .p-trouble-table-txt02 {
    font-size: 3.46667vw;
    width: 44%;
    padding: 2vw 4vw 0;
    vertical-align: top; }

  .p-trouble-table-txt03 {
    vertical-align: top;
    font-size: 3.46667vw;
    width: 44%;
    border-top: solid 0.53333vw #0cbbaf !important;
    padding: 0 1.86667vw !important; }

  .p-trouble-table-txt03-sub {
    padding: 2vw 2.66667vw 6.66667vw; }

  .p-trouble-table-txt03-col {
    font-size: 3.46667vw; }

  .p-trouble-table-txt03-pb {
    padding: 0 1.86667vw 1.86667vw !important; } }
.p-trouble-merit {
  background: #ffffff;
  padding: 30px 80px;
  margin-top: 60px; }

.p-trouble-merit-ttl {
  font-size: 2.4rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #f36191; }
  .p-trouble-merit-ttl span {
    position: relative; }
    .p-trouble-merit-ttl span::before {
      position: absolute;
      top: 0;
      left: -30px;
      background: url(../images/icn_merit_left.svg) no-repeat left top;
      background-size: 21px 45px;
      content: "";
      width: 21px;
      height: 45px; }
    .p-trouble-merit-ttl span::after {
      position: absolute;
      top: 0;
      right: -30px;
      background: url(../images/icn_merit_right.svg) no-repeat left top;
      background-size: 21px 45px;
      content: "";
      width: 21px;
      height: 45px; }

.p-trouble-merit-txt {
  font-size: 1.7rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 10px; }

.p-trouble-merit-col {
  color: #f36191; }

@media screen and (max-width: 767px) {
  .p-trouble-merit {
    padding: 8vw 4vw;
    margin-top: 8vw; }

  .p-trouble-merit-ttl {
    font-size: 5.33333vw;
    line-height: 1.5; }
    .p-trouble-merit-ttl span {
      position: relative; }
      .p-trouble-merit-ttl span::before {
        position: absolute;
        top: 1.33333vw;
        left: -9.33333vw;
        background: url(../images/icn_merit_left.svg) no-repeat left top;
        background-size: 4.26667vw 13.2vw;
        width: 4.26667vw;
        height: 13.2vw; }
      .p-trouble-merit-ttl span::after {
        position: absolute;
        top: 1.33333vw;
        right: -5.33333vw;
        background: url(../images/icn_merit_right.svg) no-repeat left top;
        background-size: 4.26667vw 13.2vw;
        width: 4.26667vw;
        height: 13.2vw; }

  .p-trouble-merit-txt {
    font-size: 4vw;
    margin-top: 2.66667vw; } }
.p-cv {
  background: #e2dccf;
  text-align: center; }

.p-cv::before,
.p-cv::after {
  content: "";
  display: block;
  height: 5px;
  background-image: -webkit-linear-gradient(0deg, #8b631e 0%, #e0c161 35%, #e0c161 56%, #8b631e 100%); }

.p-cv-inner {
  padding: 30px 0; }

.p-cv-btn {
  position: relative;
  width: 580px;
  height: 122px;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  cursor: pointer; }
  .p-cv-btn a {
    display: block; }

.p-cv-btn img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  display: block;
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out; }

.p-cv-btn:hover img:nth-of-type(2) {
  opacity: 0; }

@media screen and (max-width: 767px) {
  .p-cv::before,
  .p-cv::after {
    height: 1.33333vw; }

  .p-cv-inner {
    padding: 8vw 0; }

  .p-cv-btn {
    width: 94.4vw;
    height: 19.86667vw; } }
.p-flow {
  background: url(../images/bg_flow_pc.png) no-repeat left top;
  background-size: cover; }

.p-flow-inner {
  width: 1100px;
  margin: 0 auto;
  padding: 90px 0 100px; }

.p-flow-inner-box {
  border: solid 2px #f36191;
  position: relative;
  background: url(../images/bg_flow02_pc.png) no-repeat left top;
  background-size: cover;
  padding: 90px 30px 60px 0; }

.p-flow-inner-ttl {
  font-size: 3.4rem;
  line-height: 1.76471;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  background: #f36191;
  width: 430px;
  margin: 0 auto;
  color: #fff;
  position: absolute;
  top: -32px;
  left: 0;
  right: 0; }

.p-flow-inner-area {
  position: relative; }

.p-flow-inner-area + .p-flow-inner-area {
  margin-top: 40px; }

.p-flow-inner-area-bg {
  background: #f36191;
  width: 145px;
  color: #fff;
  font-size: 2.4rem;
  line-height: 2.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-left: 13px;
  position: absolute; }
  .p-flow-inner-area-bg::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 12px 30px 0;
    border-color: transparent #faf8ee transparent transparent;
    content: "";
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .p-flow-inner-area-bg span {
    font-size: 3.4rem;
    line-height: 1.76471;
    letter-spacing: 0.05em;
    font-weight: 700;
    font-family: 'Noto Serif JP', sans-serif; }

.p-flow-inner-area-bg01::after {
  border-color: transparent #fff transparent transparent !important; }

.p-flow-inner-area-column {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding-left: 165px; }

.p-flow-inner-area-column-txt {
  width: 535px; }

.p-flow-inner-area-column-txt-ttl {
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #f36191; }

.p-flow-inner-area-column-txt-sub {
  font-size: 1.8rem;
  line-height: 1.55556;
  letter-spacing: 0.1em;
  font-weight: 500; }

.p-flow-inner-area-column-txt-col {
  color: #f36191;
  font-weight: 700; }

.p-flow-inner-area-column-img {
  width: 316px; }

.p-flow-inner-area-column-txt-sub02 {
  font-size: 1.5rem;
  line-height: 1.73333;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 10px; }

@media screen and (max-width: 767px) {
  .p-flow {
    background: url(../images/bg_flow_sp.png) no-repeat left top; }

  .p-flow-inner {
    width: 92%;
    padding: 16.66667vw 0 7.33333vw; }

  .p-flow-inner-box {
    background: url(../images/bg_flow02_sp.png) no-repeat left top;
    background-size: cover;
    padding: 16.66667vw 4vw 4vw; }

  .p-flow-inner-ttl {
    font-size: 5.33333vw;
    width: 57.33333vw;
    top: -5.33333vw; }

  .p-flow-inner-area + .p-flow-inner-area {
    margin-top: 16vw; }

  .p-flow-inner-area-bg {
    left: -4vw;
    width: 25.33333vw;
    font-size: 4.8vw;
    padding-left: 2vw; }
    .p-flow-inner-area-bg::after {
      border-width: 5.33333vw 2vw 5.33333vw 0; }
    .p-flow-inner-area-bg span {
      font-size: 5.33333vw; }

  .p-flow-inner-area-column {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    padding-left: 0; }

  .p-flow-inner-area-column-txt {
    width: 100%; }

  .p-flow-inner-area-column-txt-ttl {
    font-size: 4.8vw;
    padding: 1.33333vw 0 0 24vw; }

  .p-flow-inner-area-column-txt-ttl02 {
    font-size: 4.8vw;
    padding: 0 0 0 24vw;
    line-height: 1.3; }

  .p-flow-inner-area-column-txt-sub {
    font-size: 4vw;
    padding: 4vw 0 4vw; }

  .p-flow-inner-area-column-txt-col {
    color: #f36191;
    font-weight: 700; }

  .p-flow-inner-area-column-img {
    width: 100%; }

  .p-flow-inner-area-column-txt-sub02 {
    font-size: 3.2vw;
    margin-top: 1.33333vw; } }
.p-reason-ttl {
  font-size: 3rem;
  line-height: 2.33333;
  letter-spacing: 0.1em;
  font-weight: 700;
  background: #f36191;
  color: #fff;
  text-align: center;
  position: relative; }
  .p-reason-ttl::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -20px;
    right: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #f36191 transparent transparent transparent; }

.p-reason-box {
  background: url(../images/bg_reason_pc.png) no-repeat left top;
  background-size: cover;
  padding-bottom: 100px; }

.p-reason-box-inner {
  width: 1100px;
  margin: 0 auto; }

.p-reason-box-inner-ttl {
  font-size: 4.8rem;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  text-align: center;
  color: #f36191;
  padding: 50px 0; }

.p-reason-box-inner-ttl-s {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700; }

.p-reason-box-inner-ttl-line {
  background: transparent -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #f5eb49)) repeat scroll 0 0;
  background: transparent linear-gradient(transparent 70%, #f5eb49 0%) repeat scroll 0 0; }

.p-reason-box-inner-area {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between; }

.p-reason-box-inner-area + .p-reason-box-inner-area {
  margin-top: 80px; }

.p-reason-box-inner-area-img {
  width: 342px; }

.p-reason-box-inner-area-txt {
  width: 722px; }

.p-reason-box-inner-area-txt-ttl {
  color: #f36191;
  font-size: 3rem;
  line-height: 1.53333;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 30px; }

.p-reason-box-inner-area-txt-sub {
  font-size: 1.7rem;
  line-height: 1.64706;
  letter-spacing: 0.1em;
  font-weight: 500; }

.p-reason-box-inner-area-txt-sub02 {
  font-size: 1.5rem;
  line-height: 1.46667;
  letter-spacing: 0.1em;
  font-weight: 500; }

.p-reason-box-inner-area-txt-col {
  font-weight: 700;
  color: #f36191; }

.p-reason-area {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  width: 343px;
  margin: 0 auto;
  padding-top: 50px; }

.p-reason-area-img {
  width: 162px; }

@media screen and (max-width: 767px) {
  .p-reason-ttl {
    font-size: 4.8vw; }
    .p-reason-ttl::before {
      bottom: -2.66667vw;
      border-width: 2.66667vw 2.66667vw 0 2.66667vw; }

  .p-reason-box {
    background: url(../images/bg_reason_sp.png) no-repeat left top;
    padding-bottom: 13.33333vw; }

  .p-reason-box-inner {
    width: 100%; }

  .p-reason-box-inner-ttl {
    font-size: 8vw;
    padding: 5.33333vw 0 9.33333vw; }

  .p-reason-box-inner-ttl-s {
    font-size: 6.66667vw; }

  .p-reason-box-inner-ttl-line {
    background: transparent -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #f5eb49)) repeat scroll 0 0;
    background: transparent linear-gradient(transparent 70%, #f5eb49 0%) repeat scroll 0 0; }

  .p-reason-box-inner-area {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-reason-box-inner-area + .p-reason-box-inner-area {
    margin-top: 10.66667vw; }

  .p-reason-box-inner-area-img {
    width: 76vw;
    margin: 0 auto; }

  .p-reason-box-inner-area-txt {
    width: 92%;
    margin: 0 auto; }

  .p-reason-box-inner-area-txt-ttl {
    font-size: 5.33333vw;
    text-align: center;
    margin: 5.33333vw 0 2.66667vw; }

  .p-reason-box-inner-area-txt-sub {
    font-size: 4vw;
    letter-spacing: 0.08em; }

  .p-reason-box-inner-area-txt-sub02 {
    font-size: 3.46667vw; }

  .p-reason-box-inner-area02 {
    -ms-flex-direction: column-reverse;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }

  .p-reason-area {
    width: 69.33333vw;
    padding-top: 6.66667vw; }

  .p-reason-area-img {
    width: 30.66667vw; } }
.p-info {
  background: #faf8ee;
  padding: 65px 0 80px; }

.p-info-ttl {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  text-align: center;
  color: #f36191; }

.p-info-inner {
  width: 1100px;
  margin: 40px auto 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.p-info-inner-clinic {
  width: 535px; }

.p-info-inner-clinic-ttl {
  background: #f36191;
  color: #fff;
  text-align: center;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  position: relative; }
  .p-info-inner-clinic-ttl::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -10px;
    right: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #f36191 transparent transparent transparent; }
  .p-info-inner-clinic-ttl::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 48px 0 0;
    border-color: #f676a0 transparent transparent transparent; }

.p-info-inner-clinic-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin-top: 35px; }

.p-info-inner-clinic-inner-img {
  width: 211px; }

.p-info-inner-clinic-inner-txt {
  width: 300px;
  font-size: 1.5rem;
  line-height: 1.73333;
  letter-spacing: 0.05em;
  font-weight: 500; }

.p-info-inner-clinic-inner-txt02 {
  font-weight: 700; }

.p-info-inner-clinic-inner-txt03 {
  margin-top: 5px; }

.p-info-inner-clinic-inner-tel {
  margin-top: 10px; }
  .p-info-inner-clinic-inner-tel a {
    color: #3a3a3a; }

.p-info-inner-clinic:nth-child(n+3) {
  margin-top: 30px; }

@media screen and (max-width: 767px) {
  .p-info {
    padding: 9.33333vw 0 13.33333vw; }

  .p-info-ttl {
    font-size: 6.66667vw; }

  .p-info-inner {
    width: 92%;
    margin: 8vw auto 0;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-info-inner-clinic {
    width: 100%; }

  .p-info-inner-clinic-ttl {
    font-size: 5.33333vw; }
    .p-info-inner-clinic-ttl::after {
      bottom: -2.66667vw;
      border-width: 2.66667vw 2.66667vw 0 2.66667vw; }
    .p-info-inner-clinic-ttl::before {
      border-width: 10.4vw 9.33333vw 0 0; }

  .p-info-inner-clinic-inner {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    margin-top: 8vw; }

  .p-info-inner-clinic-inner-img {
    width: 56vw;
    margin: 0 auto 8vw; }

  .p-info-inner-clinic-inner-txt {
    width: 80vw;
    margin: 0 auto;
    font-size: 4vw; }

  .p-info-inner-clinic-inner-txt02 {
    padding-left: 2vw; }

  .p-info-inner-clinic-inner-txt03 {
    margin-top: 0.66667vw;
    padding-left: 2vw; }

  .p-info-inner-clinic-inner-tel {
    margin-top: 6.66667vw; }
    .p-info-inner-clinic-inner-tel a {
      width: 80vw;
      margin: 0 auto;
      cursor: pointer;
      display: block;
      text-align: center;
      padding: 2.66667vw 0 2.66667vw 6.66667vw;
      border-radius: 2vw;
      color: #ffffff;
      font-size: 6.66667vw;
      line-height: 1.5;
      letter-spacing: 0.1em;
      font-weight: 700;
      background-image: -webkit-linear-gradient(-90deg, #009b78 50%, #008365 51%);
      position: relative; }
      .p-info-inner-clinic-inner-tel a::before {
        position: absolute;
        content: "";
        top: 50%;
        left: 9.33333vw;
        background: url(../images/icn_tel.svg) no-repeat left 50%;
        width: 5.33333vw;
        height: 6.4vw;
        background-size: 5.33333vw 6.4vw;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }

  .p-info-inner-clinic-inner-tel02 a::before {
    left: 8vw; }

  .p-info-inner-clinic:nth-child(n+3) {
    margin-top: 13.33333vw; }

  .p-info-inner-clinic:nth-child(n+2) {
    margin-top: 13.33333vw; } }
.p-about {
  padding: 55px 0 30px; }

.p-about-ttl {
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  text-align: center;
  position: relative; }
  .p-about-ttl::before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    content: "";
    background: #3a3a3a;
    margin: 0 auto;
    width: 60px;
    height: 2px; }

.p-about-box-table {
  width: 100%; }

.p-about-box-table th {
  width: 90px;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left; }

.p-about-box-table td {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500; }

.p-about-box-table-pt {
  padding-top: 20px; }

.p-about-inner {
  width: 865px;
  margin: 50px auto;
  background: #f3eee9;
  padding: 50px;
  position: relative; }

.p-about-inner-ttl {
  font-size: 2.8rem;
  line-height: 1.78571;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  color: #9d8a77; }

.p-about-inner-txt {
  margin-top: 30px;
  font-size: 2rem; }
  .p-about-inner-txt span {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    padding-left: 20px; }

.p-about-inner-img {
  position: absolute;
  top: 20px;
  right: 50px; }

.p-about-area {
  background: #fff;
  margin-top: 20px;
  padding: 30px; }

.p-about-area-txt {
  font-size: 1.8rem;
  line-height: 1.55556;
  letter-spacing: 0.1em;
  border-bottom: solid 1px #eeeeee;
  padding-bottom: 20px;
  margin-bottom: 20px; }

@media screen and (max-width: 767px) {
  .p-about {
    padding: 10.66667vw 0 13.33333vw; }

  .p-about-ttl {
    font-size: 5.33333vw; }
    .p-about-ttl::before {
      bottom: -2.66667vw;
      width: 16vw;
      height: 0.53333vw; }

  .p-about-box {
    width: 100%;
    margin: 0 auto 0;
    padding: 0; }

  .p-about-box-table {
    width: 100%; }

  .p-about-box-table th {
    width: 20vw;
    font-size: 4vw; }

  .p-about-box-table td {
    font-size: 4vw; }

  .p-about-box-table-pt {
    padding-top: 5.33333vw; }

  .p-about-inner {
    width: 94%;
    margin: 6.66667vw auto;
    padding: 5.33333vw 4vw; }

  .p-about-inner-ttl {
    font-size: 4.4vw;
    line-height: 1.5; }

  .p-about-inner-txt {
    margin-top: 8vw;
    font-size: 3.73333vw;
    line-height: 1.5; }
    .p-about-inner-txt span {
      font-size: 5.33333vw;
      padding-left: 0; }

  .p-about-inner-img {
    top: 23.33333vw;
    right: 3.6vw;
    width: 32vw;
    z-index: 1; }

  .p-about-area {
    margin-top: 2.66667vw;
    padding: 2.66667vw;
    z-index: 2;
    position: relative; }

  .p-about-area-txt {
    font-size: 3.73333vw;
    padding-bottom: 5.33333vw;
    margin-bottom: 5.33333vw; } }
.p-range {
  text-align: center;
  margin-top: 60px; }

@media screen and (max-width: 767px) {
  .p-range {
    margin: 10.66667vw 4% 0; }
    .p-range img {
      width: 100%; } }
.p-faq {
  background: #f7e3e9;
  padding: 40px 0 80px;
  margin-top: 75px;
  position: relative; }
  .p-faq::before {
    position: absolute;
    top: -60px;
    left: 0;
    right: 0;
    content: "";
    background: url(../images/icn_faq.png) no-repeat left top;
    background-size: 130px 130px;
    width: 130px;
    height: 130px;
    margin: 0 auto;
    z-index: 0; }

.p-faq-ttl {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #f36191;
  position: relative;
  margin-bottom: 50px;
  z-index: 3; }

.p-faq-inner {
  width: 1000px;
  margin: 0 auto; }

.p-faq-inner + .p-faq-inner {
  margin-top: 30px; }

.p-faq-inner:nth-child(4) {
  margin-top: 40px; }

.p-faq-inner:nth-child(6) {
  margin-top: 40px; }

.p-faq-inner-box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between; }

.p-faq-inner-box-r {
  margin-right: 130px;
  position: relative; }
  .p-faq-inner-box-r::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 122px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 26.0px 15px 0;
    border-color: transparent #fff transparent transparent;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.p-faq-inner-box-l {
  margin-left: 140px;
  position: relative; }
  .p-faq-inner-box-l::before {
    position: absolute;
    content: "";
    top: 40px;
    right: 112px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 26.0px;
    border-color: transparent transparent transparent #fff; }

.p-faq-inner-box-img {
  width: 91px; }

.p-faq-inner-box-txt {
  background: #fff;
  width: 730px;
  padding: 30px 30px 30px 90px;
  border-radius: 15px;
  position: relative; }
  .p-faq-inner-box-txt::before {
    position: absolute;
    top: 15px;
    left: 30px;
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-family: 'Noto Serif JP', sans-serif;
    color: #f36191; }
  .p-faq-inner-box-txt::after {
    position: absolute;
    top: 25px;
    left: 65px;
    content: ".";
    font-size: 2rem;
    line-height: 3;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-family: 'Noto Serif JP', sans-serif;
    color: #f36191; }

.p-faq-inner-box-r .p-faq-inner-box-txt::before {
  content: "Q"; }

.p-faq-inner-box-l .p-faq-inner-box-txt::before {
  content: "A"; }

.p-faq-inner-box-txt-q {
  font-size: 2.3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #f36191; }

.p-faq-inner-box-txt-a {
  font-size: 1.8rem;
  line-height: 1.66667;
  letter-spacing: 0.1em;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .p-faq {
    padding: 5.33333vw 0 10.66667vw;
    margin-top: 18vw; }
    .p-faq::before {
      top: -8vw;
      background: url(../images/icn_faq.png) no-repeat left top;
      background-size: 17.33333vw 17.33333vw;
      width: 17.33333vw;
      height: 17.33333vw; }

  .p-faq-ttl {
    font-size: 8vw;
    margin-bottom: 8vw; }

  .p-faq-inner {
    width: 92%;
    margin: 0 auto; }

  .p-faq-inner + .p-faq-inner {
    margin-top: 5.33333vw; }

  .p-faq-inner:nth-child(4) {
    margin-top: 10.66667vw; }

  .p-faq-inner:nth-child(6) {
    margin-top: 10.66667vw; }

  .p-faq-inner-box {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }

  .p-faq-inner-box-r {
    margin-right: 0;
    position: relative; }
    .p-faq-inner-box-r::before {
      position: absolute;
      content: "";
      top: 5.33333vw;
      left: 18.93333vw;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 4vw 6.93333vw 4vw 0;
      border-color: transparent #fff transparent transparent;
      -webkit-transform: translateY(0);
              transform: translateY(0); }

  .p-faq-inner-box-l {
    margin-left: 0;
    position: relative; }
    .p-faq-inner-box-l::before {
      position: absolute;
      content: "";
      top: 5.33333vw;
      right: 18.93333vw;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 4vw 0 4vw 6.93333vw;
      border-color: transparent transparent transparent #fff; }

  .p-faq-inner-box-img {
    width: 17.33333vw; }

  .p-faq-inner-box-txt {
    background: #fff;
    width: 70.66667vw;
    padding: 4vw 4vw 4vw 12vw;
    border-radius: 2vw; }
    .p-faq-inner-box-txt::before {
      top: 2vw;
      left: 4vw;
      font-size: 6.66667vw; }
    .p-faq-inner-box-txt::after {
      top: 3.33333vw;
      left: 8.66667vw;
      font-size: 4vw; }

  .p-faq-inner-box-txt-q {
    font-size: 4vw;
    line-height: 1.4; }

  .p-faq-inner-box-txt-a {
    font-size: 4vw;
    line-height: 1.4; } }
.p-plan {
  padding: 60px 0 0;
  width: 1100px;
  margin: 0 auto; }

.p-plan-sub {
  background: #000;
  color: #fff;
  font-size: 2.4rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  width: 480px;
  margin: 0 auto;
  text-align: center;
  position: relative; }
  .p-plan-sub::before {
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #000 transparent transparent transparent;
    margin: 0 auto; }

.p-plan-ttl {
  font-size: 5rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #f36191;
  font-family: 'Noto Serif JP', sans-serif;
  margin-top: 25px; }
  .p-plan-ttl span {
    font-size: 8rem;
    line-height: 0.75;
    letter-spacing: 0.1em;
    font-weight: 700; }

.p-plan-txt {
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #f36191;
  text-align: center;
  margin-top: 40px; }
  .p-plan-txt span {
    position: relative;
    padding: 0 30px; }
    .p-plan-txt span::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background: url(../images/icn_plan_pink_left.svg) no-repeat left top;
      width: 14px;
      height: 30px;
      background-size: 14px 30px; }
    .p-plan-txt span::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      background: url(../images/icn_plan_pink_right.svg) no-repeat left top;
      width: 14px;
      height: 30px;
      background-size: 14px 30px; }

.p-plan-txt02 {
  margin-top: 60px;
  color: #9d8a77; }
  .p-plan-txt02 span::before {
    background: url(../images/icn_plan_gray_left.svg) no-repeat left top;
    width: 14px;
    height: 30px;
    background-size: 14px 30px; }
  .p-plan-txt02 span::after {
    background: url(../images/icn_plan_gray_right.svg) no-repeat left top;
    width: 14px;
    height: 30px;
    background-size: 14px 30px; }

.p-plan-box {
  border: solid 4px #f36191;
  position: relative;
  margin-top: 60px;
  padding: 90px 40px 70px 40px; }

.p-plan-box02 {
  border: solid 4px #9d8a77;
  padding: 90px 50px 50px; }

.p-plan-box-ttl {
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif;
  text-align: center;
  margin-top: 25px;
  color: #fff;
  position: absolute;
  width: 394px;
  height: 63px;
  margin: 0 auto;
  position: absolute;
  top: -35px;
  left: 0;
  right: 0; }
  .p-plan-box-ttl::before {
    background: url(../images/bg_plan_pc.png) no-repeat left top;
    content: "";
    width: 394px;
    height: 63px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1; }

.p-plan-box-ttl02 {
  vertical-align: top; }
  .p-plan-box-ttl02 span {
    font-size: 1.5rem;
    line-height: 4;
    letter-spacing: 0.1em;
    font-weight: 500;
    position: relative;
    width: 15px;
    display: inline-block; }
    .p-plan-box-ttl02 span::before {
      content: "※";
      position: absolute;
      top: -50px;
      left: 0; }
  .p-plan-box-ttl02::before {
    background: url(../images/bg_plan02_pc.png) no-repeat left top; }

.p-plan-box-txt {
  font-size: 1.8rem;
  line-height: 1.77778;
  letter-spacing: 0.1em;
  font-weight: 500; }

.p-plan-box-img {
  width: 381px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2; }

.p-plan-area {
  margin-top: 100px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between; }

.p-plan-area-inner {
  width: 570px; }

.p-plan-area-inner-ttl {
  background: #eee;
  text-align: center;
  padding: 10px 0;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 30px; }

.p-plan-area-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  width: 100%; }

.p-plan-area-list-table {
  width: 530px;
  background: #eee;
  position: relative; }
  .p-plan-area-list-table::after {
    content: "";
    background: url(../images/bg_plan_line_pc.png) left top;
    position: absolute;
    top: 70px;
    right: 70px;
    width: 187px;
    height: 239px; }
  .p-plan-area-list-table::before {
    position: absolute;
    top: 50%;
    right: -30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 30px;
    border-color: transparent transparent transparent #eee;
    content: "";
    margin: 0 auto; }

.p-plan-area-list-table-ttl {
  background: #f36191;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 50%; }

.p-plan-area-list-table-ttl02 {
  background: #3a3a3a;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  width: 50%; }

.p-plan-area-list-table-txt {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
  padding: 0 0 0 45px; }
  .p-plan-area-list-table-txt span {
    font-size: 1.6rem;
    line-height: 2.25;
    letter-spacing: 0.1em;
    font-weight: 500; }

.p-plan-area-list-table-pt {
  padding-top: 10px; }

.p-plan-area-list-table-pb {
  padding-bottom: 10px; }

.p-plan-monthly-area {
  width: 400px;
  margin-top: 70px; }

.p-plan-monthly {
  background: #f36191;
  color: #fff;
  text-align: center;
  margin-top: 50px;
  font-size: 3rem;
  line-height: 1.23333;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 10px 0;
  width: 230px; }

.p-plan-monthly-txt {
  font-size: 2.2rem;
  line-height: 1.68182;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-top: 30px;
  background: transparent -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #f5eb49)) repeat scroll 0 0;
  background: transparent linear-gradient(transparent 60%, #f5eb49 0%) repeat scroll 0 0;
  display: inline-block; }
  .p-plan-monthly-txt span {
    font-size: 7.9rem;
    line-height: 0.46835;
    font-weight: 700;
    color: #f36191;
    font-family: 'Noto Serif JP', sans-serif; }

:root .p-plan-monthly-txt span {
  font-size: 7.0rem\0; }

@media screen and (max-width: 767px) {
  .p-plan {
    padding: 10.66667vw 0 0;
    width: 92%;
    margin: 0 auto; }

  .p-plan-sub {
    font-size: 4vw;
    width: 74.66667vw; }
    .p-plan-sub::before {
      bottom: -2vw;
      border-width: 2.66667vw 2.66667vw 0 2.66667vw; }

  .p-plan-ttl {
    font-size: 6.66667vw;
    margin-top: 8vw; }
    .p-plan-ttl span {
      font-size: 10.66667vw; }

  .p-plan-txt {
    font-size: 5.33333vw;
    margin-top: 5.33333vw; }
    .p-plan-txt span {
      padding: 0 4vw; }
      .p-plan-txt span::before {
        width: 2.93333vw;
        height: 6.13333vw;
        background-size: 2.93333vw 6.13333vw; }
      .p-plan-txt span::after {
        width: 2.93333vw;
        height: 6.13333vw;
        background-size: 2.93333vw 6.13333vw; }

  .p-plan-txt02 {
    margin-top: 10.66667vw; }
    .p-plan-txt02 span::before {
      width: 2.93333vw;
      height: 6.13333vw;
      background-size: 2.93333vw 6.13333vw; }
    .p-plan-txt02 span::after {
      width: 2.93333vw;
      height: 6.13333vw;
      background-size: 2.93333vw 6.13333vw; }

  .p-plan-box {
    border: solid 0.53333vw #f36191;
    margin-top: 13.33333vw;
    padding: 12vw 2.66667vw 6.66667vw; }

  .p-plan-box02 {
    border: solid 0.53333vw #9d8a77; }

  .p-plan-box-ttl {
    font-size: 6.66667vw;
    line-height: 1.7;
    margin-top: -0.66667vw;
    width: 66.26667vw;
    height: 12vw;
    top: -6vw; }
    .p-plan-box-ttl::before {
      background: url(../images/bg_plan_sp.png) no-repeat left top;
      width: 66.26667vw;
      height: 12vw;
      background-size: 66.26667vw 12vw; }

  .p-plan-box-ttl02 {
    vertical-align: top;
    line-height: 2.2;
    font-size: 5.33333vw;
    width: 66.26667vw;
    height: 12vw; }
    .p-plan-box-ttl02 span {
      font-size: 3.33333vw;
      position: relative;
      width: 4vw;
      display: inline-block; }
      .p-plan-box-ttl02 span::before {
        content: "※";
        position: absolute;
        top: -9.33333vw;
        left: 0; }
    .p-plan-box-ttl02::before {
      background: url(../images/bg_plan02_sp.png) no-repeat left top;
      width: 66.26667vw;
      height: 12vw;
      background-size: 66.26667vw 12vw; }

  .p-plan-box-txt {
    font-size: 4vw;
    margin-bottom: 8vw; }

  .p-plan-box-img {
    width: 100%;
    position: static;
    top: 0;
    right: 0;
    z-index: -2; }

  .p-plan-area {
    margin-top: 8vw;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-plan-area-inner {
    width: 100%; }

  .p-plan-area-inner-ttl {
    padding: 1.33333vw 0;
    font-size: 4vw;
    margin-bottom: 4vw; }

  .p-plan-area-list {
    width: 100%;
    margin-top: 8vw;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-plan-area-list-table {
    width: 100%; }
    .p-plan-area-list-table::after {
      content: "";
      background: url(../images/bg_plan_line_sp.png) left top;
      position: absolute;
      top: 17.33333vw;
      right: 8vw;
      width: 34.93333vw;
      height: 44.66667vw;
      background-size: 34.93333vw 44.66667vw; }
    .p-plan-area-list-table::before {
      top: 68vw;
      left: 0;
      right: 0;
      border-width: 5.33333vw 5.33333vw 0 5.33333vw;
      border-color: #eee transparent transparent transparent; }

  .p-plan-area-list-table-ttl {
    font-size: 4vw; }

  .p-plan-area-list-table-ttl02 {
    font-size: 4vw; }

  .p-plan-area-list-table-txt {
    font-size: 4vw;
    padding: 0 0 0 2vw; }
    .p-plan-area-list-table-txt span {
      font-size: 4vw; }

  .p-plan-area-list-table-pt {
    padding-top: 2.66667vw; }

  .p-plan-area-list-table-pb {
    padding-bottom: 2.66667vw; }

  .p-plan-monthly-area {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: end;
    -webkit-box-align: end;
            align-items: flex-end;
    width: 100%;
    margin-top: 1.33333vw; }

  .p-plan-monthly {
    width: 100%;
    margin-top: 6.66667vw;
    font-size: 5.33333vw;
    padding: 1.33333vw;
    width: 14.66667vw; }

  .p-plan-monthly-txt {
    width: 64.26667vw;
    font-size: 3.33333vw;
    line-height: 1;
    margin-top: 4vw;
    padding-bottom: 1.33333vw;
    background: transparent -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #f5eb49)) repeat scroll 0 0;
    background: transparent linear-gradient(transparent 60%, #f5eb49 0%) repeat scroll 0 0; }
    .p-plan-monthly-txt span {
      font-size: 13.33333vw;
      line-height: 1; } }
.p-plan-course {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between; }

.p-plan-course-txt {
  font-size: 1.8rem;
  line-height: 1.77778;
  letter-spacing: 0.1em;
  width: 615px; }

.p-plan-course-img {
  width: 315px; }

.p-plan-course-area {
  background: #f3eee9;
  padding: 10px;
  margin-top: 40px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center; }

.p-plan-course-area-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center; }
  .p-plan-course-area-inner td {
    padding-left: 30px; }

.p-plan-course-area-inner-w01 {
  width: 477px; }

.p-plan-course-area-inner-w02 {
  width: 527px; }

.p-plan-course-area-inner-txt {
  background: #9d8a77;
  width: 135px;
  height: 120px;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-weight: 700;
  vertical-align: middle; }

.p-plan-course-area-inner-txt02 {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  vertical-align: middle; }

.p-plan-course-area-inner-txt03 {
  display: inline-block;
  width: 60px; }

.p-plan-course-area-inner-txt04 {
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
  font-family: 'Noto Serif JP', sans-serif; }

:root .p-plan-course-area-inner-txt04 {
  font-size: 3.5rem\0; }

.p-plan-course-txt02 {
  font-size: 1.4rem;
  line-height: 3;
  font-weight: 500; }

.p-plan-option {
  margin-top: 40px; }

.p-plan-option-ttl {
  background: #9d8a77;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 35px; }

.p-plan-option-box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  border-bottom: solid 1px #9d8a77; }

.p-plan-option-box-txt {
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #9d8a77;
  position: relative;
  padding-left: 15px;
  width: 260px; }
  .p-plan-option-box-txt::before {
    position: absolute;
    top: 15px;
    left: 0;
    width: 5px;
    height: 20px;
    content: "";
    background: #9d8a77; }

.p-plan-option-box-inner {
  position: relative;
  width: 735px; }

.p-plan-option-box-txt02 {
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700; }
  .p-plan-option-box-txt02 span {
    font-size: 3.4rem;
    line-height: 1.47059;
    font-weight: 700;
    font-family: 'Noto Serif JP', sans-serif; }

.p-plan-option-box-txt03 {
  position: absolute;
  top: 0;
  left: 280px;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 700; }
  .p-plan-option-box-txt03 span {
    font-size: 3.4rem;
    line-height: 1.47059;
    font-weight: 700;
    font-family: 'Noto Serif JP', sans-serif; }

.p-plan-option-box + .p-plan-option-box {
  margin-top: 20px;
  border-bottom: none; }

@media screen and (max-width: 767px) {
  .p-plan-course {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-plan-course-txt {
    font-size: 4vw;
    width: 100%; }

  .p-plan-course-img {
    width: 100%;
    margin-top: 6.66667vw; }

  .p-plan-course-area {
    background: #f3eee9;
    padding: 4vw 0 4vw 4vw;
    margin-top: 8vw;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }

  .p-plan-course-area-inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center; }
    .p-plan-course-area-inner td {
      padding-left: 2.66667vw; }

  .p-plan-course-area-inner + .p-plan-course-area-inner {
    margin-top: 4vw; }

  .p-plan-course-area-inner-w01 {
    width: 100%; }

  .p-plan-course-area-inner-w02 {
    width: 100%; }

  .p-plan-course-area-inner-txt {
    width: 20vw;
    height: auto;
    font-size: 4vw;
    padding: 4vw 0; }

  .p-plan-course-area-inner-txt02 {
    font-size: 3.86667vw;
    vertical-align: middle; }

  .p-plan-course-area-inner-txt03 {
    display: inline-block;
    width: 12vw;
    padding-left: 2.66667vw; }

  .p-plan-course-area-inner-txt04 {
    font-size: 5.06667vw;
    font-family: 'Noto Serif JP', sans-serif; }

  .p-plan-course-txt02 {
    font-size: 3.46667vw; }

  .p-plan-option {
    margin-top: 8vw; }

  .p-plan-option-ttl {
    font-size: 4vw;
    margin-bottom: 5.33333vw; }

  .p-plan-option-box {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    border-bottom: solid 0.26667vw #9d8a77; }

  .p-plan-option-box-txt {
    font-size: 3.46667vw;
    padding-left: 2vw;
    width: 34.66667vw; }
    .p-plan-option-box-txt::before {
      top: 2.66667vw;
      width: 0.66667vw;
      height: 4vw; }

  .p-plan-option-box-inner {
    position: relative;
    width: 42.66667vw; }

  .p-plan-option-box-txt02 {
    font-size: 3.33333vw; }
    .p-plan-option-box-txt02 span {
      font-size: 4.26667vw; }

  .p-plan-option-box-txt03 {
    position: static;
    top: 0;
    left: 0;
    font-size: 3.33333vw; }
    .p-plan-option-box-txt03 span {
      font-size: 4.26667vw; }

  .p-plan-option-box + .p-plan-option-box {
    margin-top: 5.33333vw; } }
/*------------- .l-footer -------------*/
.l-footer {
  padding: 20px 0 30px;
  font-size: 1.4rem;
  line-height: 3.57143;
  letter-spacing: 0.1em;
  text-align: center; }

@media screen and (max-width: 767px) {
  .l-footer {
    font-size: 3.2vw; } }
/* module
---------------------------------------------------------------------------- */
/* RWD表示切り替え
---------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .nopc {
    display: none !important; } }
@media all and (max-width: 767px) {
  .nosp {
    display: none !important; } }
/* フォントサイズ
---------------------------------------------------------------------------- */
.fs50 {
  font-size: 5rem !important; }

.fs49 {
  font-size: 4.9rem !important; }

.fs48 {
  font-size: 4.8rem !important; }

.fs47 {
  font-size: 4.7rem !important; }

.fs46 {
  font-size: 4.6rem !important; }

.fs45 {
  font-size: 4.5rem !important; }

.fs44 {
  font-size: 4.4rem !important; }

.fs43 {
  font-size: 4.3rem !important; }

.fs42 {
  font-size: 4.2rem !important; }

.fs41 {
  font-size: 4.1rem !important; }

.fs40 {
  font-size: 4rem !important; }

.fs39 {
  font-size: 3.9rem !important; }

.fs38 {
  font-size: 3.8rem !important; }

.fs37 {
  font-size: 3.7rem !important; }

.fs36 {
  font-size: 3.6rem !important; }

.fs35 {
  font-size: 3.5rem !important; }

.fs34 {
  font-size: 3.4rem !important; }

.fs33 {
  font-size: 3.3rem !important; }

.fs32 {
  font-size: 3.2rem !important; }

.fs31 {
  font-size: 3.1rem !important; }

.fs30 {
  font-size: 3rem !important; }

.fs29 {
  font-size: 2.9rem !important; }

.fs28 {
  font-size: 2.8rem !important; }

.fs27 {
  font-size: 2.7rem !important; }

.fs26 {
  font-size: 2.6rem !important; }

.fs25 {
  font-size: 2.5rem !important; }

.fs24 {
  font-size: 2.4rem !important; }

.fs23 {
  font-size: 2.3rem !important; }

.fs22 {
  font-size: 2.2rem !important; }

.fs21 {
  font-size: 2.1rem !important; }

.fs20 {
  font-size: 2rem !important; }

.fs19 {
  font-size: 1.9rem !important; }

.fs18 {
  font-size: 1.8rem !important; }

.fs17 {
  font-size: 1.7rem !important; }

.fs16 {
  font-size: 1.6rem !important; }

.fs15 {
  font-size: 1.5rem !important; }

.fs14 {
  font-size: 1.4rem !important; }

.fs13 {
  font-size: 1.3rem !important; }

.fs12 {
  font-size: 1.2rem !important; }

.fs11 {
  font-size: 1.1rem !important; }

.fs10 {
  font-size: 1rem !important; }

.fs9 {
  font-size: 0.9rem !important; }

.fs8 {
  font-size: 0.8rem !important; }

.fs7 {
  font-size: 0.7rem !important; }

.fs6 {
  font-size: 0.6rem !important; }

@media screen and (max-width: 767px) {
  .spfs50 {
    font-size: 6.66667vw !important; }

  .spfs49 {
    font-size: 6.53333vw !important; }

  .spfs48 {
    font-size: 6.4vw !important; }

  .spfs47 {
    font-size: 6.26667vw !important; }

  .spfs46 {
    font-size: 6.13333vw !important; }

  .spfs45 {
    font-size: 6vw !important; }

  .spfs44 {
    font-size: 5.86667vw !important; }

  .spfs43 {
    font-size: 5.73333vw !important; }

  .spfs42 {
    font-size: 5.6vw !important; }

  .spfs41 {
    font-size: 5.46667vw !important; }

  .spfs40 {
    font-size: 5.33333vw !important; }

  .spfs39 {
    font-size: 5.2vw !important; }

  .spfs38 {
    font-size: 5.06667vw !important; }

  .spfs37 {
    font-size: 4.93333vw !important; }

  .spfs36 {
    font-size: 4.8vw !important; }

  .spfs35 {
    font-size: 4.66667vw !important; }

  .spfs34 {
    font-size: 4.53333vw !important; }

  .spfs33 {
    font-size: 4.4vw !important; }

  .spfs32 {
    font-size: 4.26667vw !important; }

  .spfs31 {
    font-size: 4.13333vw !important; }

  .spfs30 {
    font-size: 4vw !important; }

  .spfs29 {
    font-size: 3.86667vw !important; }

  .spfs28 {
    font-size: 3.73333vw !important; }

  .spfs27 {
    font-size: 3.6vw !important; }

  .spfs26 {
    font-size: 3.46667vw !important; }

  .spfs25 {
    font-size: 3.33333vw !important; }

  .spfs24 {
    font-size: 3.2vw !important; }

  .spfs23 {
    font-size: 3.06667vw !important; }

  .spfs22 {
    font-size: 2.93333vw !important; }

  .spfs21 {
    font-size: 2.8vw !important; }

  .spfs20 {
    font-size: 2.66667vw !important; }

  .spfs19 {
    font-size: 2.53333vw !important; }

  .spfs18 {
    font-size: 2.4vw !important; }

  .spfs17 {
    font-size: 2.26667vw !important; }

  .spfs16 {
    font-size: 2.13333vw !important; }

  .spfs15 {
    font-size: 2vw !important; }

  .spfs14 {
    font-size: 1.86667vw !important; }

  .spfs13 {
    font-size: 1.73333vw !important; }

  .spfs12 {
    font-size: 1.6vw !important; }

  .spfs11 {
    font-size: 1.46667vw !important; }

  .spfs10 {
    font-size: 1.33333vw !important; }

  .spfs9 {
    font-size: 1.2vw !important; }

  .spfs8 {
    font-size: 1.06667vw !important; }

  .spfs7 {
    font-size: 0.93333vw !important; }

  .spfs6 {
    font-size: 0.8vw !important; } }
/* clearfix
---------------------------------------------------------------------------- */
.clearfix {
  zoom: 1; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

/* テキスト
---------------------------------------------------------------------------- */
.tal {
  text-align: left !important; }

.tac {
  text-align: center !important; }

.tar {
  text-align: right !important; }

.fwb {
  font-weight: bold !important; }

@media screen and (max-width: 767px) {
  .sptal {
    text-align: left !important; }

  .sptac {
    text-align: center !important; }

  .sptar {
    text-align: right !important; }

  .spfwb {
    font-weight: bold !important; } }
/* マージン
---------------------------------------------------------------------------- */
.mt100 {
  margin-top: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.ml100 {
  margin-left: 100px !important; }

.mr100 {
  margin-right: 100px !important; }

.mt95 {
  margin-top: 95px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.ml95 {
  margin-left: 95px !important; }

.mr95 {
  margin-right: 95px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.ml90 {
  margin-left: 90px !important; }

.mr90 {
  margin-right: 90px !important; }

.mt85 {
  margin-top: 85px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.ml85 {
  margin-left: 85px !important; }

.mr85 {
  margin-right: 85px !important; }

.mt80 {
  margin-top: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.mt75 {
  margin-top: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.mt70 {
  margin-top: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.mt65 {
  margin-top: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.mt55 {
  margin-top: 55px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.ml55 {
  margin-left: 55px !important; }

.mr55 {
  margin-right: 55px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mt45 {
  margin-top: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mt35 {
  margin-top: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mt15 {
  margin-top: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mt5 {
  margin-top: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

@media screen and (max-width: 767px) {
  .spmt100 {
    margin-top: 13.33333vw !important; }

  .spmb100 {
    margin-bottom: 13.33333vw !important; }

  .spml100 {
    margin-left: 13.33333vw !important; }

  .spmr100 {
    margin-right: 13.33333vw !important; }

  .spmt95 {
    margin-top: 12.66667vw !important; }

  .spmb95 {
    margin-bottom: 12.66667vw !important; }

  .spml95 {
    margin-left: 12.66667vw !important; }

  .spmr95 {
    margin-right: 12.66667vw !important; }

  .spmt90 {
    margin-top: 12vw !important; }

  .spmb90 {
    margin-bottom: 12vw !important; }

  .spml90 {
    margin-left: 12vw !important; }

  .spmr90 {
    margin-right: 12vw !important; }

  .spmt85 {
    margin-top: 11.33333vw !important; }

  .spmb85 {
    margin-bottom: 11.33333vw !important; }

  .spml85 {
    margin-left: 11.33333vw !important; }

  .spmr85 {
    margin-right: 11.33333vw !important; }

  .spmt80 {
    margin-top: 10.66667vw !important; }

  .spmb80 {
    margin-bottom: 10.66667vw !important; }

  .spml80 {
    margin-left: 10.66667vw !important; }

  .spmr80 {
    margin-right: 10.66667vw !important; }

  .spmt75 {
    margin-top: 10vw !important; }

  .spmb75 {
    margin-bottom: 10vw !important; }

  .spml75 {
    margin-left: 10vw !important; }

  .spmr75 {
    margin-right: 10vw !important; }

  .spmt70 {
    margin-top: 9.33333vw !important; }

  .spmb70 {
    margin-bottom: 9.33333vw !important; }

  .spml70 {
    margin-left: 9.33333vw !important; }

  .spmr70 {
    margin-right: 9.33333vw !important; }

  .spmt65 {
    margin-top: 8.66667vw !important; }

  .spmb65 {
    margin-bottom: 8.66667vw !important; }

  .spml65 {
    margin-left: 8.66667vw !important; }

  .spmr65 {
    margin-right: 8.66667vw !important; }

  .spmt60 {
    margin-top: 8vw !important; }

  .spmb60 {
    margin-bottom: 8vw !important; }

  .spml60 {
    margin-left: 8vw !important; }

  .spmr60 {
    margin-right: 8vw !important; }

  .spmt55 {
    margin-top: 7.33333vw !important; }

  .spmb55 {
    margin-bottom: 7.33333vw !important; }

  .spml55 {
    margin-left: 7.33333vw !important; }

  .spmr55 {
    margin-right: 7.33333vw !important; }

  .spmt50 {
    margin-top: 6.66667vw !important; }

  .spmb50 {
    margin-bottom: 6.66667vw !important; }

  .spml50 {
    margin-left: 6.66667vw !important; }

  .spmr50 {
    margin-right: 6.66667vw !important; }

  .spmt45 {
    margin-top: 6vw !important; }

  .spmb45 {
    margin-bottom: 6vw !important; }

  .spml45 {
    margin-left: 6vw !important; }

  .spmr45 {
    margin-right: 6vw !important; }

  .spmt40 {
    margin-top: 5.33333vw !important; }

  .spmb40 {
    margin-bottom: 5.33333vw !important; }

  .spml40 {
    margin-left: 5.33333vw !important; }

  .spmr40 {
    margin-right: 5.33333vw !important; }

  .spmt35 {
    margin-top: 4.66667vw !important; }

  .spmb35 {
    margin-bottom: 4.66667vw !important; }

  .spml35 {
    margin-left: 4.66667vw !important; }

  .spmr35 {
    margin-right: 4.66667vw !important; }

  .spmt30 {
    margin-top: 4vw !important; }

  .spmb30 {
    margin-bottom: 4vw !important; }

  .spml30 {
    margin-left: 4vw !important; }

  .spmr30 {
    margin-right: 4vw !important; }

  .spmt25 {
    margin-top: 3.33333vw !important; }

  .spmb25 {
    margin-bottom: 3.33333vw !important; }

  .spml25 {
    margin-left: 3.33333vw !important; }

  .spmr25 {
    margin-right: 3.33333vw !important; }

  .spmt20 {
    margin-top: 2.66667vw !important; }

  .spmb20 {
    margin-bottom: 2.66667vw !important; }

  .spml20 {
    margin-left: 2.66667vw !important; }

  .spmr20 {
    margin-right: 2.66667vw !important; }

  .spmt15 {
    margin-top: 2vw !important; }

  .spmb15 {
    margin-bottom: 2vw !important; }

  .spml15 {
    margin-left: 2vw !important; }

  .spmr15 {
    margin-right: 2vw !important; }

  .spmt10 {
    margin-top: 1.33333vw !important; }

  .spmb10 {
    margin-bottom: 1.33333vw !important; }

  .spml10 {
    margin-left: 1.33333vw !important; }

  .spmr10 {
    margin-right: 1.33333vw !important; }

  .spmt5 {
    margin-top: 0.66667vw !important; }

  .spmb5 {
    margin-bottom: 0.66667vw !important; }

  .spml5 {
    margin-left: 0.66667vw !important; }

  .spmr5 {
    margin-right: 0.66667vw !important; }

  .spmt0 {
    margin-top: 0vw !important; }

  .spmb0 {
    margin-bottom: 0vw !important; }

  .spml0 {
    margin-left: 0vw !important; }

  .spmr0 {
    margin-right: 0vw !important; } }
/* パディング
---------------------------------------------------------------------------- */
.pt100 {
  padding-top: 100px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pl100 {
  padding-left: 100px !important; }

.pr100 {
  padding-right: 100px !important; }

.pt95 {
  padding-top: 95px !important; }

.pb95 {
  padding-bottom: 95px !important; }

.pl95 {
  padding-left: 95px !important; }

.pr95 {
  padding-right: 95px !important; }

.pt90 {
  padding-top: 90px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pl90 {
  padding-left: 90px !important; }

.pr90 {
  padding-right: 90px !important; }

.pt85 {
  padding-top: 85px !important; }

.pb85 {
  padding-bottom: 85px !important; }

.pl85 {
  padding-left: 85px !important; }

.pr85 {
  padding-right: 85px !important; }

.pt80 {
  padding-top: 80px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pl80 {
  padding-left: 80px !important; }

.pr80 {
  padding-right: 80px !important; }

.pt75 {
  padding-top: 75px !important; }

.pb75 {
  padding-bottom: 75px !important; }

.pl75 {
  padding-left: 75px !important; }

.pr75 {
  padding-right: 75px !important; }

.pt70 {
  padding-top: 70px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pl70 {
  padding-left: 70px !important; }

.pr70 {
  padding-right: 70px !important; }

.pt65 {
  padding-top: 65px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.pl65 {
  padding-left: 65px !important; }

.pr65 {
  padding-right: 65px !important; }

.pt60 {
  padding-top: 60px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pl60 {
  padding-left: 60px !important; }

.pr60 {
  padding-right: 60px !important; }

.pt55 {
  padding-top: 55px !important; }

.pb55 {
  padding-bottom: 55px !important; }

.pl55 {
  padding-left: 55px !important; }

.pr55 {
  padding-right: 55px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pt45 {
  padding-top: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pt35 {
  padding-top: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

@media screen and (max-width: 767px) {
  .sppt100 {
    padding-top: 13.33333vw !important; }

  .sppb100 {
    padding-bottom: 13.33333vw !important; }

  .sppl100 {
    padding-left: 13.33333vw !important; }

  .sppr100 {
    padding-right: 13.33333vw !important; }

  .sppt95 {
    padding-top: 12.66667vw !important; }

  .sppb95 {
    padding-bottom: 12.66667vw !important; }

  .sppl95 {
    padding-left: 12.66667vw !important; }

  .sppr95 {
    padding-right: 12.66667vw !important; }

  .sppt90 {
    padding-top: 12vw !important; }

  .sppb90 {
    padding-bottom: 12vw !important; }

  .sppl90 {
    padding-left: 12vw !important; }

  .sppr90 {
    padding-right: 12vw !important; }

  .sppt85 {
    padding-top: 11.33333vw !important; }

  .sppb85 {
    padding-bottom: 11.33333vw !important; }

  .sppl85 {
    padding-left: 11.33333vw !important; }

  .sppr85 {
    padding-right: 11.33333vw !important; }

  .sppt80 {
    padding-top: 10.66667vw !important; }

  .sppb80 {
    padding-bottom: 10.66667vw !important; }

  .sppl80 {
    padding-left: 10.66667vw !important; }

  .sppr80 {
    padding-right: 10.66667vw !important; }

  .sppt75 {
    padding-top: 10vw !important; }

  .sppb75 {
    padding-bottom: 10vw !important; }

  .sppl75 {
    padding-left: 10vw !important; }

  .sppr75 {
    padding-right: 10vw !important; }

  .sppt70 {
    padding-top: 9.33333vw !important; }

  .sppb70 {
    padding-bottom: 9.33333vw !important; }

  .sppl70 {
    padding-left: 9.33333vw !important; }

  .sppr70 {
    padding-right: 9.33333vw !important; }

  .sppt65 {
    padding-top: 8.66667vw !important; }

  .sppb65 {
    padding-bottom: 8.66667vw !important; }

  .sppl65 {
    padding-left: 8.66667vw !important; }

  .sppr65 {
    padding-right: 8.66667vw !important; }

  .sppt60 {
    padding-top: 8vw !important; }

  .sppb60 {
    padding-bottom: 8vw !important; }

  .sppl60 {
    padding-left: 8vw !important; }

  .sppr60 {
    padding-right: 8vw !important; }

  .sppt55 {
    padding-top: 7.33333vw !important; }

  .sppb55 {
    padding-bottom: 7.33333vw !important; }

  .sppl55 {
    padding-left: 7.33333vw !important; }

  .sppr55 {
    padding-right: 7.33333vw !important; }

  .sppt50 {
    padding-top: 6.66667vw !important; }

  .sppb50 {
    padding-bottom: 6.66667vw !important; }

  .sppl50 {
    padding-left: 6.66667vw !important; }

  .sppr50 {
    padding-right: 6.66667vw !important; }

  .sppt45 {
    padding-top: 6vw !important; }

  .sppb45 {
    padding-bottom: 6vw !important; }

  .sppl45 {
    padding-left: 6vw !important; }

  .sppr45 {
    padding-right: 6vw !important; }

  .sppt40 {
    padding-top: 5.33333vw !important; }

  .sppb40 {
    padding-bottom: 5.33333vw !important; }

  .sppl40 {
    padding-left: 5.33333vw !important; }

  .sppr40 {
    padding-right: 5.33333vw !important; }

  .sppt35 {
    padding-top: 4.66667vw !important; }

  .sppb35 {
    padding-bottom: 4.66667vw !important; }

  .sppl35 {
    padding-left: 4.66667vw !important; }

  .sppr35 {
    padding-right: 4.66667vw !important; }

  .sppt30 {
    padding-top: 4vw !important; }

  .sppb30 {
    padding-bottom: 4vw !important; }

  .sppl30 {
    padding-left: 4vw !important; }

  .sppr30 {
    padding-right: 4vw !important; }

  .sppt25 {
    padding-top: 3.33333vw !important; }

  .sppb25 {
    padding-bottom: 3.33333vw !important; }

  .sppl25 {
    padding-left: 3.33333vw !important; }

  .sppr25 {
    padding-right: 3.33333vw !important; }

  .sppt20 {
    padding-top: 2.66667vw !important; }

  .sppb20 {
    padding-bottom: 2.66667vw !important; }

  .sppl20 {
    padding-left: 2.66667vw !important; }

  .sppr20 {
    padding-right: 2.66667vw !important; }

  .sppt15 {
    padding-top: 2vw !important; }

  .sppb15 {
    padding-bottom: 2vw !important; }

  .sppl15 {
    padding-left: 2vw !important; }

  .sppr15 {
    padding-right: 2vw !important; }

  .sppt10 {
    padding-top: 1.33333vw !important; }

  .sppb10 {
    padding-bottom: 1.33333vw !important; }

  .sppl10 {
    padding-left: 1.33333vw !important; }

  .sppr10 {
    padding-right: 1.33333vw !important; }

  .sppt5 {
    padding-top: 0.66667vw !important; }

  .sppb5 {
    padding-bottom: 0.66667vw !important; }

  .sppl5 {
    padding-left: 0.66667vw !important; }

  .sppr5 {
    padding-right: 0.66667vw !important; }

  .sppt0 {
    padding-top: 0vw !important; }

  .sppb0 {
    padding-bottom: 0vw !important; }

  .sppl0 {
    padding-left: 0vw !important; }

  .sppr0 {
    padding-right: 0vw !important; } }
/* print
---------------------------------------------------------------------------- */
/* 印刷設定
---------------------------------------------------------------------------- */
@media print {
  * html body {
    zoom: 70%; } }
