@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;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/*==============================================================================
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-inner.ma {
    margin: 0 auto;
  }
  .header-logo {
    width: 201px;
    margin: 0 25px 0 0;
  }
  .header-link {
    position: relative;
    z-index: 100;
    padding: 0 0 0 1em;
  }
  .header-txt01 {
    padding: 14px 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 {
    width: 1.5rem;
    margin: 0 0.23rem 0 0;
    padding: 0.15rem 0 0.05rem;
    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 {
    position: relative;
    z-index: 1;
    border-bottom: none;
  }
  .cta:first-of-type .cta-bg {
    border-bottom: none;
  }
  .cta-bg {
    background-color: #eff0f2;
    padding: 55px 0 60px;
    border-bottom: 10px solid #242a75;
  }
  .cta-ttl {
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl.small {
    font-size: 32px;
  }
  .cta-ttl .color {
    background: #f9b300;
  }
  .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: 910px;
    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(../image/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: -2px 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-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;
  }
}
@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-ttl {
    font-size: 0.44rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .cta-ttl.small {
    font-size: 0.36rem;
  }
  .cta-ttl .color {
    background: #f9b300;
  }
  .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: 100%;
    margin: 0.53rem auto 0;
  }
  .cta-btn {
    width: 2.2rem;
  }
  .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(../image/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.65rem;
  }
  .cta-kit-price {
    margin: 0 0 0.15rem 0.2rem;
    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 {
    width: 6.1rem;
    margin: 0 auto 0.78rem;
  }
  .cta-link-btn {
    width: 6.1rem;
  }
  .cta-link-btn:nth-of-type(2) {
    margin-top: 0.2rem;
  }
}
/*==============================================================================
fv
============================================================================= */
@media screen and (min-width: 769px) {
  .fv-bg {
    height: 619px;
  }
  .fv-inner {
    width: 1200px;
  }
  .fv-lead {
    margin: 20px 0 0 0;
  }
  .fv-btn01 {
    width: 340px;
    margin: 40px auto 0;
  }
  .fv-block01 {
    position: relative;
    width: 980px;
    margin: 0 auto;
  }
  .fv-box01 {
    position: absolute;
    bottom: 26px;
    left: 42%;
    width: 182px;
    height: 18px;
  }
  .fv-pagination {
    position: absolute;
    left: auto;
    bottom: 0;
    right: 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: -550px;
    width: 50px;
    height: 50px;
    margin: 0;
    background: url(../image/fv_icon01_pc.webp) no-repeat center/contain;
  }
  .fv-btn02::after {
    content: none;
  }
  .fv-btn03 {
    position: absolute;
    top: -280px;
    right: -400px;
    width: 50px;
    height: 50px;
    margin: 0;
    background: url(../image/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-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-slide01 .fv-bg {
    padding: 26px 0 46px;
    background: url(../image/fv_slide_bg01_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide01 .fv-inner {
    position: relative;
  }
  .fv-slide01 .fv-wrap {
    width: 516px;
    margin-left: 90px;
  }
  .fv-slide01 .fv-catch {
    padding: 0 0 0 165px;
    color: #fff;
    margin: 0;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.3;
  }
  .fv-slide01 .fv-catch .large {
    font-size: 35px;
  }
  .fv-slide01 .fv-catch .deco {
    font-size: 42px;
    color: #f7ab00;
  }
  .fv-slide01 .fv-lead {
    position: relative;
    width: 100%;
    color: #fff;
    font-size: 53px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0em;
    text-align: center;
    margin-top: 0;
  }
  .fv-slide01 .fv-lead .deco {
    color: #f7ab00;
    font-size: 100px;
    line-height: 0.8;
  }
  .fv-slide01 .fv-lead .large {
    font-size: 85px;
  }
  .fv-slide01 .fv-lead .small {
    font-size: 32px;
  }
  .fv-slide01 .fv-lead .asterisk {
    position: absolute;
    top: 15px;
    right: 135px;
    font-weight: normal;
    color: #fff;
    font-size: 16px;
    line-height: 1;
  }
  .fv-slide01 .fv-lead .asterisk02 {
    right: 146px;
  }
  .fv-slide01 .fv-lead .deco02 {
    font-size: 100px;
    letter-spacing: -0.05em;
  }
  .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 {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 431px;
    margin: 20px auto 0;
  }
  .fv-slide01 .fv-head {
    position: relative;
    z-index: 1;
    margin: 46px 0 0;
    width: 516px;
    padding: 10px 0 30px;
    background: #242a75;
  }
  .fv-slide01 .fv-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../image/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: 900px;
    bottom: -65px;
    right: -20px;
  }
  .fv-slide01 .fv-slide-btn {
    width: 129px;
  }
  .fv-slide01 .fv-slide-btn:hover {
    cursor: pointer;
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .fv-slide01 .fv-subttl {
    position: absolute;
    width: 141px;
    top: -24px;
    left: 18px;
  }
  .fv-slide01 .fv-btn01 {
    left: 600px;
  }
  .fv-slide01 .fv-btn04 {
    left: 600px;
  }
  .fv-slide03 .fv-bg {
    padding: 26px 0 46px;
    background: url(../image/fv_slide_bg03_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide03 .fv-inner {
    position: relative;
  }
  .fv-slide03 .fv-wrap {
    width: 481px;
    margin-left: 90px;
  }
  .fv-slide03 .fv-catch {
    margin: 40px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide03 .fv-lead {
    position: relative;
    width: 481px;
    padding: 22px 0 25px 35px;
    background: #242a75;
    color: #fff;
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin: 20px auto;
  }
  .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-item {
    display: table;
    width: 129px;
    height: 129px;
    background: url(../image/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-slide-tsuchiura .fv-bg {
    padding: 26px 0 46px;
    background: url(../image/fv_slide_bg03_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide-tsuchiura .fv-inner {
    position: relative;
  }
  .fv-slide-tsuchiura .fv-wrap {
    width: 481px;
    margin-left: 90px;
  }
  .fv-slide-tsuchiura .fv-catch {
    margin: 40px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide-tsuchiura .fv-catch .compact {
    font-size: 20px;
  }
  .fv-slide-tsuchiura .fv-catch .medium {
    font-size: 32px;
  }
  .fv-slide-tsuchiura .fv-lead {
    position: relative;
    width: 505px;
    padding: 20px;
    background: #242a75;
    color: #fff;
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin: 20px auto;
    font-weight: bold;
  }
  .fv-slide-tsuchiura .fv-lead .deco {
    color: #f7ab00;
    font-size: 68px;
    font-weight: bold;
  }
  .fv-slide-tsuchiura .fv-list {
    display: flex;
    justify-content: center;
    margin: 50px 0 0;
  }
  .fv-slide-tsuchiura .fv-item {
    position: relative;
    display: table;
    width: 129px;
    height: 129px;
    background: url(../image/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 1.27;
    letter-spacing: 0.04em;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(1) .station {
    display: inline-block;
    font-size: 16px;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(2) {
    margin: 0 20px;
  }
  .fv-slide-tsuchiura .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-slide-tsuchiura .fv-item .num {
    font-size: 31px;
  }
  .fv-slide-tsuchiura .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide-tsuchiura .fv-item .comment {
    position: absolute;
    display: block;
    width: 90px;
    background: #fff;
    transform: skewX(-10deg);
    top: -3px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px;
    line-height: 1;
    font-size: 14px;
  }
  .fv-slide-tsuchiura .fv-item .comment span {
    display: inline-block;
    transform: skewX(10deg);
    font-size: 14px;
    color: #242a75;
    font-weight: bold;
    line-height: 1;
  }
  .fv-slide-tsuchiura .fv-item .comment::before {
    position: absolute;
    bottom: 1px;
    right: 20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-color: #fff transparent transparent transparent;
    transform: translate(0, 100%) skewX(10deg);
    content: "";
  }
  .fv-slide04 .fv-bg {
    padding: 26px 0 46px;
    background: url(../image/fv_slide_bg04_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide04 .fv-inner {
    position: relative;
  }
  .fv-slide04 .fv-wrap {
    width: 500px;
  }
  .fv-slide04 .fv-catch {
    margin: 80px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide04 .fv-lead {
    position: relative;
    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-item {
    display: table;
    width: 145px;
    height: 133px;
    background: url(../image/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.04em;
  }
  .fv-slide04 .fv-item .price {
    font-size: 28px;
    letter-spacing: 0.02em;
  }
  .fv-slide04 .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide04 .fv-item .month {
    display: inline-block;
    margin: 0 0 5px;
  }
  .fv-slide05 .fv-bg {
    padding: 26px 0 46px;
    background: url(../image/fv_slide_bg05_pc.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .fv-slide05 .fv-inner {
    position: relative;
  }
  .fv-slide05 .fv-wrap {
    width: 505px;
    margin-left: 90px;
  }
  .fv-slide05 .fv-catch {
    margin: 40px 0 0;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide05 .fv-catch .dot {
    position: relative;
  }
  .fv-slide05 .fv-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-catch .small {
    font-size: 29px;
  }
  .fv-slide05 .fv-catch .mini {
    font-size: 25px;
  }
  .fv-slide05 .fv-lead {
    position: relative;
    padding: 45px 0 50px 25px;
    background: #242a75;
    color: #fff;
    font-size: 31px;
    line-height: 1;
    letter-spacing: 0.02em;
    font-weight: bold;
  }
  .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;
    width: 334px;
    margin: 15px auto 0;
  }
  .fv-slide05 .fv-item {
    display: table;
    width: 129px;
    height: 129px;
    background: url(../image/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;
  }
}
@media screen and (max-width: 768px) {
  .fv {
    background: #fff;
  }
  .fv-wrap {
    height: 11rem;
  }
  .fv-block01 {
    position: relative;
    width: 7.5rem;
  }
  .fv-box01 {
    position: absolute;
    bottom: -0.2rem;
    left: 44%;
    width: 3.2rem;
    height: 1rem;
    z-index: 100;
  }
  .fv-btn02 {
    position: absolute;
    top: -5.3rem;
    left: -3.55rem;
    width: 1rem;
    height: 1rem;
    margin: 0;
    background: url(../image/fv_icon01_sp.webp) no-repeat center/contain;
  }
  .fv-btn02::after {
    content: none;
  }
  .fv-btn03 {
    position: absolute;
    top: -5.3rem;
    right: -1.25rem;
    width: 1rem;
    height: 1rem;
    margin: 0;
    background: url(../image/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 .fv-btn01 {
    width: 4.58rem;
    margin: 0.41rem auto 0;
  }
  .fv .fv-btn04 {
    width: 4.58rem;
    margin: 0.1rem auto 0;
  }
  .fv-slide01 .fv-wrap {
    position: relative;
    background: url(../image/fv_slide_bg01_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.65rem 0 0.45rem;
  }
  .fv-slide01 .fv-catch {
    color: #fff;
    margin: 0;
    font-size: 0.48rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide01 .fv-catch .large {
    font-size: 0.6rem;
  }
  .fv-slide01 .fv-catch .deco {
    font-size: 0.6rem;
    color: #f7ab00;
  }
  .fv-slide01 .fv-lead {
    position: relative;
    padding: 0;
    width: 100%;
    color: #fff;
    font-size: 0.72rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .fv-slide01 .fv-lead .deco {
    color: #f7ab00;
    font-size: 1.35rem;
    line-height: 0.8;
  }
  .fv-slide01 .fv-lead .deco02 {
    font-size: 1.1rem;
    letter-spacing: -0.05em;
  }
  .fv-slide01 .fv-lead .large {
    font-size: 1.15rem;
  }
  .fv-slide01 .fv-lead .small {
    font-size: 0.44rem;
  }
  .fv-slide01 .fv-lead .asterisk {
    position: absolute;
    top: 0.2rem;
    right: 1.9rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.16rem;
    line-height: 1;
  }
  .fv-slide01 .fv-lead::before {
    content: none;
  }
  .fv-slide01 .fv-note {
    margin: 0.12rem 0 0 0.38rem;
    font-size: 0.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
  }
  .fv-slide01 .fv-list {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 2.85rem auto 0;
  }
  .fv-slide01 .fv-head {
    position: relative;
    margin: 0 auto;
    width: 6.9rem;
    padding: 0.9rem 0 0.25rem;
    background: #242a75;
  }
  .fv-slide01 .fv-slide-btn {
    width: 2.2rem;
  }
  .fv-slide01 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../image/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 {
    width: 4.58rem;
    margin: 0.45rem auto 0;
  }
  .fv-slide01 .fv-pic01 {
    position: absolute;
    width: 7.5rem;
    bottom: 0.95rem;
    left: 0;
  }
  .fv-slide01 .fv-subttl {
    position: absolute;
    width: 4.64rem;
    top: -0.35rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .fv-slide03 .fv-wrap {
    position: relative;
    background: url(../image/fv_slide_bg03_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.5rem 0 0.9rem;
  }
  .fv-slide03 .fv-catch {
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide03 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.2rem auto 0;
    padding: 0.35rem 0 0.35rem 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: center;
    margin: 3.4rem auto 0;
    z-index: 1;
  }
  .fv-slide03 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../image/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-slide-tsuchiura .fv-wrap {
    position: relative;
    background: url(../image/fv_slide_bg03_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.5rem 0 0.9rem;
  }
  .fv-slide-tsuchiura .fv-catch {
    margin: 0.5rem 0 0 0;
    font-size: 0.45rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .fv-slide-tsuchiura .fv-catch .compact {
    font-size: 0.3rem;
    line-height: 1.8;
  }
  .fv-slide-tsuchiura .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.5rem auto 0;
    padding: 0.35rem 0.2rem;
    background: #242a75;
    color: #fff;
    font-size: 0.8rem;
    line-height: 1.19;
    letter-spacing: 0.04em;
  }
  .fv-slide-tsuchiura .fv-lead .deco {
    color: #f7ab00;
    font-size: 0.9rem;
    font-weight: bold;
  }
  .fv-slide-tsuchiura .fv-list {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 3.4rem auto 0;
    z-index: 1;
  }
  .fv-slide-tsuchiura .fv-item {
    position: relative;
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../image/fv_bg01.webp) no-repeat center/contain;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1;
    font-size: 0.38rem;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(1) {
    line-height: 1.29;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(1) .station {
    font-size: 0.24rem;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(1) .num {
    font-size: 0.43rem;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(2) {
    margin: 0 0.2rem;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(2) .station {
    font-size: 0.24rem;
    line-height: 1.1;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(2) .num {
    font-size: 0.43rem;
  }
  .fv-slide-tsuchiura .fv-item:nth-of-type(2) .foot {
    display: inline-block;
    margin: 0.03rem 0 0;
    font-size: 0.38rem;
  }
  .fv-slide-tsuchiura .fv-item p {
    display: table-cell;
    vertical-align: middle;
  }
  .fv-slide-tsuchiura .fv-item .comment {
    position: absolute;
    width: 1.6rem;
    background: #fff;
    transform: skewX(-10deg);
    top: -0.1rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 0.05rem 0.1rem;
    line-height: 1;
    font-size: 0.24rem;
  }
  .fv-slide-tsuchiura .fv-item .comment span {
    display: inline-block;
    transform: skewX(10deg);
    font-size: 0.24rem;
    color: #242a75;
    font-weight: bold;
    line-height: 1;
  }
  .fv-slide-tsuchiura .fv-item .comment::before {
    position: absolute;
    bottom: 0.01rem;
    right: 0.2rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.15rem 0.15rem 0 0;
    border-color: #fff transparent transparent transparent;
    transform: translate(0, 100%) skewX(10deg);
    content: "";
  }
  .fv-slide-tsuchiura .fv-btn01 {
    width: 4.58rem;
    margin: 0.42rem auto 0;
  }
  .fv-slide04 .fv-wrap {
    position: relative;
    background: url(../image/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(../image/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;
    display: inline-block;
    line-height: 1.1;
  }
  .fv-slide04 .fv-item .month {
    display: inline-block;
    margin: 0 0 0.05rem;
  }
  .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(../image/fv_slide_bg05_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 0.4rem 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-catch .dot {
    position: relative;
  }
  .fv-slide05 .fv-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-catch .large {
    font-size: 0.6rem;
  }
  .fv-slide05 .fv-catch .small, .fv-slide05 .fv-catch .mini {
    font-size: 0.38rem;
  }
  .fv-slide05 .fv-lead {
    position: relative;
    width: 6.8rem;
    margin: 0.2rem auto 0;
    padding: 0.7rem 0;
    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: center;
    margin: 3.4rem auto 0;
    z-index: 1;
  }
  .fv-slide05 .fv-item {
    display: table;
    width: 2.11rem;
    height: 1.9rem;
    background: url(../image/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;
  }
}
/*===============================================================================
point
===============================================================================*/
@media screen and (min-width: 769px) {
  .point-bg {
    margin: -10px 0 0;
    padding: 105px 0 83px;
    background: url(../image/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(../image/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;
  }
  .point-y .point-ttl {
    font-size: 46px;
  }
  .point-y .point-ttl .num {
    font-size: 65px;
  }
  .point-y .point-ttl .deco02 {
    font-size: 50%;
    vertical-align: super;
  }
  .point-y .point-ttl .small {
    display: block;
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    text-align: right;
    margin-top: 15px;
    margin-right: 1.5em;
  }
  .point-y .point-ttl .small:hover {
    transition: 0.3s;
    opacity: 0.8;
  }
  .point-y .point-ttl .small .line {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .point-y .point-ttl::before {
    width: 910px;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  .point-bg {
    padding: 0.85rem 0;
    background: url(../image/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(../image/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;
  }
  .point-y .point-ttl {
    font-size: 0.47rem;
  }
  .point-y .point-ttl .deco02 {
    font-size: 50%;
    vertical-align: super;
  }
  .point-y .point-ttl .small {
    display: block;
    font-size: 0.2rem;
    font-weight: normal;
    line-height: 1;
    text-align: right;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    margin-top: 0.1rem;
    margin-right: 3em;
  }
  .point-y .point-ttl::before {
    width: 6rem;
    background-size: cover;
  }
}
/*===============================================================================
explan
===============================================================================*/
@media screen and (min-width: 769px) {
  .explan-bg {
    padding: 64px 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(../image/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 230px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .explan-ttl {
    position: relative;
    z-index: 2;
    margin: 50px 0 0 64px;
    font-size: 59px;
    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: -404px;
    right: -169px;
    width: 1171px;
  }
}
@media screen and (max-width: 768px) {
  .explan-bg {
    position: relative;
    padding: 0.7rem 0 2.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(../image/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.2rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .explan-ttl {
    position: relative;
    z-index: 2;
    margin: 0.8rem 0 0 0;
    font-size: 0.53rem;
    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.5rem;
    left: 0;
    width: 7.5rem;
  }
}
/*==============================================================================
medicine
============================================================================= */
@media screen and (min-width: 769px) {
  .medicine {
    position: relative;
    z-index: 2;
    background-color: #e7e7ec;
  }
  .medicine-bg01 {
    padding: 45px 0 55px;
    background: url(../image/medicine_bg01_pc.webp) no-repeat center/cover;
  }
  .medicine-inner01 {
    position: relative;
  }
  .medicine-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;
  }
  .medicine-lead {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 456px;
    margin: 0 auto;
  }
  .medicine-txt01 {
    color: #fff;
    font-size: 38px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine-txt01 .large {
    font-size: 56px;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine-ttl {
    margin: 15px 0 0;
    color: #fff;
    font-size: 66px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine-ttl .normal {
    font-weight: normal;
  }
  .medicine-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 92px 0 77px;
  }
  .medicine-list {
    display: flex;
    justify-content: space-between;
  }
  .medicine-item {
    width: 316px;
  }
  .medicine-head {
    position: relative;
    height: 235px;
    background-color: #242a75;
    padding: 55px 20px 35px;
    border-radius: 20px 20px 0 0;
  }
  .medicine-pic {
    width: 100px;
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .medicine-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;
  }
  .medicine-subttl .small {
    display: block;
    margin: 5px 0 0;
    font-size: 18px;
  }
  .medicine-price {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin: 25px auto 0;
    color: #fff;
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine-price .century {
    font-size: 60px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine-price .tax {
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 22px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }
  .medicine-foot {
    position: relative;
    padding: 25px 17px 30px 20px;
    background: #fff;
    border-right: #242a75 4px solid;
    border-left: #242a75 4px solid;
  }
  .medicine-foot dl {
    background: #eaebf0;
    margin: 20px 0 0;
    padding: 20px 0 25px 10px;
  }
  .medicine-foot dt {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine-foot dd {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine-foot dd .tax {
    font-size: 12px;
  }
  .medicine-generic_ttl {
    font-size: 16px;
    margin: 15px 0 10px 0;
  }
  .medicine-generic_ttl_top {
    margin: 0 0 10px 0;
  }
  .medicine-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine-block01 + .medicine-block01 {
    margin: 15px 0 0;
  }
  .medicine-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: "…";
  }
  .medicine-foot-txt01 {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.12em;
    font-feature-settings: "palt";
  }
  .medicine-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine-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;
  }
  .medicine-link02:hover {
    opacity: 0.8;
    cursor: pointer;
  }
  .medicine-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;
  }
  .medicine-btn:hover {
    opacity: 0.8;
  }
  .medicine-link {
    width: 448px;
  }
  .medicine-link a {
    position: relative;
    display: block;
    background: #fff;
    border-radius: 10px;
    color: #242a75;
    font-size: 22px;
    font-weight: bold;
    line-height: 0.8;
    text-align: center;
    letter-spacing: 0.04em;
    border: 2px solid #242a75;
    box-shadow: 0 3px 0 #242a75;
    padding: 13px 0 12px;
    transition: opacity 0.3s;
  }
  .medicine-link a span {
    font-size: 14px;
  }
  .medicine-link a::before {
    position: absolute;
    top: 50%;
    right: 35px;
    width: 20px;
    height: 15px;
    background: url(../image/medicine_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine-link a:hover {
    opacity: 0.8;
  }
  .medicine .btn-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 60px auto;
  }
  .medicine .explan-btn {
    width: 448px;
    font-size: 0;
    margin-right: 36px;
    cursor: pointer;
  }
  .medicine .explan-btn:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .medicine .aga {
    margin: 35px 0 0;
  }
  .medicine .aga-bg {
    background: url(../image/aga_bg01_pc.webp) no-repeat center/contain;
    padding: 37px 0 37px 37px;
  }
  .medicine .aga-container {
    display: flex;
  }
  .medicine .aga .left {
    width: 205px;
    margin-right: 24px;
  }
  .medicine .aga .right {
    width: 448px;
  }
  .medicine .aga-txt {
    font-size: 39px;
    color: #242a75;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.04em;
  }
  .medicine .aga-txt .middle {
    font-size: 32px;
  }
  .medicine .aga-txt .small {
    font-size: 29px;
  }
  .medicine .aga-btn {
    cursor: pointer;
    width: 448px;
    margin-top: 20px;
  }
  .medicine .aga-btn:hover {
    opacity: 0.8;
  }
  .medicine02 {
    position: relative;
    z-index: 2;
    background-color: #e7e8ed;
  }
  .medicine02-bg01 {
    padding: 45px 0 55px;
    background: url(../image/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: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 456px;
    margin: 0 auto;
  }
  .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;
  }
}
@media screen and (max-width: 768px) {
  .medicine {
    position: relative;
    z-index: 2;
    background-color: #e7e7ec;
  }
  .medicine-bg01 {
    padding: 0.45rem 0 0.55rem;
    background: url(../image/medicine_bg01_pc.webp) no-repeat center/cover;
  }
  .medicine-inner01 {
    position: relative;
  }
  .medicine-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;
  }
  .medicine-lead {
    position: absolute;
    top: -0.2rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 4.56rem;
    margin: 0 auto;
  }
  .medicine-txt01 {
    color: #fff;
    font-size: 0.38rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine-txt01 .price {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine-txt01 .large {
    font-size: 0.56rem;
    font-family: "Arial";
    letter-spacing: -0.04em;
  }
  .medicine-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;
  }
  .medicine-ttl .normal {
    font-weight: normal;
  }
  .medicine-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 0.55rem 0 0;
  }
  .medicine-item + .medicine-item {
    margin: 0.43rem 0 0;
  }
  .medicine-item:nth-of-type(3) .medicine-subttl {
    padding: 0 0 0.3rem;
  }
  .medicine-item:nth-of-type(3) .medicine-block01::before {
    left: 1.9rem;
    bottom: -0.08rem;
  }
  .medicine-head {
    position: relative;
    background-color: #242a75;
    padding: 0.3rem 0 0.25rem 0.4rem;
    border-radius: 0.2rem 0.2rem 0 0;
  }
  .medicine-pic {
    width: 2.21rem;
    position: absolute;
    top: 50%;
    right: 0.25rem;
    transform: translate(0, -50%);
  }
  .medicine-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;
  }
  .medicine-subttl .small {
    display: block;
    margin: 0.15rem 0 0 -0.5em;
    font-size: 0.3rem;
  }
  .medicine-price {
    position: relative;
    display: inline-block;
    margin: 0.3rem 0 0;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .medicine-price .century {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine-price .tax {
    position: absolute;
    top: 0rem;
    right: 0.1rem;
    display: inline-block;
    font-size: 0.12rem;
    letter-spacing: 0.04em;
  }
  .medicine-price .tax02 {
    top: -0.15rem;
  }
  .medicine-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;
  }
  .medicine-foot dl {
    background: #eaebf0;
    margin: 0.35rem 0 0;
    padding: 0.38rem 0.4rem 0.45rem 0.6rem;
  }
  .medicine-foot dt {
    position: relative;
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine-foot dd {
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine-generic_ttl {
    font-size: 0.28rem;
    margin: 0.25rem 0 0.15rem 0;
  }
  .medicine-generic_ttl_top {
    margin: 0 0 0.15rem 0;
  }
  .medicine-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine-block01 + .medicine-block01 {
    margin: 0.2rem 0 0;
  }
  .medicine-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: "…";
  }
  .medicine-foot-txt01 {
    padding: 0 0.1rem;
    font-size: 0.28rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    font-feature-settings: "palt";
  }
  .medicine-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine-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;
  }
  .medicine-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;
  }
  .medicine-link {
    position: relative;
    width: 6.1rem;
    margin: 0.33rem auto 0;
  }
  .medicine-link::before {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    width: 0.2rem;
    height: 0.15rem;
    background: url(../image/medicine_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine-link a {
    display: block;
    background: #fff;
    border-radius: 0.2rem;
    color: #242a75;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 0.8;
    text-align: center;
    letter-spacing: 0.04em;
    border: 1px solid #242a75;
    box-shadow: 0 0.05rem 0 #242a75;
    padding: 0.25rem 0 0.16rem;
  }
  .medicine-link a span {
    font-size: 0.2rem;
  }
  .medicine .explan-btn {
    width: 6.1rem;
    margin: 0.33rem auto 0;
  }
  .medicine .aga {
    margin: 0.59rem 0 0;
  }
  .medicine .aga-bg {
    background: url(../image/aga_bg01_sp.webp) no-repeat center/contain;
    padding: 0.27rem 0 0.49rem;
  }
  .medicine .aga-container {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .medicine .aga .left {
    width: 1.92rem;
    margin-left: 0.17rem;
  }
  .medicine .aga-txt {
    font-size: 0.45rem;
    color: #242a75;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.04em;
  }
  .medicine .aga-txt .middle {
    font-size: 0.37rem;
  }
  .medicine .aga-txt .small {
    font-size: 0.33rem;
  }
  .medicine .aga-btn {
    cursor: pointer;
    width: 6.1rem;
    margin: 0.14rem auto 0;
  }
  .medicine02 {
    position: relative;
    z-index: 2;
    background-color: #e7e8ed;
  }
  .medicine02-bg01 {
    margin-top: 1.5rem;
    padding: 0.45rem 0 0.55rem;
    background: url(../image/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;
  }
  .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;
  }
}
/*==============================================================================
challenge
============================================================================= */
@media screen and (min-width: 769px) {
  .challenge-bg {
    padding: 0 0 75px;
    background-color: #e7e8ed;
  }
  .challenge dl:not(:first-of-type) {
    margin: 50px 0 0;
  }
  .challenge dt {
    padding: 25px 0;
    background: url(../image/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;
  }
  .challenge dt .normal {
    font-weight: normal;
  }
  .challenge-block01 {
    background: #fff;
    border: 4px solid #242a75;
    border-top: none;
  }
  .challenge-block02 {
    background: #fff;
    border: 4px solid #242a75;
    border-top: none;
    padding: 130px 0 0;
  }
  .challenge-list {
    display: flex;
    justify-content: space-between;
    padding: 50px 45px 65px;
  }
  .challenge-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;
  }
  .challenge-foot01 {
    padding: 13px 0 5px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge-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;
  }
  .challenge-pic01 {
    width: 424px;
    margin: 0 auto;
  }
  .challenge-block03 {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 832px;
    margin: -20px auto 0;
    padding: 0 0 45px;
  }
  .challenge-head02 {
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .challenge-head02 .deco {
    color: #168dc5;
  }
  .challenge-head03 {
    padding: 15px 0 0;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .challenge-head03 .deco {
    color: #168dc5;
  }
  .challenge-head03 .small {
    font-size: 21px;
  }
  .challenge-chart {
    margin: 25px auto 0;
    width: 405px;
  }
  .challenge-txt01 {
    font-size: 12px;
    text-align: right;
    font-weight: 500;
    margin: 15px 0 0;
  }
  .challenge-award {
    width: 372px;
    margin: 45px auto 0;
  }
  .challenge-caution01 {
    position: relative;
    color: #ff3939;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-caution01 .large {
    font-size: 40px;
    font-weight: bold;
  }
  .challenge-caution01::before {
    position: absolute;
    top: -25px;
    left: 50%;
    width: 699px;
    height: 69px;
    background: url(../image/challenge_icon01_pc.webp) no-repeat center/cover;
    transform: translate(-50%, -100%);
    content: "";
  }
  .challenge-caution02 {
    position: relative;
    width: 832px;
    margin: 55px auto 0;
    padding: 35px 0;
    background-color: #0b142b;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.43;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-caution02 .deco {
    color: #f7ab00;
  }
  .challenge-caution02::before {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -20px;
    left: -35px;
    width: 139px;
    height: 139px;
    border-radius: 50%;
    background: #f7ab00;
    color: #0b142b;
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
    transform: rotate(-18deg);
    content: "しかも";
  }
  .challenge-txt02 {
    width: 700px;
    margin: 70px auto 0;
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    border-top: 1px solid #aeb1b8;
  }
  .challenge-txt02 span {
    display: block;
    background: #fff;
    width: 155px;
    margin: 0 auto;
    transform: translate(0, -50%);
  }
  .challenge-ttl {
    position: relative;
    z-index: 1;
    margin: 40px 0 0;
    font-size: 33px;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-ttl .deco {
    color: #168dc5;
    font-size: 63px;
  }
  .challenge-pic02 {
    margin: -130px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .challenge-bg {
    padding: 1.4rem 0 1rem;
    background-color: #e7e8ed;
  }
  .challenge dl {
    position: relative;
    z-index: 2;
  }
  .challenge dl:not(:first-of-type) {
    margin: 1.2rem 0 0;
  }
  .challenge dt {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5.57rem;
    margin: 0 auto;
    padding: 0.25rem 0;
    background: url(../image/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;
  }
  .challenge dt .normal {
    font-weight: normal;
  }
  .challenge-block01 {
    background: #fff;
    border: 0.04rem solid #242a75;
  }
  .challenge-block02 {
    padding: 1.6rem 0 0;
    background: #fff;
    border: 0.04rem solid #242a75;
  }
  .challenge-list {
    padding: 1.1rem 0.75rem 0.65rem;
  }
  .challenge-item + .challenge-item {
    margin: 0.7rem 0 0;
  }
  .challenge-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;
  }
  .challenge-foot01 {
    padding: 0.2rem 0 0;
    font-size: 0.33rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge-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;
  }
  .challenge-block03 {
    position: relative;
    padding: 0 0 0.5rem;
  }
  .challenge-head02 {
    margin: 0.4rem 0 0;
    font-size: 0.36rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .challenge-head02 .deco {
    color: #168dc5;
  }
  .challenge-head02 .small {
    font-size: 0.31rem;
  }
  .challenge-head03 {
    margin: 0.45rem 0 0;
    font-size: 0.36rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.4;
  }
  .challenge-head03 .deco {
    color: #168dc5;
  }
  .challenge-chart {
    margin: 0.3rem auto 0;
    width: 6.15rem;
  }
  .challenge-txt01 {
    margin: 0.3rem 0 0;
    font-size: 0.18rem;
    text-align: center;
  }
  .challenge-award {
    width: 3.8rem;
    margin: 0.2rem auto 0;
  }
  .challenge-caution01 {
    position: relative;
    color: #ff3939;
    font-size: 0.34rem;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-caution01 .large {
    display: inline-block;
    line-height: 1;
    font-weight: bold;
    font-size: 0.4rem;
  }
  .challenge-caution01::before {
    position: absolute;
    top: -0.2rem;
    left: 50%;
    width: 5.26rem;
    height: 0.69rem;
    background: url(../image/challenge_icon01_sp.webp) no-repeat center/contain;
    transform: translate(-50%, -100%);
    content: "";
  }
  .challenge-caution02 {
    position: relative;
    width: 6.2rem;
    margin: 0.6rem auto 0;
    padding: 0.35rem 0 0.4rem;
    background-color: #0b142b;
    color: #fff;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-caution02 .deco {
    color: #f7ab00;
  }
  .challenge-caution02::before {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -0.7rem;
    left: -0.17rem;
    width: 1.39rem;
    height: 1.39rem;
    border-radius: 50%;
    background: #f7ab00;
    transform: rotate(-18deg);
    color: #0b142b;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "しかも";
  }
  .challenge-txt02 {
    width: 5.25rem;
    margin: 0.7rem auto 0;
    border-top: 1px solid #aeb1b8;
  }
  .challenge-txt02 span {
    display: block;
    width: 1.75rem;
    margin: 0 auto;
    background-color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    transform: translate(0, -50%);
  }
  .challenge-ttl {
    position: relative;
    z-index: 1;
    margin: 0.65rem 0 0;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1.36;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .challenge-ttl .deco {
    display: inline-block;
    line-height: 1;
    color: #168dc5;
    font-size: 0.53rem;
  }
  .challenge-pic02 {
    width: 100%;
    margin: -1.2rem auto 0;
  }
}
/*==============================================================================
choose
============================================================================= */
@media screen and (min-width: 769px) {
  .choose-bg {
    padding: 34px 0 30px;
    background: url(../image/choose_bg01.webp) no-repeat center/cover;
  }
  .choose-lead {
    width: 459px;
    margin: 0 auto;
  }
  .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: #fff;
    font-size: 50px;
  }
  .choose-block {
    position: relative;
    width: 720px;
    margin: 30px 0 0;
    padding: 30px 0 30px 104px;
    background: url(../image/choose_bg02.webp) no-repeat center/contain;
    left: 184px;
  }
  .choose-block.ma {
    margin: 30px auto 0;
    left: inherit;
  }
  .choose-txt01 {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.48;
    letter-spacing: 0.02em;
  }
  .choose-txt0102 {
    line-height: 1.2;
  }
  .choose-txt01 .deco {
    font-size: 32px;
    color: #242a75;
  }
  .choose-txt01 .deco02 {
    font-size: 30px;
  }
  .choose-txt01.small {
    padding: 10px 0;
    letter-spacing: 0;
    font-size: 26px;
  }
  .choose-txt01.small .deco {
    font-size: 30px;
  }
  .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: -180px;
    width: 265px;
  }
}
@media screen and (max-width: 768px) {
  .choose-bg {
    position: relative;
    padding: 0.39rem 0 0.65rem;
    background: url(../image/choose_bg01_sp.webp) no-repeat center/cover;
  }
  .choose-lead {
    width: 4.73rem;
    margin: 0 auto;
  }
  .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: #fff;
    font-size: 0.58rem;
  }
  .choose-block {
    position: relative;
    width: 6.33rem;
    background: url(../image/choose_bg02_sp.webp) no-repeat center/contain;
    padding: 0.45rem 0 0.45rem 0.76rem;
    margin: 0.3rem 0 0 auto;
  }
  .choose-block.ma {
    margin: 0.3rem auto 0;
    left: inherit;
  }
  .choose-block.ptb {
    padding: 0.5rem 0 0.75rem 0.76rem;
    background-size: 100% 100%;
  }
  .choose-txt01 {
    font-size: 0.36rem;
    font-weight: bold;
    line-height: 1.48;
  }
  .choose-txt0102 {
    line-height: 1.3;
  }
  .choose-txt01 .deco {
    color: #242a75;
  }
  .choose-txt01.small {
    font-size: 0.36rem;
  }
  .choose-txt01.small .deco {
    font-size: 0.36rem;
  }
  .choose-name {
    font-size: 0.28rem;
    color: #333;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 0.15rem;
  }
  .choose-person {
    position: absolute;
    bottom: -0.65rem;
    left: -1.8rem;
    width: 2.85rem;
  }
}
/*==============================================================================
reason
============================================================================= */
@media screen and (min-width: 769px) {
  .reason-bg01 {
    position: relative;
    z-index: 1;
    padding: 65px 0 62px;
    background: url(../image/reason_bg01_pc.webp) no-repeat center/cover;
  }
  .reason-wrap {
    background: url(../image/reason_bg03_pc.webp) no-repeat center/cover;
  }
  .reason-inner01 {
    position: relative;
  }
  .reason-inner01::before {
    position: absolute;
    bottom: -61px;
    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-lead {
    position: absolute;
    top: -15%;
    right: -100px;
    width: 330px;
    transform: translate(0, -50%);
  }
  .reason-ttl {
    position: relative;
    z-index: 1;
    width: 655px;
    margin: 0 auto;
  }
  .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 0 0 130px;
    font-feature-settings: "palt";
  }
  .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: 90px;
  }
  .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;
    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-pic {
    position: absolute;
    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(../image/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-lead {
    position: absolute;
    top: -0.75rem;
    right: -0.3rem;
    width: 3.33rem;
  }
  .reason-ttl {
    position: relative;
    z-index: 1;
    width: 4.67rem;
    margin: 0 auto;
  }
  .reason-bg02 {
    position: relative;
    padding: 0.35rem 0 1rem;
    background: url(../image/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(../image/reason_icon01_sp.webp) no-repeat center/cover;
    content: "";
  }
  .reason-bg02::after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 2.44rem;
    height: 2rem;
    background: url(../image/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-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-desc {
    padding: 0.3rem 0 0 0.2em;
    font-size: 0.28rem;
    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(../image/step_num02_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(3) .step-subttl::before {
    width: 63px;
    background: url(../image/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(../image/step_num04_pc.webp) no-repeat center/cover;
  }
  .step-subttl {
    position: relative;
    padding: 30px 0 35px;
    background: url(../image/step_bg01_pc.webp) no-repeat center/cover;
  }
  .step-subttl::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 54px;
    height: 52px;
    background: url(../image/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;
  }
  .step-bg02 {
    margin-top: 100px;
  }
  .step .medicine02-bg01 {
    margin-bottom: 40px;
  }
  .step .medicine02-lead {
    width: 254px;
    top: -62px;
    left: inherit;
    transform: none;
    margin: 0;
    right: 0;
  }
}
@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(../image/step_num02_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(3) .step-subttl::before {
    width: 0.63rem;
    background: url(../image/step_num03_pc.webp) no-repeat center/cover;
  }
  .step-item:nth-of-type(4) .step-subttl::before {
    width: 0.63rem;
    background: url(../image/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(../image/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(../image/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;
  }
  .step-bg02 {
    padding-bottom: 0.7rem;
  }
  .step .medicine02-bg01 {
    margin-bottom: 0.3rem;
  }
  .step .medicine02-lead {
    width: 2.35rem;
    top: -0.61rem;
    left: inherit;
    transform: none;
    margin: 0;
    right: -0.25rem;
  }
}
/*==============================================================================
feature
============================================================================= */
@media screen and (min-width: 769px) {
  .feature {
    background-color: #59aed6;
  }
  .feature-bg {
    padding: 110px 0 120px;
    background: url(../image/feature_bg01_pc.webp) no-repeat center/cover;
  }
  .feature-belt {
    width: 687px;
    margin: 0 0 0 -70px;
    padding: 15px 0 10px;
    background: linear-gradient(to right, transparent 8%, #4fa7d1 20%, #168dc5 30%, #168dc5 60%, #4fa7d1 80%, transparent 92%);
    color: #fff;
    font-size: 39px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.04em;
  }
  .feature-ttl {
    position: relative;
    padding: 20px 0 0 0;
    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: -20px;
    width: 600px;
    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 80px;
  }
  .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-around;
    width: 850px;
    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;
  }
  .feature02-bg {
    position: relative;
    z-index: 1;
    padding: 130px 0 100px;
    background: url(../image/feature02_bg01_pc.webp) no-repeat center/cover;
  }
  .feature02-inner {
    position: relative;
    width: 966px;
  }
  .feature02-lead {
    position: absolute;
    top: -165px;
    right: -170px;
    width: 652px;
  }
  .feature02-block {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 65px 0 45px;
  }
}
@media screen and (max-width: 768px) {
  .feature-bg {
    background-color: #59aed6;
  }
  .feature-inner {
    margin: 0;
  }
  .feature-block02 {
    padding: 0.55rem 0 0.3rem;
    background: url(../image/feature_bg01_sp.webp) no-repeat center/cover;
  }
  .feature-belt {
    width: 5.3rem;
    background: linear-gradient(to right, #168dc5 75%, #4fa7d1 85%, transparent);
    padding: 0.1rem 0.5rem 0.1rem 0;
    color: #fff;
    font-size: 0.43rem;
    font-weight: bold;
    line-height: 1.18;
    text-align: center;
    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(../image/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-block01-02 {
    padding: 0 0 1rem;
  }
  .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: space-between;
    flex-wrap: wrap;
    width: 4.7rem;
    margin: 0.1rem auto 0;
  }
  .feature-item {
    width: 1.97rem;
    margin: 0.2rem 0 0 0;
  }
  .feature-item:nth-of-type(3) {
    margin: 0.2rem 0 0 0;
  }
  .feature-item:nth-of-type(4) {
    margin: 0.2rem 0 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;
  }
  .feature02-bg {
    position: relative;
    z-index: 1;
    padding: 0.85rem 0 0.95rem;
    background: url(../image/feature02_bg01_sp.webp) no-repeat center/cover;
  }
  .feature02-bg02 {
    padding: 0.85rem 0 1.2rem;
  }
  .feature02-inner {
    position: relative;
  }
  .feature02-lead {
    position: absolute;
    top: -1.55rem;
    right: -0.3rem;
    width: 6.07rem;
  }
  .feature02-block {
    position: relative;
    z-index: 1;
    width: 6.95rem;
    margin: 0 auto;
    padding: 0 0 0.35rem;
    background: #fff;
  }
  .feature02-block02 {
    padding: 0 0 1rem;
  }
}
/*==============================================================================
clinic
============================================================================= */
@media screen and (min-width: 769px) {
  .clinic-bg01 {
    padding: 60px 0;
    background: url(../image/type_bg01_pc.webp) no-repeat center/cover;
  }
  .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: #393e82 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 {
    padding: 0 0 34px;
    background: url(../image/clinic_bg01_pc.webp) no-repeat center/cover;
  }
  .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(../image/clinic_btn_on_pc.webp) no-repeat center/contain;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
  }
  .clinic-name01.open::after {
    background: url(../image/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(../image/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;
    border-top: 2px solid #fff;
    padding: 20px 20px 0 30px;
  }
  .clinic-address {
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.62;
    letter-spacing: 0.08em;
  }
  .clinic-time {
    margin: 20px 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: 25px auto 0;
    padding: 20px 0 25px 80px;
    background: #fff;
  }
  .clinic-doctor {
    width: 145px;
    margin: 0 70px 0 0;
    padding: 37px 0 30px;
    background: url(../image/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(../image/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(../image/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-bottom: 34px;
  }
  .clinic-map-txt {
    font-size: 38px;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
  }
  .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: 318px;
    height: 74px;
    background: url(../image/clinic_btn01_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab01.swiper-slide-thumb-active {
    background: url(../image/clinic_btn01_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab02 {
    width: 318px;
    height: 74px;
    background: url(../image/clinic_btn02_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab02.swiper-slide-thumb-active {
    background: url(../image/clinic_btn02_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab03 {
    width: 318px;
    height: 74px;
    background: url(../image/clinic_btn03_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../image/clinic_btn03_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab04 {
    width: 318px;
    height: 74px;
    background: url(../image/clinic_btn04_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab04.swiper-slide-thumb-active {
    background: url(../image/clinic_btn04_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab05 {
    width: 318px;
    height: 74px;
    background: url(../image/clinic_btn05_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab05.swiper-slide-thumb-active {
    background: url(../image/clinic_btn05_on_pc.webp) no-repeat center/contain;
  }
  .clinic-tab06 {
    width: 318px;
    height: 74px;
    background: url(../image/clinic_btn06_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab06.swiper-slide-thumb-active {
    background: url(../image/clinic_btn06_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 {
    position: relative;
  }
  .clinic-bg01 {
    padding: 0.6rem 0;
    background: url(../image/type_bg01_pc.webp) no-repeat center/cover;
  }
  .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: #393e82 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(../image/clinic_bg01_pc.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(../image/clinic_bg01_pc.webp) no-repeat center/cover;
  }
  .clinic-name01::after {
    position: absolute;
    content: "";
    width: 0.52rem;
    height: 0.46rem;
    background: url(../image/clinic_btn_on_pc.webp) no-repeat center/contain;
    top: 50%;
    right: 0.15rem;
    transform: translateY(-50%);
  }
  .clinic-name01.open::after {
    background: url(../image/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(../image/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 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 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.9rem auto 0;
    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(../image/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(../image/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(../image/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;
    padding-bottom: 0.4rem;
  }
  .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(../image/clinic_btn01_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab01.swiper-slide-thumb-active {
    background: url(../image/clinic_btn01_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab02 {
    width: 2.2rem;
    height: 1rem;
    background: url(../image/clinic_btn02_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab02.swiper-slide-thumb-active {
    background: url(../image/clinic_btn02_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab03 {
    width: 2.2rem;
    height: 1rem;
    background: url(../image/clinic_btn03_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../image/clinic_btn03_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab04 {
    width: 2.2rem;
    height: 1rem;
    background: url(../image/clinic_btn04_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab04.swiper-slide-thumb-active {
    background: url(../image/clinic_btn04_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab05 {
    width: 2.2rem;
    height: 1rem;
    background: url(../image/clinic_btn05_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab05.swiper-slide-thumb-active {
    background: url(../image/clinic_btn05_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tab06 {
    width: 2.2rem;
    height: 1rem;
    background: url(../image/clinic_btn06_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab06.swiper-slide-thumb-active {
    background: url(../image/clinic_btn06_on_sp.webp) no-repeat center/contain;
  }
  .clinic-tabs {
    margin: -0.8rem auto 0;
  }
  .clinic-list02 {
    margin-top: -0.6rem;
  }
  .clinic-list03 {
    margin-top: 0.6rem;
  }
  .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;
  }
}
/*===============================================================================
faq
===============================================================================*/
@media screen and (min-width: 769px) {
  .faq-bg {
    padding: 100px 0 0;
    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;
  }
}
@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;
  }
}
/*===============================================================================
reborn
===============================================================================*/
@media screen and (min-width: 769px) {
  .reborn-bg {
    position: relative;
    z-index: 1;
    padding: 85px 0 52px;
    background: url(../image/reborn_bg01_pc.webp) no-repeat center/cover;
  }
  .reborn-inner {
    position: relative;
    width: 1200px;
  }
  .reborn-head {
    position: relative;
    width: 600px;
    padding: 50px 0 25px;
    background: #242a75;
  }
  .reborn-subttl {
    position: absolute;
    top: -29px;
    left: 22px;
    width: 170px;
  }
  .reborn-catch {
    padding: 0 0 0 205px;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
  }
  .reborn-catch .deco {
    color: #f7ab00;
    font-size: 42px;
  }
  .reborn-catch .large {
    font-size: 42px;
  }
  .reborn-price {
    position: relative;
    margin: 30px 0 0;
    color: #fff;
    font-size: 62px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  .reborn-price .deco {
    color: #f7ab00;
    font-size: 117px;
  }
  .reborn-price .deco02 {
    font-size: 100px;
    letter-spacing: -0.05em;
  }
  .reborn-price .small {
    font-size: 38px;
  }
  .reborn-price .large {
    font-size: 100px;
  }
  .reborn-price .asterisk {
    position: absolute;
    top: 32px;
    right: 166px;
    font-weight: normal;
    color: #fff;
    font-size: 12px;
    line-height: 1;
  }
  .reborn-price .asterisk02 {
    right: 120px;
  }
  .reborn-price.renew .deco {
    font-size: 93px;
  }
  .reborn-price.renew .large {
    font-size: 93px;
  }
  .reborn-price.renew .asterisk {
    top: 15px;
    right: 141px;
  }
  .reborn-person {
    position: absolute;
    right: -340px;
    top: -199px;
    width: 972px;
  }
  .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(../image/reborn_bg01_sp.webp) no-repeat center/cover;
    overflow: hidden;
  }
  .reborn-inner {
    position: relative;
    margin: 0 0.3rem;
  }
  .reborn-head {
    position: relative;
    padding: 1.2rem 0 0.3rem;
    background: #242a75;
  }
  .reborn-subttl {
    position: absolute;
    top: -0.36rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 4.65rem;
  }
  .reborn-catch {
    color: #fff;
    font-size: 0.48rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .reborn-catch .deco {
    color: #f7ab00;
    font-size: 0.68rem;
  }
  .reborn-catch .large {
    font-size: 0.68rem;
  }
  .reborn-price {
    position: relative;
    margin: 0.1rem 0 0;
    color: #fff;
    font-size: 0.72rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  .reborn-price .deco {
    color: #f7ab00;
    font-size: 1.35rem;
  }
  .reborn-price .deco02 {
    font-size: 1.1rem;
    letter-spacing: -0.05em;
  }
  .reborn-price .large {
    font-size: 1.15rem;
  }
  .reborn-price .small {
    font-size: 0.44rem;
  }
  .reborn-price .asterisk {
    position: absolute;
    top: 0.35rem;
    right: 1.9rem;
    font-weight: normal;
    color: #fff;
    font-size: 0.16rem;
    line-height: 1;
  }
  .reborn-price .asterisk02 {
    top: 0.2rem;
    right: 1.7rem;
  }
  .reborn-price.renew .deco {
    font-size: 1rem;
  }
  .reborn-price.renew .large {
    font-size: 1rem;
  }
  .reborn-price.renew .asterisk {
    top: 0.05rem;
    right: 1.8rem;
  }
  .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 {
    position: relative;
    z-index: 2;
    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-bg02 {
    padding: 40px 0 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;
    margin-top: 20px;
  }
  .modal-tel-lead02::before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 700px;
    height: 1px;
    background: #000;
    transform: translateY(-50%);
    content: "";
  }
  .modal-tel-lead03 {
    width: 870px;
    margin: 20px auto 0;
  }
  .modal-tel-lead03::before {
    width: 650px;
  }
  .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.4rem;
    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;
  }
  .modal-tel-lead03:before {
    width: 2.8rem;
  }
}
@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: 980px;
    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;
  }
  .modal-online .step-online02 {
    padding-top: 10px;
  }
  .modal-online .step-item:nth-child(2) .step-subttl {
    background-position: 100%;
  }
}
@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: 60%;
    right: 0;
    width: 160px;
    z-index: 200;
  }
  .cta-fix-btn a:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
}
@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(../image/cta-fix-bg01.webp) no-repeat center/cover;
  }
  .cta-fix-inner {
    display: flex;
    justify-content: space-between;
  }
  .cta-fix-btn a {
    display: block;
    width: 100%;
  }
}
/*===============================================================================
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(../image/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(../image/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;
  }
}
/*===============================================================================
cta
===============================================================================*/
@media screen and (min-width: 769px) {
  .know-bg01 {
    padding: 60px 0 40px;
    background: url(../image/know_bg01_pc.webp) no-repeat center/cover;
  }
  .know-ques {
    position: relative;
    width: 375px;
    margin: 0 auto;
    font-size: 43px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .know-ques::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 300px;
    height: 2px;
    background: #292929;
    transform: translate(-100%, -50%);
    content: "";
  }
  .know-ques::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 300px;
    height: 2px;
    background: #292929;
    transform: translate(100%, -50%);
    content: "";
  }
  .know-ttl {
    margin: 25px 0 0;
    padding: 5px 0 20px;
    background: #000;
    color: #f7ab00;
    font-size: 46px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-ttl .small {
    font-size: 33px;
  }
  .know-bg02 {
    padding: 60px 0 120px;
    background-color: #f3f3f3;
  }
  .know-bg03 {
    position: relative;
    padding: 45px 0 140px;
  }
  .know-bg03::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 3vw 100vw;
    border-color: transparent transparent #fff transparent;
    transform: translate(0, -100%);
    content: "";
  }
  .know-bg04 {
    position: relative;
    padding: 50px 0 90px;
    background-color: #f3f3f3;
  }
  .know-bg04::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 3vw 100vw;
    border-color: transparent transparent #f3f3f3 transparent;
    transform: translate(0, -100%);
    content: "";
  }
  .know-inner02 {
    position: relative;
    width: 920px;
    margin: 0 auto;
  }
  .know-block {
    position: relative;
    padding: 90px 25px 50px;
    border: 9px #111 solid;
    background: #fff;
  }
  .know-subttl {
    position: absolute;
    left: 50%;
    top: -45px;
    transform: translate(-50%, 0);
    width: 545px;
    height: 89px;
    margin: 0 auto;
    padding: 25px 0 0;
    background: url(../image/know_bg02_pc.webp) no-repeat center/contain;
    color: #fff;
    font-size: 29px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .know-01 {
    width: 820px;
    margin: 0 auto;
  }
  .know-icon {
    margin: 15px 0 0;
  }
  .know-caution {
    margin: 12px 0 0;
    color: #ff3939;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-caution .deco {
    font-size: 38px;
    font-weight: bold;
  }
  .know-note {
    margin: 20px 0 0 0.5em;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .know-lead {
    position: absolute;
    top: -95px;
    left: 50%;
    transform: translate(-50%, 0) skewX(-10deg);
    width: 172px;
    background: #000;
    color: #f7ab00;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-lead span {
    display: inline-block;
    transform: skewX(10deg);
  }
  .know-lead::before {
    position: absolute;
    bottom: 1px;
    left: 38px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 0;
    border-color: #000 transparent transparent transparent;
    transform: translate(0%, 100%);
    content: "";
  }
  .know-txt01 {
    margin: 0 0 60px;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-txt01 .deco {
    color: #242a75;
  }
  .know-txt01 .dot {
    position: relative;
  }
  .know-txt01 .dot::before {
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #242a75;
    content: "";
  }
  .know-list {
    display: flex;
    justify-content: center;
  }
  .know-item + .know-item {
    margin: 0 0 0 45px;
  }
  .know-item-pic {
    width: 176px;
    margin: 0 auto;
  }
  .know-item-txt {
    margin: 15px 0 0;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-item-txt .large {
    font-size: 24px;
  }
  .know-item-txt .deco {
    color: #242a75;
    font-size: 24px;
  }
  .know-pic02 {
    width: 764px;
    margin: 0 auto 15px;
  }
}
@media screen and (max-width: 768px) {
  .know-bg01 {
    padding: 0.8rem 0 0;
    background: url(../image/know_bg01_pc.webp) no-repeat center/cover;
  }
  .know-ques {
    position: relative;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .know-ttl {
    margin: 0.22rem 0 0;
    padding: 0.3rem 0;
    background: #000;
    color: #f7ab00;
    font-size: 0.52rem;
    font-weight: bold;
    line-height: 1.15;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .know-ttl .small {
    display: inline-block;
    margin: 0 0 0.1rem;
    font-size: 0.43rem;
  }
  .know-bg02 {
    padding: 0.9rem 0 1.3rem;
    background-color: #f3f3f3;
  }
  .know-bg03 {
    position: relative;
    padding: 0.8rem 0 1.25rem;
  }
  .know-bg03::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 5.3vw 100vw;
    border-color: transparent transparent #fff transparent;
    transform: translate(0, -100%);
    content: "";
  }
  .know-bg04 {
    position: relative;
    padding: 0.8rem 0 0.75rem;
    background-color: #f3f3f3;
  }
  .know-bg04::before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 5.3vw 100vw;
    border-color: transparent transparent #f3f3f3 transparent;
    transform: translate(0, -100%);
    content: "";
  }
  .know-inner02 {
    position: relative;
    margin: 0 0.5rem;
  }
  .know-block {
    position: relative;
    padding: 0.9rem 0 0.5rem;
    border: 0.08rem #111 solid;
    background: #fff;
  }
  .know-block02 .know-icon {
    margin: 0.43rem auto 0;
  }
  .know-block02 .know-caution {
    margin: 0;
  }
  .know-subttl {
    position: absolute;
    left: 50%;
    top: -0.45rem;
    transform: translate(-50%, 0);
    width: 5.45rem;
    height: 0.9rem;
    margin: 0 auto;
    padding: 0.2rem 0 0;
    background: url(../image/know_bg02_pc.webp) no-repeat center/contain;
    color: #fff;
    font-size: 0.35rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0em;
  }
  .know-pic01 {
    width: 4.8rem;
    margin: 0 auto;
  }
  .know-icon {
    width: 5.25rem;
    margin: 0 auto;
  }
  .know-caution {
    margin: 0.15rem 0 0;
    color: #ff3939;
    font-size: 0.34rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
  }
  .know-caution .deco {
    display: inline-block;
    margin: 0.05rem 0 0;
    font-size: 0.43rem;
    font-weight: bold;
    letter-spacing: 0.04em;
  }
  .know-note {
    margin: 0.15rem 0 0;
    font-size: 0.2rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .know-lead {
    position: absolute;
    top: -1.45rem;
    left: 50%;
    transform: translate(-50%, 0) skewX(-10deg);
    width: 2.5rem;
    padding: 0.08rem 0 0.1rem;
    background: #000;
    color: #f7ab00;
    font-size: 0.48rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-lead span {
    display: inline-block;
    transform: skewX(10deg);
  }
  .know-lead::before {
    position: absolute;
    bottom: 1px;
    left: 0.55rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.2rem 0.2rem 0 0;
    border-color: #000 transparent transparent transparent;
    transform: translate(0%, 100%);
    content: "";
  }
  .know-txt01 {
    margin: 0 0 0.6rem;
    font-size: 0.46rem;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-txt01 .deco {
    color: #242a75;
  }
  .know-txt01 .dot {
    position: relative;
  }
  .know-txt01 .dot::before {
    position: absolute;
    top: 0.05rem;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 0.1rem;
    height: 0.1rem;
    border-radius: 50%;
    background: #242a75;
    content: "";
  }
  .know-item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .know-item + .know-item {
    margin: 0.3rem auto 0;
  }
  .know-item:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
  .know-item:nth-of-type(2n) .know-item-pic {
    margin: 0 0 0 0.15rem;
  }
  .know-item-pic {
    width: 1.42rem;
    margin: 0 0.15rem 0 0;
  }
  .know-item-txt {
    font-size: 0.36rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .know-item-txt .large {
    font-size: 0.42rem;
  }
  .know-item-txt .deco {
    color: #242a75;
    font-size: 0.42rem;
  }
  .know-pic02 {
    width: 5.25rem;
    margin: 0 auto 0.15rem;
  }
}
@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: 50px 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.5rem 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;
  }
}
/*==============================================================================
consultation
============================================================================= */
@media screen and (min-width: 769px) {
  .consultation-bg {
    width: 993px;
    background: url(../image/consultation_bg01_pc.webp) no-repeat center/cover;
    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(../image/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;
  }
}
/*==============================================================================
effect
============================================================================= */
@media screen and (min-width: 769px) {
  .effect {
    margin-top: 47px;
  }
  .effect-container {
    display: flex;
  }
  .effect-left {
    width: 343px;
    background: #121852;
  }
  .effect .left-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 26px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.5384615385;
    letter-spacing: 0.04em;
  }
  .effect-right {
    width: 633px;
    background: #fff;
    padding: 26px;
  }
  .effect .right-item {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .effect .right-item span {
    font-size: 14px;
    vertical-align: top;
  }
  .effect .right-item:nth-child(n+2) {
    margin-top: 18px;
  }
  .effect .right-item .deco {
    display: inline-block;
    font-size: 20px;
    margin-top: 18px;
  }
  .effect-right-btn {
    cursor: pointer;
    position: relative;
    display: block;
    font-size: 22px;
    color: #242a75;
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-top: 24px;
  }
  .effect-right-btn::before, .effect-right-btn::after {
    position: absolute;
    content: "";
    background: #242a75;
    transform: translateY(-50%);
  }
  .effect-right-btn::before {
    width: 20px;
    height: 4px;
    top: 50%;
    right: 0;
  }
  .effect-right-btn::after {
    width: 4px;
    height: 20px;
    top: 50%;
    right: 8px;
  }
  .effect-right-btn.active::after {
    display: none;
    transition: 0.3s;
  }
  .effect .right-foot {
    display: none;
    background: #eff2f4;
    border-top: 2px solid #242a75;
    padding: 40px 16px;
    margin-top: 10px;
  }
  .effect .right-foot .foot-ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 25px;
  }
  .effect .right-foot .foot-ttl02 {
    margin-top: 40px;
  }
  .effect .right-foot .foot-txt {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.04em;
    margin-top: 10px;
  }
  .effect .right-foot .foot-txt:hover {
    opacity: 0.8;
    transition: 0.3s;
  }
  .effect .right-foot .foot-txt span {
    border-bottom: 1px solid #333;
  }
}
@media screen and (max-width: 768px) {
  .effect {
    width: 7rem;
    margin: 0.6rem auto 0;
  }
  .effect-left {
    background: #242a75;
    padding: 0.2rem 0;
  }
  .effect .left-txt {
    font-size: 0.4rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.16;
    letter-spacing: 0.04em;
  }
  .effect-right {
    background: #fff;
    padding: 0.3rem 0.24rem;
  }
  .effect .right-item {
    font-size: 0.24rem;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 0.24rem;
  }
  .effect .right-item span {
    font-size: 0.14rem;
    vertical-align: top;
  }
  .effect .right-item .deco {
    display: inline-block;
    font-size: 0.24rem;
    margin-top: 0.24rem;
  }
  .effect-right-btn {
    position: relative;
    display: block;
    font-size: 0.28rem;
    color: #242a75;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 0.4rem;
  }
  .effect-right-btn::before, .effect-right-btn::after {
    position: absolute;
    content: "";
    width: 0.34rem;
    height: 0.04rem;
    background: #242a75;
    top: 50%;
    right: 0;
  }
  .effect-right-btn::before {
    transform: translateY(-50%);
  }
  .effect-right-btn::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .effect-right-btn.active::after {
    transform: translateY(-50%);
  }
  .effect .right-foot {
    display: none;
    background: #eff2f4;
    padding: 0.45rem 0.18rem;
    margin-top: 0.26rem;
  }
  .effect .foot-ttl {
    font-size: 0.24rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.34rem;
  }
  .effect .foot-ttl02 {
    margin-top: 0.47rem;
  }
  .effect .foot-txt {
    font-size: 0.22rem;
    letter-spacing: 0.04em;
    margin-top: 0.16rem;
  }
  .effect .foot-txt span {
    border-bottom: 0.01rem solid #333;
  }
}
/*==============================================================================
achievement
============================================================================= */
@media screen and (min-width: 769px) {
  .achievement {
    width: 980px;
    margin: 0 auto;
  }
  .achievement-ttl {
    position: relative;
    font-size: 62px;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 127px;
  }
  .achievement-ttl::after {
    position: absolute;
    content: "";
    width: 648px;
    height: 99px;
    background: url(../../asset/image/achievement_bg01_pc.webp) no-repeat center/contain;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
  }
  .achievement-txt {
    position: relative;
    background: url(../../asset/image/achievement_bg02_pc.webp) no-repeat center/cover;
    font-size: 33px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.04em;
    padding: 13px 0 23px;
    margin-top: 43px;
  }
  .achievement-txt::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 36px 36px 0;
    border-color: transparent #242a75 transparent transparent;
    bottom: -36px;
    right: 135px;
  }
  .achievement-txt .orange {
    color: #f9b300;
  }
  .achievement-txt .middle {
    font-size: 48px;
  }
  .achievement-txt .large {
    font-size: 70px;
    letter-spacing: -0.02em;
  }
  .achievement-sub {
    font-size: 16px;
    letter-spacing: 0.04em;
    text-align: right;
    margin-top: 20px;
    margin-right: 213px;
  }
  .achievement-img01 {
    margin-top: 40px;
  }
  .achievement-img02 {
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .achievement {
    width: 6.9rem;
    margin: 0 auto;
  }
  .achievement-ttl {
    position: relative;
    font-size: 0.71rem;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 1.31rem;
  }
  .achievement-ttl::after {
    position: absolute;
    content: "";
    width: 6.9rem;
    height: 1.05rem;
    background: url(../../asset/image/achievement_bg01_pc.webp) no-repeat center/contain;
    bottom: 0.48rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .achievement-txt {
    position: relative;
    background: url(../../asset/image/achievement_bg02_sp.webp) no-repeat center/cover;
    font-size: 0.45rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.02em;
    padding: 0.2rem 0px 0.4rem;
    margin-top: 0.45rem;
  }
  .achievement-txt::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0.37rem 0.27rem 0;
    border-color: transparent #242a75 transparent transparent;
    bottom: -0.26rem;
    right: 1.8rem;
  }
  .achievement-txt .small {
    font-size: 0.34rem;
  }
  .achievement-txt .orange {
    color: #f9b300;
  }
  .achievement-txt .middle {
    font-size: 0.6rem;
  }
  .achievement-txt .large {
    font-size: 0.9rem;
    letter-spacing: -0.02em;
  }
  .achievement-sub {
    font-size: 0.18rem;
    letter-spacing: 0.04em;
    margin-top: 0.2rem;
    margin-left: 1.9rem;
  }
  .achievement-img01 {
    margin-top: 0.33rem;
  }
  .achievement-img02 {
    margin-top: 0.8rem;
  }
}
/*===============================================================================
tokyo
===============================================================================*/
@media screen and (min-width: 769px) {
  .tokyo .fv-slide03 .fv-item p {
    font-size: 24px;
  }
  .tokyo .fv-slide03 .fv-item:nth-of-type(2) {
    margin: 0 20px;
  }
  .feature-lead02 {
    bottom: 430px;
  }
  .feature-note02 {
    width: 900px;
    margin: 30px auto 0;
    font-size: 20px;
    letter-spacing: 0.04em;
    font-weight: 500;
  }
  .sendai .fv-slide01 .fv-lead .deco02, .shizuoka .fv-slide01 .fv-lead .deco02, .okayama .fv-slide01 .fv-lead .deco02 {
    font-size: 90px;
  }
  .kanazawa .fv-slide01 .fv-lead .deco, .kanazawa .fv-slide01 .fv-lead .deco02, .kyoto .fv-slide01 .fv-lead .deco, .kyoto .fv-slide01 .fv-lead .deco02, .hiroshima .fv-slide01 .fv-lead .deco, .hiroshima .fv-slide01 .fv-lead .deco02 {
    font-size: 90px;
    letter-spacing: -0.05em;
  }
  .kanazawa .fv-slide01 .fv-lead .large, .kyoto .fv-slide01 .fv-lead .large, .hiroshima .fv-slide01 .fv-lead .large {
    font-size: 80px;
  }
  .kanazawa .fv-slide01 .fv-lead .asterisk, .kyoto .fv-slide01 .fv-lead .asterisk, .hiroshima .fv-slide01 .fv-lead .asterisk {
    right: 155px;
    top: 0;
  }
  .kanazawa .fv-slide01 .fv-pic01, .kyoto .fv-slide01 .fv-pic01, .hiroshima .fv-slide01 .fv-pic01 {
    bottom: -75px;
  }
  .kanazawa .reborn-price .deco, .kyoto .reborn-price .deco, .hiroshima .reborn-price .deco {
    font-size: 90px;
  }
  .kanazawa .reborn-price .large, .kyoto .reborn-price .large, .hiroshima .reborn-price .large {
    font-size: 80px;
  }
  .kanazawa .reborn-price .asterisk, .kyoto .reborn-price .asterisk, .hiroshima .reborn-price .asterisk {
    top: 10px;
    right: 155px;
  }
  .hiroshima .medicine-price .tax {
    right: -10px;
  }
}
@media screen and (max-width: 768px) {
  .tokyo .fv-slide03 .fv-item:nth-of-type(2) {
    font-size: 0.38rem;
    margin: 0 0.2rem;
  }
  .tokyo .fv-slide03 .fv-item:nth-of-type(3) {
    font-size: 0.38rem;
  }
  .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;
  }
  .kanazawa .fv-slide01 .fv-lead .deco, .hiroshima .fv-slide01 .fv-lead .deco {
    font-size: 1.1rem;
    letter-spacing: -0.05em;
  }
  .kanazawa .fv-slide01 .fv-lead .large, .hiroshima .fv-slide01 .fv-lead .large {
    font-size: 1.15rem;
  }
  .kanazawa .fv-slide01 .fv-lead .asterisk, .hiroshima .fv-slide01 .fv-lead .asterisk {
    top: 0.2rem;
  }
  .kanazawa .reborn-price, .hiroshima .reborn-price {
    margin: 0.2rem 0 0;
  }
  .kanazawa .reborn-price .deco, .hiroshima .reborn-price .deco {
    font-size: 0.9rem;
  }
  .kanazawa .reborn-price .large, .hiroshima .reborn-price .large {
    font-size: 0.8rem;
  }
  .kanazawa .reborn-price .asterisk, .hiroshima .reborn-price .asterisk {
    top: -0.1rem;
    right: 2rem;
  }
  .hiroshima .medicine-price .tax {
    right: -0.25rem;
  }
}