@charset "UTF-8";
/* =============================================================================
Reset style
========================================================================== */
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  background: #FFF;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

a, a:hover, a:active, a:visited {
  text-decoration: none;
  outline: none;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}

legend {
  color: #000;
}

#yui3-css-stamp.cssreset {
  display: none;
}

*, *:before, *:after {
  box-sizing: border-box;
}

*, *:before, *:after {
  outline: none;
}

/*==============================================================================
variable
============================================================================= */
/* =============================================================================
Basic style
========================================================================== */
body {
  color: #000;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 200;
  overflow-x: hidden;
  word-break: break-all;
}

a {
  color: inherit;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  width: 100%;
}

#wrapper {
  overflow-x: hidden;
}

.century {
  font-family: "Century Gothic", "Noto Sans JP", sans-serif;
}

.arial {
  font-family: "Arial";
}

.red {
  color: #ff3939;
}

/*==============================================================================
Media
============================================================================= */
/*==============================================================================
Responsive
============================================================================= */
@media screen and (min-width: 769px) {
  .inner {
    width: 980px;
    margin: 0 auto;
  }
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 13.3333333333vw;
  }
  body {
    font-size: 0.3rem;
  }
  .inner {
    margin: 0 0.3rem;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
/*===============================================================================
ie
===============================================================================*/
@media screen and (min-width: 769px) {
  .ie .fact-list::before {
    content: none;
  }
}
/*==============================================================================
header
============================================================================= */
@media screen and (min-width: 769px) {
  .header-inner {
    display: flex;
    align-items: center;
    margin: 0;
  }
  .header-logo {
    width: 201px;
    margin: 0 25px 0 0;
  }
  .header-txt01 {
    padding: 3px 0 5px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    width: 160px;
    font-weight: bold;
  }
  .header-txt01 .century {
    font-size: 38px;
  }
}
@media screen and (max-width: 768px) {
  .header-bg {
    background: #fff;
    margin: 0 -0.3rem;
    padding: 0.25rem 0;
  }
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-logo {
    width: 2.46rem;
  }
  .header-txt01 {
    margin: 0 0.23rem 0 0;
    padding: 0.1rem 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 0.26rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    font-weight: bold;
  }
  .header-txt01 .century {
    font-size: 0.5rem;
    letter-spacing: 0;
  }
}
/*===============================================================================
cta
===============================================================================*/
@media screen and (min-width: 769px) {
  .cta:last-of-type .cta-bg {
    border-bottom: none;
  }
  .cta:first-of-type .cta-bg {
    border-bottom: none;
  }
  .cta-bg {
    background-color: #eff0f2;
    padding: 55px 0 90px;
    border-bottom: 10px solid #242a75;
  }
  .cta-bg.cta-bg_02 {
    background-color: #eff0f2;
    padding: 55px 0 90px;
    border-bottom: none;
  }
  .cta-ttl {
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .large {
    display: block;
    margin: 15px 0 0;
    color: #242a75;
    font-size: 57px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .belt {
    display: block;
    width: 605px;
    margin: 20px auto 0;
    padding: 10px 0 12px;
    background-color: #242a75;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .belt .deco {
    color: #f7ab00;
  }
  .cta-btns {
    display: flex;
    justify-content: space-between;
    width: 610px;
    margin: 44px auto 0;
  }
  .cta-btn {
    width: 290px;
    cursor: pointer;
    transition: opacity 0.3s;
  }
  .cta-btn:hover {
    opacity: 0.8;
  }
  .cta-kit {
    position: relative;
    margin: 40px auto 0;
  }
  .cta-kit-head {
    padding: 25px 0 25px 260px;
    background: #eaf9fc;
    color: #242a75;
    font-size: 35px;
    font-weight: bold;
    line-height: 1.28;
    letter-spacing: 0.04em;
  }
  .cta-kit-foot {
    padding: 20px 40px 36px;
    background: #fff;
  }
  .cta-kit-txt01 {
    padding: 0 0 0 215px;
    font-size: 23px;
    line-height: 1.39;
    letter-spacing: 0.06em;
  }
  .cta-kit-txt01 .deco {
    color: #242a75;
    font-weight: bold;
  }
  .cta-kit-recommend {
    display: flex;
    align-items: center;
    margin: 15px 0 0 215px;
    padding: 20px 0;
    background: #242a75;
    color: #fff;
  }
  .cta-kit-txt02 {
    position: relative;
    width: 220px;
    font-size: 20px;
    line-height: 1;
    text-align: center;
  }
  .cta-kit-txt02:before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 53px;
    background: #fff;
    transform: translate(0, -50%);
    content: "";
  }
  .cta-kit-list {
    padding: 0 0 0 45px;
  }
  .cta-kit-item {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .cta-kit-item + .cta-kit-item {
    margin: 12px 0 0;
  }
  .cta-kit-item::before {
    position: absolute;
    top: 50%;
    left: -5px;
    width: 16px;
    height: 14px;
    background: url(../img/reserve_icon01_pc.webp) no-repeat center/cover;
    transform: translate(-100%, -50%);
    content: "";
  }
  .cta-kit-txt03 {
    margin: 15px 0 0;
    font-size: 20px;
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-kit-txt03 a {
    display: inline-block;
    padding: 0 0 2px;
    border-bottom: 1px solid #f7ab00;
    color: #f7ab00;
    font-size: 35px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .cta-kit-sample {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 200px;
  }
  .cta-kit-price {
    margin: 10px 0 0;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-kit-price .large {
    font-size: 27px;
    line-height: 1;
  }
  .cta-kit-block {
    margin: 12px 0 0;
    border-top: 1px solid #9c9c9c;
  }
  .cta-kit-btn {
    width: 467px;
    margin: 22px auto 0;
    transition: opacity 0.3s;
  }
  .cta-kit-btn:hover {
    opacity: 0.8;
  }
  .cta-kit-pic {
    width: 184px;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
  }
  .cta-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 912px;
    margin: 0 auto 59px;
  }
  .cta-link-btn {
    width: 448px;
  }
  .cta-link-btn:hover {
    cursor: pointer;
    transition: 0.3s;
    opacity: 0.8;
  }
  .cta_top_txt {
    text-align: right;
    font-size: 13px;
    margin: -30px 40px 40px 0;
  }
}
.cta-movie {
  margin: 80px 0 0;
}

.cta-movie-ttl {
  font-size: 56px;
  font-weight: bold;
  color: #242a75;
  text-align: center;
  letter-spacing: 0.04em;
}

.cta-movie-ttl .middle {
  font-size: 50px;
}

.cta-movie-btn {
  width: 690px;
  height: 390px;
  margin: 30px auto 0;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .cta:last-of-type .cta-bg {
    padding: 1rem 0 0.85rem;
    border-bottom: none;
  }
  .cta:last-of-type {
    border: solid #242a75 0.04rem;
  }
  .cta-bg {
    background-color: #eff0f2;
    padding: 0.7rem 0 0.85rem;
    border-bottom: 0.05rem solid #242a75;
  }
  .cta-bg.cta-bg_02 {
    background-color: #f3f3f3;
    padding: 0.7rem 0 0.85rem;
    border-bottom: none;
  }
  .cta-ttl {
    font-size: 0.44rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .large {
    display: block;
    margin: 0.15rem 0 0;
    color: #242a75;
    font-size: 0.63rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .belt {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.3rem auto 0;
    padding: 0.05rem 0.05rem 0.1rem;
    background-color: #242a75;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl .belt .deco {
    color: #f7ab00;
  }
  .cta-btns {
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 0.53rem auto 0;
  }
  .cta-btn {
    width: 3.3rem;
  }
  .cta-kit {
    margin: 0.4rem auto 0;
  }
  .cta-kit-head {
    padding: 0.25rem 0 0.2rem;
    background: #eaf9fc;
    color: #242a75;
    font-size: 0.36rem;
    font-weight: bold;
    line-height: 1.28;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .cta-kit-head .large {
    font-size: 0.44rem;
  }
  .cta-kit-foot {
    position: relative;
    padding: 0.25rem 0.3rem 0.4rem;
    background: #fff;
  }
  .cta-kit-txt01 {
    padding: 0 0 0 1.7rem;
    font-size: 0.28rem;
    line-height: 1.5;
  }
  .cta-kit-txt01 .deco {
    color: #242a75;
    font-weight: bold;
  }
  .cta-kit-recommend {
    margin: 0.95rem 0 0;
    padding: 0.2rem 0 0.3rem;
    background: #242a75;
    color: #fff;
  }
  .cta-kit-txt02 {
    position: relative;
    font-size: 0.28rem;
    line-height: 1;
    text-align: center;
  }
  .cta-kit-list {
    width: 5.7rem;
    margin: 0.15rem auto 0;
    padding: 0.2rem 0 0 0.55rem;
    border-top: 1px solid #fff;
  }
  .cta-kit-item {
    position: relative;
    font-size: 0.26rem;
    line-height: 1;
    font-weight: 500;
  }
  .cta-kit-item + .cta-kit-item {
    margin: 0.12rem 0 0;
  }
  .cta-kit-item::before {
    position: absolute;
    top: 50%;
    left: -0.08rem;
    width: 0.23rem;
    height: 0.2rem;
    background: url(../img/reserve_icon01_pc.webp) no-repeat center/cover;
    transform: translate(-100%, -50%);
    content: "";
  }
  .cta-kit-txt03 {
    margin: 0.2rem 0 0;
    font-size: 0.28rem;
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-kit-txt03 a {
    display: inline-block;
    padding: 0 0 0.03rem;
    border-bottom: 1px solid #f7ab00;
    color: #f7ab00;
    font-size: 0.44rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .cta-kit-sample {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: flex;
    align-items: flex-end;
  }
  .cta-kit-pic {
    width: 1.4rem;
    filter: drop-shadow(0 0 0.05rem rgba(0, 0, 0, 0.3));
  }
  .cta-kit-price {
    margin: 0 0 0.15rem 0.3rem;
    font-size: 0.22rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .cta-kit-price .large {
    font-size: 0.44rem;
  }
  .cta-kit-btn {
    width: 6.11rem;
    margin: 0.25rem auto 0;
  }
  .cta-link-btn {
    width: 6.1rem;
    margin: 0 auto;
  }
  .cta-link-btn:nth-child(2) {
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
  }
  .cta-movie {
    margin: 0.8rem 0 0;
  }
  .cta-movie-ttl {
    font-size: 0.62rem;
    font-weight: bold;
    color: #242a75;
    text-align: center;
    letter-spacing: 0.04em;
    white-space: nowrap;
    margin-left: 0.15rem;
  }
  .cta-movie-ttl .middle {
    font-size: 0.5rem;
  }
  .cta-movie-btn {
    width: 6.9rem;
    height: 3.9rem;
    margin: 0.5rem auto 0;
    cursor: pointer;
  }
  .cta-movie-btn iframe {
    width: 6.9rem;
    height: 3.9rem;
  }
  .cta_top_txt {
    text-align: left;
    font-size: 0.2rem;
    margin: -0.3rem 0 0.7rem auto;
    width: 4.5rem;
  }
}
/*==============================================================================
fv
============================================================================= */
@media screen and (min-width: 769px) {
  .fv-bg {
    height: 640px;
  }
  .fv-inner {
    width: 1190px;
    padding-left: 75px;
  }
  .fv-lead {
    margin: 10px 0 0 0 !important;
  }
  .fv-wrap {
    margin: 0 !important;
  }
  .fv-btn01 {
    position: absolute;
    z-index: 100;
    width: 340px;
    bottom: 85px;
    left: 550px;
  }
  .fv-btn01:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .fv-btn04 {
    position: absolute;
    z-index: 100;
    width: 340px;
    bottom: 25px;
    left: 550px;
  }
  .fv-btn04:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .fv-block01 {
    position: relative;
    width: 980px;
    margin: 0 auto;
  }
  .fv-box01 {
    position: absolute;
    bottom: 15px;
    left: 48%;
    width: 182px;
    height: 18px;
  }
  .fv-pagination {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 16px;
    font-weight: 500;
  }
  .fv-pagination .swiper-pagination-current {
    font-size: 22px;
  }
  .fv-pagination .swiper-pagination-total {
    font-size: 22px;
  }
  .fv-btn02 {
    position: absolute;
    top: -280px;
    left: -650px;
    width: 50px;
    height: 50px;
    margin: 0;
    background: url(../img/fv_icon01_pc.webp) no-repeat center/contain;
  }
  .fv-btn02::after {
    content: none;
  }
  .fv-btn03 {
    position: absolute;
    top: -280px;
    right: -380px;
    width: 50px;
    height: 50px;
    margin: 0;
    background: url(../img/fv_icon01_pc.webp) no-repeat center/contain;
    transform: rotate(180deg);
  }
  .fv-btn03::after {
    content: none;
  }
  .fv .swiper-pagination-clickable .swiper-pagination-bullet {
    margin-right: 15px;
  }
  .fv .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
    background: #fff;
    border: 1px solid #242a75;
    opacity: 1;
  }
  .fv .swiper-pagination-bullet-active {
    background: #242a75;
  }
  .fv-slide01 .fv-bg {
    padding: 26px 0 46px;
    background: url(../img/fv_slide_bg01_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide01 .fv-inner {
    position: relative;
  }
  .fv-slide01 .fv-wrap {
    width: 602px;
  }
  .fv-slide01 .fv-catch {
    position: relative;
    padding: 0;
    color: #fff;
    margin: 0;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
  }
  .fv-slide01 .fv-catch .big {
    font-size: 36px;
    font-weight: bold;
  }
  .fv-slide01 .fv-catch .orange {
    color: #f7ab00;
  }
  .fv-slide01 .fv-catch .asterisk {
    position: absolute;
    top: 20px;
    right: 22px;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1;
  }
  .fv-slide01 .fv-lead_txt01 {
    font-weight: bold;
    font-size: 25px;
    margin: 50px 0 0;
    line-height: 1;
    font-feature-settings: "palt";
    letter-spacing: 0.06em;
  }
  .fv-slide01 .fv-lead_txt01 .small {
    font-size: 22px;
  }
  .fv-slide01 .fv-lead_txt01 .big {
    font-size: 33px;
  }
  .fv-slide01 .fv-lead_txt01 .dot {
    position: relative;
  }
  .fv-slide01 .fv-lead_txt01 .dot::before {
    content: "・";
    color: #f7ab00;
    font-size: 17px;
    text-align: center;
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fv-slide01 .fv-lead_txt01 .dot02 {
    position: relative;
  }
  .fv-slide01 .fv-lead_txt01 .dot02::before {
    content: "・";
    color: #f7ab00;
    font-size: 17px;
    text-align: center;
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fv-slide01 .fv-lead_txt02 {
    font-weight: bold;
    font-size: 31px;
    font-feature-settings: "palt";
    letter-spacing: 0.07em;
  }
  .fv-slide01 .fv-lead_txt02 .small {
    font-size: 26px;
  }
  .fv-slide01 .fv-lead {
    position: relative;
    margin: 40px 0 0;
    padding: 0;
    width: 100%;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0em;
    text-align: center;
  }
  .fv-slide01 .fv-lead .century {
    font-size: 80px;
  }
  .fv-slide01 .fv-lead .deco {
    color: #f7ab00;
    font-size: 70px;
    line-height: 0.8;
  }
  .fv-slide01 .fv-lead .big {
    color: #f7ab00;
    font-size: 40px;
    line-height: 0.8;
    margin-right: 10px;
  }
  .fv-slide01 .fv-lead .medium {
    margin-right: 4px;
  }
  .fv-slide01 .fv-lead .orange {
    color: #f7ab00;
  }
  .fv-slide01 .fv-lead .asterisk {
    position: absolute;
    top: 16px;
    right: 102px;
    font-weight: normal;
    font-size: 12px;
    line-height: 1;
  }
  .fv-slide01 .fv-note {
    margin: 12px 0 0 35px;
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: 0.04em;
    font-weight: normal;
  }
  .fv-slide01 .fv-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 600px;
    margin: 35px auto 0;
  }
  .fv-slide01 .fv-list02 {
    width: 550px;
    margin: 20px 0 0 -20px;
  }
  .fv-slide01 .fv-head {
    position: relative;
    margin: 15px 0 0;
    width: 495px;
    padding: 25px 0 30px;
    background: #242a75;
  }
  .fv-slide01 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fv-slide01 .fv-item:nth-of-type(1) {
    font-size: 30px;
    line-height: 1.2;
  }
  .fv-slide01 .fv-item:nth-of-type(2) {
    font-size: 18px;
    line-height: 1.3;
  }
  .fv-slide01 .fv-item:nth-of-type(2) .deco {
    font-size: 20px;
  }
  .fv-slide01 .fv-item:nth-of-type(2) .num {
    font-size: 32px;
  }
  .fv-slide01 .fv-item:nth-of-type(3) {
    padding: 10px 0 0;
    font-size: 24px;
    line-height: 1;
  }
  .fv-slide01 .fv-item:nth-of-type(3) .deco {
    font-size: 34px;
  }
  .fv-slide01 .fv-item:nth-of-type(3) .num {
    font-size: 60px;
  }
  .fv-slide01 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide01 .fv-pic01 {
    position: absolute;
    width: 784px;
    bottom: -40px;
    right: -100px;
  }
  .fv-slide01 .fv-pic02 {
    position: absolute;
    width: 403px;
    bottom: 0;
    right: 140px;
  }
  .fv-slide01 .fv-btn01 {
    width: 340px;
  }
  .fv-slide01 .fv-slide-btn {
    width: 192px;
  }
  .fv-slide01 .fv-slide-btn:hover {
    cursor: pointer;
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .fv-slide01 .fv-slide-btn02 {
    width: 145px;
  }
  .fv-slide01 .fv-subttl {
    position: absolute;
    width: 141px;
    top: -12px;
    left: 18px;
  }
  .fv-slide03 .fv-bg {
    padding: 26px 0 46px;
    background: url(../img/fv_slide_bg03_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide03 .fv-inner {
    position: relative;
  }
  .fv-slide03 .fv-wrap {
    width: 500px;
    margin: 0 0 0 -112px;
  }
  .fv-slide03 .fv-catch {
    margin: 30px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide03 .fv-lead {
    position: relative;
    margin: 10px 0 0 -10px !important;
    width: 500px;
    padding: 22px 0 32px 35px;
    background: #242a75;
    color: #fff;
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: 0.02em;
  }
  .fv-slide03 .fv-lead .deco {
    color: #f7ab00;
    font-size: 75px;
    font-weight: bold;
  }
  .fv-slide03 .fv-lead .bold {
    font-weight: bold;
  }
  .fv-slide03 .fv-list {
    display: flex;
    justify-content: center;
    margin: 15px 0 0;
  }
  .fv-slide03 .fv-list02 {
    justify-content: space-between;
    width: 500px;
    margin: 25px auto 0;
  }
  .fv-slide03 .fv-slide-btn02 {
    width: 145px;
  }
  .fv-slide03 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 27px;
    font-weight: bold;
    text-align: center;
    line-height: 1.27;
    letter-spacing: 0.04em;
  }
  .fv-slide03 .fv-item:nth-of-type(1) .station {
    display: inline-block;
    font-size: 16px;
  }
  .fv-slide03 .fv-item:nth-of-type(2) {
    margin: 0 0 0 43px;
  }
  .fv-slide03 .fv-item:nth-of-type(2) .station {
    display: inline-block;
    padding: 0 0 0 0.5em;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .fv-slide03 .fv-item .num {
    font-size: 31px;
  }
  .fv-slide03 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide04 .fv-bg {
    padding: 26px 0 46px;
    background: url(../img/fv_slide_bg04_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide04 .fv-inner {
    position: relative;
  }
  .fv-slide04 .fv-wrap {
    width: 500px;
    margin: 0 0 0 -112px;
  }
  .fv-slide04 .fv-catch {
    margin: 80px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide04 .fv-lead {
    position: relative;
    margin: 20px 0 0 -10px;
    padding: 30px 0 35px;
    background: #242a75;
    color: #fff;
    font-size: 47px;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide04 .fv-lead .deco {
    color: #f7ab00;
    font-size: 71px;
  }
  .fv-slide04 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide04 .fv-list {
    display: flex;
    justify-content: center;
    margin: 15px 0 0;
  }
  .fv-slide04 .fv-list02 {
    margin: 55px 0 0;
  }
  .fv-slide04 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.04em;
  }
  .fv-slide04 .fv-item .price {
    font-size: 30px;
    letter-spacing: 0.02em;
  }
  .fv-slide04 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide05 .fv-bg {
    padding: 26px 0 46px;
    background: url(../img/fv_slide_bg05_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide05 .fv-inner {
    position: relative;
  }
  .fv-slide05 .fv-wrap {
    width: 550px;
  }
  .fv-slide05 .fv-catch {
    margin: 40px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide05 .fv-lead {
    position: relative;
    width: 500px;
    padding: 33px 0 38px 25px;
    background: #242a75;
    color: #fff;
    font-size: 31px;
    line-height: 1;
    letter-spacing: 0.02em;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
  }
  .fv-slide05 .fv-lead .deco {
    display: inline-block;
    margin: 0 0 22px;
    color: #f7ab00;
    font-size: 66px;
    letter-spacing: 0.04em;
  }
  .fv-slide05 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide05 .fv-lead .deco02 {
    display: inline-block;
    margin: 0 0 0 -10px;
  }
  .fv-slide05 .fv-list {
    display: flex;
    justify-content: center;
    margin: 15px 0 0;
  }
  .fv-slide05 .fv-list02 {
    justify-content: space-between;
    width: 500px;
    margin: 28px auto 0;
  }
  .fv-slide05 .fv-slide-btn02 {
    width: 145px;
  }
  .fv-slide05 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.04em;
  }
  .fv-slide05 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide05 .fv-new-catch {
    margin: 33px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide05 .fv-new-catch .dot {
    position: relative;
  }
  .fv-slide05 .fv-new-catch .dot::after {
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    background: #f3a901;
    border-radius: 50%;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
  }
  .fv-slide05 .fv-new-catch .small {
    font-size: 29px;
  }
  .fv-slide05 .fv-new-catch .mini {
    font-size: 25px;
  }
  .fv-slide06 .fv-bg {
    padding: 26px 0 46px;
    background: url(../img/fv_slide_bg06_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide06 .fv-inner {
    position: relative;
  }
  .fv-slide06 .fv-wrap {
    width: 550px;
  }
  .fv-slide06 .fv-catch {
    margin: 40px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide06 .fv-lead {
    position: relative;
    width: 500px;
    padding: 33px 0 20px;
    text-align: center;
    background: #242a75;
    color: #fff;
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
    margin: 60px 0 0 0 !important;
  }
  .fv-slide06 .fv-lead .deco {
    display: inline-block;
    margin: 0 0 22px;
    color: #f7ab00;
    font-size: 63px;
    letter-spacing: -0.05em;
  }
  .fv-slide06 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide06 .fv-lead .deco02 {
    display: inline-block;
    margin: 0 0 0 -10px;
  }
  .fv-slide06 .fv-lead .asterisk {
    position: absolute;
    top: 25px;
    right: 100px;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1;
  }
  .fv-slide06 .fv-note {
    margin: 12px 0 0 35px;
    font-size: 14px;
    line-height: 1.35;
    letter-spacing: 0.04em;
    font-weight: normal;
    text-indent: -2.5em;
    padding: 0 0 0 50px;
  }
  .fv-slide06 .fv-list {
    display: flex;
    justify-content: center;
    margin: 15px 0 0;
  }
  .fv-slide06 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.04em;
  }
  .fv-slide06 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide06 .fv-new-catch {
    margin: 33px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide06 .fv-new-catch .dot {
    position: relative;
  }
  .fv-slide06 .fv-new-catch .dot::after {
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    background: #f3a901;
    border-radius: 50%;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
  }
  .fv-slide06 .fv-new-catch .small {
    font-size: 29px;
  }
  .fv-slide06 .fv-new-catch .mini {
    font-size: 25px;
  }
  .fv-slide06 .fv-graph {
    margin: 35px 0 0 55px;
    width: 503px;
  }
}
@media screen and (max-width: 768px) {
  .fv {
    background: #fff;
  }
  .fv-wrap {
    height: 12.8rem;
  }
  .fv-block01 {
    position: relative;
    width: 7.5rem;
  }
  .fv-box01 {
    position: absolute;
    bottom: -0.5rem;
    left: 44%;
    width: 3.2rem;
    height: 1rem;
    z-index: 100;
  }
  .fv-btn02 {
    position: absolute;
    top: -5.9rem;
    left: -3.55rem;
    width: 1rem;
    height: 1rem;
    margin: 0;
    background: url(../img/fv_icon01_sp.webp) no-repeat center/contain;
  }
  .fv-btn02::after {
    content: none;
  }
  .fv-btn03 {
    position: absolute;
    top: -5.9rem;
    right: -1.25rem;
    width: 1rem;
    height: 1rem;
    margin: 0;
    background: url(../img/fv_icon01_sp.webp) no-repeat center/contain;
    transform: rotate(180deg);
  }
  .fv-btn03::after {
    content: none;
  }
  .fv .swiper-pagination-clickable .swiper-pagination-bullet {
    margin-right: 0.2rem;
  }
  .fv .swiper-pagination-bullet {
    width: 0.2rem;
    height: 0.2rem;
    background: #fff;
    border: 1px solid #242a75;
    opacity: 1;
  }
  .fv .swiper-pagination-bullet-active {
    background: #242a75;
  }
  .fv .swiper-pagination {
    margin: -0.6rem 0 0;
  }
  .fv-slide01 .fv-catch .big {
    font-size: 0.6rem;
    font-weight: bold;
  }
  .fv-slide01 .fv-wrap {
    position: relative;
    background: url(../img/fv_slide_bg07_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.5rem 0 0.45rem;
    box-shadow: inset 0 -1rem 1rem #fff;
  }
  .fv-slide01 .fv-catch {
    position: relative;
    color: #fff;
    margin: 0;
    font-size: 0.42rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide01 .fv-catch .orange {
    color: #f7ab00;
  }
  .fv-slide01 .fv-catch .asterisk {
    position: absolute;
    top: 0.3rem;
    right: 1.7rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.18rem;
    line-height: 1;
  }
  .fv-slide01 .fv-lead {
    position: relative;
    margin: 0.15rem 0 0;
    padding: 0;
    width: 100%;
    color: #fff;
    font-size: 0.48rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide01 .fv-lead .century {
    font-size: 1.2rem;
  }
  .fv-slide01 .fv-lead .deco {
    color: #f7ab00;
    font-size: 0.9rem;
    line-height: 0.8;
  }
  .fv-slide01 .fv-lead .asterisk {
    position: absolute;
    top: 0.2rem;
    right: 1.37rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.18rem;
    line-height: 1;
  }
  .fv-slide01 .fv-lead::before {
    content: none;
  }
  .fv-slide01 .fv-lead_txt01 {
    font-weight: bold;
    font-size: 0.34rem;
    margin: 0;
    line-height: 1;
    font-feature-settings: "palt";
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide01 .fv-lead_txt01 .small {
    font-size: 0.3rem;
  }
  .fv-slide01 .fv-lead_txt01 .big {
    font-size: 0.45rem;
  }
  .fv-slide01 .fv-lead_txt01 .dot {
    position: relative;
  }
  .fv-slide01 .fv-lead_txt01 .dot::before {
    content: "・";
    color: #f7ab00;
    font-size: 0.3rem;
    text-align: center;
    position: absolute;
    top: -0.22rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fv-slide01 .fv-lead_txt01 .dot02 {
    position: relative;
  }
  .fv-slide01 .fv-lead_txt01 .dot02::before {
    content: "・";
    color: #f7ab00;
    font-size: 0.3rem;
    text-align: center;
    position: absolute;
    top: -0.09rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .fv-slide01 .fv-lead_txt02 {
    font-weight: bold;
    font-size: 0.42rem;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    text-align: center;
  }
  .fv-slide01 .fv-lead_txt02 .small {
    font-size: 0.31rem;
  }
  .fv-slide01 .fv-note {
    margin: 0.12rem 0 0 0.38rem;
    font-size: 0.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    /* text-indent: -1em;
    padding-left: 1em; */
  }
  .fv-slide01 .fv-list {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 4.4rem auto 0;
    align-items: flex-end;
  }
  .fv-slide01 .fv-list02 {
    margin: 3.34rem auto 0;
  }
  .fv-slide01 .fv-head {
    position: relative;
    margin: 0.25rem auto 0;
    width: 6.9rem;
    padding: 0.3rem 0 0.4rem;
    background: #242a75;
  }
  .fv-slide01 .fv-slide-btn {
    width: 2.4rem;
  }
  .fv-slide01 .fv-slide-btn03 {
    width: 3rem;
  }
  .fv-slide01 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fv-slide01 .fv-item:nth-of-type(1) {
    font-size: 0.43rem;
    line-height: 1.2;
  }
  .fv-slide01 .fv-item:nth-of-type(2) {
    font-size: 0.26rem;
    line-height: 1.2;
  }
  .fv-slide01 .fv-item:nth-of-type(2) .deco {
    font-size: 0.29rem;
  }
  .fv-slide01 .fv-item:nth-of-type(2) .num {
    font-size: 0.46rem;
  }
  .fv-slide01 .fv-item:nth-of-type(3) {
    padding: 0.1rem 0 0;
    font-size: 0.34rem;
    line-height: 1;
  }
  .fv-slide01 .fv-item:nth-of-type(3) .deco {
    font-size: 0.49rem;
  }
  .fv-slide01 .fv-item:nth-of-type(3) .num {
    font-size: 0.87rem;
  }
  .fv-slide01 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide01 .fv-btn01 {
    position: relative;
    z-index: 100;
    width: 4.58rem;
    margin: 0.1rem auto 0;
  }
  .fv-slide01 .fv-pic01 {
    position: absolute;
    width: 7.5rem;
    bottom: 1.95rem;
    left: 0;
  }
  .fv-slide01 .fv-pic02 {
    position: relative;
    width: 6.9rem;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0.2rem auto 0;
  }
  .fv-slide01 .fv-lead .big {
    color: #f7ab00;
    font-size: 0.5rem;
    line-height: 0.8;
    margin-right: 0.2rem;
  }
  .fv-slide01 .fv-lead .orange {
    color: #f7ab00;
  }
  .fv-slide01 .fv-lead .medium {
    margin-right: 0.05rem;
  }
  .fv-slide01 .fv-subttl {
    position: absolute;
    width: 4.4rem;
    top: -0.24rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .fv-slide03 .fv-wrap {
    position: relative;
    background: url(../img/fv_slide_bg03_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.7rem 0 0.9rem;
  }
  .fv-slide03 .fv-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide03 .fv-catch .small {
    font-size: 0.35rem;
  }
  .fv-slide03 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.15rem auto 0;
    padding: 0.35rem 0 0.45rem 0.4rem;
    background: #242a75;
    color: #fff;
    font-size: 0.84rem;
    line-height: 1.19;
    letter-spacing: 0.04em;
  }
  .fv-slide03 .fv-lead .bold {
    font-weight: bold;
  }
  .fv-slide03 .fv-lead .deco {
    color: #f7ab00;
    font-size: 1.09rem;
    font-weight: bold;
  }
  .fv-slide03 .fv-list {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 3.5rem auto 0;
    z-index: 1;
  }
  .fv-slide03 .fv-slide-btn {
    width: 2.2rem;
  }
  .fv-slide03 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1;
  }
  .fv-slide03 .fv-item:nth-of-type(1) {
    line-height: 1.29;
    font-size: 0.38rem;
  }
  .fv-slide03 .fv-item:nth-of-type(1) .station {
    font-size: 0.24rem;
  }
  .fv-slide03 .fv-item:nth-of-type(1) .num {
    font-size: 0.43rem;
  }
  .fv-slide03 .fv-item:nth-of-type(2) {
    margin: 0 0 0 0.42rem;
  }
  .fv-slide03 .fv-item:nth-of-type(2) .station {
    font-size: 0.24rem;
    line-height: 1.1;
  }
  .fv-slide03 .fv-item:nth-of-type(2) .num {
    font-size: 0.43rem;
  }
  .fv-slide03 .fv-item:nth-of-type(2) .foot {
    display: inline-block;
    margin: 0.03rem 0 0;
    font-size: 0.38rem;
  }
  .fv-slide03 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide03 .fv-btn01 {
    width: 4.58rem;
    margin: 0.42rem auto 0;
  }
  .fv-slide04 .fv-wrap {
    position: relative;
    background: url(../img/fv_slide_bg04_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 1.05rem 0 0.9rem;
  }
  .fv-slide04 .fv-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide04 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.2rem auto 0;
    padding: 0.5rem 0;
    background: #242a75;
    color: #fff;
    font-size: 0.66rem;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide04 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide04 .fv-lead .deco {
    color: #f7ab00;
    font-size: 1.01rem;
    font-weight: bold;
  }
  .fv-slide04 .fv-list {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 3.4rem auto 0;
    z-index: 1;
  }
  .fv-slide04 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1;
    font-size: 0.28rem;
  }
  .fv-slide04 .fv-item .price {
    font-size: 0.43rem;
    letter-spacing: 0;
  }
  .fv-slide04 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide04 .fv-btn01 {
    width: 4.58rem;
    margin: 0.42rem auto 0;
  }
  .fv-slide05 .fv-wrap {
    position: relative;
    background: url(../img/fv_slide_bg05_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.8rem 0 0.9rem;
  }
  .fv-slide05 .fv-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide05 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.2rem auto 0;
    padding: 0.5rem 0 0.6rem;
    background: #242a75;
    color: #fff;
    font-size: 0.43rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide05 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide05 .fv-lead .deco {
    display: inline-block;
    padding: 0 0 0.3rem 0.25rem;
    color: #f7ab00;
    font-size: 0.92rem;
    font-weight: bold;
  }
  .fv-slide05 .fv-lead .deco02 {
    margin: 0 0 0 -0.15em;
  }
  .fv-slide05 .fv-list {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 3rem auto 0;
    z-index: 1;
  }
  .fv-slide05 .fv-list02 {
    margin: 3.5rem auto 0;
  }
  .fv-slide05 .fv-slide-btn {
    width: 2.2rem;
  }
  .fv-slide05 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.2;
    font-size: 0.43rem;
  }
  .fv-slide05 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide05 .fv-btn01 {
    width: 4.58rem;
    margin: 0.42rem auto 0;
  }
  .fv-slide05 .fv-new-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide05 .fv-new-catch .dot {
    position: relative;
  }
  .fv-slide05 .fv-new-catch .dot::after {
    position: absolute;
    content: "";
    background: #f3a901;
    width: 0.09rem;
    height: 0.09rem;
    border-radius: 50%;
    top: -0.09rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .fv-slide05 .fv-new-catch .small, .fv-slide05 .fv-new-catch .mini {
    font-size: 0.38rem;
  }
  .fv-slide06 .fv-wrap {
    position: relative;
    background: url(../img/fv_slide_bg06_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.8rem 0 0.9rem;
  }
  .fv-slide06 .fv-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide06 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.2rem auto 0;
    padding: 0.5rem 0 0.2rem;
    background: #242a75;
    color: #fff;
    font-size: 0.6rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide06 .fv-lead .normal {
    font-weight: normal;
  }
  .fv-slide06 .fv-lead .asterisk {
    position: absolute;
    top: 0.3rem;
    right: 1.6rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.18rem;
    line-height: 1;
  }
  .fv-slide06 .fv-lead .deco {
    display: inline-block;
    padding: 0 0 0.3rem 0.09rem;
    color: #f7ab00;
    font-size: 0.9rem;
    font-weight: bold;
    letter-spacing: -0.05em;
  }
  .fv-slide06 .fv-lead .deco02 {
    margin: 0 0 0 -0.15em;
  }
  .fv-slide06 .fv-note {
    margin: 0.12rem 0 0 0.38rem;
    font-size: 0.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-indent: -2em;
    padding: 0 0 0 0.6rem;
  }
  .fv-slide06 .fv-list {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 3rem auto 0;
    z-index: 1;
  }
  .fv-slide06 .fv-list02 {
    margin: 3.5rem auto 0;
  }
  .fv-slide06 .fv-slide-btn {
    width: 2.2rem;
  }
  .fv-slide06 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../img/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.2;
    font-size: 0.43rem;
  }
  .fv-slide06 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide06 .fv-btn01 {
    width: 4.58rem;
    margin: 0.42rem auto 0;
  }
  .fv-slide06 .fv-new-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide06 .fv-new-catch .dot {
    position: relative;
  }
  .fv-slide06 .fv-new-catch .dot::after {
    position: absolute;
    content: "";
    background: #f3a901;
    width: 0.09rem;
    height: 0.09rem;
    border-radius: 50%;
    top: -0.09rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .fv-slide06 .fv-new-catch .small, .fv-slide05 .fv-new-catch .mini {
    font-size: 0.38rem;
  }
  .fv-slide06 .fv-graph {
    margin: 3.7rem auto 0;
    width: 6.9rem;
  }
}
/*===============================================================================
point
===============================================================================*/
@media screen and (min-width: 769px) {
  .point-bg {
    margin: -10px 0 0;
    padding: 105px 0 83px;
    background: url(../img/point_bg01_pc.webp) no-repeat center/cover;
  }
  .point-inner {
    width: 960px;
    margin: 0 auto;
  }
  .point-ttl {
    position: relative;
    color: #fff;
    font-size: 49px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .point-ttl .deco {
    color: #f7ab00;
  }
  .point-ttl .num {
    font-size: 71px;
  }
  .point-ttl::before {
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translate(-50%, 100%);
    width: 810px;
    height: 15px;
    background: url(../img/point_icon01.webp) no-repeat center/contain;
    transform: translate(-50%, 0);
    content: "";
  }
  .point-lead {
    margin: 73px 0 0;
    color: #fff;
    font-size: 46px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .point-lead .deco {
    color: #f7ab00;
    font-size: 57px;
  }
  .point-btns {
    margin: 50px 0 0;
    display: flex;
    justify-content: space-between;
  }
  .point-btn {
    width: 300px;
  }
  .point-btn a {
    transition: opacity 0.3s;
  }
  .point-btn a:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 768px) {
  .point-bg {
    padding: 0.85rem 0;
    background: url(../img/point_bg01_sp.webp) no-repeat center/cover;
  }
  .point-ttl {
    position: relative;
    color: #fff;
    font-size: 0.51rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .point-ttl .deco {
    color: #f7ab00;
  }
  .point-ttl .num {
    font-size: 0.71rem;
  }
  .point-ttl::before {
    position: absolute;
    bottom: -0.4rem;
    left: 50%;
    width: 5.1rem;
    height: 0.15rem;
    background: url(../img/point_icon01.webp) no-repeat center/contain;
    transform: translate(-50%, 0);
    content: "";
  }
  .point-lead {
    margin: 0.75rem 0 0;
    color: #fff;
    font-size: 0.46rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .point-lead .deco {
    color: #f7ab00;
  }
  .point-btns {
    margin: 0.5rem 0 0;
  }
  .point-btn + .point-btn {
    margin: 0.3rem 0 0;
  }
}
/*===============================================================================
explan
===============================================================================*/
@media screen and (min-width: 769px) {
  .explan-bg {
    padding: 75px 0 60px;
    background: #eff0f2;
    overflow: hidden;
  }
  .explan-inner {
    position: relative;
    width: 985px;
    margin: 0 auto;
    z-index: 1;
  }
  .explan-block {
    position: relative;
    z-index: 2;
  }
  .explan-balloon {
    position: relative;
    padding: 48px 0 40px;
    background: url(../img/explan_bg01_pc.webp) no-repeat center/cover;
  }
  .explan-balloon::before {
    position: absolute;
    bottom: 0;
    left: 180px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #1f2678 transparent transparent transparent;
    transform: translate(0, 100%);
    content: "";
  }
  .explan-lead {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 20px;
    border-bottom: 2px solid #fff;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .explan-lead .deco {
    color: #f7ab00;
    font-size: 57px;
  }
  .explan-txt01 {
    margin: 25px 0 0;
    color: #fff;
    font-size: 39px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .explan-txt01 .deco {
    position: relative;
    color: #f7ab00;
    font-size: 46px;
  }
  .explan-txt01 .deco .century {
    font-size: 66px;
  }
  .explan-txt01 .deco::before {
    position: absolute;
    top: 0;
    right: 0;
    color: #f7ab00;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "※";
  }
  .explan-note {
    margin: 10px 0 0 235px;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .explan-ttl {
    position: relative;
    z-index: 2;
    margin: 50px 0 0 64px;
    font-size: 71px;
    line-height: 1;
  }
  .explan-ttl .dot {
    position: relative;
    color: #242a75;
    font-weight: bold;
  }
  .explan-ttl .dot::before {
    position: absolute;
    top: 5px;
    left: 50%;
    width: 13px;
    height: 13px;
    border: 1px solid #168dc5;
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -100%);
    content: "";
  }
  .explan-ttl .deco {
    font-weight: bold;
  }
  .explan-logo {
    margin: 25px 0 0 140px;
    width: 374px;
  }
  .explan-person {
    position: absolute;
    bottom: -383px;
    right: -169px;
    width: 1171px;
  }
}
@media screen and (max-width: 768px) {
  .explan-bg {
    position: relative;
    padding: 0.7rem 0 3.3rem;
    background: #eff0f2;
    overflow: hidden;
  }
  .explan-inner {
    margin: 0 0.36rem 0 0.45rem;
    z-index: 1;
  }
  .explan-block {
    position: relative;
    z-index: 2;
  }
  .explan-balloon {
    position: relative;
    padding: 0.45rem 0 0.3rem;
    background: url(../img/explan_bg01_sp.webp) no-repeat center/cover;
  }
  .explan-balloon::before {
    position: absolute;
    bottom: 1px;
    left: 0.9rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.38rem 0.38rem 0 0;
    border-color: #1f2678 transparent transparent transparent;
    transform: translate(0, 100%);
    content: "";
  }
  .explan-lead {
    width: 5.9rem;
    margin: 0 auto;
    padding: 0 0 0.25rem;
    border-bottom: 0.02rem solid #fff;
    color: #fff;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .explan-txt01 {
    margin: 0.1rem 0 0;
    color: #fff;
    font-size: 0.46rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .explan-txt01 .deco {
    position: relative;
    color: #f7ab00;
    font-size: 0.46rem;
  }
  .explan-txt01 .deco .century {
    font-size: 0.66rem;
  }
  .explan-txt01 .deco::before {
    position: absolute;
    top: -0.05rem;
    right: 0;
    color: #f7ab00;
    font-size: 0.18rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "※";
  }
  .explan-note {
    margin: 0.1rem 0 0 1.35rem;
    font-size: 0.18rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .explan-ttl {
    position: relative;
    z-index: 2;
    margin: 0.8rem 0 0 0;
    font-size: 0.63rem;
    line-height: 1;
  }
  .explan-ttl .dot {
    position: relative;
    color: #242a75;
    font-weight: bold;
  }
  .explan-ttl .dot::before {
    position: absolute;
    top: 0.05rem;
    left: 50%;
    width: 0.1rem;
    height: 0.1rem;
    border: 1px solid #168dc5;
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -100%);
    content: "";
  }
  .explan-ttl .deco {
    font-weight: bold;
  }
  .explan-logo {
    width: 4.07rem;
    margin: 0.25rem 0 0;
  }
  .explan-person {
    position: absolute;
    top: 2.45rem;
    left: 0;
    width: 7.5rem;
  }
}
/*==============================================================================
medicine02
============================================================================= */
@media screen and (min-width: 769px) {
  .medicine02 {
    position: relative;
    z-index: 2;
    background-color: #e7e8ed;
    padding: 100px 0 0;
  }
  .medicine02-bg01 {
    padding: 45px 0 55px;
    background: url(../img/medicine_bg01_pc.webp) no-repeat center/cover;
  }
  .medicine02-inner01 {
    position: relative;
  }
  .medicine02-inner01::before {
    position: absolute;
    bottom: -54px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17px 21.5px 0 21.5px;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
    z-index: 2;
  }
  .medicine02-lead {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 456px;
    margin: 0 auto;
    opacity: 0.5;
  }
  .medicine02-lead02 {
    text-align: center;
    font-size: 39px;
    font-weight: bold;
    padding: 50px 0 0;
  }
  .medicine02-lead02 .lead02-blue {
    color: #168dc5;
    font-size: 51px;
  }
  .medicine02-txt01 {
    position: relative;
    z-index: 10;
    color: #fff;
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-txt01 .large {
    font-size: 56px;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine02-ttl {
    margin: 15px 0 0;
    color: #fff;
    font-size: 66px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-ttl .normal {
    font-weight: normal;
  }
  .medicine02-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 92px 0 20px;
  }
  .medicine02-inner02 {
    width: 1360px;
  }
  .medicine02-list {
    display: flex;
    justify-content: space-between;
  }
  .medicine02-item {
    width: 315px;
  }
  .medicine02-item .medicine02-subttl.minoki {
    padding: 10px 0 27px;
  }
  .medicine02-item .medicine02-block01.minoki::before {
    left: 105px;
  }
  .medicine02-item:nth-of-type(4) .medicine02-subttl {
    padding: 10px 0 27px;
  }
  .medicine02-head {
    position: relative;
    height: 235px;
    background-color: #242a75;
    padding: 55px 15px 35px;
    border-radius: 20px 20px 0 0;
  }
  .medicine02-pic {
    width: 100px;
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .medicine02-subttl {
    padding: 0 0 15px;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .medicine02-subttl.palt {
    font-feature-settings: "palt";
    letter-spacing: 0;
  }
  .medicine02-subttl .small {
    display: block;
    margin: 5px 0 0;
    font-size: 18px;
  }
  .medicine02-price {
    position: relative;
    margin: 25px 0 0;
    color: #fff;
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-price .century {
    font-size: 60px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine02-price .tax {
    position: absolute;
    top: 7px;
    right: 45px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }
  .medicine02-price .tax.viagra {
    position: absolute;
    top: 7px;
    right: 80px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }
  .medicine02-foot {
    position: relative;
    height: 365px;
    padding: 25px 17px 25px 20px;
    background: #fff;
    border-right: #242a75 4px solid;
    border-left: #242a75 4px solid;
  }
  .medicine02-foot dl {
    background: #eaebf0;
    margin: 20px 0 0;
    padding: 20px 0 25px 10px;
  }
  .medicine02-foot dt {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd .tax {
    font-size: 12px;
  }
  .medicine02-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine02-block01 + .medicine02-block01 {
    margin: 15px 0 0;
  }
  .medicine02-block01::before {
    position: absolute;
    left: 85px;
    bottom: -3px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "…";
  }
  .medicine02-foot-txt01 {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.12em;
  }
  .medicine02-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-foot-txt02 {
    font-size: 15px;
    line-height: 1.8;
    margin: 10px auto;
  }
  .medicine02-link02 {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 0 5px;
    border-bottom: 1px solid #242a75;
    color: #242a75;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.14em;
    transition: opacity 0.3s;
  }
  .medicine02-link02:hover {
    opacity: 0.8;
    cursor: pointer;
  }
  .medicine02-btn {
    padding: 12px 0;
    background-color: #f7ab00;
    border-radius: 0 0 20px 20px;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: opacity 0.3s;
  }
  .medicine02-btn:hover {
    opacity: 0.8;
  }
  .medicine02-link {
    width: 448px;
    margin: 65px auto 0;
  }
  .medicine02-link a {
    position: relative;
    display: block;
    background: #fff;
    border-radius: 10px;
    color: #242a75;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    border: 2px solid #242a75;
    box-shadow: 0 4px 0 #242a75;
    padding: 15px 0 12px;
    transition: opacity 0.3s;
  }
  .medicine02-link a span {
    font-size: 12px;
    letter-spacing: -0.02em;
  }
  .medicine02-link a::before {
    position: absolute;
    top: 50%;
    right: 35px;
    width: 20px;
    height: 15px;
    background: url(../img/medicine02_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine02-link a:hover {
    opacity: 0.8;
  }
  .medicine03-bg01 {
    padding: 45px 0 55px;
    background: url(../img/medicine_bg01_pc.webp) no-repeat center/cover;
    background-color: #eff0f2;
  }
  .medicine03-inner01 {
    position: relative;
  }
  .medicine03-inner01::before {
    position: absolute;
    bottom: -54px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17px 21.5px 0 21.5px;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
    z-index: 2;
  }
  .medicine03-lead {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 456px;
    margin: 0 auto;
    opacity: 0.5;
  }
  .medicine03-lead02 {
    text-align: center;
    font-size: 39px;
    font-weight: bold;
    padding: 50px 0 0;
  }
  .medicine03-lead02 .lead02-blue {
    color: #168dc5;
    font-size: 51px;
  }
  .medicine03-txt01 {
    position: relative;
    z-index: 10;
    color: #fff;
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine03-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine03-txt01 .orange {
    color: #f7ab00;
  }
  .medicine03-txt01 .large {
    font-size: 56px;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine03-ttl {
    margin: 15px 0 0;
    color: #fff;
    font-size: 66px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine03-ttl .normal {
    font-weight: normal;
  }
  .medicine03-ttl .orange {
    color: #f7ab00;
  }
  .medicine03-ttl .big01 {
    font-size: 100px;
  }
  .medicine03-ttl .big02 {
    font-size: 90px;
  }
  .medicine02_arrow {
    width: 77px;
    margin: 15px auto 0;
  }
  .medicine02_kakko {
    width: 496px;
    margin: 25px auto 0;
    color: #168dc5;
    text-align: center;
    font-weight: bold;
    position: relative;
  }
  .medicine02_kakko::before {
    content: "";
    display: block;
    background: url("../img/medicine02_kakko_left.webp") no-repeat center;
    background-size: contain;
    width: 20px;
    height: 80px;
    position: absolute;
    left: 0;
    top: 0;
  }
  .medicine02_kakko::after {
    content: "";
    display: block;
    background: url("../img/medicine02_kakko_right.webp") no-repeat center;
    background-size: contain;
    width: 20px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 0;
  }
  .medicine02_kakko .txt01 {
    font-size: 51px;
    line-height: 1;
  }
  .medicine02_kakko .txt02 {
    font-size: 16px;
    padding: 5px 0 0;
  }
  .medicine02_check_list {
    display: flex;
    justify-content: space-between;
    margin: 50px auto 0;
    width: 890px;
  }
  .medicine02_check_list_child {
    font-size: 24px;
    font-weight: bold;
    padding-left: 40px;
    position: relative;
  }
  .medicine02_check_list_child::before {
    content: "";
    display: block;
    background: url("../img/medicine02_list_check.webp") no-repeat center;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 3px;
  }
}
@media screen and (max-width: 768px) {
  .medicine02 {
    position: relative;
    z-index: 2;
    background-color: #e7e8ed;
    padding: 1rem 0 0;
  }
  .medicine02-bg01 {
    padding: 0.45rem 0 0.55rem;
    background: url(../img/medicine_bg01_pc.webp) no-repeat center/cover;
  }
  .medicine02-inner01 {
    position: relative;
  }
  .medicine02-inner01::before {
    position: absolute;
    bottom: -0.54rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.17rem 0.215rem 0 0.215rem;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
    z-index: 2;
  }
  .medicine02-lead {
    position: absolute;
    top: -0.2rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 4.56rem;
    margin: 0 auto;
    opacity: 0.5;
  }
  .medicine02-lead02 {
    text-align: center;
    font-size: 0.45rem;
    font-weight: bold;
    padding: 0.87rem 0 0;
  }
  .medicine02-lead02 .lead02-blue {
    color: #168dc5;
    font-size: 0.57rem;
  }
  .medicine02-txt01 {
    position: relative;
    z-index: 10;
    color: #fff;
    font-size: 0.38rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-txt01 .large {
    font-size: 0.56rem;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine02-ttl {
    margin: 0.15rem 0 0;
    color: #fff;
    font-size: 0.66rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-ttl .normal {
    font-weight: normal;
  }
  .medicine02-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 0.55rem 0 0;
  }
  .medicine02-item + .medicine02-item {
    margin: 0.43rem 0 0;
  }
  .medicine02-item .medicine02-head.minoki {
    padding: 0.6rem 0 0.25rem 0.4rem;
  }
  .medicine02-item .medicine02-subttl.minoki {
    padding: 0 0 0.3rem;
  }
  .medicine02-item:nth-of-type(3) .medicine02-block01::before {
    left: 1.9rem;
    bottom: -0.08rem;
  }
  .medicine02-item:nth-of-type(4) .medicine02-head {
    padding: 0.6rem 0 0.25rem 0.4rem;
  }
  .medicine02-item:nth-of-type(4) .medicine02-subttl {
    padding: 0 0 0.3rem;
  }
  .medicine02-head {
    position: relative;
    height: 2.55rem;
    background-color: #242a75;
    padding: 0.3rem 0 0.25rem 0.4rem;
    border-radius: 0.2rem 0.2rem 0 0;
  }
  .medicine02-head.viagra {
    height: 3rem;
    padding: 0.5rem 0 0.25rem 0.4rem;
  }
  .medicine02-pic {
    width: 2.21rem;
    position: absolute;
    top: 50%;
    right: 0.25rem;
    transform: translate(0, -50%);
  }
  .medicine02-pic.viagra {
    top: 57%;
  }
  .medicine02-subttl {
    width: 5rem;
    padding: 0 0 0.15rem;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .medicine02-subttl .small {
    display: block;
    margin: 0.12rem 0 0 -0.5em;
    font-size: 0.3rem;
  }
  .medicine02-price {
    position: relative;
    margin: 0.3rem 0 0;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .medicine02-price .century {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine02-price .tax {
    position: absolute;
    top: -0.05rem;
    left: 1.54rem;
    font-size: 0.12rem;
    letter-spacing: 0.04em;
  }
  .medicine02-price .tax.viagra {
    position: absolute;
    top: -0.05rem;
    left: 1rem;
    font-size: 0.12rem;
    letter-spacing: 0.04em;
  }
  .medicine02-foot {
    position: relative;
    padding: 0.3rem 0.25rem 0.48rem 0.3rem;
    background: #fff;
    border-right: #242a75 0.04rem solid;
    border-left: #242a75 0.04rem solid;
  }
  .medicine02-foot dl {
    background: #eaebf0;
    margin: 0.35rem 0 0;
    padding: 0.38rem 0.4rem 0.45rem 0.6rem;
  }
  .medicine02-foot dt {
    position: relative;
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd {
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine02-block01 + .medicine02-block01 {
    margin: 0.2rem 0 0;
  }
  .medicine02-block01::before {
    position: absolute;
    left: 1.5rem;
    bottom: -0.08rem;
    font-size: 0.28rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "…";
  }
  .medicine02-foot-txt01 {
    padding: 0 0.1rem;
    font-size: 0.28rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
  }
  .medicine02-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-link02 {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.4rem auto 0;
    padding: 0 0 0.1rem;
    border-bottom: 1px solid #242a75;
    color: #242a75;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.14em;
  }
  .medicine02-btn {
    color: #242a75;
    padding: 0.15rem 0;
    background-color: #f7ab00;
    border-radius: 0 0 0.2rem 0.2rem;
    font-size: 0.26rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .medicine02-link {
    position: relative;
    width: 6.1rem;
    margin: 0.8rem auto 0;
  }
  .medicine02-link::before {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    width: 0.2rem;
    height: 0.15rem;
    background: url(../img/medicine02_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine02-link a {
    display: block;
    background: #fff;
    border-radius: 0.2rem;
    color: #242a75;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    border: 1px solid #242a75;
    box-shadow: 0 0.05rem 0 #242a75;
    padding: 0.35rem 0;
  }
  .medicine03-bg01 {
    padding: 0.8rem 0 0.55rem;
    background: url(../img/medicine_bg01_pc.webp) no-repeat center/cover;
  }
  .medicine03-inner01 {
    position: relative;
  }
  .medicine03-inner01::before {
    position: absolute;
    bottom: -0.54rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.17rem 0.215rem 0 0.215rem;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
    z-index: 2;
  }
  .medicine03-lead {
    position: absolute;
    top: -0.2rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 7.5rem;
    margin: 0 auto;
    opacity: 0.5;
  }
  .medicine03-lead02 {
    text-align: center;
    font-size: 0.45rem;
    font-weight: bold;
    padding: 0.87rem 0 0;
  }
  .medicine03-lead02 .lead02-blue {
    color: #168dc5;
    font-size: 0.57rem;
  }
  .medicine03-txt01 {
    position: relative;
    z-index: 10;
    color: #fff;
    font-size: 0.38rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine03-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine03-txt01 .large {
    font-size: 0.56rem;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine03-txt01 .orange {
    color: #f7ab00;
  }
  .medicine03-ttl {
    margin: 0.15rem 0 0;
    color: #fff;
    font-size: 0.66rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine03-ttl .normal {
    font-weight: normal;
  }
  .medicine03-ttl .orange {
    color: #f7ab00;
  }
  .medicine03-ttl .big01 {
    font-size: 1.1rem;
  }
  .medicine03-ttl .big02 {
    font-size: 1rem;
  }
  .medicine02_arrow {
    width: 0.78rem;
    margin: 0.35rem auto 0;
  }
  .medicine02_kakko {
    width: 100%;
    margin: 0.3rem auto 0;
    color: #168dc5;
    text-align: center;
    font-weight: bold;
    position: relative;
  }
  .medicine02_kakko::before {
    content: "";
    display: block;
    background: url("../img/medicine02_kakko_left_sp.webp") no-repeat center;
    background-size: contain;
    width: 0.22rem;
    height: 1rem;
    position: absolute;
    left: 0;
    top: 0;
  }
  .medicine02_kakko::after {
    content: "";
    display: block;
    background: url("../img/medicine02_kakko_right_sp.webp") no-repeat center;
    background-size: contain;
    width: 0.22rem;
    height: 1rem;
    position: absolute;
    right: 0;
    top: 0;
  }
  .medicine02_kakko .txt01 {
    font-size: 0.57rem;
    line-height: 1;
  }
  .medicine02_kakko .txt02 {
    font-size: 0.24rem;
    padding: 5px 0 0;
  }
  .medicine02_check_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0.35rem auto 0;
    width: 100%;
  }
  .medicine02_check_list_child {
    font-size: 0.36rem;
    font-weight: bold;
    padding-left: 0.7rem;
    position: relative;
  }
  .medicine02_check_list_child:nth-last-of-type(1), .medicine02_check_list_child:nth-last-of-type(2) {
    margin-top: 0.35rem;
  }
  .medicine02_check_list_child::before {
    content: "";
    display: block;
    background: url("../img/medicine02_list_check.webp") no-repeat center;
    background-size: contain;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    left: 0;
    top: 3px;
  }
}
/*==============================================================================
challenge02
============================================================================= */
@media screen and (min-width: 769px) {
  .challenge02-bg {
    padding: 75px 0;
    background-color: #e7e8ed;
  }
  .challenge02 dl:not(:first-of-type) {
    margin: 50px 0 0;
  }
  .challenge02 dt {
    padding: 25px 0;
    background: url(../img/challenge_bg01_pc.webp) no-repeat center/cover;
    color: #fff;
    font-size: 51px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02 dt .normal {
    font-weight: normal;
  }
  .challenge02 dd {
    background: #fff;
    border: 4px solid #242a75;
    border-top: none;
  }
  .challenge02-list {
    display: flex;
    justify-content: space-between;
    padding: 50px 45px 65px;
  }
  .challenge02-head01 {
    width: 430px;
    padding: 0 0 20px;
    border-bottom: 1px solid #000;
    font-size: 31px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-foot01 {
    padding: 13px 0 5px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-foot01 .deco {
    display: inline-block;
    margin: 0 0 12px;
    color: #168dc5;
    font-size: 86px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-pic01 {
    width: 424px;
    margin: 0 auto;
  }
  .challenge02-list02 {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 50px 70px 55px 45px;
  }
  .challenge02-list02::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 306px;
    background: #ced0d5;
    content: "";
  }
  .challenge02-head02 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .challenge02-head02 .deco {
    color: #168dc5;
  }
  .challenge02-head02 .small {
    font-size: 21px;
  }
  .challenge02-chart {
    margin: 25px auto 0;
    width: 405px;
  }
  .challenge02-txt01 {
    font-size: 12px;
    text-align: center;
    font-weight: 500;
    margin: 20px 0 0;
  }
  .challenge02-award {
    width: 266px;
    margin: 20px auto 0;
  }
  .challenge02-lead {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    padding: 48px 0 0;
  }
  .challenge02-lead .blue {
    color: #168dc5;
  }
  .challenge02-course-list {
    display: flex;
    justify-content: space-between;
    padding: 45px 45px 45px;
  }
  .challenge02-course-item {
    width: 276px;
  }
  .challenge02-course-type {
    position: relative;
    padding: 15px 0;
    background-color: #168dc5;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-course-type .arial {
    display: inline-block;
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: bold;
  }
  .challenge02-course-type .deco {
    font-weight: bold;
  }
  .challenge02-course-type::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #168dc5 transparent transparent transparent;
    content: "";
  }
  .challenge02-course-price {
    padding: 35px 0 0;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-course-price .deco {
    color: #ff3939;
    font-weight: 500;
  }
  .challenge02-course-price .arial {
    font-size: 50px;
  }
  .challenge02-course-note {
    padding: 0 30px 20px 0;
    font-size: 12px;
    line-height: 1;
    text-align: right;
    letter-spacing: 0.04em;
  }
  .challenge02-item02:last-child {
    margin: 0 53px;
  }
  .challenge02-check {
    display: none;
  }
  .challenge02-label {
    color: #242a75;
    display: block;
    margin: 25px 0 0;
    padding: 10px;
    position: relative;
    border-bottom: solid 1px #242a75;
    border-top: solid 1px #242a75;
    text-align: center;
    font-weight: bold;
  }
  .challenge02-label:after {
    box-sizing: border-box;
    content: "+";
    display: block;
    height: 100%;
    padding: 0 20px;
    position: absolute;
    right: 0;
    top: 0px;
  }
  .challenge02-label::before {
    box-sizing: border-box;
    content: "開く";
    display: block;
    height: 100%;
    padding: 20px 10px 0;
    font-size: 14px;
    position: absolute;
    right: 0;
    top: 0px;
    font-weight: 100;
  }
  .challenge02-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: 0.5s;
    visibility: hidden;
    text-align: center;
  }
  .challenge02-check:checked + .challenge02-label:after {
    content: "−";
  }
  .challenge02-check:checked + .challenge02-label::before {
    content: "閉じる";
    padding: 20px 0px 0;
  }
  .challenge02-check:checked + .challenge02-label + .challenge02-content {
    height: 100%;
    opacity: 1;
    padding: 10px;
    visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .challenge02-bg {
    padding: 1.4rem 0 1rem;
    background-color: #e7e8ed;
  }
  .challenge02 dl {
    position: relative;
    z-index: 2;
  }
  .challenge02 dl:not(:first-of-type) {
    margin: 1.2rem 0 0;
  }
  .challenge02 dt {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5.57rem;
    margin: 0 auto;
    padding: 0.25rem 0;
    background: url(../img/challenge_bg01_pc.webp) no-repeat center/cover;
    color: #fff;
    font-size: 0.43rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02 dt .normal {
    font-weight: normal;
  }
  .challenge02 dd {
    background: #fff;
    border: 0.04rem solid #242a75;
  }
  .challenge02-list {
    padding: 1.1rem 0.75rem 0.65rem;
  }
  .challenge02-item + .challenge02-item {
    margin: 0.7rem 0 0;
  }
  .challenge02-head01 {
    padding: 0 0 0.2rem;
    border-bottom: 1px solid #000;
    font-size: 0.39rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-foot01 {
    padding: 0.2rem 0 0;
    font-size: 0.33rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-foot01 .deco {
    display: inline-block;
    margin: 0 0 0.2rem;
    color: #168dc5;
    font-size: 1.07rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-list02 {
    position: relative;
    padding: 0 0 0.5rem;
  }
  .challenge02-item02:nth-of-type(2) .challenge02-head02 {
    margin: 0.5rem 0 0;
  }
  .challenge02-head02 {
    margin: 0.9rem 0 0;
    font-size: 0.36rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .challenge02-head02 .deco {
    color: #168dc5;
  }
  .challenge02-head02 .small {
    font-size: 0.31rem;
  }
  .challenge02-chart {
    margin: 0.3rem auto 0;
    width: 6.15rem;
  }
  .challenge02-txt01 {
    margin: 0.3rem 0 0;
    font-size: 0.18rem;
    text-align: center;
  }
  .challenge02-award {
    width: 5.33rem;
    margin: 0.2rem auto 0;
  }
  .challenge02-lead {
    text-align: center;
    font-weight: bold;
    font-size: 0.34rem;
    padding: 1rem 0.25rem 0;
  }
  .challenge02-lead .blue {
    color: #168dc5;
  }
  .challenge02-course-list {
    padding: 0.55rem 0.2rem 0.3rem;
  }
  .challenge02-course-item + .challenge02-course-item {
    margin: 0.55rem 0 0;
  }
  .challenge02-course-type {
    position: relative;
    padding: 0.25rem 0 0.25rem 0.35rem;
    background-color: #168dc5;
    color: #fff;
    font-size: 0.45rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .challenge02-course-type .arial {
    display: inline-block;
    margin: 0 0.4rem 0 0;
    font-size: 0.42rem;
    font-weight: bold;
  }
  .challenge02-course-type .deco {
    font-weight: bold;
  }
  .challenge02-course-price {
    position: relative;
    padding: 0.23rem 0 0;
    font-size: 0.34rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge02-course-price::before {
    position: absolute;
    top: 60%;
    left: 0.7rem;
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.2rem 0 0.2rem 0.2rem;
    border-color: transparent transparent transparent #242a75;
    content: "";
  }
  .challenge02-course-price .deco {
    color: #ff3939;
    font-weight: 500;
  }
  .challenge02-course-price .arial {
    font-size: 0.76rem;
  }
  .challenge02-course-note {
    padding: 0 0.05rem 0.3rem 0;
    font-size: 0.24rem;
    line-height: 1.4;
    text-align: right;
    letter-spacing: 0.04em;
  }
  .challenge02-check {
    display: none;
  }
  .challenge02-label {
    color: #242a75;
    display: block;
    margin: 25px 0 0;
    padding: 10px;
    position: relative;
    border-bottom: solid 1px #242a75;
    border-top: solid 1px #242a75;
    text-align: center;
    font-weight: bold;
  }
  .challenge02-label:after {
    box-sizing: border-box;
    content: "+";
    display: block;
    height: 100%;
    padding: 0 0.35rem;
    position: absolute;
    right: 0;
    top: 0px;
  }
  .challenge02-label::before {
    box-sizing: border-box;
    content: "開く";
    display: block;
    height: 100%;
    padding: 0.4rem 0.2rem 0;
    font-size: 0.18rem;
    position: absolute;
    right: 0;
    top: 0px;
    font-weight: 100;
  }
  .challenge02-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: 0.5s;
    visibility: hidden;
    text-align: center;
  }
  .challenge02-check:checked + .challenge02-label:after {
    content: "−";
  }
  .challenge02-check:checked + .challenge02-label::before {
    content: "閉じる";
    padding: 0.4rem 0.15rem 0;
  }
  .challenge02-check:checked + .challenge02-label + .challenge02-content {
    height: 100%;
    opacity: 1;
    padding: 10px;
    visibility: visible;
  }
}
/*==============================================================================
choose
============================================================================= */
@media screen and (min-width: 769px) {
  .choose-bg {
    padding: 55px 0 30px;
    background: url(../img/choose_bg01.webp) no-repeat center/cover;
  }
  .choose-ttl {
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .choose-ttl span {
    display: inline-block;
    margin: 20px 0 0;
    color: #f7ab00;
    font-size: 62px;
  }
  .choose-block {
    position: relative;
    margin: 30px 0 0;
    padding: 30px 0 30px 220px;
    background: url(../img/choose_bg02.webp) no-repeat center/cover;
  }
  .choose-txt01 {
    font-size: 27px;
    font-weight: bold;
    line-height: 1.48;
    letter-spacing: 0.04em;
  }
  .choose-txt01 .deco {
    color: #168dc5;
  }
  .choose-name {
    margin: 15px 0 0;
    color: #333;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .choose-person {
    position: absolute;
    bottom: -30px;
    left: -40px;
    width: 239px;
  }
}
@media screen and (max-width: 768px) {
  .choose-bg {
    position: relative;
    padding: 0.8rem 0 1rem;
    background: url(../img/choose_bg01_sp.webp) no-repeat center/cover;
  }
  .choose-ttl {
    color: #fff;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .choose-ttl span {
    display: inline-block;
    margin: 0.2rem 0 0;
    color: #f7ab00;
    font-size: 0.58rem;
  }
  .choose-block {
    position: relative;
    margin: 0.3rem 0 0;
    padding: 0.45rem 0 0.45rem 1.6rem;
    background: url(../img/choose_bg02.webp) no-repeat center/cover;
  }
  .choose-txt01 {
    font-size: 0.36rem;
    font-weight: bold;
    line-height: 1.48;
  }
  .choose-txt01 .deco {
    color: #168dc5;
  }
  .choose-name {
    bottom: -0.3rem;
    left: 50%;
    transform: translate(-50%, 100%);
    position: absolute;
    color: #fff;
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .choose-person {
    position: absolute;
    bottom: -1rem;
    left: -0.65rem;
    width: 2.39rem;
  }
}
/*==============================================================================
reason
============================================================================= */
@media screen and (min-width: 769px) {
  .reason-bg01 {
    position: relative;
    z-index: 1;
    padding: 55px 0 82px;
    background: url(../img/reason_bg01_pc.webp) no-repeat center/cover;
  }
  .reason-wrap {
    background: url(../img/reason_bg03_pc.webp) no-repeat center/cover;
  }
  .reason-inner01 {
    position: relative;
  }
  .reason-inner01::before {
    position: absolute;
    bottom: -81px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 22px 0 22px;
    border-color: #f9c523 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .reason-inner01::after {
    position: absolute;
    top: -85px;
    left: 0;
    width: 202px;
    height: 202px;
    background: url(../img/reason_txt03_pc.webp) no-repeat center/cover;
    content: "";
  }
  .reason-lead {
    position: absolute;
    top: 50%;
    right: -95px;
    width: 371px;
    transform: translate(0, -50%);
  }
  .reason-ttl {
    position: relative;
    z-index: 1;
    width: 467px;
    margin: 0 auto 0 255px;
  }
  .reason-bg02 {
    margin: -80px 0 0;
    padding: 125px 0 180px;
  }
  .reason-note {
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .reason-note .deco01 {
    position: relative;
    padding: 0 0 0 0.1em;
  }
  .reason-note .deco01::before {
    position: absolute;
    top: 50%;
    left: -1em;
    transform: translate(0, -50%);
    content: "※";
  }
  .reason-note .deco02 {
    position: relative;
    padding: 0 0 0 2em;
  }
  .reason-note .deco02::before {
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translate(0, -50%);
    content: "※";
  }
  .reason-list {
    margin: 35px 0 0;
  }
  .reason-item {
    position: relative;
    display: flex;
  }
  .reason-item:nth-of-type(2) {
    flex-direction: row-reverse;
    margin: 100px 0 0;
  }
  .reason-item:nth-of-type(2) .reason-define {
    margin: 0 -20px 0 0;
  }
  .reason-item:nth-of-type(2) .reason-term {
    padding: 140px 0 30px 130px;
  }
  .reason-item:nth-of-type(2) .reason-desc {
    padding: 25px 20px 0 130px;
  }
  .reason-item:nth-of-type(2) .reason-pic {
    top: -10px;
    left: -45px;
  }
  .reason-item:nth-of-type(2) .reason-num {
    top: 90px;
    left: 45px;
  }
  .reason-item:nth-of-type(3) {
    margin: 150px 0 0;
  }
  .reason-item:nth-of-type(3) .reason-num {
    top: 130px;
  }
  .reason-define {
    position: relative;
    width: 531px;
    margin: 0 0 0 -40px;
    z-index: 1;
  }
  .reason-num {
    position: absolute;
    top: 70px;
    left: 10px;
    width: 110px;
  }
  .reason-term {
    position: relative;
    z-index: 1;
    width: 535px;
    padding: 140px 0 30px 100px;
    border-bottom: 2px solid #242a75;
    color: #242a75;
    font-size: 39px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.02em;
  }
  .reason-desc {
    padding: 25px 60px 0 100px;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.2;
    letter-spacing: 0.08em;
  }
  .reason-desc .annotation {
    font-size: 13px;
    letter-spacing: 0;
  }
  .reason-pic {
    position: absolute;
    z-index: 10;
    top: 0px;
    right: -22px;
    width: 550px;
  }
}
@media screen and (max-width: 768px) {
  .reason-bg01 {
    position: relative;
    z-index: 1;
    padding: 0.6rem 0 0.55rem;
    background: url(../img/reason_bg01_pc.webp) no-repeat center/cover;
  }
  .reason-inner01 {
    position: relative;
  }
  .reason-inner01::before {
    position: absolute;
    bottom: -0.54rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.16rem 0.22rem 0 0.22rem;
    border-color: #f9c523 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .reason-inner01::after {
    position: absolute;
    top: -0.9rem;
    left: -0.01rem;
    width: 2.02rem;
    height: 2.02rem;
    background: url(../img/reason_txt03_pc.webp) no-repeat center/cover;
    content: "";
  }
  .reason-lead {
    position: absolute;
    top: -0.6rem;
    right: -0.3rem;
    width: 3.33rem;
  }
  .reason-ttl {
    position: relative;
    z-index: 1;
    width: 4.67rem;
    margin: 0 auto 0 2.03rem;
  }
  .reason-bg02 {
    position: relative;
    padding: 0.35rem 0 1rem;
    background: url(../img/reason_bg02_sp.webp) no-repeat center/cover;
  }
  .reason-bg02::before {
    position: absolute;
    top: -0.2rem;
    left: 0;
    width: 2.87rem;
    height: 2.5rem;
    background: url(../img/reason_icon01_sp.webp) no-repeat center/cover;
    content: "";
  }
  .reason-bg02::after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 3.44rem;
    height: 2.77rem;
    background: url(../img/reason_icon02_sp.webp) no-repeat center/cover;
    content: "";
  }
  .reason-note {
    position: relative;
    margin: 0 -2em 0 0;
    padding: 0 0 0 1.7rem;
    font-size: 0.22rem;
    line-height: 1.68;
    letter-spacing: 0.04em;
  }
  .reason-note .deco01 {
    position: relative;
  }
  .reason-note .deco01::before {
    position: absolute;
    top: 0;
    left: -1em;
    content: "※";
  }
  .reason-note .deco02 {
    position: relative;
  }
  .reason-note .deco02::before {
    position: absolute;
    top: 0;
    left: -1em;
    content: "※";
  }
  .reason-list {
    margin: 0.4rem 0 0;
  }
  .reason-item {
    position: relative;
  }
  .reason-item + .reason-item {
    margin: 0.6rem 0 0;
  }
  .reason-define {
    position: relative;
    width: 5.65rem;
    margin: -1.7rem auto 0;
    z-index: 1;
  }
  .reason-num {
    width: 0.77rem;
    margin: 0 auto;
  }
  .reason-define .annotation {
    font-size: 0.22rem;
    letter-spacing: 0;
    text-align: left;
    text-indent: -1em;
    padding: 0.05rem 0 0 1.5em;
  }
  .reason-term {
    position: relative;
    z-index: 1;
    padding: 0.15rem 0 0.32rem;
    border-bottom: 2px solid #242a75;
    color: #242a75;
    font-size: 0.5rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
  }
  .reason-term:last-of-type {
    font-size: 0.42rem;
  }
  .reason-desc {
    padding: 0.3rem 0 0 0.2em;
    font-size: 0.28rem;
    text-align: center;
    line-height: 1.57;
    letter-spacing: 0.04em;
  }
  .reason-pic {
    width: 5.5rem;
    margin: 0 auto;
  }
}
/*==============================================================================
step
============================================================================= */
@media screen and (min-width: 769px) {
  .step-bg {
    padding: 100px 0;
  }
  .step-tabs {
    width: 830px;
    margin: 0px auto -2px;
    position: relative;
    z-index: 100;
  }
  .step-tabs .swiper-slide-thumb-active {
    height: 99px;
    padding: 20px 0 25px;
    background-color: #fff;
    color: #242a75;
    border: solid #242a75;
    border-width: 2px 2px 0;
  }
  .step-tabs .swiper-wrapper {
    align-items: flex-end;
  }
  .step-tab {
    width: 395px !important;
    height: 89px;
    margin: 0 0 0 20px;
    padding: 15px 0 25px;
    border: solid #9d9d9d;
    border-top: 2px solid #9d9d9d;
    border-right: 2px solid #9d9d9d;
    border-left: 2px solid #9d9d9d;
    border-bottom: 2px solid #242a75;
    border-radius: 10px 10px 0 0;
    background-color: #9d9d9d;
    color: #fff;
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    cursor: pointer;
  }
  .step-tab .small {
    font-size: 23px;
  }
  .step-tab .middle {
    font-size: 28px;
  }
  .step-tab .mini {
    font-size: 19px;
  }
  .step-slider {
    border: 2px solid #242a75;
  }
  .step-encounter {
    padding: 70px 30px 60px;
  }
  .step-online {
    padding: 70px 30px 60px;
  }
  .step-online .step-item:nth-of-type(2) .step-txt01 {
    padding: 35px 0px 30px 10px;
  }
  .step-item {
    position: relative;
  }
  .step-item + .step-item {
    margin: 35px 0 0;
  }
  .step-item:nth-of-type(2) .step-subttl::before {
    width: 63px;
    background: url(../img/step_num02_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(3) .step-subttl::before {
    width: 63px;
    background: url(../img/step_num03_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(3) .step-txt01 {
    padding: 35px 0 100px 10px;
  }
  .step-item:nth-of-type(4) .step-subttl::before {
    width: 63px;
    background: url(../img/step_num04_pc.webp) no-repeat center/cover;
  }
  .step-subttl {
    position: relative;
    padding: 30px 0 35px;
    background: url(../img/step_bg01_pc.webp) no-repeat center/cover;
  }
  .step-subttl::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 54px;
    height: 52px;
    background: url(../img/step_num01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .step-subttl::after {
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 18px 0 0;
    border-color: #f7ab00 transparent transparent transparent;
    transform: translate(0, 100%);
    content: "";
  }
  .step-subttl span {
    display: block;
    width: 440px;
    text-align: center;
    color: #fff;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .step-txt01 {
    width: 390px;
    padding: 35px 0 70px 10px;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .step-txt0102 {
    padding: 35px 0 0 10px;
  }
  .step-txt02 {
    width: 390px;
    margin: -35px 0 0;
    padding: 0 0 0 10px;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .step-txt03 {
    width: 425px;
    margin: 35px 0 0;
    padding: 0 0 0 10px;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .step-note {
    width: 400px;
    margin: -45px 0 0;
    padding: 0 0 0 10px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .step-pic {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 462px;
  }
  .step-container {
    position: relative;
  }
  .step-btn {
    position: absolute;
    width: 323px;
    bottom: 0;
    left: 47px;
    margin: 0;
  }
  .step-btn:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .step-online-txt {
    display: block;
    width: 215px;
    font-size: 18px;
    color: #f5ab03;
    font-weight: bold;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #f5ab03;
    padding: 0 0px 5px;
    margin: 5px 0 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .step-inner {
    margin: 0 0.25rem;
  }
  .step-bg {
    padding: 0.75rem 0;
  }
  .step-tabs {
    position: relative;
    width: 6.45rem;
    margin: 0 auto -0.02rem;
    z-index: 100;
  }
  .step-tabs .swiper-slide-thumb-active {
    height: 1rem;
    padding: 0.2rem 0 0.25rem;
    background-color: #fff;
    color: #242a75;
    border: solid #242a75;
    border-width: 0.02rem 0.02rem 0;
  }
  .step-tabs .swiper-wrapper {
    align-items: flex-end;
  }
  .step-tabs02 .swiper-slide-thumb-active {
    padding: 0.25rem 0;
  }
  .step-tab {
    width: 2.95rem !important;
    height: 0.9rem;
    margin: 0 0 0 0.2rem;
    padding: 0.25rem 0;
    border: solid #9d9d9d;
    border-top: 0.02rem solid #9d9d9d;
    border-right: 0.02rem solid #9d9d9d;
    border-left: 0.02rem solid #9d9d9d;
    border-bottom: 0.02rem solid #242a75;
    border-radius: 0.1rem 0.1rem 0 0;
    background-color: #9d9d9d;
    color: #fff;
    font-size: 0.33rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    cursor: pointer;
  }
  .step-tab02 {
    padding: 0.15rem 0;
  }
  .step-tab .small {
    font-size: 0.23rem;
    letter-spacing: 0;
  }
  .step-tab .middle {
    font-size: 0.28rem;
    letter-spacing: 0;
  }
  .step-slider {
    border: 0.02rem solid #242a75;
  }
  .step-encounter {
    padding: 0.5rem 0.1rem 0.55rem;
  }
  .step-encounter .step-item:nth-of-type(3) .step-subttl {
    padding: 0 0 0 0.95rem;
    line-height: 1.42;
  }
  .step-online {
    padding: 0.5rem 0.1rem 0.55rem;
  }
  .step-online .step-item:nth-of-type(1) .step-subttl {
    padding: 0 0 0 1.05rem;
  }
  .step-online .step-item:nth-of-type(2) .step-subttl {
    padding: 0 0 0 0.65rem;
    line-height: 1.1;
  }
  .step-online .step-item:nth-of-type(4) .step-subttl {
    padding: 0 0 0 1.05rem;
    line-height: 1.1;
  }
  .step-item {
    position: relative;
  }
  .step-item + .step-item {
    margin: 0.45rem 0 0;
  }
  .step-item:nth-of-type(2) .step-subttl::before {
    width: 0.63rem;
    background: url(../img/step_num02_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(3) .step-subttl::before {
    width: 0.63rem;
    background: url(../img/step_num03_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(4) .step-subttl::before {
    width: 0.63rem;
    background: url(../img/step_num04_pc.webp) no-repeat center/cover;
  }
  .step-subttl {
    position: relative;
    height: 1.56rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 1.32rem;
    background: url(../img/step_bg01_pc.webp) no-repeat center/cover;
  }
  .step-subttl::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 0.54rem;
    height: 0.52rem;
    background: url(../img/step_num01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .step-subttl span {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  .step-subttl .small {
    font-size: 0.34rem;
  }
  .step-txt01 {
    position: relative;
    padding: 1rem 0.2rem 0 0.25rem;
    font-size: 0.3rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .step-txt01::after {
    position: absolute;
    top: 0.7rem;
    left: 0.1rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.18rem 0.18rem 0 0;
    border-color: #f7ab00 transparent transparent transparent;
    transform: translate(0, 100%);
    content: "";
  }
  .step-txt02 {
    margin: 0.5rem 0 0;
    padding: 0 0 0 0.25rem;
    font-size: 0.3rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .step-txt03 {
    margin: 0.5rem 0 0;
    padding: 0 0 0 0.2rem;
    font-size: 0.3rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .step-note {
    margin: 0.3rem 0 0;
    padding: 0 0 0 0.25rem;
    font-size: 0.22rem;
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
  .step-pic {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    width: 3.61rem;
  }
  .step-btn {
    width: 6.1rem;
    margin: 0.4rem auto 0;
  }
  .step-online-txt {
    display: block;
    width: 3.6rem;
    font-size: 0.3rem;
    color: #f5ab03;
    font-weight: bold;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #f5ab03;
    padding: 0 0px 0.1rem;
    margin: 0.1rem 0 0 0.3rem;
  }
}
/*==============================================================================
hair
============================================================================= */
@media screen and (min-width: 769px) {
  .hair-bg {
    padding: 0 0 100px;
    background: url(../img/hair_bg02_pc.webp) no-repeat top center/cover;
  }
  .hair-lead {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: transparent;
    font-size: 43px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-lead span {
    color: #242a75;
  }
  .hair-lead::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 230px;
    height: 2px;
    background: #111;
    content: "";
  }
  .hair-lead::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);
    width: 230px;
    height: 2px;
    background: #111;
    content: "";
  }
  .hair-ttl {
    margin: 25px 0 0;
    padding: 30px 0;
    background: #000;
    color: #f7ab00;
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .hair-ttl span {
    font-size: 46px;
  }
  .hair-wrap {
    margin: 32px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .hair-pic {
    width: 507px;
  }
  .hair-txt01 {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt01 span {
    color: #242a75;
    font-size: 40px;
  }
  .hair-txt02 {
    position: relative;
    background: #242a75;
    width: 125px;
    margin: 20px auto 0;
    padding: 25px 0 0;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt02::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 81px 0 81px;
    border-color: #242a75 transparent transparent transparent;
    content: "";
  }
  .hair-txt03 {
    margin: 35px 0 0;
    font-size: 25px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt03 .deco {
    color: #242a75;
    font-size: 40px;
  }
  .hair-txt03 .belt {
    display: inline-block;
    padding: 0 0 0 10px;
    background: #f7ab00;
    line-height: 1.2;
  }
  .hair_ttl-bg01 {
    padding: 60px 0;
    background: url(../img/type_bg03_pc.webp) no-repeat center/cover;
  }
  .hair_ttl-bg0102 {
    margin: 0;
  }
  .hair_ttl-inner01 {
    position: relative;
  }
  .hair_ttl-inner01::before {
    position: absolute;
    bottom: -60px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 22px 0 22px;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .hair_ttl-lead {
    position: absolute;
    top: -50px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 665px;
    opacity: 0.5;
  }
  .hair_ttl-ttl {
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair_ttl-ttl .deco {
    color: #f7ab00;
  }
  .hair_offense_defense {
    display: flex;
    justify-content: space-between;
    margin: 305px auto 120px;
  }
  .hair_offense_defense_child {
    max-width: 480px;
    width: 100%;
    position: relative;
    padding: 100px 45px 45px;
  }
  .hair_offense_defense_child:nth-of-type(1) {
    background: #fffceb;
    border: solid 8px #f5ab03;
  }
  .hair_offense_defense_child:nth-of-type(2) {
    background: #eaf8ff;
    border: solid 8px #168dc5;
  }
  .hair_offense_defense_child .ttl_pic {
    position: absolute;
    top: -35px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .hair_offense_defense_child .txt01 {
    height: 3.6em;
    line-height: 1.2;
    font-size: 40px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    margin: 0 auto;
    padding: 15px 0 25px;
    border-bottom: solid 1px #000;
  }
  .hair_offense_defense_child .txt02 {
    margin: 30px 0 0;
    line-height: 1.7;
    font-size: 18px;
    letter-spacing: 0.15em;
  }
  .hair_offense_defense_child .txt02 .deco {
    color: #f5ab03;
    font-weight: bold;
  }
  .hair_offense_defense_child .txt02 .deco_02 {
    color: #168dc5;
    font-weight: bold;
  }
}
@media screen and (max-width: 768px) {
  .hair-bg {
    padding: 0 0 0.68rem;
    background: url(../img/hair_bg02_sp.webp) no-repeat center/cover;
  }
  .hair-inner {
    margin: 0 0.4rem;
  }
  .hair-lead {
    position: relative;
    width: 4.5rem;
    margin: 0 auto;
    background: transparent;
    font-size: 0.4rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-lead span {
    color: #242a75;
  }
  .hair-lead::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-100%, -50%);
    width: 1.2rem;
    height: 0.02rem;
    background: #111;
    content: "";
  }
  .hair-lead::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(100%, -50%);
    width: 1.1rem;
    height: 0.02rem;
    background: #111;
    content: "";
  }
  .hair-ttl {
    margin: 0.25rem 0 0;
    padding: 0.1rem 0 0.2rem;
    background: #000;
    color: #f7ab00;
    font-size: 0.43rem;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-ttl span {
    font-size: 0.58rem;
  }
  .hair-txt01 {
    margin: 0.3rem 0 0;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt01 span {
    color: #242a75;
    font-size: 0.54rem;
  }
  .hair-txt02 {
    position: relative;
    background: #242a75;
    width: 1.67rem;
    margin: 0.25rem auto 0;
    padding: 0.25rem 0 0.02rem;
    color: #fff;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt02::before {
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.39rem 1.075rem 0 1.075rem;
    border-color: #242a75 transparent transparent transparent;
    content: "";
  }
  .hair-txt03 {
    margin: 0.45rem 0 0;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .hair-txt03 .deco {
    color: #242a75;
    font-size: 0.54rem;
  }
  .hair-txt03 .belt {
    display: inline-block;
    margin: 0 0 0 0.05rem;
    padding: 0 0 0 0.1rem;
    background: #f7ab00;
    line-height: 1.2;
  }
  .hair_ttl-bg01 {
    padding: 0.6rem 0;
    background: url(../img/type_bg03_sp.webp) no-repeat center/cover;
  }
  .hair_ttl-inner01 {
    position: relative;
  }
  .hair_ttl-inner01::before {
    position: absolute;
    bottom: -0.59rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.16rem 0.22rem 0 0.22rem;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .hair_ttl-lead {
    position: absolute;
    top: -0.2rem;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 4.64rem;
    opacity: 0.5;
  }
  .hair_ttl-ttl {
    color: #fff;
    font-size: 0.68rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .hair_ttl-ttl .deco {
    color: #f7ab00;
  }
  .hair_ttl-ttl .normal {
    font-weight: normal;
    font-size: 0.39rem;
  }
  .hair_ttl-ttl .small {
    font-size: 0.6rem;
  }
  .hair_offense_defense {
    display: flex;
    flex-direction: column;
    margin: 3.8rem auto 1.2rem;
  }
  .hair_offense_defense_child {
    width: 100%;
    position: relative;
    padding: 1.3rem 0.8rem 0.7rem;
  }
  .hair_offense_defense_child:nth-of-type(1) {
    background: #fffceb;
    border: solid 5px #f5ab03;
  }
  .hair_offense_defense_child:nth-of-type(2) {
    background: #eaf8ff;
    border: solid 5px #168dc5;
    margin-top: 0.9rem;
  }
  .hair_offense_defense_child .ttl_pic {
    position: absolute;
    top: -0.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .hair_offense_defense_child .txt01 {
    font-size: 0.6rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    margin: 0 auto;
    padding: 0.4rem 0;
    border-bottom: solid 1px #000;
  }
  .hair_offense_defense_child .txt02 {
    margin: 0.4rem 0 0;
    line-height: 1.7;
    font-size: 0.3rem;
    letter-spacing: 0.15em;
  }
  .hair_offense_defense_child .txt02 .deco {
    color: #f5ab03;
    font-weight: bold;
  }
  .hair_offense_defense_child .txt02 .deco_02 {
    color: #168dc5;
    font-weight: bold;
  }
}
/*==============================================================================
fact
============================================================================= */
@media screen and (min-width: 769px) {
  .fact-bg {
    z-index: 2;
    position: relative;
    background: url(../img/fact_bg01_pc.webp) no-repeat center/cover;
    padding: 70px 0;
    z-index: 1;
  }
  .fact-bg::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 3.5vw 100vw;
    border-color: transparent transparent #242a75 transparent;
    transform: translate(0, -100%);
    content: "";
  }
  .fact-inner {
    position: relative;
  }
  .fact-lead {
    position: absolute;
    top: -66px;
    right: -2px;
    width: 309px;
    left: auto;
  }
  .fact-balloon {
    position: relative;
    width: 614px;
    margin: 0 auto;
    padding: 15px 0 20px;
    background: #fff;
    font-size: 31px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-balloon::before {
    position: absolute;
    bottom: 1px;
    left: 215px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 0;
    border-color: #fff transparent transparent transparent;
    transform: translate(0, 100%);
    content: "";
  }
  .fact-ttl {
    position: relative;
    margin: 0 auto;
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-ttl .deco {
    color: #f7ab00;
    font-size: 55px;
    line-height: 1;
  }
  .fact-list {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 892px;
    margin: 30px auto 0;
    z-index: 1;
  }
  .fact-list::before {
    position: absolute;
    top: 140px;
    left: 428px;
    width: 44px;
    height: 67px;
    background: url(../img/fact_icon01_pc.webp) no-repeat center/contain;
    content: "";
  }
  .fact-item {
    position: relative;
    width: 408px;
    height: 346px;
    padding: 115px 0 0;
    background: #fff;
  }
  .fact-item:nth-of-type(2) {
    padding: 105px 0 0;
  }
  .fact-head01 {
    position: absolute;
    top: 27px;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 437px;
    height: 62px;
    background: #9d9d9d;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-txt01 {
    color: #858585;
    font-size: 20px;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-pic01 {
    width: 233px;
    margin: 30px auto 0;
  }
  .fact-head02 {
    position: absolute;
    top: 27px;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    width: 437px;
    height: 62px;
    padding: 16px 0 0;
    background: #111;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-head02 .small {
    font-size: 20px;
  }
  .fact-txt02 {
    color: #242a75;
    font-size: 27px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-pic02 {
    width: 233px;
    margin: 20px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .fact-bg {
    position: relative;
    background: url(../img/fact_bg01_sp.webp) no-repeat center/cover;
    padding: 1.65rem 0 0.7rem;
    z-index: 1;
  }
  .fact-inner {
    position: relative;
  }
  .fact-lead {
    position: absolute;
    top: -0.1rem;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 2.65rem;
  }
  .fact-balloon {
    position: relative;
    width: 6.39rem;
    margin: 0 auto;
    padding: 0.2rem 0 0.25rem;
    background: #fff;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-balloon .deco {
    color: #242a75;
  }
  .fact-balloon::before {
    position: absolute;
    bottom: 1px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.2rem 0.2rem 0 0;
    border-color: #fff transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .fact-ttl {
    position: relative;
    margin: 0.2rem -0.2rem 0;
    color: #fff;
    font-size: 0.48rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-ttl .deco {
    color: #f7ab00;
    font-size: 0.55rem;
    line-height: 1;
  }
  .fact-list {
    position: relative;
    width: 6.42rem;
    margin: 0.45rem auto 0;
    z-index: 1;
  }
  .fact-item {
    position: relative;
    padding: 1.75rem 0 0.72rem;
    background: #fff;
  }
  .fact-item + .fact-item {
    position: relative;
    margin: 0.95rem 0 0;
    padding: 1.75rem 0 0.7rem;
  }
  .fact-item + .fact-item::before {
    position: absolute;
    top: -0.2rem;
    left: 50%;
    width: 0.73rem;
    height: 0.48rem;
    background: url(../img/fact_icon01_sp.webp) no-repeat center/contain;
    transform: translate(-50%, -100%);
    content: "";
  }
  .fact-head01 {
    position: absolute;
    top: 0.45rem;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.9rem;
    height: 0.97rem;
    background: #9d9d9d;
    color: #fff;
    font-size: 0.44rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-txt01 {
    color: #858585;
    font-size: 0.31rem;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-pic01 {
    width: 3.68rem;
    margin: 0.4rem auto 0;
  }
  .fact-head02 {
    position: absolute;
    top: 0.45rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 6.9rem;
    height: 0.97rem;
    padding: 0.25rem 0 0;
    background: #111;
    color: #fff;
    font-size: 0.44rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-head02 .small {
    font-size: 0.31rem;
  }
  .fact-txt02 {
    color: #242a75;
    font-size: 0.42rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .fact-pic02 {
    width: 3.68rem;
    margin: 0.25rem auto 0;
  }
}
/*==============================================================================
feature
============================================================================= */
@media screen and (min-width: 769px) {
  .feature {
    background-color: #242a75;
  }
  .feature-bg {
    padding: 110px 0 120px;
    background: url(../img/feature_bg01_pc.webp) no-repeat center/cover;
  }
  .feature-belt {
    width: 687px;
    margin: 0 0 0 -76px;
    padding: 10px 0 10px 180px;
    background: url(../img/feature_bg02_pc.webp) no-repeat center/cover;
    color: #fff;
    font-size: 39px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .feature-ttl {
    position: relative;
    padding: 20px 0 0 80px;
    color: #292929;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  .feature-ttl .deco {
    color: #168dc5;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.28;
    letter-spacing: 0.02em;
  }
  .feature-ttl::before {
    position: absolute;
    bottom: -20px;
    left: 10px;
    width: 572px;
    height: 1px;
    background: linear-gradient(to right, transparent 0%, #111 25%, #111 50%, transparent 100%);
    transform: translate(0, 100%);
    content: "";
  }
  .feature dl {
    display: flex;
    align-items: center;
    margin: 30px 0 0 115px;
  }
  .feature dt {
    margin: 15px 0 0;
    padding: 10px 0;
    background: #242a75;
    border-radius: 23.5px;
    width: 151px;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd {
    position: relative;
    color: #242a75;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd .century {
    color: #f7ab00;
    font-size: 90px;
    line-height: 1;
    text-align: center;
    letter-spacing: -0.02em;
  }
  .feature dd .asterisk {
    position: absolute;
    top: 30px;
    right: 5px;
    color: #333;
    font-size: 18px;
    line-height: 1;
  }
  .feature-note {
    width: 572px;
    margin: 10px 0 0;
    color: #333;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .feature-block {
    position: relative;
  }
  .feature-block01 {
    position: relative;
    margin: 68px 0 0;
    padding: 65px 0 45px;
    background: #fff;
    z-index: 1;
  }
  .feature-block01::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 140px;
    background: #242a75;
    content: "";
    z-index: 1;
  }
  .feature-lead02 {
    position: absolute;
    bottom: 372px;
    right: -231px;
    width: 652px;
    z-index: 1;
  }
  .feature-subttl {
    width: 795px;
    margin: 0 auto;
    padding: 0 0 20px;
    border-bottom: 1px solid #111;
    font-size: 53px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-subttl .deco {
    font-weight: bold;
  }
  .feature-subttl .dot {
    position: relative;
    font-weight: bold;
    color: #f7ab00;
  }
  .feature-subttl .dot::before {
    position: absolute;
    top: 3px;
    left: 50%;
    width: 13px;
    height: 13px;
    border: 1px solid #f7ab00;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -100%);
    content: "";
  }
  .feature-list {
    display: flex;
    justify-content: space-between;
    width: 900px;
    margin: 40px auto 0;
  }
  .feature-item {
    width: 161px;
  }
  .feature-txt02 {
    position: relative;
    z-index: 1;
    background: #fff;
    margin: -13px 0 0;
    padding: 13px 0 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .feature-txt02 .asterisk {
    position: absolute;
    top: 4px;
    right: 0px;
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .feature-bg {
    background-color: #242a75;
  }
  .feature-inner {
    margin: 0;
  }
  .feature-block02 {
    padding: 0.8rem 0 0.3rem;
    background: url(../img/feature_bg01_sp.webp) no-repeat center/cover;
  }
  .feature-belt {
    width: 6.12rem;
    margin: 0 0 0 -0.8rem;
    padding: 0.2rem 0 0.2rem 1.2rem;
    background: url(../img/feature_bg02_sp.webp) no-repeat center/cover;
    color: #fff;
    font-size: 0.36rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .feature-ttl {
    position: relative;
    padding: 0.2rem 0 0 0.5rem;
    color: #292929;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  .feature-ttl .deco {
    color: #168dc5;
    font-size: 0.5rem;
    font-weight: bold;
    line-height: 1.28;
    letter-spacing: 0.02em;
  }
  .feature-ttl::before {
    position: absolute;
    bottom: -0.2rem;
    left: 0;
    width: 5.2rem;
    height: 1px;
    background: linear-gradient(to right, #111 0%, #111 80%, transparent 100%);
    transform: translate(0, 100%);
    content: "";
  }
  .feature dl {
    display: flex;
    align-items: center;
    margin: 0.38rem 0 0 0.7rem;
  }
  .feature dt {
    margin: 0.15rem 0 0;
    padding: 0.15rem 0;
    background: #242a75;
    border-radius: 0.235rem;
    width: 1.51rem;
    color: #fff;
    font-size: 0.24rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd {
    position: relative;
    color: #242a75;
    font-size: 0.32rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd .century {
    color: #f7ab00;
    font-size: 0.9rem;
    line-height: 1;
    text-align: center;
    letter-spacing: -0.02em;
  }
  .feature dd .asterisk {
    position: absolute;
    top: 0.3rem;
    right: 0.03rem;
    color: #333;
    font-size: 0.18rem;
    line-height: 1;
  }
  .feature-note {
    margin: 0.1rem 0 0 0.87rem;
    color: #333;
    font-size: 0.18rem;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .feature-block {
    position: relative;
    background: url(../img/feature_bg03_sp.webp) no-repeat center/cover;
    padding: 1.25rem 0 0.9rem;
  }
  .feature-block01 {
    position: relative;
    margin: 1rem 0 0;
    background: #fff;
    z-index: 1;
  }
  .feature-block01::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0.13rem;
    height: 1.24rem;
    background: #242a75;
    content: "";
  }
  .feature-lead02 {
    position: absolute;
    bottom: 7.85rem;
    right: 0;
    width: 5.33rem;
    z-index: 1;
  }
  .feature-block01 {
    width: 6.95rem;
    margin: 0 auto;
    padding: 0 0 0.35rem;
  }
  .feature-subttl {
    width: 6.4rem;
    margin: 0 auto;
    padding: 0.45rem 0 0.35rem;
    border-bottom: 1px solid #111;
    font-size: 0.41rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-subttl .deco {
    font-weight: bold;
  }
  .feature-subttl .dot {
    position: relative;
    font-weight: bold;
    color: #f7ab00;
  }
  .feature-subttl .dot::before {
    position: absolute;
    top: 0.03rem;
    left: 50%;
    width: 0.11rem;
    height: 0.11rem;
    border: 1px solid #f7ab00;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -100%);
    content: "";
  }
  .feature-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 6.3rem;
    margin: 0.1rem auto 0;
  }
  .feature-item {
    width: 1.97rem;
    margin: 0.2rem 0.15rem 0 0;
  }
  .feature-item:nth-of-type(3) {
    margin: 0.2rem 0 0;
  }
  .feature-item:nth-of-type(4) {
    margin: 0.2rem 0.4rem 0 0;
  }
  .feature-item:nth-of-type(5) {
    margin: 0.2rem 0 0;
  }
  .feature-item:nth-of-type(5) .feature-txt02 {
    margin: -0.13rem -0.32rem 0;
  }
  .feature-item:nth-of-type(2) .feature-txt02 {
    margin: -0.13rem -0.17rem 0;
  }
  .feature-txt02 {
    position: relative;
    z-index: 1;
    background: #fff;
    margin: -0.13rem 0 0;
    padding: 0.13rem 0 0;
    font-size: 0.26rem;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .feature-txt02 .asterisk {
    position: absolute;
    top: 0;
    right: -0.02rem;
    font-size: 0.2rem;
  }
}
/*==============================================================================
clinic
============================================================================= */
@media screen and (min-width: 769px) {
  .clinic-bg01 {
    padding: 60px 0;
    background: url(../img/type_bg03_pc.webp) no-repeat center/cover;
    position: relative;
    margin: -40px 0 0;
  }
  .clinic-bg0102 {
    margin: 0;
  }
  .clinic-inner01 {
    position: relative;
  }
  .clinic-inner01::before {
    position: absolute;
    bottom: -60px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 22px 0 22px;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .clinic-lead {
    position: absolute;
    top: -60px;
    right: -25px;
    width: 315px;
  }
  .clinic-ttl {
    color: #fff;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .clinic-ttl .deco {
    color: #f7ab00;
  }
  .clinic-bg02 {
    padding: 35px 0 167px;
  }
  .clinic-item + .clinic-item {
    margin: 20px 0 0;
  }
  .clinic dl {
    background: url(../img/clinic_bg01_pc.webp) no-repeat center/cover;
    padding: 0 0 34px;
  }
  .clinic .p0 {
    padding: 0;
  }
  .clinic-name {
    border-bottom: 2px solid #fff;
    padding: 20px 0 18px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.08em;
    position: relative;
    border-bottom: 4px solid #beccd3;
    cursor: pointer;
  }
  .clinic-name01::after {
    position: absolute;
    display: inline-block;
    content: "";
    width: 43px;
    height: 39px;
    background: url(../img/clinic_btn_on_pc.webp) no-repeat center/contain;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
  }
  .clinic-name01.open::after {
    background: url(../img/clinic_btn_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tel {
    position: relative;
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    margin-left: 25px;
  }
  .clinic-tel::after {
    position: absolute;
    content: "";
    width: 18px;
    height: 18px;
    background: url(../img/clinic_tel_icon_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -1.2em;
    transform: translateY(-50%);
  }
  .clinic-head {
    display: flex;
    justify-content: space-between;
    padding: 20px 20px 25px 30px;
  }
  .clinic-address {
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.62;
    letter-spacing: 0.08em;
  }
  .clinic-time {
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.76;
    letter-spacing: 0.08em;
  }
  .clinic-map {
    position: relative;
    width: 472px;
    height: 278px;
    overflow: hidden;
  }
  .clinic-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .clinic-foot {
    display: flex;
    align-items: center;
    width: 936px;
    margin: 0 auto;
    padding: 20px 0 25px 80px;
    background: #fff;
  }
  .clinic-doctor {
    width: 145px;
    margin: 0 70px 0 0;
    padding: 37px 0 30px;
    background: url(../img/clinic_bg02_pc.webp) no-repeat center/contain;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.08em;
  }
  .clinic-doctor .large {
    font-size: 24px;
    font-weight: bold;
  }
  .clinic-career {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.64;
    letter-spacing: 0.08em;
  }
  .clinic-subttl {
    border-top: 2px solid #111;
    margin: 100px auto 0;
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .clinic-subttl span {
    display: block;
    width: 325px;
    margin: 0 auto;
    background: #fff;
    transform: translate(0, -60%);
  }
  .clinic-block01 {
    position: relative;
  }
  .clinic-slider02 {
    margin: 60px auto 0;
  }
  .clinic-pic {
    width: 457px;
    margin: 0 auto;
  }
  .clinic-btn-next {
    top: 50%;
    right: 0;
    width: 67px;
    height: 67px;
    background: url(../img/clinic_btn01_pc.webp) no-repeat 50% 0/contain;
    transform: translate(50%, 0);
  }
  .clinic-btn-next::after {
    content: none;
  }
  .clinic-btn-prev {
    top: 50%;
    left: 0;
    width: 67px;
    height: 67px;
    background: url(../img/clinic_btn01_pc.webp) no-repeat 50% 0/contain;
    transform: translate(-50%, 0) rotate(-180deg);
  }
  .clinic-btn-prev::after {
    content: none;
  }
  .clinic-pagination02 {
    bottom: -50px;
    left: 50%;
    transform: translate(-50%, 100%);
    display: flex;
    justify-content: space-between;
    width: 85px;
    margin: 0 auto;
  }
  .clinic-pagination02 .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    background: transparent;
    border: 2px solid #168dc5;
    box-sizing: border-box;
  }
  .clinic-pagination02 .swiper-pagination-bullet-active {
    background-color: #168dc5;
  }
  .clinic .container03 {
    display: none;
    padding: 0 0 34px;
  }
  .clinic-map-txt {
    font-size: 38px;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.04em;
  }
  .clinic-map-txt02 {
    margin-bottom: 20px;
  }
  .clinic-map02 {
    position: relative;
    width: 980px;
    height: 0;
    padding-bottom: 50%;
    margin: 20px auto 0;
    overflow: hidden;
  }
  .clinic-map02 .map-img {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 0;
    top: 0;
    left: 0;
    margin-top: -54px;
  }
  .clinic-tab01 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn01_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab01.swiper-slide-thumb-active {
    background: url(../img/clinic_btn01_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab02 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn02_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab02.swiper-slide-thumb-active {
    background: url(../img/clinic_btn02_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab03 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn03_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../img/clinic_btn03_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab04 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn04_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab04.swiper-slide-thumb-active {
    background: url(../img/clinic_btn04_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab05 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn05_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab05.swiper-slide-thumb-active {
    background: url(../img/clinic_btn05_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab06 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic_btn06_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab06.swiper-slide-thumb-active {
    background: url(../img/clinic_btn06_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab07 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn07_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab07.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn07_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab08 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn09_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab08.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn09_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab09 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn10_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab09.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn10_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab10 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn11_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab10.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn11_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab11 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn13_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab11.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn13_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab12 {
    width: 153px;
    height: 74px;
    background: url(../img/clinic/clinic_btn14_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab12.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn14_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tabs {
    margin-bottom: 30px;
  }
  .clinic-slider01 {
    margin-top: 20px;
  }
  .clinic-margin {
    margin-top: 20px;
  }
  .clinic-map-slide02 {
    margin-top: 40px;
  }
  .clinic .m06 {
    margin-top: 0;
  }
  .clinic-online {
    border: 2px solid #242a75;
    padding: 40px 30px;
    margin-top: 35px;
  }
  .clinic-online-head {
    width: 980px;
    text-align: center;
    margin: 0 auto;
  }
  .clinic-online-head .circle {
    display: inline-block;
    width: 188px;
    background: #242a75;
    border-radius: 20px;
    font-size: 27px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .clinic-online-head .large {
    display: inline-block;
    font-size: 34px;
    color: #242a75;
    font-weight: bold;
    letter-spacing: -0.02em;
    margin-left: 23px;
    margin-right: 33px;
  }
  .clinic-online-head .large .ls01 {
    letter-spacing: 0.1em;
  }
  .clinic-online-head .middle {
    font-size: 31px;
    color: #242a75;
    font-weight: bold;
    letter-spacing: -0.02em;
  }
  .clinic-online-bottom {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.08em;
    margin-top: 34px;
  }
  .clinic-online-bottom .tab-link {
    display: block;
    font-weight: bold;
    color: #f5ab03;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.3em;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .clinic-bg01 {
    padding: 0.6rem 0;
    background: url(../img/type_bg03_pc.webp) no-repeat center/cover;
    margin: -0.2rem 0 0;
    position: relative;
  }
  .clinic-inner01 {
    position: relative;
  }
  .clinic-inner01::before {
    position: absolute;
    bottom: -0.59rem;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.16rem 0.22rem 0 0.22rem;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .clinic-lead {
    position: absolute;
    top: -0.6rem;
    right: -0.46rem;
    width: 2.83rem;
  }
  .clinic-ttl {
    color: #fff;
    font-size: 0.44rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .clinic-ttl .deco {
    color: #f7ab00;
  }
  .clinic-bg02 {
    padding: 0.5rem 0 1.75rem;
  }
  .clinic-item + .clinic-item {
    margin: 0.25rem 0 0;
  }
  .clinic dl {
    padding: 0 0 0.3rem;
    background: url(../img/clinic_bg03_sp.webp) no-repeat center/cover;
  }
  .clinic dl.p0 {
    padding: 0;
  }
  .clinic-name {
    border-bottom: 0.02rem solid #fff;
    padding: 0.5rem 0 0.4rem;
    font-size: 0.3rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    position: relative;
    border-bottom: 0.08rem solid #beccd3;
    background: url(../img/clinic_bg01_pc.webp) no-repeat center/cover;
  }
  .clinic-name01::after {
    position: absolute;
    content: "";
    width: 0.52rem;
    height: 0.46rem;
    background: url(../img/clinic_btn_on_pc.webp) no-repeat center/contain;
    top: 50%;
    right: 0.15rem;
    transform: translateY(-50%);
  }
  .clinic-name01.open::after {
    background: url(../img/clinic_btn_off_pc.webp) no-repeat center/contain;
  }
  .clinic-name0102 {
    line-height: 1.4;
    padding: 0.2rem 0;
  }
  .clinic-tel {
    position: relative;
    margin-left: 1.1em;
  }
  .clinic-tel::after {
    position: absolute;
    content: "";
    width: 0.24rem;
    height: 0.24rem;
    background: url(../img/clinic_tel_icon_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -1.1em;
    transform: translateY(-50%);
  }
  .clinic-head {
    position: relative;
    padding: 0.3rem 0.25rem 0.4rem 0.25rem;
  }
  .clinic-address {
    font-size: 0.24rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.08em;
  }
  .clinic-time {
    margin: 0.2rem 0;
    font-size: 0.24rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.08em;
  }
  .clinic-map {
    position: relative;
    width: 6.5rem;
    margin: 0.3rem auto 0;
    padding: 58.92% 0 0;
    overflow: hidden;
  }
  .clinic-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .clinic-foot {
    position: relative;
    width: 6.5rem;
    margin: 0 auto;
    padding: 1.5rem 0 0.5rem 0.4rem;
    background: #fff;
  }
  .clinic-foot.foot02 {
    margin: 0.3rem auto 0;
  }
  .clinic-doctor {
    position: absolute;
    top: -0.57rem;
    left: 50%;
    transform: translate(-50%, 0);
    display: table;
    width: 2.27rem;
    height: 1.89rem;
    margin: 0 auto;
    background: url(../img/clinic_bg02_sp.webp) no-repeat center/contain;
    color: #fff;
    font-size: 0.22rem;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.08em;
  }
  .clinic-doctor .cell {
    display: table-cell;
    vertical-align: middle;
  }
  .clinic-doctor .large {
    font-size: 0.3rem;
    font-weight: bold;
  }
  .clinic-career {
    font-size: 0.2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .clinic-career + .clinic-career {
    margin: 0.2rem 0 0;
  }
  .clinic-career .indent {
    line-height: 2;
    display: inline-block;
    margin: 0 0 -0.1rem 1.22rem;
  }
  .clinic-career .indent02 {
    line-height: 2;
    display: inline-block;
    margin: 0 0 -0.1rem 1rem;
  }
  .clinic-subttl {
    border-top: 0.02rem solid #111;
    margin: 1.06rem -0.3rem 0;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .clinic-subttl span {
    display: block;
    width: 3.25rem;
    margin: 0 auto;
    background: #fff;
    transform: translate(0, -60%);
  }
  .clinic-block01 {
    position: relative;
  }
  .clinic-slider02 {
    position: relative;
    width: 5.11rem;
    margin: 0.45rem auto 0;
  }
  .clinic-pic {
    width: 100%;
  }
  .clinic-btn-next {
    top: 50%;
    right: 0.3rem;
    width: 0.67rem;
    height: 0.67rem;
    background: url(../img/clinic_btn01_pc.webp) no-repeat 50% 0/contain;
    transform: translate(50%, 0);
  }
  .clinic-btn-next::after {
    content: none;
  }
  .clinic-btn-prev {
    top: 50%;
    left: 0.3rem;
    width: 0.67rem;
    height: 0.67rem;
    background: url(../img/clinic_btn01_pc.webp) no-repeat 50% 0/contain;
    transform: translate(-50%, 0) rotate(-180deg);
  }
  .clinic-btn-prev::after {
    content: none;
  }
  .clinic-pagination02 {
    bottom: -0.66rem;
    left: 50%;
    transform: translate(-50%, 100%);
    display: flex;
    justify-content: space-between;
    width: 1.1rem;
    margin: 0 auto;
  }
  .clinic-pagination02 .swiper-pagination-bullet {
    width: 0.2rem;
    height: 0.2rem;
    background: transparent;
    border: 0.02rem solid #168dc5;
    box-sizing: border-box;
  }
  .clinic-pagination02 .swiper-pagination-bullet-active {
    background-color: #168dc5;
  }
  .clinic .container03 {
    display: none;
  }
  .clinic-map-txt {
    font-size: 0.4rem;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1rem;
  }
  .clinic-map02 {
    position: relative;
    width: 6.9rem;
    height: 0;
    padding-bottom: 100%;
    margin: 0.2rem auto 0;
    overflow: hidden;
  }
  .clinic-map02 .map-img {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 0;
    top: 0;
    left: 0;
    margin-top: -1.2rem;
  }
  .clinic-tab01 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn01_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab01.swiper-slide-thumb-active {
    background: url(../img/clinic_btn01_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab02 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn02_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab02.swiper-slide-thumb-active {
    background: url(../img/clinic_btn02_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab03 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn03_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../img/clinic_btn03_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab04 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn04_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab04.swiper-slide-thumb-active {
    background: url(../img/clinic_btn04_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab05 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn05_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab05.swiper-slide-thumb-active {
    background: url(../img/clinic_btn05_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab06 {
    width: 2.2rem;
    height: 1rem;
    background: url(../img/clinic_btn06_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab06.swiper-slide-thumb-active {
    background: url(../img/clinic_btn06_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab07 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic_btn07_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab07.swiper-slide-thumb-active {
    background: url(../img/clinic_btn07_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab08 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic/clinic_btn09_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab08.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn09_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab09 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic/clinic_btn10_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab09.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn10_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab10 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic/clinic_btn11_off_pc.webp) no-repeat center/contain;
    margin-top: 0.1rem;
  }
  .clinic-tab10.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn11_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab11 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic/clinic_btn13_off_pc.webp) no-repeat center/contain;
    margin-top: 0.1rem;
  }
  .clinic-tab11.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn13_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab12 {
    width: 2.2rem !important;
    height: 1rem;
    background: url(../img/clinic/clinic_btn14_off_pc.webp) no-repeat center/contain;
    margin-top: 0.1rem;
  }
  .clinic-tab12.swiper-slide-thumb-active {
    background: url(../img/clinic/clinic_btn14_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tabs {
    margin: 0.2rem auto 0;
  }
  .clinic-list02 {
    margin-top: 0.2rem;
  }
  .clinic-list03 {
    margin-top: 0.2rem;
  }
  .clinic-map-slide {
    margin-top: 0.33rem;
  }
  .clinic .m06 {
    margin-top: 0.2rem;
  }
  .clinic-online {
    width: 6.91rem;
    border: 1px solid #242a75;
    padding: 0.4rem 0.3rem;
    margin-top: 0.45rem;
  }
  .clinic-online-head {
    text-align: center;
    margin: 0 auto;
  }
  .clinic-online-head .circle {
    display: inline-block;
    width: 2.44rem;
    background: #242a75;
    border-radius: 0.26rem;
    font-size: 0.37rem;
    color: #fff;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .clinic-online-head .large {
    display: inline-block;
    font-size: 0.49rem;
    color: #242a75;
    font-weight: bold;
    letter-spacing: -0.02em;
    margin-left: 0.23rem;
  }
  .clinic-online-head .large .ls01 {
    letter-spacing: 0.1em;
  }
  .clinic-online-head .middle {
    display: inline-block;
    font-size: 0.49rem;
    color: #242a75;
    font-weight: bold;
    letter-spacing: -0.02em;
  }
  .clinic-online-bottom {
    font-size: 0.24rem;
    line-height: 1.7;
    letter-spacing: 0.08em;
    margin-top: 0.2rem;
  }
  .clinic-online .tab-link {
    display: block;
    font-weight: bold;
    color: #f5ab03;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.3em;
    margin: 0 auto;
  }
  .clinic-tabs .swiper-wrapper {
    flex-wrap: wrap;
    justify-content: center;
  }
}
/*===============================================================================
faq
===============================================================================*/
@media screen and (min-width: 769px) {
  .faq-bg {
    padding: 100px 0 70px;
    background: #dbe4ee;
  }
  .faq-ttl {
    font-size: 44px;
    font-weight: bold;
    text-align: center;
  }
  .faq-ttl .deco {
    color: #242a75;
  }
  .faq-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 70px 0 0;
  }
  .faq-list {
    width: 467px;
  }
  .faq-ques {
    position: relative;
    display: flex;
    align-items: center;
    height: 90px;
    padding: 0 0 0 12px;
    background: #242a75;
    color: #fff;
  }
  .faq-icon {
    position: relative;
    top: -3px;
    font-size: 31px;
    font-weight: bold;
  }
  .faq-lead {
    margin: 0 0 0 38px;
    font-size: 20px;
    font-weight: bold;
  }
  .faq-lead::before {
    position: absolute;
    top: 50%;
    left: 50px;
    width: 2px;
    height: 60px;
    background: #fff;
    transform: translateY(-50%);
    content: "";
  }
  .faq-ans {
    padding: 20px 0 90px;
  }
  .faq-txt01 {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .faq-note {
    margin: 40px 0 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .faq-btn02 a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 448px;
    height: 64px;
    margin: -20px auto 0;
    padding: 0 0 0 64px;
    border-radius: 10px;
    background: #fff;
    color: #242a75;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    border: 2px solid #242a75;
    box-shadow: 0 5px 0 #242a75;
    cursor: pointer;
  }
  .faq-btn02 a::before {
    content: none;
  }
  .faq-btn02 a::after {
    position: absolute;
    top: 50%;
    right: 35px;
    transform: translate(0, -50%);
    width: 20px;
    height: 15px;
    background: url(../img/faq_icon01_pc.webp) no-repeat center/contain;
    content: "";
  }
}
@media screen and (max-width: 768px) {
  .faq-bg {
    padding: 0.94rem 0 0.82rem;
    background: #dbe4ee;
  }
  .faq-inner {
    margin: 0;
  }
  .faq-ttl {
    font-size: 0.44rem;
    font-weight: bold;
    text-align: center;
  }
  .faq-ttl .deco {
    color: #242a75;
  }
  .faq-ques {
    width: 100%;
    height: 1.1rem;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0.25rem;
    background: #393e82;
    color: #fff;
  }
  .faq-icon {
    position: relative;
    top: -0.03rem;
    font-size: 0.4rem;
    font-weight: bold;
  }
  .faq-lead {
    margin: 0 0 0 0.35rem;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1.26;
  }
  .faq-lead::after {
    position: absolute;
    top: 50%;
    left: 0.7rem;
    width: 0.02rem;
    height: 0.75rem;
    background: #fff;
    transform: translateY(-50%);
    content: "";
  }
  .faq-list {
    margin: -1px 0 0;
  }
  .faq-list:first-of-type {
    margin: 0.75rem 0 0;
  }
  .faq-ans {
    display: none;
    width: 6.05rem;
    margin: 0 auto;
    padding: 0.25rem 0 0.65rem;
  }
  .faq-ans .second {
    display: inline-block;
    margin: 0.45rem 0 0;
  }
  .faq-ans.open {
    display: block;
  }
  .faq-txt01 {
    font-size: 0.24rem;
    line-height: 1.83;
    letter-spacing: 0.04em;
  }
  .faq-note {
    margin: 0.55rem 0 0;
    font-size: 0.2rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .faq-box .open {
    display: block;
    font-size: 0.17rem;
    color: #fff;
    text-align: center;
  }
  .faq-box .close {
    display: none;
    font-size: 0.17rem;
    color: #fff;
    text-align: center;
  }
  .faq-box.active .open {
    display: none;
  }
  .faq-box.active .close {
    display: block;
  }
  .faq-block {
    position: absolute;
    width: 0.9rem;
    top: 55%;
    right: 0;
    transform: translateY(-50%);
  }
  .faq-btn01 {
    position: relative;
    width: 0.25rem;
    height: 0.25rem;
    margin: 0 auto;
  }
  .faq-btn01 .bar01 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.25rem;
    height: 0.05rem;
    background: #fff;
  }
  .faq-btn01 .bar02 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0.05rem;
    height: 0.25rem;
    background: #fff;
  }
  .faq-btn01 .bar02.active {
    display: none;
  }
  .faq-btn02 {
    width: 6.08rem;
    margin: 0.5rem auto 0;
  }
  .faq-btn02 a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: #fff;
    height: 1rem;
    padding: 0 0 0 0.55rem;
    border-radius: 0.2rem;
    color: #242a75;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    border: 1px solid #242a75;
    box-shadow: 0 0.05rem 0 #242a75;
  }
  .faq-btn02 a::before {
    content: none;
  }
  .faq-btn02 a::after {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    width: 0.24rem;
    height: 0.17rem;
    background: url(../img/faq_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
}
/*===============================================================================
reborn
===============================================================================*/
@media screen and (min-width: 769px) {
  .reborn-bg {
    padding: 85px 0 55px;
    background: url(../img/reborn_bg01_pc.webp) no-repeat center/cover;
  }
  .reborn-inner {
    position: relative;
    width: 1200px;
  }
  .reborn-head {
    position: relative;
    width: 600px;
    padding: 25px 0 20px;
    background: #242a75;
  }
  .reborn-subttl {
    position: absolute;
    top: -12px;
    left: 18px;
    width: 151px;
  }
  .reborn-catch {
    padding: 0 0 0 180px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.04em;
  }
  .reborn-catch .orange {
    color: #f7ab00;
  }
  .reborn-catch .asterisk {
    position: absolute;
    top: 48px;
    right: 22px;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1;
  }
  .reborn-price {
    position: relative;
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  .reborn-price .century {
    font-size: 110px;
  }
  .reborn-price .deco {
    color: #f7ab00;
    font-size: 125px;
  }
  .reborn-price .asterisk {
    position: absolute;
    top: 35px;
    right: 35px;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1;
  }
  .reborn-person {
    position: absolute;
    right: -175px;
    top: -186px;
    width: 806px;
  }
  .reborn-note {
    margin: 12px 0 0 30px;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 768px) {
  .reborn-bg {
    padding: 0.9rem 0 4.8rem;
    background: url(../img/reborn_bg01_sp.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .reborn-inner {
    position: relative;
    margin: 0 0.3rem;
  }
  .reborn-head {
    position: relative;
    padding: 0.9rem 0 0.25rem;
    background: #242a75;
  }
  .reborn-subttl {
    position: absolute;
    top: -0.23rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 4.4rem;
  }
  .reborn-catch {
    color: #fff;
    font-size: 0.44rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .reborn-catch .orange {
    color: #f7ab00;
  }
  .reborn-catch .asterisk {
    position: absolute;
    top: 1.25rem;
    right: 0.75rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.16rem;
    line-height: 1;
  }
  .reborn-price {
    position: relative;
    margin: 0.1rem 0 0;
    color: #fff;
    font-size: 0.7rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  .reborn-price .century {
    font-size: 1.2rem;
  }
  .reborn-price .deco {
    color: #f7ab00;
    font-size: 1.35rem;
  }
  .reborn-price .asterisk {
    position: absolute;
    top: 0.4rem;
    right: 0.45rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.16rem;
    line-height: 1;
  }
  .reborn-person {
    position: absolute;
    top: 3rem;
    left: -0.3rem;
    width: 7.5rem;
  }
  .reborn-note {
    margin: 0.12rem 0 0 0.35rem;
    font-size: 0.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    font-weight: normal;
  }
}
@media screen and (min-width: 769px) {
  .footer-bg {
    padding: 60px 0;
    background: #000;
  }
  .footer-list {
    display: flex;
    justify-content: center;
  }
  .footer-item {
    padding: 0 0 5px;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.08em;
  }
  .footer-item + .footer-item {
    margin: 0 0 0 30px;
  }
  .footer-item:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .footer-copy {
    margin: 25px 0 0;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 768px) {
  .footer-bg {
    padding: 0.6rem 0 2.1rem;
    background: #000;
  }
  .footer-list {
    display: flex;
    justify-content: center;
  }
  .footer-item {
    padding: 0 0 0.15rem;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 0.24rem;
    line-height: 1;
    letter-spacing: 0.08em;
  }
  .footer-item + .footer-item {
    margin: 0 0 0 0.5rem;
  }
  .footer-copy {
    margin: 0.25rem 0 0;
    color: #fff;
    font-size: 0.18rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 769px) {
  .modal-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 300;
  }
  .modal-tel.active {
    display: block;
  }
  .modal-tel {
    display: none;
    position: fixed;
    width: 980px;
    height: 70vh;
    max-height: 600px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
  }
  .modal-tel-close {
    position: absolute;
    top: -30px;
    right: 30px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-tel-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-tel-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-tel-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-tel-bg {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    background: #fff;
    padding: 40px 55px 30px;
  }
  .modal-tel-inner {
    width: 870px;
    margin: 0 auto;
  }
  .modal-tel-lead01 {
    padding: 0 0 15px;
    font-size: 20px;
    text-align: center;
  }
  .modal-tel-area {
    font-size: 22px;
    text-align: center;
    padding: 15px 0;
    background: #242a75;
    color: #fff;
    letter-spacing: 0.04em;
  }
  .modal-tel-list {
    display: flex;
    justify-content: center;
    height: 130px;
    margin: 10px 0 0;
  }
  .modal-tel-term {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 435px;
    height: 130px;
    background: #242a75;
    color: #fff;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
  }
  .modal-tel-term::before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 11px;
    border-color: transparent transparent transparent #242a75;
    transform: translate(100%, -50%);
    content: "";
  }
  .modal-tel-desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 435px;
    height: 130px;
    padding: 0 0 8px 40px;
  }
  .modal-tel-clinic {
    font-weight: bold;
    font-size: 18px;
  }
  .modal-tel-num {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
  }
  .modal-tel-num a {
    display: inline-block;
    color: #f7ab00;
    line-height: 1;
    border-bottom: 3px solid #f7ab00;
  }
  .modal-tel-note {
    padding: 20px 0;
    font-size: 18px;
    text-align: center;
  }
  .modal-tel-note a {
    display: inline-block;
    line-height: 1;
    border-bottom: 2px solid #f7ab00;
    color: #f7ab00;
  }
  .modal-tel-lead02 {
    position: relative;
    color: #f7ab00;
    font-weight: 500;
    font-size: 20px;
  }
  .modal-tel-lead02::before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 710px;
    height: 1px;
    background: #000;
    transform: translateY(-50%);
    content: "";
  }
  .modal-tel-order {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 870px;
    margin: 10px 0 0;
  }
  .modal-tel-step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 80px;
    border: 1px solid #000;
    line-height: 1.5;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
  }
  .modal-tel-step::before {
    position: absolute;
    top: 1px;
    left: 4px;
    font-size: 20px;
    font-weight: normal;
    line-height: 1;
    content: "1";
  }
  .modal-tel-step:nth-of-type(2)::before {
    content: "2";
  }
  .modal-tel-step:nth-of-type(3)::before {
    content: "3";
  }
  .modal-tel-step:nth-of-type(4)::before {
    content: "4";
  }
  .modal-tel-step:nth-of-type(4)::after {
    content: none;
  }
  .modal-tel-step::after {
    position: absolute;
    top: 50%;
    right: -18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #000;
    transform: translateY(-50%);
    content: "";
  }
  .modal-tel-area02 {
    font-size: 18px;
    font-weight: bold;
  }
  .modal-tel-connect {
    margin: 5px 0 0;
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .modal-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 300;
  }
  .modal-tel.active {
    display: block;
  }
  .modal-tel {
    display: none;
    position: fixed;
    width: 7rem;
    height: 70vh;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
  }
  .modal-tel-close {
    position: absolute;
    top: -0.4rem;
    right: 0.3rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-tel-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.3rem;
    height: 0.3rem;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-tel-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-tel-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-tel-bg {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    background: #fff;
    padding: 0.4rem 0 0.5rem;
  }
  .modal-tel-inner {
    width: 6.5rem;
    margin: 0 auto;
  }
  .modal-tel-lead01 {
    padding: 0 0 0.3rem;
    font-size: 0.32rem;
    text-align: center;
  }
  .modal-tel-area {
    font-size: 0.34rem;
    text-align: center;
    padding: 0.15rem 0;
    background: #242a75;
    color: #fff;
    letter-spacing: 0.04em;
  }
  .modal-tel-list {
    margin: 0.2rem 0 0;
  }
  .modal-tel-term {
    position: relative;
    width: 6.5rem;
    background: #242a75;
    padding: 0.15rem 0 0.2rem;
    color: #fff;
    font-size: 0.3rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
  }
  .modal-tel-term::before {
    position: absolute;
    left: 50%;
    bottom: 0.01rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.15rem 0.075rem 0 0.075rem;
    border-color: #242a75 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .modal-tel-desc {
    padding: 0.25rem 0;
    background: #fff;
  }
  .modal-tel-clinic {
    display: block;
    margin: 0.1rem 0 0;
    font-size: 0.32rem;
    font-weight: 500;
    text-align: center;
  }
  .modal-tel-num {
    display: block;
    font-size: 0.44rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
  }
  .modal-tel-num a {
    color: #f7ab00;
    text-decoration: underline;
  }
  .modal-tel-note {
    padding: 0.2rem 0 0;
    font-size: 0.26rem;
    text-align: center;
  }
  .modal-tel-note a {
    color: #f7ab00;
    text-decoration: underline;
  }
  .modal-tel-note span {
    font-size: 0.28rem;
  }
  .modal-tel-lead02 {
    position: relative;
    width: 6.4rem;
    margin: 0.6rem auto 0;
    color: #f7ab00;
    font-weight: 500;
    font-size: 0.34rem;
    letter-spacing: 0.04em;
  }
  .modal-tel-lead02::before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 3.8rem;
    height: 1px;
    background: #000;
    transform: translateY(-50%);
    content: "";
  }
  .modal-tel-order {
    width: 6.4rem;
    margin: 0 auto;
  }
  .modal-tel-step {
    position: relative;
    margin: 0.2rem 0 0;
    padding: 0.2rem 0;
    border: 1px solid #000;
    line-height: 1.4;
    font-size: 0.26rem;
    font-weight: bold;
    text-align: center;
  }
  .modal-tel-step::before {
    position: absolute;
    top: 50%;
    left: 0.25rem;
    font-size: 0.38rem;
    font-weight: normal;
    line-height: 1;
    transform: translateY(-50%);
    content: "1";
  }
  .modal-tel-step:nth-of-type(2)::before {
    content: "2";
  }
  .modal-tel-step:nth-of-type(3)::before {
    content: "3";
  }
  .modal-tel-step:nth-of-type(4)::before {
    content: "4";
  }
  .modal-tel-step:nth-of-type(4)::after {
    content: none;
  }
  .modal-tel-step::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.21rem 0.15rem 0 0.15rem;
    border-color: #111 transparent transparent transparent;
    transform: translate(-50%, 100%);
    content: "";
  }
  .modal-tel-area02 {
    text-align: center;
    font-weight: bold;
  }
  .modal-tel-connect {
    margin: 0.1rem 0 0;
    font-size: 0.25rem;
    font-weight: 500;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .modal-online.active {
    display: block;
  }
  .modal-online {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
    width: 740px;
    height: 70vh;
    max-height: 600px;
  }
  .modal-online-close {
    position: absolute;
    top: -30px;
    right: 30px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-online-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-online-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-online-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-online-bg {
    height: 100%;
    overflow-y: scroll;
    padding: 35px 0 65px;
    background-color: #fff;
  }
  .modal-online-inner {
    width: 645px;
  }
  .modal-online-ttl {
    position: relative;
    font-size: 20px;
    text-align: center;
    letter-spacing: 0;
  }
  .modal-online-area {
    width: 630px;
    margin: 15px auto 0;
    padding: 10px 0;
    border-top: #000 solid 1px;
    border-bottom: #000 solid 1px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-align: center;
  }
  .modal-online-list {
    width: 630px;
    margin: 30px auto 0;
  }
  .modal-online-item {
    margin: 20px 0 0;
  }
  .modal-online-clinic {
    display: block;
    font-size: 24px;
    font-weight: bold;
  }
  .modal-online-clinic a {
    color: #f7ab00;
    font-weight: 500;
    font-size: 28px;
    text-decoration: underline;
  }
  .modal-online-clinic a:hover {
    text-decoration: none;
  }
  .modal-online-clinic .time {
    margin-left: 15px;
    font-size: 15px;
    font-weight: normal;
  }
  .modal-online-note {
    font-size: 16px;
    margin: 0 0 4px;
  }
}
@media screen and (max-width: 768px) {
  .modal-online.active {
    display: block;
  }
  .modal-online {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
    width: 7rem;
    height: 70vh;
  }
  .modal-online-close {
    position: absolute;
    top: -0.4rem;
    right: 0.3rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-online-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.3rem;
    height: 0.3rem;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-online-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-online-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-online-bg {
    height: 100%;
    overflow-y: scroll;
    padding: 0.6rem 0 0.8rem;
    background-color: #fff;
  }
  .modal-online-inner {
    width: 6.5rem;
    margin: 0 auto;
  }
  .modal-online-ttl {
    position: relative;
    font-size: 0.32rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0;
  }
  .modal-online-area {
    margin: 0.2rem auto 0;
    padding: 0.1rem 0 0.15rem;
    width: 6.5rem;
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
    font-size: 0.3rem;
    font-weight: 500;
    text-align: center;
  }
  .modal-online-list {
    margin: 0.3rem auto 0;
  }
  .modal-online-item {
    margin: 0.3rem 0 0;
  }
  .modal-online-clinic {
    font-size: 0.4rem;
    font-weight: bold;
  }
  .modal-online-clinic a {
    color: #f7ab00;
    font-weight: 500;
    font-size: 0.46rem;
    text-decoration: underline;
  }
  .modal-online-clinic .time {
    display: block;
    font-size: 0.24rem;
    font-weight: normal;
  }
  .modal-online-note {
    font-size: 0.26rem;
  }
}
/*===============================================================================
cta-fix
===============================================================================*/
@media screen and (min-width: 769px) {
  .cta-fix {
    position: fixed;
    top: 50%;
    right: 0;
    width: 160px;
    z-index: 200;
  }
  .cta-fix-btn a:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .cta-fix-btn + .cta-fix-btn {
    margin: 20px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .cta-fix {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 200;
  }
  .cta-fix-bg {
    padding: 0.25rem 0 0.2rem;
    background: url(../img/cta-fix-bg01.webp) no-repeat center/cover;
  }
  .cta-fix-inner {
    display: flex;
    justify-content: space-between;
  }
  .cta-fix-btn a {
    display: block;
    width: 3.38rem;
  }
}
/*===============================================================================
announce
===============================================================================*/
@media screen and (min-width: 769px) {
  .announce-bg {
    padding: 55px 0 10px;
  }
  .announce-inner {
    width: 720px;
    margin: 0 auto;
  }
  .announce-ttl {
    position: relative;
    padding: 28px 0 28px 80px;
    border-top: #404041 2px solid;
    border-bottom: #404041 2px solid;
    font-size: 23px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .announce-ttl::before {
    position: absolute;
    top: 45%;
    right: 65px;
    transform: translate(0, -50%);
    width: 32px;
    height: 9px;
    background: url(../img/announce_icon01_pc.webp) no-repeat center/contain;
    transform: rotate(0deg);
    transition: 0.3s;
    content: "";
  }
  .announce-ttl:hover {
    cursor: pointer;
  }
  .announce-ttl.open::before {
    transform: rotate(180deg);
  }
  .announce-list {
    width: 645px;
    margin: 5px auto 0;
  }
  .announce-item {
    border-bottom: #bcbcbc 1px solid;
    display: flex;
    justify-content: flex-start;
    padding: 20px 0 20px 100px;
  }
  .announce-clinic {
    font-size: 20px;
    font-weight: bold;
  }
  .announce-clinic .pc-only {
    display: inline-block;
  }
  .announce-time {
    font-size: 20px;
    font-weight: bold;
  }
  .announce-time .pc-only {
    display: inline-block;
  }
  .announce-note {
    margin: 10px 0 0;
    font-size: 16px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .announce-bg {
    padding: 0.6rem 0 0.1rem;
  }
  .announce-inner {
    width: 6.7rem;
    margin: 0 auto;
  }
  .announce-ttl {
    position: relative;
    padding: 0.3rem 0 0.3rem 0.15rem;
    border-top: #404041 1px solid;
    border-bottom: #404041 1px solid;
    font-size: 0.26rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .announce-ttl::before {
    position: absolute;
    top: 45%;
    right: 0.3rem;
    transform: translate(0, -50%);
    width: 0.18rem;
    height: 0.1rem;
    background: url(../img/announce_icon01_pc.webp) no-repeat center/contain;
    transform: rotate(0deg);
    transition: 0.3s;
    content: "";
  }
  .announce-ttl.open::before {
    transform: rotate(180deg);
  }
  .announce-list {
    margin: 0.05rem auto 0;
  }
  .announce-item {
    padding: 0.2rem 0;
    border-bottom: #bcbcbc 1px solid;
  }
  .announce-clinic {
    font-size: 0.28rem;
    font-weight: bold;
    text-align: center;
  }
  .announce-time {
    font-size: 0.28rem;
    font-weight: bold;
    text-align: center;
  }
  .announce-note {
    margin: 0.1rem 0 0;
    font-size: 0.26rem;
    text-align: center;
  }
}
/*===============================================================================
tokyo
===============================================================================*/
@media screen and (min-width: 769px) {
  .tokyo .feature-lead02 {
    bottom: 430px;
  }
  .tokyo .feature-note02 {
    width: 900px;
    margin: 30px auto 0;
    font-size: 20px;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  .tokyo .feature-note02 {
    width: 6.3rem;
    margin: 0.45rem auto 0;
    font-size: 0.28rem;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
  .tokyo .feature-lead02 {
    bottom: 8.6rem;
    right: 0;
  }
}
@media screen and (min-width: 769px) {
  .modal-qa.active {
    display: block;
  }
  .modal-qa {
    display: none;
    position: fixed;
    top: 5%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
    width: 736px;
    max-height: 736px;
  }
  .modal-qa-close {
    position: absolute;
    top: -30px;
    right: 30px;
    width: 51px;
    height: 51px;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-qa-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-qa-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-qa-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 20px;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-qa-bg {
    height: 100%;
    overflow-y: scroll;
  }
  .modal-qa-inner {
    width: 736px;
  }
}
@media screen and (max-width: 768px) {
  .modal-qa.active {
    display: block;
  }
  .modal-qa {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
    width: 7.1rem;
    height: 70vh;
  }
  .modal-qa-close {
    position: absolute;
    top: -0.5rem;
    right: 0.3rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-qa-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.3rem;
    height: 0.3rem;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-qa-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-qa-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-qa-bg {
    height: 100%;
    overflow-y: scroll;
  }
  .modal-qa-inner {
    width: 7.1rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .newyear-bg {
    background: #eff0f2;
    padding: 0 0 30px;
  }
  .newyear-ttl {
    font-size: 28px;
    text-align: center;
    font-weight: bold;
    color: #d71419;
    letter-spacing: 0.04em;
  }
  .newyear-txt01 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.04em;
    margin-top: 20px;
  }
  .newyear-txt01 .small {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .newyear-bg {
    background: #eff0f2;
    padding: 0 0 0.35rem;
  }
  .newyear-ttl {
    font-size: 0.4rem;
    text-align: center;
    font-weight: bold;
    color: #d71419;
    letter-spacing: 0.04em;
  }
  .newyear-txt01 {
    font-size: 0.28rem;
    font-weight: bold;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.04em;
    margin-top: 0.2rem;
  }
  .newyear-txt01 .small {
    font-size: 0.2rem;
  }
  .newyear-tokyo .newyear-txt01 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .modal-ny {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .modal-ny.active {
    display: block;
  }
  .modal-ny {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 400;
    width: 7.1rem;
    height: 70vh;
  }
  .modal-ny-close {
    position: absolute;
    top: -0.5rem;
    right: 0.3rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    z-index: 500;
    background: #111;
    border: 1px solid #fff;
    cursor: pointer;
  }
  .modal-ny-close .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.3rem;
    height: 0.3rem;
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .modal-ny-close .bar:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(-45deg);
  }
  .modal-ny-close .bar:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 0.3rem;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
  }
  .modal-ny-bg {
    height: 100%;
    overflow-y: scroll;
  }
  .modal-ny-inner {
    width: 7.1rem;
    padding: 0.5rem 0;
    margin: 0 auto;
    background: #eff0f2;
  }
}
/*==============================================================================
video
============================================================================= */
@media screen and (min-width: 769px) {
  .video-bg {
    background: url(../img/video_bg_pc.webp) no-repeat center/cover;
    padding: 45px 0;
    margin-top: 57px;
    margin-bottom: 52px;
  }
  .video-inner {
    position: relative;
    width: 737px;
    margin: 0 auto;
  }
  .video-txt01 {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 149px;
    height: 149px;
    font-size: 23px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    line-height: 0.5;
    top: -35px;
    left: -60px;
  }
  .video-txt01 .deco {
    width: 58px;
    background: #fff;
    color: #242a75;
    padding: 10px 0;
  }
  .video-txt01 .large {
    font-size: 27px;
    line-height: 0.7;
  }
  .video-txt02 {
    font-size: 66px;
    text-align: right;
    font-weight: bold;
    color: #242a75;
    line-height: 1;
    letter-spacing: -0.08em;
  }
  .video-txt02 .large {
    font-size: 77px;
  }
  .video-box {
    position: relative;
    width: 737px;
    height: 0;
    padding-bottom: 56.3%;
    margin: 25px auto 0;
  }
  .video-box .youtube {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 0;
    top: 0;
    left: 0;
  }
  .yt-banner {
    display: block;
    width: 639px;
    margin: 67px auto 58px;
    cursor: pointer;
  }
  .yt-banner:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  .video-bg {
    background: url(../img/video_bg_sp.webp) no-repeat center/cover;
    padding: 0.78rem 0;
    margin-top: 0.87rem;
  }
  .video-inner {
    position: relative;
    width: 6.2rem;
    margin: 0 auto;
  }
  .video-txt01 {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 1.95rem;
    height: 1.95rem;
    font-size: 0.36rem;
    color: #fff;
    text-align: center;
    font-weight: bold;
    line-height: 0.5;
    top: 0;
    left: -0.6rem;
  }
  .video-txt01 .deco {
    width: 0.89rem;
    background: #fff;
    color: #242a75;
    padding: 0.1rem 0;
  }
  .video-txt01 .large {
    font-size: 0.41rem;
    line-height: 0.7;
  }
  .video-txt02 {
    font-size: 0.71rem;
    text-align: center;
    font-weight: bold;
    color: #242a75;
    line-height: 1.2;
    letter-spacing: -0.06em;
    padding-left: 1rem;
  }
  .video-txt02 .large {
    font-size: 0.8rem;
  }
  .video-box {
    position: relative;
    width: 6.2rem;
    height: 0;
    padding-bottom: 56%;
    margin: 0.1rem auto 0;
  }
  .video-box .youtube {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 0;
    top: 0;
    left: 0;
  }
  .yt-banner {
    display: block;
    width: 6.9rem;
    margin: 0.55rem auto 0.6rem;
  }
}
/*==============================================================================
kit
============================================================================= */
@media screen and (min-width: 769px) {
  .kit {
    width: 975px;
    margin: 44px auto 0;
  }
  .kit-bg {
    background: url(../img/kit_bg01_pc.webp) no-repeat center/cover;
    padding: 55px 45px 50px;
  }
  .kit-flex {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .kit-flex::after {
    position: absolute;
    content: "";
    width: 895px;
    height: 3px;
    background: #777;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit-head {
    font-size: 39px;
    font-weight: bold;
    color: #242a75;
    line-height: 1.32;
  }
  .kit-head .large {
    font-size: 57px;
    letter-spacing: 0.04em;
  }
  .kit-head .large .ls08 {
    letter-spacing: -0.08em;
  }
  .kit-sub {
    font-size: 26px;
    color: #242a75;
    font-weight: bold;
    text-align: right;
  }
  .kit-recommend {
    width: 573px;
    background: #242a75;
    color: #fff;
    padding: 30px;
    margin-top: 20px;
  }
  .kit-txt02 {
    position: relative;
    font-size: 28px;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .kit-txt02::after {
    position: absolute;
    content: "";
    width: 507px;
    height: 1px;
    background: #fff;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit-list {
    margin-top: 44px;
  }
  .kit-item {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-left: 36px;
  }
  .kit-item::before {
    position: absolute;
    content: "";
    width: 18px;
    height: 13px;
    background: url(../img/reserve_icon01_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -19px;
    transform: translate(-100%, -50%);
  }
  .kit-sample {
    width: 269px;
  }
  .kit-pic {
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
  }
  .kit-price {
    font-size: 16px;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: -0.02em;
    margin-top: 26px;
  }
  .kit-price .large {
    font-size: 31px;
  }
  .kit-price .middle {
    font-size: 17px;
  }
  .kit-block {
    margin-top: 60px;
  }
  .kit-btn {
    width: 462px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .kit {
    width: 6.9rem;
    margin: 0.84rem auto 0;
  }
  .kit-bg {
    background: url(../img/kit_bg01_sp.webp) no-repeat center/cover;
    padding: 0.74rem 0 0.62rem;
  }
  .kit-head {
    font-size: 0.44rem;
    font-weight: bold;
    color: #242a75;
    line-height: 1.32;
    text-align: center;
  }
  .kit-head .large {
    font-size: 0.61rem;
    letter-spacing: 0.04em;
  }
  .kit-sub {
    font-size: 0.26rem;
    color: #242a75;
    font-weight: bold;
    text-align: right;
    padding-right: 1em;
    margin-top: 0.1rem;
  }
  .kit-flex {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 0.5rem;
  }
  .kit-left {
    width: 4.32rem;
  }
  .kit-recommend {
    background: #242a75;
    color: #fff;
    padding: 0.25rem;
  }
  .kit-txt02 {
    position: relative;
    font-size: 0.3rem;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .kit-txt02::after {
    position: absolute;
    content: "";
    width: 3.8rem;
    height: 1px;
    background: #fff;
    bottom: -0.22rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit-list {
    margin-top: 0.44rem;
  }
  .kit-item {
    position: relative;
    font-size: 0.28rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-left: 0.27rem;
  }
  .kit-item::before {
    position: absolute;
    content: "";
    width: 0.2rem;
    height: 0.15rem;
    background: url(../img/reserve_icon01_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -0.25rem;
    transform: translateY(-50%);
  }
  .kit-item:nth-of-type(n+2)::before {
    top: 30%;
  }
  .kit-sample {
    width: 2.59rem;
  }
  .kit-pic {
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
  }
  .kit-price {
    font-size: 0.26rem;
    color: #242a75;
    font-weight: bold;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0.2rem 0 0 0.35rem;
  }
  .kit-price .large {
    font-size: 0.49rem;
  }
  .kit-price .middle {
    font-size: 0.28rem;
  }
  .kit-block {
    margin-top: 0.5rem;
  }
  .kit-btn {
    width: 6.12rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .kit02 {
    width: 975px;
    border-radius: 20px;
    margin: 100px auto 0;
  }
  .kit02-head {
    position: relative;
    display: flex;
    justify-content: center;
    background: #242a75;
    border-radius: 20px 20px 0 0;
    padding: 70px 0px 30px;
  }
  .kit02-head .kit02-img {
    position: absolute;
    width: 100px;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit02-head .head-left .left-txt01 {
    font-size: 32px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
  }
  .kit02-head .head-left .left-txt01 span {
    font-size: 47px;
    letter-spacing: 0.04em;
  }
  .kit02-head .head-left .sub {
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    text-align: right;
  }
  .kit02-head .head-right .right-txt01 {
    position: relative;
    font-size: 28px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .kit02-head .head-right .right-txt01 .sub {
    font-weight: 100;
    font-size: 20px;
  }
  .kit02-head .head-right .right-txt01::after {
    position: absolute;
    content: "";
    width: 930px;
    height: 1px;
    background: #fff;
    bottom: -27px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit02-head .head-right .price {
    font-size: 60px;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    margin-top: 50px;
    text-align: center;
  }
  .kit02-head .head-right .price .middle {
    font-size: 33px;
  }
  .kit02-head .head-right .price .small {
    font-size: 20px;
  }
  .kit02-foot {
    background: #fff;
    border-left: 4px solid #242a75;
    border-right: 4px solid #242a75;
  }
  .kit02-foot .foot-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 0;
  }
  .kit02-foot .foot-left .left-txt02 {
    position: relative;
    font-size: 16px;
    color: #242a75;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .kit02-foot .foot-left .left-txt02::after {
    position: absolute;
    content: "";
    width: 393px;
    height: 1px;
    background: #242a75;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit02-foot .foot-left .left-list {
    margin: 25px 0 0 40px;
  }
  .kit02-foot .foot-left .left-list .left-item {
    position: relative;
    font-size: 16px;
    color: #0b142b;
    line-height: 1.6;
    letter-spacing: 0.14em;
  }
  .kit02-foot .foot-left .left-list .left-item::after {
    position: absolute;
    content: "";
    width: 15px;
    height: 11px;
    background: url(../img/kit02_img01_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -1.5em;
    transform: translateY(-50%);
  }
  .kit02-btn01 {
    width: 460px;
    margin-left: 26px;
    cursor: pointer;
  }
  .kit02-btn01:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .kit02-btn {
    width: 975px;
    background: #f9b300;
    font-size: 20px;
    color: #242a75;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.04em;
    border-radius: 0 0 20px 20px;
    padding: 10px 0 13px;
  }
  .kit02-btn:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  .kit02 {
    width: 6.9rem;
    border-radius: 0.2rem;
    margin: 0.7rem auto 0;
  }
  .kit02-head {
    position: relative;
    background: #242a75;
    border-radius: 0.2rem 0.2rem 0 0;
    padding: 0.6rem 0 0.25rem 0.4rem;
  }
  .kit02-head .kit02-img {
    position: absolute;
    z-index: 10;
    width: 2.21rem;
    bottom: 0.31rem;
    right: 0.26rem;
  }
  .kit02-head .head-left {
    position: relative;
  }
  .kit02-head .head-left .left-txt01 {
    font-size: 0.42rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }
  .kit02-head .head-left .left-txt01 span {
    font-size: 0.59rem;
    letter-spacing: 0;
  }
  .kit02-head .head-left .sub {
    font-size: 0.24rem;
    color: #fff;
    font-weight: bold;
    line-height: 2.9;
    margin-left: 0.47rem;
  }
  .kit02-head .head-left::after {
    position: absolute;
    content: "";
    width: 5.4rem;
    height: 0.01rem;
    background: #fff;
    bottom: -0.34rem;
    left: 0.47rem;
  }
  .kit02-head .head-right .price {
    font-size: 0.6rem;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    margin: 0.5rem 0 0;
  }
  .kit02-head .head-right .price .middle {
    font-size: 0.4rem;
  }
  .kit02-head .head-right .price .small {
    font-size: 0.25rem;
  }
  .kit02-head .head-right .right-txt01 {
    position: relative;
    font-size: 0.4rem;
    color: #fff;
    font-weight: bold;
    text-align: left;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .kit02-head .head-right .right-txt01 .sub {
    font-weight: 100;
    font-size: 0.24rem;
  }
  .kit02-head .head-right .right-txt01::after {
    position: absolute;
    content: "";
    width: 80%;
    height: 1px;
    background: #fff;
    bottom: -0.3rem;
    left: 2.6rem;
    transform: translateX(-50%);
  }
  .kit02-foot {
    background: #fff;
    border-left: 0.04rem solid #242a75;
    border-right: 0.04rem solid #242a75;
  }
  .kit02-foot .foot-flex {
    padding: 0.6rem 0;
  }
  .kit02-foot .foot-left .left-txt02 {
    position: relative;
    font-size: 0.27rem;
    color: #242a75;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .kit02-foot .foot-left .left-txt02::after {
    position: absolute;
    content: "";
    width: 5.6rem;
    height: 1px;
    background: #242a75;
    bottom: -0.22rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .kit02-foot .foot-left .left-list {
    margin: 0.49rem 0 0 0.94rem;
  }
  .kit02-foot .foot-left .left-list .left-item {
    position: relative;
    font-size: 0.24rem;
    color: #0b142b;
    line-height: 1.6;
    letter-spacing: 0.14em;
  }
  .kit02-foot .foot-left .left-list .left-item::after {
    position: absolute;
    content: "";
    width: 0.28rem;
    height: 0.2rem;
    background: url(../img/kit02_img01_pc.webp) no-repeat center/contain;
    top: 50%;
    left: -1.5em;
    transform: translateY(-50%);
  }
  .kit02-btn01 {
    width: 6.11rem;
    margin: 0.5rem auto 0;
  }
  .kit02-btn {
    width: 6.9rem;
    background: #f9b300;
    font-size: 0.26rem;
    color: #242a75;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.04em;
    border-radius: 0 0 0.2rem 0.2rem;
    padding: 0.15rem 0 0.12rem;
  }
}
/*==============================================================================
ba
============================================================================= */
@media screen and (min-width: 769px) {
  .ba {
    background: #f5f5f5;
  }
  .ba-bg {
    width: 1164px;
    padding-bottom: 70px;
    margin: 0 auto;
  }
  .ba01 {
    background: #f5f5f5;
    padding: 50px 0 12px;
  }
  .ba-inner {
    width: 970px;
    margin: 0 auto;
  }
  .ba-ttl {
    background: #1E2678;
    font-size: 36px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
  }
  .ba-ttl span {
    font-size: 48px;
  }
  .ba-head {
    display: flex;
    margin-top: 40px;
  }
  .ba-container {
    width: 535px;
    border: 2px solid #333;
    border-radius: 10px;
  }
  .ba .sub {
    font-size: 14px;
    text-align: center;
    line-height: 1;
    margin-top: 16px;
  }
  .ba .head-right {
    position: relative;
    width: 434px;
    margin-left: -25px;
  }
  .ba .head-right .txt-box {
    position: absolute;
    width: 328px;
    background: #fff;
    /* bottom: 0; */
    bottom: 182px;
    left: 50%;
    transform: translateX(-50%);
  }

  .ba .head-right .txt-box.boxno2 {
    bottom: 137px;
  }


  .ba .head-right .ba-txt01 {
    width: 328px;
    background: #1E2678;
    font-size: 30px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    margin: 0 auto;
  }
  .ba .head-right .ba-txt01 span {
    font-size: 56px;
  }
  .ba .head-right .ba-txt01:last-child {
    margin-top: 5px;
  }
  .ba-foot {
    padding: 25px 0 25px;
  }
  .ba-foot02 {
    background: #f5f5f5;
  }
  .ba .foot-head {
    display: flex;
    justify-content: space-between;
    width: 504px;
    margin: 0 auto;
  }
  .ba .foot-left .ba-img02 {
    position: relative;
  }
  .ba .foot-left .ba-img02:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.5px 0 11.5px 20px;
    border-color: transparent transparent transparent #1E2678;
    top: 50%;
    right: -50px;
    transform: translateY(-50%);
  }
  .ba-img02 {
    width: 210px;
  }
  .ba .foot-txt01 {
    font-size: 16px;
    color: #fff;
    text-align: center;
    background: #777;
    line-height: 1;
    border-radius: 30px;
    padding: 12px 0;
    margin-top: 12px;
  }
  .ba .foot-txt02 {
    background: #f6ab00;
  }
  .ba table {
    width: 730px;
    border: 1px solid #dcdedf;
    margin: 50px auto 0;
  }
  .ba table tr:nth-child(2) {
    border-top: 1px solid #dcdedf;
    border-bottom: 1px solid #dcdedf;
  }
  .ba table tr:nth-child(2) th {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  .ba table th {
    width: 160px;
    background: #3d5369;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1;
  }
  .ba table td {
    font-size: 16px;
    color: #333333;
    line-height: 1.8;
    padding: 15px 0px 15px 1em;
  }
  .ba02 {
    background: #f5f5f5;
    padding: 20px 0 12px;
    margin-top: 25px;
  }
  .ba_figure_bg {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 768px) {
  .ba {
    background: #fff;
    padding-top: 0.4rem;
  }
  .ba01 {
    background: #fff;
    padding: 0.43rem 0;
  }
  .ba-inner {
    padding: 0rem 0.2rem;
  }
  .ba-ttl {
    background: #1E2678;
    font-size: 0.32rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 0.2rem 0;
  }
  .ba-ttl span {
    font-size: 0.48rem;
  }
  .ba-head {
    margin-top: 0.3rem;
  }
  .ba-container {
    border: 2px solid #5d5d5d;
    border-radius: 0.2rem;
  }
  .ba .sub {
    font-size: 0.2rem;
    text-align: center;
    line-height: 1;
    margin-top: 0.6rem;
  }
  .ba .head-right {
    position: relative;
  }
  .ba .head-right .txt-box {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 7.02rem;
    /* bottom: 0; */
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
  }
  .ba .head-right .ba-txt01 {
    width: 3.4rem;
    background: #1E2678;
    font-size: 0.37rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    padding: 0.3rem 0;
  }
  .ba .head-right .ba-txt01 span {
    font-size: 0.59rem;
  }
  .ba-foot {
    padding: 0.45rem 0;
  }
  .ba .foot-head {
    width: 4rem;
    margin: 0 auto;
  }
  .ba .foot-left {
    position: relative;
  }
  .ba .foot-left:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4rem 0.2rem 0 0.2rem;
    border-color: #1E2678 transparent transparent transparent;
    bottom: -0.6rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .ba .foot-txt01 {
    font-size: 0.3rem;
    color: #fff;
    text-align: center;
    background: #777;
    line-height: 1;
    border-radius: 30px;
    padding: 12px 0;
    margin-top: 12px;
  }
  .ba .foot-right {
    margin-top: 1rem;
  }
  .ba .foot-txt02 {
    background: #f6ab00;
  }
  .ba table {
    width: 6.6rem;
    border: 1px solid #dcdedf;
    margin: 0.42rem auto 0;
  }
  .ba table tr:nth-child(2) {
    border-top: 1px solid #dcdedf;
    border-bottom: 1px solid #dcdedf;
  }
  .ba table tr:nth-child(2) th {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  .ba table th {
    width: 1.8rem;
    background: #3d5369;
    font-size: 0.26rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1;
  }
  .ba table td {
    font-size: 0.21rem;
    color: #333333;
    line-height: 1.8;
    padding: 0.25rem 0px 0.25rem 1em;
  }
  .ba02 {
    background: #ffffff;
    padding: 0.4rem 0 0.24rem;
  }
  .ba_figure_bg {
    padding-bottom: 1.2rem;
  }
}
/*==============================================================================
consultation
============================================================================= */
@media screen and (min-width: 769px) {
  .consultation-bg {
    width: 993px;
    background: url(../img/consultation_bg01_pc.webp) no-repeat center/contain;
    padding: 68px 0px 55px;
    margin-top: 35px;
    margin-left: -10px;
  }
  .consultation-txt01 {
    font-size: 34px;
    color: #242a75;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .consultation-txt01 .deco {
    font-size: 36px;
    font-weight: bold;
    border-bottom: 2px solid #242a75;
  }
  .consultation-txt01 .deco02 {
    position: relative;
    z-index: 10;
    font-size: 44px;
    font-weight: bold;
  }
  .consultation-txt01 .deco02::after {
    position: absolute;
    z-index: -1;
    content: "";
    width: 612px;
    height: 23px;
    background: #ffff65;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .consultation-flex {
    display: flex;
    justify-content: center;
    margin-top: 30px;
  }
  .consultation-flex .left {
    width: 447px;
  }
  .consultation-flex .left-flex {
    display: flex;
    align-items: flex-start;
    margin-top: 10px;
  }
  .consultation-flex .left .txt01 {
    width: 103px;
    background: #242a75;
    font-style: 18px;
    color: #fff;
    text-align: center;
  }
  .consultation-flex .left .txt02 {
    font-size: 18px;
    letter-spacing: 0.02em;
    margin-left: 24px;
  }
  .consultation-flex .btn {
    width: 447px;
  }
  .consultation-flex .btn:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .consultation-flex .right {
    width: 447px;
    margin-left: 15px;
  }
  .consultation-flex .txt03 {
    font-size: 18px;
    letter-spacing: 0.02em;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .consultation-bg {
    background: url(../img/consultation_bg01_sp.webp) no-repeat center/contain;
    padding: 0.7rem 0;
    margin: 0.48rem -0.2rem 0 -0.3rem;
  }
  .consultation-txt01 {
    width: 6.4rem;
    font-size: 0.42rem;
    color: #242a75;
    letter-spacing: 0.04em;
    margin: 0.1rem auto 0 0.6rem;
  }
  .consultation-txt01 .deco {
    font-weight: bold;
    border-bottom: 2px solid #242a75;
  }
  .consultation-txt01 .deco02 {
    display: inline-block;
    font-size: 0.59rem;
    font-weight: bold;
    padding-top: 0.4rem;
  }
  .consultation-txt01 .deco02 .border {
    position: relative;
    z-index: 10;
  }
  .consultation-txt01 .deco02 .border::after {
    position: absolute;
    z-index: -1;
    content: "";
    width: 3.65rem;
    height: 0.31rem;
    background: #ffff65;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .consultation-txt01 .deco02 .border02 {
    position: relative;
    z-index: 10;
  }
  .consultation-txt01 .deco02 .border02::after {
    position: absolute;
    z-index: -1;
    content: "";
    width: 4.27rem;
    height: 0.31rem;
    background: #ffff65;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .consultation-flex {
    width: 6.5rem;
    margin: 0.6rem auto 0;
  }
  .consultation-flex .left {
    width: 5rem;
  }
  .consultation-flex .left-flex {
    display: flex;
    align-items: flex-start;
    width: 6.5rem;
    padding-left: 1em;
    margin: 0.1rem auto 0.2rem;
  }
  .consultation-flex .left .txt01 {
    width: 1.48rem;
    background: #242a75;
    font-size: 0.25rem;
    color: #fff;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .consultation-flex .left .txt02 {
    font-size: 0.25rem;
    letter-spacing: 0.02em;
    margin-left: 0.35rem;
  }
  .consultation-flex .btn {
    width: 6.4rem;
    margin-left: 0.12rem;
  }
  .consultation-flex .btn:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .consultation-flex .right {
    width: 6.4rem;
    margin-top: 0.4rem;
  }
  .consultation-flex .txt03 {
    font-size: 0.25rem;
    letter-spacing: 0.02em;
    padding-left: 1em;
    margin: 0.1rem auto 0.2rem;
  }
}



/* 20240425追記 
ヘッダー・FV・クリニック　---------------------- */

/*==============================================================================
header
============================================================================= */
@media screen and (min-width: 769px) {
  .header-inner {
    display: flex;
    align-items: center;
    width: calc(100% - 2*15px);
    max-width: 980px;
    padding: 10px 0;
    margin: 0 auto;
  }
  .header-logo {
    width: 201px;
    margin: 0 25px 0 0;
  }
  .header-txt01 {
    padding: 3px 0 5px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    width: 160px;
    font-weight: bold;
  }
  .header-txt01 .century {
    font-size: 38px;
  }
}
@media screen and (max-width: 768px) {
  .header-bg {
    background: #fff;
    padding: 0.25rem 0;
  }
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-logo {
    width: 2.46rem;
  }
  .header-txt01 {
    margin: 0 0.23rem 0 0;
    padding: 0.1rem 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 0.26rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    font-weight: bold;
  }
  .header-txt01 .century {
    font-size: 0.5rem;
    letter-spacing: 0;
  }
}


/*==============================================================================
fv ver.02-1
============================================================================= */
.fv-v2-1 .dp-pc {
  display: block;
}
.fv-v2-1 .dp-sp {
  display: none;
}

.fv-v2-1 {
  width: 100%;
  padding-top: 51px;
  padding-bottom: 48px;
  font-family: 'Helvetica', 'Arial', 'Noto Sans JP', sans-serif;
  background: #F1FBFE url(../img/fv/fv-bg-1.jpg) no-repeat top center/cover
}
.fv-v2-1 .fv-main {
  width: calc(100% - 2*15px);
  max-width: 980px;
  margin: 0 auto 27px;
}
.fv-v2-1 .fv-main .fv-txt {
  margin-bottom: 18px;
  font-size: 44px;
  font-weight: 700;
  color: #162680;
}
.fv-v2-1 .fv-main .fv-title {
  margin-bottom: 44px;
  font-size: 57px;
  font-weight: 700;
  color: #000;
  line-height: 1;
  letter-spacing: .05em;
}
.fv-v2-1 .fv-main .fv-title span {
  font-weight: 700;
  color: #F78029;
  letter-spacing: 0;
}
.fv-v2-1 .fv-main .fv-title span:nth-of-type(1) {
  position: relative;
  top: 5px;
  margin: 0 10px;
  font-size: 92px;
}
.fv-v2-1 .fv-main .fv-title span:nth-of-type(2) {
  font-size: 57px;
}
.fv-v2-1 .fv-main .fv-banner {
  /* overflow: hidden; */
  display: flex;
  background-color: #fff;
  border-radius: 15px;
  border: 2px solid #162680;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 {
  width: calc(173 / 980 * 100%);
  padding: 22px 10px 10px;
  text-align: center;
  color: #162680;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h4 {
  display: inline-block;
  margin-bottom: 7px;
  padding: 5px 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  background-color: #F5AE31;
  border-radius: 15px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: calc(30 / 20);
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(1) {
  white-space: nowrap;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
  position: relative;
  top: -3px;
  left: 2px;
  font-size: 16px;
  font-weight: 300;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: calc(478 / 980 * 100%);
  padding: 6px 18px 26px 19px;
  color: #fff;
  background-color: #162680;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
  width: calc(184 / 431 * 100%);
  font-size: 23px;
  font-weight: 700;
  text-align: center;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 span {
  display: inline-block;
  margin-bottom: 4px;
  padding: 4px 10px;
  color: #F5AE31;
  border: 1px solid #F5AE31;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
  width: calc(242 / 431 * 100%);
  position: relative;
  top: 9px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  column-gap: 4px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div span {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div {
  display: flex;
  align-items: baseline;
  padding: 3px 3px;
  /* background-color: #F78029; */
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
  position: relative;
  top: 8px;
  left: -4px;
  width: 120px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > div {
  position: relative;
  font-size: 32px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > div > span {
  position: absolute;
  top: -12px;
  left: 0;
  font-size: 14px;
  color: #fff;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 13px;
  font-weight: 700;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small > span {
  font-size: 15px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 10px;
  width: calc(329 / 980 * 100%);
  padding: 18px 18px 14px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #162680;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
  width: 90px;
  padding: 6px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  background-color: #F1FBFE;
  border: 1px solid #162680;
  border-radius: 4px;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: .05em;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
  font-size: 18px;
  font-weight: 700;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 9px;
  font-weight: 400;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small br {
  display: none;
}
.fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small > span {
  font-size: 11px;
}
.fv-v2-1 .fv-bottom {
  position: relative;
  display: flex;
  flex-wrap: wrap;

  width: calc(100% - 2*15px);
  max-width: 1010px;
  margin: 0 auto;
}
.fv-v2-1 .fv-bottom .fv-bottom-label {
  position: relative;
  top: 0;
  left: 0;
  width: auto;
  height: 88px;
  aspect-ratio: 426 / 88;
  margin-top: 24px;
  margin-left: -15px;
  background: url(../img/fv/fv-label.png) no-repeat center/100% 100%;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
}
.fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 1px;
  width: calc(50vw - 505px);
  height: 88px;
  margin-left: calc(-50vw + 505px);
  background: url(../img/fv/fv-label-bg.png) no-repeat right center/100% 88px;
}
.fv-v2-1 .fv-bottom ul {
  display: flex;
  align-items: center;
  column-gap: 9px;
  margin-left: auto;
}
.fv-v2-1 .fv-bottom ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 129px;
  height: 129px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  line-height: calc(25 / 20);
  background: linear-gradient(135deg, #1F2577, #202779 55%, #6C486B 75%, #EB9E2D 100%);
}
.fv-v2-1 .fv-bottom ul li small {
  position: relative;
  top: -5px;
  left: 2px;
  font-size: 9px;
  font-weight: 300;
}
.fv-v2-1 .fv-bottom small {
  margin: 15px auto 0 0;
  font-size: 10px;
  font-weight: 400;
}
@media screen and (min-width: 1040px) {
  .fv-v2-1 .fv-bottom .fv-bottom-label {
    margin-left: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 1040px) {
  .fv-v2-1 .fv-bottom .fv-bottom-label-bg {
    display: block;
  }
}
@media screen and (max-width: 1020px) {
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 {
    width: calc(161 / 980 * 100%);
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h4 {
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 {
    justify-content: space-around;
    width: calc(497 / 1010 * 100%);
    padding: 10px 14px 24px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    font-size: 21px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
    top: 5px;
    column-gap: 2px;
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div {
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > div {
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
    width: 105px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small > span {
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
    row-gap: 14px;
    width: calc(322 / 980 * 100%);
    padding: 18px 14px 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div {
    justify-content: space-around;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
    width: 86px;
    padding: 6px;
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
    top: -5px;
    font-size: 8px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label {
    width: 380px;
    height: 80px;
    margin-top: 16px;
    margin-left: -15px;
    padding: 13px 12px 11px 15px;
    /* background-color: #F78029; */
    border-radius: 0 5px 5px 0;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    font-size: 20px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 14px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 25px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 40px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-1 .fv-bottom ul {
    column-gap: 9px;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 117px;
    height: 117px;
    font-size: 18px;
  }
  .fv-v2-1 .fv-bottom ul li small {
    font-size: 9px;
  }
  .fv-v2-1 .fv-bottom small {
    font-size: 10px;
  }
}
@media screen and (max-width: 900px) {
  .fv-v2-1 .fv-main {
    margin: 0 auto 27px;
  }
  .fv-v2-1 .fv-main .fv-txt {
    margin-bottom: 10px;
    font-size: 40px;
  }
  .fv-v2-1 .fv-main .fv-title {
    margin-bottom: 44px;
    font-size: 50px;
    letter-spacing: .05em;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(1) {
    font-size: 76px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(2) {
    font-size: 50px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 {
    width: calc(170 / 980 * 100%);
    padding: 18px 5px 10px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h4 {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 {
    justify-content: space-around;
    width: calc(473 / 1010 * 100%);
    padding: 14px 8px 26px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    width: calc(174 / 431 * 100%);
    font-size: 15px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
    top: 5px;
    column-gap: 2px;
    justify-content: center;
        width: calc(252 / 431 * 100%);
    font-size: 22px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    margin-right: 10px;
    font-size: 22px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div {
    font-size: 22px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
    width: 100px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > div {
    font-size: 22px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
    top: 8px;
    right: 10px;
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small > span {
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
    column-gap: 14px;
    width: calc(345 / 1010 * 100%);
    padding: 18px 14px 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div {
    justify-content: space-around;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
    width: 84px;
    padding: 6px;
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    font-size: 24px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
    top: -8px;
    font-size: 8px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label {
    width: 330px;
    height: 70px;
    margin-top: 16px;
    margin-left: -15px;
    padding: 13px 12px 11px 15px;
    /* background-color: #F78029; */
    border-radius: 0 5px 5px 0;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    top: 5px;
    font-size: 18px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 12px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 20px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 30px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-1 .fv-bottom ul {
    column-gap: 9px;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 100px;
    height: 100px;
    font-size: 16px;
  }
  .fv-v2-1 .fv-bottom ul li small {
    font-size: 9px;
  }
  .fv-v2-1 .fv-bottom small {
    font-size: 10px;
  }
}
@media screen and (max-width: 800px) {
  .fv-v2-1 {
    padding-top: 50px;
    padding-bottom: 48px;
    background: #F1FBFE url(../img/fv/fv1-bg-sp.jpg) no-repeat top center/cover
  }
  .fv-v2-1 .fv-main {
    margin: 0 auto 27px;
  }
  .fv-v2-1 .fv-main .fv-txt {
    margin-bottom: 20px;
    font-size: 40px;
  }
  .fv-v2-1 .fv-main .fv-title {
    margin-bottom: 44px;
    font-size: 50px;
    letter-spacing: .05em;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(1) {
    font-size: 76px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(2) {
    font-size: 50px;
  }
  /* FVバナー */
  .fv-v2-1 .fv-main .fv-banner {
    flex-direction: column;
    width: 92%;
    max-width: 550px;
    margin: 0 auto 35px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 {
    position: relative;
    width: 100%;
    padding: 24px 10px 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h4 {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 {
    font-size: 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 br {
    display: none;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 {
    justify-content: space-around;
    width: 100%;
    padding: 18px 8px 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    width: calc(175 / 431 * 100%);
    font-size: 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 span {
    padding: 4px 6px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
    top: 5px;
    justify-content: center;
    column-gap: 2px;
    width: calc(256 / 431 * 100%);
    font-size: 32px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    margin-right: 16px;
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div {
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
    width: 120px;
    margin-right: 6px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
    top: 10px;
    right: 40px;
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small > span {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
    column-gap: 14px;
    width: 100%;
    padding: 18px 14px 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div {
    justify-content: space-around;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
    width: 120px;
    padding: 6px;
    font-size: 15px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    margin-right: -30px;
    font-size: 34px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
    font-size: 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
    position: relative;
    top: 0;
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small span {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small br {
    display: block;
  }
  .fv-v2-1 .fv-bottom {
    flex-direction: column;
    width: 100%;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label {
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 13px 12px 11px 15px;
    border-radius: 0;
    background: url(../img/fv/fv-label-sp.png) no-repeat center/100% 100%;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main {
    justify-content: center;
    column-gap: 10px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    top: 5px;
    font-size: 24px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 18px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 26px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 40px;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-1 .fv-bottom ul {
    column-gap: 11px;
    margin-right: auto;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 130px;
    height: 130px;
    font-size: 20px;
  }
  .fv-v2-1 .fv-bottom ul li small {
    font-size: 10px;
  }
  .fv-v2-1 .fv-bottom > small {
    padding: 0 15px;
  }
}
@media screen and (max-width: 560px) {
  .fv-v2-1 {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .fv-v2-1 .fv-main {
    margin: 0 auto 25px;
  }
  .fv-v2-1 .fv-main .fv-txt {
    margin-bottom: 5px;
    font-size: 30px;
  }
  .fv-v2-1 .fv-main .fv-txt span {
    display: inline-block;
    margin: 0 -7px;
  }
  .fv-v2-1 .fv-main .fv-title {
    margin-bottom: 32px;
    font-size: 40px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(1) {
    top: 3px;
    margin: 0 2px;
    font-size: 60px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(2) {
    font-size: 44px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    width: calc(180 / 431 * 100%);
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
    justify-content: flex-start;
    width: calc(250 / 431 * 100%);
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    margin-right: 6px;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 110px;
    height: 110px;
    font-size: 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    margin-right: 0px;
  }
}
@media screen and (max-width: 490px) {
  .fv-v2-1 {
    padding-top: 30px;
    padding-bottom: 10px;
  }
  .fv-v2-1 .fv-main {
    margin: 0 auto 15px;
  }
  .fv-v2-1 .fv-main .fv-txt {
    font-size: 21px;
  }
  .fv-v2-1 .fv-main .fv-title {
    margin-bottom: 34px;
    font-size: 27px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(1) {
    font-size: 44px;
  }
  .fv-v2-1 .fv-main .fv-title span:nth-of-type(2) {
    font-size: 27px;
  }
  /* FVバナー */
  .fv-v2-1 .fv-main .fv-banner {
    margin: 0 auto 10px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 {
    padding: 13px 5px 4px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h4 {
    font-size: 14px;
    padding: 5px 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 {
    font-size: 17px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 10px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-1 h3 br {
    display: none;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    width: calc(180 / 431 * 100%);
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div {
    justify-content: flex-start;
    width: calc(250 / 431 * 100%);
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    margin-right: 6px;
    font-size: 23px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
    width: 100px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
    font-size: 10px;
    font-weight: 500;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small span {
    font-size: 12px;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 110px;
    height: 110px;
    font-size: 18px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
    column-gap: 14px;
    padding: 10px 5px 8px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
    width: 100px;
    padding: 6px;
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    font-size: 28px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
    font-size: 16px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
    position: relative;
    top: 0;
    font-size: 11px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small span {
    font-size: 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small br {
    display: block;
  }
  .fv-v2-1 .fv-bottom {
    flex-direction: column;
    width: 100%;
  }
  .fv-v2-1 .fv-bottom .fv-bottom-label {
    max-width: 400px;
    margin-bottom: 5px;
  }
  .fv-v2-1 .fv-bottom ul {
    column-gap: 6px;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 92px;
    height: 92px;
    font-size: 14px;
  }
  .fv-v2-1 .fv-bottom ul li small {
    font-size: 10px;
  }
  .fv-v2-1 .fv-bottom small {
    margin-top: 10px;
  }
  .fv-v2-1 .fv-bottom small br {
    display: block;
  }
}
@media (max-width: 430px) {
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 {
    padding: 10px 6px 12px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 {
    font-size: 15px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 h4 span {
    padding: 3px 5px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > span {
    margin-right: 3px;
    font-size: 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > span {
    top: 3px;
    width: 90px;
    margin-right: 0px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > div > div > div {
    font-size: 20px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-2 > small {
    top: 6px;
    right: 10px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 {
    column-gap: 14px;
    padding: 7px 5px 0;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div:nth-of-type(2) {
    position: relative;
    top: -12px;
    margin-bottom: -5px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div h4 {
    width: 92px;
    padding: 2px 0 3px;
    font-size: 11px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    font-size: 21px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > p > span {
    font-size: 14px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small {
    position: relative;
    top: 0;
    font-size: 8px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small span {
    font-size: 10px;
  }
  .fv-v2-1 .fv-main .fv-banner .fv-banner-blk-3 > div > small br {
    display: block;
  }
  .fv-v2-1 .fv-bottom ul li {
    width: 84px;
    height: 84px;
    font-size: 14px;
  }
}



/*==============================================================================
fv ver.02-2
============================================================================= */
.fv-v2-2 .dp-pc {
  display: block;
}
.fv-v2-2 .dp-sp {
  display: none;
}

.fv-v2-2 {
  width: 100%;
  padding-bottom: 48px;
  font-family: 'Helvetica', 'Arial', 'Noto Sans JP', sans-serif;
  background: #F1FBFE url(../img/fv/fv-bg-2.jpg) no-repeat top 100px center/cover;
}
.fv-v2-2 .fv-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #162680;
  height: 100px;
  margin: 0 auto;
  padding: 19px 10px 17px;
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 {
  width: calc(302 / 1014 * 100%);
  max-width: 302px;
  margin-right: 37px;
  text-align: center;
  color: #162680;
  border-right: 1px solid #5B67A6;
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 h4 {
  display: inline-block;
  margin-bottom: 7px;
  padding: 5px 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  background-color: #F5AE31;
  border-radius: 15px;
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 h3 {
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  line-height: calc(30 / 20);
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 h3 br {
  display: none;
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(1) {
  white-space: nowrap;
}
.fv-v2-2 .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
  position: relative;
  top: -5px;
  left: 2px;
  font-size: 16px;
  font-weight: 300;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(712 / 1014 * 100%);
  max-width: 702px;
  color: #fff;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 h4 {
  margin-right: 20px;
  font-size: 19px;
  font-weight: 700;
  text-align: center;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 h4 span {
  font-size: 25px;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 > div {
  display: flex;
  align-items: baseline;
  column-gap: 4px;
  font-size: 38px;
  font-weight: 700;
  color: #F5AE31;
  line-height: 1;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 > div > span {
  position: relative;
  top: 5px;
  font-size: 68px;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div {
  position: relative;
  margin-left: 5px;
  font-size: 26px;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span {
  position: absolute;
  top: -20px;
  left: -10px;
  width: 125%;
  font-size: 11px;
  font-weight: 400;
}
.fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span > span {
  font-size: 13px;
}

/* fv-2-main
/*********************************/
.fv-v2-2 .fv-main {
  width: calc(100% - 2*15px);
  max-width: 1014px;
  margin: 0 auto;
}
.fv-v2-2 .fv-main .fv-txt {
  margin-top: 42px;
  margin-bottom: 18px;
  font-size: 23px;
  font-weight: 700;
  color: #000;
}
.fv-v2-2 .fv-main .fv-txt br {
  display: none;
}
.fv-v2-2 .fv-main .fv-txt span {
  position: relative;
  top: 1px;
  font-size: 32px;
}
.fv-v2-2 .fv-main .fv-title {
  position: relative;
  display: flex;
  align-items: baseline;
  width: fit-content;
  margin-bottom: 5px;
  font-weight: 700;
  color: #162680;
  line-height: 1;
  letter-spacing: .05em;
}
.fv-v2-2 .fv-main .fv-title > span:nth-of-type(1) {
  font-size: 74px;
}
.fv-v2-2 .fv-main .fv-title > span:nth-of-type(2) {
  position: relative;
  top: 8px;
  font-size: 159px;
}
.fv-v2-2 .fv-main .fv-title > span:nth-of-type(3) {
  font-size: 45px;
}
.fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) {
  position: absolute;
  top: 20px;
  right: 0;
  font-size: 15px;
  font-weight: 400;
}
.fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) span {
  font-size: 23px;
}
.fv-v2-2 .fv-main .fv-title div {
  position: relative;
  font-size: 69px;
}
.fv-v2-2 .fv-main .fv-title div span {
  position: absolute;
  top: -30px;
  left: 4px;
  font-size: 22px;
}
.fv-v2-2 .fv-main .fv-title-2 {
  font-size: 42px;
  font-weight: 700;
}
.fv-v2-2 .fv-main .fv-title-2 span:nth-child(1) {
  margin: 0 5px 0 5px;
  font-size: 77px;
  color: #F78029;
}
.fv-v2-2 .fv-main .fv-title-2 span:nth-child(2) {
  color: #F78029;
}

/* bottom
/*********************************/
.fv-v2-2 .fv-bottom {
  position: relative;
  display: flex;
  flex-wrap: wrap;

  width: calc(100% - 2*15px);
  max-width: 1010px;
  margin: 0 auto;
}
.fv-v2-2 .fv-bottom .fv-bottom-label {
  position: relative;
  top: 0;
  left: 0;
  width: 410px;
  height: 74px;
  margin-top: 40px;
  margin-left: -15px;
  padding: 13px 12px 11px 15px;
  background-color: #F78029;
  border-radius: 0 5px 5px 0;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main img {
  width: 50px;
  height: 40px;
  margin-right: 8px;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
  position: relative;
  top: 7px;
  margin-right: 8px;
  font-size: 22px;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
  position: relative;
  top: -6px;
  font-size: 16px;
  font-weight: 300;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
  font-size: 28px;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
  position: relative;
  top: 2px;
  margin-right: 4px;
  font-size: 50px;
}
.fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(50vw - 505px);
  height: 74px;
  margin-left: calc(-50vw + 505px);
  background-color: #F78029;
}
.fv-v2-2 .fv-bottom ul {
  display: flex;
  align-items: center;
  column-gap: 9px;
  margin-left: auto;
}
.fv-v2-2 .fv-bottom ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 129px;
  height: 129px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  line-height: calc(25 / 20);
  background: linear-gradient(135deg, #1F2577, #202779 55%, #6C486B 75%, #EB9E2D 100%);
}
.fv-v2-2 .fv-bottom ul li small {
  position: relative;
  top: -5px;
  left: 2px;
  font-size: 9px;
  font-weight: 300;
}
.fv-v2-2 .fv-bottom small {
  margin: 20px auto 0;
  font-size: 10px;
  font-weight: 400;
}

@media screen and (min-width: 1040px) {
  .fv-v2-2 .fv-bottom .fv-bottom-label {
    margin-left: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 1040px) {
  .fv-v2-2 .fv-bottom .fv-bottom-label-bg {
    display: block;
  }
}
@media screen and (max-width: 1020px) {
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 14px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label {
    width: 376px;
    height: 70px;
    margin-top: 36px;
    margin-left: -15px;
    padding: 13px 12px 11px 15px;
    background-color: #F78029;
    border-radius: 0 5px 5px 0;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    font-size: 20px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 14px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 25px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 40px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-2 .fv-bottom ul {
    column-gap: 9px;
  }
  .fv-v2-2 .fv-bottom ul li {
    width: 117px;
    height: 117px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-bottom ul li small {
    font-size: 9px;
  }
  .fv-v2-2 .fv-bottom small {
    font-size: 10px;
  }
}
@media screen and (max-width: 920px) {
  .fv-v2-2 .fv-banner .fv-banner-blk-1 {
    margin-right: 3.5%;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h4 {
    font-size: 16px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 {
    font-size: 19px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 {
    margin-right: 20px;
    font-size: 17px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 span {
    font-size: 21px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div {
    column-gap: 4px;
    font-size: 34px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > span {
    top: 5px;
    font-size: 60px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div {
    margin-left: 5px;
    font-size: 22px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span {
    top: -20px;
    left: -17px;
    width: 140%;
    font-size: 10px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span > span {
    font-size: 12px;
  }
}
@media screen and (max-width: 900px) {
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 12px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label {
    width: 330px;
    height: 65px;
    margin-top: 30px;
    margin-left: -15px;
    padding: 13px 12px 11px 15px;
    background-color: #F78029;
    border-radius: 0 5px 5px 0;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    top: 5px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 12px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 20px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 30px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-2 .fv-bottom ul {
    column-gap: 9px;
  }
  .fv-v2-2 .fv-bottom ul li {
    width: 100px;
    height: 100px;
    font-size: 16px;
  }
  .fv-v2-2 .fv-bottom ul li small {
    font-size: 9px;
  }
  .fv-v2-2 .fv-bottom small {
    font-size: 10px;
  }
}
@media screen and (max-width: 800px) {
  .fv-v2-2 {
    padding-bottom: 48px;
    background: #F1FBFE url(../img/fv/fv-bg-2-sp.jpg) no-repeat top 100px center/cover;
  }
  .fv-v2-2 .fv-banner {
    height: 130px;
    padding: 17px 10px 17px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 {
    margin-right: 3.5%;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h4 {
    font-size: 16px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 {
    font-size: 19px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 br {
    display: block;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 {
    flex-direction: column;
    row-gap: 6px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 {
    margin-right: 0;
    font-size: 17px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 br {
    display: none;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 span {
    margin-left: 10px;
    font-size: 21px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div {
    column-gap: 4px;
    font-size: 34px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > span {
    top: 5px;
    font-size: 60px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div {
    margin-left: 5px;
    font-size: 22px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span {
    top: -20px;
    left: -17px;
    width: 140%;
    font-size: 10px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span > span {
    font-size: 12px;
  }

  .fv-v2-2 .fv-main {
    margin-bottom: 40px;
  }
  .fv-v2-2 .fv-main .fv-txt {
    margin-top: 42px;
    margin-bottom: 18px;
    font-size: 20px;
  }
  .fv-v2-2 .fv-main .fv-txt span {
    font-size: 29px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(1) {
    font-size: 68px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(2) {
    top: 8px;
    font-size: 130px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(3) {
    font-size: 40px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) {
    top: 20px;
    right: 0;
    font-size: 14px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) span {
    font-size: 21px;
  }
  .fv-v2-2 .fv-main .fv-title div {
    font-size: 60px;
  }
  .fv-v2-2 .fv-main .fv-title div span {
    top: -30px;
    left: 4px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-main .fv-title-2 {
    font-size: 38px;
  }
  .fv-v2-2 .fv-main .fv-title-2 span:nth-child(1) {
    margin: 0 5px 0 5px;
    font-size: 70px;
  }

  .fv-v2-2 .fv-bottom {
    flex-direction: column;
    width: 100%;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label {
    width: 100%;
    height: 74px;
    margin-top: 0;
    margin-left: 0;
    margin-bottom: 30px;
    padding: 13px 12px 11px 15px;
    border-radius: 0;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main {
    justify-content: center;
    column-gap: 10px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 50px;
    height: 40px;
    margin-right: 8px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    top: 5px;
    font-size: 24px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 18px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 26px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 40px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-2 .fv-bottom ul {
    column-gap: 11px;
    margin-right: auto;
  }
  .fv-v2-2 .fv-bottom ul li {
    width: 130px;
    height: 130px;
    font-size: 20px;
  }
  .fv-v2-2 .fv-bottom ul li small {
    font-size: 10px;
  }
  .fv-v2-2 .fv-bottom > small {
    padding: 0 15px;
  }
}
@media screen and (max-width: 620px) {
  .fv-v2-2 .fv-main {
    margin-bottom: 40px;
  }
  .fv-v2-2 .fv-main .fv-txt {
    margin-top: 42px;
    margin-bottom: 18px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-main .fv-txt span {
    font-size: 26px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(1) {
    font-size: 60px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(2) {
    top: 8px;
    font-size: 110px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(3) {
    font-size: 34px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) {
    top: 20px;
    right: 0;
    font-size: 12px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) span {
    font-size: 18px;
  }
  .fv-v2-2 .fv-main .fv-title div {
    font-size: 50px;
  }
  .fv-v2-2 .fv-main .fv-title div span {
    top: -20px;
    left: 4px;
    font-size: 14px;
  }
  .fv-v2-2 .fv-main .fv-title-2 {
    font-size: 34px;
  }
  .fv-v2-2 .fv-main .fv-title-2 span:nth-child(1) {
    margin: 0 5px 0 5px;
    font-size: 60px;
  }
}
  @media screen and (max-width: 560px) {
  .fv-v2-2 {
    padding-bottom: 22px;
  }
  .fv-v2-2 .fv-banner {
    height: 130px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 {
    margin-right: 1%;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h4 {
    font-size: 15px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 {
    font-size: 15px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 br {
    display: block;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 {
    flex-direction: column;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 {
    font-size: 15px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 span {
    font-size: 19px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div {
    column-gap: 4px;
    font-size: 30px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > span {
    top: 5px;
    font-size: 44px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div {
    margin-left: 5px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span {
    top: -16px;
    left: -14px;
    width: 160%;
    font-size: 10px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span > span {
    font-size: 11px;
  }
  .fv-v2-2 .fv-bottom ul li {
    width: 110px;
    height: 110px;
    font-size: 18px;
  }
  .fv-v2-2 .fv-main .fv-banner .fv-banner-blk-3 > div > p {
    margin-right: 0px;
  }
}
@media screen and (max-width: 490px) {
  .fv-v2-2 .fv-bottom {
    flex-direction: column;
    width: 100%;
  }

  .fv-v2-2 .fv-main {
    margin-bottom: 30px;
  }
  .fv-v2-2 .fv-main .fv-txt {
    margin-top: 42px;
    margin-bottom: 0;
    font-size: 17px;
  }
  .fv-v2-2 .fv-main .fv-txt  {
    font-size: 23px;
  }
  .fv-v2-2 .fv-main .fv-txt br {
    display: block;
  }
  .fv-v2-2 .fv-main .fv-txt span {
    top: 0;
    font-size: 23px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(1) {
    font-size: 38px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(2) {
    top: 8px;
    font-size: 81px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(3) {
    font-size: 25px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) {
    top: 10px;
    right: 0;
    font-size: 11px;
  }
  .fv-v2-2 .fv-main .fv-title > span:nth-of-type(4) span {
    font-size: 13px;
  }
  .fv-v2-2 .fv-main .fv-title div {
    font-size: 37px;
  }
  .fv-v2-2 .fv-main .fv-title div span {
    top: -14px;
    left: 2px;
    font-size: 11px;
  }
  .fv-v2-2 .fv-main .fv-title-2 {
    font-size: 22px;
  }
  .fv-v2-2 .fv-main .fv-title-2 span:nth-child(1) {
    position: relative;
    top: 3px;
    margin: 0 5px 0 5px;
    font-size: 44px;
  }

  .fv-v2-2 .fv-banner {
    height: 100px;
    padding: 17px 4px 17px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 {
    margin-right: 0;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h4 {
    font-size: 13px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 {
    font-size: 13px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 span:nth-of-type(2) {
    font-size: 10px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-1 h3 br {
    display: block;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 {
    flex-direction: column;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 {
    font-size: 12px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 h4 span {
    font-size: 16px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div {
    column-gap: 4px;
    font-size: 21px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > span {
    top: 2px;
    font-size: 37px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div {
    margin-left: 5px;
    font-size: 14px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span {
    top: -17px;
    left: -24px;
    width: 200%;
    font-size: 10px;
  }
  .fv-v2-2 .fv-banner .fv-banner-blk-2 > div > div > span > span {
    font-size: 10px;
  }

  .fv-v2-2 .fv-bottom .fv-bottom-label {
    height: 50px;
    margin-bottom: 16px;
    padding: 5px 10px 6px 10px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main {
    justify-content: center;
    column-gap: 10px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main img {
    width: 32px;
    height: 26px;
    margin-right: 8px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) {
    top: 5px;
    font-size: 15px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(1) span {
    font-size: 10px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) {
    font-size: 20px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-main p:nth-of-type(2) span {
    font-size: 38px;
  }
  .fv-v2-2 .fv-bottom .fv-bottom-label .fv-bottom-label-bg {
    width: calc(50vw - 505px);
    height: 74px;
    margin-left: calc(-50vw + 505px);
  }
  .fv-v2-2 .fv-bottom ul {
    column-gap: 6px;
  }
  .fv-v2-2 .fv-bottom ul li {
    width: 92px;
    height: 92px;
    font-size: 14px;
  }
  .fv-v2-2 .fv-bottom ul li small {
    font-size: 10px;
  }
  .fv-v2-2 .fv-bottom small {
    margin-top: 10px;
  }
  .fv-v2-2 .fv-bottom small br {
    display: block;
  }
}
@media (max-width: 430px) {
  .fv-v2-2 .fv-bottom ul li {
    width: 84px;
    height: 84px;
    font-size: 14px;
  }
}

/* ヘッダー15周年アイコン */
.header .icon-15th {
  position: absolute;
  top: 20px;
  right: 50%;
  transform: translate(calc(min(490px, 50vw - 15px)), 0%);
  width: 71.5px;
  height: 55px;
  object-fit: contain;
}
@media (max-width: 1100px) {
  /* .header .icon-15th {
    transform: translate(calc(50% + 45vw), 0%);
  } */
}
@media (max-width: 768px) {
  .header .header-link {
    margin-right: auto;
    margin-left: 0.5rem;
  }
  .header .icon-15th {
    top: 0.3rem;
    right: 0.3rem;
    transform: none;
    width: 1rem;
    height: auto;
  }
}



/* 20240610 のりかえ割・明瞭会計　追加
------------------------------------------- */

.norikae {
  max-width: 100%;
  }

.norikae img {
width: 100%;
}

.meiroukaikei {
  max-width: 100%;
  }

.meiroukaikei img {
width: 100%;
}





/* 20240711 FV注釈番号　追加
------------------------------------------- */
.fv-v2-1 .fv-main .fv-title small {
  position: relative;
  top: -55px;
  left: -19px;
  font-size: 12px;
}


@media screen and (max-width: 550px) {
.fv-v2-1 .fv-main .fv-title small {
  position: relative;
  top: -25px;
  left: -14px;
  font-size: 10px;
}
}