@charset "UTF-8";
/*!
global > color
------------------------------
*/
/*! destyle.css v1.0.11 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model
   ========================================================================== */
* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
  line-height: 1.15; /* 1 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm
   ========================================================================== */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Lists (enumeration)
   ========================================================================== */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition)
   ========================================================================== */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  clear: both;
  box-sizing: content-box; /* 1 */
  margin: 0;
  border: 0;
  border-top: 1px solid;
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

address {
  font-style: inherit;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  vertical-align: bottom;
  border-style: none;
}

embed,
object,
iframe {
  vertical-align: bottom;
  border: 0;
}

/* Forms
   ========================================================================== */
/**
 * Reset form fields to make them styleable
 * 1. Reset radio and checkbox to preserve their look in iOS.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  vertical-align: middle;
  appearance: none;
  margin: 0;
  outline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
}

[type="checkbox"] {
  /* 1 */
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  /* 1 */
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  border: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table; /* 1 */
  padding: 0; /* 3 */
  max-width: 100%; /* 1 */
  color: inherit; /* 2 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0; /* 1 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Table
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*
foundation > base
------------------------------
*/
/* 共通 */
body {
  background-color: #fff;
  color: #404040;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
  font-family: "ヒラギノ明朝 ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho",
    "MS 明朝", serif;
  letter-spacing: 1px;
}

a {
  scroll-behavior: smooth;
  scroll-margin-top: 120px;
}
@media screen and (max-width: 768px) {
  a {
    scroll-margin-top: 0;
  }
}

a:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}

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

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  a.link-text[href^="tel:"] {
    pointer-events: none;
    color: #404040;
    font-weight: normal;
    text-decoration: none;
  }
}
/*
module < header
-----------------------------------------------------*/
.nav-sp {
  display: none;
}

.button_pop {
  position: relative;
}

.button_pop::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-color: transparent;
  width: 100vw;
  height: 50px;
  content: none;
}

.is-active::before {
  content: "";
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
  width: 100%;
  height: 120px;
  color: #fff;
}

#header.HeightMin {
  animation: DownAnime 0.5s forwards;
  border-bottom: 2px solid #00a59a;
  background-color: #fff;
  color: #404040;
}

@keyframes DownAnime {
  from {
    transform: translateY(-170px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.header_inner {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 1000px;
  height: inherit;
}

header h1 .logo_a {
  width: auto;
  height: 90px;
}

header h1 .logo_g {
  display: none;
}

#header.HeightMin .logo_a {
  display: none;
}

#header.HeightMin .logo_g {
  display: block;
  width: auto;
  height: 90px;
}

#header .button_parent a {
  color: #fff;
}

#header.HeightMin .button_parent a {
  color: #404040;
}

/* ==============================
  多言語化ボタン
 ============================== */
header h1 a {
  display: block;
  height: 100%;
}

nav {
  position: relative;
  padding-bottom: 4px;
  width: 710px;
  height: inherit;
  font-size: 12px;
}

.top_txt {
  position: absolute;
  top: 24px;
  right: 0;
  color: #c8c8c8;
  font-size: 11px;
}

#header.HeightMin .top_txt {
  color: #999;
}

.top_txt_sp {
  padding: 20px 20px 20px 16px;
  font-size: 11px;
  text-align: right;
}

#header.HeightMin nav {
  padding-bottom: 0px;
}

nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sub_nav {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

.sub_nav-link {
  display: block;
  width: 100%;
}

.sub_nav-link img {
  width: 72px;
}

.head_tel {
  padding-top: 68px;
  padding-left: 4px;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: 0.95px;
}

#header.HeightMin .head_tel {
  padding-top: 68px;
}

#header.HeightMin .icon_a {
  display: none;
}

.icon_aa {
  display: none;
}

#header.HeightMin .icon_aa {
  display: block;
}

.menu li {
  position: relative;
}

.menu .menuSub {
  display: none;
}

/* ==============================
  ドロップダウンメニュー
 ============================== */
.dropdown {
  height: inherit;
}

.button_pop-text {
  display: flex;
  align-items: center;
  height: 120px;
  font-weight: 700;
}

.menuSub {
  position: fixed;
  top: 120px;
  left: 0;
  z-index: 100;
  transition: transform 0.3s ease-in-out;
  background: rgba(247, 247, 247, 0.9);
  padding: 20px 0 40px;
  padding: 0;
  width: 100%;
  height: auto;
  height: auto;
  overflow-y: scroll;
  color: #404040;
}

.menuSub_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
  padding: 20px 0;
  width: 100%;
  max-width: 1000px;
  height: 100%;
}

.menuPopup_wrap {
  padding: 0;
  width: 480px;
}

.menuPopup_wrap:nth-of-type(n + 3) {
  margin-top: 10px;
}

.menuPopup_wrap:nth-of-type(2n) {
  margin-left: 40px;
}

.menuPopup_wrap ul {
  display: block !important;
  margin-left: 20px;
  width: 100%;
}

.menuPopup_img {
  width: 54px;
  height: 54px;
}

.menuPopup_img img {
  width: 54px;
  height: 54px;
}

.menuPopup_body {
  margin-left: 20px;
}

.menu li {
  position: relative;
}

.menuPopup_header {
  display: flex;
  position: relative;
  z-index: 1000;
  cursor: pointer;
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 9px;
}

.menuPopup_header:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

a.menuPopup_header {
  display: block;
}

a.menuPopup_header--flow {
  display: flex;
}

.menuPopup_en {
  font-weight: 700;
  font-size: 20px;
}

.menuPopup_ja {
  font-weight: 700;
  font-size: 14px;
}

.menuPopup_ja--big {
  font-weight: 700;
  font-size: 18px;
}

.menuPopup_button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.menuPopup_button {
  width: 14px;
  height: 14px;
}

.menuPopup_button::before,
.menuPopup_button::after {
  position: absolute;
  top: 50%;
  right: 0;
  background-color: #a48135;
  width: 14px;
  height: 1px;
  content: "";
}

.menuPopup_button::before {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.4s linear;
}

.menuPopup_header.open .menuPopup_button::before {
  transform: translateY(-50%) rotate(0deg) !important;
}

.menuPopup_inner {
  display: none;
  margin-top: 7px;
  padding-bottom: 25px;
}

.menuSub .menuPopup_inner ul {
  margin-left: 85px;
}

.menuPopup_inner-flex {
  display: flex;
}

.menuPopup_inner-flex ul:nth-of-type(n + 2) {
  margin-left: 36px;
}

.menuPopup_inner li {
  display: flex;
  position: relative;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 13px;
  font-size: 12px;
  line-height: 1.66;
}

.menuPopup_inner li:nth-of-type(n + 2) {
  margin-top: 5px;
}

.menuPopup_wrap ul li a {
  display: block;
  line-height: 1.66;
  letter-spacing: 0;
}

.menuPopup_inner li::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: #aa8020;
  width: 5.5px;
  height: 7px;
  content: "";
}

.menuPopup_inner .space {
  margin-left: -15px;
}

.menuPopup_inner li a {
  font-weight: 700;
  line-height: 2.4;
}

@media screen and (max-width: 768px) {
  header h1 .logo_b.HeightMin {
    display: none;
  }
  header h1 .logo_a {
    margin-top: 30px;
    margin-left: 20px;
    padding-top: 0;
    width: auto;
    height: 90px;
  }
  header h1 .logo_g {
    margin-left: 20px;
  }
  .sp_nav {
    display: none;
  }
  .sp_nav.HeightMin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #fff;
  }
  .sp_nav__items {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  .sp_nav__item {
    width: 50%;
    text-align: center;
  }
  .sp_nav__item a {
    display: block;
    width: 100%;
  }
  .sp_nav__item img {
    margin: 0 auto;
    height: auto;
  }
  .sp_nav__item:nth-child(1) img {
    width: 48px;
  }
  .sp_nav__item:nth-child(2) img {
    width: 50px;
  }
  .sp_nav__item:nth-child(3) img {
    width: 43px;
  }
  .trigger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    width: 95px;
    height: 75px;
  }
  .sp_nav svg {
    width: 25px;
  }
  .st0 {
    fill: #00a59a;
  }
  .line {
    transition: 1s;
  }
  .active .line2 {
    opacity: 0;
  }
  .active .line1 {
    transform: rotate(45deg) translateX(12px) translateY(-123px);
    transform-origin: top left;
  }
  .active .line3 {
    transform: rotate(-45deg) translateX(65px) translateY(7px);
    transform-origin: bottom right;
  }
  #header.HeightMin {
    display: none;
  }
  .global-nav {
    transform: translateX(100%);
  }
  nav.HeightMin {
    display: none;
  }
  .sp_nav.HeightMin {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 10;
    background-color: #00a59a;
    width: 100%;
    height: 75px;
  }
  .nav_sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background: #00a59a;
    padding-top: 50px;
    padding-bottom: 75px;
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
    font-size: 14px;
  }
  .ac:first-of-type {
    border-top: 1px solid #fff;
  }
  .nav_sp .ac:last-child {
    margin-bottom: 64px;
  }
  .ac-parent {
    border-bottom: 1px solid #fff;
    padding: 20px 20px 20px 16px;
    font-weight: bold;
  }
  .ac__button {
    position: relative;
  }
  .ac__button::before,
  .ac__button::after {
    position: absolute;
    top: 50%;
    right: 30px;
    background-color: #fff;
    width: 20px;
    height: 4px;
    content: "";
  }
  .ac__button::before {
    transform: rotate(90deg);
    transition: transform 0.4s linear;
  }
  .open.ac__button::before {
    transform: rotate(0);
  }
  .ac-child {
    display: none;
  }
  .ac-child ul li {
    border-bottom: 1px solid #00a59a;
    background-color: #fff;
    padding: 15px 20px 15px 16px;
    color: #00a59a;
  }
  .ac-child ul li a {
    display: block;
  }
  .ac-child--sns ul {
    display: flex;
  }
  .ac-child--sns ul li {
    border: none;
    background-color: inherit;
    padding: 15px 12.5px;
  }
  .ac-child--sns ul li:first-of-type {
    padding: 15px 12.5px 15px 16px;
  }
  .ac2 {
    background-color: #fff;
    color: #00a59a;
  }
  .ac-parent2 {
    border-bottom: 1px solid #00a59a;
    background-color: #fff;
    padding: 15px 20px;
    color: #00a59a;
  }
  .ac-child2 {
    border-bottom: 1px solid #00a59a;
    background-color: #fff;
    color: #00a59a;
  }
  .ac-child2 ul li {
    position: relative;
    padding: 0;
    padding: 15px 0 15px 70px;
  }
  .ac-child2 ul li.space {
    padding-left: 50px;
  }
  .ac-child2 ul li::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 55px;
    transform: translateY(-50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #00a59a;
    width: 5.5px;
    height: 7px;
    content: "";
  }
  .ac-child2 ul li.space::before {
    left: 35px;
  }
  .ac-child2:last-of-type {
    border-bottom: 0;
  }
  .ac-parent2.ac__button::before,
  .ac-parent2.ac__button::after {
    background-color: #00a59a;
  }
  .header_inner.HeightMin {
    display: none;
  }
  .header_inner {
    width: 100%;
  }
  .banner_wrap {
    padding: 0 12px 20px;
  }
  .banner_wrap ul {
    display: flex;
    justify-content: space-between;
  }
  .banner_wrap ul li {
    background-color: #fff;
    width: calc(33.3333333333% - 4px);
    color: #00a59a;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  .banner_wrap ul li a span {
    font-size: 11px;
  }
}
/*============================================================
snsボタン
*============================================================*/
.sns {
  position: fixed;
  top: 120px;
  right: 0;
  border-radius: 9px 0 0 9px;
  background-color: #404040;
  padding: 20px;
}

.HeightMin .sns {
  top: 160px;
}

.sns__item:nth-child(n + 2) {
  margin-top: 25px;
}

.sns__item a {
  display: block;
}

/*
module < footer
-----------------------------------------------------*/
footer {
  -o-border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-top: 2px solid;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  background: linear-gradient(#535353, #212121, #393939);
  padding-bottom: 45px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer {
    padding-bottom: 115px;
  }
}

.footer_wrap {
  margin: 0 auto;
  padding-top: 84px;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .footer_wrap {
    padding: 40px 20px 0px;
    width: 100%;
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .footer_main {
    display: none;
  }
}

.footer_main_inner {
  display: flex;
  justify-content: space-between;
}

.footer_main_inner_box {
  display: flex;
  justify-content: space-between;
  padding-left: 0;
  height: 100%;
}

.footer_main_inner_wrap_left {
  margin-left: 0;
  width: 240px;
}

.footer_main_inner_wrap_right {
  margin-left: 14px;
  width: 746px;
}

.footer_main_inner_wrap_middle1 {
  margin-left: 7px;
  width: 161px;
}

.footer_main_inner_wrap_middle2 {
  margin-top: 31px;
  margin-left: -8px;
  width: 153px;
}

.footer_main_inner_wrap_middle3 {
  margin-left: 22px;
  width: 148px;
}

.footer_main_inner_wrap_middle4 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 12px;
  width: 260px;
  height: 100%;
  max-height: 622px;
}

.footer_main_inner_advanced {
  margin-top: 20px;
}

.footer_main_inner_wrap_facilities {
  margin-top: 20px;
  margin-left: -11px;
}

.footer_main_inner_wrap_left dl:nth-of-type(n + 2) {
  margin-top: 28px;
}

.footer-menu__title {
  margin-bottom: 10px;
  border-bottom: 1px solid #a8a8a8;
  padding: 0 0 10px 7px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0;
}

.footer-menu__subtitle {
  padding: 6px 0px 0px 0px;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0;
}

.footer_main_inner_wrap dd {
  padding: 5px 0 0 10px;
  font-size: 11px;
  letter-spacing: 0;
}

.footer_main_inner_wrap dd:nth-of-type(n + 2) {
  padding-top: 8px;
}

.footer_main_inner_wrap_middle1 dd:nth-of-type(n + 2) {
  padding-left: 20px;
}

.footer_main_inner_wrap_middle2 dd:nth-of-type(n + 2) {
  padding-left: 20px;
}

.footer_main_inner_wrap dd.term {
  padding: 20px 0 0 10px;
}

.footer_main_inner_wrap dd a {
  display: block;
  width: 100%;
  letter-spacing: 0;
}

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

.footer_sub_wrap img {
  display: block;
  margin: 0 auto 5px;
  width: 130px;
}

.footer_sub_wrap p {
  font-size: 10px;
  text-align: center;
}

.footer_sub_wrap ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  .footer_sub_wrap ul {
    display: block;
    margin-top: 15px;
    font-size: 12px;
    line-height: 2.5;
    text-align: center;
  }
}

.footer_sub_wrap ul li {
  margin-right: 17px;
}
@media screen and (max-width: 768px) {
  .footer_sub_wrap ul li {
    margin-right: 0px;
  }
}

.footer_sub_wrap ul li::after {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 13px;
  width: 1px;
  height: 12px;
  content: "|";
}
@media screen and (max-width: 768px) {
  .footer_sub_wrap ul li::after {
    display: none;
  }
}

.footer_sub_wrap ul li:last-of-type::after {
  display: none;
}

small {
  display: block;
  margin-top: 10px;
  font-size: 10px;
  text-align: center;
}

/***追従するトップへ戻るボタン***/
#page-top {
  position: fixed;
  right: 15px;
  bottom: 30px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #page-top {
    right: 5px;
    bottom: 80px;
  }
}

#page-top img {
  width: 70px;
}
@media screen and (max-width: 768px) {
  #page-top img {
    width: 40px;
  }
}

/*
module > map
------------------------------
*/
.map_wrap {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 1000px;
}

.map_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.map_inner h4 {
  padding-left: 7px;
  font-weight: bold;
  font-size: 25px;
  letter-spacing: 5px;
}

.map_inner table {
  text-align: center;
}

.map_inner table td,
th {
  padding: 15px 17px;
  height: 25px;
}

.map_inner table td.table_time {
  padding-left: 10px;
}

.map_inner table th.table_time {
  padding-left: 10px;
}

.table_line {
  border-bottom: 1px solid #a8a8a8;
}

.button_web a {
  display: block;
  position: relative;
  box-shadow: 3px 3px 6px rgb(167, 167, 167);
  background: linear-gradient(#bc923f, #8c6337);
  height: 50px;
  color: #fff;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
}

.button_web a::after {
  display: inline-block;
  position: absolute;
  top: 22px;
  right: 15px;
  vertical-align: middle;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 9px;
  content: "";
}

.button_web dl {
  padding-left: 7px;
}

.button_web dl dt {
  font-weight: bold;
}

iframe {
  width: 495px;
}

@media screen and (max-width: 768px) {
  .map_wrap .button_line {
    margin-top: 8px;
  }
}

.map_wrap .button_line a {
  background: linear-gradient(180deg, #06c755 0%, #009f41 100%);
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
  body {
    font-size: 14px;
    line-height: 1.7;
  }
  .map-table_wrap {
    padding-bottom: 10px;
    overflow-x: scroll;
  }
}
.lightwidget_wrap {
  padding: 0;
}

/* info */
.info {
  background-color: #f7f7f7;
}

.info h3 {
  color: #000;
}

.info p img {
  width: auto;
  height: 21px;
}

.info_wrap {
  margin: 45px auto 0;
  width: 1000px;
}

.info_inner {
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px #c8c8c8 solid;
  padding: 30px 10px;
}

.info_inner p {
  color: #919191;
}

.info_inner ul {
  margin-left: 68px;
}

.icon_info {
  display: inline-block;
  vertical-align: super;
  margin-bottom: 10px;
  background-color: #4a4a4a;
  padding: 1px 10px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
}

.icon_event {
  display: inline-block;
  vertical-align: super;
  margin-bottom: 10px;
  background-color: #b79c5d;
  padding: 1px 10px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
}

/*　Dr.KAKUKOスポーツクリニック　 */
.map_wrap {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 1000px;
}

.map_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.map_inner h4 {
  padding-left: 7px;
  font-weight: bold;
  font-size: 25px;
  letter-spacing: 5px;
}

.map_inner table {
  text-align: center;
}

.map_inner table td,
th {
  padding: 15px 17px;
  height: 25px;
}

.map_inner table td.table_time {
  padding-left: 10px;
}

.map_inner table th.table_time {
  padding-left: 10px;
}

.table_line {
  border-bottom: 1px solid #a8a8a8;
}

.button_web a {
  display: block;
  position: relative;
  box-shadow: 3px 3px 6px rgb(167, 167, 167);
  background: linear-gradient(#bc923f, #8c6337);
  height: 50px;
  color: #fff;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
}

.button_web a::after {
  display: inline-block;
  position: absolute;
  top: 22px;
  right: 15px;
  vertical-align: middle;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 9px;
  content: "";
}

.button_web dl {
  padding-left: 7px;
}

.button_web dl dt {
  font-weight: bold;
}

.button_web.button_line {
  margin-top: 8px;
}

iframe {
  width: 495px;
}

.address_wrap {
  margin-top: 15px;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
  body {
    font-size: 14px;
    line-height: 1.7;
  }
  /* ==============================
  SP info
  ============================== */
  .info p img {
    height: 19px;
  }
  .info_wrap {
    margin-top: 40px;
    padding: 0px 20px 0;
    width: 100%;
  }
  .info_inner {
    display: block;
    padding: 10px;
  }
  .info_inner ul {
    margin-top: 10px;
    margin-left: 0px;
  }
  .map_wrap {
    display: block;
    padding: 0px 20px 0;
    width: 100%;
  }
  .map_inner h4 {
    padding-left: 0px;
    font-size: 19px;
    letter-spacing: 2.2px;
    text-align: center;
  }
  .map_inner table td.table_time {
    padding-left: 0px;
    font-size: 14px;
  }
  .map_inner table td,
  th {
    vertical-align: inherit;
    padding: 10px 8px;
    height: 14px;
    font-size: 14px;
  }
  .map_inner table th.table_time {
    padding-left: 10px;
    font-size: 12px;
  }
  .address_wrap {
    margin: 15px 0;
  }
  iframe {
    width: 100%;
    height: 350px;
  }
}
/*
module > kasou
------------------------------
*/
.kv_kasou {
  -o-border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid;
  border-left: 0;
  border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 768px) {
  .kv_kasou {
    height: 280px;
  }
}

.kv_kasou::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  content: "";
}

.kv_kasou_inner {
  z-index: 1;
  margin: 0 auto;
  padding-bottom: 8px;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .kv_kasou_inner {
    padding: 0px 20px 5px;
    width: 100%;
  }
}

.kv_kasou .kv_kasou_inner h2 {
  font-weight: bold;
  font-size: 70px;
  line-height: 1.42;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .kv_kasou .kv_kasou_inner h2 {
    font-size: 48px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 480px) {
  .kv_kasou .kv_kasou_inner h2 {
    font-size: 36px;
  }
}

.kv_kasou .kv_kasou_inner h2 rt {
  display: none;
}
@media screen and (max-width: 768px) {
  .kv_kasou .kv_kasou_inner h2 rt {
    display: block;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 2px;
  }
}

.kv_txt h2 span[data-ruby] {
  position: relative;
}

.kv_txt h2 span[data-ruby]::before {
  position: absolute;
  top: -25px;
  right: 0;
  left: 0;
  margin: auto;
  content: attr(data-ruby);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: 4px;
}
@media screen and (max-width: 768px) {
  .kv_txt h2 span[data-ruby]::before {
    content: "";
  }
}

.kv_kasou .kv_kasou_inner p {
  margin-top: 10px;
  margin-bottom: 30px;
  padding-left: 0;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  font-family: Didot, Didot LT STD, Bodoni Moda, serif;
  letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
  .kv_kasou .kv_kasou_inner p {
    margin-top: 5px;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 480px) {
  .kv_kasou .kv_kasou_inner p {
    font-size: 14px;
  }
}

.breadcrumb li {
  display: inline-block;
  color: #fff;
  font-size: 10px;
}

.breadcrumb li a {
  text-decoration: underline;
}

.breadcrumb li::after {
  display: inline-block;
  margin-left: 10px;
  content: ">";
}

.breadcrumb li:last-child::after {
  content: none;
}

.kasou_wrap {
  background-color: #f7f7f7;
}

.kasou_section {
  margin: 0 auto;
  border: none;
  border-bottom: 1px #c8c8c8 solid;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .kasou_section {
    width: calc(100% - 40px);
  }
}

.kasou_section:last-of-type {
  border-bottom: none;
}

.kasou_section h3 {
  margin-bottom: 25px;
  color: #404040;
  text-align: left;
}

/*
module < section
-----------------------------------------------------*/
section {
  -o-border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-top: 2px solid;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 90px 0;
}

section h3 {
  color: #fff;
  font-weight: bold;
  font-size: 35px;
  text-align: center;
}

section p img {
  display: block;
  margin: 0 auto;
  margin-top: 10px;
}

.kasou_section.border-none {
  border-bottom: 0;
}

.section__button-wrap {
  display: flex;
  justify-content: center;
  margin-top: 27px;
}
@media screen and (max-width: 768px) {
  .section__button-wrap {
    display: block;
  }
}

.section__button {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 490px;
}

.text-green {
  color: #00a59a;
}

.kasou_section.pb0 {
  padding-bottom: 0;
}

.kasou_block {
  margin-top: 60px;
}

.link-text {
  color: #aa8020;
  font-weight: 700;
  text-decoration: underline;
}

.link-text:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  section {
    padding: 50px 0;
  }
  section h3 {
    font-size: 25px;
  }
  section p img {
    margin-top: 5px;
  }
  .kasou_block {
    margin-top: 50px;
  }
}
/*
module > item
------------------------------
*/
.item__body {
  background-color: #fff;
}

.item__img,
.overlay {
  position: relative;
}

.item__img::before,
.overlay::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.2);
  width: 100%;
  height: 100%;
  content: "";
}

.no_overlay {
  position: relative;
}

.no_overlay::before {
  content: none;
}

.item__title {
  font-weight: 700;
  font-size: 25px;
  line-height: 1.36;
  letter-spacing: 1.25px;
}

.item__maintitle {
  color: #aa8020;
  font-weight: 700;
  font-size: 20px;
}

.item__subtitle {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1px;
}

.item__text {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.98px;
}

.item__button {
  display: block;
  position: relative;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
  margin-top: 13px;
  box-shadow: 3px 3px 6px rgb(219, 219, 219);
  background: #aa8020;
  height: 60px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 60px;
  text-align: center;
}

.item__button::before {
  display: inline-block;
  position: absolute;
  top: 25px;
  right: 15px;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 10px;
  content: "";
}
@media screen and (max-width: 768px) {
  .item__button::before {
    width: 32px;
  }
}

.item__button--green {
  background-color: #00a59a;
}

.item__text--dot {
  display: block;
  position: relative;
  padding-left: 12px;
  font-size: 14px;
  line-height: 1.785;
  letter-spacing: 0.98px;
}

.item__text--dot:first-of-type {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .item__text--dot:first-of-type {
    margin-top: 0;
  }
}

.item__text--dot::before {
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  margin-right: 10px;
  border-radius: 50%;
  background: transparent
    linear-gradient(180deg, #f1d48b 0%, #dbb864 47%, #cfa74d 100%) 0% 0%
    no-repeat padding-box;
  width: 4px;
  height: 4px;
  content: "";
}

.item__dot-list dd,
.item__dot-list li,
.item__dot-list span {
  display: block;
  position: relative;
  padding-left: 12px;
  font-size: 14px;
  line-height: 1.785;
  letter-spacing: 0.98px;
}

.item__dot-list dd:first-of-type,
.item__dot-list li:first-of-type,
.item__dot-list span:first-of-type {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .item__dot-list dd:first-of-type,
  .item__dot-list li:first-of-type,
  .item__dot-list span:first-of-type {
    margin-top: 0;
  }
}

.item__dot-list dd::before,
.item__dot-list li::before,
.item__dot-list span::before {
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  margin-right: 10px;
  border-radius: 50%;
  background: transparent
    linear-gradient(180deg, #f1d48b 0%, #dbb864 47%, #cfa74d 100%) 0% 0%
    no-repeat padding-box;
  width: 4px;
  height: 4px;
  content: "";
}

/*
module > item01
------------------------------
*/
.items01 {
  margin-top: 60px;
}

.item01 {
  margin-top: 60px;
  background-color: #fff;
  padding: 36px 28.5px;
}
@media screen and (max-width: 768px) {
  .item01 {
    margin-top: 30px;
  }
}

.item01:first-of-type {
  margin-top: 0;
}

.item01__title {
  font-feature-settings: "palt";
  margin-bottom: 15px;
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 15px;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 3px;
}
@media screen and (max-width: 768px) {
  .item01__title {
    font-size: 22px;
  }
}

.item01__subtitle {
  padding-bottom: 15px;
  color: #aa8020;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.62px;
}
@media screen and (max-width: 768px) {
  .item01__subtitle {
    padding-bottom: 0;
  }
}

.item01__body {
  display: flex;
}

@media screen and (max-width: 768px) {
  .item01__body--center {
    flex-direction: column;
    align-items: center;
  }
}

.item01__img {
  margin-left: 42px;
  width: 282px;
}
@media screen and (max-width: 768px) {
  .item01__img {
    order: 1;
    margin-top: 15px;
    margin-left: 0;
  }
}

.item01__img__gif {
  margin-left: 42px;
  background-color: #d8d8d8;
  width: 282px;
  height: 200px;
}
@media screen and (max-width: 768px) {
  .item01__img__gif {
    order: 1;
    margin-top: 15px;
    margin-left: 0;
  }
}

.item01__img video {
  width: inherit;
  height: inherit;
}
@media screen and (max-width: 768px) {
  .item01__img video {
    display: block;
    width: 100%;
  }
}

.item01__img img {
  width: 282px;
}
@media screen and (max-width: 768px) {
  .item01__img img {
    display: block;
    width: 100%;
  }
}

.item01__img__gif img {
  -o-object-fit: contain;
  width: 282px;
  height: 200px;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .item01__text--space {
    order: 2;
    margin-top: 20px;
  }
}

.item01__list {
  display: flex;
}
@media screen and (max-width: 768px) {
  .item01__list {
    flex-direction: column;
  }
}

.item01__list-left,
.item01__list-right {
  width: 459px;
}
@media screen and (max-width: 768px) {
  .item01__list-left,
  .item01__list-right {
    width: 100%;
  }
}

.item01__list-text {
  position: relative;
  padding-left: 12px;
}

.item01__list-text::before {
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  margin-right: 10px;
  border-radius: 50%;
  background: transparent
    linear-gradient(180deg, #f1d48b 0%, #dbb864 47%, #cfa74d 100%) 0% 0%
    no-repeat padding-box;
  width: 4px;
  height: 4px;
  content: "";
}

.item01__list--condition {
  margin-top: 20px;
}

.item01__body--noflex {
  display: block;
}

.item01__content-blocks {
  margin-top: 30px;
}

.item01__content-block:nth-of-type(n + 2) {
  margin-top: 30px;
}

.item01__content-text {
  margin-top: 15px;
}

.item01__content2-outer {
  margin-top: 20px;
}

.item01__content2-blocks {
  margin-top: 20px;
}

.item01__content2-block:nth-of-type(n + 2) {
  margin-top: 20px;
}

.item01__content2-title {
  font-weight: bold;
}

/*
module > block01

適応ページ
(エイジングケア)
------------------------------
*/
.block01__items {
  margin-top: 96px;
}

.block01__item {
  background-color: #fff;
}

.block01__item:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .block01__item:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.block01__header {
  display: flex;
  align-items: center;
  background-color: #aa8020;
  padding: 5px 36px;
}
@media screen and (max-width: 768px) {
  .block01__header {
    padding: 10px 24px;
  }
}

.block01__number {
  color: #fff;
  font-weight: 600;
  font-size: 35px;
  font-family: Didot, Didot LT STD, Bodoni Moda, serif;
}
@media screen and (max-width: 768px) {
  .block01__number {
    font-size: 30px;
  }
}

.block01__maintitle {
  padding-left: 20px;
  color: #fff;
  font-weight: 600;
  font-size: 25px;
  letter-spacing: 2.25px;
}
@media screen and (max-width: 768px) {
  .block01__maintitle {
    padding-left: 15px;
    font-size: 22px;
    letter-spacing: 1.8px;
  }
}

.block01__body {
  padding: 30px 36px 40px;
}
@media screen and (max-width: 768px) {
  .block01__body {
    padding: 30px 20px 40px;
  }
}

.block01__2column {
  display: flex;
}
@media screen and (max-width: 768px) {
  .block01__2column {
    flex-direction: column;
  }
}

.block01__contents {
  width: 540px;
}
@media screen and (max-width: 768px) {
  .block01__contents {
    order: 2;
    margin-top: 16px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .block01__img {
    order: 2;
    width: 100%;
  }
}

.block01__title {
  color: #404040;
}

.block01__text {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .block01__buttons {
    margin-top: 20px;
  }
}

.block01__img {
  position: relative;
  margin-left: 35px;
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block01__img {
    order: 1;
    margin-left: 0;
    width: 100%;
  }
}

.block01__img img {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block01__img img {
    width: 100%;
  }
}

.block01__buttons {
  margin-top: 5px;
}

.block01__button {
  margin-top: 0;
  width: 265px;
}

.block01__info {
  margin-top: 30px;
  font-weight: 700;
}

.block01-list__items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .block01-list__items {
    flex-direction: column;
  }
}

.block01-list__item {
  margin-left: 50px;
  width: 437px;
}
@media screen and (max-width: 768px) {
  .block01-list__item {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .block01-list__item:nth-of-type(n + 2) {
    margin-top: 24px;
  }
}

.block01-list__item:nth-of-type(n + 3) {
  margin-top: 24px;
}

.block01-list__item:nth-child(2n + 1) {
  margin-left: 0;
}

.block01-list__header {
  display: flex;
  position: relative;
  align-items: center;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
  border-bottom: 1px solid #c8c8c8;
  padding-right: 36px;
  padding-bottom: 15px;
  padding-left: 8px;
}
@media screen and (max-width: 768px) {
  .block01-list__header {
    padding-right: 32px;
  }
}

.block01-list__header:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

.block01-list__header::before,
.block01-list__header::after {
  position: absolute;
  top: calc(50% - 7.5px);
  right: 8px;
  transform: translateY(-50%);
  background-color: #a48135;
  width: 18px;
  height: 1px;
  content: "";
}

.block01-list__header::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.3s ease-in-out;
}

.open.block01-list__header::after {
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease-in-out;
}

.block01-list__title {
  font-feature-settings: "palt";
  margin-left: 14px;
  width: calc(100% - 35px);
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .block01-list__title {
    font-size: 16px;
    letter-spacing: 1.5px;
  }
}

.block01-list__number {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #a48135;
  width: 35px;
  height: 35px;
  color: #fff;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .block01-list__number {
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
}

.block01-list__body {
  display: none;
  padding-top: 20px;
  padding-left: 8px;
}

/*
module > block02

適応ページ
(保険外診療・メディカル・エクササイズ・その他)
------------------------------
*/
.block02__items {
  margin-top: 40px;
}

.block02__item {
  background-color: #fff;
  padding: 36px 40px 45px 36px;
}
@media screen and (max-width: 768px) {
  .block02__item {
    padding: 20px;
  }
}

.block02__item:nth-of-type(n + 2) {
  margin-top: 60px;
}

.block02__maintitle {
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 10px;
  color: #00a59a;
}
@media screen and (max-width: 768px) {
  .block02__maintitle {
    font-size: 20px;
  }
}

.block02__maintitle span[data-ruby] {
  position: relative;
}

.block02__maintitle span[data-ruby]::before {
  position: absolute;
  top: -12px;
  right: 0;
  left: 0;
  margin: auto;
  content: attr(data-ruby);
  font-weight: 400;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .block02__maintitle span[data-ruby]::before {
    content: none;
  }
}

.block02__body {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .block02__body {
    flex-direction: column;
  }
}

.block02__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 540px;
}
@media screen and (max-width: 768px) {
  .block02__content {
    order: 2;
    margin-top: 15px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .block02__subtitle {
    font-size: 16px;
  }
}

.block02__text {
  margin-top: 10px;
}

.block02__img {
  position: relative;
  margin-left: 35px;
  aspect-ratio: 350/256;
  width: 350px;
  height: 256px;
}
@media screen and (max-width: 768px) {
  .block02__img {
    order: 1;
    margin-left: 0;
    width: 100%;
    height: auto;
  }
}

.block02__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .block02__bottom {
    margin-top: 10px;
  }
}

.block02__buttons {
  display: flex;
}
@media screen and (max-width: 768px) {
  .block02__buttons {
    flex-direction: column;
    margin-top: 10px;
  }
}

.block02__button {
  margin-left: 8px;
  background-color: #00a59a;
  width: calc(50% - 4px);
  max-width: 265px;
}
@media screen and (max-width: 768px) {
  .block02__button {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
  }
}

.block02__button:nth-child(2n + 1) {
  margin-left: 0;
}

.block02__img {
  margin-left: 35px;
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block02__img {
    order: 1;
    margin-left: 0;
    width: 100%;
  }
}

.block02__img img {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block02__img img {
    width: 100%;
  }
}

.block02__middle-box {
  margin-top: 15px;
}

.block02__buttons--sports {
  margin-top: 25px;
}

.block02__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px;
}

.block02__link {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #00a59a;
  background-color: #fff;
  width: 190px;
  height: 60px;
  color: #00a59a;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .block02__link {
    width: calc(50% - 6px);
  }
}

.block02__link:hover {
  opacity: 1;
  transition: all 0.3s ease-in-out;
  background-color: #00a59a;
  color: #fff;
}

.service2__title {
  color: #00a59a;
  font-weight: 700;
  font-size: 35px;
  letter-spacing: 3.15px;
}

.sub-section-block {
  margin-top: 60px;
}

.section-service2 {
  border: 0;
  background-color: #f7f7f7;
  padding-top: 68px;
  padding-bottom: 90px;
}

.section-service2:first-of-type {
  padding-top: 0;
}

.section-service2:nth-of-type(2n) {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-color: #fff;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}
.section-service2:nth-of-type(2n) .block02__item {
  border: 1px solid #c8c8c8;
}

/*
module > block03

適応ページ
(パーソナル・トレーニング)
------------------------------
*/
.block_outer {
  margin-top: 60px;
}

.block03 {
  background-color: #fff;
  padding: 32px 28.5px 36px;
}
@media screen and (max-width: 768px) {
  .block03 {
    margin-top: 30px;
    padding: 32px 20px;
  }
}

.block03__title {
  font-feature-settings: "palt";
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  border-bottom: 1px solid #c8c8c8;
  padding: 0 8px;
  padding-bottom: 15px;
  color: #aa8020;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 3px;
}
@media screen and (max-width: 768px) {
  .block03__title {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 8px;
    font-size: 22px;
  }
}
@media screen and (max-width: 480px) {
  .block03__title {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

.block03__title span {
  margin-left: 17px;
  font-size: 16px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .block03__title span {
    margin-left: 0;
    font-size: 14px;
  }
}

.block03__subtitle {
  padding-bottom: 15px;
  color: #aa8020;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.62px;
}

.block03__body {
  padding: 0 8px;
}

@media screen and (max-width: 768px) {
  .block03__text--space {
    order: 2;
    margin-top: 20px;
  }
}

.block03__list:nth-of-type(n + 2) {
  margin-top: 30px;
}

.block03-caution {
  margin-top: 35px;
  background-color: #f7f7f7;
  padding: 28px 30px 30px;
}
@media screen and (max-width: 768px) {
  .block03-caution {
    padding: 20px 24px;
  }
}

.block03-caution__title {
  font-weight: bold;
}

.block03__img {
  width: 100%;
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .block03__img {
    max-width: 100%;
  }
}

.block03__img img {
  width: 100%;
}

.block03__box {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .block03__box {
    flex-direction: column;
  }
}

.block03__box:nth-of-type(n + 2) {
  margin-top: 32px;
}

.block03__content--flex {
  width: 600px;
}
@media screen and (max-width: 768px) {
  .block03__content--flex {
    order: 2;
    margin-top: 15px;
    width: 100%;
  }
}

.block03__content--well-boost li:not(:first-child) {
  margin-top: 15px;
}

.block03__img--flex {
  margin-left: 36px;
  width: 282px;
}
@media screen and (max-width: 768px) {
  .block03__img--flex {
    order: 1;
    margin-left: 0;
    width: 100%;
  }
}

.block03__img--flex img {
  width: 100%;
}

.block03__img--flex img:nth-of-type(n + 2) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .block03__img--flex img:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.block03__item:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .block03__item:nth-of-type(n + 2) {
    margin-top: 50px;
  }
}

.block03-set__title {
  color: #aa8020;
  font-weight: 700;
}

.block03-set:nth-of-type(n + 2) {
  margin-top: 25px;
}

.block03-caution-wrap--prp {
  margin-top: 20px;
}

.block03__list--link {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .block03__list--link {
    margin-top: 50px;
  }
}

.block03__button {
  background-color: #aa8020;
  width: calc(50% - 4px);
  max-width: 265px;
}
@media screen and (max-width: 768px) {
  .block03__button {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
  }
}

.block03__text--mt30 {
  margin-top: 30px;
}

.block03-3col__items {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .block03-3col__items {
    flex-direction: column;
  }
}

.block03-3col__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 40px;
  width: calc(33.333% - 26.6666666667px);
}
@media screen and (max-width: 768px) {
  .block03-3col__item {
    justify-content: flex-start;
    margin-top: 40px;
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .block03-3col__item:first-of-type {
    margin-top: 0;
  }
}

.block03-3col__item:nth-of-type(n + 4) {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .block03-3col__item:nth-of-type(n + 4) {
    margin-top: 40px;
  }
}

.block03-3col__item:nth-child(3n + 1) {
  margin-left: 0;
}

.block03-3col__title {
  font-weight: bold;
}

.block03-3col__img {
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .block03-3col__img {
    margin-top: 8px;
  }
}

.block03-3col__img img {
  width: 100%;
}

/*
module > block04

適応ページ
(ダーマペン4)
------------------------------
*/
.block04__header {
  background-color: #00a59a;
  padding: 15px 36px;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 1px;
}

.block04__items {
  background-color: #fff;
  padding: 0 40px 0 36px;
}
@media screen and (max-width: 768px) {
  .block04__items {
    padding: 0 16px;
  }
}

.block04__item {
  display: flex;
  border-bottom: 1px solid #c8c8c8;
  padding: 36px 8px 36px;
}
@media screen and (max-width: 768px) {
  .block04__item {
    flex-direction: column;
    padding: 20px 8px;
  }
}

.block04__item:last-of-type {
  border-bottom: 0;
}

.block04__box {
  display: flex;
}
@media screen and (max-width: 768px) {
  .block04__box {
    order: 2;
  }
}

.block04__contents--flex {
  width: 540px;
}
@media screen and (max-width: 768px) {
  .block04__contents--flex {
    width: 100%;
  }
}

.block04__maintitle {
  color: #404040;
}

.block04__subtitle {
  margin-top: 15px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .block04__buttons {
    margin-top: 20px;
  }
}

.block04__img--flex {
  position: relative;
  margin-left: 35px;
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block04__img--flex {
    order: 1;
    margin-left: 0;
    width: 100%;
  }
}

.block04__img img {
  width: 100%;
}

.block04__button {
  width: 265px;
}

/*
module > therapy-card
------------------------------
*/
.therapy__box {
  margin-top: 40px;
}

.therapy-card__header {
  display: flex;
  align-items: center;
  background-color: #aa8020;
  padding-left: 16px;
  height: 60px;
  color: #fff;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 2.25px;
}

.therapy-card__header-2col {
  width: 660px;
}
@media screen and (max-width: 768px) {
  .therapy-card__header-2col {
    width: 100%;
  }
}

.therapy-card__header-1col {
  width: 320px;
}
@media screen and (max-width: 768px) {
  .therapy-card__header-1col {
    width: 100%;
  }
}

.therapy-card__items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .therapy-card__items {
    flex-direction: column;
  }
}

.therapy-card__item {
  background-color: #fff;
  padding-bottom: 20px;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .therapy-card__item {
    margin-top: 30px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .therapy-card__item:first-of-type {
    margin-top: 0;
  }
}

.therapy-card__item + .therapy-card__item {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .therapy-card__item + .therapy-card__item {
    margin-left: 0;
  }
}

.therapy-card__item:nth-child(3n + 1) {
  margin-left: 0;
}

.therapy-card__item:nth-child(n + 4) {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .therapy-card__item:nth-child(n + 4) {
    margin-top: 30px;
  }
}

.therapy-card__img {
  position: relative;
  aspect-ratio: 320/218;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .therapy-card__img {
    width: 100%;
  }
}

.therapy-card__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .therapy-card__img img {
    width: 100%;
  }
}

.therapy-card__maintitle {
  background-color: #00a59a;
  padding: 15px 0;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 1px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .therapy-card__maintitle {
    padding: 15px 20px;
    text-align: left;
  }
}

.therapy-card__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #fff;
  padding: 20px 20px 0;
  min-height: 260px;
}

.therapy-card__subtitle {
  font-feature-settings: "palt";
  color: #00a59a;
  font-weight: bold;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.55;
  letter-spacing: 1.4px;
}

.therapy-card__subtitle span[data-ruby] {
  position: relative;
}

.therapy-card__subtitle span[data-ruby]::before {
  position: absolute;
  top: -12px;
  right: 0;
  left: 0;
  margin: auto;
  content: attr(data-ruby);
  font-size: 10px;
  line-height: 1;
  letter-spacing: -0.6px;
}

.therapy-card__text {
  margin-top: 8px;
  font-size: 14px;
  letter-spacing: 0.98px;
}

.therapy-card__button {
  background-color: #48a29a;
  color: #fff;
}

.therapy-card__button--gold {
  background-color: #aa8020;
}

.therapy-card__subtitle--black {
  color: #404040;
}

/*
module > therapy-media
------------------------------
*/
.therapy-media__items {
  margin-top: 60px;
}

.therapy-media__item {
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .therapy-media__item {
    width: 100%;
  }
}

.therapy-media__item:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .therapy-media__item:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.therapy-media__header {
  background-color: #00a59a;
  padding: 20px 36px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .therapy-media__header {
    padding: 20px;
  }
}

.therapy-media__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 1px;
}

.therapy-media__body {
  background-color: #fff;
  padding: 40px 40px 40px 36px;
}
@media screen and (max-width: 500px) {
  .therapy-media__body {
    padding: 20px 20px 20px 20px;
  }
}

.therapy-media__flex {
  display: flex;
}
@media screen and (max-width: 768px) {
  .therapy-media__flex {
    flex-direction: column;
  }
}

.therapy-media__content {
  width: 540px;
}
@media screen and (max-width: 768px) {
  .therapy-media__content {
    order: 2;
    margin-top: 20px;
    width: 100%;
  }
}

.therapy-media__content-flex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.therapy-media__subtitle {
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  line-height: 1.7;
  letter-spacing: 1px;
}

.therapy-media__subtitle--green {
  margin-top: 20px;
  color: #00a59a;
}

.therapy-media__text {
  margin-top: 15px;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.785;
  letter-spacing: 0.98px;
}

.therapy-media__text .text-bold {
  font-weight: 700;
}

.therapy-media__img {
  margin-left: 35px;
  width: 350px;
}
@media screen and (max-width: 768px) {
  .therapy-media__img {
    order: 1;
    margin-left: 0;
    width: 100%;
  }
}

.therapy-media__img img {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .therapy-media__img img {
    width: 100%;
  }
}

.therapy-media__info {
  margin-top: 20px;
}

/*
module > therapy-box
------------------------------
*/
.therapy__box {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .therapy__box {
    margin-top: 30px;
  }
}

.therapy__box:nth-child(2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .therapy__box:nth-child(2) {
    margin-top: 30px;
  }
}

.therapy__label {
  background-color: #00a59a;
  padding: 15px 36px;
  color: #fff;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: 1px;
}
.therapy__label span {
  vertical-align: text-top;
  margin-left: 20px;
  border: #fff solid 1px;
  padding: 6px 20px;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .therapy__label span {
    margin-left: 0;
    line-height: 1.8;
  }
}

.therapy__items {
  background-color: #fff;
}

.therapy__item {
  border-bottom: 1px solid #c8c8c8;
  padding: 40px 40px 40px 36px;
}
@media screen and (max-width: 768px) {
  .therapy__item {
    flex-direction: column;
    padding: 20px;
  }
}

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

.therapy__inner-box:nth-child(n + 2) {
  margin-top: 60px;
}

.therapy__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .therapy__body {
    order: 2;
    margin-top: 20px;
    width: 100%;
  }
}

.therapy__contents {
  width: 540px;
}
@media screen and (max-width: 768px) {
  .therapy__contents {
    width: 100%;
  }
}

.therapy__title {
  color: #404040;
}

.therapy__text {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .therapy__buttons {
    margin-top: 20px;
  }
}

.therapy__img {
  position: relative;
  margin-left: 35px;
  aspect-ratio: 350/256;
  width: 350px;
  height: 256px;
}
@media screen and (max-width: 768px) {
  .therapy__img {
    order: 1;
    margin-left: 0;
    width: 100%;
    height: auto;
  }
}

.therapy__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.link_wrap.link_wrap--golf li {
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .link_wrap.link_wrap--golf li {
    width: 100%;
  }
}

.therapy__button {
  width: 265px;
}

/*
module > base-table

適応ページ
(料金表・ダイエット・ピラティス)
------------------------------
*/
.base-table__area {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .base-table__area {
    margin-top: 0;
  }
}

.base-table__outer {
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .base-table__outer {
    width: 100%;
    overflow-x: scroll;
  }
}

@media screen and (max-width: 768px) {
  .no-wrap {
    white-space: nowrap;
  }
}

.base-table {
  margin-top: 20px;
  margin-bottom: 20px;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .base-table__-2column {
    width: 440px;
  }
}

.base-table__name .small {
  font-size: 14px;
  letter-spacing: 0.7px;
}

.base-table__body tr:nth-of-type(2n) {
  background-color: #f7f7f7;
}

.base-table__body tr:nth-of-type(2n + 1) {
  background-color: #fff;
}

.bg-grey td {
  background-color: #f7f7f7;
}

.base-table th,
.base-table td {
  vertical-align: middle;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.7px;
}

.base-table th {
  border: solid 1px #c8c8c8;
  background: #404040;
  padding: 0;
  height: 60px;
  color: #fff;
  line-height: 1.42;
  text-align: center;
}

.base-table td {
  border: solid 1px #c8c8c8;
  padding: 15px 20px;
  line-height: 1.7;
}

.base-table td.space {
  padding: 15px 0;
  padding-left: 7px;
}

.base-table td.left {
  text-align: left;
}

.base-table__menu {
  width: 526px;
}
@media screen and (max-width: 768px) {
  .base-table__menu {
    width: 250px;
  }
}

.base-table__time {
  width: 246px;
}
@media screen and (max-width: 768px) {
  .base-table__time {
    width: 180px;
  }
}

.base-table__price {
  width: 228px;
}
@media screen and (max-width: 768px) {
  .base-table__price {
    width: 180px;
  }
}

@media screen and (max-width: 768px) {
  .base-table--pcricelist-2col {
    width: 100%;
    min-width: 450px;
  }
}

.base-table--pcricelist-2col th:nth-of-type(1) {
  width: 526px;
}
@media screen and (max-width: 768px) {
  .base-table--pcricelist-2col th:nth-of-type(1) {
    width: 63%;
    min-width: 280px;
  }
}

.base-table--pcricelist-2col th:nth-of-type(2) {
  width: 228px;
}
@media screen and (max-width: 768px) {
  .base-table--pcricelist-2col th:nth-of-type(2) {
    width: 37%;
    min-width: 170px;
  }
}

@media screen and (max-width: 768px) {
  .base-table--pcricelist-3col {
    width: 100%;
    min-width: 610px;
  }
}

.base-table--pcricelist-3col th:nth-of-type(1) {
  width: 526px;
}
@media screen and (max-width: 768px) {
  .base-table--pcricelist-3col th:nth-of-type(1) {
    width: 40%;
    min-width: 250px;
  }
}

.base-table--pcricelist-3col th:nth-of-type(2) {
  width: 246px;
}
@media screen and (max-width: 768px) {
  .base-table--pcricelist-3col th:nth-of-type(2) {
    width: 30%;
    min-width: 180px;
  }
}

.base-table--pcricelist-3col th:nth-of-type(3) {
  width: 228px;
}
@media screen and (max-width: 768px) {
  .base-table--pcricelist-3col th:nth-of-type(3) {
    width: 30%;
    min-width: 180px;
  }
}

.base-table--pcricelist-3col td:nth-last-of-type(2) {
  text-align: center;
}

td.base-table__time {
  text-align: center;
}

td.base-table__price {
  text-align: -webkit-center;
  text-align: -moz-center;
}

.base-table td.base-table__price2 {
  text-align: -webkit-center;
  text-align: -moz-center;
}

td .price-text {
  display: block;
  width: 80px;
  text-align: right;
}

.base-table--price01 td .price-text {
  width: 100px;
}

.base-table td .price-text-wide {
  width: 124px;
  text-align: center;
}

.base-table__info {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.78;
  letter-spacing: 0.98px;
}

.base-table__time--flex {
  padding: 36px 25px;
}

.base-table__time-item {
  display: flex;
  justify-content: space-between;
}

.base-table__time-item:nth-of-type(n + 2) {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .base-table--5col {
    width: 800px;
  }
}

.base-table--5col th {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .base-table--5col th {
    width: 160px;
  }
}

.base-table--5col td {
  padding: 0 20px;
  height: 60px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-table--5col td {
    padding: 0 10px;
    line-height: 2.42;
  }
}

@media screen and (max-width: 768px) {
  .base-table--4col {
    width: 840px;
  }
}

.base-table--4col th {
  width: 250px;
}
@media screen and (max-width: 768px) {
  .base-table--4col th {
    width: 210px;
  }
}

.base-table--4col td {
  height: 60px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-table--4col td {
    padding: 0 15px;
  }
}

@media screen and (max-width: 768px) {
  .base-table--3col {
    width: 100%;
    min-width: 570px;
  }
}

.base-table--3col th {
  width: 333px;
}
@media screen and (max-width: 768px) {
  .base-table--3col th {
    width: 33.3333333333%;
  }
}

.base-table--3col td {
  text-align: center;
}

.base-table .h120 td {
  height: 120px;
  line-height: 2.22;
}

.base-table .h200 td {
  height: 200px;
  line-height: 2.22;
}

.base-table .h160 td {
  height: 160px;
  line-height: 2.22;
}

.base-table .h180 td {
  height: 180px;
  line-height: 2.22;
}

.base-table .h224 td {
  height: 224px;
  line-height: 2.22;
}

.base-table .h240 td {
  height: 240px;
  line-height: 2.22;
}

.base-table .base-table__body .grey {
  background-color: #f7f7f7;
}

.base-table--ultra td {
  height: 60px;
}

@media screen and (max-width: 768px) {
  .base-table--option {
    width: 100%;
    min-width: 450px;
  }
}
@media screen and (max-width: 480px) {
  .base-table--option {
    min-width: 400px;
  }
}

.base-table--option td {
  text-align: center;
}

.base-table--option th:first-of-type {
  width: 666px;
}
@media screen and (max-width: 768px) {
  .base-table--option th:first-of-type {
    width: 66%;
  }
}
@media screen and (max-width: 480px) {
  .base-table--option th:first-of-type {
    width: 60%;
  }
}

@media screen and (max-width: 768px) {
  .base-table--option th:nth-of-type(2) {
    width: 33%;
  }
}
@media screen and (max-width: 480px) {
  .base-table--option th:nth-of-type(2) {
    width: 40%;
  }
}

@media screen and (max-width: 768px) {
  .base-table--beauty2 {
    width: 900px;
  }
}

@media screen and (max-width: 768px) {
  .base-table--beauty2 th {
    width: 180px;
  }
}

/*
module > link-area
------------------------------
*/
.link_box {
  margin: 0 auto;
  border-top: 1px #c8c8c8 solid;
  padding: 90px 0;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .link_box {
    padding: 50px 20px;
    width: 100%;
  }
}

.link_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .link_wrap {
    flex-direction: column;
  }
}

.link_wrap li {
  position: relative;
  box-shadow: 3px 3px 6px rgb(219, 219, 219);
  border: 5px solid #fff;
  aspect-ratio: 480/156;
  width: calc(50% - 10px);
}
@media screen and (max-width: 768px) {
  .link_wrap li {
    width: 100%;
  }
}

.link_wrap li a {
  display: block;
  width: 100%;
  height: 100%;
}

.link_wrap img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.link-box_wrap::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  content: "";
}

.link-box_wrap::after {
  display: inline-block;
  position: absolute;
  right: 24px;
  bottom: 12px;
  z-index: 2;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 10px;
  content: "";
}

.link-box_body {
  position: absolute;
  top: 16px;
  left: 20px;
  z-index: 2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .link-box_body {
    top: 12px;
    left: 16px;
  }
}

.link-box_en {
  font-weight: 700;
  font-size: 30px;
  line-height: 1.33;
  font-family: Didot, Didot LT STD, Bodoni Moda, serif;
  letter-spacing: 0.05em;
}

.link-box_jp {
  margin-top: -4px;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: 0.07em;
}

.link-area {
  margin: auto;
  border-top: 1px #c8c8c8 solid;
  padding: 90px 0;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .link-area {
    padding: 50px 20px;
    width: 100%;
  }
}

.link-area a {
  display: block;
  position: relative;
  box-shadow: 3px 3px 6px rgb(219, 219, 219);
  border: 5px solid #fff;
  aspect-ratio: 1000/156;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .link-area a {
    aspect-ratio: 480/156;
    width: 100%;
  }
}

.link-area a::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  content: "";
}

.link-area a::after {
  display: inline-block;
  position: absolute;
  right: 24px;
  bottom: 12px;
  z-index: 2;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 10px;
  content: "";
}

.link-area img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.link-area_body {
  position: absolute;
  top: 16px;
  left: 24px;
  z-index: 2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .link-area_body {
    top: 8px;
    left: 12px;
  }
}

.link-area_jp {
  font-weight: 700;
  font-size: 37px;
  line-height: 1.32;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .link-area_jp {
    font-size: 22px;
    letter-spacing: 0.02em;
  }
}

.link-area_en {
  font-weight: 700;
  font-size: 17px;
  line-height: 1.76;
  font-family: Didot, Didot LT STD, Bodoni Moda, serif;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .link-area_en {
    font-size: 15px;
  }
}

.link-area--no-style a {
  box-shadow: 0px 0px 0px rgb(219, 219, 219);
  border: 0;
}

.link-area--no-style a::before,
.link-area--no-style a::after {
  content: none;
}

/*
page > top > kv
------------------------------
*/
.kv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin: 0 auto;
  padding-top: 80px;
  width: 1000px;
  height: 700px;
}

.kv img {
  width: 100%;
}

.kv_txt {
  color: #fff;
}

.kv_txt h2 {
  font-weight: bold;
  font-size: 68px;
  line-height: 1.53;
  letter-spacing: 6.12px;
}

.kv_txt p {
  margin-top: 10px;
  padding-left: 5px;
  font-size: 18px;
  line-height: 2.22;
  letter-spacing: 0.9px;
}

.kv__link {
  display: block;
  position: relative;
  margin-top: 15px;
  width: 156px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 2.8px;
}

.kv__link::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  right: 0;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 10px;
  content: "";
}
@media screen and (max-width: 768px) {
  .kv__link::before {
    width: 32px;
  }
}

.video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: url(../img/top/kv.png) no-repeat center/cover;
  width: 100%;
  height: 700px;
  overflow: hidden;
}

.video video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
}

@media screen and (max-width: 768px) {
  .kv {
    padding: 40px 20px;
    width: 100%;
  }
  .kv_txt h2 {
    font-size: 55px;
  }
  .kv_txt p {
    margin-top: 25px;
    padding-left: 0px;
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media screen and (max-width: 400px) {
  .kv_txt h2 {
    font-size: 45px;
  }
}
/*!
page > top > three
------------------------------
*/
.three {
  background: linear-gradient(#535353, #212121, #393939);
}

.three p img {
  width: auto;
  height: 20px;
}

.three_wrap {
  margin: 45px auto 0;
  width: 1000px;
}

.three_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.three_inner:last-of-type {
  margin-bottom: 0;
}

.three_inner_box {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  background-color: #fff;
  padding: 30px;
  height: 315px;
}

.three_inner_box ul {
  display: flex;
  align-items: center;
  border-bottom: 1px #a8a8a8 solid;
  padding: 15px;
  padding-top: 0;
}

.three_inner_box ul li {
  font-weight: bold;
  font-size: 25px;
}

.three_inner_box ul li img {
  margin-right: 30px;
  width: auto;
  height: 65px;
}

.three_inner_box p {
  padding: 15px;
  padding-bottom: 0;
}

.three_inner_box2 {
  height: 315px;
}

.three_inner_box2 img {
  width: auto;
  height: 100%;
  overflow: hidden;
}

ul.three_inner_box_ul2 {
  padding-bottom: 31px;
}

ul.three_inner_box_ul3 {
  padding-bottom: 28px;
}

@media screen and (max-width: 768px) {
  /* ==============================
  SP クリニックの3つの特徴
  ============================== */
  .three p img {
    height: 18px;
  }
  .three_wrap {
    margin-top: 40px;
    padding: 0px 20px 0;
    width: 100%;
  }
  .three_inner {
    display: block;
  }
  .three_inner_box {
    padding: 20px;
    height: auto;
  }
  .three_inner_box ul {
    padding: 0px 0px 15px;
  }
  .three_inner_box p {
    padding: 15px 0px 0px;
  }
  .three_inner_box ul li img {
    margin-right: 25px;
    height: 42px;
  }
  .three_inner_box ul li {
    font-size: 20px;
  }
  .three_inner_box2 {
    height: auto;
  }
  .three_inner_box2 img {
    width: 100%;
    height: auto;
  }
}
/*
page > top > thought
------------------------------
*/
.thought_wrap {
  position: relative;
  margin: auto;
  padding-bottom: 0;
  width: 1150px;
}
@media screen and (max-width: 768px) {
  .thought_wrap {
    width: 100%;
  }
}

.thought h3 {
  color: #000;
}

.thought p img {
  width: auto;
  height: 30px;
}

.thought_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 45px auto 90px;
  width: 1150px;
}
@media screen and (max-width: 768px) {
  .thought_wrap {
    width: 100%;
  }
}

.thought_img {
  position: relative;
  margin-left: 45px;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .thought_img {
    position: static;
    margin-left: 0;
    width: 100%;
  }
}

.thought_img img {
  width: 100%;
}

.thought_wrap dl {
  width: 666px;
}
@media screen and (max-width: 768px) {
  .thought_wrap dl {
    width: 100%;
  }
}

.thought_wrap dl div:nth-of-type(n + 2) {
  margin-top: 40px;
}

.thought_wrap dt {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.71;
  letter-spacing: 0;
}

.thought_wrap dt span {
  color: #aa8020;
}

.thought_wrap dd {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0;
}

.drkakuko_name {
  position: absolute;
  right: 12px;
  bottom: 17px;
  font-weight: 700;
  font-size: 12px;
  text-align: right;
}

@media screen and (max-width: 768px) {
  /* ==============================
  SP クリニックの想い
  ============================== */
  .thought p img {
    height: 28px;
  }
  .thought_wrap {
    display: block;
    margin-top: 40px;
    padding: 0px;
    width: 100%;
  }
  .thought_wrap dl {
    padding: 0 20px;
    padding-bottom: 20px;
    width: 100%;
  }
  .thought_wrap dt {
    font-size: 20px;
  }
  .thought_wrap dd {
    font-size: 14px;
  }
  .thought_img img {
    display: block;
    margin: auto;
    width: 65%;
  }
  .drkakuko_name {
    right: 18%;
    bottom: 20px;
  }
}
/*
page > top > lightwidget
------------------------------
*/
.lightwidget__wrap {
  position: relative;
  margin: auto;
  padding-bottom: 30px;
  width: 700px;
}
@media screen and (max-width: 768px) {
  .lightwidget__wrap {
    width: 100%;
  }
}

.lightwidget h3 {
  color: #000;
}

.lightwidget p img {
  width: auto;
  height: 30px;
}

.lightwidget_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 45px auto 90px;
  width: 1150px;
}
@media screen and (max-width: 768px) {
  .lightwidget_wrap {
    width: 100%;
  }
}

.lightwidget_inner {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .lightwidget_inner {
    padding: 0 20px;
  }
}

.lightwidget_img {
  position: relative;
  margin-left: 45px;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .lightwidget_img {
    position: static;
    margin-left: 0;
    width: 100%;
  }
}

.lightwidget_img img {
  width: 100%;
}

.lightwidget_wrap dl {
  width: 666px;
}
@media screen and (max-width: 768px) {
  .lightwidget_wrap dl {
    width: 100%;
  }
}

.lightwidget_wrap dl div:nth-of-type(n + 2) {
  margin-top: 40px;
}

.lightwidget_wrap dt {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.71;
  letter-spacing: 0;
}

.lightwidget_wrap dt span {
  color: #aa8020;
}

.lightwidget_wrap dd {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0;
}

.drkakuko_name {
  position: absolute;
  right: 12px;
  bottom: 17px;
  font-weight: 700;
  font-size: 12px;
  text-align: right;
}

@media screen and (max-width: 768px) {
  /* ==============================
  SP クリニックの想い
  ============================== */
  .lightwidget p img {
    height: 28px;
  }
  .lightwidget_wrap {
    display: block;
    margin-top: 40px;
    padding: 0px;
    width: 100%;
  }
  .lightwidget_wrap dl {
    padding: 0 20px;
    padding-bottom: 20px;
    width: 100%;
  }
  .lightwidget_wrap dt {
    font-size: 20px;
  }
  .lightwidget_wrap dd {
    font-size: 14px;
  }
  .lightwidget_img img {
    display: block;
    margin: auto;
    width: 65%;
  }
  .drkakuko_name {
    right: 18%;
    bottom: 20px;
  }
}
/*
page > clinic > clinic
------------------------------
*/
.kv_about {
  background-image: url(../img/clinic/about_kv.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.txt_gold {
  color: #aa8020;
}

.figure_concept {
  margin: 50px 0;
  width: 100%;
}

.concept_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.concept_inner {
  border: 1px #aa8020 solid;
  background-color: #fff;
  padding: 20px;
  width: calc(33.3333333333% - 13.3333333333px);
}

.concept_inner p {
  color: #aa8020;
  font-weight: 700;
  font-size: 16px;
}

.concept_inner dl {
  margin: 15px 0;
}

.concept_inner dl dt {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0;
}

.concept_inner dd {
  height: 166px;
}

@media screen and (max-width: 768px) {
  .figure_concept {
    margin: 30px 0;
  }
  .concept_wrap {
    display: block;
  }
  .concept_inner {
    margin-bottom: 30px;
    width: 100%;
  }
  .concept_inner:last-of-type {
    margin-bottom: 0px;
  }
  .concept_inner dl dt {
    font-size: 20px;
  }
  .concept_inner dd {
    height: auto;
  }
}
/*
page > clinic > doctor
------------------------------
*/
.kv_doctor {
  background-image: url(../img/clinic/doctor/head_doctor.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.profile_doctor_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.profile_doctor_wrap img {
  width: 480px;
}

.profile_doctor_inner {
  padding-top: 15px;
  width: 480px;
}

.profile_doctor_inner p {
  color: #919191;
  font-weight: 700;
}

.profile_doctor_inner h3 {
  margin-bottom: 10px;
  font-size: 35px;
}

.profile_doctor_inner h3 span {
  vertical-align: text-bottom;
  margin-left: 22px;
  font-size: 20px;
}

.profile_doctor_inner dl {
  position: relative;
  padding: 20px 0;
}

.profile_doctor_inner dl dt {
  -o-border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  margin-bottom: 20px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: solid 7px #dbb864;
  border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 0.5em;
  padding-left: 12px;
  font-weight: bold;
  font-size: 20px;
  line-height: 0.05;
}

.profile_doctor_inner2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.profile_doctor_inner2 dl {
  width: 480px;
}

.link_another_tab {
  margin-top: 5px;
  font-weight: bold;
}

.link_another_tab::after {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 5px;
  background-image: url(../img/about/icon_feather_external_link.png);
  background-size: contain;
  width: 12px;
  height: 12px;
  content: "";
}

.link_another_tab a {
  text-decoration: underline;
}

.profile_doctor_inner3 {
  width: 100%;
}

.year_box {
  display: inline-block;
  width: 90px;
}

.expository_box {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 90px);
}

@media screen and (max-width: 768px) {
  .kv_doctor {
    background-position: center;
  }
  .profile_doctor_wrap {
    display: block;
  }
  .profile_doctor_wrap img {
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
    width: 70%;
  }
  .profile_doctor_inner {
    padding-top: 0px;
    width: 100%;
  }
  .profile_doctor_inner h3 {
    margin-top: 7px;
    font-size: 25px;
  }
  .profile_doctor_inner h3 span {
    vertical-align: middle;
    margin-left: 10px;
    font-size: 14px;
  }
  .profile_doctor_inner dl {
    padding: 20px 0 0;
  }
}
/*
page > clinic > staff
------------------------------
*/
.kv_staff {
  background-image: url(../img/clinic/staff/head_staff.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_staff {
    background-position: 20% 0%;
  }
}

.staff_section {
  -o-border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid;
  border-left: 0;
  border-image: linear-gradient(
    to right,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
}

.title_wrap {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.staff_section h3 {
  color: #404040;
  text-align: left;
}

.staff_section_inner {
  margin: 0 auto;
  width: 1000px;
}

.link_staff_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}

.link_staff_wrap img {
  border: #e6e6e6 1px solid;
  width: 113px;
}

.txt_caution {
  margin-left: 30px;
  color: #919191;
  font-weight: normal;
  font-size: 14px;
}

.link_staff_inner1 {
  width: 240px;
}

.link_staff_inner2 {
  width: 367px;
}

.link_staff_inner3 {
  width: 100%;
}

.link_staff_inner h3 {
  -o-border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  margin-bottom: 20px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: solid 7px #dbb864;
  border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 0.5em;
  padding-left: 12px;
  font-weight: bold;
  font-size: 20px;
  line-height: 0.05;
}

.link_staff_inner dd {
  margin-top: 5px;
  text-align: center;
}

.link_staff_inner_box {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: -10px;
}

.link_staff_inner_box dl {
  margin-top: 10px;
}

.profile_staff_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.profile_staff_wrap img {
  width: 352px;
}

.profile_staff_inner {
  padding-top: 15px;
  width: 608px;
}

.profile_staff_inner p {
  color: #919191;
  font-weight: 700;
}

.profile_staff_inner h3 {
  margin-bottom: 0px;
  font-size: 35px;
}

.profile_staff_inner h3 span {
  vertical-align: text-bottom;
  margin-left: 22px;
  font-size: 20px;
}

.profile_staff_inner dl:first-of-type {
  padding-top: 32px;
}

.profile_staff_inner dl {
  position: relative;
  padding: 20px 0;
}

.profile_staff_inner dl dt {
  -o-border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  margin-bottom: 20px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: solid 7px #dbb864;
  border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 0.5em;
  padding-left: 12px;
  font-weight: bold;
  font-size: 20px;
  line-height: 0.05;
}

.icon_flag img {
  display: inline;
  vertical-align: baseline;
  margin-right: 8px;
  width: 15px;
}

.link_exercise {
  margin-top: 10px;
  font-weight: bold;
  text-align: right;
}

.link_exercise::after {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
  background-image: url(../img/about/staff/icon_arrow_bk.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 12px;
  content: "";
}

.link_exercise a {
  text-decoration: underline;
}

.profile_sns {
  display: flex;
  align-items: center;
  margin-top: 8px;
}

.profile_sns img {
  display: block;
  width: 26px;
  height: 26px;
}

.profile_sns p {
  margin-left: 7px;
  color: #404040;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .title_wrap {
    display: block;
  }
  .staff_section_inner {
    padding: 0 20px;
    width: 100%;
  }
  .txt_caution {
    margin-left: 0;
    line-height: 1.5;
  }
  .link_staff_wrap {
    display: block;
    margin-bottom: 0px;
  }
  .link_staff_inner1 {
    width: 100%;
  }
  .link_staff_inner2 {
    width: 100%;
  }
  .link_staff_inner3 {
    width: 100%;
  }
  .link_staff_inner3 dl {
    margin-bottom: 20px;
  }
  .link_staff_inner3 dl:last-of-type {
    margin-bottom: 0px;
  }
  .link_staff_inner_box {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .link_staff_inner3 .link_staff_inner_box {
    margin-bottom: 0;
  }
  .link_staff_inner_box::after {
    display: block;
    width: 30%;
    content: "";
  }
  .profile_staff_wrap {
    display: block;
  }
  .link_staff_wrap img {
    width: 100px;
  }
  .profile_staff_wrap img {
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
    width: 70%;
  }
  .icon_flag img {
    display: inline;
    margin-right: 5px;
    margin-bottom: 0;
    width: 15px;
  }
  .profile_staff_inner {
    padding-top: 0;
    width: 100%;
  }
  .profile_staff_inner h3 {
    margin-top: 7px;
    font-size: 25px;
  }
  .profile_staff_inner h3 span {
    vertical-align: middle;
    margin-left: 10px;
    font-size: 14px;
  }
  .profile_staff_inner dl {
    padding: 20px 0 0;
  }
  .link_exercise::after {
    vertical-align: sub;
    margin-left: 3px;
    width: 32px;
  }
  .link_another_tab::after {
    margin-left: 1px;
  }
  .yamaguchi_txt_wrap {
    margin-bottom: 30px;
  }
  .profile_sns {
    align-items: flex-start;
  }
  .profile_sns img {
    margin: 0;
    width: 26px;
  }
}
/*
page > clinic > facility
------------------------------
*/
.kv_facility {
  background-image: url(../img/clinic/facility_kv.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.studio_inner {
  margin-bottom: 60px;
  width: 1000px;
}

.studio_inner dl dt {
  margin-top: 30px;
  margin-bottom: 10px;
  padding-left: 1em;
  font-weight: bold;
  font-size: 20px;
  text-indent: -1em;
}

.studio_inner dl dt::before {
  -o-border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  display: inline-block;
  vertical-align: text-top;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: solid 7px #dbb864;
  border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 10px 8px;
  width: 3px;
  height: 10px;
  content: "";
}

.studio_box {
  display: flex;
  justify-content: space-between;
}

.studio_box img {
  width: 480px;
}

@media screen and (max-width: 768px) {
  .studio_inner {
    margin-bottom: 50px;
    width: 100%;
  }
  .studio_inner img {
    width: 100%;
  }
  .studio_inner dl dt {
    margin-top: 20px;
  }
  .studio_box {
    display: block;
  }
  .studio_box img:last-of-type {
    margin-top: 20px;
  }
}
/*
page > service > service
------------------------------
*/
.kv_service {
  background-image: url(../img/service/service/head_orthopedics.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_service {
    background-position: 60% 50%;
  }
}

.section-service {
  padding-bottom: 60px;
}

.content_area {
  padding-top: 64px;
}

.pagenation {
  display: flex;
  margin: auto;
  padding: 0 0px 80px;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .pagenation {
    flex-direction: column;
    padding: 0 20px 80px;
    width: 100%;
  }
}

.pagenation .item__button {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .pagenation .item__button:nth-child(n + 2) {
    margin-top: 10px;
  }
}

.paginattion__button {
  margin-left: 20px;
  width: 490px;
}
@media screen and (max-width: 768px) {
  .paginattion__button {
    margin-top: 15px;
    margin-left: 0;
    width: 100%;
  }
}

.paginattion__button:nth-child(2n + 1) {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .paginattion__button:nth-child(2n + 1) {
    margin-top: 0;
  }
}

.cta {
  display: flex;
  gap: 20px;
  margin-top: 60px;
}

@media screen and (max-width: 768px) {
  .cta {
    flex-direction: column;
  }
}
.cta_button {
  display: block;
  position: relative;
  box-shadow: 3px 3px 3px rgb(167, 167, 167);
  background: #48a29a;
  width: 50%;
  height: 60px;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  line-height: 60px;
  letter-spacing: 0.07em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .cta_button {
    width: 100%;
    font-size: 14px;
  }
}
.cta_button.cta_line {
  background: linear-gradient(180deg, #06c755 0%, #009f41 100%);
  font-size: 14px;
}

.cta_button::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 15px;
  vertical-align: middle;
  transform: translateY(-50%);
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 9px;
  content: "";
}

.orthopedics__items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 45px;
}
@media screen and (max-width: 540px) {
  .orthopedics__items {
    flex-direction: column;
  }
}

.orthopedics__item {
  position: relative;
  margin-left: 20px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border: 5px solid #fff;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .orthopedics__item {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 540px) {
  .orthopedics__item {
    margin-left: 0;
    width: 100%;
  }
}

.orthopedics__item:nth-of-type(3n + 1) {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .orthopedics__item:nth-of-type(3n + 1) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 540px) {
  .orthopedics__item:nth-of-type(3n + 1) {
    margin-left: 0;
  }
}

.orthopedics__item:nth-of-type(n + 4) {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .orthopedics__item:nth-of-type(n + 3) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .orthopedics__item:nth-of-type(2n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 540px) {
  .orthopedics__item:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.orthopedics__item::after {
  display: inline-block;
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 4px;
  content: "";
}

.orthopedics__item a::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  content: "";
}

.orthopedics__link {
  display: block;
  position: relative;
}

.orthopedics__link:hover {
  opacity: 0.7;
}

.orthopedics__img {
  position: relative;
  aspect-ratio: 310/150;
}
@media screen and (max-width: 768px) {
  .orthopedics__img {
    width: 100%;
    max-width: 600px;
  }
}

.orthopedics__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.orthopedics__body {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 23px 24px 23px 21px;
}

.orthopedics__part {
  color: #fff;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.13;
  letter-spacing: 0.06px;
}

.orthopedics__part span {
  display: block;
  margin-top: 5px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.07;
  letter-spacing: 0.7px;
}

.youtube_wrap {
  margin-top: 60px;
}

.youtube_wrap p {
  background: linear-gradient(#bc923f, #8c6337);
  padding: 15px 36px;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-align: center;
}

.youtube_inner {
  background-color: #fff;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .youtube_inner {
    padding: 32px 20px;
  }
}

.video_box {
  margin: 0 auto;
  aspect-ratio: 16/9;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .video_box {
    width: 100%;
  }
}

.youtube_inner iframe {
  width: 100%;
  height: 100%;
}

.service-main__img {
  position: relative;
  margin: 60px auto 0;
  aspect-ratio: 650/434;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .service-main__img {
    width: 100%;
  }
}

.service-main__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .service-main__img img {
    width: 100%;
  }
}

/*
page > service > sports
------------------------------
*/
.kv_sports {
  background-image: url(../img/service/sports/head_sports.png);
  background-size: cover;
  background-repeat: no-repeat;
}

/*============================================================
page > service > golf-elbow
*============================================================*/
.kv_upper-limbs {
  background-image: url(../img/service/upper-limbs/head_upper-limbs.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_upper-limbs {
    background-position: 20% 50%;
  }
}

.item01__subtitle--elbow {
  color: #404040;
}

/*
page > service > golf-elbow
------------------------------
*/
.kv_golf-elbow {
  background-image: url(../img/service/upper-limbs/golf-elbow/head_golf-elbow.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_golf-elbow {
    background-position: 50% 50%;
  }
}

.therapy-card__item--golf-elbow {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .therapy-card__item--golf-elbow {
    width: 100%;
  }
}

.therapy-card__item--golf-elbow:nth-of-type(n + 2) {
  margin-left: 40px;
}
@media screen and (max-width: 768px) {
  .therapy-card__item--golf-elbow:nth-of-type(n + 2) {
    margin-left: 0;
  }
}

.therapy-card__img--golf-elbow {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .therapy-card__img--golf-elbow {
    width: 100%;
  }
}

.therapy-card__img--golf-elbow img {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .therapy-card__img--golf-elbow img {
    width: 100%;
  }
}

.tab__items {
  display: flex;
  margin: 0 auto;
  border: none;
  padding-top: 90px;
  width: calc(100% - 40px);
  max-width: 1000px;
}

.tab__item {
  display: block;
  position: relative;
  cursor: pointer;
  border: 1px solid #aa8020;
  background: #fff;
  padding: 20px 0;
  width: 500px;
  color: #aa8020;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tab__item {
    padding: 15px 0;
    width: 50%;
  }
}

.tab__item:hover {
  opacity: 1;
}

.tab__item.active::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  z-index: 2;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  background-color: #aa8020;
  width: 13px;
  height: 11px;
  content: "";
}

.tab__item.active {
  background-color: #aa8020;
  color: #fff;
}

.panel__item.hide {
  display: none;
}

.active.tab__item::before {
  background-color: #aa8020;
}

.tab__item3 {
  width: 330px;
}
@media screen and (max-width: 768px) {
  .tab__item3 {
    width: calc(33.333% - 3.3333333333px);
  }
}

.tab__item3:nth-of-type(n + 2) {
  margin-left: 5px;
}

.tab__text {
  font-weight: 700;
}

/*============================================================
page > service > golf-elbow
*============================================================*/
.kv_tennis-elbow {
  background-image: url(../img/service/upper-limbs/tennis-elbow/head_tennis-elbow.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_tennis-elbow {
    background-position: 50% 50%;
  }
}

/*
page > service > upper-limbs > tendonitis
------------------------------------
*/
.kv_tendonitis {
  background-image: url(../img/service/upper-limbs/tendonitis/head_tendonitis.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_tendonitis {
    background-position: 60% 50%;
  }
}

.block03__img--tendonitis {
  margin: auto;
  max-width: 671px;
}
@media screen and (max-width: 768px) {
  .block03__img--tendonitis {
    max-width: 100%;
  }
}

/*
page > service > upper-limbs > finger
------------------------------
*/
.kv_finger {
  background-image: url(../img/service/upper-limbs/finger/head_finger.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_finger {
    background-position: 40% 50%;
  }
}

/*
page > service > upper-limbs > hebaden
------------------------------
*/
.kv_hebaden {
  background-image: url(../img/service/upper-limbs/hebaden/head_hebaden.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_hebaden {
    background-position: 40% 50%;
  }
}

/*
page > service > neck-shoulder >
------------------------------
*/
.kv_neck-shoulder {
  background-image: url(../img/service/neck-shoulder/index/head_neck-shoulder.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_neck-shoulder {
    background-position: 50% 50%;
  }
}

/*
page > service > neck-shoulder > bbshoulder
-------------------------------------------
*/
.kv_bb-shoulder {
  background-image: url(../img/service/neck-shoulder/bb/head_bb.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_bb-shoulder {
    background-position: 50% 50%;
  }
}

/*
page > service > neck-shoulder > golf-neck
------------------------------------------
*/
.kv_golf-neck {
  background-image: url(../img/service/neck-shoulder/golf-neck/head_golf-neck.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_golf-neck {
    background-position: 25% 50%;
  }
}

/*
page > service > neck-shoulder > neck-pain
------------------------------
*/
.kv_neck-pain {
  background-image: url(../img/service/neck-shoulder/neck-pain/head_neck-pain.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_neck-pain {
    background-position: 50% 50%;
  }
}

/*
page > service > trunk > trunk
-------------------------------------------
*/
.kv_trunk {
  background-image: url(../img/service/trunk/index/head_trunk.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_trunk {
    background-position: 20% 50%;
  }
}

/*
page > service > trunk > fracture
-------------------------------------------
*/
.kv_fracture {
  background-image: url(../img/service/trunk/lib/head_lib.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_fracture {
    background-position: 30% 50%;
  }
}

/*
page > service > trunk > separation
-------------------------------------------
*/
.kv_separation {
  background-image: url(../img/service/trunk/separation/head_separation.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_separation {
    background-position: 20% 50%;
  }
}

/*
page > service > trunk > back-pain
-------------------------------------------
*/
.kv_back-pain {
  background-image: url(../img/service/trunk/back-pain/head_back-pain.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_back-pain {
    background-position: 40% 50%;
  }
}

/*
page > service > trunk > waist-pain
-------------------------------------------
*/
.kv_backache {
  background-image: url(../img/service/trunk/backache/head_backache.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_backache {
    background-position: 50% 50%;
  }
}

.block03__img--waist-pain1 {
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .block03__img--waist-pain1 {
    margin-right: auto;
  }
}

/*
page > service > leg
------------------------------
*/
.kv_leg {
  background-image: url(../img/service/leg/index/head_leg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_leg {
    background-position: 40% 50%;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_runner-knee {
  background-image: url(../img/service/leg/runner-knee/head_runner-knee.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_runner-knee {
    background-position: 20% 50%;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_jumper-knee {
  background-image: url(../img/service/leg/jumper-knee/head_jumper-knee.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_jumper-knee {
    background-position: 40% 50%;
  }
}

.block03__text.number-text {
  position: relative;
  margin-left: 25px;
}

.block03__text.number-text:nth-child(n + 2) {
  margin-top: 20px;
}

.block03__text.number-text::before {
  position: absolute;
  top: 0;
  left: -25px;
}

.block03__text.number-text:nth-child(1)::before {
  content: "１.";
}

.block03__text.number-text:nth-child(2)::before {
  content: "２.";
}

.block03__text.number-text:nth-child(3)::before {
  content: "３.";
}

.base-table--jumper-knee {
  width: 926px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .base-table--jumper-knee {
    width: 880px;
  }
}

.base-table--jumper-knee th {
  height: 48px;
}

.base-table--jumper-knee th:nth-child(1) {
  width: 117px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-table--jumper-knee th:nth-child(1) {
    width: 100px;
  }
}

.base-table--jumper-knee th:nth-child(2) {
  width: 500px;
}
@media screen and (max-width: 768px) {
  .base-table--jumper-knee th:nth-child(2) {
    width: 480px;
  }
}

.base-table--jumper-knee th:nth-child(3) {
  width: 308px;
}
@media screen and (max-width: 768px) {
  .base-table--jumper-knee th:nth-child(3) {
    width: 300px;
  }
}

.base-table--jumper-knee td:nth-child(1) {
  text-align: center;
}

.base-table--jumper-knee td {
  padding: 12px 20px;
  height: 48px;
  text-align: left;
}

/*
page > service > leg >
------------------------------
*/
.kv_pes-anserine {
  background-image: url(../img/service/leg/pes/head_pes.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_pes-anserine {
    background-position: 50% 50%;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_shin-splints {
  background-image: url(../img/service/leg/shin-splints/head_shin-splints.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_shin-splints {
    background-position: 50% 50%;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_achilles {
  background-image: url(../img/service/leg/achilles/head_achilles.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_achilles {
    background-position: 0% 50%;
  }
}

/*
page > service > leg > osteoarthritis
------------------------------
*/
.kv_knee-osteoarthritis {
  background-image: url(../img/service/leg/osteoarthritis/head_osteoarthritis.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_knee-osteoarthritis {
    background-position: 30% 50%;
  }
}

.base-table--knee-osteoarthritis {
  margin-top: 5px;
  margin-bottom: 10px;
  width: 924px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis {
    width: 830px;
  }
}

.base-table--knee-osteoarthritis tbody tr {
  height: 250px;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis tbody tr {
    height: 200px;
  }
}

.base-table--knee-osteoarthritis th:nth-child(1) {
  width: 87px;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis th:nth-child(1) {
    width: 80px;
  }
}

.base-table--knee-osteoarthritis th:nth-child(2) {
  width: 620px;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis th:nth-child(2) {
    width: 550px;
  }
}

.base-table--knee-osteoarthritis th:nth-child(3) {
  width: 218px;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis th:nth-child(3) {
    width: 200px;
  }
}

.base-table--knee-osteoarthritis td:nth-child(1) {
  text-align: center;
}

.base-table--knee-osteoarthritis td:nth-child(2) {
  padding: 36px;
  font-weight: 400;
}

.base-table--knee-osteoarthritis td figure {
  display: flex;
  justify-content: center;
  align-items: center;
}

.base-table--knee-osteoarthritis td img {
  height: 220px;
}
@media screen and (max-width: 768px) {
  .base-table--knee-osteoarthritis td img {
    height: 170px;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_leg-pain {
  background-image: url(../img/service/leg/leg-pain/head_leg-pain.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_leg-pain {
    background-position: 40% 50%;
  }
}

/*
page > service > leg >
------------------------------
*/
.kv_plantar {
  background-image: url(../img/service/leg/plantar/head_plantar.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_plantar {
    background-position: 20% 50%;
  }
}

.kv_heel h2 {
  letter-spacing: 4px;
}

/*
page > service > fatigue-fracture > fatigue-fracture
------------------------------
*/
.kv_fatigue-fracture {
  background-image: url(../img/service/fatigue-fracture/head_fatigue-fracture.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_fatigue-fracture {
    background-position: 60% 50%;
  }
}

/*
page > service > pelvis > pelvis
------------------------------
*/
.kv_pelvis {
  background-image: url(../img/service/pelvis/head_pelvis.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_pelvis {
    background-position: 65% 50%;
  }
}

.kv_pelvis h2 {
  letter-spacing: 5px;
}

/*
page > service > pelvis > pelvic-girdl
------------------------------
*/
.kv_pelvic-girdl {
  background-image: url(../img/service/pelvis/pelvic-girdle/head_pelvic-girdle.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_pelvic-girdl {
    background-position: 60% 50%;
  }
}

/*
page > service > pelvis >
------------------------------
*/
.kv_postpartum {
  background-image: url(../img/service/pelvis/postpartum/head_postpartum.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_postpartum {
    background-position: 10% 50%;
  }
}

/*
page > service > pelvis >
------------------------------
*/
.kv_abdominis {
  background-image: url(../img/service/pelvis/abdominis/head_abdominis.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_abdominis {
    background-position: 20% 50%;
  }
}

/*
page > service > female-athlete > female-athlete
------------------------------
*/
.kv_female-athlete {
  background-image: url(../img/service/female-athlete/head_female-athlete.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_female-athlete {
    background-position: 70% 50%;
  }
}

/*
page > price > price2
------------------------------
*/
.kv_price1 {
  background-image: url(../img/price/head_price01.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.price1__desc a {
  color: #aa8020;
  font-weight: 700;
  text-decoration: underline;
}

.item01__subtitle_price {
  color: #404040;
}

.item01__subtitle_price span {
  margin-left: 10px;
  font-weight: 400;
  font-size: 14px;
}

/*
page > price > price2
------------------------------
*/
.kv_price2 {
  background-image: url(../img/price/head_price02.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_price2 {
    background-position: 35% 50%;
  }
}

/*
page > price > price-list
------------------------------
*/
.kv_price-list {
  background-image: url(../img/price/head_pricelist.png);
  background-size: cover;
}

.section--pricelist {
  padding-bottom: 0;
}

.price-list__links {
  display: flex;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .price-list__links {
    flex-wrap: wrap;
  }
}

.price-list__link {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 6px;
  border: 1px solid #00a59a;
  background-color: #fff;
  width: 195px;
  height: 60px;
  color: #00a59a;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .price-list__link {
    width: calc(33.333% - 0.4rem);
  }
}
@media screen and (max-width: 480px) {
  .price-list__link {
    font-size: 12px;
    letter-spacing: 0.5px;
  }
}
@media screen and (max-width: 400px) {
  .price-list__link {
    width: calc(50% - 0.3rem);
  }
}

@media screen and (max-width: 768px) {
  .price-list__link:nth-of-type(n + 4) {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .price-list__link:nth-of-type(3n + 1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 400px) {
  .price-list__link:nth-of-type(3n + 1) {
    margin-left: 6px;
  }
}

@media screen and (max-width: 400px) {
  .price-list__link:nth-of-type(n + 3) {
    margin-top: 10px;
  }
}

@media screen and (max-width: 400px) {
  .price-list__link:nth-of-type(2n + 1) {
    margin-left: 0;
  }
}

.price-list__link:hover {
  opacity: 1;
  transition: all 0.3s ease-in-out;
  background-color: #00a59a;
  color: #fff;
}

.price-list__link:first-of-type {
  margin-left: 0;
}

.price-list__items {
  margin-top: 45px;
}

.price-list__item:nth-of-type(n + 2) {
  margin-top: 55px;
}

@media screen and (max-width: 768px) {
  .price-list__title {
    font-size: 18px;
    letter-spacing: 0;
  }
}

.price-list__text {
  margin-top: 15px;
}

.price-list__item--option {
  position: relative;
}

.price-list__item--option::before,
.price-list__item--option::after {
  position: absolute;
  top: -27.5px;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #404040;
  width: 30px;
  height: 3px;
  content: "";
}

.price-list__item--option::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/*
page > price > s-opinion
------------------------------
*/
.kv_s-opinion {
  background-image: url(../img/price/s-opinion/head_s-opinion.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_s-opinion {
    background-position: 30% 50%;
  }
}

.block03--opinion {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03--opinion {
    margin-top: 50px;
  }
}

.block03--opinion dt:nth-of-type(n + 2) {
  margin-top: 32px;
}

.block03--opinion dd {
  margin-top: 1px;
}

/*
page > price > m-couseling
------------------------------
*/
.kv_m-counseling {
  background-image: url(../img/price/m-counseling/head_m-counseling.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_m-counseling {
    background-position: 20% 50%;
  }
}

/*
page > flow > flow
------------------------------
*/
.kv_flow {
  background-image: url(../img/flow/head_flow.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_flow {
    background-position: 30% 50%;
  }
}

.flow__items {
  margin-top: 60px;
}

.flow__item {
  background-color: #fff;
  padding: 32px 36px 56px;
}
@media screen and (max-width: 500px) {
  .flow__item {
    padding: 32px 20px 56px;
  }
}

.flow__item:nth-of-type(n + 2) {
  margin-top: 60px;
  padding: 32px 36px 34px;
}
@media screen and (max-width: 500px) {
  .flow__item:nth-of-type(n + 2) {
    padding: 32px 20px 34px;
  }
}

.flow-top {
  display: flex;
  width: 920px;
}
@media screen and (max-width: 768px) {
  .flow-top {
    flex-direction: column;
    width: 100%;
  }
}

.flow__img {
  position: relative;
  margin-left: 26px;
  aspect-ratio: 350/256;
  width: 350px;
  height: 256px;
}
@media screen and (max-width: 768px) {
  .flow__img {
    margin-top: 20px;
    margin-left: 0;
    width: 100%;
  }
}

.flow__img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flow__content {
  width: 560px;
}
@media screen and (max-width: 768px) {
  .flow__content {
    width: 100%;
  }
}

.flow__content--flex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.flow__content--reserve {
  width: 920px;
}
@media screen and (max-width: 768px) {
  .flow__content--reserve {
    width: 100%;
  }
}

.flow__maintitle {
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 20px;
  color: #aa8020;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 2.25px;
}
@media screen and (max-width: 768px) {
  .flow__maintitle {
    font-size: 22px;
    letter-spacing: 1.5px;
  }
}

.flow__subtitle {
  margin-top: 40px;
}

.flow__text {
  margin-top: 20px;
}

.flow__text .link-text {
  color: #aa8020;
  font-weight: 700;
  text-decoration: underline;
}

.flow__text a:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

.flow__text:nth-of-type(n + 2) {
  margin-top: 8px;
}

.flow__button {
  margin-top: 15px;
}

.button--flow {
  width: 265px;
}
@media screen and (max-width: 480px) {
  .button--flow {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
  }
}

.button-line {
  background-color: #06c755;
}

.button-line::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 32px;
  transform: translateY(-50%);
  background-image: url(../img/common/icon_line.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 25px;
  height: 25px;
  content: "";
}

.flow__info {
  margin-top: 15px;
  font-weight: 700;
}

.flow__info span {
  cursor: pointer;
  color: #aa8020;
  text-decoration: underline;
}

.flow__info span:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

.flow-bottom {
  margin-top: 10px;
  background-color: #f7f7f7;
  padding: 32px 32px 42px 20px;
}

.flow-bottom__item:nth-child(n + 2) {
  margin-top: 15px;
}

.flow-bottom__title {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.7px;
}

.flow-bottom__text {
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.785;
  letter-spacing: 0.98px;
}

.flow__table-area {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .flow__table-area {
    overflow-x: scroll;
  }
}

.flow__table {
  margin-bottom: 20px;
  width: 924px;
}

.flow__table-body tr:nth-of-type(2n) {
  background-color: #f7f7f7;
}

.flow__table th,
.flow__table td {
  border: solid 1px #c8c8c8;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.7px;
}

.flow__table th {
  background: #404040;
  padding: 22px 0;
  color: #fff;
  text-align: center;
}

.flow__table td {
  vertical-align: middle;
  padding: 25px 15px;
  line-height: 2.42;
}

.flow__table th:first-of-type,
.flow__table td:first-of-type {
  padding-left: 20px;
  width: 204px;
}
@media screen and (max-width: 768px) {
  .flow__table th:first-of-type,
  .flow__table td:first-of-type {
    width: 160px;
  }
}

.flow__table th:nth-of-type(n + 2),
.flow__table td:nth-of-type(n + 2) {
  width: 144px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flow__table th:nth-of-type(n + 2),
  .flow__table td:nth-of-type(n + 2) {
    width: 140px;
  }
}

.flow__table td:last-of-type {
  text-align: left;
}

.flow-bottom__item.flow-bottom__item--reserve {
  margin-top: 46px;
}

.flow-bottom__title--reserve {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.62px;
}

/*
page > flow > flow-modal
------------------------------
*/
.button-open {
  display: block;
  cursor: pointer;
  margin: 0 auto;
  border-radius: 20rem;
  background-color: #3140c9;
  padding: 1em;
  width: 20rem;
  color: #eaeaea;
}

/* モーダルウィンドウ */
.modal-window {
  display: none;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 11;
  margin: 150px auto 50px;
  background-color: #f7f7f7;
  width: 100%;
  max-width: 1000px;
  height: calc(100% - 200px);
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .modal-window {
    margin: 50px auto 100px;
    width: 95%;
    height: calc(100% - 150px);
  }
}

/* 閉じるボタン */
.button-close {
  position: sticky;
  top: 0;
  right: 0;
  left: auto;
  z-index: 15;
  cursor: pointer;
  margin-right: 0;
  margin-left: auto;
  background-color: #404040;
  width: 45px;
  height: 45px;
  color: #eaeaea;
}

.button-close::before,
.button-close::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  width: 20px;
  height: 2px;
  content: "";
}

.button-close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.button-close::after {
  transform: translate(-50%, -50%) rotate(45deg);
}

.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
}

.no_scroll {
  overflow: hidden;
}

.flow-howto {
  position: relative;
  padding: 60px 55px 87px;
}
@media screen and (max-width: 768px) {
  .flow-howto {
    padding: 60px 40px;
  }
}
@media screen and (max-width: 400px) {
  .flow-howto {
    padding: 60px 30px;
  }
}

.flow-howto__title {
  font-weight: 700;
  font-size: 35px;
  letter-spacing: 3.15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flow-howto__title {
    font-size: 25px;
    letter-spacing: 2px;
  }
}
@media screen and (max-width: 400px) {
  .flow-howto__title {
    letter-spacing: 1px;
  }
}

.howto__items {
  margin-top: 40px;
}

.howto__item {
  display: flex;
  background-color: #fff;
  padding: 40px;
}
@media screen and (max-width: 768px) {
  .howto__item {
    flex-direction: column;
    padding: 30px;
  }
}
@media screen and (max-width: 400px) {
  .howto__item {
    padding: 20px;
  }
}

.howto__item:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .howto__item:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.howto__images {
  position: relative;
  width: 350px;
}
@media screen and (max-width: 768px) {
  .howto__images {
    width: 100%;
  }
}

.howto__img {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .howto__img {
    width: 100%;
  }
}

.howto__img img {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .howto__img img {
    width: 100%;
  }
}

.howto__icon {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-25%, -25%);
  border-radius: 50%;
  background-color: #00a59a;
  width: 80px;
  height: 80px;
}
@media screen and (max-width: 768px) {
  .howto__icon {
    width: 70px;
    height: 70px;
    font-size: 13px;
  }
}

.howto__icon-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}
.howto__icon-text span {
  display: block;
  margin-top: 3px;
  font-weight: 700;
  font-size: 33px;
}
@media screen and (max-width: 768px) {
  .howto__icon-text span {
    font-size: 28px;
  }
}

.howto__content {
  margin-left: 25px;
  padding-top: 50px;
  width: 430px;
}
@media screen and (max-width: 768px) {
  .howto__content {
    margin-top: 15px;
    margin-left: 0;
    padding-top: 0;
    width: 100%;
  }
}

.howto__title {
  color: #00a59a;
}

.howto__text {
  margin-top: 15px;
  text-align: left;
}

/*
page > flow > policy
------------------------------
*/
.policy__items {
  margin-top: 35px;
}

.policy__item:nth-of-type(n + 2) {
  margin-top: 50px;
}

.policy__title {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1.8px;
}

.policy__text {
  margin-top: 20px;
}

/*
page > anti-aging > anti-aging
------------------------------
*/
.kv_anti-aging {
  background-image: url(../img/anti-aging/top/head_aging.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_anti-aging {
    background-position: 50% 50%;
  }
}

.block01__items--aging {
  margin-top: 96px;
}

.base-table__outer--anti-aging {
  white-space: normal;
}

.base-table--anti-aging {
  width: 924px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .base-table--anti-aging {
    width: 810px;
  }
}

.base-table__menu--anti-aging {
  width: 284px;
}
@media screen and (max-width: 768px) {
  .base-table__menu--anti-aging {
    width: 270px;
  }
}

td.base-table__menu--anti-aging {
  font-feature-settings: "palt";
  padding: 15px 10px;
  line-height: 2.4;
  letter-spacing: 1.5px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  td.base-table__menu--anti-aging {
    line-height: 2;
  }
}

.anti-aging__bottom {
  margin-top: 40px;
}

.anti-aging__text2 {
  margin-top: 40px;
}

.items01--anti-aging {
  margin-top: 90px;
}

.item01--anti-aging {
  padding: 36px;
}
@media screen and (max-width: 768px) {
  .item01--anti-aging {
    padding: 20px;
  }
}

/*
page > anti-aging > medical
------------------------------
*/
.kv_medical {
  background-image: url(../img/anti-aging/medical/head_medical.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_medical {
    background-position: 20% 50%;
  }
}

/*
page > anti-aging > exercise
------------------------------
*/
.kv_exercise {
  background-image: url(../img/anti-aging/exercise/head_exercise.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_exercise {
    background-position: 30% 50%;
  }
}

.block02__link-area {
  margin-top: 15px;
}

.block02__buttons--right {
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .block02__buttons.block02__buttons--anti-aging {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .block02__link-title {
    font-size: 18px;
  }
}

/*
page > anti-aging > diet
------------------------------
*/
.kv_diet {
  background-image: url(../img/anti-aging/diet/head_diet.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_diet {
    background-position: 70% 50%;
  }
}

.diet__text2 {
  margin-top: 30px;
}

.table__outer--diet {
  margin-top: 35px;
}

.diet__text2 {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .item01__img--diet03 {
    margin-top: 20px;
    width: 100%;
  }
}

td.base-table__menu--diet {
  padding-left: 20px;
}

/*
page > anti-aging > airnergy
------------------------------
*/
.kv_airnergy {
  background-image: url(../img/anti-aging/airnergy/head_airnergy.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_airnergy {
    background-position: 55% 50%;
  }
}

/*
page > anti-aging > m-pilates
------------------------------
*/
.kv_m-pilates {
  background-image: url(../img/anti-aging/m-pilates/head_pilates.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_m-pilates {
    background-position: 45% 50%;
  }
}

@media screen and (max-width: 768px) {
  .base-table--pilates {
    width: 660px;
  }
}

.base-table__row--pilates td {
  height: 120px;
}
@media screen and (max-width: 768px) {
  .base-table__row--pilates td {
    height: 100px;
  }
}

.base-table__row--pilates2 td {
  height: 160px;
}
@media screen and (max-width: 768px) {
  .base-table__row--pilates2 td {
    height: 140px;
  }
}

@media screen and (max-width: 768px) {
  .base-table__row--pilates th:first-of-type {
    width: 120px;
  }
}

/*
page > anti-aging > hyaluronsan
------------------------------
*/
.kv_hyaluronsan {
  background-image: url(../img/anti-aging/hyaluronsan/head_hyaluronsan.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_hyaluronsan {
    background-position: 35% 50%;
  }
}

/*
page > anti-aging > others
------------------------------
*/
.kv_others {
  background-image: url(../img/anti-aging/others/head_others.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_others {
    background-position: 35% 50%;
  }
}

/*
page > workshop > workshop
------------------------------
*/
.kv_workshop {
  background-image: url(../img/workshop/workshop/head_workshop.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_workshop {
    background-position: 70% 50%;
  }
}

@media screen and (max-width: 768px) {
  .kv_workshop h2 {
    font-feature-settings: "palt";
    font-size: 36px;
  }
}
@media screen and (max-width: 480px) {
  .kv_workshop h2 {
    font-size: 32px;
  }
}
@media screen and (max-width: 400px) {
  .kv_workshop h2 {
    font-size: 27px;
  }
}

.base-table--workshop {
  width: 924px;
}
@media screen and (max-width: 768px) {
  .base-table--workshop {
    width: 100%;
    min-width: 400px;
  }
}

.base-table--workshop th:nth-of-type(1) {
  width: 283px;
}
@media screen and (max-width: 768px) {
  .base-table--workshop th:nth-of-type(1) {
    width: 20%;
    min-width: 100px;
  }
}

.base-table--workshop th:nth-of-type(2) {
  width: 641px;
}
@media screen and (max-width: 768px) {
  .base-table--workshop th:nth-of-type(2) {
    width: 80%;
    min-width: 300px;
  }
}

.base-table--workshop td:nth-of-type(2) {
  text-align: center;
}

.base-table--workshop td {
  font-weight: 400;
}

.base-table--workshop td:first-child {
  font-weight: 700;
}

/*
page > workship > gyro
------------------------------
*/
.kv_gyro {
  background-image: url(../img/workshop/gyro/head_gyro.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_gyro {
    background-position: 15% 50%;
  }
}

/*
page > workship > gyro
------------------------------
*/
.kv_yoga {
  background-image: url(../img/workshop/yoga/head_yoga.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_yoga {
    background-position: 50% 50%;
  }
}

@media screen and (max-width: 768px) {
  .column3-links {
    display: block;
  }
}

.block02__links.column3-links {
  gap: 0;
}

.column3-links a {
  margin-left: 8px;
  width: calc(33.333% - 5.3333333333px);
}
@media screen and (max-width: 768px) {
  .column3-links a {
    margin-left: 0;
    width: 100%;
  }
}

.column3-links a:nth-child(3n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .column3-links a:nth-child(n + 2) {
    margin-top: 8px;
  }
}

.block03__img--yoga {
  width: 350px;
}
@media screen and (max-width: 768px) {
  .block03__img--yoga {
    width: 100%;
  }
}

.block03__content--yoga {
  width: 539px;
}
@media screen and (max-width: 768px) {
  .block03__content--yoga {
    width: 100%;
  }
}

/*
page > workship > well-boost
------------------------------
*/
.kv_well-boost {
  background-image: url(../img/workshop/well-boost/head_well-boost.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_well-boost {
    background-position: 50% 50%;
  }
}

/*
page > workship > gyro
------------------------------
*/
.kv_athlete {
  background-image: url(../img/workshop/athlete/head_athlete.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_athlete {
    background-position: 55% 50%;
  }
}

.kasou_section .title__top {
  margin-bottom: 10px;
  color: #aa8020;
  font-weight: 700;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .kasou_section .title__top {
    font-size: 18px;
  }
}

.kasou_section p span {
  font-weight: 700;
}

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

/*
page > advanced > advanced
------------------------------
*/
/* advanced.html 先進医療 */
.kv_advanced {
  background-image: url(../img/advanced/advanced/head_advanced.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.advanced_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}

.advanced_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 480px;
}

.advanced_inner:nth-of-type(n + 3) {
  margin-top: 60px;
}

.studio__item:nth-of-type(2) {
  justify-content: flex-start;
}

.studio__item:nth-of-type(3) {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .advanced_inner:nth-of-type(n + 2) {
    margin-top: 50px;
  }
}

.advanced_img {
  position: relative;
  aspect-ratio: 480/300;
}

.advanced_img img {
  -o-object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.advanced_inner img {
  width: 480px;
}

.advanced_inner dl dt {
  margin-top: 25px;
  margin-bottom: 10px;
  padding-left: 1em;
  font-weight: bold;
  font-size: 20px;
  text-indent: -1em;
}

.advanced_inner dl dt::before {
  -o-border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  display: inline-block;
  vertical-align: text-top;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: solid 7px #dbb864;
  border-image: linear-gradient(
    to bottom,
    #f1d48b 0%,
    #dbb864 50%,
    #cfa74d 100%
  );
  border-image-slice: 1;
  padding: 10px 8px;
  width: 3px;
  height: 10px;
  content: "";
}

.advanced_inner a {
  display: block;
  position: relative;
  transition: color 0.3s ease-in-out;
  margin-top: 20px;
  margin-right: 40px;
  font-weight: bold;
  font-size: 18px;
  text-align: right;
}

.advanced_inner a:hover {
  opacity: 1;
  transition: color 0.3s ease-in-out;
  color: #00a59a;
}

.advanced_inner a::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  transition: background-image 0.3s ease-in-out;
  background-image: url(../img/common/icon_arrow_circle.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 28px;
  height: 28px;
  content: "";
}

.advanced_inner a:hover::after {
  transition: background-image 0.3s ease-in-out;
  background-image: url(../img/common/icon_arrow_circle_green.png);
}

.button_link_a {
  margin: 0 auto;
  margin-top: 60px;
  width: 100%;
  max-width: 490px;
}

@media screen and (max-width: 768px) {
  .kv_advanced {
    background-position: right;
  }
  .advanced_wrap {
    display: block;
  }
  .advanced_inner {
    width: 100%;
  }
  .advanced_inner img {
    width: 100%;
  }
  .advanced_inner dl dt {
    margin-top: 20px;
  }
  .button_link_a {
    margin-top: 50px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .base-table__area--advanced {
    margin-top: 15px;
  }
}

.base-table__name {
  font-size: 18px;
}

.base-table__name .small {
  font-size: 12px;
}

.base-table--advanced {
  width: 924px;
}
@media screen and (max-width: 768px) {
  .base-table--advanced {
    margin-top: 10px;
    width: 780px;
  }
}

.base-table--advanced td {
  height: 60px;
}

.base-table--advanced th:nth-of-type(1) {
  width: 204px;
}
@media screen and (max-width: 768px) {
  .base-table--advanced th:nth-of-type(1) {
    width: 160px;
  }
}

.base-table--advanced th:nth-of-type(2) {
  width: 362px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-table--advanced th:nth-of-type(2) {
    width: 310px;
  }
}

.base-table--advanced th:nth-of-type(3) {
  width: 360px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .base-table--advanced th:nth-of-type(3) {
    width: 310px;
  }
}

.base-table--advanced td:nth-of-type(2) {
  text-align: center;
}

.base-table--advanced td:nth-of-type(3) {
  text-align: center;
}

.base-table--advanced td.left:nth-of-type(2) {
  text-align: left;
}

.base-table--advanced td.left:nth-of-type(3) {
  text-align: left;
}

.block02__button--advanced {
  margin-left: 0;
}

@media screen and (max-width: 480px) {
  .base-table--advanced-small {
    width: 560px;
  }
}

@media screen and (max-width: 480px) {
  .base-table--advanced-small th:nth-of-type(2),
  .base-table--advanced-small th:nth-of-type(3) {
    width: 200px;
  }
}

/*
page > advanced > prp
------------------------------
*/
.kv_prp {
  background-image: url(../img/advanced/prp/head_prp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_prp {
    background-position: 40% 50%;
  }
}

.block03__items--prp {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03__items--prp {
    margin-top: 50px;
  }
}

/*
page > advanced > pfc-fd
------------------------------
*/
.kv_pfc-fd {
  background-image: url(../img/advanced/pfc-fd/head_pfc.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_pfc-fd {
    background-position: 20% 50%;
  }
}

/*
page > facilities > facilities
------------------------------
*/
.kv_facilities {
  background-image: url(../img/facilities/facilities/head_facilities.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_facilities {
    background-position: 55% 50%;
  }
}

.lisk_box_wrap {
  margin-top: 20px;
  background-color: #fff;
  padding: 15px;
  font-size: 12px;
}
.lisk_box_wrap .lisk_box_inner li:first-of-type {
  color: #aa8020;
  font-weight: 700;
  font-size: 12px;
}

/*
page > facilities > duolith
------------------------------
*/
.kv_duolith {
  background-image: url(../img/facilities/duolith/head_duolith.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_duolith {
    background-position: 40% 50%;
  }
}

.base-table__info--duolith {
  margin-top: 30px;
}

/*
page > facilities > accellus
------------------------------
*/
.kv_accellus {
  background-image: url(../img/facilities/accellus/head_accellus.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_accellus {
    background-position: 35% 50%;
  }
}

/*
page > facilities > lipocell
------------------------------
*/
.kv_lipocel {
  background-image: url(../img/facilities/lipocel/head_lipocel.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_lipocel {
    background-position: 0% 50%;
  }
}

/*
page > facilities > ultracell
------------------------------
*/
.kv_ultracel {
  background-image: url(../img/facilities/ultracel/head_ultracel.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_ultracel {
    background-position: 40% 50%;
  }
}

.block03__img--utracel02 {
  margin: 20px auto 0;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .block03__img--utracel02 {
    width: 100%;
  }
}

.ultracel-target {
  margin-top: 30px;
}

.block03__img--ultracel-feature {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.item-2col {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .item-2col {
    width: 100%;
  }
}

.ultracel-table {
  border: 1px solid #c8c8c8;
  width: 924px;
}
@media screen and (max-width: 768px) {
  .ultracel-table {
    width: 100%;
  }
}

.ultracel-table dl:nth-of-type(n + 2) {
  border-left: 1px solid #c8c8c8;
}
@media screen and (max-width: 768px) {
  .ultracel-table dl:nth-of-type(n + 2) {
    border-left: none;
  }
}

.ultracel-table dt {
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  border-bottom: 1px solid #c8c8c8;
  background-color: #404040;
  height: 60px;
  color: #fff;
  text-align: center;
}

.ultracel-table dd {
  display: flex;
  justify-content: center;
  padding-top: 18px;
  height: 170px;
  font-weight: 700;
  line-height: 2.42;
  text-align: center;
}

.base-table--ultracel2 td p {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
}

.block03__img--ultracel-change {
  margin-left: 5px;
  width: 459px;
}
@media screen and (max-width: 768px) {
  .block03__img--ultracel-change {
    margin-left: 0;
    width: 100%;
  }
}

.block03__img--ultracel-change:nth-of-type(2n + 1) {
  margin-left: 0;
}

.block03__img--ultracel-change:nth-of-type(n + 3) {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .block03__img--ultracel-change:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}

/*
page > facilities > linear
------------------------------
*/
.kv_linear {
  background-image: url(../img/facilities/linear/head_linear.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_linear {
    background-position: 20% 50%;
  }
}

.block03__img--linear-mechanism1 {
  display: flex;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .block03__img--linear-mechanism1 {
    flex-direction: column;
  }
}

.block03__img--linear-mechanism1 img:nth-of-type(1) {
  width: 650px;
}
@media screen and (max-width: 768px) {
  .block03__img--linear-mechanism1 img:nth-of-type(1) {
    width: 100%;
    max-width: 650px;
  }
}

.block03__img--linear-mechanism1 img:nth-of-type(2) {
  width: 270px;
}
@media screen and (max-width: 768px) {
  .block03__img--linear-mechanism1 img:nth-of-type(2) {
    margin-top: 30px;
    width: 100%;
    max-width: 650px;
  }
}

.block03__set--mechanism2 {
  margin-top: 30px;
}

.block03__img--linear-mechanism2 {
  margin: 40px auto 0;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .block03__img--linear-mechanism2 {
    width: 100%;
    max-width: 650px;
  }
}

.block03__img--linear-feature {
  margin: 40px auto 0;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .block03__img--linear-feature {
    width: 100%;
    max-width: 650px;
  }
}

/*
page > facilities > dermapen
------------------------------
*/
.kv_dermapen {
  background-image: url(../img/facilities/dermapen/head_dermapen.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_dermapen {
    background-position: 30% 50%;
  }
}

.dermapen-tereatment__item:nth-of-type(2) {
  position: relative;
  margin-top: 90px;
}

.dermapen-tereatment__item:nth-of-type(2)::before,
.dermapen-tereatment__item:nth-of-type(2)::after {
  position: absolute;
  top: -47px;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #00a59a;
  width: 30px;
  height: 3px;
  content: "";
}

.dermapen-tereatment__item:nth-of-type(2)::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.dermapen-tereatment__items {
  margin-top: 40px;
}

/*
page > facilities > tenex
------------------------------
*/
.kv_tenex {
  background-image: url(../img/facilities/tenex/head_tenex.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_tenex {
    background-position: 10% 50%;
  }
}

.tenex-result {
  margin-top: 40px;
}

/*
page > faq > faq
------------------------------
*/
.kv_faq {
  background-image: url(../img/faq/head_faq.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_faq {
    background-position: 30% 50%;
  }
}

.block01-list__items--faq {
  background-color: #fff;
  padding: 36px 36px 40px;
}
@media screen and (max-width: 768px) {
  .block01-list__items--faq {
    padding: 28px 20px 28px 18px;
  }
}

.block01-list__number--faq {
  background-color: #00a59a;
}

.block01-list__header--faq::before,
.block01-list__header--faq::after {
  background-color: #00a59a;
}

.section-service2:nth-of-type(2n) .block01-list__items {
  border: 1px solid #c8c8c8;
}

/*
page > access > access
------------------------------
*/
.kv_access {
  background-image: url(../img/access/head_access.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_access {
    background-position: 20% 50%;
  }
}

.access-map {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .access-map {
    margin-top: 50px;
  }
}

.access-map__img {
  margin: auto;
  width: 650px;
}
@media screen and (max-width: 768px) {
  .access-map__img {
    width: 100%;
    max-width: 650px;
  }
}

.access-route {
  margin-top: 20px;
  background-color: #f7f7f7;
  padding: 32px 30px;
}
@media screen and (max-width: 768px) {
  .access-route {
    padding: 24px 20px;
  }
}

.access-route dt:nth-of-type(n + 2) {
  margin-top: 20px;
}

.block03-sets--access {
  margin-top: 40px;
}

.block03-sets--access .block03-set {
  margin-top: 36px;
}

.block03-sets--access .block03-set__text {
  margin-top: 15px;
}

.block03-set dd .icon-text {
  display: flex;
  align-items: center;
}

.block03-set dd .red-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 4px;
  border-radius: 50%;
  background-color: #e70b18;
  padding-left: 2px;
  width: 15px;
  height: 15px;
  color: #fff;
  font-weight: 700;
  font-size: 10px;
}

/*
page > link > link
------------------------------
*/
.kv_link {
  background-image: url(../img/link/head_link.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_link {
    background-position: 20% 50%;
  }
}

.block03__items--link {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03__items--link {
    margin-top: 50px;
  }
}

.kv_404 {
  background-image: url(../img/clinic/about_kv.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_404 {
    background-position: 20% 50%;
  }
}

@media screen and (max-width: 768px) {
  .block03__items--link .item__text--dot {
    padding-top: 8px;
  }
}

@media screen and (max-width: 768px) {
  .block03__items--link .item__text--dot::before {
    top: 17px;
  }
}

/*
page > policy > site
------------------------------
*/
.kv_site {
  background-image: url(../img/policy/site/head_site.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_site {
    background-position: 50% 50%;
  }
}

.block03__items--site-policy {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03__items--site-policy {
    margin-top: 50px;
  }
}

/*
page > policy > cancel
------------------------------
*/
.kv_cancel {
  background-image: url(../img/policy/cancel/head_cancel.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_cancel {
    background-position: 20% 50%;
  }
}

.block03--cancel-policy {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03--cancel-policy {
    margin-top: 50px;
  }
}

/*
page > recruit > recruit
------------------------------
*/
.kv_recruit {
  background-image: url(../img/recruit/head_recruit.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_recruit {
    background-position: 20% 50%;
  }
}

.block03--recruit {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .block03--recruit {
    margin-top: 50px;
  }
}

.recruit__items {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
  padding-left: 10px;
}
@media screen and (max-width: 768px) {
  .recruit__items {
    flex-direction: column;
  }
}

.recruit__title {
  width: 80px;
  color: #aa8020;
}
@media screen and (max-width: 768px) {
  .recruit__title {
    width: 100%;
  }
}

.recruit__text {
  margin-left: 36px;
  width: 805px;
}
@media screen and (max-width: 768px) {
  .recruit__text {
    margin-left: 0;
    width: 100%;
  }
}

.recruit__title:nth-of-type(n + 2) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .recruit__title:nth-of-type(n + 2) {
    margin-top: 20px;
  }
}

.recruit__text:nth-of-type(n + 2) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .recruit__text:nth-of-type(n + 2) {
    margin-top: 0;
  }
}

table.formTable.formTable_recruit {
  margin-top: 0;
}

/*
page > voice > voice
------------------------------
*/
.kv_voice {
  background-image: url(../img/voice/head_voice.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_voice {
    background-position: 25% 50%;
  }
}

.voice__items {
  margin-top: 90px;
}

.voice__item {
  display: flex;
  background-color: #fff;
  padding: 50px 40px 40px 36px;
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .voice__item {
    flex-direction: column;
    padding: 40px 28px 32px;
    width: 100%;
    max-width: 600px;
  }
}

.voice__item:nth-of-type(n + 2) {
  margin-top: 60px;
}
.voice__imgarea {
  position: relative;
  width: 215px;
}
@media screen and (max-width: 768px) {
  .voice__imgarea {
    margin: 0 auto;
    width: 100%;
  }
}

.voice__img img {
  width: 100%;
}

.voice__icon {
  display: flex;
  position: absolute;
  top: -36px;
  left: -20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #aa8020;
  width: 80px;
  height: 80px;
  color: #fff;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .voice__icon {
    top: -24px;
    left: -16px;
    width: 70px;
    height: 70px;
    font-size: 12px;
  }
}

.voice__icon span {
  display: block;
  margin-top: 5px;
  font-weight: 700;
  font-size: 33px;
}
@media screen and (max-width: 768px) {
  .voice__icon span {
    margin-top: 2px;
    font-size: 28px;
  }
}

.voice__content {
  margin-left: 40px;
  width: 668px;
}
@media screen and (max-width: 768px) {
  .voice__content {
    margin-top: 20px;
    margin-left: 0;
    width: 100%;
  }
}

.voice__content-top {
  border-bottom: 1px solid #c8c8c8;
  padding-bottom: 12px;
}

@media screen and (max-width: 768px) {
  .voice__treatment {
    font-size: 22px;
  }
}

.voice__position {
  margin-top: 2px;
}
@media screen and (max-width: 768px) {
  .voice__position {
    font-size: 18px;
  }
}

.voice__name {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .voice__name {
    font-size: 22px;
  }
}

.voice__symptom {
  margin-top: 8px;
  color: #919191;
}
.voice__content-bottom {
  margin-top: 12px;
}

/*
page > contact > contact
------------------------------
*/
.kv_contact {
  background-image: url(../img/contact/head_contact.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .kv_contact {
    background-position: 50% 50%;
  }
}

.must {
  color: #00a59a;
}

.formTable {
  margin: 90px auto;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .formTable {
    margin: 40px 0;
  }
}

.formTable tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .formTable tr {
    display: block;
  }
}

.formTable tr th {
  padding: 0;
  height: auto;
}
@media screen and (max-width: 768px) {
  .formTable tr th {
    padding-bottom: 5px;
  }
}

.formTable tr th .contact_icon {
  margin-left: 5px;
  color: #00a59a;
}

.formTable tr td {
  display: block;
  border: 1px #c8c8c8 solid;
  background-color: #fff;
  width: calc(75% - 23px);
}
@media screen and (max-width: 768px) {
  .formTable tr td {
    width: 100%;
  }
}

.formTable tr td input {
  padding: 20px;
  width: 100%;
}

.formTable tr td select {
  padding: 20px;
  width: 100%;
}

.select_wrap {
  position: relative;
}

.select_wrap:after {
  position: absolute;
  top: 31px;
  right: 25px;
  transform: translateY(-50%) rotate(-135deg);
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  width: 10px;
  height: 10px;
  pointer-events: none;
  content: "";
  font-size: 20px;
}

.formTable tr td textarea {
  padding: 20px;
  width: 100%;
  resize: none;
}

.submit_box {
  margin-top: -30px;
}

.submit_wrap {
  display: block;
  position: relative;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
  margin: 0 auto;
  margin-top: 20px;
  margin-top: 13px;
  box-shadow: 3px 3px 6px rgb(219, 219, 219);
  background: #00a59a;
  width: 100%;
  max-width: 490px;
  height: 60px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 60px;
  text-align: center;
}

.submit_wrap::before {
  display: inline-block;
  position: absolute;
  top: 25px;
  right: 15px;
  background-image: url(../img/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 42px;
  height: 10px;
  content: "";
}

.submit_wrap:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

.policy_privacy {
  text-align: center;
}

.policy_privacy label {
  vertical-align: middle;
  margin-left: 5px;
}

.policy_privacy a {
  text-decoration: underline;
}

.thanks_wrap p {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .thanks_wrap p {
    margin-bottom: 40px;
  }
}

/*
utility > utility
------------------------------
*/
.text-bold {
  font-weight: 700;
}

.text-gold {
  color: #aa8020;
}

.text-black {
  color: #404040;
}

.bg-gold {
  background-color: #aa8020;
}

.text-green {
  color: #00a59a;
}

.bg-green {
  background-color: #00a59a;
}

.br-md {
  display: none;
}
@media screen and (max-width: 768px) {
  .br-md {
    display: block;
  }
}

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

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

.br-sm {
  display: none;
}
@media screen and (max-width: 480px) {
  .br-sm {
    display: block;
  }
}

.pc-none {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc-none {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}

.mt0 {
  margin-top: 0;
}

.mt8 {
  margin-top: 8px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt24 {
  margin-top: 24px !important;
}

.mt32 {
  margin-top: 32px;
}

.mt60 {
  margin-top: 60px;
}

.pl12 {
  padding-left: 12px;
}

.no-flex {
  display: block;
}

.text-center {
  text-align: center;
}

td.text-center {
  text-align: center;
}

.ls0 {
  letter-spacing: 0;
}

/* YouTube video container */
.video-container {
  max-width: 800px;
  margin: 0 auto 40px;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*# sourceMappingURL=sourcemaps/style.css.map */
