@charset "UTF-8";
/* break point
============================================= */
/* theme
============================================= */
/* common
============================================= */
/* easeing */
/* http://www.knockknock.jp/archives/184 */
/* Original
============================================= */
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?mtrte0");
  src: url("fonts/icomoon.eot?mtrte0#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?mtrte0") format("truetype"), url("fonts/icomoon.woff?mtrte0") format("woff"), url("fonts/icomoon.svg?mtrte0#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-slogo:before {
  content: "\e900"; }

.icon-menu01:before {
  content: "\e909"; }

.icon-menu02:before {
  content: "\e908"; }

.icon-menu03:before {
  content: "\e907"; }

.icon-menu04:before {
  content: "\e906"; }

.icon-menu05:before {
  content: "\e905"; }

.icon-menu07:before {
  content: "\e904"; }

.icon-mail:before {
  content: "\e902"; }

.icon-tel:before {
  content: "\e903"; }

.icon-001:before {
  content: "\e90c"; }

.icon-002:before {
  content: "\e90b"; }

.icon-ar01:before {
  content: "\e90a"; }

.icon-ar02:before {
  content: "\e901"; }

.icon-ar03:before {
  content: "\e90d"; }

.icon-plus:before {
  content: "\e90e"; }

.icon-x:before {
  content: "\e90f"; }

.icon-f:before {
  content: "\e910"; }

.icon-i:before {
  content: "\e911"; }

.icon-t:before {
  content: "\e912"; }

.fred {
  color: #F52935; }

.fblue {
  color: #1A78E5; }

.fgreen {
  color: #01AE09; }

.fgray {
  color: #CBCBCB; }

a {
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

a {
  overflow: visible;
  outline: none; }

img {
  max-width: 100%;
  height: auto; }

ul,
ol {
  padding-left: 2em; }
  @media screen and (max-width: 768px) {
    ul,
    ol {
      padding-left: 1.5em; } }

.-bg-gray {
  background-color: #F3F5F8; }

.hd-en-jp {
  margin: 118px 0 30px; }
  @media screen and (max-width: 768px) {
    .hd-en-jp {
      margin: 60px 0 20px; } }
  .hd-en-jp .en {
    font-family: "din-2014", sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #C3C0C0;
    text-align: center;
    line-height: 1.3571428571;
    margin-bottom: 3px; }
    @media screen and (max-width: 768px) {
      .hd-en-jp .en {
        font-size: 11px; } }
  .hd-en-jp .sub {
    font-size: 22px;
    line-height: 1.4545454545;
    text-align: center;
    font-weight: 600;
    color: #1A78E5; }
    @media screen and (max-width: 768px) {
      .hd-en-jp .sub {
        font-size: 15px; } }
  .hd-en-jp .jp {
    margin: 0;
    font-size: 24px;
    line-height: 1.4583333333;
    font-weight: 600;
    text-align: center;
    color: #1A78E5; }
    @media screen and (max-width: 768px) {
      .hd-en-jp .jp {
        font-size: 18px; } }
  .hd-en-jp.-top-left-side .en {
    color: #fff;
    text-align: left; }
    @media screen and (max-width: 768px) {
      .hd-en-jp.-top-left-side .en {
        text-align: center; } }
  .hd-en-jp.-top-left-side .jp {
    font-size: 28px;
    text-align: left; }
    @media screen and (max-width: 768px) {
      .hd-en-jp.-top-left-side .jp {
        font-size: 18px;
        text-align: center; } }
  .hd-en-jp .num {
    font-family: "din-2014", sans-serif;
    font-size: 49px;
    color: #F52935;
    font-weight: 400; }
    @media screen and (max-width: 768px) {
      .hd-en-jp .num {
        font-size: 49px; } }

.center-hd {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin: 40px 0 30px; }
  @media screen and (max-width: 768px) {
    .center-hd {
      font-size: 13px;
      margin: 25px 0 15px; } }

.center-hd-en {
  font-size: 34px;
  font-weight: 600;
  color: #1A78E5;
  text-align: center;
  line-height: 1.3181818182;
  font-family: "din-2014", sans-serif;
  margin: 75px 0 24px; }
  @media screen and (max-width: 768px) {
    .center-hd-en {
      font-size: 22px;
      margin: 48px 0 15px; } }

.hd-gold {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  color: #BBA171;
  margin: 60px 0; }
  @media screen and (max-width: 768px) {
    .hd-gold {
      font-size: 16px;
      margin: 30px 0; } }

.hd-block01 {
  background-color: #1A78E5;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .hd-block01 {
      height: 250px;
      margin-bottom: 30px; } }
  .hd-block01 .sub {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px;
    color: #fff;
    line-height: 1.4444444444; }
    @media screen and (max-width: 768px) {
      .hd-block01 .sub {
        font-size: 13px; } }
  .hd-block01 .title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    position: relative;
    line-height: 1.4583333333; }
    @media screen and (max-width: 768px) {
      .hd-block01 .title {
        font-size: 20px; } }
  .hd-block01 i {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    width: 32px;
    font-size: 32px;
    color: #BBA171; }
    @media screen and (max-width: 768px) {
      .hd-block01 i {
        margin-top: 13px;
        width: 24px;
        font-size: 24px; } }
  .hd-block01 .img-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    width: 40px; }
    @media screen and (max-width: 768px) {
      .hd-block01 .img-icon {
        margin-top: 13px;
        width: 25px; } }

.hd-bg-block {
  background-color: #1A78E5;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 60px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .hd-bg-block {
      height: 250px;
      margin-bottom: 30px; } }
  .hd-bg-block .sub {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px;
    color: #fff;
    line-height: 1.4444444444;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-bg-block .sub {
        font-size: 13px; } }
  .hd-bg-block .sub-gold {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px;
    color: #BBA171;
    line-height: 1.4444444444;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-bg-block .sub-gold {
        font-size: 12px; } }
  .hd-bg-block .title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    position: relative;
    line-height: 1.4583333333;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-bg-block .title {
        font-size: 20px; } }
  .hd-bg-block i {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    width: 32px;
    font-size: 32px;
    color: #BBA171;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-bg-block i {
        margin-top: 13px;
        width: 24px;
        font-size: 24px; } }
  .hd-bg-block .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .hd-bg-block .bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .hd-bg-block .bg.-multiply:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: auto;
      height: auto;
      background-color: #1A78E5;
      mix-blend-mode: multiply; }
  .hd-bg-block .hd-parent-cats-list-wrap {
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .hd-bg-block .hd-parent-cats-list-wrap {
        top: 25px; } }
  .hd-bg-block .hd-parent-cats-list {
    width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: flex-start; }
    @media screen and (max-width: 768px) {
      .hd-bg-block .hd-parent-cats-list {
        width: auto;
        margin: 0 8vw; } }
    .hd-bg-block .hd-parent-cats-list .cat {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 242px;
      height: 52px;
      font-size: 18px;
      font-weight: 600;
      color: #fff;
      background-color: #1A78E5;
      border-radius: 50px;
      text-decoration: none;
      transition: opacity 0.3s ease; }
      @media screen and (max-width: 768px) {
        .hd-bg-block .hd-parent-cats-list .cat {
          width: auto;
          min-width: 103px;
          padding: 0 15px;
          height: 31px;
          font-size: 11px; } }
      .hd-bg-block .hd-parent-cats-list .cat:hover {
        opacity: 0.7; }
      .hd-bg-block .hd-parent-cats-list .cat + .cat {
        margin-left: 20px; }

.hd-block-media {
  padding-top: 51px;
  margin: 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative; }
  @media screen and (max-width: 768px) {
    .hd-block-media {
      padding-top: 30px;
      margin: 0 0 14px; } }
  .hd-block-media .text-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto; }
  .hd-block-media .sub {
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 4px;
    color: #fff;
    line-height: 1.4444444444;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-block-media .sub {
        font-size: 13px; } }
  .hd-block-media .title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    position: relative;
    line-height: 1.4583333333;
    z-index: 1;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .hd-block-media .title {
        font-size: 20px; } }
  .hd-block-media i {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    width: 32px;
    font-size: 32px;
    color: #BBA171;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .hd-block-media i {
        margin-top: 13px;
        width: 24px;
        font-size: 24px; } }

.hd-media-tx {
  font-size: 24px;
  font-weight: 600;
  margin: 60px 0 40px; }
  @media screen and (max-width: 768px) {
    .hd-media-tx {
      font-size: 18px;
      margin: 60px 0 20px; } }

.media-tx-title-wrap {
  margin: 0 0 60px;
  padding-top: 50px; }
  @media screen and (max-width: 768px) {
    .media-tx-title-wrap {
      margin: 0 0 60px;
      padding-top: 30px; } }
  .media-tx-title-wrap .medita-tx-title {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    background-color: #1A78E5;
    border-radius: 30px;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      .media-tx-title-wrap .medita-tx-title {
        font-size: 16px;
        height: 31px;
        margin-bottom: 30px; } }
  .media-tx-title-wrap .text {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .media-tx-title-wrap .text {
        font-size: 14px;
        margin-bottom: 15px; } }
  .media-tx-title-wrap .media-cats {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    margin: 12px -2px 15px; }
    @media screen and (max-width: 768px) {
      .media-tx-title-wrap .media-cats {
        justify-content: flex-start;
        margin: 8px -1px 15px; } }
    .media-tx-title-wrap .media-cats .cat {
      min-width: 70px;
      padding: 0 10px;
      height: 31px;
      border: 1px solid #1A78E5;
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 600;
      line-height: 1;
      color: #1A78E5;
      margin: 3px 2px 0;
      text-decoration: none;
      transition: all ease 0.3s; }
      .media-tx-title-wrap .media-cats .cat.current, .media-tx-title-wrap .media-cats .cat:hover {
        color: #fff;
        background-color: #1A78E5; }
      @media screen and (max-width: 768px) {
        .media-tx-title-wrap .media-cats .cat {
          font-size: 11px;
          height: 31px;
          min-width: initial;
          margin: 2px 1px 0; } }

.clinic-link-ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  margin: -20px -2px 0; }
  @media screen and (max-width: 768px) {
    .clinic-link-ul {
      margin: -10px -2px 0; } }
  .clinic-link-ul li {
    list-style: none;
    margin: 20px 2px 0;
    width: calc(25% - 4px); }
    @media screen and (max-width: 768px) {
      .clinic-link-ul li {
        margin: 10px 2px 0;
        width: calc(33.3333% - 4px); } }
    .clinic-link-ul li .clinic-p-btn {
      border: none;
      background: none;
      padding: 0;
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: center;
      height: 52px;
      border-radius: 40px;
      font-size: 18px;
      font-weight: 600;
      color: #fff;
      background-color: #1A78E5;
      text-decoration: none;
      transition: ease 0.3s opacity; }
      .clinic-link-ul li .clinic-p-btn:hover {
        opacity: 0.7; }
      @media screen and (max-width: 768px) {
        .clinic-link-ul li .clinic-p-btn {
          font-size: 11px;
          height: 31px; } }

.clinic-ac-ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0;
  margin: -20px -6px 0; }
  @media screen and (max-width: 768px) {
    .clinic-ac-ul {
      margin: 0;
      display: block; } }
  .clinic-ac-ul li {
    list-style: none;
    margin: 20px 6px 0;
    width: calc(33.3333% - 12px);
    position: relative; }
    @media screen and (max-width: 768px) {
      .clinic-ac-ul li {
        margin: 0;
        width: auto; }
        .clinic-ac-ul li + li {
          margin-top: 15px; } }
    .clinic-ac-ul li .name {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 52px;
      border-radius: 40px;
      font-size: 18px;
      font-weight: 600;
      color: #fff;
      background-color: #1A78E5;
      text-decoration: none;
      position: relative;
      z-index: 2; }
      .clinic-ac-ul li .name:after {
        content: "\e901";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        background-color: #fff;
        border-radius: 50%;
        font-family: "icomoon" !important;
        transform: rotate(90deg);
        position: absolute;
        top: 9px;
        right: 9px;
        color: #BBA171;
        font-size: 17px;
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          .clinic-ac-ul li .name:after {
            width: 26px;
            height: 26px;
            top: 16px;
            right: 16px;
            font-size: 12px; } }
      @media screen and (max-width: 768px) {
        .clinic-ac-ul li .name {
          font-size: 15px;
          height: 59px; } }
    .clinic-ac-ul li.open .name:after {
      transform: rotate(-90deg); }
    .clinic-ac-ul li .clinic-ac-content {
      margin-top: -26px;
      background-color: #F2F1F1;
      padding: 50px 20px 30px;
      border-radius: 0 0 30px 30px; }
      @media screen and (max-width: 768px) {
        .clinic-ac-ul li .clinic-ac-content {
          margin-top: -30px;
          padding: 50px 25px 30px; } }
      .clinic-ac-ul li .clinic-ac-content .img {
        margin-bottom: 20px; }
      .clinic-ac-ul li .clinic-ac-content .btn-wrap {
        margin-top: 25px; }
      @media screen and (min-width: 769px) {
        .clinic-ac-ul li .clinic-ac-content .gold-btn {
          height: 46px;
          font-size: 14px; }
          .clinic-ac-ul li .clinic-ac-content .gold-btn:after {
            width: 30px;
            height: 30px;
            margin-top: -15px;
            font-size: 14px; } }

.clinic-spec-dl .dl-wrap {
  display: flex;
  align-items: stretch;
  font-size: 12px; }
  .clinic-spec-dl .dl-wrap + .dl-wrap {
    margin-top: 0.6em; }
.clinic-spec-dl dt {
  color: #1A78E5;
  font-weight: 500;
  line-height: 1.4285714286;
  margin-right: 2em;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .clinic-spec-dl dt {
      font-size: 10px;
      margin-right: 1.4em; } }
.clinic-spec-dl dd {
  margin: 0;
  line-height: 1.4285714286; }
  @media screen and (max-width: 768px) {
    .clinic-spec-dl dd {
      font-size: 10px; } }
  .clinic-spec-dl dd .note {
    font-size: 10px; }
    @media screen and (max-width: 768px) {
      .clinic-spec-dl dd .note {
        font-size: 8px; } }

.clinic-info-dl {
  border-radius: 30px;
  background-color: #F2F1F1;
  margin: 60px 0 40px;
  padding: 60px 80px; }
  @media screen and (max-width: 768px) {
    .clinic-info-dl {
      margin: 30px 0 25px;
      padding: 45px 25px; } }
  .clinic-info-dl .dl-wrap {
    display: flex;
    align-items: stretch; }
    .clinic-info-dl .dl-wrap + .dl-wrap {
      margin-top: 0.6em; }
  .clinic-info-dl dt {
    color: #1A78E5;
    font-weight: 500;
    line-height: 1.4285714286;
    margin-right: 3em;
    white-space: nowrap; }
    @media screen and (max-width: 768px) {
      .clinic-info-dl dt {
        font-size: 10px;
        margin-right: 1.4em; } }
  .clinic-info-dl dd {
    margin: 0;
    line-height: 1.4285714286; }
    @media screen and (max-width: 768px) {
      .clinic-info-dl dd {
        font-size: 10px; } }

.gmap-wrap {
  background-color: #F2F1F1;
  width: 100%;
  height: 486px;
  margin: 40px 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    .gmap-wrap {
      height: 400px;
      width: 100vw;
      margin: 25px -8vw 25px; } }
  .gmap-wrap iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.payment-dl {
  margin: 40px 0; }
  @media screen and (max-width: 768px) {
    .payment-dl {
      margin: 30px 0; } }
  .payment-dl dd {
    margin: 0; }
  .payment-dl .dl-wrap {
    padding-left: 140px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .payment-dl .dl-wrap {
        padding-left: 75px; } }
    .payment-dl .dl-wrap + .dl-wrap {
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        .payment-dl .dl-wrap + .dl-wrap {
          margin-top: 15px; } }
  .payment-dl dt {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .payment-dl dt {
        font-size: 16px; } }
  .payment-dl .icon {
    position: absolute;
    left: 0;
    top: 0; }
    .payment-dl .icon .img-icon {
      width: 82px; }
      @media screen and (max-width: 768px) {
        .payment-dl .icon .img-icon {
          width: 50px; } }
  @media screen and (max-width: 768px) {
    .payment-dl .content {
      font-size: 12px; } }

.menu-link-ul {
  margin: -40px -14px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; }
  @media screen and (max-width: 768px) {
    .menu-link-ul {
      margin: -14px -7px 0; } }
  .menu-link-ul li {
    list-style: none;
    width: calc( 50% - 28px );
    margin: 40px 14px 0; }
    @media screen and (max-width: 768px) {
      .menu-link-ul li {
        width: calc( 50% - 14px );
        margin: 14px 7px 0; } }
    .menu-link-ul li a {
      display: flex;
      align-items: center;
      padding: 0 40px;
      background-color: #F2F1F1;
      border-radius: 20px;
      color: #1A78E5;
      text-decoration: none;
      font-size: 20px;
      font-weight: 600;
      position: relative;
      height: 160px;
      transition: opacity 0.3s ease; }
      @media screen and (max-width: 768px) {
        .menu-link-ul li a {
          padding: 0;
          justify-content: center;
          text-align: center;
          height: auto;
          aspect-ratio: 1;
          border-radius: 15px;
          font-size: 15px; } }
      .menu-link-ul li a:hover {
        opacity: 0.7; }
      .menu-link-ul li a:after {
        content: "\e90a";
        font-family: "icomoon" !important;
        transform: rotate(135deg);
        position: absolute;
        top: 50%;
        right: 40px;
        width: 40px;
        height: 40px;
        margin-top: -20px;
        border-radius: 50%;
        background-color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #BBA171;
        font-size: 20px;
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          .menu-link-ul li a:after {
            display: none; } }

.yonpoint-dl-wrap {
  margin: 60px 0; }
  @media screen and (max-width: 768px) {
    .yonpoint-dl-wrap {
      margin: 30px 0; } }

.yonpoint-dl {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: -28px -14px 0; }
  @media screen and (max-width: 768px) {
    .yonpoint-dl {
      display: block;
      margin: 0; } }
  .yonpoint-dl dd {
    margin: 0; }
  .yonpoint-dl .dl-wrap {
    width: calc(50% - 28px);
    margin: 28px 14px 0;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      .yonpoint-dl .dl-wrap {
        width: auto;
        margin: 0;
        border-radius: 5px; }
        .yonpoint-dl .dl-wrap + .dl-wrap {
          margin-top: 25px; } }
  .yonpoint-dl .yonpoint-dt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #1A78E5;
    padding: 42px 0 24px;
    color: #fff;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .yonpoint-dl .yonpoint-dt {
        padding: 34px 0 18px; } }
    .yonpoint-dl .yonpoint-dt .en {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 16px;
      border-radius: 20px;
      height: 27px;
      background-color: #333;
      font-weight: 600;
      font-size: 12px;
      line-height: 1;
      margin-bottom: 7px; }
      .yonpoint-dl .yonpoint-dt .en b {
        font-family: "din-2014", sans-serif;
        font-size: 26px;
        font-weight: 400;
        margin-bottom: 6px;
        line-height: 27px;
        margin-left: 4px; }
    .yonpoint-dl .yonpoint-dt .text {
      font-weight: 600;
      font-size: 20px;
      line-height: 1.45; }
  .yonpoint-dl .yonpoint-dd {
    background-color: #F2F1F1;
    padding: 20px 29px;
    flex-grow: 1; }
    @media screen and (max-width: 768px) {
      .yonpoint-dl .yonpoint-dd {
        padding: 20px 23px; } }
    .yonpoint-dl .yonpoint-dd > div {
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .yonpoint-dl .yonpoint-dd > div {
          font-size: 13px; } }
      .yonpoint-dl .yonpoint-dd > div b {
        font-weight: 600;
        color: #1A78E5; }
    .yonpoint-dl .yonpoint-dd .inner-dl {
      margin: 20px 0; }
      .yonpoint-dl .yonpoint-dd .inner-dl .inner-dl-wrap {
        background-color: #fff;
        border-radius: 20px;
        padding: 20px 24px; }
        @media screen and (max-width: 768px) {
          .yonpoint-dl .yonpoint-dd .inner-dl .inner-dl-wrap {
            border-radius: 15px;
            padding: 18px 23px; } }
        .yonpoint-dl .yonpoint-dd .inner-dl .inner-dl-wrap + .inner-dl-wrap {
          margin-top: 20px; }
      .yonpoint-dl .yonpoint-dd .inner-dl .inner-dt {
        font-size: 15px;
        font-weight: 600;
        color: #1A78E5;
        margin-bottom: 5px;
        line-height: 1.4; }
        @media screen and (max-width: 768px) {
          .yonpoint-dl .yonpoint-dd .inner-dl .inner-dt {
            font-size: 13px; } }

.media-cat-list-wrap {
  margin: 60px 0; }
  @media screen and (max-width: 768px) {
    .media-cat-list-wrap {
      margin: 28px 0; } }

.media-cat-list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0; }
  @media screen and (max-width: 768px) {
    .media-cat-list {
      margin: 0 -2px; } }
  .media-cat-list li {
    list-style: none;
    width: 242px;
    margin: 0 5px; }
    @media screen and (max-width: 768px) {
      .media-cat-list li {
        width: calc(33.333% - 4px);
        margin: 0 2px; } }
    .media-cat-list li a {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 52px;
      border-radius: 30px;
      background-color: #1A78E5;
      color: #fff;
      font-size: 18px;
      font-weight: 600;
      text-decoration: none; }
      @media screen and (max-width: 768px) {
        .media-cat-list li a {
          height: 31px;
          font-size: 11px; } }

.media-list-wrap {
  margin: 120px 0 80px; }
  @media screen and (max-width: 768px) {
    .media-list-wrap {
      margin: 50px 0 50px; } }
  .hd-media-tx + .media-list-wrap {
    margin: 40px 0 80px; }
    @media screen and (max-width: 768px) {
      .hd-media-tx + .media-list-wrap {
        margin: 20px 0 50px; } }

.media-list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 0;
  margin: -40px -7px 0; }
  @media screen and (max-width: 768px) {
    .media-list {
      display: block;
      margin: 0; } }
  .media-list li {
    list-style: none;
    flex-shrink: 0;
    width: calc( 33.333% - 14px );
    margin: 40px 7px 0; }
    @media screen and (max-width: 768px) {
      .media-list li {
        width: auto;
        margin: 0; }
        .media-list li + li {
          margin-top: 30px; } }
    .media-list li a {
      display: block;
      text-decoration: none; }
    .media-list li img {
      width: 100%;
      border-radius: 20px;
      aspect-ratio: 16 / 10;
      object-fit: cover; }
      @media screen and (max-width: 768px) {
        .media-list li img {
          border-radius: 10px; } }
    .media-list li .text {
      margin-top: 10px;
      color: #333;
      font-size: 18px;
      font-weight: 400;
      line-height: 1.5;
      padding: 0 12px; }
      @media screen and (max-width: 768px) {
        .media-list li .text {
          font-size: 13px;
          padding: 0 0.8em; } }
    .media-list li .media-cats {
      display: flex;
      align-items: stretch;
      justify-content: flex-start;
      flex-wrap: wrap;
      margin: 12px -2px 15px; }
      @media screen and (max-width: 768px) {
        .media-list li .media-cats {
          margin: 8px -1px 15px; } }
      .media-list li .media-cats .cat {
        min-width: 70px;
        padding: 0 10px;
        height: 31px;
        border: 1px solid #1A78E5;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        color: #1A78E5;
        margin: 3px 2px 0; }
        @media screen and (max-width: 768px) {
          .media-list li .media-cats .cat {
            font-size: 11px;
            height: 31px;
            min-width: initial;
            margin: 2px 1px 0; } }

.p-pagination {
  margin-top: 80px; }
  .p-pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center; }
    .p-pagination .nav-links a {
      text-decoration: none;
      color: #333; }
    .p-pagination .nav-links .page-numbers {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      height: 52px;
      font-size: 22px;
      font-family: "din-2014", sans-serif; }
      @media screen and (max-width: 768px) {
        .p-pagination .nav-links .page-numbers {
          width: 35px;
          height: 35px;
          font-size: 15px; } }
      .p-pagination .nav-links .page-numbers:hover, .p-pagination .nav-links .page-numbers.current {
        background-color: #1A78E5;
        color: #fff; }
    .p-pagination .nav-links .prev {
      color: #BBA171; }
    .p-pagination .nav-links .next {
      color: #BBA171;
      transform: rotate(180deg); }

.tabs-wrap {
  position: relative; }
  .tabs-wrap:before {
    content: "";
    display: block;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    background-color: #1A78E5;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .tabs-wrap:before {
        top: 50px; } }
  .tabs-wrap .tabs {
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .tabs-wrap .tabs {
        padding: 0;
        margin: 0 -18px 0; } }
    .tabs-wrap .tabs .tab {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 330px;
      height: 60px;
      background-color: #F2F1F1;
      color: #1A78E5;
      border-radius: 20px 20px 0 0;
      font-size: 19px;
      font-weight: 600;
      cursor: pointer;
      transition: all ease 0.3s; }
      @media screen and (max-width: 768px) {
        .tabs-wrap .tabs .tab {
          margin: 0 3px 0;
          width: calc(50%- 6px);
          height: 50px;
          font-size: 16px; } }
      .tabs-wrap .tabs .tab:hover, .tabs-wrap .tabs .tab.active {
        background-color: #1A78E5;
        color: #fff; }
  .tabs-wrap.-tab3 .tabs {
    padding: 0 100px; }
    @media screen and (max-width: 768px) {
      .tabs-wrap.-tab3 .tabs {
        padding: 0;
        margin-left: -5vw;
        margin-right: -5vw; } }
    .tabs-wrap.-tab3 .tabs .tab {
      width: 240px; }
      @media screen and (max-width: 768px) {
        .tabs-wrap.-tab3 .tabs .tab {
          margin: 0 3px 0;
          width: calc(33.333%- 6px); } }
  .tabs-wrap .tab-contents {
    padding: 40px 0; }
    @media screen and (max-width: 768px) {
      .tabs-wrap .tab-contents {
        padding: 30px 0; } }
  .tabs-wrap .tab-content {
    display: none; }
    .tabs-wrap .tab-content.active {
      display: block; }

.price-ac-wrap {
  background-color: #F2F1F1;
  border-radius: 20px;
  padding: 34px 70px; }
  @media screen and (max-width: 768px) {
    .price-ac-wrap {
      padding: 25px 23px; } }
  .price-ac-wrap + .price-ac-wrap {
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      .price-ac-wrap + .price-ac-wrap {
        margin-top: 25px; } }
  .price-ac-wrap.open .price-ac-trigger:after {
    transform: rotate(-90deg); }
  .price-ac-wrap .price-ac-trigger {
    padding-bottom: 30px;
    margin: 0 -60px;
    position: relative;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      .price-ac-wrap .price-ac-trigger {
        margin: 0 -14px; } }
    .price-ac-wrap .price-ac-trigger:after {
      content: "\e901";
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      background-color: #fff;
      border-radius: 50%;
      font-family: "icomoon" !important;
      transform: rotate(90deg);
      position: absolute;
      bottom: 20px;
      right: 0;
      color: #BBA171;
      font-size: 17px;
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        .price-ac-wrap .price-ac-trigger:after {
          width: 26px;
          height: 26px;
          bottom: 20px;
          font-size: 12px; } }
    .price-ac-wrap .price-ac-trigger .price-ac-title {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 19px;
      font-weight: 600;
      color: #F52935;
      text-align: center;
      margin: 0; }
      @media screen and (max-width: 768px) {
        .price-ac-wrap .price-ac-trigger .price-ac-title {
          font-size: 16px;
          margin: 0 -20px 0; } }
      .price-ac-wrap .price-ac-trigger .price-ac-title .border {
        min-width: 95px;
        padding: 0 5px;
        height: 20px;
        border: 1px solid #F52935;
        margin-left: 10px;
        text-align: center;
        font-size: 15px;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          .price-ac-wrap .price-ac-trigger .price-ac-title .border {
            min-width: 84px;
            padding: 0 4px;
            height: 18px;
            margin-left: 6px;
            font-size: 13px;
            line-height: 18px; } }
    .price-ac-wrap .price-ac-trigger i {
      font-size: 32px;
      color: #F52935;
      margin-right: 9px; }
      @media screen and (max-width: 768px) {
        .price-ac-wrap .price-ac-trigger i {
          font-size: 24px; } }
    .price-ac-wrap .price-ac-trigger .price-ac-price-num {
      margin: 0;
      font-family: "din-2014", sans-serif;
      font-size: 62px;
      font-weight: 600;
      line-height: 1.3387096774;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .price-ac-wrap .price-ac-trigger .price-ac-price-num {
          font-size: 50px; } }
  .price-ac-wrap.-no-ac .price-ac-trigger {
    cursor: default;
    padding-bottom: 0; }
    .price-ac-wrap.-no-ac .price-ac-trigger:after {
      display: none; }
  .price-ac-wrap.-green .price-ac-trigger .price-ac-title {
    color: #01AE09; }
    .price-ac-wrap.-green .price-ac-trigger .price-ac-title .border {
      border-color: #01AE09; }
  .price-ac-wrap.-green .price-ac-trigger i {
    color: #01AE09; }

.price-dl dd {
  margin: 0; }
.price-dl .dl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .price-dl .dl-wrap dt {
    font-size: 22px; }
    @media screen and (max-width: 768px) {
      .price-dl .dl-wrap dt {
        font-size: 15px; } }
    .price-dl .dl-wrap dt .border-text {
      display: block;
      border: 1px solid #333;
      color: #333;
      width: 120px;
      padding: 0;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.5555555556;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .price-dl .dl-wrap dt .border-text {
          width: 78px;
          font-size: 11px; } }
      .price-dl .dl-wrap dt .border-text.fred {
        border-color: #F52935;
        color: #F52935; }
      .price-dl .dl-wrap dt .border-text.fgreen {
        border-color: #01AE09;
        color: #01AE09; }
  .price-dl .dl-wrap .price-num {
    font-size: 58px;
    font-family: "din-2014", sans-serif;
    font-weight: 600; }
    @media screen and (max-width: 768px) {
      .price-dl .dl-wrap .price-num {
        font-size: 40px; } }

.border-column-dl {
  margin: 120px 0 120px;
  border: 2px solid #1A78E5;
  border-radius: 30px;
  padding: 30px 46px 50px; }
  @media screen and (max-width: 768px) {
    .border-column-dl {
      margin: 60px 0 60px;
      border: 1px solid #1A78E5;
      border-radius: 15px;
      padding: 20px 22px 20px; } }
  .border-column-dl dt {
    font-size: 22px;
    font-weight: 600;
    color: #1A78E5;
    margin-bottom: 16px;
    text-align: center;
    line-height: 1.4545454545; }
    @media screen and (max-width: 768px) {
      .border-column-dl dt {
        font-size: 16px;
        margin-bottom: 8px; } }
  .border-column-dl dd {
    margin: 0; }
    @media screen and (max-width: 768px) {
      .border-column-dl dd {
        font-size: 13px; } }

.media-doctor-wrap {
  margin: 40px 0;
  display: flex;
  align-items: stretch; }
  @media screen and (max-width: 768px) {
    .media-doctor-wrap {
      display: block;
      margin: 20px 0; } }
  .media-doctor-wrap p {
    margin: 0; }
  .media-doctor-wrap .img {
    flex-shrink: 0;
    width: 425px;
    margin-right: 51px; }
    @media screen and (max-width: 768px) {
      .media-doctor-wrap .img {
        width: auto;
        margin-right: 0;
        margin-bottom: 20px; } }
    .media-doctor-wrap .img img {
      border-radius: 20px; }
      @media screen and (max-width: 768px) {
        .media-doctor-wrap .img img {
          border-radius: 10px; } }
  .media-doctor-wrap .info {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    font-weight: 400;
    margin-top: 8px; }
    @media screen and (max-width: 768px) {
      .media-doctor-wrap .info {
        margin-top: 14px;
        padding: 0 9px; } }
    .media-doctor-wrap .info .post {
      font-size: 16px; }
      @media screen and (max-width: 768px) {
        .media-doctor-wrap .info .post {
          font-size: 12px; } }
    .media-doctor-wrap .info .name {
      font-size: 22px;
      line-height: 1.4545454545; }
      @media screen and (max-width: 768px) {
        .media-doctor-wrap .info .name {
          font-size: 15px; } }

.btn-wrap {
  margin-top: 40px; }
  @media screen and (max-width: 768px) {
    .btn-wrap {
      margin-top: 23px; } }

.gold-btn {
  width: 500px;
  max-width: 100%;
  height: 64px;
  color: #fff;
  background-color: #BBA171;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  margin: 0 auto;
  text-decoration: none;
  position: relative;
  transition: opacity 0.3s ease;
  font-weight: 400; }
  .gold-btn:hover {
    opacity: 0.7; }
  @media screen and (max-width: 768px) {
    .gold-btn {
      width: auto;
      height: 40px;
      border-radius: 6px; } }
  .gold-btn:after {
    content: "\e90a";
    font-family: "icomoon" !important;
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 12px;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #BBA171;
    font-size: 20px;
    font-weight: 400; }
    @media screen and (max-width: 768px) {
      .gold-btn:after {
        right: 7px;
        width: 26px;
        height: 26px;
        margin-top: -13px;
        font-size: 12px; } }

.strong-p {
  font-size: 20px !important;
  font-weight: 600; }
  @media screen and (max-width: 768px) {
    .strong-p {
      font-size: 13px !important; } }
  .strong-p.-center {
    text-align: center; }

.center-shd {
  text-align: center;
  font-size: 16px !important;
  margin: 20px 0 12px; }
  @media screen and (max-width: 768px) {
    .center-shd {
      font-size: 12px !important;
      margin: 20px 0 10px; } }

/* page
============================================================ */
.mv-block {
  padding-top: 80px;
  position: relative;
  overflow: hidden; }
  .mv-block:before {
    content: "";
    position: absolute;
    top: 0;
    height: 80px;
    width: 100%;
    background-image: linear-gradient(#D1D0D0, #EFEEEE); }
  @media screen and (max-width: 768px) {
    .mv-block {
      padding-top: 36px; }
      .mv-block:before {
        content: "";
        position: absolute;
        top: 0;
        height: 36px;
        width: 100%;
        background-image: linear-gradient(#D1D0D0, #EFEEEE); } }
  @media screen and (min-width: 769px) {
    .mv-block .mv-area {
      background-image: url(../img/top/mv_bg.png);
      background-position: 0 0;
      background-repeat: repeat-x;
      background-size: 10px auto;
      height: 969px;
      position: relative; } }
  .mv-block .mv-area .mv {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -283px; }
    @media screen and (max-width: 768px) {
      .mv-block .mv-area .mv {
        position: relative;
        top: auto;
        left: auto;
        margin-left: -3%;
        width: 512px;
        max-width: initial; } }
  .mv-block .mv-area .prof {
    position: absolute;
    bottom: 102px;
    left: 50%;
    margin-left: -52px; }
    @media screen and (max-width: 768px) {
      .mv-block .mv-area .prof {
        bottom: 55px;
        margin-left: -77px;
        margin-left: -20%; } }
    .mv-block .mv-area .prof p {
      margin: 0;
      text-align: right; }
    .mv-block .mv-area .prof .sub {
      font-size: 11px;
      line-height: 1.3636363636;
      margin-bottom: 2px; }
      @media screen and (max-width: 768px) {
        .mv-block .mv-area .prof .sub {
          font-size: 5px; } }
    .mv-block .mv-area .prof .name {
      font-size: 20px;
      font-weight: 400;
      line-height: 1.45; }
      @media screen and (max-width: 768px) {
        .mv-block .mv-area .prof .name {
          font-size: 10px; } }
  .mv-block .site-top {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -490px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    width: 490px;
    height: 969px; }
    @media screen and (max-width: 768px) {
      .mv-block .site-top {
        top: 87px;
        left: 8vw;
        margin-left: 0;
        width: auto;
        height: auto; } }
    .mv-block .site-top .sign {
      width: 76px; }
      @media screen and (max-width: 768px) {
        .mv-block .site-top .sign {
          width: 42px; } }
    .mv-block .site-top .site-top-title {
      font-size: 27px;
      line-height: 1.5925925926;
      font-weight: 300;
      margin: 15px 0 21px; }
      @media screen and (max-width: 768px) {
        .mv-block .site-top .site-top-title {
          font-size: 12px;
          margin: 7px 0 9px; } }
      .mv-block .site-top .site-top-title b {
        font-weight: 600; }
    .mv-block .site-top .en {
      color: #BBA171;
      font-size: 18px;
      font-family: "din-2014", sans-serif;
      font-weight: 400;
      margin: 0 0 67px; }
      @media screen and (max-width: 768px) {
        .mv-block .site-top .en {
          font-size: 8px;
          margin: 0 0 25px; } }

.fukidashi-ul {
  width: 258px;
  padding: 0;
  margin: 0; }
  @media screen and (max-width: 768px) {
    .fukidashi-ul {
      width: 145px; } }
  .fukidashi-ul li {
    list-style: none; }
    .fukidashi-ul li + li {
      margin-top: 51px; }
      @media screen and (max-width: 768px) {
        .fukidashi-ul li + li {
          margin-top: 29px; } }
    .fukidashi-ul li a {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      border-radius: 20px;
      box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.16);
      background-color: #fff;
      position: relative;
      padding: 20px 0 16px;
      text-decoration: none;
      transition: 0.3s ease opacity; }
      .fukidashi-ul li a:hover {
        opacity: 0.7; }
      @media screen and (max-width: 768px) {
        .fukidashi-ul li a {
          border-radius: 10px;
          box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.16);
          padding: 10px 0 8px; } }
      .fukidashi-ul li a:before {
        content: "";
        position: absolute;
        bottom: -16px;
        left: 48px;
        display: block;
        width: 0;
        height: 0;
        border-width: 8px;
        border-style: solid;
        border-color: transparent;
        border-top-color: #fff;
        border-left-color: #fff; }
        @media screen and (max-width: 768px) {
          .fukidashi-ul li a:before {
            bottom: -8px;
            left: 24px;
            border-width: 4px; } }
      .fukidashi-ul li a:after {
        content: "\e90a";
        font-family: "icomoon" !important;
        transform: rotate(135deg);
        position: absolute;
        bottom: 15px;
        right: 15px;
        width: 40px;
        height: 40px;
        margin-top: -20px;
        border-radius: 50%;
        background-color: #F2F2F2;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #BBA171;
        font-size: 20px;
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          .fukidashi-ul li a:after {
            right: 8px;
            bottom: 8px;
            width: 26px;
            height: 26px;
            margin-top: -13px;
            font-size: 12px; } }
      .fukidashi-ul li a .hd {
        color: #1A78E5;
        margin: 0;
        line-height: 1.4230769231;
        font-size: 26px;
        font-weight: 600; }
        @media screen and (max-width: 768px) {
          .fukidashi-ul li a .hd {
            font-size: 16px; } }
      .fukidashi-ul li a p {
        color: #C3C0C0;
        font-size: 18px;
        margin: 1px 0 12px;
        line-height: 1.4444444444; }
        @media screen and (max-width: 768px) {
          .fukidashi-ul li a p {
            font-size: 10px;
            margin: 1px 0 7px; } }
      .fukidashi-ul li a i {
        font-size: 46px;
        color: #1A78E5; }
        @media screen and (max-width: 768px) {
          .fukidashi-ul li a i {
            font-size: 23px; } }
      .fukidashi-ul li a.blue {
        background-color: #1A78E5; }
        .fukidashi-ul li a.blue:before {
          right: 48px;
          left: auto;
          border-color: transparent;
          border-top-color: #1A78E5;
          border-right-color: #1A78E5;
          border-left-color: transparent; }
          @media screen and (max-width: 768px) {
            .fukidashi-ul li a.blue:before {
              right: 24px; } }
        .fukidashi-ul li a.blue .hd {
          color: #fff; }
        .fukidashi-ul li a.blue i {
          color: #fff; }

.top-page-menu-block {
  position: relative;
  margin-top: -36px;
  padding-bottom: 168px; }
  @media screen and (max-width: 768px) {
    .top-page-menu-block {
      margin-top: -31px;
      padding-bottom: 6px; }
      .top-page-menu-block .inner {
        margin: 0 5px 0; } }
  .top-page-menu-block:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 36px;
    bottom: 0;
    width: auto;
    height: auto;
    background-color: #D2D0D0;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .top-page-menu-block:before {
        top: 31px; } }

.top-page-menu-list {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .top-page-menu-list {
      flex-wrap: wrap;
      justify-content: center;
      margin: -4px -2px 0; } }
  .top-page-menu-list a {
    width: 152px;
    text-decoration: none;
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 12px;
    font-weight: 400;
    color: #333;
    padding: 22px 0 20px;
    transition: 0.3s ease opacity; }
    .top-page-menu-list a:hover {
      opacity: 0.7; }
    @media screen and (max-width: 768px) {
      .top-page-menu-list a {
        width: calc( 25% - 4px );
        margin: 4px 2px 0;
        font-size: 10px;
        padding: 16px 0 14px; } }
    .top-page-menu-list a .img-icon {
      width: 42px;
      margin-bottom: 8px; }
      @media screen and (max-width: 768px) {
        .top-page-menu-list a .img-icon {
          width: 28px;
          margin-bottom: 7px; } }

.top-side-slide-block {
  position: relative;
  margin-top: -48px; }
  @media screen and (max-width: 768px) {
    .top-side-slide-block {
      margin-top: 0; } }
  .top-side-slide-block:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 36px;
    bottom: 0;
    width: auto;
    height: auto;
    background-image: linear-gradient(#D2D0D0, #FFF);
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .top-side-slide-block:before {
        top: -1px; } }

.top-side-slide-wrap {
  display: flex; }
  @media screen and (max-width: 768px) {
    .top-side-slide-wrap {
      display: block;
      padding-top: 60px; } }
  .top-side-slide-wrap .top-side-slide-control {
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -490px; }
    @media screen and (max-width: 768px) {
      .top-side-slide-wrap .top-side-slide-control {
        position: relative;
        top: auto;
        left: auto;
        margin-left: 0; } }
    .top-side-slide-wrap .top-side-slide-control .arrows {
      display: flex;
      align-items: center;
      margin-top: 26px; }
      @media screen and (max-width: 768px) {
        .top-side-slide-wrap .top-side-slide-control .arrows {
          display: none; } }
      .top-side-slide-wrap .top-side-slide-control .arrows .slide-arrow + .slide-arrow {
        margin-left: 14px; }
  .top-side-slide-wrap .top-side-slide-view {
    padding-left: calc( 50vw - 200px );
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .top-side-slide-wrap .top-side-slide-view {
        padding-left: 0;
        margin: 0 8vw;
        position: relative; }
        .top-side-slide-wrap .top-side-slide-view.sp-more-hide {
          max-height: 350px;
          overflow: hidden;
          transition: max-height 0.5s ease; }
          .top-side-slide-wrap .top-side-slide-view.sp-more-hide.open {
            max-height: 1000px; }
        .top-side-slide-wrap .top-side-slide-view .sp-more-hide-btn-wrap {
          display: flex;
          align-items: flex-end;
          justify-content: center;
          width: 100vw;
          height: 100px;
          background: linear-gradient(rgba(255, 255, 255, 0), white 80%);
          position: absolute;
          bottom: 0;
          left: -8vw; }
        .top-side-slide-wrap .top-side-slide-view .sp-more-hide-btn {
          border: none;
          background: none;
          width: 100%;
          text-align: center;
          display: flex;
          align-items: flex-end;
          justify-content: center;
          height: 2em;
          color: #BBA171;
          font-size: 13px; } }
  .top-side-slide-wrap .top-side-slide {
    display: flex;
    align-items: stretch; }
    @media screen and (min-width: 769px) {
      .top-side-slide-wrap .top-side-slide {
        overflow-x: auto;
        white-space: nowrap;
        /* 中の要素を横一列に並べる */
        -ms-overflow-style: none;
        /* スクロールバーを隠す場合（任意） */
        scrollbar-width: none;
        /* スクロールバーを隠す場合（任意） */ } }
    @media screen and (max-width: 768px) {
      .top-side-slide-wrap .top-side-slide {
        padding-top: 20px;
        flex-wrap: wrap;
        margin: -14px -7px 0; } }
    .top-side-slide-wrap .top-side-slide .item {
      flex-shrink: 0;
      margin-right: 24px; }
      @media screen and (max-width: 768px) {
        .top-side-slide-wrap .top-side-slide .item {
          margin: 14px 7px 0;
          width: calc(50% - 14px); } }
      @media screen and (max-width: 768px) {
        .top-side-slide-wrap .top-side-slide .item + .item {
          margin: 14px 7px 0; } }
      .top-side-slide-wrap .top-side-slide .item dd {
        margin: 0; }
      .top-side-slide-wrap .top-side-slide .item .img {
        width: 239px;
        border-radius: 30px;
        overflow: hidden;
        margin-bottom: 9px; }
        @media screen and (max-width: 768px) {
          .top-side-slide-wrap .top-side-slide .item .img {
            width: 100%;
            border-radius: 15px; } }
        .top-side-slide-wrap .top-side-slide .item .img a {
          display: flex;
          align-items: center;
          position: relative; }
          .top-side-slide-wrap .top-side-slide .item .img a:after {
            content: "\e90a";
            font-family: "icomoon" !important;
            transform: rotate(135deg);
            position: absolute;
            bottom: 10px;
            right: 10px;
            width: 40px;
            height: 40px;
            margin-top: -20px;
            border-radius: 50%;
            background-color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #BBA171;
            font-size: 20px;
            font-weight: 400; }
            @media screen and (max-width: 768px) {
              .top-side-slide-wrap .top-side-slide .item .img a:after {
                right: 7px;
                width: 26px;
                height: 26px;
                margin-top: -13px;
                font-size: 12px; } }
          .top-side-slide-wrap .top-side-slide .item .img a img {
            transition: all ease 0.3s; }
          .top-side-slide-wrap .top-side-slide .item .img a:hover img {
            transform: scale(1.06); }
      .top-side-slide-wrap .top-side-slide .item dt {
        font-size: 22px;
        font-weight: 600;
        color: #1A78E5;
        text-align: center;
        line-height: 1.4545454545;
        margin-bottom: 4px; }
        @media screen and (max-width: 768px) {
          .top-side-slide-wrap .top-side-slide .item dt {
            font-size: 15px; } }
      .top-side-slide-wrap .top-side-slide .item .text {
        font-size: 15px;
        color: #333;
        text-align: center;
        line-height: 1.4; }
        @media screen and (max-width: 768px) {
          .top-side-slide-wrap .top-side-slide .item .text {
            font-size: 10px; } }

.record-list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin: 0 -7px 0; }
  @media screen and (max-width: 768px) {
    .record-list {
      flex-wrap: wrap;
      margin: -14px -8px 0; } }
  .record-list .record {
    width: 228px;
    height: 304px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background-color: #fff;
    border-radius: 30px;
    padding-bottom: 35px;
    margin: 0 12px;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .record-list .record {
        width: calc( 50% - 16px );
        height: 200px;
        margin: 14px 8px 0;
        border-radius: 15px;
        padding-bottom: 20px; } }
    .record-list .record .img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1; }
      .record-list .record .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .record-list .record .text {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      position: absolute;
      z-index: 2;
      height: 119px;
      bottom: 23px;
      left: 20px;
      right: 20px;
      width: auto; }
      @media screen and (max-width: 768px) {
        .record-list .record .text {
          height: 79px;
          bottom: 15px;
          left: 13px;
          right: 13px; } }
      .record-list .record .text:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        opacity: 0.8;
        z-index: -1; }
      .record-list .record .text p {
        margin: 0; }
      .record-list .record .text .desc {
        font-weight: 600;
        text-align: center; }
      .record-list .record .text .num {
        font-family: "din-2014", sans-serif;
        color: #1A78E5;
        font-size: 80px;
        font-weight: 600;
        display: flex;
        align-items: flex-end;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .record-list .record .text .num {
            font-size: 53px; } }
        .record-list .record .text .num span {
          font-size: 21px;
          width: 20px;
          list-style: 1.5;
          padding-bottom: 4px; }
          @media screen and (max-width: 768px) {
            .record-list .record .text .num span {
              width: 16px;
              font-size: 14px; } }

.features-list {
  padding: 0;
  margin: -60px -16px 0;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .features-list {
      margin: -15px -8px 0; } }
  .features-list li {
    list-style: none;
    width: 233px;
    height: 233px;
    margin: 60px 16px 0; }
    @media screen and (max-width: 768px) {
      .features-list li {
        width: calc( 50% - 18px );
        height: 150px;
        margin: 15px 8px 0; } }
    .features-list li .feature-btn {
      cursor: pointer;
      display: flex;
      text-decoration: none;
      position: relative;
      border-radius: 20px;
      width: 100%;
      height: 100%;
      position: relative; }
      @media screen and (max-width: 768px) {
        .features-list li .feature-btn {
          border-radius: 10px; } }
      .features-list li .feature-btn:after {
        content: "\e90e";
        font-family: "icomoon" !important;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #fff;
        position: absolute;
        bottom: 10px;
        right: 10px;
        color: #BBA171;
        font-size: 18px; }
        @media screen and (max-width: 768px) {
          .features-list li .feature-btn:after {
            width: 26px;
            height: 26px;
            bottom: 7px;
            right: 7px;
            font-size: 12px; } }
      .features-list li .feature-btn .img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        border-radius: 30px;
        overflow: hidden; }
        .features-list li .feature-btn .img img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    .features-list li .num {
      font-size: 56px;
      font-weight: 600;
      line-height: 1;
      color: #1A78E5;
      font-family: "din-2014", sans-serif;
      position: absolute;
      top: -13px;
      left: -4px; }
      @media screen and (max-width: 768px) {
        .features-list li .num {
          font-size: 45px;
          top: -10px; } }
    .features-list li .text {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      .features-list li .text dt {
        font-family: "din-2014", sans-serif;
        font-size: 32px;
        font-weight: 600;
        line-height: 1;
        color: #1A78E5; }
        @media screen and (max-width: 768px) {
          .features-list li .text dt {
            font-size: 20px; } }
      .features-list li .text dd {
        margin: 15px 0 0;
        font-size: 16px;
        font-weight: 600;
        color: #333; }
        @media screen and (max-width: 768px) {
          .features-list li .text dd {
            font-size: 11px; } }

.p-panel-dl {
  display: flex;
  align-items: stretch;
  justify-content: flex-start; }
  .p-panel-dl.-single {
    justify-content: center; }
  @media screen and (max-width: 768px) {
    .p-panel-dl {
      display: block; } }
  .p-panel-dl .item {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    width: 396px; }
    @media screen and (max-width: 768px) {
      .p-panel-dl .item {
        border-radius: 10px;
        width: auto; } }
    .p-panel-dl .item + .item {
      margin-left: 28px; }
      @media screen and (max-width: 768px) {
        .p-panel-dl .item + .item {
          margin-left: 0;
          margin-top: 15px; } }
    .p-panel-dl .item dt {
      color: #F52935;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      background-color: #F2F1F1;
      padding: 20px; }
      @media screen and (max-width: 768px) {
        .p-panel-dl .item dt {
          padding: 18px; } }
      .p-panel-dl .item dt i {
        font-size: 32px; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dt i {
            font-size: 25px; } }
      .p-panel-dl .item dt .title {
        font-size: 19px;
        font-weight: 600;
        margin: 0 10px; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dt .title {
            font-size: 16px;
            margin: 0 8px; } }
      .p-panel-dl .item dt .border {
        border: 1px solid #F52935;
        line-height: 21px;
        width: 95px;
        font-size: 15px;
        font-weight: 600;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dt .border {
            line-height: 18px;
            width: 76px;
            font-size: 13px; } }
      .p-panel-dl .item dt .price {
        font-size: 62px;
        font-weight: 600;
        color: #333;
        font-family: "din-2014", sans-serif;
        line-height: 1;
        width: 100%;
        text-align: center;
        margin-top: 6px; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dt .price {
            font-size: 50px; } }
    .p-panel-dl .item dd {
      margin: 0;
      padding: 1px 28px 20px; }
      @media screen and (max-width: 768px) {
        .p-panel-dl .item dd {
          padding: 1px 22px 20px; } }
      .p-panel-dl .item dd .hd {
        color: #1A78E5;
        margin: 20px 0 14px;
        font-size: 15px;
        font-weight: 600; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dd .hd {
            font-size: 13px;
            margin: 14px 0 8px; } }
      .p-panel-dl .item dd .desc {
        font-size: 15px; }
        @media screen and (max-width: 768px) {
          .p-panel-dl .item dd .desc {
            font-size: 13px; } }
    .p-panel-dl .item.-green dt {
      color: #01AE09; }
      .p-panel-dl .item.-green dt .border {
        border-color: #01AE09; }

.director-prof-wrap {
  background-image: url(../img/common/dr_bg.jpg);
  background-position: center bottom;
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .director-prof-wrap {
      background-image: url(../img/common/dr_bg_sp.jpg);
      margin-bottom: 15px; } }
  .director-prof-wrap .inner-thin {
    position: relative; }
  .director-prof-wrap .img {
    position: absolute;
    bottom: 0;
    left: 20px; }
    @media screen and (max-width: 768px) {
      .director-prof-wrap .img {
        left: -20px; } }
    .director-prof-wrap .img img {
      width: 280px; }
      @media screen and (max-width: 768px) {
        .director-prof-wrap .img img {
          width: 185px; } }
  .director-prof-wrap .prof-wrap {
    padding-left: 315px;
    padding-top: 67px;
    padding-bottom: 200px; }
    @media screen and (max-width: 768px) {
      .director-prof-wrap .prof-wrap {
        padding-left: 50%;
        padding-top: 30px;
        padding-bottom: 50px; } }
    .director-prof-wrap .prof-wrap .names {
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        .director-prof-wrap .prof-wrap .names {
          margin-bottom: 20px; } }
      .director-prof-wrap .prof-wrap .names .post {
        display: block;
        font-size: 16px;
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          .director-prof-wrap .prof-wrap .names .post {
            font-size: 12px; } }
      .director-prof-wrap .prof-wrap .names .name {
        display: block;
        font-size: 22px;
        font-weight: 400;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .director-prof-wrap .prof-wrap .names .name {
            font-size: 15px; } }
  .director-prof-wrap .historys-wrap {
    display: flex;
    align-items: stretch; }
    @media screen and (max-width: 768px) {
      .director-prof-wrap .historys-wrap {
        display: block; } }
    .director-prof-wrap .historys-wrap .item + .item {
      margin-left: 70px; }
      @media screen and (max-width: 768px) {
        .director-prof-wrap .historys-wrap .item + .item {
          margin-left: 0;
          margin-top: 25px; } }
    .director-prof-wrap .historys-wrap .item dt {
      color: #1A78E5;
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 14px; }
      @media screen and (max-width: 768px) {
        .director-prof-wrap .historys-wrap .item dt {
          font-size: 11px; } }
    .director-prof-wrap .historys-wrap .item dd {
      margin: 0;
      font-size: 16px;
      font-weight: 400;
      line-height: 1.6; }
      @media screen and (max-width: 768px) {
        .director-prof-wrap .historys-wrap .item dd {
          font-size: 11px; } }
      .director-prof-wrap .historys-wrap .item dd b {
        font-weight: 300; }

.qa-list .qa + .qa {
  margin-top: 40px; }
  @media screen and (max-width: 768px) {
    .qa-list .qa + .qa {
      margin-top: 25px; } }
.qa-list .qa .q {
  font-size: 18px;
  color: #1A78E5;
  font-weight: 600;
  position: relative;
  padding-left: 59px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .qa-list .qa .q {
      font-size: 13px;
      padding-left: 33px;
      margin-bottom: 13px; } }
  .qa-list .qa .q:before {
    content: "Q";
    font-family: "din-2014", sans-serif;
    width: 40px;
    height: 40px;
    background-color: #1A78E5;
    border-radius: 6px;
    color: #fff;
    font-size: 23px;
    line-height: 1;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (max-width: 768px) {
      .qa-list .qa .q:before {
        width: 25px;
        height: 25px;
        font-size: 14px; } }
.qa-list .qa .a {
  margin: 0;
  position: relative;
  padding-left: 59px; }
  @media screen and (max-width: 768px) {
    .qa-list .qa .a {
      padding-left: 33px; } }
  .qa-list .qa .a:before {
    content: "A";
    font-family: "din-2014", sans-serif;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border: 2px solid #333;
    border-radius: 6px;
    color: #333;
    font-size: 23px;
    line-height: 1;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      .qa-list .qa .a:before {
        width: 25px;
        height: 25px;
        border: 1px solid #333;
        font-size: 14px; } }
.qa-list.-ac .qa.open .q:after {
  transform: rotate(-90deg); }
.qa-list.-ac .qa .q {
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .qa-list.-ac .qa .q {
      padding-right: 30px; } }
  .qa-list.-ac .qa .q:after {
    content: "\e901";
    font-family: "icomoon" !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #BBA171;
    transform: rotate(90deg);
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 2px; }
    @media screen and (max-width: 768px) {
      .qa-list.-ac .qa .q:after {
        width: 25px;
        height: 25px;
        font-size: 9px; } }
.qa-list.-ac .qa .a {
  overflow: hidden; }

.bg-gray-wrap {
  position: relative; }
  .bg-gray-wrap:before {
    content: "";
    display: block;
    position: absolute;
    top: -60px;
    bottom: -60px;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    background-color: #F2F1F1;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .bg-gray-wrap:before {
        top: -30px;
        bottom: -30px; } }

.media-title {
  font-size: 30px;
  font-weight: 600;
  margin: 60px 0 20px; }
  @media screen and (max-width: 768px) {
    .media-title {
      font-size: 18px;
      margin: 30px 0 15px; } }

.child-cats-list {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  flex-wrap: wrap;
  margin: -5px -3px 0; }
  @media screen and (max-width: 768px) {
    .child-cats-list {
      margin: -4px -2px 0; } }
  .child-cats-list .cat {
    width: 80px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1A78E5;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #1A78E5;
    border-radius: 30px;
    text-decoration: none;
    transition: opacity 0.3s ease;
    margin: 5px 3px 0; }
    .child-cats-list .cat:hover {
      opacity: 0.7; }
    @media screen and (max-width: 768px) {
      .child-cats-list .cat {
        min-width: 67px;
        width: auto;
        padding: 0 15px;
        height: 31px;
        font-size: 11px;
        margin: 4px 2px 0; } }

.media-contents-header {
  margin: 30px 0 50px;
  width: 100%;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .media-contents-header {
      margin: 25px 0 40px; } }

.media-wysiwyg {
  width: 100%;
  overflow: hidden; }
  .media-wysiwyg iframe {
    max-width: 100%;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9; }
  .media-wysiwyg .mokuji-box {
    border-radius: 30px;
    background-color: #F2F1F1;
    padding: 40px 54px; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .mokuji-box {
        border-radius: 15px;
        padding: 22px 25px; } }
    .media-wysiwyg .mokuji-box .mokuji-ttl {
      font-size: 26px;
      font-weight: 600;
      color: #1A78E5;
      text-align: center;
      margin: 0 0 20px; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .mokuji-box .mokuji-ttl {
          font-size: 16px;
          margin: 0 0 16px; } }
    .media-wysiwyg .mokuji-box ol {
      padding: 0;
      margin: 0; }
      .media-wysiwyg .mokuji-box ol li {
        color: #1A78E5;
        font-size: 28px;
        font-weight: 400;
        font-family: "din-2014", sans-serif;
        padding-bottom: 12px;
        border-bottom: 1px solid #707070;
        list-style-position: inside;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .media-wysiwyg .mokuji-box ol li {
            font-size: 14px;
            padding-bottom: 6px;
            padding-left: 1.5em;
            text-indent: -1.3em; } }
        .media-wysiwyg .mokuji-box ol li + li {
          margin-top: 12px; }
          @media screen and (max-width: 768px) {
            .media-wysiwyg .mokuji-box ol li + li {
              margin-top: 6px; } }
        .media-wysiwyg .mokuji-box ol li a {
          color: #6F6F6F;
          font-size: 18px;
          font-family: inherit;
          text-decoration: none;
          line-height: 1.5;
          vertical-align: bottom; }
          @media screen and (max-width: 768px) {
            .media-wysiwyg .mokuji-box ol li a {
              font-size: 12px; } }
  .media-wysiwyg .layout_title_h2 {
    margin: 75px 0 30px; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .layout_title_h2 {
        margin: 40px 0 15px; } }
    .media-wysiwyg .layout_title_h2 h2 {
      margin: 0;
      font-size: 28px;
      font-weight: 600;
      color: #1A78E5;
      line-height: 1.4285714286; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .layout_title_h2 h2 {
          font-size: 16px; } }
      .media-wysiwyg .layout_title_h2 h2 .num {
        font-size: 42px;
        font-family: "din-2014", sans-serif;
        line-height: 1;
        font-weight: 400;
        vertical-align: text-bottom; }
        @media screen and (max-width: 768px) {
          .media-wysiwyg .layout_title_h2 h2 .num {
            font-size: 23px; } }
  .media-wysiwyg .layout_title_h3 {
    margin: 60px 0 30px; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .layout_title_h3 {
        margin: 30px 0 15px; } }
    .media-wysiwyg .layout_title_h3 h3 {
      margin: 0;
      font-size: 24px;
      font-weight: 600;
      line-height: 1.4583333333; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .layout_title_h3 h3 {
          font-size: 14px; } }
  .media-wysiwyg .layout_single_img {
    margin: 30px 0; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .layout_single_img {
        margin: 20px 0; } }
  .media-wysiwyg .list_number_box {
    margin: 60px 0; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .list_number_box {
        margin: 20px 0; } }
    .media-wysiwyg .list_number_box .list_number_ttl {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      font-size: 24px;
      font-weight: 600;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .list_number_box .list_number_ttl {
          font-size: 14px;
          margin-bottom: 15px; } }
      .media-wysiwyg .list_number_box .list_number_ttl .list_number_ttl_count {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 55px;
        height: 55px;
        font-family: "din-2014", sans-serif;
        font-size: 26px;
        font-weight: 400;
        color: #fff;
        background-color: #1A78E5;
        margin-right: 20px; }
        @media screen and (max-width: 768px) {
          .media-wysiwyg .list_number_box .list_number_ttl .list_number_ttl_count {
            width: 35px;
            height: 35px;
            font-size: 15px;
            margin-right: 12px; } }
  .media-wysiwyg .layout_point {
    margin: 80px 0;
    background-color: #1A78E5;
    padding: 60px; }
    @media screen and (max-width: 768px) {
      .media-wysiwyg .layout_point {
        margin: 40px 0;
        padding: 30px 8vw; } }
    .media-wysiwyg .layout_point .layout_point_inner {
      background-color: #fff;
      border-radius: 30px;
      padding: 30px 50px 40px; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .layout_point .layout_point_inner {
          border-radius: 10px;
          padding: 22px 25px 25px; } }
    .media-wysiwyg .layout_point .point-ttl {
      font-size: 30px;
      font-weight: 400;
      text-align: center;
      color: #1A78E5;
      margin: 0 0 10px;
      line-height: 1.3333333333; }
      @media screen and (max-width: 768px) {
        .media-wysiwyg .layout_point .point-ttl {
          font-size: 22px; } }
    .media-wysiwyg .layout_point .layout_point_text {
      font-weight: 500; }

.bg-diet-sblue-wrap {
  background-color: #E8F2FD;
  padding: 50px 0; }
  @media screen and (max-width: 768px) {
    .bg-diet-sblue-wrap {
      padding: 30px 0; } }
  .bg-diet-sblue-wrap p {
    margin: 0; }

.bg-diet-gray-block {
  background-color: #F2F1F1;
  border-radius: 15px;
  padding: 75px 50px 50px;
  margin: 50px 0 30px; }
  @media screen and (max-width: 768px) {
    .bg-diet-gray-block {
      margin: 20px 0;
      border-radius: 15px;
      padding: 38px 25px 25px; } }

.arrow-block-hd {
  background-color: #F52935;
  position: relative; }
  .arrow-block-hd:before {
    content: "";
    position: absolute;
    top: 0;
    left: calc( 50% - 316px );
    display: block;
    width: 0;
    height: 0;
    border-width: 94px 316px 0 316px;
    border-style: solid;
    border-color: transparent;
    border-top-color: #fff; }
    @media screen and (max-width: 768px) {
      .arrow-block-hd:before {
        left: calc( 50% - 50vw );
        top: -1px;
        border-width: 66px 50vw 0 50vw; } }
  .arrow-block-hd .fukidashi {
    position: absolute;
    top: 25px;
    left: calc( 50% - 283px );
    width: 136px;
    height: 82px;
    background-color: #333;
    border-radius: 10px;
    color: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.16); }
    @media screen and (max-width: 768px) {
      .arrow-block-hd .fukidashi {
        top: 20px;
        left: 8vw;
        width: 91px;
        height: 56px;
        border-radius: 5px;
        font-size: 11px;
        box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.16); } }
    .arrow-block-hd .fukidashi:after {
      content: "";
      position: absolute;
      bottom: -15px;
      left: calc( 50% - 8px );
      display: block;
      width: 0;
      height: 0;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #333;
      border-right-color: #333; }
      @media screen and (max-width: 768px) {
        .arrow-block-hd .fukidashi:after {
          border-width: 6px;
          bottom: -12px;
          left: calc( 50% - 6px ); } }
  .arrow-block-hd .hd {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    padding: 120px 0 40px; }
    @media screen and (max-width: 768px) {
      .arrow-block-hd .hd {
        font-size: 18px;
        padding: 100px 0 20px; } }
    .arrow-block-hd .hd .sub {
      color: #333; }
  .arrow-block-hd.-green {
    background-color: #01AE09; }

.hd-block-img {
  position: relative; }
  .hd-block-img .mv-img {
    margin: 0; }
    .hd-block-img .mv-img img {
      min-width: 1106px;
      width: 100%;
      height: auto; }
      @media screen and (max-width: 768px) {
        .hd-block-img .mv-img img {
          min-width: initial; } }
  .hd-block-img .visually-hidden {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0; }

.hd-blue-line {
  background-color: #1A78E5;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  padding-bottom: 30px;
  color: #fff;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .hd-blue-line {
      height: 130px;
      padding-bottom: 20px;
      margin-bottom: 30px; } }
  .hd-blue-line .en {
    color: #C3C0C0;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    margin: 0;
    font-family: "din-2014", sans-serif; }
    @media screen and (max-width: 768px) {
      .hd-blue-line .en {
        font-size: 11px; } }
  .hd-blue-line .jp {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .hd-blue-line .jp {
        font-size: 18px; } }
    .hd-blue-line .jp img {
      display: block;
      width: 155px;
      margin-right: 5px; }
      @media screen and (max-width: 768px) {
        .hd-blue-line .jp img {
          width: 118px; } }
    @media screen and (max-width: 768px) {
      .hd-blue-line .jp.-sp-br {
        flex-direction: column;
        margin-top: 8px; } }

.hd-center-01 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-align: center;
  margin: 60px 0 40px; }
  @media screen and (max-width: 768px) {
    .hd-center-01 {
      flex-direction: column;
      margin: 20px 0 20px; } }
  .hd-center-01 .small {
    font-size: 20px;
    margin-right: 4px; }
    @media screen and (max-width: 768px) {
      .hd-center-01 .small {
        font-size: 15px; } }
  .hd-center-01 .text {
    font-size: 24px; }
    @media screen and (max-width: 768px) {
      .hd-center-01 .text {
        font-size: 18px; } }
  .hd-center-01.-br {
    flex-direction: column; }

.hd-diet-img-bar {
  margin: 0;
  background-image: url(../img/diet/hd_bg_02.webp);
  background-size: 100% auto;
  font-size: 24px;
  font-weight: 600;
  height: 150px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative; }
  @media screen and (max-width: 768px) {
    .hd-diet-img-bar {
      background-image: url(../img/diet/hd_bg_02_sp.webp);
      font-size: 18px;
      height: 130px;
      text-align: left; }
      .hd-diet-img-bar:before {
        content: "";
        position: absolute;
        bottom: -22px;
        right: 10%;
        display: block;
        width: 0;
        height: 0;
        border-width: 11px;
        border-style: solid;
        border-color: transparent;
        border-top-color: #1A78E5;
        border-left-color: #1A78E5; } }

.serifu-ul {
  margin: 0;
  padding: 0;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .serifu-ul {
      margin-bottom: 60px; } }
  .serifu-ul li {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .serifu-ul li + li {
      margin-top: 25px; }
      @media screen and (max-width: 768px) {
        .serifu-ul li + li {
          margin-top: 20px; } }
    .serifu-ul li .fukidashi {
      margin: 0;
      background-color: #333;
      color: #fff;
      border-radius: 20px;
      padding: 33px 0 37px;
      width: 609px;
      position: relative;
      text-align: center;
      box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.16);
      font-size: 21px;
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        .serifu-ul li .fukidashi {
          font-size: 13px;
          padding: 28px 10px 27px 18px;
          width: 58.7%;
          text-align: left;
          box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.16); } }
      .serifu-ul li .fukidashi:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -16px;
        display: block;
        width: 0;
        height: 0;
        border-width: 8px;
        border-style: solid;
        border-color: transparent;
        border-top-color: #333;
        border-left-color: #333; }
        @media screen and (max-width: 768px) {
          .serifu-ul li .fukidashi:after {
            border-width: 6px;
            right: -12px; } }
    .serifu-ul li .img {
      width: 159px; }
      @media screen and (max-width: 768px) {
        .serifu-ul li .img {
          width: 98px; } }
    .serifu-ul li:nth-child(even) .fukidashi {
      order: 2; }
      .serifu-ul li:nth-child(even) .fukidashi:after {
        border-color: transparent;
        border-top-color: #333;
        border-right-color: #333;
        right: auto;
        left: -16px; }
        @media screen and (max-width: 768px) {
          .serifu-ul li:nth-child(even) .fukidashi:after {
            left: -12px; } }
    .serifu-ul li:nth-child(even) .img {
      order: 1; }

.reason-ol {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin: 80px 0 120px; }
  @media screen and (max-width: 768px) {
    .reason-ol {
      display: block;
      margin: 30px 0 40px; } }
  .reason-ol li {
    list-style: none;
    width: 348px;
    background-color: #F2F1F1;
    border-radius: 10px; }
    @media screen and (max-width: 768px) {
      .reason-ol li {
        width: auto; }
        .reason-ol li + li {
          margin-top: 25px; } }
  .reason-ol .reason-hd {
    border-radius: 10px 10px 0 0;
    background-image: url(../img/diet/hd_bg_01.webp);
    background-size: 100% auto;
    height: 130px;
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    padding: 0 90px 23px 39px;
    margin: 0;
    /*
    .fwrap {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      width: 100%;

      &.-right {
        justify-content: flex-end;
      }
      img {
        width: 151px;
        margin-right: 4px;

        @media screen and (max-width: 768px) {
          width: 132px;
        }
      }
    }*/ }
    @media screen and (max-width: 768px) {
      .reason-ol .reason-hd {
        border-radius: 5px 5px 0 0;
        height: auto;
        aspect-ratio: 630 / 235;
        padding: 0 71px 19px 35px; } }
    .reason-ol .reason-hd .num {
      position: absolute;
      right: 34px;
      bottom: 20px;
      font-size: 78px;
      font-family: "din-2014", sans-serif;
      font-weight: 400;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .reason-ol .reason-hd .num {
          right: 30px;
          bottom: 18px;
          font-size: 71px; } }
    .reason-ol .reason-hd img {
      width: 219px; }
      @media screen and (max-width: 768px) {
        .reason-ol .reason-hd img {
          width: 100%; } }
  .reason-ol .inner-dl {
    margin: 0;
    padding: 12px 27px 25px; }
    @media screen and (max-width: 768px) {
      .reason-ol .inner-dl {
        padding: 11px 24px 21px; } }
    .reason-ol .inner-dl .dl-wrap {
      margin: 0;
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      margin-bottom: 10px; }
      .reason-ol .inner-dl .dl-wrap dt {
        font-size: 16px;
        font-weight: 600; }
        .reason-ol .inner-dl .dl-wrap dt b {
          font-size: 22px;
          font-weight: 600;
          color: #F52935; }
      .reason-ol .inner-dl .dl-wrap .fukidashi {
        width: 100px;
        text-align: center;
        margin-bottom: 10px;
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.16);
        position: relative;
        font-size: 12px;
        font-weight: 600;
        color: #1A78E5;
        padding: 12px 0 10px; }
        @media screen and (max-width: 768px) {
          .reason-ol .inner-dl .dl-wrap .fukidashi {
            box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.16);
            font-size: 11px;
            padding: 12px 0 10px; } }
        .reason-ol .inner-dl .dl-wrap .fukidashi b {
          font-size: 15px;
          line-height: 1.2; }
          @media screen and (max-width: 768px) {
            .reason-ol .inner-dl .dl-wrap .fukidashi b {
              font-size: 14px; } }
        .reason-ol .inner-dl .dl-wrap .fukidashi:before {
          content: "";
          position: absolute;
          bottom: -10px;
          left: 50%;
          display: block;
          width: 0;
          height: 0;
          border-width: 5px;
          border-style: solid;
          border-color: transparent;
          border-top-color: #fff;
          border-left-color: #fff; }
    .reason-ol .inner-dl dd {
      margin: 0; }
    .reason-ol .inner-dl .img {
      aspect-ratio: 293 / 166;
      height: auto;
      margin-bottom: 14px; }
      .reason-ol .inner-dl .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .reason-ol .inner-dl .text {
      font-size: 14px; }

.diet-ph-hd-ul-wrap {
  margin: 60px 0 60px; }
  @media screen and (max-width: 768px) {
    .diet-ph-hd-ul-wrap {
      margin: 30px 0 30px; } }

.diet-ph-hd-ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: -28px -14px 0; }
  @media screen and (max-width: 768px) {
    .diet-ph-hd-ul {
      display: block;
      margin: 0; } }
  .diet-ph-hd-ul li {
    list-style: none;
    width: calc( 50% - 28px );
    margin: 28px 14px 0;
    background-color: #F2F1F1;
    border-radius: 10px; }
    @media screen and (max-width: 768px) {
      .diet-ph-hd-ul li {
        width: auto;
        margin: 0; }
        .diet-ph-hd-ul li + li {
          margin-top: 25px; } }
  .diet-ph-hd-ul .diet-ph-hd-dl {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column; }
    .diet-ph-hd-ul .diet-ph-hd-dl dt {
      color: #fff;
      width: 100%;
      border-radius: 10px 10px 0 0;
      background-image: url(../img/diet/hd-bg_wide.webp);
      background-size: 100% auto;
      min-height: 130px;
      padding-top: 36px;
      padding-bottom: 23px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-direction: column;
      flex-shrink: 0; }
      @media screen and (max-width: 768px) {
        .diet-ph-hd-ul .diet-ph-hd-dl dt {
          padding-top: 28px;
          padding-bottom: 19px;
          min-height: 117px;
          border-radius: 5px 5px 0 0; } }
      .diet-ph-hd-ul .diet-ph-hd-dl dt .sub {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 16px;
        border-radius: 20px;
        height: 27px;
        background-color: #333;
        font-weight: 600;
        font-size: 12px;
        line-height: 1;
        margin-bottom: 7px; }
        .diet-ph-hd-ul .diet-ph-hd-dl dt .sub.en {
          font-family: "din-2014", sans-serif;
          font-weight: 400; }
        .diet-ph-hd-ul .diet-ph-hd-dl dt .sub b {
          font-size: 26px;
          font-family: "din-2014", sans-serif;
          font-weight: 400;
          line-height: 27px;
          margin-left: 4px; }
      .diet-ph-hd-ul .diet-ph-hd-dl dt .text {
        font-size: 20px;
        font-weight: 600;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .diet-ph-hd-ul .diet-ph-hd-dl dt .text {
            font-size: 18px; } }
    .diet-ph-hd-ul .diet-ph-hd-dl dd {
      margin: 0;
      padding: 20px 28px 28px;
      flex-grow: 1;
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .diet-ph-hd-ul .diet-ph-hd-dl dd {
          font-size: 13px; } }
      .diet-ph-hd-ul .diet-ph-hd-dl dd .img:first-child,
      .diet-ph-hd-ul .diet-ph-hd-dl dd p:first-child {
        margin-top: 0; }
      .diet-ph-hd-ul .diet-ph-hd-dl dd .note {
        font-size: 12px; }
        @media screen and (max-width: 768px) {
          .diet-ph-hd-ul .diet-ph-hd-dl dd .note {
            font-size: 11px; } }
      @media screen and (max-width: 768px) {
        .diet-ph-hd-ul .diet-ph-hd-dl dd {
          padding: 20px 23px 23px; } }
      .diet-ph-hd-ul .diet-ph-hd-dl dd .img {
        aspect-ratio: 530/ 300;
        margin-top: 1.2em; }
      .diet-ph-hd-ul .diet-ph-hd-dl dd img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    @media screen and (min-width: 769px) {
      .diet-ph-hd-ul .diet-ph-hd-dl.-bottom-img {
        margin-top: 0; }
        .diet-ph-hd-ul .diet-ph-hd-dl.-bottom-img dd {
          position: relative;
          padding-bottom: 220px; }
        .diet-ph-hd-ul .diet-ph-hd-dl.-bottom-img .bottom-img {
          width: 340px;
          height: 192px;
          position: absolute;
          bottom: 28px;
          left: 28px;
          right: 28px; } }

.medicine-ul {
  margin: 60px 0 120px;
  padding: 0; }
  @media screen and (max-width: 768px) {
    .medicine-ul {
      margin: 25px 0 40px; } }
  .medicine-ul li {
    list-style: none; }
    .medicine-ul li a {
      display: block;
      align-items: stretch;
      justify-content: space-between;
      width: 100%;
      background-color: #F2F1F1;
      border-radius: 20px;
      text-decoration: none;
      color: #333;
      transition: opacity 0.3s ease; }
      @media screen and (max-width: 768px) {
        .medicine-ul li a {
          border-radius: 15px; } }
      .medicine-ul li a:hover {
        opacity: 0.7; }
    .medicine-ul li + li {
      margin-top: 30px; }
      @media screen and (max-width: 768px) {
        .medicine-ul li + li {
          margin-top: 20px; } }
    .medicine-ul li .medicine-dl {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      padding: 50px 80px; }
      @media screen and (max-width: 768px) {
        .medicine-ul li .medicine-dl {
          padding: 19px 23px;
          display: block; } }
      .medicine-ul li .medicine-dl dd {
        margin: 0; }
      .medicine-ul li .medicine-dl .dl-wrap-left {
        width: 496px; }
        @media screen and (max-width: 768px) {
          .medicine-ul li .medicine-dl .dl-wrap-left {
            width: auto; } }
      .medicine-ul li .medicine-dl .dl-wrap-right {
        width: 293px; }
        @media screen and (max-width: 768px) {
          .medicine-ul li .medicine-dl .dl-wrap-right {
            width: auto;
            margin-top: 10px; } }
      .medicine-ul li .medicine-dl dt {
        display: flex;
        align-items: center;
        font-size: 20px;
        font-weight: 600;
        color: #F52935;
        margin-bottom: 20px;
        position: relative; }
        @media screen and (max-width: 768px) {
          .medicine-ul li .medicine-dl dt {
            font-size: 16px;
            margin-bottom: 9px; } }
        .medicine-ul li .medicine-dl dt i {
          margin-right: 11px;
          font-size: 34px;
          font-weight: 400; }
          @media screen and (max-width: 768px) {
            .medicine-ul li .medicine-dl dt i {
              margin-right: 5px;
              font-size: 26px; } }
        .medicine-ul li .medicine-dl dt:after {
          content: "\e90a";
          font-family: "icomoon" !important;
          transform: rotate(135deg);
          position: absolute;
          top: 50%;
          right: 0;
          width: 40px;
          height: 40px;
          margin-top: -20px;
          border-radius: 50%;
          background-color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #BBA171;
          font-size: 20px;
          font-weight: 400; }
          @media screen and (max-width: 768px) {
            .medicine-ul li .medicine-dl dt:after {
              width: 26px;
              height: 26px;
              margin-top: -13px;
              font-size: 12px; } }
      .medicine-ul li .medicine-dl .text {
        font-size: 16px; }
        @media screen and (max-width: 768px) {
          .medicine-ul li .medicine-dl .text {
            font-size: 13px; } }

.blue-diet-p-wrap {
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .blue-diet-p-wrap {
      margin-bottom: 30px; } }
  .blue-diet-p-wrap .blue-p {
    text-align: center;
    margin: 0 0 13px;
    font-size: 28px;
    font-weight: 600;
    color: #1A78E5;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .blue-diet-p-wrap .blue-p {
        font-size: 18px;
        margin: 0 0 8px; } }
    .blue-diet-p-wrap .blue-p.-black {
      color: #333; }
    .blue-diet-p-wrap .blue-p .img {
      margin-right: 4px; }
    .blue-diet-p-wrap .blue-p img {
      display: block;
      width: 260px; }
      @media screen and (max-width: 768px) {
        .blue-diet-p-wrap .blue-p img {
          width: 166px; }
          .blue-diet-p-wrap .blue-p img.-bodymake {
            width: 171px; }
          .blue-diet-p-wrap .blue-p img.-bodymake02 {
            width: 225px; } }
  .blue-diet-p-wrap .blue-p-text {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .blue-diet-p-wrap .blue-p-text {
        font-size: 18px; }
        .blue-diet-p-wrap .blue-p-text.-inline {
          display: inline-block; } }

.red-border-dl {
  border: 2px solid #F52935;
  padding: 30px 46px 40px;
  border-radius: 30px; }
  @media screen and (max-width: 768px) {
    .red-border-dl {
      border: 1px solid #F52935;
      padding: 20px 23px 20px;
      border-radius: 15px; } }
  .red-border-dl dt {
    color: #F52935;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .red-border-dl dt {
        font-size: 16px;
        margin-bottom: 20px; } }
  .red-border-dl dd {
    margin: 0; }
    .red-border-dl dd p {
      margin: 0; }
      @media screen and (max-width: 768px) {
        .red-border-dl dd p {
          font-size: 13px; } }
      .red-border-dl dd p + p {
        margin-top: 1em; }
    .red-border-dl dd .note {
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .red-border-dl dd .note {
          font-size: 11px; } }

.border-wrap-dl {
  border: 2px solid #333;
  padding: 30px 46px 40px;
  border-radius: 30px; }
  .border-wrap-dl.-blue {
    border-color: #1A78E5; }
    .border-wrap-dl.-blue dt {
      color: #1A78E5; }
  .border-wrap-dl.-red {
    border-color: #F52935; }
    .border-wrap-dl.-red dt {
      color: #F52935; }
  @media screen and (max-width: 768px) {
    .border-wrap-dl {
      border-width: 1px;
      padding: 20px 23px 20px;
      border-radius: 15px; } }
  .border-wrap-dl dt {
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .border-wrap-dl dt {
        font-size: 16px;
        margin-bottom: 20px; } }
  .border-wrap-dl dd {
    margin: 0; }
    .border-wrap-dl dd p {
      margin: 0; }
      @media screen and (max-width: 768px) {
        .border-wrap-dl dd p {
          font-size: 13px; } }
      .border-wrap-dl dd p + p {
        margin-top: 1em; }
    .border-wrap-dl dd .note {
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .border-wrap-dl dd .note {
          font-size: 11px; } }

.reason-tab-dl {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 50px 50px; }
  @media screen and (max-width: 768px) {
    .reason-tab-dl {
      border-radius: 5px;
      padding: 26px 25px 30px; } }
  .reason-tab-dl dt {
    font-family: 22px;
    color: #F52935;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .reason-tab-dl dt {
        font-family: 15px;
        margin-bottom: 10px; } }
  .reason-tab-dl dd {
    margin: 0; }
  .reason-tab-dl .dl-wrap {
    display: flex;
    align-items: stretch; }
    @media screen and (max-width: 768px) {
      .reason-tab-dl .dl-wrap {
        display: block; } }
    .reason-tab-dl .dl-wrap .img {
      width: 434px;
      flex-shrink: 0;
      margin-right: 45px;
      background-color: #F2F1F1; }
      @media screen and (max-width: 768px) {
        .reason-tab-dl .dl-wrap .img {
          width: auto;
          margin-right: 0;
          margin-bottom: 20px; } }
    @media screen and (max-width: 768px) {
      .reason-tab-dl .dl-wrap .text {
        font-size: 13px; } }

.diet-tab-after-p {
  margin: 40px 0 0; }
  @media screen and (max-width: 768px) {
    .diet-tab-after-p {
      margin-top: 30px; } }

.all-red-block {
  background-color: #F52935;
  padding-bottom: 120px; }
  @media screen and (max-width: 768px) {
    .all-red-block {
      padding-bottom: 60px; } }
  .all-red-block.-green {
    background-color: #01AE09;
    padding-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .all-red-block.-green {
        padding-bottom: 40px; } }
  .all-red-block .content {
    width: 720px;
    height: 408px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .all-red-block .content {
        width: auto;
        height: auto;
        aspect-ratio: 630 / 480; } }
    .all-red-block .content img {
      display: block;
      margin: 0 auto; }

.img-center-text-wrap {
  margin: 80px 0; }
  @media screen and (max-width: 768px) {
    .img-center-text-wrap {
      margin: 40px 0; } }
  .img-center-text-wrap .item {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .img-center-text-wrap .item {
        display: block; } }
    .img-center-text-wrap .item + .item {
      margin-top: 60px; }
      @media screen and (max-width: 768px) {
        .img-center-text-wrap .item + .item {
          margin-top: 40px; } }
    .img-center-text-wrap .item .img {
      width: 396px;
      margin-right: 40px; }
      @media screen and (max-width: 768px) {
        .img-center-text-wrap .item .img {
          width: auto;
          margin-right: 0; } }
    .img-center-text-wrap .item .text {
      font-size: 24px;
      font-weight: 600; }
      @media screen and (max-width: 768px) {
        .img-center-text-wrap .item .text {
          font-size: 18px; } }

.bg-full-wrap {
  padding: 40px 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    .bg-full-wrap {
      padding: 30px 0; } }
  .bg-full-wrap.-blue {
    background-color: #1A78E5; }
  .bg-full-wrap.-black {
    background-color: #333; }

.col2-dl {
  display: flex;
  align-items: stretch; }
  @media screen and (max-width: 768px) {
    .col2-dl {
      display: block; } }
  .col2-dl dd {
    margin: 0; }
  .col2-dl .dl-wrap {
    background-color: #fff;
    border-radius: 10px;
    padding: 35px 32px;
    width: 396px; }
    @media screen and (max-width: 768px) {
      .col2-dl .dl-wrap {
        border-radius: 5px;
        padding: 24px 25px;
        width: auto; } }
    .col2-dl .dl-wrap + .dl-wrap {
      margin-left: 28px; }
      @media screen and (max-width: 768px) {
        .col2-dl .dl-wrap + .dl-wrap {
          margin-left: 0;
          margin-top: 20px; } }
    .col2-dl .dl-wrap dt {
      font-size: 18px;
      font-weight: 600;
      text-align: center;
      color: #F52935; }
      @media screen and (max-width: 768px) {
        .col2-dl .dl-wrap dt {
          font-size: 15px; } }
    .col2-dl .dl-wrap .img {
      margin: 15px 0 25px; }
      @media screen and (max-width: 768px) {
        .col2-dl .dl-wrap .img {
          margin: 10px 0 20px; } }
    .col2-dl .dl-wrap .text {
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .col2-dl .dl-wrap .text {
          font-size: 13px; } }
      .col2-dl .dl-wrap .text p {
        margin: 0; }

.fl-img-text-wrap {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .fl-img-text-wrap {
      flex-direction: column; } }
  .fl-img-text-wrap .img {
    width: 396px;
    margin-right: 58px; }
    @media screen and (max-width: 768px) {
      .fl-img-text-wrap .img {
        width: 100%;
        margin-right: 0;
        margin-top: 30px;
        order: 2; } }
  .fl-img-text-wrap .text {
    font-size: 24px;
    font-weight: 600;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .fl-img-text-wrap .text {
        font-size: 18px;
        order: 1;
        text-align: center; } }
    .fl-img-text-wrap .text .fgray {
      color: #CBCBCB; }
    .fl-img-text-wrap .text p {
      margin: 0; }
      @media screen and (max-width: 768px) {
        .fl-img-text-wrap .text p + p {
          margin-top: 1em; } }

.block-dl {
  margin: 0; }
  .block-dl .dl-wrap {
    display: flex;
    align-items: stretch; }
    @media screen and (max-width: 768px) {
      .block-dl .dl-wrap {
        display: block; } }
    .block-dl .dl-wrap + .dl-wrap {
      margin-top: 43px; }
      @media screen and (max-width: 768px) {
        .block-dl .dl-wrap + .dl-wrap {
          margin-top: 20px; } }
  .block-dl dt {
    width: 240px;
    height: 125px;
    flex-shrink: 0;
    background-color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    font-weight: 600; }
    @media screen and (max-width: 768px) {
      .block-dl dt {
        width: auto;
        height: 32px;
        font-size: 12px; } }
  .block-dl dd {
    margin: 0;
    background-color: #fff; }
    @media screen and (max-width: 768px) {
      .block-dl dd {
        aspect-ratio: 530 / 300; } }

.why-ph-hd-list {
  margin: 60px 0 120px;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .why-ph-hd-list {
      display: block;
      margin: 25px 0 60px; } }
  .why-ph-hd-list.-no-stretch {
    align-items: flex-start; }
  @media screen and (min-width: 769px) {
    .why-ph-hd-list.-thin li {
      width: 396px; } }
  .why-ph-hd-list li {
    list-style: none;
    width: 539px; }
    @media screen and (max-width: 768px) {
      .why-ph-hd-list li {
        width: auto; }
        .why-ph-hd-list li + li {
          margin-top: 40px; } }
    .why-ph-hd-list li.-flex {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .why-ph-hd-list li.-flex > .item {
        flex-grow: 1; }
    .why-ph-hd-list li p {
      font-size: 14px; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li p {
          font-size: 13px; } }
    .why-ph-hd-list li .item {
      background-color: #F2F1F1;
      border-radius: 10px;
      position: relative; }
      .why-ph-hd-list li .item *:last-child {
        margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .item {
          border-radius: 5px; } }
      @media screen and (min-width: 769px) {
        .why-ph-hd-list li .item.-height100 {
          height: 100%; } }
      .why-ph-hd-list li .item + .item {
        margin-top: 28px; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .item + .item {
            margin-top: 25px; } }
    .why-ph-hd-list li .item-wrap {
      display: flex;
      align-items: flex-start;
      margin-top: 17px;
      flex-direction: column; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .item-wrap {
          display: block;
          margin-top: 20px; } }
      .why-ph-hd-list li .item-wrap .item + .item {
        margin-top: 0; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .item-wrap .item + .item {
            margin-top: 20px; } }
    .why-ph-hd-list li .hd {
      background-image: url(../img/bodymake/hd_bg_01.jpg);
      background-size: 100% auto;
      min-height: 119px;
      padding-top: 34px;
      padding-bottom: 22px;
      margin: 0;
      color: #fff;
      font-size: 22px;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-direction: column;
      flex-shrink: 0; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .hd {
          min-height: 70px;
          padding-top: 28px;
          padding-bottom: 12px; } }
      .why-ph-hd-list li .hd .sub {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 16px;
        border-radius: 20px;
        height: 27px;
        background-color: #333;
        font-weight: 600;
        font-size: 12px;
        line-height: 1;
        margin-bottom: 7px; }
        .why-ph-hd-list li .hd .sub.en {
          font-family: "din-2014", sans-serif;
          font-weight: 400; }
        .why-ph-hd-list li .hd .sub b {
          font-size: 26px;
          font-family: "din-2014", sans-serif;
          font-weight: 400;
          line-height: 27px;
          margin-left: 4px; }
      .why-ph-hd-list li .hd .text {
        font-size: 20px;
        font-weight: 600;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .hd .text {
            font-size: 18px; } }
    .why-ph-hd-list li .hd-2nd {
      margin: 0 0 16px; }
      .why-ph-hd-list li .hd-2nd img {
        display: block;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .hd-2nd img {
            width: auto;
            height: 31px; } }
    .why-ph-hd-list li .sub-title {
      font-size: 20px;
      font-weight: 600;
      line-height: 1.4545454545; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .sub-title {
          font-size: 16px; } }
      .why-ph-hd-list li .sub-title b {
        color: #01AE09;
        font-size: 22px;
        font-weight: 600; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .sub-title b {
            font-size: 22px; } }
    .why-ph-hd-list li .text-wrap {
      padding: 10px 28px 25px;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .text-wrap {
          padding: 10px 25px 20px; } }
    .why-ph-hd-list li .item-wrap .child-item + .child-item {
      margin-top: 28px; }
    @media screen and (max-width: 768px) {
      .why-ph-hd-list li .item-wrap .child-item {
        width: auto; }
        .why-ph-hd-list li .item-wrap .child-item + .child-item {
          margin-top: 20px; } }
    .why-ph-hd-list li .child-item {
      width: 100%; }
      .why-ph-hd-list li .child-item .sub-title {
        font-size: 14px; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .child-item .sub-title {
            font-size: 14px; } }
        .why-ph-hd-list li .child-item .sub-title b {
          font-size: 16px; }
          @media screen and (max-width: 768px) {
            .why-ph-hd-list li .child-item .sub-title b {
              font-size: 22px; } }
      .why-ph-hd-list li .child-item .text-wrap {
        padding: 18px 21px 17px; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list li .child-item .text-wrap {
            padding: 20px 25px 20px; } }
    .why-ph-hd-list li .small {
      font-size: 12px; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list li .small {
          font-size: 13px; } }
    .why-ph-hd-list li .img {
      aspect-ratio: 219 / 124;
      height: auto; }
      .why-ph-hd-list li .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    @media screen and (min-width: 769px) {
      .why-ph-hd-list li .bottom-fit-wrap {
        position: absolute;
        left: 40px;
        right: 40px;
        width: auto;
        bottom: 60px; } }
  .why-ph-hd-list .kakeru-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .why-ph-hd-list .kakeru-wrap {
        display: block;
        height: auto; } }
    .why-ph-hd-list .kakeru-wrap .kakeru-before {
      width: 100%;
      height: 305px;
      flex-shrink: 0; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list .kakeru-wrap .kakeru-before {
          height: auto; } }
    .why-ph-hd-list .kakeru-wrap .kakeru-after {
      width: 100%;
      flex-grow: 1; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list .kakeru-wrap .kakeru-after {
          height: auto; } }
    .why-ph-hd-list .kakeru-wrap .kakeru-hds {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      margin: 28px 0 15px;
      flex-shrink: 0; }
      @media screen and (max-width: 768px) {
        .why-ph-hd-list .kakeru-wrap .kakeru-hds {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin: 14px 0 11px; } }
      .why-ph-hd-list .kakeru-wrap .kakeru-hds .label {
        background-color: #333;
        color: #fff;
        font-size: 22px;
        font-weight: 600;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        width: 170px; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list .kakeru-wrap .kakeru-hds .label {
            font-size: 21px;
            width: 43%;
            height: 36px; } }
      .why-ph-hd-list .kakeru-wrap .kakeru-hds .kakeru {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px; }
        @media screen and (max-width: 768px) {
          .why-ph-hd-list .kakeru-wrap .kakeru-hds .kakeru {
            width: 21px;
            height: 21px; }
            .why-ph-hd-list .kakeru-wrap .kakeru-hds .kakeru img {
              width: 21px; } }

.three-panel-wrap {
  display: flex;
  align-items: stretch;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .three-panel-wrap {
      margin-left: -7px;
      margin-right: -7px; } }
  .three-panel-wrap .item {
    width: 254px;
    height: 254px;
    background-color: #F2F1F1; }
    @media screen and (max-width: 768px) {
      .three-panel-wrap .item {
        width: calc(33.333% - 14px);
        aspect-ratio: 1;
        height: auto;
        margin: 0 7px; } }
    .three-panel-wrap .item img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.bodymake-conv-block {
  background-color: #E8F2FD;
  padding: 60px 0;
  margin: 120px 0; }
  @media screen and (max-width: 768px) {
    .bodymake-conv-block {
      padding: 40px 0;
      margin: 60px 0; } }
  .bodymake-conv-block p {
    margin: 0;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    color: #1A78E5;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      .bodymake-conv-block p {
        font-size: 16px;
        margin-bottom: 30px; } }
    .bodymake-conv-block p b {
      font-weight: 600; }
      @media screen and (max-width: 768px) {
        .bodymake-conv-block p b {
          font-size: 18px; } }

.bodymake-gray-dl {
  margin: 60px 0 120px; }
  @media screen and (max-width: 768px) {
    .bodymake-gray-dl {
      margin: 35px 0 60px; } }
  .bodymake-gray-dl dt {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .bodymake-gray-dl dt {
        font-size: 15px;
        margin-bottom: 15px; } }
  .bodymake-gray-dl dd {
    margin: 0; }
    @media screen and (max-width: 768px) {
      .bodymake-gray-dl dd {
        overflow-x: auto; } }
    .bodymake-gray-dl dd table {
      table-layout: fixed;
      border-collapse: collapse;
      width: 100%; }
      @media screen and (max-width: 768px) {
        .bodymake-gray-dl dd table {
          width: auto; } }
      .bodymake-gray-dl dd table img {
        display: block;
        width: 52px;
        height: auto;
        margin: 0 auto 10px; }
        @media screen and (max-width: 768px) {
          .bodymake-gray-dl dd table img {
            width: 31px;
            margin-bottom: 8px; } }
      .bodymake-gray-dl dd table th {
        font-size: 18px;
        font-weight: 500;
        border-right: 1px solid #333; }
        .bodymake-gray-dl dd table th:last-child {
          border: none; }
        @media screen and (max-width: 768px) {
          .bodymake-gray-dl dd table th {
            white-space: nowrap;
            font-size: 11px; } }
      .bodymake-gray-dl dd table td {
        font-size: 16px;
        border-right: 1px solid #333;
        width: 546px;
        padding: 10px 25px 14px; }
        .bodymake-gray-dl dd table td:last-child {
          border: none; }
        @media screen and (max-width: 768px) {
          .bodymake-gray-dl dd table td {
            width: auto;
            white-space: nowrap;
            font-size: 10px;
            padding: 7px 15px 7px; } }
      .bodymake-gray-dl dd table .center {
        text-align: center; }
      .bodymake-gray-dl dd table thead th {
        background-color: #CBCBCB;
        padding: 17px 0; }
        .bodymake-gray-dl dd table thead th.green {
          background-color: #01AE09;
          color: #fff; }
        @media screen and (max-width: 768px) {
          .bodymake-gray-dl dd table thead th {
            font-size: 12px;
            padding: 12px 0; } }
      .bodymake-gray-dl dd table tbody th {
        background-color: #333;
        color: #fff;
        line-height: 1.7222222222; }

.img-table-wrap {
  margin: 60px 0 0; }
  @media screen and (max-width: 768px) {
    .img-table-wrap {
      margin-top: 30px; } }
  .img-table-wrap .img-table img {
    display: block; }
  .img-table-wrap .img-table + .img-table {
    margin-top: 35px; }
    @media screen and (max-width: 768px) {
      .img-table-wrap .img-table + .img-table {
        margin-top: 20px; } }

.slide-arrow {
  padding: 0;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff; }
  .slide-arrow:after {
    content: "\e90a";
    font-family: "icomoon" !important;
    color: #BBA171;
    font-size: 22px; }
  .slide-arrow.-next {
    transform: rotate(180deg); }
  .slide-arrow.slick-disabled, .slide-arrow:disabled {
    opacity: 0.7; }

.slick-slider .slick-arrow {
  position: absolute;
  left: 7.8%;
  top: calc(( 100% - 120px) / 2);
  margin-top: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-indent: -999px;
  border: none;
  z-index: 10; }
  @media screen and (max-width: 768px) {
    .slick-slider .slick-arrow {
      width: 32px;
      height: 32px;
      left: 2%;
      top: calc(( 100% - 78px) / 2);
      margin-top: -16px; } }
  .slick-slider .slick-arrow:after {
    content: "\e90a";
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
    width: 100%;
    height: 100%;
    color: #BBA171;
    font-family: "icomoon" !important;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .slick-slider .slick-arrow:after {
        font-size: 12px; } }
  .slick-slider .slick-arrow.slick-next {
    left: auto;
    right: 7.8%; }
    @media screen and (max-width: 768px) {
      .slick-slider .slick-arrow.slick-next {
        left: auto;
        right: 2%; } }
    .slick-slider .slick-arrow.slick-next:after {
      transform: rotate(180deg); }

.full-slider.-media .slick-arrow {
  top: calc(( 100% - 120px - 46px) / 2); }
  @media screen and (max-width: 768px) {
    .full-slider.-media .slick-arrow {
      top: calc(( 100% - 78px - 42px) / 2); } }

.slick-dots {
  margin: 26px 0 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .slick-dots {
      margin-top: 15px; } }
  .slick-dots li {
    list-style: none;
    width: 12px;
    height: 12px;
    margin: 0 9px; }
    @media screen and (max-width: 768px) {
      .slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0 7px; } }
    .slick-dots li button {
      overflow: hidden;
      width: 100%;
      height: 100%;
      padding: 0;
      text-indent: -999px;
      background-color: #F2F1F1;
      border-radius: 50%;
      border: none;
      list-style: 1;
      font-size: 8px;
      display: flex; }
    .slick-dots li.slick-active button {
      background-color: #1A78E5; }

.full-slider-wrap {
  overflow: hidden; }

.full-slider {
  display: flex;
  align-items: stretch;
  justify-content: center; }
  .full-slider.-no-arrow .slick-arrow {
    display: none !important; }
  .full-slider .item {
    flex-shrink: 0;
    width: 425px;
    margin: 0 7px; }
    @media screen and (max-width: 768px) {
      .full-slider .item {
        width: calc( 100% - 16vw );
        margin: 0 5px; } }
    .full-slider .item a {
      text-decoration: none;
      color: #333;
      transition: opacity 0.3s ease; }
      .full-slider .item a:hover {
        opacity: 0.7; }
    .full-slider .item img {
      width: 100%;
      border-radius: 20px;
      aspect-ratio: 16 / 10;
      object-fit: cover; }
    .full-slider .item .text {
      margin-top: 10px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      height: 72px; }
      @media screen and (max-width: 768px) {
        .full-slider .item .text {
          font-size: 13px;
          padding: 0 0.8em;
          height: 43px; } }
    .full-slider .item .media-cats {
      display: flex;
      align-items: stretch;
      justify-content: flex-start;
      flex-wrap: wrap;
      margin: 12px -2px 15px; }
      @media screen and (max-width: 768px) {
        .full-slider .item .media-cats {
          margin: 8px -1px 15px; } }
      .full-slider .item .media-cats .cat {
        min-width: 70px;
        padding: 0 10px;
        height: 31px;
        border: 1px solid #1A78E5;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        color: #1A78E5;
        margin: 3px 2px 0; }
        @media screen and (max-width: 768px) {
          .full-slider .item .media-cats .cat {
            font-size: 11px;
            height: 31px;
            min-width: initial;
            margin: 2px 1px 0; } }

@media screen and (max-width: 768px) {
  .step-slider-wrap {
    margin: 0 8vw; } }

.step-slider {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    .step-slider {
      /*
      .slick-arrow {
      	display: flex !important;
      }
      .slick-arrow.slick-disabled {
      	display: none !important;
      }*/ }
      .step-slider .slick-list {
        padding: 0 9vw; }
      .step-slider .slick-slide {
        margin: 0 7px;
        /* 左右の隙間 */
        box-sizing: border-box; }
      .step-slider .slick-arrow {
        display: flex !important; }
      .step-slider .slick-arrow.slick-prev {
        display: none !important; } }
  @media screen and (max-width: 768px) {
    .step-slider {
      display: block; } }
  .step-slider .item {
    flex-shrink: 0;
    width: 425px;
    margin: 0 7px; }
    @media screen and (max-width: 768px) {
      .step-slider .item {
        width: auto;
        margin: 0; }
        .step-slider .item + .item {
          margin-top: 24px; } }
    .step-slider .item img {
      width: 100%;
      border-radius: 20px;
      aspect-ratio: 16 / 10;
      object-fit: cover; }
    .step-slider .item .step-label {
      margin-bottom: 15px;
      display: flex;
      align-items: center; }
      .step-slider .item .step-label .sub {
        width: 92px;
        height: 27px;
        font-size: 12px;
        margin-right: 10px;
        font-weight: 600;
        color: #fff;
        background-color: #333;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "din-2014", sans-serif; }
        @media screen and (max-width: 768px) {
          .step-slider .item .step-label .sub {
            margin-right: 8px; } }
        .step-slider .item .step-label .sub b {
          font-weight: 400;
          font-size: 26px;
          line-height: 27px;
          margin-left: 2px; }
      .step-slider .item .step-label .label {
        font-size: 19px;
        font-weight: 500; }
        @media screen and (max-width: 768px) {
          .step-slider .item .step-label .label {
            font-size: 16px;
            font-weight: 600; } }
    .step-slider .item .text {
      margin-top: 10px;
      font-size: 18px; }
      @media screen and (max-width: 768px) {
        .step-slider .item .text {
          font-size: 13px;
          padding: 0 0.8em; } }

.one-side-slider {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    .one-side-slider .slick-list {
      padding: 0 9vw; }
    .one-side-slider .slick-slide {
      margin: 0 7px;
      /* 左右の隙間 */
      box-sizing: border-box; } }
  @media screen and (max-width: 768px) {
    .one-side-slider {
      display: block; } }
  .one-side-slider .slick-arrow {
    display: flex !important; }
    .one-side-slider .slick-arrow.slick-disabled {
      display: none !important; }
  .one-side-slider .item {
    flex-shrink: 0;
    width: 425px;
    margin: 0 7px; }
    @media screen and (max-width: 768px) {
      .one-side-slider .item {
        width: calc( 100% - 16vw );
        margin: 0 5px; } }
    .one-side-slider .item img {
      width: 100%;
      border-radius: 20px;
      aspect-ratio: 16 / 10;
      object-fit: cover; }
    .one-side-slider .item .text {
      margin-top: 10px;
      font-size: 18px; }
      @media screen and (max-width: 768px) {
        .one-side-slider .item .text {
          font-size: 13px;
          padding: 0 0.8em; } }

.mfp-container {
  z-index: 20000; }

.clinic-popup-slider .slick-track {
  display: flex !important;
  align-items: stretch; }
.clinic-popup-slider .slide-item {
  margin: 0 7px 0;
  height: auto !important; }
  @media screen and (max-width: 768px) {
    .clinic-popup-slider .slide-item {
      margin: 0 10px 0; } }
  .clinic-popup-slider .slide-item .clinic-ac-content {
    width: 360px;
    background-color: #F2F1F1;
    padding: 28px 28px 20px;
    border-radius: 30px;
    height: 100%;
    padding-bottom: 135px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .clinic-popup-slider .slide-item .clinic-ac-content {
        width: 100%;
        padding: 34px 28px 20px;
        margin: 0;
        padding-bottom: 111px; } }
    .clinic-popup-slider .slide-item .clinic-ac-content .clinic-name {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #1A78E5;
      border-radius: 30px;
      color: #fff;
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 20px;
      height: 52px; }
      @media screen and (max-width: 768px) {
        .clinic-popup-slider .slide-item .clinic-ac-content .clinic-name {
          margin-bottom: 14px;
          height: 31px;
          font-size: 11px; } }
    .clinic-popup-slider .slide-item .clinic-ac-content .img {
      margin-bottom: 20px;
      aspect-ratio: 16 / 9;
      height: auto; }
      .clinic-popup-slider .slide-item .clinic-ac-content .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .clinic-popup-slider .slide-item .clinic-ac-content .btn-wrap {
      margin-top: 25px;
      position: absolute;
      bottom: 20px;
      left: 28px;
      right: 28px; }
      @media screen and (min-width: 769px) {
        .clinic-popup-slider .slide-item .clinic-ac-content .btn-wrap {
          left: 28px;
          right: 28px; }
          .clinic-popup-slider .slide-item .clinic-ac-content .btn-wrap .gold-btn {
            height: 46px; }
            .clinic-popup-slider .slide-item .clinic-ac-content .btn-wrap .gold-btn:after {
              width: 30px;
              height: 30px;
              margin-top: -15px;
              font-size: 16px; } }
    .clinic-popup-slider .slide-item .clinic-ac-content .popup-close-btn {
      margin-top: 10px;
      height: 34px;
      width: 100%;
      border: none;
      background: none;
      display: flex !important;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      color: #7E7E7E; }
      @media screen and (max-width: 768px) {
        .clinic-popup-slider .slide-item .clinic-ac-content .popup-close-btn {
          margin-top: 2px;
          padding-top: 10px;
          height: 29px;
          font-size: 13px; } }

.features-popup-slider .slick-track {
  display: flex !important;
  align-items: stretch; }
.features-popup-slider.slick-slider .slick-arrow {
  top: 50%;
  left: calc( 50% - 410px );
  margin-left: -30px;
  margin-top: -20px; }
  @media screen and (max-width: 768px) {
    .features-popup-slider.slick-slider .slick-arrow {
      left: 4vw;
      margin-left: 0;
      margin-top: -16px; } }
  .features-popup-slider.slick-slider .slick-arrow.slick-next {
    left: calc( 50% + 410px );
    margin-left: -10px; }
    @media screen and (max-width: 768px) {
      .features-popup-slider.slick-slider .slick-arrow.slick-next {
        right: 4vw;
        left: auto; } }
.features-popup-slider .slide-item {
  margin: 0 7px 0;
  height: auto !important; }
  @media screen and (max-width: 768px) {
    .features-popup-slider .slide-item {
      margin: 0 4vw 0; } }
  .features-popup-slider .slide-item .features-content {
    width: 820px;
    height: 100%;
    padding: 110px 103px  61px;
    border-radius: 20px;
    background-color: #F2F1F1;
    overflow: hidden;
    position: relative; }
    @media screen and (max-width: 768px) {
      .features-popup-slider .slide-item .features-content {
        width: auto;
        padding: 79px 25px  61px;
        border-radius: 30px; } }
    .features-popup-slider .slide-item .features-content .num {
      font-family: "din-2014", sans-serif;
      line-height: 1;
      font-size: 68px;
      font-weight: 500;
      color: #1A78E5;
      position: absolute;
      left: 30px;
      top: 25px; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .num {
          left: 25px;
          top: 18px;
          font-size: 45px; } }
    .features-popup-slider .slide-item .features-content .sep-flex-wrap {
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      margin-bottom: 33px; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .sep-flex-wrap {
          display: block;
          margin-bottom: 14px; } }
      .features-popup-slider .slide-item .features-content .sep-flex-wrap .cell {
        background-color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 293px;
        aspect-ratio: 293 / 166; }
        @media screen and (max-width: 768px) {
          .features-popup-slider .slide-item .features-content .sep-flex-wrap .cell {
            width: auto; } }
        .features-popup-slider .slide-item .features-content .sep-flex-wrap .cell img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .sep-flex-wrap .left {
          background: none;
          margin-bottom: 14px;
          aspect-ratio: initial; } }
    .features-popup-slider .slide-item .features-content .en-title {
      font-family: "din-2014", sans-serif;
      line-height: 1;
      font-size: 40px;
      font-weight: 600;
      color: #1A78E5;
      margin: 0 0 10px; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .en-title {
          font-size: 35px;
          margin: 0;
          position: absolute;
          right: 25px;
          top: 22px; } }
    .features-popup-slider .slide-item .features-content .sub-title {
      margin: 0;
      font-size: 20px;
      font-weight: 600; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .sub-title {
          font-size: 16px; } }
    .features-popup-slider .slide-item .features-content .text p {
      margin: 0;
      font-size: 14px;
      font-weight: 300; }
      @media screen and (max-width: 768px) {
        .features-popup-slider .slide-item .features-content .text p {
          font-size: 13px; } }
  .features-popup-slider .slide-item .popup-close-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 30px 30px 30px;
    border: none;
    background: none;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 400;
    color: #7E7E7E; }
    @media screen and (max-width: 768px) {
      .features-popup-slider .slide-item .popup-close-btn {
        font-size: 13px;
        bottom: 0;
        left: 0;
        width: auto;
        padding: 20px 30px 20px; } }

/*
.p-mv {
	height: calc( 100vh - 104px );
	padding: 40px;
	padding-top: 0;
	background-color: #f3f5f8;

	@media screen and (max-width: 768px) {
		height: auto;
		padding: 16px;
		padding-top: 0;
	}
}
.swiper-wrapper {
	overflow: hidden;
	width: 100%;
	height: 100%;
	background-color: #f3f5f8;
	border-radius: 40px;
	overflow: hidden;

	@media screen and (max-width: 768px) {
		aspect-ratio: 343 / 440;
		border-radius: 16px;
	}
	.draggable, .slick-track {
		height: 100%;
	}
	.slick-dots {
		position: absolute;
		right: 80px;
		bottom: 80px;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: stretch;

		@media screen and (max-width: 768px) {
			left: 0;
			right: 0;
			bottom: 16px;
			justify-content: center;
		}
		li {
			list-style: none;

			& + li {
				margin-left: 24px;

				@media screen and (max-width: 768px) {
					margin-left: 12px;
				}
			}
			&.slick-active {
				button {
					opacity: 1;
				}
			}
			button {
				display: block;
				padding: 0;
				border: none;
				width: 12px;
				height: 12px;
				overflow:  hidden;
				border-radius: 50%;
				text-indent: 999px;
				background-color: #fff;
				opacity: 0.5;

				@media screen and (max-width: 768px) {
					width: 6px;
					height: 6px;
				}
			}
		}
	}
}
.p-mv__slide {
	width: 100%;
	height: 100%;
	position: relative;

	@media screen and (max-width: 768px) {
	}
	@media screen and (max-width: 768px) {
		aspect-ratio: 440 / 343;
	}
	.p-mv__slide-wrapper {
		position: absolute;
		left: 80px;
		bottom: 80px;
		z-index: 1000;

		@media screen and (max-width: 768px) {
			left: 24px;
			bottom: 54px;

			.base-btn {
				font-size: 14px;
				height: 40px;

				i {
					display: none;
				}
			}
		}
		.p-mv__slide-main {
			font-size: 40px;
			font-weight: 700;
			margin: 0 0 40px;
			color: #fff;

			@media screen and (max-width: 768px) {
				font-size: 19px;
				margin-bottom: 16px;
			}
		}
	}
	.p-mv__slide-image {
		@media screen and (min-width: 769px) {
			height: 100%;
		}
		img {
			transition: all linear 7s;
			max-width: initial;
			width: 100%;
			height: 100%;
			object-fit: cover;

			@media screen and (max-width: 768px) {
				aspect-ratio: 343 / 440;
			}
		}
	}
	&.zoom {
		.p-mv__slide-image {
			img {
				transform: scale(1.1);
			}
		}
	}
}
.block {
	padding: 120px 0 144px;

	@media screen and (max-width: 768px) {
		padding: 64px 0;
	}
}
.top-block {
	padding: 0;

	@media screen and (max-width: 768px) {
		padding: 0;
	}
}
.last-block {
	padding-bottom: 144px;

	@media screen and (max-width: 768px) {
		padding: 64px;
	}
}
.top-pickup-block {
	padding: 80px 0 120px;
	background-color: #F3F5F8;

	@media screen and (max-width: 768px) {
		padding: 32px 0 69px;
	}
}
.top-news-block {
	background-color: #F3F5F8;

	.btn-wrap {
		margin-top: 64px;

		@media screen and (max-width: 768px) {
			text-align: center;
		}
	}
}
.top-about-block {
	.top-about-wrap {
		display: flex;
		align-items: stretch;

		@media screen and (max-width: 768px) {
			flex-direction: column;
		}
		.box {
			width: 50vw;

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

				&:nth-child(1) {
					order: 2;
				}
				&:nth-child(2) {
					order: 1;
				}
			}
		}
		.left {
			width: 512px;
			padding-right: 80px;
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			margin-left: auto;

			@media screen and (max-width: 768px) {
				width: auto;
				margin-top: 48px;
				padding: 0 vw($sp-inner-pad);
			}
			.bold {
				margin: 0 0 24px;
				font-size: 26px;
				line-height: 1.6;
				font-weight: 700;

				@media screen and (max-width: 768px) {
					font-size: 24px;
					line-height: 1.9;
				}
			}
			.desc {
				font-size: 16px;
				line-height: 1.9;
				margin-bottom: 0;
			}
			.btn-wrap {
				margin-top: 64px;

				@media screen and (max-width: 768px) {
					text-align: center;
					margin-top: 48px;
					width: 100%;
				}
			}
		}
		.right {
			width: 100%;
			position: relative;
			display: flex;
			align-items: center;

			@media screen and (max-width: 768px) {
				padding-left: vw($sp-inner-pad);
			}
			.img-wrap {
				width: 100%;
				height: 616px;
				overflow: hidden;
				z-index: 1;
				position: relative;

				@media screen and (max-width: 768px) {
					height: 270px;
				}
				img {
					max-width: initial;
					object-fit: cover;
					width: 100%;
					height: 100%;
					border-radius: 64px 0 0 64px;

					@media screen and (max-width: 768px) {
						border-radius: 32px 0 0 32px;
					}
				}
			}
		}
	}
}*/
