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




/* pc sp
--------------------------------- */
.dp-pc {
  display: block;
}

.dp-sp {
  display: none;
}

.dp-pc-ib {
  display: inline-block;
}

.dp-pc-im {
  display: block !important;
}

.dp-sp-im {
  display: none !important;
}

@media (max-width: 767px) {
  .dp-pc {
    display: none;
  }
  .dp-pc-ib {
    display: none;
  }
  .dp-sp {
    display: block;
  }
  .dp-pc-im {
    display: none !important;
  }
  .dp-sp-im {
    display: block !important;
  }
}
.dp-n {
  display: none;
}

.dp-n-im {
  display: none !important;
}



/*===============================================================================
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;
  }
}



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



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




/*===============================================================================
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;
  }
}



.cta-bg.direct {
background-color: #e7e7ec; 
padding-top:0;
}

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

.inner.cta-inner {
  margin: 1rem 0.02rem; 
}

  .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;
    padding: 0 0.3rem;
  }

  .cta-btns.direct {
    padding: 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: 0;
    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: 90px;
    line-height: 0.8;
  }

  .deco.ver-c {
    letter-spacing: -0.3rem;
  }


  .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 -55px;
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: 0.04em;
    font-weight: normal;
  } */

.fv-slide01 .fv-note {
margin: 0 0 0px 35px;
font-size: 16px;
line-height: 1.35;
letter-spacing: 0.04em;
font-weight: normal;
bottom: -160px;
position: absolute;
}

  .fv-slide01 .fv-note.ver-y {
    margin: 0 0 0px -63px;
    }
  

  .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-head.ver-c {
    width: 555px;
  }



  .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: -195px;
    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/2311/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: 494px;
  }
  .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/2311/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: 460px;
    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;
    margin: 0 10px;
  }
  .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/2311/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-lead.ver-c {
    font-size: 0.5rem;
  }


  .fv-slide01 .fv-lead .deco {
    color: #f7ab00;
    font-size: 1.35rem;
    line-height: 0.8;
  }
  .deco.ver-c {
    letter-spacing: -0.06rem;
  }



  .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.1rem;
    font-size: 0.2rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    position: absolute;
    bottom: 38px;
    color:#FFF;
  }

  .fv-slide01 .fv-note.ver-y {
    bottom: 28px;
  }

  .fv-note-ast-left-space {
    padding-left: 31px;
  }



  .fv-slide01 .fv-list {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 6.9rem;
    margin: 3.3rem 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.41rem auto 0;
  }
  .fv-slide01 .fv-btn04 {
    width: 4.58rem;
    margin: 0.1rem 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/2311/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-catch .medium {
    font-size: 0.45rem;
  }
  .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.5rem 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/2311/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: 71px;
    line-height: 1;
  }
  .explan-ttl .dot {
    position: relative;
    color: #242a75;
    font-weight: bold;
  }
  .explan-ttl .dot::before {
    position: absolute;
    top: 5px;
    left: 50%;
    width: 13px;
    height: 13px;
    border: 1px solid #168dc5;
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -100%);
    content: "";
  }
  .explan-ttl .deco {
    font-weight: bold;
  }
  .explan-logo {
    margin: 25px 0 0 140px;
    width: 374px;
  }
  .explan-person {
    position: absolute;
    bottom: -391px;
    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.63rem;
    line-height: 1;
  }
  .explan-ttl .dot {
    position: relative;
    color: #242a75;
    font-weight: bold;
  }
  .explan-ttl .dot::before {
    position: absolute;
    top: 0.05rem;
    left: 50%;
    width: 0.1rem;
    height: 0.1rem;
    border: 1px solid #168dc5;
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -100%);
    content: "";
  }
  .explan-ttl .deco {
    font-weight: bold;
  }
  .explan-logo {
    width: 4.07rem;
    margin: 0.25rem 0 0;
  }
  .explan-person {
    position: absolute;
    top: 2.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 15px 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: 27px;
    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-price .price1 {
    font-size: 40px;
  }
  .medicine-price .price2 {
    font-size: 16px;
  }
  .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;
  }
}
@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.2rem;
    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: 1rem 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;
  }
}
/*==============================================================================
challenge
============================================================================= */
@media screen and (min-width: 769px) {
  .challenge-bg {
    padding: 60px 0 160px;
    background: #e7e7ec;
  }

  .challenge-bg-2 {
    padding: 60px 0 110px;
    background: #e7e7ec;
  }

  .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: 80px 0 50px;
  }
  .challenge-list {
    display: flex;
    justify-content: space-between;
    padding: 50px 20px 65px;
  }
  .challenge-head01 {
    width: 284px;
    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: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge-foot01 .deco {
    display: inline-block;
    margin: 30px 0 15px;
    color: #168dc5;
    font-size: 86px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .challenge-pic01 {
    width: 280px;
    margin: 30px auto;
  }

  .challenge-pic01.challenge_img03 {
    width: 140px;
    margin: 40px auto 0;
  }





  .challenge-list02 {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin: -20px 0 0;
    padding: 40px 106px 55px 65px;
  }
  .challenge-list02::before {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 330px;
    background: #ced0d5;
    content: "";
  }
  .challenge-head02 {
    padding: 0 0 0 15px;
    font-size: 24px;
    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: center;
    font-weight: 500;
    margin: 20px 0 0;
  }
  .challenge-award {
    width: 267px;
    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-2 {
    padding: 0.5rem 0 1rem;
    background-color: #e7e8ed;
  }

  .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: 1rem 0 0.5rem;
    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-list02 {
    position: relative;
    padding: 0 0 0.5rem;
  }
  .challenge-item02:nth-of-type(2) .challenge-head02 {
    margin: 0.5rem 0 0;
  }
  .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-inner01::after {
    position: absolute;
    top: -85px;
    left: 0;
    width: 202px;
    height: 202px;
    background: url(../image/reason_txt03_pc.webp) no-repeat center/cover;
    content: "";
  }
  .reason-lead {
    position: absolute;
    top: -16%;
    right: -100px;
    width: 330px;
    transform: translate(0, -50%);
  }
  .reason-ttl {
    position: relative;
    z-index: 1;
    margin: 0 auto 0 220px;
  }
  .reason-ttl.renew {
    width: 655px;
  }
  .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-inner01::after {
    position: absolute;
    top: -1.2rem;
    left: -0.01rem;
    width: 2.02rem;
    height: 2.02rem;
    background: url(../image/reason_txt03_pc.webp) no-repeat center/cover;
    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 0 2.03rem;
  }
  .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/2311/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: 15px 0 0 80px;
    color: #292929;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  .feature-ttl .deco {
    color: #168dc5;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.28;
    letter-spacing: 0.02em;
  }
  .feature-ttl::before {
    position: absolute;
    bottom: -20px;
    left: 10px;
    width: 572px;
    height: 1px;
    background: linear-gradient(to right, transparent 0%, #111 25%, #111 50%, transparent 100%);
    transform: translate(0, 100%);
    content: "";
  }
  .feature dl {
    display: flex;
    align-items: center;
    margin: 30px 0 0 115px;
  }
  .feature dt {
    margin: 15px 0 0;
    padding: 10px 0;
    background: #242a75;
    border-radius: 23.5px;
    width: 151px;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd {
    position: relative;
    color: #242a75;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature dd .century {
    color: #f7ab00;
    font-size: 90px;
    line-height: 1;
    text-align: center;
    letter-spacing: -0.02em;
  }
  .feature dd .asterisk {
    position: absolute;
    top: 30px;
    right: 5px;
    color: #333;
    font-size: 18px;
    line-height: 1;
  }
  .feature-note {
    width: 572px;
    margin: 10px 0 0;
    color: #333;
    font-size: 13px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .feature-block {
    position: relative;
  }
  .feature-block01 {
    position: relative;
    margin: 68px 0 0;
    padding: 65px 0 45px;
    background: #fff;
    z-index: 1;
  }
  .feature-block01::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 140px;
    background: #242a75;
    content: "";
    z-index: 1;
  }
  .feature-lead02 {
    position: absolute;
    bottom: 372px;
    right: -231px;
    width: 652px;
    z-index: 1;
  }
  .feature-subttl {
    width: 795px;
    margin: 0 auto;
    padding: 0 0 20px;
    border-bottom: 1px solid #111;
    font-size: 53px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-subttl .deco {
    font-weight: bold;
  }
  .feature-subttl .dot {
    position: relative;
    font-weight: bold;
    color: #f7ab00;
  }
  .feature-subttl .dot::before {
    position: absolute;
    top: 3px;
    left: 50%;
    width: 13px;
    height: 13px;
    border: 1px solid #f7ab00;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -100%);
    content: "";
  }
  .feature-list {
    display: flex;
    justify-content: space-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: 37px;
    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: #41a2d0;
  }
  .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: 46;
    right: 0.5rem;
    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/2311/clinic_btn03_off_pc.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../image/2311/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/2311/clinic_btn03_off_sp.webp) no-repeat center/contain;
  }
  .clinic-tab03.swiper-slide-thumb-active {
    background: url(../image/2311/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;
  }
}
/*===============================================================================
faq
===============================================================================*/
@media screen and (min-width: 769px) {
  .faq-bg {
    padding: 100px 0 70px;
    background: #dbe4ee;
  }
  .faq-ttl {
    font-size: 44px;
    font-weight: bold;
    text-align: center;
  }
  .faq-ttl .deco {
    color: #242a75;
  }
  .faq-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 70px 0 0;
  }
  .faq-list {
    width: 467px;
  }
  .faq-ques {
    position: relative;
    display: flex;
    align-items: center;
    height: 90px;
    padding: 0 0 0 12px;
    background: #242a75;
    color: #fff;
  }
  .faq-icon {
    position: relative;
    top: -3px;
    font-size: 31px;
    font-weight: bold;
  }
  .faq-lead {
    margin: 0 0 0 38px;
    font-size: 20px;
    font-weight: bold;
  }
  .faq-lead::before {
    position: absolute;
    top: 50%;
    left: 50px;
    width: 2px;
    height: 60px;
    background: #fff;
    transform: translateY(-50%);
    content: "";
  }
  .faq-ans {
    padding: 20px 0 90px;
  }
  .faq-txt01 {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .faq-note {
    margin: 40px 0 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .faq-btn02 a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 448px;
    height: 64px;
    margin: -20px auto 0;
    padding: 0 0 0 64px;
    border-radius: 10px;
    background: #fff;
    color: #242a75;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    border: 2px solid #242a75;
    box-shadow: 0 5px 0 #242a75;
    cursor: pointer;
  }
  .faq-btn02 a::before {
    content: none;
  }
  .faq-btn02 a::after {
    position: absolute;
    top: 50%;
    right: 35px;
    transform: translate(0, -50%);
    width: 20px;
    height: 15px;
    background: url(../image/faq_icon01_pc.webp) no-repeat center/contain;
    content: "";
  }
}
@media screen and (max-width: 768px) {
  .faq-bg {
    padding: 0.94rem 0 0.82rem;
    background: #dbe4ee;
  }
  .faq-inner {
    margin: 0;
  }
  .faq-ttl {
    font-size: 0.44rem;
    font-weight: bold;
    text-align: center;
  }
  .faq-ttl .deco {
    color: #242a75;
  }
  .faq-ques {
    width: 100%;
    height: 1.1rem;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0.25rem;
    background: #393e82;
    color: #fff;
  }
  .faq-icon {
    position: relative;
    top: -0.03rem;
    font-size: 0.4rem;
    font-weight: bold;
  }
  .faq-lead {
    margin: 0 0 0 0.35rem;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1.26;
  }
  .faq-lead::after {
    position: absolute;
    top: 50%;
    left: 0.7rem;
    width: 0.02rem;
    height: 0.75rem;
    background: #fff;
    transform: translateY(-50%);
    content: "";
  }
  .faq-list {
    margin: -1px 0 0;
  }
  .faq-list:first-of-type {
    margin: 0.75rem 0 0;
  }
  .faq-ans {
    display: none;
    width: 6.05rem;
    margin: 0 auto;
    padding: 0.25rem 0 0.65rem;
  }
  .faq-ans .second {
    display: inline-block;
    margin: 0.45rem 0 0;
  }
  .faq-ans.open {
    display: block;
  }
  .faq-txt01 {
    font-size: 0.24rem;
    line-height: 1.83;
    letter-spacing: 0.04em;
  }
  .faq-note {
    margin: 0.55rem 0 0;
    font-size: 0.2rem;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .faq-box .open {
    display: block;
    font-size: 0.17rem;
    color: #fff;
    text-align: center;
  }
  .faq-box .close {
    display: none;
    font-size: 0.17rem;
    color: #fff;
    text-align: center;
  }
  .faq-box.active .open {
    display: none;
  }
  .faq-box.active .close {
    display: block;
  }
  .faq-block {
    position: absolute;
    width: 0.9rem;
    top: 55%;
    right: 0;
    transform: translateY(-50%);
  }
  .faq-btn01 {
    position: relative;
    width: 0.25rem;
    height: 0.25rem;
    margin: 0 auto;
  }
  .faq-btn01 .bar01 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.25rem;
    height: 0.05rem;
    background: #fff;
  }
  .faq-btn01 .bar02 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0.05rem;
    height: 0.25rem;
    background: #fff;
  }
  .faq-btn01 .bar02.active {
    display: none;
  }
  .faq-btn02 {
    width: 6.08rem;
    margin: 0.5rem auto 0;
  }
  .faq-btn02 a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: #fff;
    height: 1rem;
    padding: 0 0 0 0.55rem;
    border-radius: 0.2rem;
    color: #242a75;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    border: 1px solid #242a75;
    box-shadow: 0 0.05rem 0 #242a75;
  }
  .faq-btn02 a::before {
    content: none;
  }
  .faq-btn02 a::after {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    width: 0.24rem;
    height: 0.17rem;
    background: url(../image/faq_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
}
/*===============================================================================
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: 50%;
    right: 0;
    width: 160px;
    z-index: 200;
  }
  .cta-fix-btn a:hover {
    transition: opacity 0.3s;
    opacity: 0.8;
  }
  .cta-fix-btn + .cta-fix-btn {
    margin: 20px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .cta-fix {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 200;
  }
  .cta-fix-bg {
    padding: 0.25rem 0 0.2rem;
    background: url(../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: 3.38rem;
  }
}
/*===============================================================================
announce
===============================================================================*/
@media screen and (min-width: 769px) {
  .announce-bg {
    padding: 55px 0 10px;
  }
  .announce-inner {
    width: 720px;
    margin: 0 auto;
  }
  .announce-ttl {
    position: relative;
    padding: 28px 0 28px 80px;
    border-top: #404041 2px solid;
    border-bottom: #404041 2px solid;
    font-size: 23px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .announce-ttl::before {
    position: absolute;
    top: 45%;
    right: 65px;
    transform: translate(0, -50%);
    width: 32px;
    height: 9px;
    background: url(../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/2311/know-bg-img.webp) no-repeat center/cover; */
    padding: 80px 0 80px;
    background: url(../image/2311/bg_dots.webp);
    background-repeat: repeat;
  }
  .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: 20px 0 20px;
    background-color: #fff;
    width: 980px;
    margin: 0 auto;
  }
  .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 0.5rem;
    background-color: #fff;
  }
  .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
============================================================================= */
.achieve {
background: linear-gradient(#F5FAFD, #CCE9F8);
padding-top:80px;
padding-bottom:80px;
}

.achieve-wrap-bg-white {
background: #fff;
padding-top:20px;
padding-bottom:50px;
margin: 0 auto;
width: 980px;
}

@media screen and (max-width: 768px) {
  .achieve {
    padding-top:50px;
    padding-bottom:50px;
    }

  .achieve-wrap-bg-white {
    padding-top:30px;
    padding-bottom:30px;
    width: 95%;
    }
    
}



@media screen and (min-width: 769px) {
  .achievement {
    width: 800px;
    margin: 0 auto 100px;
    background: #fff;
  }
  .achievement-ttl {
    position: relative;
    font-size: 62px;
    color: #242a75;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-top: 100px;
  }
  /* .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: 0 auto 20px;
  }
  /* .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;
  }
}
/*==============================================================================
medicine02
============================================================================= */
@media screen and (min-width: 769px) {
  .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;
  }
  .medicine02-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 92px 0 1px;
  }
  .medicine02-inner02 {
    width: 1360px;
  }
  .medicine02-list {
    display: flex;
    justify-content: space-between;
  }
  .medicine02-list02 {
    margin-bottom: 76px;
  }
  .medicine02-item {
    width: 315px;
  }
  .medicine02-item:nth-of-type(3) .medicine02-subttl {
    padding: 10px 0 27px;
  }
  .medicine02-item:nth-of-type(3) .medicine02-block01::before {
    left: 105px;
  }
  .medicine02-item:nth-of-type(4) .medicine02-subttl {
    padding: 10px 0 27px;
  }
  .medicine02-head {
    position: relative;
    height: 235px;
    background-color: #242a75;
    padding: 55px 15px 35px;
    border-radius: 20px 20px 0 0;
  }
  .medicine02-pic {
    width: 100px;
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .medicine02-subttl {
    padding: 0 0 15px;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .medicine02-subttl .small {
    display: block;
    margin: 5px 0 0;
    font-size: 18px;
  }
  .medicine02-price {
    position: relative;
    margin: 25px 0 0;
    color: #fff;
    font-size: 33px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .medicine02-price .century {
    font-size: 60px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine02-price .tax {
    position: absolute;
    top: 7px;
    right: 30px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }
  .medicine02-foot {
    position: relative;
    height: 365px;
    padding: 25px 17px 25px 20px;
    background: #fff;
    border-right: #242a75 4px solid;
    border-left: #242a75 4px solid;
  }
  .medicine02-foot dl {
    background: #eaebf0;
    margin: 20px 0 0;
    padding: 20px 0 25px 10px;
  }
  .medicine02-foot dt {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd .tax {
    font-size: 12px;
  }
  .medicine02-foot dd .tax02 {
    font-size: 10px;
  }
  .medicine02-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine02-block01 + .medicine02-block01 {
    margin: 15px 0 0;
  }
  .medicine02-block01::before {
    position: absolute;
    left: 85px;
    bottom: -3px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "…";
  }
  .medicine02-foot-txt01 {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.12em;
  }
  .medicine02-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-link02 {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 0 5px;
    border-bottom: 1px solid #242a75;
    color: #242a75;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.14em;
    transition: opacity 0.3s;
  }
  .medicine02-link02:hover {
    opacity: 0.8;
    cursor: pointer;
  }
  .medicine02-btn {
    padding: 12px 0;
    background-color: #f7ab00;
    border-radius: 0 0 20px 20px;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: opacity 0.3s;
  }
  .medicine02-btn:hover {
    opacity: 0.8;
  }
  .medicine02-link {
    width: 448px;
    margin: 46px auto 50px;
  }
  .medicine02-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 4px 0 #242a75;
    padding: 15px 0 12px;
    transition: opacity 0.3s;
  }
  .medicine02-link a span {
    font-size: 12px;
    letter-spacing: -0.02em;
  }
  .medicine02-link a::before {
    position: absolute;
    top: 50%;
    right: 35px;
    width: 20px;
    height: 15px;
    background: url(../image/medicine02_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine02-link a:hover {
    opacity: 0.8;
  }
  .medicine02-ttl02 {
    margin-top: 50px;
    text-align: center;
    font-size: 39px;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .medicine02-ttl02 .deco {
    font-size: 51px;
    color: #168dc5;
  }
}
@media screen and (max-width: 768px) {
  .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;
  }
  .medicine02-bg02 {
    position: relative;
    margin: -1px 0 0;
    padding: 0.55rem 0 0;
  }
  .medicine02-item + .medicine02-item {
    margin: 0.43rem 0 0;
  }
  .medicine02-item:nth-of-type(3) .medicine02-head {
    padding: 0.6rem 0 0.25rem 0.4rem;
  }
  .medicine02-item:nth-of-type(3) .medicine02-subttl {
    padding: 0 0 0.3rem;
  }
  .medicine02-item:nth-of-type(3) .medicine02-block01::before {
    left: 1.9rem;
    bottom: -0.08rem;
  }
  .medicine02-item:nth-of-type(4) .medicine02-head {
    padding: 0.6rem 0 0.25rem 0.4rem;
  }
  .medicine02-item:nth-of-type(4) .medicine02-subttl {
    padding: 0 0 0.3rem;
  }
  .medicine02-head {
    position: relative;
    height: 2.55rem;
    background-color: #242a75;
    padding: 0.3rem 0 0.25rem 0.4rem;
    border-radius: 0.2rem 0.2rem 0 0;
  }
  .medicine02-pic {
    width: 2.21rem;
    position: absolute;
    top: 50%;
    right: 0.25rem;
    transform: translate(0, -50%);
  }
  .medicine02-subttl {
    width: 5rem;
    padding: 0 0 0.15rem;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .medicine02-subttl .small {
    display: block;
    margin: 0.12rem 0 0 -0.5em;
    font-size: 0.3rem;
  }
  .medicine02-price {
    position: relative;
    margin: 0.3rem 0 0;
    color: #fff;
    font-size: 0.4rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .medicine02-price .century {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .medicine02-price .tax {
    position: absolute;
    top: -0.05rem;
    left: 1.54rem;
    font-size: 0.12rem;
    letter-spacing: 0.04em;
  }
  .medicine02-foot {
    position: relative;
    padding: 0.3rem 0.25rem 0.48rem 0.3rem;
    background: #fff;
    border-right: #242a75 0.04rem solid;
    border-left: #242a75 0.04rem solid;
  }
  .medicine02-foot dl {
    background: #eaebf0;
    margin: 0.35rem 0 0;
    padding: 0.38rem 0.4rem 0.45rem 0.6rem;
  }
  .medicine02-foot dt {
    position: relative;
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-foot dd {
    font-size: 0.28rem;
    line-height: 1;
    letter-spacing: 0.14em;
  }
  .medicine02-block01 {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .medicine02-block01 + .medicine02-block01 {
    margin: 0.2rem 0 0;
  }
  .medicine02-block01::before {
    position: absolute;
    left: 1.5rem;
    bottom: -0.08rem;
    font-size: 0.28rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    content: "…";
  }
  .medicine02-foot-txt01 {
    padding: 0 0.1rem;
    font-size: 0.28rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
  }
  .medicine02-foot-txt01 .deco {
    color: #f7ab00;
    font-weight: bold;
  }
  .medicine02-link02 {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.4rem auto 0;
    padding: 0 0 0.1rem;
    border-bottom: 1px solid #242a75;
    color: #242a75;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.14em;
  }
  .medicine02-btn {
    color: #242a75;
    padding: 0.15rem 0;
    background-color: #f7ab00;
    border-radius: 0 0 0.2rem 0.2rem;
    font-size: 0.26rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .medicine02-link {
    position: relative;
    width: 6.1rem;
    margin: 0.8rem auto 0;
  }
  .medicine02-link::before {
    position: absolute;
    top: 50%;
    right: 0.35rem;
    width: 0.2rem;
    height: 0.15rem;
    background: url(../image/medicine02_icon01_pc.webp) no-repeat center/cover;
    transform: translate(0, -50%);
    content: "";
  }
  .medicine02-link a {
    display: block;
    background: #fff;
    border-radius: 0.2rem;
    color: #242a75;
    font-size: 0.34rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    border: 1px solid #242a75;
    box-shadow: 0 0.05rem 0 #242a75;
    padding: 0.15rem 0 0.12rem;
  }
  .medicine02-link a span {
    font-size: 0.2rem;
    letter-spacing: -0.02em;
  }
  .medicine02-ttl02 {
    margin-top: 0.5rem;
    text-align: center;
    font-size: 0.45rem;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .medicine02-ttl02 .deco {
    font-size: 0.57rem;
    color: #168dc5;
  }
}





.know-jittai {
  background: #000;
  padding: 10px 10px;
  color: #f7ab00;
  width: 300px;
  margin: 50px auto;
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 11px;
}

.know-jittai-lead {
  font-size: 46px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 70px;
}

.know-jittai-lead span {
color: #242A75;
}


@media screen and (max-width: 768px) {

  .know-jittai {
    width: 50%;
    margin: 0 auto 30px;
    font-size: 24px;
  }


  .know-jittai-lead {
margin: 0 0 0.6rem;
    font-size: 0.46rem;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    letter-spacing: 0.02em;
}
}


.know-meds-effect-ttl {
  background: #242a75;
  padding: 10px 10px;
  color: #fff;
  width: 500px;
  margin: 100px auto 30px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 11px;
  border-radius: 50px;
}

@media screen and (max-width: 768px) {
  .know-meds-effect-ttl {
    width:90%;
    letter-spacing: 5px;
    font-size: 18px;
    }
}


.know-meds-effect-txt {
width:500px;
margin: 0 auto 30px;
text-align: center;
color: #242a75;
font-size: 35px;
line-height: 4rem;
}

@media screen and (max-width: 768px) {
  .know-meds-effect-txt {
    width:90%;
    font-size: 24px;
    line-height: 1rem;
    }
}



@media screen and (max-width: 768px) {
  .challenge-img-cash {
    width:50%;
    margin: 20px auto 0;
    }

.challenge-pic01.challenge_img03 {
  width: 100%;
    margin: 0 auto;
    text-align: center;
}
}



.medicine-lead-txt {
  font-size: 31px;
  margin: 0px auto 50px;
  text-align: center;
  font-weight: bold;
}

.medicine-lead-txt span {
  background-color: #ff9;
}

@media screen and (max-width: 768px) {
  .medicine-lead-txt {
    font-size: 19px;
    margin: 5px auto 30px;
  }
}


.medicine-difference-img {
  width: 980px;
  margin: 30px auto 150px;
  text-align: center;
}

@media screen and (max-width: 768px) {
.medicine-difference-img {
  width: 90%;
  margin: 20px auto 40px;
}
}




.achieve .achieve-blk-1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: calc(100% - 30px);
  max-width: 800px;
  margin: 0 auto 42px;
}
.achieve .achieve-blk-1 h3 {
  width: 42.9844097996%;
  padding: 40px 0;
  border-top: 1px solid #162680;
  border-bottom: 1px solid #162680;
  font-size: 23px;
  font-weight: 700;
}
.achieve .achieve-blk-1 h3 span {
  color: #162680;
}
.achieve .achieve-blk-1 h3 span:nth-of-type(1),
.achieve .achieve-blk-1 h3 span:nth-of-type(2) {
  font-size: 44px;
}
.achieve .achieve-blk-1 h3 span:nth-of-type(3) {
  font-size: 36px;
}
.achieve .achieve-blk-1 h3 small {
  position: relative;
  top: -10px;
  font-size: 20px;
}
.achieve .achieve-blk-1 > span:nth-of-type(1) {
  width: 22.271714922%;
  margin: 0 3.0066815145% 0 auto;
}
.achieve .achieve-blk-1 > span:nth-of-type(2) {
  width: 26.1692650334%;
}
.achieve .achieve-blk-1 > small {
  width: 100%;
  margin-top: 17px;
  text-align: center;
  font-size: 12px;
  font-weight: 400;
}


@media (max-width: 940px) {
  .achieve {
    background: url(../img/bg/bg-light-blue-sp.webp) no-repeat center/cover;
  }
  .achieve .achieve-blk-1 h3 {
    width: 44.5434298441%;
    font-size: 30px;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(1),
  .achieve .achieve-blk-1 h3 span:nth-of-type(2) {
    font-size: 38px;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(3) {
    font-size: 30px;
  }
  .achieve .achieve-blk-1 h3 small {
    font-size: 18px;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(1) {
    width: 21.4922048998%;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(2) {
    width: 25.3897550111%;
  }
}
@media (max-width: 767px) {
  .achieve .achieve-blk-1 {
    flex-wrap: wrap;
    justify-content: center;
  }
  .achieve .achieve-blk-1 h3 {
    width: 80%;
    max-width: 450px;
    margin: 0 50px 30px;
    padding: 30px 0;
    text-align: center;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(1),
  .achieve .achieve-blk-1 h3 span:nth-of-type(2) {
    font-size: 38px;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(3) {
    font-size: 30px;
  }
  .achieve .achieve-blk-1 h3 small {
    font-size: 18px;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(1) {
    width: 30%;
    max-width: 214.5px;
    margin: 0 30px 0 0;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(2) {
    width: 33.1468531469%;
    max-width: 237px;
  }
}
@media (max-width: 500px) {
  .achieve .achieve-blk-1 h3 {
    margin: 0 10px 30px;
    padding: 24px 0;
    text-align: center;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(1),
  .achieve .achieve-blk-1 h3 span:nth-of-type(2) {
    font-size: 36px;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(3) {
    font-size: 26px;
  }
  .achieve .achieve-blk-1 h3 small {
    font-size: 16px;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(1) {
    width: 30%;
    max-width: 214.5px;
    margin: 0 30px 0 0;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(2) {
    width: 33.1468531469%;
    max-width: 237px;
  }
}
@media (max-width: 420px) {
  .achieve {
    padding: 36px 0 40px;
  }
  .achieve h2 {
    width: 57.8666666667%;
    margin-bottom: 30px;
  }
  .achieve .achieve-blk-1 {
    margin-bottom: 26px;
  }
  .achieve .achieve-blk-1 h3 {
    width: 100%;
    margin: 0 auto 30px;
    padding: 14px 0;
    text-align: center;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(1),
  .achieve .achieve-blk-1 h3 span:nth-of-type(2) {
    font-size: 33px;
  }
  .achieve .achieve-blk-1 h3 span:nth-of-type(3) {
    font-size: 25px;
  }
  .achieve .achieve-blk-1 h3 small {
    font-size: 14px;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(1) {
    width: 40%;
    max-width: 214.5px;
    margin: 0 30px 0 0;
  }
  .achieve .achieve-blk-1 > span:nth-of-type(2) {
    width: 44.1958041958%;
    max-width: 237px;
  }
  .achieve .achieve-blk-1 > small {
    font-size: 11px;
  }
  .achieve .achieve-blk-2 {
    padding-bottom: 32px;
  }
  .achieve .achieve-blk-2 h3 {
    margin-bottom: 33px;
    padding: 8px 2px 12px;
    font-size: 18px;
    line-height: 1.55;
  }
  .achieve .achieve-blk-2 h3 span {
    font-size: 24px;
  }
  .achieve .achieve-blk-2 h4 {
    margin-bottom: 19px;
    font-size: 18px;
  }
  .achieve .achieve-blk-2 h4 span {
    font-size: 24px;
  }
}


/* reason
--------------------------------- */
.reason {
  padding: 71px 0 80px;
  background-color: #F5AE31;
}
.reason h2 {
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: 700;
  color: #162680;
  letter-spacing: 0.1em;
  text-align: center;
}
.reason .reason-blk-1 {
  width: calc(100% - 30px);
  max-width: 980px;
  margin: 0 auto;
}
.reason .reason-blk-1 ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  row-gap: 20px;
}
.reason .reason-blk-1 ul li {
  position: relative;
  width: 31.8367346939%;
}
.reason .reason-blk-1 ul li > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-content: center;
  font-size: 16px;
  color: #fff;
  background-color: #162680;
  border-radius: 0 0 8px 0;
}
.reason .reason-blk-1 ul li img {
  aspect-ratio: 312/180;
}
.reason .reason-blk-1 ul li div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 5px;
  height: 90px;
  text-align: center;
  background-color: #fff;
}
.reason .reason-blk-1 ul li div h3 {
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 700;
  color: #162680;
  letter-spacing: 0;
}
.reason .reason-blk-1 ul li div h3 br {
  display: none;
}
.reason .reason-blk-1 ul li div p {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.reason .reason-blk-1 ul li div p span {
  font-size: 10px;
  font-weight: 400;
}
.reason .reason-blk-1 ul li div p br {
  display: none;
}
.reason .reason-blk-1 ul li div small {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.reason .reason-blk-1 ul li:last-child > div p br {
  display: none;
}
.reason .reason-img-pc {
  display: block;
}
.reason .reason-img-sp {
  display: none;
}

@media (max-width: 980px) {
  .reason .reason-blk-1 ul {
    row-gap: 14px;
  }
  .reason .reason-blk-1 ul li {
    width: 32.2448979592%;
  }
  .reason .reason-blk-1 ul li div {
    padding: 0 5px;
  }
  .reason .reason-blk-1 ul li div h3 {
    font-size: 16px;
  }
  .reason .reason-blk-1 ul li div h3 br {
    display: block;
  }
  .reason .reason-blk-1 ul li div p {
    font-size: 13px;
  }
  .reason .reason-blk-1 ul li div p span {
    font-size: 10px;
  }
  .reason .reason-blk-1 ul li div p br {
    display: block;
  }
  .reason .reason-blk-1 ul li:nth-child(n+4) > div {
    height: 110px;
  }
}
@media (max-width: 767px) {
  .reason .reason-blk-1 ul {
    justify-content: center;
    column-gap: 20px;
    row-gap: 14px;
  }
  .reason .reason-blk-1 ul li {
    width: 45%;
  }
  .reason .reason-blk-1 ul li div {
    height: 90px;
    padding: 0 5px;
  }
  .reason .reason-blk-1 ul li div h3 {
    font-size: 16px;
  }
  .reason .reason-blk-1 ul li div h3 br {
    display: block;
  }
  .reason .reason-blk-1 ul li div p {
    font-size: 13px;
  }
  .reason .reason-blk-1 ul li div p span {
    font-size: 10px;
  }
  .reason .reason-blk-1 ul li div p br {
    display: block;
  }
  .reason .reason-blk-1 ul li:nth-child(n+4) > div {
    height: 90px;
  }
  .reason .reason-blk-1 ul li:nth-child(3) div, .reason .reason-blk-1 ul li:nth-child(4) div {
    height: 110px;
  }
}
@media (max-width: 500px) {
  .reason .reason-blk-1 ul {
    row-gap: 15px;
  }
  .reason .reason-blk-1 ul li {
    display: flex;
    width: 100%;
  }
  .reason .reason-blk-1 ul li div {
    width: 68%;
    height: auto !important;
  }
  .reason .reason-blk-1 ul li div h3 {
    font-size: 18px;
  }
  .reason .reason-blk-1 ul li img {
    aspect-ratio: 1/1;
    width: 32%;
    object-fit: cover;
  }
  .reason .reason-blk-1 ul li:nth-child(odd) > span {
    left: unset;
    right: 0;
    border-radius: 0 0 0 8px;
  }
  .reason .reason-blk-1 ul li:nth-child(odd) > img {
    order: 2;
  }
  .reason .reason-blk-1 ul li:last-child > div p br {
    display: block;
  }
  .reason .reason-img-pc {
    display: none;
  }
  .reason .reason-img-sp {
    display: block;
  }
}
@media (max-width: 420px) {
  .reason {
    padding: 36px 0 40px;
  }
  .reason h2 {
    margin-bottom: 37px;
    font-size: 24px;
  }
}
/* merit
--------------------------------- */
.merit {
  padding: 70px 0 80px;
  text-align: center;
}
.merit h2 {
  display: inline-block;
  margin-bottom: 37px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.merit h2 img {
  position: relative;
  top: 4px;
  left: 8px;
  width: 350px;
}
.merit .merit-blk-1 {
  width: calc(100% - 30px);
  max-width: 980px;
  aspect-ratio: 980/671;
  margin: 0 auto;
  background: url(../image/2311/merit-table.webp) no-repeat center/contain;
}

@media (max-width: 767px) {
  .merit h2 {
    margin-bottom: 45px;
    font-size: 24px;
  }
  .merit h2 img {
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 64%;
    max-width: 350px;
  }
  .merit .merit-blk-1 {
    width: calc(100% - 30px);
    max-width: 500px;
    aspect-ratio: 355/680;
    margin: 0 auto;
    background: url(../image/2311/merit-table-sp.webp) no-repeat center/contain;
  }
}
@media (max-width: 420px) {
  .merit {
    padding: 36px 0 40px;
  }
  .merit h2 {
    margin-bottom: 37px;
    font-size: 18px;
  }
  .merit .merit-blk-1 {
    width: calc(100% - 30px);
    max-width: 450px;
    aspect-ratio: 355/680;
    margin: 0 auto;
    background: url(../image/2311/merit-table-sp.webp) no-repeat center/contain;
  }
}


/* 20231129修正
--------------------------------- */


.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-txt01 {
  font-size: 12px;
  text-align: right;
  font-weight: 500;
  margin: 15px 0 0;
}

@media screen and (max-width: 768px) {

  .challenge-block03 {
    position: relative;
    padding: 0.5rem 0 0.5rem;
    max-width: 100%;
    display: block;
  }
  .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-txt01 {
    margin: 0.3rem 0 0;
    font-size: 0.18rem;
    text-align: center;
  }
  .challenge-head02 .deco {
    color: #168dc5;
}
.challenge-chart {
  margin: 0.3rem auto 0;
  width: 6.15rem;
}

}





/* 20231212修正
--------------------------------- */

.medicine-price.y2312 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 25px auto 0;
  color: #fff;
  font-size: 27px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02em;
}

.medicine-price .century.y2312 {
  font-size: 41px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.medicine-price .tax.y2312 {
  display: inline-block;
  position: absolute;
  top: 1px;
  right: -7px;
  font-size: 10px;
  letter-spacing: 0.04em;
}



@media screen and (max-width: 768px) {

  .medicine-price.y2312 {
    position: relative;
    display: inline-block;
    margin: 0.3rem 0 0;
    color: #fff;
    font-size: 0.3rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
  }

  .medicine-price .century.y2312 {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  .medicine-price .tax.y2312 {
    position: absolute;
    top: 0.1rem;
    right: -0.1rem;
    display: inline-block;
    font-size: 0.12rem;
    letter-spacing: 0.04em;
  }

  .medicine-txt01.y2312 {
    color: #fff;
    font-size: 0.38rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 0.5rem;
  }

}



/* 20231225修正
--------------------------------- */

@media screen and (min-width: 769px) {

.fv-slide01 .fv-wrap.ver-y {
width: 620px;
margin-left: 20px;
}
.fv-slide01 .fv-wrap.ver-yc {
width: 620px;
margin-left: 20px;
}

.fv-slide01 .fv-lead.ver-y {
font-size: 36px;
}
.fv-slide01 .fv-lead.ver-yc {
font-size: 32px;
}

.fv-slide01 .fv-head.ver-y {
width: 620px;
}
.fv-slide01 .fv-head.ver-yc {
width: 620px;
}

.fv-slide01 .fv-lead .asterisk.ver-y {
top: 30px;
right: 133px;
font-size: 15px;
}
.fv-slide01 .fv-lead .asterisk.ver-yc {
  top: 30px;
  right: 121px;
  font-size: 15px;
}

.fv-slide01 .fv-note.ver-y {
margin: 0 0 0px 13px;
}

.deco.ver-yc {
  letter-spacing: -0.3rem;
  font-size: 85px;
}

.fv-slide01 .fv-lead .large.ver-yc {
  font-size: 75px;
}

}



@media screen and (max-width: 768px) {

.fv-slide01 .fv-head.ver-y {
padding: 0.9rem 0 0.4rem;
}
.fv-slide01 .fv-head.ver-yc {
width: 7rem;
padding: 0.9rem 0 0.25rem;
}


.fv-slide01 .fv-lead.ver-y {
font-size: 0.35rem;
}
.fv-slide01 .fv-lead.ver-yc {
font-size: 0.35rem;
}

.fv-slide01 .fv-lead .asterisk.ver-y {
top: 0.3rem;
right: 1.78rem;
}

.fv-slide01 .fv-lead .deco.ver-y {
  font-size: 1rem;
}
.fv-slide01 .fv-lead .deco.ver-yc {
  letter-spacing: -0.04rem;
  font-size: 0.8rem;
  line-height: 1.3;
  }

.fv-slide01 .fv-lead .large.ver-y {
  font-size: 0.8rem;
}
.fv-slide01 .fv-lead .large.ver-yc {
  font-size: 0.7rem;
  }

.fv-slide01 .fv-lead .asterisk.ver-yc {
top: 0.4rem;
right: 1.78rem;
}

}


/* -------------------------
240116修正
------------------------- */

@media screen and (min-width: 769px) {


.fv-slide01 .fv-catch.ver-y {
  padding: 20px 10px 0 165px;
  color: #fff;
  margin: 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
}

.fv-slide01 .fv-catch .deco.ver-y {
  font-size: 52px;
  color: #f7ab00;
}

}




@media screen and (max-width: 768px) {

  .fv-slide01 .fv-head.ver-y {
  padding: 0.9rem 0 0.5rem;
  }
  .fv-slide01 .fv-head.ver-yc {
  width: 7rem;
  padding: 0.9rem 0 0.25rem;
  }


  .fv-slide01 .fv-catch.ver-y {
    color: #fff;
    margin: 11px 0;
    font-size: 0.48rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: center;
  }

  .fv-slide01 .fv-catch .deco.ver-y {
    font-size: 0.63rem;
    color: #f7ab00;
  }


  .fv-slide03 .fv-wrap.ver-y {
    position: relative;
    background: url(../image/2311/fv_slide_bg03_sp.webp) no-repeat center/cover;
    margin: 0 -0.3rem;
    padding: 1.1rem 0 0.9rem;
  }

}



/* 20240416  FV注釈追加
======================================= */


@media screen and (min-width: 769px) {
.fv-slide01 .fv-note {
  margin: 0 0 0px -65px;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  font-weight: normal;
  bottom: -130px;
  position: absolute;
  }
}


@media screen and (max-width: 768px) {
.fv-slide01 .fv-list {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  width: 6.9rem;
  margin: 3.1rem auto 0;
}
.fv-slide01 .fv-note.ver-y {
  bottom: 37px;
}

}

/* ---------ED - 価格専用コード---------- */
.price .price__inner {
    position: relative;
    z-index: 0;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 70px 15px 70px;
    text-align: center;
}
.p-price__bg.p-price__bg--white {
    background-color: #fff;
}

.p-price__bg.p-price__bg--gray {
    background-color: #f8f9fa;
}

.p-price__bg.p-price__bg--blue {
    background-color: #111e66;
}

.p-price__box {
    max-width: 420px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .p-price__box {
        max-width: 100%;
        width: 100%;
    }
}

.p-price__box.p-price__box--blue {
    background-color: #f0fbff;
}

.p-price__box.p-price__box--orange {
    background-color: #fffaf0;
    position: relative;
}

.p-price__box.p-price__box--gray {
    background-color: #f8f9fa;
}

.p-price__box picture:nth-of-type(2) img {
    /* width: 340px; */
    padding: 16px 40px 40px;
}

.p-price__label {
    position: absolute;
    height: 88px;
    width: 88px;
    object-fit: contain;
    top: 84px;
    right: 29px;
}

@media screen and (max-width: 767px) {
    .p-price__label {
        width: 19.5%;
    }
}

.p-price__toggle {
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .p-price__toggle {
        background-color: #e9eef4;
        padding-top: 16px;
    }
}

.p-price__detail {
    display: none;
    background-color: #f8f9fa;
}

@media screen and (max-width: 767px) {
    .p-price__detail {
        flex-direction: column;
        background-color: #e9eef4;
    }

    .p-price__detail .p-price__box--gray:first-child {
        border-radius: initial;
    }

    .p-price__detail .p-price__box--gray:last-child {
        border-top: 1px solid #3d536a;
        border-radius: 0 0 10px 10px;
    }

}

.p-price__detail img {
    padding: 16px 40px 40px;
}

.p-price__notice {
    padding-left: 65px;
    display: block;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .p-price__notice {
        background-color: #e9eef4;
        padding-left: 30px;
    }
}

.p-price__notice img {
    max-width: 326px;
    width: 100%;
}

.p-price__account-img {
    max-width: 341px;
    width: 100%;
}

.p-price__cta-catch {
    max-width: 225px;
    width: 100%;
    padding-bottom: 18px;
}


/* ---------ユーティリティコード---------- */
.u-marA0 {
    margin: 0 !important
}

.u-marA5 {
    margin: 5px !important
}

.u-marA10 {
    margin: 10px !important
}

.u-marA15 {
    margin: 15px !important
}

.u-marA20 {
    margin: 20px !important
}

.u-marA25 {
    margin: 25px !important
}

.u-marA30 {
    margin: 30px !important
}

.u-marA40 {
    margin: 40px !important
}

.u-marA50 {
    margin: 50px !important
}

.u-marA60 {
    margin: 60px !important
}

.u-marA70 {
    margin: 70px !important
}

.u-marA80 {
    margin: 80px !important
}

.u-marA90 {
    margin: 90px !important
}

.u-marT0 {
    margin-top: 0 !important
}

.u-marT5 {
    margin-top: 5px !important
}

.u-marT10 {
    margin-top: 10px !important
}

.u-marT15 {
    margin-top: 15px !important
}

.u-marT20 {
    margin-top: 20px !important
}

.u-marT25 {
    margin-top: 25px !important
}

.u-marT30 {
    margin-top: 30px !important
}

.u-marT40 {
    margin-top: 40px !important
}

.u-marT50 {
    margin-top: 50px !important
}

.u-marT60 {
    margin-top: 60px !important
}

.u-marT70 {
    margin-top: 70px !important
}

.u-marT80 {
    margin-top: 80px !important
}

.u-marT90 {
    margin-top: 90px !important
}

.u-marT120 {
    margin-top: 120px !important
}

.u-marB0 {
    margin-bottom: 0 !important
}

.u-marB5 {
    margin-bottom: 5px !important
}

.u-marB10 {
    margin-bottom: 10px !important
}

.u-marB15 {
    margin-bottom: 15px !important
}

.u-marB20 {
    margin-bottom: 20px !important
}

.u-marB25 {
    margin-bottom: 25px !important
}

.u-marB30 {
    margin-bottom: 30px !important
}

.u-marB40 {
    margin-bottom: 40px !important
}

.u-marB50 {
    margin-bottom: 50px !important
}

.u-marB60 {
    margin-bottom: 60px !important
}

.u-marB70 {
    margin-bottom: 70px !important
}

.u-marB80 {
    margin-bottom: 80px !important
}

.u-marB90 {
    margin-bottom: 90px !important
}

.u-marL0 {
    margin-left: 0 !important
}

.u-marL5 {
    margin-left: 5px !important
}

.u-marL10 {
    margin-left: 10px !important
}

.u-marL15 {
    margin-left: 15px !important
}

.u-marL20 {
    margin-left: 20px !important
}

.u-marL25 {
    margin-left: 25px !important
}

.u-marL30 {
    margin-left: 30px !important
}

.u-marL40 {
    margin-left: 40px !important
}

.u-marL50 {
    margin-left: 50px !important
}

.u-marL60 {
    margin-left: 60px !important
}

.u-marL70 {
    margin-left: 70px !important
}

.u-marL80 {
    margin-left: 80px !important
}

.u-marL90 {
    margin-left: 90px !important
}

.u-marR0 {
    margin-right: 0 !important
}

.u-marR5 {
    margin-right: 5px !important
}

.u-marR10 {
    margin-right: 10px !important
}

.u-marR15 {
    margin-right: 15px !important
}

.u-marR20 {
    margin-right: 20px !important
}

.u-marR25 {
    margin-right: 25px !important
}

.u-marR30 {
    margin-right: 30px !important
}

.u-marR40 {
    margin-right: 40px !important
}

.u-marR50 {
    margin-right: 50px !important
}

.u-marR60 {
    margin-right: 60px !important
}

.u-marR70 {
    margin-right: 70px !important
}

.u-marR80 {
    margin-right: 80px !important
}

.u-marR90 {
    margin-right: 90px !important
}

@media print,
screen and (min-width:768px) {
    .u-marT0_pc {
        margin-top: 0 !important
    }

    .u-marT5_pc {
        margin-top: 5px !important
    }

    .u-marT10_pc {
        margin-top: 10px !important
    }

    .u-marT15_pc {
        margin-top: 15px !important
    }

    .u-marT20_pc {
        margin-top: 20px !important
    }

    .u-marT25_pc {
        margin-top: 25px !important
    }

    .u-marT30_pc {
        margin-top: 30px !important
    }

    .u-marT40_pc {
        margin-top: 40px !important
    }

    .u-marT50_pc {
        margin-top: 50px !important
    }

    .u-marT60_pc {
        margin-top: 60px !important
    }

    .u-marT70_pc {
        margin-top: 70px !important
    }

    .u-marT80_pc {
        margin-top: 80px !important
    }

    .u-marT90_pc {
        margin-top: 90px !important
    }

    .u-marT120_pc {
        margin-top: 120px !important
    }

    .u-marB0_pc {
        margin-bottom: 0 !important
    }

    .u-marB5_pc {
        margin-bottom: 5px !important
    }

    .u-marB10_pc {
        margin-bottom: 10px !important
    }

    .u-marB15_pc {
        margin-bottom: 15px !important
    }

    .u-marB20_pc {
        margin-bottom: 20px !important
    }

    .u-marB25_pc {
        margin-bottom: 25px !important
    }

    .u-marB30_pc {
        margin-bottom: 30px !important
    }

    .u-marB40_pc {
        margin-bottom: 40px !important
    }

    .u-marB50_pc {
        margin-bottom: 50px !important
    }

    .u-marB60_pc {
        margin-bottom: 60px !important
    }

    .u-marB70_pc {
        margin-bottom: 70px !important
    }

    .u-marB80_pc {
        margin-bottom: 80px !important
    }

    .u-marB90_pc {
        margin-bottom: 90px !important
    }

    .u-marL0_pc {
        margin-left: 0 !important
    }

    .u-marL5_pc {
        margin-left: 5px !important
    }

    .u-marL10_pc {
        margin-left: 10px !important
    }

    .u-marL15_pc {
        margin-left: 15px !important
    }

    .u-marL20_pc {
        margin-left: 20px !important
    }

    .u-marL25_pc {
        margin-left: 25px !important
    }

    .u-marL30_pc {
        margin-left: 30px !important
    }

    .u-marL40_pc {
        margin-left: 40px !important
    }

    .u-marL50_pc {
        margin-left: 50px !important
    }

    .u-marL60_pc {
        margin-left: 60px !important
    }

    .u-marL70_pc {
        margin-left: 70px !important
    }

    .u-marL80_pc {
        margin-left: 80px !important
    }

    .u-marL90_pc {
        margin-left: 90px !important
    }

    .u-marR0_pc {
        margin-right: 0 !important
    }

    .u-marR5_pc {
        margin-right: 5px !important
    }

    .u-marR10_pc {
        margin-right: 10px !important
    }

    .u-marR15_pc {
        margin-right: 15px !important
    }

    .u-marR20_pc {
        margin-right: 20px !important
    }

    .u-marR25_pc {
        margin-right: 25px !important
    }

    .u-marR30_pc {
        margin-right: 30px !important
    }

    .u-marR40_pc {
        margin-right: 40px !important
    }

    .u-marR50_pc {
        margin-right: 50px !important
    }

    .u-marR60_pc {
        margin-right: 60px !important
    }

    .u-marR70_pc {
        margin-right: 70px !important
    }

    .u-marR80_pc {
        margin-right: 80px !important
    }

    .u-marR90_pc {
        margin-right: 90px !important
    }
}

@media screen and (max-width:767px) {
    .u-marA0_sp {
        margin: 0 !important
    }

    .u-marA5_sp {
        margin: 5px !important
    }

    .u-marA10_sp {
        margin: 10px !important
    }

    .u-marA15_sp {
        margin: 15px !important
    }

    .u-marA20_sp {
        margin: 20px !important
    }

    .u-marA25_sp {
        margin: 25px !important
    }

    .u-marA30_sp {
        margin: 30px !important
    }

    .u-marA40_sp {
        margin: 40px !important
    }

    .u-marA50_sp {
        margin: 50px !important
    }

    .u-marA60_sp {
        margin: 60px !important
    }

    .u-marA70_sp {
        margin: 70px !important
    }

    .u-marA80_sp {
        margin: 80px !important
    }

    .u-marA90_sp {
        margin: 90px !important
    }

    .u-marT0_sp {
        margin-top: 0 !important
    }

    .u-marT5_sp {
        margin-top: 5px !important
    }

    .u-marT10_sp {
        margin-top: 10px !important
    }

    .u-marT15_sp {
        margin-top: 15px !important
    }

    .u-marT20_sp {
        margin-top: 20px !important
    }

    .u-marT25_sp {
        margin-top: 25px !important
    }

    .u-marT30_sp {
        margin-top: 30px !important
    }

    .u-marT40_sp {
        margin-top: 40px !important
    }

    .u-marT50_sp {
        margin-top: 50px !important
    }

    .u-marT60_sp {
        margin-top: 60px !important
    }

    .u-marT70_sp {
        margin-top: 70px !important
    }

    .u-marT80_sp {
        margin-top: 80px !important
    }

    .u-marT90_sp {
        margin-top: 90px !important
    }

    .u-marT120_sp {
        margin-top: 120px !important
    }

    .u-marB0_sp {
        margin-bottom: 0 !important
    }

    .u-marB5_sp {
        margin-bottom: 5px !important
    }

    .u-marB10_sp {
        margin-bottom: 10px !important
    }

    .u-marB15_sp {
        margin-bottom: 15px !important
    }

    .u-marB20_sp {
        margin-bottom: 20px !important
    }

    .u-marB25_sp {
        margin-bottom: 25px !important
    }

    .u-marB30_sp {
        margin-bottom: 30px !important
    }

    .u-marB40_sp {
        margin-bottom: 40px !important
    }

    .u-marB50_sp {
        margin-bottom: 50px !important
    }

    .u-marB60_sp {
        margin-bottom: 60px !important
    }

    .u-marB70_sp {
        margin-bottom: 70px !important
    }

    .u-marB80_sp {
        margin-bottom: 80px !important
    }

    .u-marB90_sp {
        margin-bottom: 90px !important
    }

    .u-marL0_sp {
        margin-left: 0 !important
    }

    .u-marL5_sp {
        margin-left: 5px !important
    }

    .u-marL10_sp {
        margin-left: 10px !important
    }

    .u-marL15_sp {
        margin-left: 15px !important
    }

    .u-marL20_sp {
        margin-left: 20px !important
    }

    .u-marL25_sp {
        margin-left: 25px !important
    }

    .u-marL30_sp {
        margin-left: 30px !important
    }

    .u-marL40_sp {
        margin-left: 40px !important
    }

    .u-marL50_sp {
        margin-left: 50px !important
    }

    .u-marL60_sp {
        margin-left: 60px !important
    }

    .u-marL70_sp {
        margin-left: 70px !important
    }

    .u-marL80_sp {
        margin-left: 80px !important
    }

    .u-marL90_sp {
        margin-left: 90px !important
    }

    .u-marR0_sp {
        margin-right: 0 !important
    }

    .u-marR5_sp {
        margin-right: 5px !important
    }

    .u-marR10_sp {
        margin-right: 10px !important
    }

    .u-marR15_sp {
        margin-right: 15px !important
    }

    .u-marR20_sp {
        margin-right: 20px !important
    }

    .u-marR25_sp {
        margin-right: 25px !important
    }

    .u-marR30_sp {
        margin-right: 30px !important
    }

    .u-marR40_sp {
        margin-right: 40px !important
    }

    .u-marR50_sp {
        margin-right: 50px !important
    }

    .u-marR60_sp {
        margin-right: 60px !important
    }

    .u-marR70_sp {
        margin-right: 70px !important
    }

    .u-marR80_sp {
        margin-right: 80px !important
    }

    .u-marR90_sp {
        margin-right: 90px !important
    }
}

.u-padA0 {
    padding: 0 !important
}

.u-padA5 {
    padding: 5px !important
}

.u-padA10 {
    padding: 10px !important
}

.u-padA15 {
    padding: 15px !important
}

.u-padA20 {
    padding: 20px !important
}

.u-padA25 {
    padding: 25px !important
}

.u-padA30 {
    padding: 30px !important
}

.u-padA40 {
    padding: 40px !important
}

.u-padA50 {
    padding: 50px !important
}

.u-padA60 {
    padding: 60px !important
}

.u-padA70 {
    padding: 70px !important
}

.u-padA80 {
    padding: 80px !important
}

.u-padA90 {
    padding: 90px !important
}

.u-padT0 {
    padding-top: 0 !important
}

.u-padT5 {
    padding-top: 5px !important
}

.u-padT10 {
    padding-top: 10px !important
}

.u-padT15 {
    padding-top: 15px !important
}

.u-padT20 {
    padding-top: 20px !important
}

.u-padT25 {
    padding-top: 25px !important
}

.u-padT30 {
    padding-top: 30px !important
}

.u-padT40 {
    padding-top: 40px !important
}

.u-padT50 {
    padding-top: 50px !important
}

.u-padT60 {
    padding-top: 60px !important
}

.u-padT70 {
    padding-top: 70px !important
}

.u-padT80 {
    padding-top: 80px !important
}

.u-padT90 {
    padding-top: 90px !important
}

.u-padB0 {
    padding-bottom: 0 !important
}

.u-padB5 {
    padding-bottom: 5px !important
}

.u-padB10 {
    padding-bottom: 10px !important
}

.u-padB15 {
    padding-bottom: 15px !important
}

.u-padB20 {
    padding-bottom: 20px !important
}

.u-padB25 {
    padding-bottom: 25px !important
}

.u-padB30 {
    padding-bottom: 30px !important
}

.u-padB40 {
    padding-bottom: 40px !important
}

.u-padB50 {
    padding-bottom: 50px !important
}

.u-padB60 {
    padding-bottom: 60px !important
}

.u-padB70 {
    padding-bottom: 70px !important
}

.u-padB80 {
    padding-bottom: 80px !important
}

.u-padB90 {
    padding-bottom: 90px !important
}

.u-padL0 {
    padding-left: 0 !important
}

.u-padL5 {
    padding-left: 5px !important
}

.u-padL10 {
    padding-left: 10px !important
}

.u-padL15 {
    padding-left: 15px !important
}

.u-padL20 {
    padding-left: 20px !important
}

.u-padL25 {
    padding-left: 25px !important
}

.u-padL30 {
    padding-left: 30px !important
}

.u-padL40 {
    padding-left: 40px !important
}

.u-padL50 {
    padding-left: 50px !important
}

.u-padL60 {
    padding-left: 60px !important
}

.u-padL70 {
    padding-left: 70px !important
}

.u-padL80 {
    padding-left: 80px !important
}

.u-padL90 {
    padding-left: 90px !important
}

.u-padR0 {
    padding-right: 0 !important
}

.u-padR5 {
    padding-right: 5px !important
}

.u-padR10 {
    padding-right: 10px !important
}

.u-padR15 {
    padding-right: 15px !important
}

.u-padR20 {
    padding-right: 20px !important
}

.u-padR25 {
    padding-right: 25px !important
}

.u-padR30 {
    padding-right: 30px !important
}

.u-padR40 {
    padding-right: 40px !important
}

.u-padR50 {
    padding-right: 50px !important
}

.u-padR60 {
    padding-right: 60px !important
}

.u-padR70 {
    padding-right: 70px !important
}

.u-padR80 {
    padding-right: 80px !important
}

.u-padR90 {
    padding-right: 90px !important
}

@media print,
screen and (min-width:768px) {
    .u-padA0_pc {
        padding: 0 !important
    }

    .u-padA5_pc {
        padding: 5px !important
    }

    .u-padA10_pc {
        padding: 10px !important
    }

    .u-padA15_pc {
        padding: 15px !important
    }

    .u-padA20_pc {
        padding: 20px !important
    }

    .u-padA25_pc {
        padding: 25px !important
    }

    .u-padA30_pc {
        padding: 30px !important
    }

    .u-padA40_pc {
        padding: 40px !important
    }

    .u-padA50_pc {
        padding: 50px !important
    }

    .u-padA60_pc {
        padding: 60px !important
    }

    .u-padA70_pc {
        padding: 70px !important
    }

    .u-padA80_pc {
        padding: 80px !important
    }

    .u-padA90_pc {
        padding: 90px !important
    }

    .u-padT0_pc {
        padding-top: 0 !important
    }

    .u-padT5_pc {
        padding-top: 5px !important
    }

    .u-padT10_pc {
        padding-top: 10px !important
    }

    .u-padT15_pc {
        padding-top: 15px !important
    }

    .u-padT20_pc {
        padding-top: 20px !important
    }

    .u-padT25_pc {
        padding-top: 25px !important
    }

    .u-padT30_pc {
        padding-top: 30px !important
    }

    .u-padT40_pc {
        padding-top: 40px !important
    }

    .u-padT50_pc {
        padding-top: 50px !important
    }

    .u-padT60_pc {
        padding-top: 60px !important
    }

    .u-padT70_pc {
        padding-top: 70px !important
    }

    .u-padT80_pc {
        padding-top: 80px !important
    }

    .u-padT90_pc {
        padding-top: 90px !important
    }

    .u-padB0_pc {
        padding-bottom: 0 !important
    }

    .u-padB5_pc {
        padding-bottom: 5px !important
    }

    .u-padB10_pc {
        padding-bottom: 10px !important
    }

    .u-padB15_pc {
        padding-bottom: 15px !important
    }

    .u-padB20_pc {
        padding-bottom: 20px !important
    }

    .u-padB25_pc {
        padding-bottom: 25px !important
    }

    .u-padB30_pc {
        padding-bottom: 30px !important
    }

    .u-padB40_pc {
        padding-bottom: 40px !important
    }

    .u-padB50_pc {
        padding-bottom: 50px !important
    }

    .u-padB60_pc {
        padding-bottom: 60px !important
    }

    .u-padB70_pc {
        padding-bottom: 70px !important
    }

    .u-padB80_pc {
        padding-bottom: 80px !important
    }

    .u-padB90_pc {
        padding-bottom: 90px !important
    }

    .u-padL0_pc {
        padding-left: 0 !important
    }

    .u-padL5_pc {
        padding-left: 5px !important
    }

    .u-padL10_pc {
        padding-left: 10px !important
    }

    .u-padL15_pc {
        padding-left: 15px !important
    }

    .u-padL20_pc {
        padding-left: 20px !important
    }

    .u-padL25_pc {
        padding-left: 25px !important
    }

    .u-padL30_pc {
        padding-left: 30px !important
    }

    .u-padL40_pc {
        padding-left: 40px !important
    }

    .u-padL50_pc {
        padding-left: 50px !important
    }

    .u-padL60_pc {
        padding-left: 60px !important
    }

    .u-padL70_pc {
        padding-left: 70px !important
    }

    .u-padL80_pc {
        padding-left: 80px !important
    }

    .u-padL90_pc {
        padding-left: 90px !important
    }

    .u-padR0_pc {
        padding-right: 0 !important
    }

    .u-padR5_pc {
        padding-right: 5px !important
    }

    .u-padR10_pc {
        padding-right: 10px !important
    }

    .u-padR15_pc {
        padding-right: 15px !important
    }

    .u-padR20_pc {
        padding-right: 20px !important
    }

    .u-padR25_pc {
        padding-right: 25px !important
    }

    .u-padR30_pc {
        padding-right: 30px !important
    }

    .u-padR40_pc {
        padding-right: 40px !important
    }

    .u-padR50_pc {
        padding-right: 50px !important
    }

    .u-padR60_pc {
        padding-right: 60px !important
    }

    .u-padR70_pc {
        padding-right: 70px !important
    }

    .u-padR80_pc {
        padding-right: 80px !important
    }

    .u-padR90_pc {
        padding-right: 90px !important
    }
}

@media screen and (max-width:767px) {
    .u-padA0_sp {
        padding: 0 !important
    }

    .u-padA5_sp {
        padding: 5px !important
    }

    .u-padA10_sp {
        padding: 10px !important
    }

    .u-padA15_sp {
        padding: 15px !important
    }

    .u-padA20_sp {
        padding: 20px !important
    }

    .u-padA25_sp {
        padding: 25px !important
    }

    .u-padA30_sp {
        padding: 30px !important
    }

    .u-padA40_sp {
        padding: 40px !important
    }

    .u-padA50_sp {
        padding: 50px !important
    }

    .u-padA60_sp {
        padding: 60px !important
    }

    .u-padA70_sp {
        padding: 70px !important
    }

    .u-padA80_sp {
        padding: 80px !important
    }

    .u-padA90_sp {
        padding: 90px !important
    }

    .u-padT0_sp {
        padding-top: 0 !important
    }

    .u-padT5_sp {
        padding-top: 5px !important
    }

    .u-padT10_sp {
        padding-top: 10px !important
    }

    .u-padT15_sp {
        padding-top: 15px !important
    }

    .u-padT20_sp {
        padding-top: 20px !important
    }

    .u-padT25_sp {
        padding-top: 25px !important
    }

    .u-padT30_sp {
        padding-top: 30px !important
    }

    .u-padT40_sp {
        padding-top: 40px !important
    }

    .u-padT50_sp {
        padding-top: 50px !important
    }

    .u-padT60_sp {
        padding-top: 60px !important
    }

    .u-padT70_sp {
        padding-top: 70px !important
    }

    .u-padT80_sp {
        padding-top: 80px !important
    }

    .u-padT90_sp {
        padding-top: 90px !important
    }

    .u-padB0_sp {
        padding-bottom: 0 !important
    }

    .u-padB5_sp {
        padding-bottom: 5px !important
    }

    .u-padB10_sp {
        padding-bottom: 10px !important
    }

    .u-padB15_sp {
        padding-bottom: 15px !important
    }

    .u-padB20_sp {
        padding-bottom: 20px !important
    }

    .u-padB25_sp {
        padding-bottom: 25px !important
    }

    .u-padB30_sp {
        padding-bottom: 30px !important
    }

    .u-padB40_sp {
        padding-bottom: 40px !important
    }

    .u-padB50_sp {
        padding-bottom: 50px !important
    }

    .u-padB60_sp {
        padding-bottom: 60px !important
    }

    .u-padB70_sp {
        padding-bottom: 70px !important
    }

    .u-padB80_sp {
        padding-bottom: 80px !important
    }

    .u-padB90_sp {
        padding-bottom: 90px !important
    }

    .u-padL0_sp {
        padding-left: 0 !important
    }

    .u-padL5_sp {
        padding-left: 5px !important
    }

    .u-padL10_sp {
        padding-left: 10px !important
    }

    .u-padL15_sp {
        padding-left: 15px !important
    }

    .u-padL20_sp {
        padding-left: 20px !important
    }

    .u-padL25_sp {
        padding-left: 25px !important
    }

    .u-padL30_sp {
        padding-left: 30px !important
    }

    .u-padL40_sp {
        padding-left: 40px !important
    }

    .u-padL50_sp {
        padding-left: 50px !important
    }

    .u-padL60_sp {
        padding-left: 60px !important
    }

    .u-padL70_sp {
        padding-left: 70px !important
    }

    .u-padL80_sp {
        padding-left: 80px !important
    }

    .u-padL90_sp {
        padding-left: 90px !important
    }

    .u-padR0_sp {
        padding-right: 0 !important
    }

    .u-padR5_sp {
        padding-right: 5px !important
    }

    .u-padR10_sp {
        padding-right: 10px !important
    }

    .u-padR15_sp {
        padding-right: 15px !important
    }

    .u-padR20_sp {
        padding-right: 20px !important
    }

    .u-padR25_sp {
        padding-right: 25px !important
    }

    .u-padR30_sp {
        padding-right: 30px !important
    }

    .u-padR40_sp {
        padding-right: 40px !important
    }

    .u-padR50_sp {
        padding-right: 50px !important
    }

    .u-padR60_sp {
        padding-right: 60px !important
    }

    .u-padR70_sp {
        padding-right: 70px !important
    }

    .u-padR80_sp {
        padding-right: 80px !important
    }

    .u-padR90_sp {
        padding-right: 90px !important
    }
}


.u-wid10Per {
    width: 10% !important;
}

.u-wid15Per {
    width: 15% !important;
}

.u-wid20Per {
    width: 20% !important;
}

.u-wid25Per {
    width: 25% !important;
}

.u-wid30Per {
    width: 30% !important;
}

.u-wid35Per {
    width: 35% !important;
}

.u-wid40Per {
    width: 40% !important;
}

.u-wid45Per {
    width: 45% !important;
}

.u-wid50Per {
    width: 50% !important;
}

.u-wid55Per {
    width: 55% !important;
}

.u-wid60Per {
    width: 60% !important;
}

.u-wid65Per {
    width: 65% !important;
}

.u-wid70Per {
    width: 70% !important;
}

.u-wid75Per {
    width: 75% !important;
}

.u-wid80Per {
    width: 80% !important;
}

.u-wid85Per {
    width: 85% !important;
}

.u-wid90Per {
    width: 90% !important;
}

.u-wid95Per {
    width: 95% !important;
}

.u-wid100Per {
    width: 100% !important;
}

.u-wid50 {
    max-width: 50px !important;
    width: 100%;
}

.u-wid100 {
    max-width: 100px !important;
    width: 100%;
}

.u-wid150 {
    max-width: 150px !important;
    width: 100%;
}

.u-wid200 {
    max-width: 200px !important;
    width: 100%;
}

.u-wid250 {
    max-width: 250px !important;
    width: 100%;
}

.u-wid300 {
    max-width: 300px !important;
    width: 100%;
}

.u-wid350 {
    max-width: 350px !important;
    width: 100%;
}

.u-wid400 {
    max-width: 400px !important;
    width: 100%;
}

.u-wid450 {
    max-width: 450px !important;
    width: 100%;
}

.u-wid500 {
    max-width: 500px !important;
    width: 100%;
}

.u-wid550 {
    max-width: 550px !important;
    width: 100%;
}

.u-wid600 {
    max-width: 600px !important;
    width: 100%;
}

.u-wid650 {
    max-width: 650px !important;
    width: 100%;
}

.u-wid700 {
    max-width: 700px !important;
    width: 100%;
}

.u-wid750 {
    max-width: 750px !important;
    width: 100%;
}

.u-wid800 {
    max-width: 800px !important;
    width: 100%;
}

.u-wid850 {
    max-width: 850px !important;
    width: 100%;
}

.u-wid900 {
    max-width: 900px !important;
    width: 100%;
}

.u-wid950 {
    max-width: 950px !important;
    width: 100%;
}

@media print,
screen and (min-width:768px) {
    .u-wid10Per_pc {
        width: 10% !important;
    }

    .u-wid15Per_pc {
        width: 15% !important;
    }

    .u-wid20Per_pc {
        width: 20% !important;
    }

    .u-wid25Per_pc {
        width: 25% !important;
    }

    .u-wid30Per_pc {
        width: 30% !important;
    }

    .u-wid35Per_pc {
        width: 35% !important;
    }

    .u-wid40Per_pc {
        width: 40% !important;
    }

    .u-wid45Per_pc {
        width: 45% !important;
    }

    .u-wid50Per_pc {
        width: 50% !important;
    }

    .u-wid55Per_pc {
        width: 55% !important;
    }

    .u-wid60Per_pc {
        width: 60% !important;
    }

    .u-wid65Per_pc {
        width: 65% !important;
    }

    .u-wid70Per_pc {
        width: 70% !important;
    }

    .u-wid75Per_pc {
        width: 75% !important;
    }

    .u-wid80Per_pc {
        width: 80% !important;
    }

    .u-wid85Per_pc {
        width: 85% !important;
    }

    .u-wid90Per_pc {
        width: 90% !important;
    }

    .u-wid95Per_pc {
        width: 95% !important;
    }

    .u-wid100Per_pc {
        width: 100% !important;
    }

    .u-wid50_pc {
        max-width: 50px !important;
        width: 100%;
    }

    .u-wid100_pc {
        max-width: 100px !important;
        width: 100%;
    }

    .u-wid150_pc {
        max-width: 150px !important;
        width: 100%;
    }

    .u-wid200_pc {
        max-width: 200px !important;
        width: 100%;
    }

    .u-wid250_pc {
        max-width: 250px !important;
        width: 100%;
    }

    .u-wid300_pc {
        max-width: 300px !important;
        width: 100%;
    }

    .u-wid350_pc {
        max-width: 350px !important;
        width: 100%;
    }

    .u-wid400_pc {
        max-width: 400px !important;
        width: 100%;
    }

    .u-wid450_pc {
        max-width: 450px !important;
        width: 100%;
    }

    .u-wid500_pc {
        max-width: 500px !important;
        width: 100%;
    }

    .u-wid550_pc {
        max-width: 550px !important;
        width: 100%;
    }

    .u-wid600_pc {
        max-width: 600px !important;
        width: 100%;
    }

    .u-wid650_pc {
        max-width: 650px !important;
        width: 100%;
    }

    .u-wid700_pc {
        max-width: 700px !important;
        width: 100%;
    }

    .u-wid750_pc {
        max-width: 750px !important;
        width: 100%;
    }

    .u-wid800_pc {
        max-width: 800px !important;
        width: 100%;
    }

    .u-wid850_pc {
        max-width: 850px !important;
        width: 100%;
    }

    .u-wid900_pc {
        max-width: 900px !important;
        width: 100%;
    }

    .u-wid950_pc {
        max-width: 950px !important;
        width: 100%;
    }
}

@media screen and (max-width:767px) {
    .u-wid10Per_sp {
        width: 10% !important;
    }

    .u-wid15Per_sp {
        width: 15% !important;
    }

    .u-wid20Per_sp {
        width: 20% !important;
    }

    .u-wid25Per_sp {
        width: 25% !important;
    }

    .u-wid30Per_sp {
        width: 30% !important;
    }

    .u-wid35Per_sp {
        width: 35% !important;
    }

    .u-wid40Per_sp {
        width: 40% !important;
    }

    .u-wid45Per_sp {
        width: 45% !important;
    }

    .u-wid50Per_sp {
        width: 50% !important;
    }

    .u-wid55Per_sp {
        width: 55% !important;
    }

    .u-wid60Per_sp {
        width: 60% !important;
    }

    .u-wid65Per_sp {
        width: 65% !important;
    }

    .u-wid70Per_sp {
        width: 70% !important;
    }

    .u-wid75Per_sp {
        width: 75% !important;
    }

    .u-wid80Per_sp {
        width: 80% !important;
    }

    .u-wid85Per_sp {
        width: 85% !important;
    }

    .u-wid90Per_sp {
        width: 90% !important;
    }

    .u-wid95Per_sp {
        width: 95% !important;
    }

    .u-wid100Per_sp {
        width: 100% !important;
    }

    .u-wid50_sp {
        max-width: 50px !important;
        width: 100%;
    }

    .u-wid100_sp {
        max-width: 100px !important;
        width: 100%;
    }

    .u-wid150_sp {
        max-width: 150px !important;
        width: 100%;
    }

    .u-wid200_sp {
        max-width: 200px !important;
        width: 100%;
    }

    .u-wid250_sp {
        max-width: 250px !important;
        width: 100%;
    }

    .u-wid300_sp {
        max-width: 300px !important;
        width: 100%;
    }

    .u-wid350_sp {
        max-width: 350px !important;
        width: 100%;
    }

    .u-wid400_sp {
        max-width: 400px !important;
        width: 100%;
    }

    .u-wid450_sp {
        max-width: 450px !important;
        width: 100%;
    }

    .u-wid500_sp {
        max-width: 500px !important;
        width: 100%;
    }

    .u-wid550_sp {
        max-width: 550px !important;
        width: 100%;
    }

    .u-wid600_sp {
        max-width: 600px !important;
        width: 100%;
    }

    .u-wid650_sp {
        max-width: 650px !important;
        width: 100%;
    }

    .u-wid700_sp {
        max-width: 700px !important;
        width: 100%;
    }

    .u-wid750_sp {
        max-width: 750px !important;
        width: 100%;
    }

    .u-wid800_sp {
        max-width: 800px !important;
        width: 100%;
    }

    .u-wid850_sp {
        max-width: 850px !important;
        width: 100%;
    }

    .u-wid900_sp {
        max-width: 900px !important;
        width: 100%;
    }

    .u-wid950_sp {
        max-width: 950px !important;
        width: 100%;
    }
}

.u-flex__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.u-flex__block--pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.u-flex__justify--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-flex__justify--spween {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.u-flex__justify--around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.u-flex__align--center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:767px) {
    .u-flex__block--sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .u-flex__block--pc {
        display: block
    }
}

.u-contC {
    margin: 0 auto
}

.u-contL {
    margin-left: 0;
    margin-right: auto
}

.u-contR {
    margin-left: auto;
    margin-right: 0
}

@media print,
screen and (min-width:768px) {
    .u-contC_pc {
        margin: 0 auto
    }

    .u-contL_pc {
        margin-left: 0;
        margin-right: auto
    }

    .u-contR_pc {
        margin-left: auto;
        margin-right: 0
    }
}

@media screen and (max-width:767px) {
    .u-contC_sp {
        margin: 0 auto
    }

    .u-contL_sp {
        margin-left: 0;
        margin-right: auto
    }

    .u-contR_sp {
        margin-left: auto;
        margin-right: 0
    }
}

.u-hover {
    transition: .3s;
}

.u-hover:hover {
    opacity: .7;
}

@media print,
screen and (min-width: 768px) {
    br {
        display: block;
    }

    .u-sp {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    br {
        display: block;
    }

    .u-pc {
        display: none;
    }
}

.sec-title {
    position: relative;
    font-size: 42px;
    font-weight: 500;
    color: #000;
    text-align: center;
}
.sec-title::after {
    background-color: #f78029;
    right: 50%;
    transform: translateX(100%);
}
.sec-title::after, .sec-title::before {
    position: absolute;
    content: "";
    bottom: -5px;
    width: 20px;
    height: 1px;
}