@charset "UTF-8";
/* reset5 © 2011 opensource.736cs.com MIT */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

*, *:before, *:after {
  -moz-box-sizing: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

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

ul, ol {
  list-style: none !important; }

a {
  color: inherit;
  text-decoration: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

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

mark {
  color: inherit; }

span.nowrap {
  display: inline-block; }

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

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

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #3f3f3f;
  opacity: 0;
  transition: opacity ease 1s; }
  .is-loaded body {
    opacity: 1; }

a {
  transition: opacity ease .3s; }
  a:hover {
    opacity: .6; }

#header:before {
  content: "";
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  height: 123px;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  transition: all ease .3s; }
  .is-scrolled #header:before {
    pointer-events: auto;
    opacity: 1; }
  @media screen and (max-width: 768px) {
    #header:before {
      display: none; } }
#header .sitecopy {
  position: fixed;
  z-index: 10000;
  top: 24px;
  left: 50px;
  font-size: 13px;
  line-height: 1;
  color: #fff;
  transition: all ease .3s; }
  @media screen and (max-width: 768px) {
    #header .sitecopy {
      position: absolute;
      font-size: 10px;
      top: 12px;
      left: 15px; } }
  .is-scrolled #header .sitecopy {
    color: #3f3f3f; }
#header > .logo {
  position: fixed;
  z-index: 10000;
  left: 50px;
  top: 46px; }
  @media screen and (max-width: 768px) {
    #header > .logo {
      position: absolute;
      top: 24px;
      left: 15px; } }
  #header > .logo a {
    display: block; }
    #header > .logo a img {
      transition: all ease .3s; }
      .is-scrolled #header > .logo a img {
        opacity: 0; }
        @media screen and (max-width: 768px) {
          .is-scrolled #header > .logo a img {
            opacity: 1; } }
      @media screen and (max-width: 768px) {
        #header > .logo a img {
          width: 190px; } }
    #header > .logo a:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: url("../images/common/footer_logo.svg");
      background-size: 100% 100%;
      opacity: 0;
      transition: all ease .3s; }
      .is-scrolled #header > .logo a:before {
        opacity: 1; }
        @media screen and (max-width: 768px) {
          .is-scrolled #header > .logo a:before {
            opacity: 0; } }
#header nav.global {
  position: fixed;
  z-index: 10000;
  right: 50px;
  top: 31px; }
  @media screen and (max-width: 768px) {
    #header nav.global {
      display: none; } }
  #header nav.global .primary {
    position: absolute;
    right: 0;
    top: 38px;
    display: flex;
    gap: 2em;
    width: max-content; }
    #header nav.global .primary li {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: min(17px, 17 / 1280 * 100vw);
      color: #fff;
      font-weight: bold;
      line-height: 29px;
      transition: all ease .3s; }
      .is-scrolled #header nav.global .primary li {
        color: #3f3f3f; }
  #header nav.global .secondary {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    gap: 2em;
    width: max-content; }
    #header nav.global .secondary li {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 14px;
      color: #fff;
      font-weight: bold;
      line-height: 29px;
      transition: all ease .3s; }
      .is-scrolled #header nav.global .secondary li {
        color: #3f3f3f; }
      #header nav.global .secondary li:last-child a {
        position: relative;
        display: block;
        width: 110px;
        background-color: #ed8844;
        padding-left: 37px;
        border-radius: 9999px;
        color: #fff !important; }
        #header nav.global .secondary li:last-child a:before {
          content: "";
          display: block;
          position: absolute;
          left: 19px;
          top: 50%;
          transform: translateY(-50%);
          -webkit-mask-image: url("../images/common/icon_pin.svg");
          mask-image: url("../images/common/icon_pin.svg");
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          width: 10px;
          height: 13px;
          background-color: #fff; }
#header aside.timetable {
  position: fixed;
  z-index: 10000;
  right: -672px;
  top: calc(50% + 60px);
  transform: translateY(-50%);
  display: flex;
  transition: all ease .3s; }
  @media screen and (max-width: 768px) {
    #header aside.timetable {
      top: 56%;
      right: -315px; } }
  #header aside.timetable.active {
    right: 0; }
  #header aside.timetable > p button {
    font-family: "Zen Maru Gothic", sans-serif;
    width: 72px;
    height: 290px;
    background-color: #ed8844;
    font-size: 20px;
    line-height: 23px;
    color: #fff;
    font-weight: bold;
    writing-mode: vertical-rl;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px 0 0 10px;
    padding-left: 6px;
    border-right: 2px solid #fff; }
    @media screen and (max-width: 768px) {
      #header aside.timetable > p button {
        width: 46px;
        height: 163px;
        font-size: 16px;
        line-height: 18px;
        padding-left: 3px;
        border-right: 1px solid #fff; } }
    #header aside.timetable > p button:before {
      content: "";
      display: inline-block;
      -webkit-mask-image: url("../images/common/icon_time.svg");
      mask-image: url("../images/common/icon_time.svg");
      -webkit-mask-size: 100% 100%;
      mask-size: 100% 100%;
      width: 23px;
      height: 23px;
      background-color: #fff;
      margin-bottom: 16px; }
      @media screen and (max-width: 768px) {
        #header aside.timetable > p button:before {
          width: 18px;
          height: 18px;
          margin-bottom: 9px; } }
  #header aside.timetable > .content {
    padding: 20px 19px 0;
    background-color: #ed8844;
    width: 670px;
    height: 290px; }
    @media screen and (max-width: 768px) {
      #header aside.timetable > .content {
        width: 314px;
        padding: 16px 14px 13px;
        height: 231px;
        border-radius: 0 0 0 10px; } }
    #header aside.timetable > .content hgroup {
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        #header aside.timetable > .content hgroup {
          margin-bottom: 14px; } }
      #header aside.timetable > .content hgroup h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 20px;
        color: #fff;
        font-weight: bold;
        line-height: 1;
        margin-bottom: 11px;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #header aside.timetable > .content hgroup h2 {
            font-size: 14px;
            margin-bottom: 6px; } }
      #header aside.timetable > .content hgroup p {
        font-size: 16px;
        color: #fff;
        line-height: 1;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #header aside.timetable > .content hgroup p {
            font-size: 12px; } }
    #header aside.timetable > .content table {
      border: 1px solid #fff;
      width: 100%; }
      #header aside.timetable > .content table thead th {
        width: calc(74% / 7); }
        @media screen and (max-width: 768px) {
          #header aside.timetable > .content table thead th {
            width: calc(68% / 7); } }
      #header aside.timetable > .content table thead th:first-child {
        width: 26%; }
        @media screen and (max-width: 768px) {
          #header aside.timetable > .content table thead th:first-child {
            width: 32%; } }
      #header aside.timetable > .content table th, #header aside.timetable > .content table td {
        border: 1px solid #fff;
        font-size: 14px;
        line-height: 39px;
        color: #fff;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #header aside.timetable > .content table th, #header aside.timetable > .content table td {
            font-size: 12px;
            line-height: 29px; } }
        #header aside.timetable > .content table th span, #header aside.timetable > .content table td span {
          color: #bed86a; }
    #header aside.timetable > .content > p {
      font-size: 12px;
      line-height: 1.5;
      color: #fff;
      margin-top: 11px;
      letter-spacing: 0; }
      @media screen and (max-width: 768px) {
        #header aside.timetable > .content > p {
          font-size: 11px;
          line-height: 18px;
          margin-top: 10px;
                    font-feature-settings: "palt";
          } }
#header p.menu {
  display: none;
  z-index: 10002; }
  @media screen and (max-width: 768px) {
    #header p.menu {
      display: block;
      position: fixed;
      top: 0;
      right: 0; }
      #header p.menu button {
        position: relative;
        width: 60px;
        height: 60px;
        background-color: #ed8844;
        border-radius: 0 0 0 10px; }
        #header p.menu button .bar:before, #header p.menu button .bar:after,
        #header p.menu button .bar span {
          content: "";
          display: block;
          position: absolute;
          width: 29px;
          height: 2px;
          top: 16px;
          left: 15px;
          background-color: #fff; }
        #header p.menu button .bar span {
          top: 23px; }
        #header p.menu button .bar:after {
          top: 30px;
          width: 23px; }
        #header p.menu button .text {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-weight: bold;
          font-size: 10px;
          color: #fff;
          line-height: 1;
          text-align: left;
          position: absolute;
          top: 38px;
          left: 15px; } }
#header nav.menu {
  display: none; }
  @media screen and (max-width: 768px) {
    #header nav.menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      display: block;
      opacity: 0;
      pointer-events: none;
      z-index: 10001;
      background-color: #f9f8f3;
      padding: 15px;
      overflow: auto;
      transition: all ease .3s; }
      .menu-active #header nav.menu {
        opacity: 1;
        pointer-events: auto; }
      #header nav.menu .wrapper {
        padding: 46px 15px 40px;
        background-color: #fff;
        border-radius: 15px; }
        #header nav.menu .wrapper .logo {
          width: 248px;
          margin: 0 auto;
          margin-bottom: 22px; }
          #header nav.menu .wrapper .logo img {
            width: 100%; }
        #header nav.menu .wrapper ul.contents {
          display: flex;
          flex-wrap: wrap;
          gap: 5px; }
          #header nav.menu .wrapper ul.contents li {
            flex: 0 0 100%; }
            #header nav.menu .wrapper ul.contents li a {
              font-family: "Zen Maru Gothic", sans-serif;
              position: relative;
              display: block;
              background-color: #f7e6d7;
              border-radius: 5px;
              font-size: 15px;
              font-weight: bold;
              line-height: 50px;
              padding-left: 29px; }
              #header nav.menu .wrapper ul.contents li a:before {
                content: "";
                width: 8px;
                height: 8px;
                display: block;
                background-color: #ed8844;
                border-radius: 50%;
                position: absolute;
                left: 12px;
                top: 21px; }
        #header nav.menu .wrapper ul.contact {
          display: block;
          margin-top: 36px; }
          #header nav.menu .wrapper ul.contact li p:nth-child(1) {
            font-family: "Zen Maru Gothic", sans-serif;
            width: 100%;
            max-width: 374px;
            height: 40px;
            font-size: 16px;
            color: #fff;
            font-weight: bold;
            line-height: 40px;
            margin-bottom: 30px;
            background-color: #ed8844;
            border-radius: 9999px;
            text-align: center;
            margin: 0 auto;
            margin-bottom: 20px; }
          #header nav.menu .wrapper ul.contact li p:nth-child(2) {
            font-family: "Poppins", sans-serif;
            font-weight: 500;
            font-weight: bold;
            font-size: 32px;
            color: #3f3f3f;
            line-height: 1;
            text-align: center; }
            #header nav.menu .wrapper ul.contact li p:nth-child(2):before {
              content: "";
              -webkit-mask-image: url("../images/common/icon_phone.svg");
              mask-image: url("../images/common/icon_phone.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 25px;
              height: 25px;
              background-color: #3f3f3f;
              margin-right: 8px;
              vertical-align: -1px;
              display: inline-block; }
          #header nav.menu .wrapper ul.contact li:nth-child(2) {
            margin-top: 35px; }
            #header nav.menu .wrapper ul.contact li:nth-child(2) p:nth-child(1) {
              background-color: #bed86a;
              color: #fff; } }

#footer nav.banner {
  background-color: #fff;
  padding: 30px 0; }
  @media screen and (max-width: 768px) {
    #footer nav.banner {
      padding: 25px 0; } }
  #footer nav.banner .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    max-width: 1060px; }
    @media screen and (max-width: 768px) {
      #footer nav.banner .container {
        width: calc(100% - 50px); } }
    #footer nav.banner .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 20px; }
      @media screen and (max-width: 768px) {
        #footer nav.banner .container ul {
          gap: 10px; } }
      #footer nav.banner .container ul li {
        flex: 1; }
        @media screen and (max-width: 768px) {
          #footer nav.banner .container ul li {
            flex: 0 0 100%; } }
        #footer nav.banner .container ul li a {
          display: block;
          border-radius: 5px;
          overflow: hidden; }
          #footer nav.banner .container ul li a img {
            width: 100%; }
#footer nav.contact {
  background-image: url("../images/common/footer_contact_bg.jpg");
  background-size: cover;
  background-position: 50% 50%;
  padding: 95px 0 129px; }
  @media screen and (max-width: 768px) {
    #footer nav.contact {
      padding: 48px 0 50px; } }
  #footer nav.contact .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      #footer nav.contact .container {
        width: calc(100% - 50px); } }
    #footer nav.contact .container header {
      text-align: center;
      margin-bottom: 54px; }
      #footer nav.contact .container header p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          #footer nav.contact .container header p {
            font-size: 11px;
            margin-bottom: 6px; } }
      #footer nav.contact .container header h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          #footer nav.contact .container header h2 {
            font-size: 25px; } }
      @media screen and (max-width: 768px) {
        #footer nav.contact .container header {
          margin-bottom: 40px; } }
      #footer nav.contact .container header p {
        color: #fff; }
      #footer nav.contact .container header h2 {
        color: #fff; }
    #footer nav.contact .container ul {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 768px) {
        #footer nav.contact .container ul {
          display: block; } }
      #footer nav.contact .container ul li {
        padding: 15px 50px 15px; }
        @media screen and (max-width: 768px) {
          #footer nav.contact .container ul li {
            padding: 0; } }
        #footer nav.contact .container ul li p:nth-child(1) {
          font-family: "Zen Maru Gothic", sans-serif;
          width: 100%;
          max-width: 374px;
          height: 43px;
          font-size: 18px;
          color: #ee9357;
          font-weight: bold;
          line-height: 43px;
          margin-bottom: 30px;
          background-color: #fff;
          border-radius: 9999px;
          text-align: center; }
          @media screen and (max-width: 768px) {
            #footer nav.contact .container ul li p:nth-child(1) {
              font-size: 16px;
              line-height: 40px;
              margin: 0 auto;
              margin-bottom: 20px; } }
        #footer nav.contact .container ul li p:nth-child(2) {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-weight: bold;
          font-size: 40px;
          color: #fff;
          line-height: 1;
          text-align: center; }
          @media screen and (max-width: 768px) {
            #footer nav.contact .container ul li p:nth-child(2) {
              font-size: 32px; } }
          #footer nav.contact .container ul li p:nth-child(2):before {
            content: "";
            -webkit-mask-image: url("../images/common/icon_phone.svg");
            mask-image: url("../images/common/icon_phone.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 34px;
            height: 34px;
            background-color: #fff;
            margin-right: 7px;
            vertical-align: -1px;
            display: inline-block; }
            @media screen and (max-width: 768px) {
              #footer nav.contact .container ul li p:nth-child(2):before {
                width: 25px;
                height: 25px;
                margin-right: 8px; } }
        #footer nav.contact .container ul li:nth-child(1) {
          padding-left: 0; }
        #footer nav.contact .container ul li:nth-child(2) {
          border-left: 2px solid #fff;
          padding-right: 0; }
          @media screen and (max-width: 768px) {
            #footer nav.contact .container ul li:nth-child(2) {
              border: none;
              margin-top: 35px; } }
          #footer nav.contact .container ul li:nth-child(2) p:nth-child(1) {
            background-color: #bed86a;
            color: #fff; }
#footer .primary .container {
  width: calc(100% -  100px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 0 68px; }
  @media screen and (max-width: 768px) {
    #footer .primary .container {
      width: calc(100% - 50px); } }
  @media screen and (max-width: 768px) {
    #footer .primary .container {
      padding: 30px 0 40px; } }
  #footer .primary .container .logo {
    text-align: center;
    margin-bottom: 16px; }
    @media screen and (max-width: 768px) {
      #footer .primary .container .logo img {
        width: 221px;
        margin-bottom: 16px; } }
  #footer .primary .container .address {
    font-size: 15px;
    font-weight: 500;
    color: #3f3f3f;
    line-height: 1.2;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #footer .primary .container .address {
        font-size: 13px; } }
#footer .secondary .container {
  width: calc(100% -  100px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 36px 0 38px;
  border-top: 1px solid #e1ded1;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    #footer .secondary .container {
      width: calc(100% - 50px); } }
  @media screen and (max-width: 768px) {
    #footer .secondary .container {
      display: block;
      padding: 25px 0 46px; } }
  #footer .secondary .container .privacy {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 14px;
    color: #3f3f3f;
    font-weight: bold;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      #footer .secondary .container .privacy {
        font-size: 13px;
        margin-bottom: 38px;
        text-align: center; } }
  #footer .secondary .container .copyright {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 14px;
    color: #3f3f3f;
    font-weight: bold;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      #footer .secondary .container .copyright {
        font-size: 11px;
        text-align: center; } }

main.home header.visual {
  position: relative;
  overflow: hidden; }
  main.home header.visual figure {
    position: relative; }
    main.home header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 220px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.home header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.home header.visual figure img {
      width: 100%; }
  main.home header.visual .txt {
    font-family: "Zen Maru Gothic", sans-serif;
    position: absolute;
    top: calc(150 / 1600 * 100vw);
  left: calc(190 / 1600 * 100vw);
    font-size: calc(41 / 1600 * 100vw);
    color: #fff;
    font-weight: bold;
    line-height: 1.707;
    text-align: left; }
main.home header.visual .txt h1{
    font-size: calc(41 / 1600 * 100vw);
    font-weight: bold;
    margin-bottom: 1vw;
}
main.home header.visual .txt p {
    font-size: calc(15 / 1600 * 100vw);
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.1em;
    padding-left: 1.2vw;
}
    @media screen and (max-width: 768px) {
      main.home header.visual .txt {
        top: calc(91 / 375 * 100vw);
    left: calc(8 / 375 * 100vw);
          right: calc(8 / 375 * 100vw);
}
        main.home header.visual .txt p {
  font-size: calc(10 / 375 * 100vw);
  padding-left: 2.9vw;
            padding-right: 0.9vw;
}
        main.home header.visual .txt p br {
            display: none;
        }
main.home header.visual .txt h1{
    margin-bottom: 3vw;
        font-size: calc(22 / 375 * 100vw);
        line-height: calc(39 / 375 * 100vw); }}
main.home section.medical {
  background-color: #f9f8f3;
  padding: 173px 0 144px; }
  @media screen and (max-width: 768px) {
    main.home section.medical {
      padding: 86px 0 80px; } }
  main.home section.medical .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.home section.medical .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.home section.medical .container {
        width: calc(100% - 20px); } }
    main.home section.medical .container .wrapper {
      position: relative;
      padding: 90px 60px 72px;
      background-color: #fff;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.home section.medical .container .wrapper {
          padding: 54px 15px 40px; } }
      main.home section.medical .container .wrapper hgroup {
        text-align: center;
        margin-top: calc(-90px - 54px);
        margin-bottom: 66px; }
        main.home section.medical .container .wrapper hgroup p {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-size: 16px;
          color: #ed8844;
          line-height: 1;
          margin-bottom: 12px;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.home section.medical .container .wrapper hgroup p {
              font-size: 11px;
              margin-bottom: 6px; } }
        main.home section.medical .container .wrapper hgroup h2 {
          font-family: "Zen Maru Gothic", sans-serif;
          font-size: 35px;
          font-weight: bold;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            main.home section.medical .container .wrapper hgroup h2 {
              font-size: 25px; } }
        @media screen and (max-width: 768px) {
          main.home section.medical .container .wrapper hgroup {
            margin-top: calc(-54px - 36px);
            margin-bottom: 36px; } }
      main.home section.medical .container .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 26px 25px; }
        @media screen and (max-width: 768px) {
          main.home section.medical .container .wrapper ul {
            gap: 20px 0; } }
        main.home section.medical .container .wrapper ul li {
          flex: 0 0 calc((100% - 25px) / 2); }
          @media screen and (max-width: 768px) {
            main.home section.medical .container .wrapper ul li {
              flex: 0 0 100%; } }
          main.home section.medical .container .wrapper ul li a {
            position: relative;
            display: block; }
            main.home section.medical .container .wrapper ul li a figure {
              position: relative;
              border-radius: 10px;
              overflow: hidden; }
              main.home section.medical .container .wrapper ul li a figure img {
                width: 100%;
                transition: all ease .3s; }
              main.home section.medical .container .wrapper ul li a figure:before, main.home section.medical .container .wrapper ul li a figure:after {
                content: "";
                display: block;
                background-image: url("../images/common/decor_corner.svg");
                position: absolute;
                z-index: 1;
                width: 10px;
                height: 10px; }
              main.home section.medical .container .wrapper ul li a figure:before {
                bottom: 55px;
                left: 0; }
                @media screen and (max-width: 768px) {
                  main.home section.medical .container .wrapper ul li a figure:before {
                    bottom: 40px; } }
              main.home section.medical .container .wrapper ul li a figure:after {
                bottom: 0;
                left: 303px; }
                @media screen and (max-width: 768px) {
                  main.home section.medical .container .wrapper ul li a figure:after {
                    left: 220px; } }
            main.home section.medical .container .wrapper ul li a p:nth-child(2) {
              font-family: "Zen Maru Gothic", sans-serif;
              position: relative;
              margin-top: -55px;
              width: 303px;
              height: 55px;
              background-color: #fff;
              border-radius: 0 10px 0 0;
              font-size: 21px;
              color: #3f3f3f;
              font-weight: bold;
              line-height: 1;
              text-align: left;
              padding-top: 22px;
              padding-left: 26px; }
              @media screen and (max-width: 768px) {
                main.home section.medical .container .wrapper ul li a p:nth-child(2) {
                  margin-top: -40px;
                  font-size: 18px;
                  width: 220px;
                  height: 40px;
                  padding-top: 16px;
                  padding-left: 20px; } }
              main.home section.medical .container .wrapper ul li a p:nth-child(2):before {
                content: "";
                top: 26px;
                left: 0;
                border-radius: 50%;
                background-color: #f5a100;
                position: absolute;
                width: 10px;
                height: 10px; }
                @media screen and (max-width: 768px) {
                  main.home section.medical .container .wrapper ul li a p:nth-child(2):before {
                    width: 8px;
                    height: 8px;
                    top: 20px; } }
            main.home section.medical .container .wrapper ul li a:hover figure img {
              transform: scale(1.05); }
main.home section.symptoms {
  background-color: #f3f8e4; }
  main.home section.symptoms .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
    padding: 83px 0 103px; }
    @media screen and (max-width: 768px) {
      main.home section.symptoms .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.home section.symptoms .container {
        padding: 48px 0 50px; } }
    main.home section.symptoms .container hgroup {
      text-align: center;
      margin-top: calc(-83px - 54px);
      margin-bottom: 56px; }
      main.home section.symptoms .container hgroup p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container hgroup p {
            font-size: 11px;
            margin-bottom: 6px; } }
      main.home section.symptoms .container hgroup h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container hgroup h2 {
            font-size: 25px; } }
      @media screen and (max-width: 768px) {
        main.home section.symptoms .container hgroup {
          margin-top: calc(-48px - 36px);
          margin-bottom: 30px; } }
    main.home section.symptoms .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 20px; }
      @media screen and (max-width: 768px) {
        main.home section.symptoms .container ul {
          gap: 5px; } }
      main.home section.symptoms .container ul li {
        flex: 0 0 calc((100% - 20px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container ul li {
            flex: 0 0 calc((100% - 5px * 2) / 3); } }
        main.home section.symptoms .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          gap: 17px;
          height: 135px;
          border: 1px solid #bed86a;
          border-radius: 15px;
          background-color: #fff;
          padding-left: 18px; }
          @media screen and (max-width: 768px) {
            main.home section.symptoms .container ul li a {
              border-radius: 10px; } }
          main.home section.symptoms .container ul li a p:nth-child(1) {
            font-family: "Zen Maru Gothic", sans-serif;
            font-size: 20px;
            font-weight: bold;
            line-height: 1.2;
            text-align: left;
            order: 2; }
            @media screen and (max-width: 768px) {
              main.home section.symptoms .container ul li a p:nth-child(1) {
                font-size: 13px;
                line-height: 19px;
                order: auto;
                min-height: 38px;
                display: flex;
                justify-content: center;
                align-items: center;
                text-align: center; } }
          main.home section.symptoms .container ul li a figure {
            flex: 0 0 110px; }
          main.home section.symptoms .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            right: 25px;
            top: 50%;
            -webkit-mask-image: url("../images/common/icon_arrow.svg");
            mask-image: url("../images/common/icon_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 25px;
            height: 10px;
            background-color: #ed8844;
            transform: translateY(-50%); }
            @media screen and (max-width: 768px) {
              main.home section.symptoms .container ul li a:after {
                display: none; } }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container ul li:not(:last-child) a {
            display: block;
            height: 126px;
            padding: 10px 0 0; } }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container ul li:not(:last-child) a figure {
            max-width: 96px;
            width: calc(100% - 8px);
            padding: 0 4px;
            margin: 0 auto; } }
        @media screen and (max-width: 768px) {
          main.home section.symptoms .container ul li:not(:last-child) a p:nth-child(1) {
            order: auto; } }
        main.home section.symptoms .container ul li:last-child {
          flex: 0 0 100%; }
          @media screen and (max-width: 768px) {
            main.home section.symptoms .container ul li:last-child a {
              height: 84px;
              gap: 0;
              padding: 0 15px;
              justify-content: center; } }
          main.home section.symptoms .container ul li:last-child a p:nth-child(1) {
            padding-left: 10px; }
            @media screen and (max-width: 768px) {
              main.home section.symptoms .container ul li:last-child a p:nth-child(1) {
                order: 1;
                padding-left: 0;
                white-space: nowrap; } }
          @media screen and (max-width: 768px) {
            main.home section.symptoms .container ul li:last-child a figure {
              order: 2;
              flex: 0 0 96px; } }
          main.home section.symptoms .container ul li:last-child a p:nth-child(3) {
              padding-left: 25px;
              font-size: 16px;
              font-weight: 500;
              line-height: 1.2;
              letter-spacing: .06em;
              order: 3; }
            @media screen and (max-width: 768px) {
              main.home section.symptoms .container ul li:last-child a p:nth-child(3) {
                padding-left: 2px;
                font-size: 11px;
                line-height: 18px;
                padding-left: 0; } }
main.home section.gallery {
  position: relative;
  background-color: #f9f8f3;
  overflow: hidden; }
  main.home section.gallery:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    height: 183px;
    background-color: #f3f8e4; }
    @media screen and (max-width: 768px) {
      main.home section.gallery:before {
        height: calc(96 / 375 * 100vw); } }
@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
  main.home section.gallery ul {
    position: relative;
    display: flex;
    width: max-content;
    animation: marquee 20s linear infinite; }
    main.home section.gallery ul li {
      padding: 0 5px;
      width: 370px; }
      @media screen and (max-width: 768px) {
        main.home section.gallery ul li {
          padding: 0 3px;
          width: calc(194 / 375 * 100vw); } }
      main.home section.gallery ul li img {
        width: 100%;
        border-radius: 15px; }
main.home section.news {
  background-color: #f9f8f3;
  padding: 101px 0 102px; }
  @media screen and (max-width: 768px) {
    main.home section.news {
      padding: 50px 0 50px; } }
  main.home section.news .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main.home section.news .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.home section.news .container {
        display: block; } }
    main.home section.news .container hgroup {
      text-align: center;
      display: flex;
      align-items: flex-start;
      flex-direction: row-reverse; }
      main.home section.news .container hgroup p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.home section.news .container hgroup p {
            font-size: 11px;
            margin-bottom: 6px; } }
      main.home section.news .container hgroup h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          main.home section.news .container hgroup h2 {
            font-size: 25px; } }
      @media screen and (max-width: 768px) {
        main.home section.news .container hgroup {
          display: block;
          margin-bottom: 34px; } }
      main.home section.news .container hgroup p {
        writing-mode: vertical-rl;
        margin-left: 12px; }
        @media screen and (max-width: 768px) {
          main.home section.news .container hgroup p {
            writing-mode: horizontal-tb; } }
      main.home section.news .container hgroup h2 {
        writing-mode: vertical-rl; }
        @media screen and (max-width: 768px) {
          main.home section.news .container hgroup h2 {
            writing-mode: horizontal-tb; } }
    main.home section.news .container ul {
      flex: 1;
      max-width: 1007px; }
      main.home section.news .container ul li {
        padding: 24px 0 19px;
        display: flex;
        align-items: center; }




        @media screen and (max-width: 768px) {
          main.home section.news .container ul li {
            display: block;
            padding: 20px; } }
        main.home section.news .container ul li:nth-child(2n + 1) {
          background-color: #fff;
          border-radius: 10px; }
        main.home section.news .container ul li .date {
          padding-left: 56px;
          flex: 0 0 188px; }
          @media screen and (max-width: 768px) {
            main.home section.news .container ul li .date {
              display: flex;
              align-items: center;
              padding-left: 0;
              margin-bottom: 7px; }
              main.home section.news .container ul li .date:after {
                content: "";
                display: block;
                flex: 1;
                height: 1px;
                background-color: #e1ded1; } }
          main.home section.news .container ul li .date span {
            display: block; }
          main.home section.news .container ul li .date span:nth-child(1) {
            font-family: "Poppins", sans-serif;
            font-weight: 500;
            font-size: 17px;
            color: #ed8844;
            line-height: 1; }
            @media screen and (max-width: 768px) {
              main.home section.news .container ul li .date span:nth-child(1) {
                font-size: 13px;
                padding-right: 5px;
                align-self: flex-end; } }
          main.home section.news .container ul li .date span:nth-child(2) {
            font-family: "Poppins", sans-serif;
            font-weight: 500;
            font-size: 37px;
            color: #ed8844;
            line-height: 1; }
            @media screen and (max-width: 768px) {
              main.home section.news .container ul li .date span:nth-child(2) {
                font-size: 17px;
                padding-right: 18px; } }
        main.home section.news .container ul li .body {
          flex: 1;
          padding-left: 32px;
			padding-right: 30px;
          min-height: 67px;
          border-left: 1px solid #e1ded1; }
          @media screen and (max-width: 768px) {
            main.home section.news .container ul li .body {
              padding-left: 0;
				padding-right: 0;
              min-height: 0;
              border-left: none; } }
          main.home section.news .container ul li .body .title {
            font-family: "Zen Maru Gothic", sans-serif;
            font-size: 17px;
            color: #ed8844;
            font-weight: bold;
            line-height: 25px;
            margin-bottom: 8px; }
            @media screen and (max-width: 768px) {
              main.home section.news .container ul li .body .title {
                font-size: 16px;
                line-height: 25px;
                margin-bottom: 6px; } }
          main.home section.news .container ul li .body .content {
            font-size: 16px;
            line-height: 37px;
            text-align: left;
            letter-spacing: .06em;
            font-size: 15px;
            line-height: 25px; }
            @media screen and (max-width: 768px) {
              main.home section.news .container ul li .body .content {
                font-size: 14px;
                line-height: 30px; } }
            @media screen and (max-width: 768px) {
              main.home section.news .container ul li .body .content {
                font-size: 14px;
                line-height: 25px; } }
            main.home section.news .container ul li .body .content a {
              color: #ed8844;
              text-decoration: underline; }
main.home section.access {
  position: relative;
  background-color: #f9f8f3;
    padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
main.home section.access {
    padding-bottom: 50px;
}
}

  main.home section.access:before {
    content: "";
    display: block;
    background-color: #f7e6d7;
    border-radius: 15px 0 0 15px;
    position: absolute;
    top: 0;
    left: clamp(10px, calc(3.606vw - 17.69px), 40px);
    right: 0;
    bottom: 80px; }
@media screen and (max-width: 768px) {
main.home section.access:before {
    bottom: 50px;
}
}
  main.home section.access .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 75px 0 78px;
    gap: 60px; }
    @media screen and (max-width: 768px) {
      main.home section.access .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.home section.access .container {
        flex-direction: column;
        padding: 44px 0 52px;
        gap: 0; } }
    main.home section.access .container .content {
      flex: 1; }
      @media screen and (max-width: 768px) {
        main.home section.access .container .content {
          display: contents; } }
      main.home section.access .container .content hgroup {
        text-align: center;
        text-align: left;
        margin-bottom: 40px; }
        main.home section.access .container .content hgroup p {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-size: 16px;
          color: #ed8844;
          line-height: 1;
          margin-bottom: 12px;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content hgroup p {
              font-size: 11px;
              margin-bottom: 6px; }}
        main.home section.access .container .content hgroup h2 {
          font-family: "Zen Maru Gothic", sans-serif;
          font-size: 35px;
          font-weight: bold;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content hgroup h2 {
              font-size: 25px; } }
        @media screen and (max-width: 768px) {
          main.home section.access .container .content hgroup {
            margin-bottom: 32px;
            order: 1;
            text-align: center; } }
      @media screen and (max-width: 768px) {
        main.home section.access .container .content .body {
          order: 3; } }
      main.home section.access .container .content .body .address {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        line-height: 20px;
        margin-bottom: 14px; }
        @media screen and (max-width: 768px) {
          main.home section.access .container .content .body .address {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.home section.access .container .content .body .address {
            line-height: 20px;
            margin-bottom: 16px; } }
      main.home section.access .container .content .body dl {
        display: flex;
        gap: 12px; }
        main.home section.access .container .content .body dl dt {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          width: 77px;
          line-height: 30px;
          text-align: center;
          border-radius: 9999px;
          background-color: #fff; }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content .body dl dt {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content .body dl dt {
              line-height: 30px; } }
        main.home section.access .container .content .body dl dd {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          line-height: 30px; }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content .body dl dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content .body dl dd {
              line-height: 30px; } }
      main.home section.access .container .content .body .action {
        margin-top: 68px; }
        @media screen and (max-width: 768px) {
          main.home section.access .container .content .body .action {
            display: flex;
            justify-content: center;
            margin-top: 40px; } }
        main.home section.access .container .content .body .action a {
          font-family: "Zen Maru Gothic", sans-serif;
          position: relative;
          display: flex;
          align-items: center;
          background-color: #b9d266;
          border-radius: 9999px;
          width: 100%;
          max-width: 300px;
          height: 70px;
          padding-left: 37px;
          font-size: 16px;
          font-weight: 900;
          color: #fff;
          line-height: 1.2; }
          @media screen and (max-width: 768px) {
            main.home section.access .container .content .body .action a {
              font-size: 15px;
              height: 60px;
              max-width: 290px; } }
          main.home section.access .container .content .body .action a:after {
            content: "";
            display: block;
            position: absolute;
            right: 25px;
            top: 50%;
            -webkit-mask-image: url("../images/common/icon_arrow.svg");
            mask-image: url("../images/common/icon_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 25px;
            height: 10px;
            background-color: #fff;
            transform: translateY(-50%); }
    main.home section.access .container figure {
      position: relative;
      flex: 0 1 calc(710 / 1180 * 100%);
      height: 400px;
      border-radius: 15px;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        main.home section.access .container figure {
          flex: 1;
          width: 100%;
          height: auto;
          aspect-ratio: 325 / 226;
          margin-bottom: 36px;
          order: 2;
          border-radius: 10px; } }
      main.home section.access .container figure iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;}
main.home nav.link {
  background-color: #f9f8f3;
  padding: 92px 0 96px; }
  @media screen and (max-width: 768px) {
    main.home nav.link {
      padding: 46px 0 52px; } }
  main.home nav.link .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.home nav.link .container {
        width: calc(100% - 50px); } }
    main.home nav.link .container ul {
      display: flex;
      gap: 0 32px; }
      @media screen and (max-width: 768px) {
        main.home nav.link .container ul {
          flex-wrap: wrap;
          gap: 25px; } }
      main.home nav.link .container ul li {
        flex: 1; }
        @media screen and (max-width: 768px) {
          main.home nav.link .container ul li {
            flex: 0 0 100%; } }
        main.home nav.link .container ul li a {
          position: relative;
          display: block; }
          main.home nav.link .container ul li a:before, main.home nav.link .container ul li a:after {
            content: "";
            display: block;
            background-image: url("../images/common/decor_corner.svg");
            position: absolute;
            z-index: 1;
            width: 10px;
            height: 10px; }
          main.home nav.link .container ul li a:before {
            bottom: 41px;
            left: 0; }
            @media screen and (max-width: 768px) {
              main.home nav.link .container ul li a:before {
                bottom: 41px; } }
          main.home nav.link .container ul li a:after {
            bottom: 0;
            left: 257px; }
            @media screen and (max-width: 768px) {
              main.home nav.link .container ul li a:after {
                left: 220px; } }
          main.home nav.link .container ul li a figure {
            border-radius: 15px;
            overflow: hidden; }
            main.home nav.link .container ul li a figure img {
              transition: all ease .3s; }
          main.home nav.link .container ul li a p {
            font-family: "Zen Maru Gothic", sans-serif;
            position: absolute;
            bottom: -0.2px;
            left: 0;
            background-color: #f9f8f3;
            border-radius: 0 15px 0 0;
            height: 41px;
            width: 257px;
            padding-top: 20px;
            padding-left: 24px;
            font-size: 20px;
            font-weight: bold;
            line-height: 1; }
            @media screen and (max-width: 768px) {
              main.home nav.link .container ul li a p {
                padding-left: 18px;
                width: 220px;
                padding-top: 17px;
                font-size: 18px; } }
            main.home nav.link .container ul li a p:before {
              content: "";
              display: block;
              width: 10px;
              height: 10px;
              position: absolute;
              top: 26px;
              left: 0;
              border-radius: 50%;
              background-color: #ed8844; }
              @media screen and (max-width: 768px) {
                main.home nav.link .container ul li a p:before {
                  width: 8px;
                  height: 8px;
                  top: 22px; } }
          main.home nav.link .container ul li a:hover figure img {
            transform: scale(1.05); }

main.greeting header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.greeting header.visual {
      height: 207px; } }
  main.greeting header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.greeting header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.greeting header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.greeting header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.greeting header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
    main.greeting header.visual hgroup {
        top: 98px; } }
    main.greeting header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.greeting header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.greeting header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.greeting header.visual hgroup h1 {
          font-size: 27px; } }
main.greeting nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.greeting nav.breadcrumb {
      padding: 20px 0; } }
  main.greeting nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.greeting nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.greeting nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.greeting nav.breadcrumb .container ol {
          gap: 22px; } }
      main.greeting nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.greeting nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.greeting nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.greeting nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.greeting nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.greeting nav.breadcrumb .container ol li:first-child:before {
          display: none; }

main.medical header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.medical header.visual {
      height: 207px; } }
  main.medical header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.medical header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.medical header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.medical header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.medical header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.medical header.visual hgroup {
        top: 98px; } }
    main.medical header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.medical header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.medical header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical header.visual hgroup h1 {
          font-size: 27px; } }
main.medical nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.medical nav.breadcrumb {
      padding: 20px 0; } }
  main.medical nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.medical nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.medical nav.breadcrumb .container ol {
          gap: 22px; } }
      main.medical nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.medical nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.medical nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.medical nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.medical nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.medical nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.medical section.intro {
  background-color: #f9f8f3;
  padding: 20px 0 0; }
  @media screen and (max-width: 768px) {
    main.medical section.intro {
      padding: 10px 0 0; } }
  main.medical section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical section.intro .container {
        width: calc(100% - 50px); } }
    main.medical section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
      @media screen and (max-width: 768px) {
        main.medical section.intro .container p {
          text-align: left; } }
main.medical section.menu {
  background-color: #f9f8f3;
  padding: 72px 0 120px; }
  @media screen and (max-width: 768px) {
    main.medical section.menu {
      padding: 36px 0 60px; } }
  main.medical section.menu .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical section.menu .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.medical section.menu .container {
        width: calc(100% - 20px); } }
    main.medical section.menu .container .wrapper {
      padding: 72px 60px 72px;
      background-color: #fff;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.medical section.menu .container .wrapper {
          padding: 30px 15px; } }
      main.medical section.menu .container .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 26px 25px;
        gap: 50px 25px; }
        @media screen and (max-width: 768px) {
          main.medical section.menu .container .wrapper ul {
            gap: 20px 0; } }
        main.medical section.menu .container .wrapper ul li {
          flex: 0 0 calc((100% - 25px) / 2); }
          @media screen and (max-width: 768px) {
            main.medical section.menu .container .wrapper ul li {
              flex: 0 0 100%; } }
          main.medical section.menu .container .wrapper ul li a {
            position: relative;
            display: block; }
            main.medical section.menu .container .wrapper ul li a figure {
              position: relative;
              border-radius: 10px;
              overflow: hidden; }
              main.medical section.menu .container .wrapper ul li a figure img {
                width: 100%;
                transition: all ease .3s; }
              main.medical section.menu .container .wrapper ul li a figure:before, main.medical section.menu .container .wrapper ul li a figure:after {
                content: "";
                display: block;
                background-image: url("../images/common/decor_corner.svg");
                position: absolute;
                z-index: 1;
                width: 10px;
                height: 10px; }
              main.medical section.menu .container .wrapper ul li a figure:before {
                bottom: 55px;
                left: 0; }
                @media screen and (max-width: 768px) {
                  main.medical section.menu .container .wrapper ul li a figure:before {
                    bottom: 40px; } }
              main.medical section.menu .container .wrapper ul li a figure:after {
                bottom: 0;
                left: 303px; }
                @media screen and (max-width: 768px) {
                  main.medical section.menu .container .wrapper ul li a figure:after {
                    left: 220px; } }
            main.medical section.menu .container .wrapper ul li a p:nth-child(2) {
              font-family: "Zen Maru Gothic", sans-serif;
              position: relative;
              margin-top: -55px;
              width: 303px;
              height: 55px;
              background-color: #fff;
              border-radius: 0 10px 0 0;
              font-size: 21px;
              color: #3f3f3f;
              font-weight: bold;
              line-height: 1;
              text-align: left;
              padding-top: 22px;
              padding-left: 26px; }
              @media screen and (max-width: 768px) {
                main.medical section.menu .container .wrapper ul li a p:nth-child(2) {
                  margin-top: -40px;
                  font-size: 18px;
                  width: 220px;
                  height: 40px;
                  padding-top: 16px;
                  padding-left: 20px; } }
              main.medical section.menu .container .wrapper ul li a p:nth-child(2):before {
                content: "";
                top: 26px;
                left: 0;
                border-radius: 50%;
                background-color: #f5a100;
                position: absolute;
                width: 10px;
                height: 10px; }
                @media screen and (max-width: 768px) {
                  main.medical section.menu .container .wrapper ul li a p:nth-child(2):before {
                    width: 8px;
                    height: 8px;
                    top: 20px; } }
            main.medical section.menu .container .wrapper ul li a:hover figure img {
              transform: scale(1.05); }
        @media screen and (max-width: 768px) {
          main.medical section.menu .container .wrapper ul {
            gap: 40px; } }
        main.medical section.menu .container .wrapper ul li a p:nth-child(3) {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          margin-top: 20px;
          line-height: 2; }
          @media screen and (max-width: 768px) {
            main.medical section.menu .container .wrapper ul li a p:nth-child(3) {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.medical section.menu .container .wrapper ul li a p:nth-child(3) {
              margin-top: 10px;
              line-height: 2; } }

main.medical-general header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.medical-general header.visual {
      height: 207px; } }
  main.medical-general header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.medical-general header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.medical-general header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.medical-general header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.medical-general header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.medical-general header.visual hgroup {
        top: 98px; } }
    main.medical-general header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.medical-general header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.medical-general header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-general header.visual hgroup h1 {
          font-size: 27px; } }
main.medical-general nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.medical-general nav.breadcrumb {
      padding: 20px 0; } }
  main.medical-general nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-general nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.medical-general nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.medical-general nav.breadcrumb .container ol {
          gap: 22px; } }
      main.medical-general nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.medical-general nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.medical-general nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.medical-general nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.medical-general nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.medical-general nav.breadcrumb .container ol li:first-child:before {
          display: none; }

main.medical-sports header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.medical-sports header.visual {
      height: 207px; } }
  main.medical-sports header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.medical-sports header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.medical-sports header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.medical-sports header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.medical-sports header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.medical-sports header.visual hgroup {
        top: 98px; } }
    main.medical-sports header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.medical-sports header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.medical-sports header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-sports header.visual hgroup h1 {
          font-size: 27px; } }
main.medical-sports nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.medical-sports nav.breadcrumb {
      padding: 20px 0; } }
  main.medical-sports nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-sports nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.medical-sports nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.medical-sports nav.breadcrumb .container ol {
          gap: 22px; } }
      main.medical-sports nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.medical-sports nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.medical-sports nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.medical-sports nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.medical-sports nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.medical-sports nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.medical-sports section.intro {
  background-color: #f9f8f3;
  padding: 40px 0 132px; }
  @media screen and (max-width: 768px) {
    main.medical-sports section.intro {
      padding: 10px 0 75px; } }
  main.medical-sports section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-sports section.intro .container {
        width: calc(100% - 50px); } }
    main.medical-sports section.intro .container .media {
      display: flex;
      align-items: center;
      gap: 82px; }
      @media screen and (max-width: 768px) {
        main.medical-sports section.intro .container .media {
          display: block; } }
      main.medical-sports section.intro .container .media figure {
        flex: 0 0 calc(503 / 1180 * 100%);
        align-self: flex-start; }
        @media screen and (max-width: 768px) {
          main.medical-sports section.intro .container .media figure {
            margin-bottom: 30px; } }
        main.medical-sports section.intro .container .media figure img {
          border-radius: 15px; }
      main.medical-sports section.intro .container .media .content {
        flex: 1; }
        main.medical-sports section.intro .container .media .content h2 {
          font-family: "Zen Maru Gothic", sans-serif;
          font-size: 35px;
          color: #ed8844;
          font-weight: bold;
          line-height: 49px;
          text-align: center;
          letter-spacing: .06em;
          font-size: 29px;
          text-align: left;
          margin-bottom: 32px; }
          @media screen and (max-width: 768px) {
            main.medical-sports section.intro .container .media .content h2 {
              font-size: 20px;
              line-height: 31px; } }
          @media screen and (max-width: 768px) {
            main.medical-sports section.intro .container .media .content h2 {
              margin-bottom: 20px; } }
        main.medical-sports section.intro .container .media .content p {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em; }
          @media screen and (max-width: 768px) {
            main.medical-sports section.intro .container .media .content p {
              font-size: 14px;
              line-height: 30px; } }
main.medical-sports .sports {
  background-color: #f9f8f3; }
  main.medical-sports .sports > section {
    padding: 120px 0 120px;
    margin-top: -120px; }
    @media screen and (max-width: 768px) {
      main.medical-sports .sports > section {
        padding: 83px 0;
        margin-top: -83px; } }
    main.medical-sports .sports > section .container {
      width: calc(100% -  100px);
      max-width: 1180px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.medical-sports .sports > section .container {
          width: calc(100% - 50px); } }
      main.medical-sports .sports > section .container .wrapper {
        position: relative;
        background-color: #fff;
        padding: 71px 50px 67px;
        border-radius: 15px; }
        @media screen and (max-width: 768px) {
          main.medical-sports .sports > section .container .wrapper {
            padding: 38px 25px 30px; } }
        main.medical-sports .sports > section .container .wrapper > header {
          position: relative;
          margin-top: -127px;
          margin-bottom: 54px;
text-align: center;}
          @media screen and (max-width: 768px) {
            main.medical-sports .sports > section .container .wrapper > header {
              margin-top: -83px;
              width: 100%;
              margin-bottom: 28px; } }
          main.medical-sports .sports > section .container .wrapper > header p {
            font-family: "Poppins", sans-serif;
            font-weight: 500;
            font-size: 21px;
            color: #ed8844;
            line-height: 1;
            padding-bottom: 1px;
            letter-spacing: .1em;
            border-bottom: 2px solid #ed8844;
            width: fit-content;
            margin: 0 auto;
            margin-bottom: 15px; }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper > header p {
                font-size: 18px;
                padding-bottom: 1px;
                margin-bottom: 12px; } }
          main.medical-sports .sports > section .container .wrapper > header h2 {
            font-family: "Zen Maru Gothic", sans-serif;
            font-size: 35px;
            font-weight: bold;
            line-height: 1;
            letter-spacing: .15em; }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper > header h2 {
                font-size: 25px; } }
        main.medical-sports .sports > section .container .wrapper .media {
          display: flex;
          align-items: center;
          gap: 50px; }
          @media screen and (max-width: 768px) {
            main.medical-sports .sports > section .container .wrapper .media {
              flex-direction: column;
              gap: 20px; } }
          main.medical-sports .sports > section .container .wrapper .media figure {
            flex: 0 0 320px;
            max-width: 50%;
            align-self: flex-start; }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper .media figure {
                flex: 0 0 auto;
                max-width: none; } }
            main.medical-sports .sports > section .container .wrapper .media figure img {
              border-radius: 15px; }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper .media figure img {
                  border-radius: 10px; } }
          main.medical-sports .sports > section .container .wrapper .media .content {
            font-size: 16px;
            line-height: 37px;
            text-align: left;
            letter-spacing: .06em;
            flex: 1; }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper .media .content {
                font-size: 14px;
                line-height: 30px; } }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper .media .content {
                line-height: 2; } }
        main.medical-sports .sports > section .container .wrapper > section {
          margin-top: 64px; }
          @media screen and (max-width: 768px) {
            main.medical-sports .sports > section .container .wrapper > section {
              margin-top: 20px; } }
          main.medical-sports .sports > section .container .wrapper > section h3 {
            font-family: "Zen Maru Gothic", sans-serif;
            position: relative;
            display: flex;
            align-items: center;
            background-color: #b9d266;
            font-size: 20px;
            color: #fff;
            font-weight: bold;
            line-height: 1;
            height: 78px;
            padding-left: 36px;
            border-radius: 10px;
transition: opacity ease .3s;
cursor: pointer;}
main.medical-sports .sports > section .container .wrapper > section h3:hover {
    opacity: 0.8;
}
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper > section h3 {
                display: flex;
                min-height: 67px;
                font-size: 16px;
                line-height: 21px;
                padding: 12px 48px 12px 15px; } }
            main.medical-sports .sports > section .container .wrapper > section h3 .toggle {
              position: absolute;
              width: 30px;
              height: 30px;
              display: block;
              background-color: #fff;
              border-radius: 50%;
              position: absolute;
              right: 12px;
              top: 50%;
              transform: translateY(-50%); }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section h3 .toggle {
                  width: 20px;
                  height: 20px;
                  right: 14px; } }
              main.medical-sports .sports > section .container .wrapper > section h3 .toggle:before, main.medical-sports .sports > section .container .wrapper > section h3 .toggle:after {
                content: "";
                display: block;
                width: 17px;
                height: 3px;
                position: absolute;
                top: calc(50% - 1.5px);
                left: 6.5px;
                background-color: #b9d266; }
                @media screen and (max-width: 768px) {
                  main.medical-sports .sports > section .container .wrapper > section h3 .toggle:before, main.medical-sports .sports > section .container .wrapper > section h3 .toggle:after {
                    width: 12px;
                    height: 2px;
                    top: calc(50% - 1px);
                    left: 4px; } }
              main.medical-sports .sports > section .container .wrapper > section h3 .toggle:after {
                transform: rotate(90deg); }
main.medical-sports .sports > section .container .wrapper > section h3.active .toggle:after {
                transform: rotate(0deg); }
            main.medical-sports .sports > section .container .wrapper > section h3.active {
              border-radius: 10px 10px 0 0; }
          main.medical-sports .sports > section .container .wrapper > section .body {
            background-color: #f3f8e4;
            padding: 0 60px;
            border-radius: 0 0 10px 10px;
            display: none; }
            @media screen and (max-width: 768px) {
              main.medical-sports .sports > section .container .wrapper > section .body {
                padding: 0 15px; } }
            main.medical-sports .sports > section .container .wrapper > section .body:before {
              content: "";
              height: 40px;
              display: block; }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section .body:before {
                  height: 20px; } }
            main.medical-sports .sports > section .container .wrapper > section .body:after {
              content: "";
              height: 54px;
              display: block; }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section .body:after {
                  height: 32px; } }
            main.medical-sports .sports > section .container .wrapper > section .body > p {
              font-size: 16px;
              line-height: 37px;
              text-align: left;
              letter-spacing: .06em; }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section .body > p {
                  font-size: 14px;
                  line-height: 30px; } }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section .body > p {
                  line-height: 25px; } }
              main.medical-sports .sports > section .container .wrapper > section .body > p:first-child {
                margin-bottom: 40px; }
                @media screen and (max-width: 768px) {
                  main.medical-sports .sports > section .container .wrapper > section .body > p:first-child {
                    margin-bottom: 20px; } }
              main.medical-sports .sports > section .container .wrapper > section .body > p:last-child {
                margin-top: 44px; }
                @media screen and (max-width: 768px) {
                  main.medical-sports .sports > section .container .wrapper > section .body > p:last-child {
                    margin-top: 22px; } }
            main.medical-sports .sports > section .container .wrapper > section .body > section {
              margin-top: 30px;
              padding: 30px 50px 44px;
              background-color: #fff;
              border-radius: 15px; }
              @media screen and (max-width: 768px) {
                main.medical-sports .sports > section .container .wrapper > section .body > section {
                  padding: 15px;
                  margin-top: 15px;
                  border-radius: 10px; } }
              main.medical-sports .sports > section .container .wrapper > section .body > section h4 {
                font-family: "Zen Maru Gothic", sans-serif;
                position: relative;
                font-size: 20px;
                font-weight: bold;
                line-height: 1.5;
                padding-left: 22px;
                margin-bottom: 17px; }
                @media screen and (max-width: 768px) {
                  main.medical-sports .sports > section .container .wrapper > section .body > section h4 {
                    font-size: 16px;
                    padding-left: 16px; } }
                main.medical-sports .sports > section .container .wrapper > section .body > section h4:before {
                  content: "";
                  display: block;
                  width: 10px;
                  height: 10px;
                  border-radius: 50%;
                  background-color: #ed8844;
                  position: absolute;
                  top: 11px;
                  left: 0; }
                  @media screen and (max-width: 768px) {
                    main.medical-sports .sports > section .container .wrapper > section .body > section h4:before {
                      width: 8px;
                      height: 8px;
                      top: 8px; } }
              main.medical-sports .sports > section .container .wrapper > section .body > section dl {
                display: flex;
                flex-wrap: wrap;
                gap: 5px 30px; }
                @media screen and (max-width: 768px) {
                  main.medical-sports .sports > section .container .wrapper > section .body > section dl {
                    display: block; } }
                main.medical-sports .sports > section .container .wrapper > section .body > section dl dt {
                  font-family: "Zen Maru Gothic", sans-serif;
                  flex: 0 0 210px;
                  font-size: 16px;
                  font-weight: bold;
                  line-height: 25px;
                  padding: 12px 22px;
                  background-color: #f9f8f3;
                  border-radius: 5px;
                  display: flex;
                  align-items: center; }
                  @media screen and (max-width: 768px) {
                    main.medical-sports .sports > section .container .wrapper > section .body > section dl dt {
                      padding: 10px 12px;
                      font-size: 14px;
                      line-height: 20px; } }
                main.medical-sports .sports > section .container .wrapper > section .body > section dl dd {
                  font-size: 16px;
                  line-height: 37px;
                  text-align: left;
                  letter-spacing: .06em;
                  flex: 0 0 calc(100% - 210px - 30px);
                  line-height: 29px;
                  padding: 10px 0;
                  align-self: center; }
                  @media screen and (max-width: 768px) {
                    main.medical-sports .sports > section .container .wrapper > section .body > section dl dd {
                      font-size: 14px;
                      line-height: 30px; } }
                  @media screen and (max-width: 768px) {
                    main.medical-sports .sports > section .container .wrapper > section .body > section dl dd {
                      line-height: 25px;
                      padding: 10px 0 14px; } }

main.medical-rehabilitation header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation header.visual {
      height: 207px; } }
  main.medical-rehabilitation header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.medical-rehabilitation header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.medical-rehabilitation header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.medical-rehabilitation header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation header.visual hgroup {
        top: 98px; } }
    main.medical-rehabilitation header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.medical-rehabilitation header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation header.visual hgroup h1 {
          font-size: 27px; } }
main.medical-rehabilitation nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation nav.breadcrumb {
      padding: 20px 0; } }
  main.medical-rehabilitation nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.medical-rehabilitation nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation nav.breadcrumb .container ol {
          gap: 22px; } }
      main.medical-rehabilitation nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.medical-rehabilitation nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.medical-rehabilitation nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.medical-rehabilitation nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.medical-rehabilitation section.intro {
  background-color: #f9f8f3;
  padding: 25px 0 110px; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation section.intro {
      padding: 10px 0 60px; } }
  main.medical-rehabilitation section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.intro .container {
        width: calc(100% - 50px); } }
    main.medical-rehabilitation section.intro .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 35px;
      color: #ed8844;
      font-weight: bold;
      line-height: 49px;
      text-align: center;
      letter-spacing: .06em;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.intro .container h2 {
          font-size: 20px;
          line-height: 31px; } }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.intro .container h2 {
          text-align: left;
          margin-bottom: 28px; } }
    main.medical-rehabilitation section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.intro .container p {
          text-align: left; } }
main.medical-rehabilitation section.reservations {
  background-color: #f9f8f3;
  padding: 0 0 180px; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation section.reservations {
      padding: 0 0 90px; } }
  main.medical-rehabilitation section.reservations .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.reservations .container {
        width: calc(100% - 50px); } }
    main.medical-rehabilitation section.reservations .container .wrapper {
      position: relative;
      background-color: #f7e6d7;
      padding: 60px 60px 62px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.reservations .container .wrapper {
          padding: 30px; } }
      main.medical-rehabilitation section.reservations .container .wrapper h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        color: #ed8844;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        margin-top: -78px;
        margin-bottom: 42px;
        word-break: keep-all;
        overflow-wrap: break-word; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.reservations .container .wrapper h2 {
            font-size: 22px;
            line-height: 1.4;
            margin-top: -44px;
            margin-bottom: 15px; } }
      main.medical-rehabilitation section.reservations .container .wrapper ul > li {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        position: relative;
        line-height: 29px;
        padding: 3px 0 3px 22px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.reservations .container .wrapper ul > li {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.reservations .container .wrapper ul > li {
            line-height: 24px;
            padding: 2px 0 2px 16px; } }
        main.medical-rehabilitation section.reservations .container .wrapper ul > li:before {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background-color: #ed8844;
          position: absolute;
          left: 0;
          top: 13px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.reservations .container .wrapper ul > li:before {
              width: 8px;
              height: 8px;
              top: 10px; } }
      main.medical-rehabilitation section.reservations .container .wrapper dl {
        margin-top: 43px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        padding: 48px;
        border-radius: 15px;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.reservations .container .wrapper dl {
            display: block;
            margin: 0 -10px;
            margin-top: 20px;
            padding: 25px; } }
        main.medical-rehabilitation section.reservations .container .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          background-color: #bed86a;
          flex: 0 0 270px;
          height: 44px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 18px;
          color: #fff;
          font-weight: bold;
          line-height: 1;
          border-radius: 9999px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.reservations .container .wrapper dl dt {
              font-size: 16px;
              height: 40px;
              margin-bottom: 20px; } }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.reservations .container .wrapper dl dd {
            text-align: center; } }
        main.medical-rehabilitation section.reservations .container .wrapper dl dd a {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-weight: bold;
          position: relative;
          display: block;
          font-size: 40px;
          line-height: 1;
          padding-left: 40px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.reservations .container .wrapper dl dd a {
              display: inline-block;
              font-size: 25px;
              padding-left: 33px; } }
          main.medical-rehabilitation section.reservations .container .wrapper dl dd a:before {
            content: "";
            -webkit-mask-image: url("../images/common/icon_phone.svg");
            mask-image: url("../images/common/icon_phone.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 31px;
            height: 31px;
            background-color: #ed8844;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%); }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.reservations .container .wrapper dl dd a:before {
                width: 25px;
                height: 25px; } }
main.medical-rehabilitation section.exercise {
  position: relative;
  background-color: #f9f8f3; }
  main.medical-rehabilitation section.exercise:before {
    content: "";
    display: block;
    background-color: #f3f8e4;
    border-radius: 15px 0 0 15px;
    position: absolute;
    top: 0;
    left: clamp(10px, calc(3.606vw - 17.69px), 40px);
    right: 0;
    bottom: 0; }
  main.medical-rehabilitation section.exercise .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
    padding: 70px 0 113px;
    max-width: 840px; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.exercise .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.exercise .container {
        padding: 50px 0 60px; } }
    main.medical-rehabilitation section.exercise .container hgroup {
      text-align: center;
      margin-bottom: 50px; }
      main.medical-rehabilitation section.exercise .container hgroup p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.exercise .container hgroup p {
            font-size: 11px;
            margin-bottom: 6px; } }
      main.medical-rehabilitation section.exercise .container hgroup h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.exercise .container hgroup h2 {
            font-size: 25px; } }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.exercise .container hgroup {
          margin-bottom: 25px; } }
    main.medical-rehabilitation section.exercise .container > p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.exercise .container > p {
          font-size: 14px;
          line-height: 30px; } }
    main.medical-rehabilitation section.exercise .container figure {
      margin-top: 64px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.exercise .container figure {
          margin-top: 32px; } }
      main.medical-rehabilitation section.exercise .container figure ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.exercise .container figure ul {
            gap: 10px; } }
        main.medical-rehabilitation section.exercise .container figure ul li {
          flex: 0 0 calc((100% - 40px) / 2); }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.exercise .container figure ul li {
              flex: 0 0 calc((100% - 10px) / 2); } }
          main.medical-rehabilitation section.exercise .container figure ul li img {
            border-radius: 15px; }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.exercise .container figure ul li img {
                border-radius: 5px; } }
main.medical-rehabilitation section.physical {
  background-color: #f9f8f3;
  padding: 110px 0 177px; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation section.physical {
      padding: 60px 0 80px; } }
  main.medical-rehabilitation section.physical .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    max-width: 840px; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.physical .container {
        width: calc(100% - 50px); } }
    main.medical-rehabilitation section.physical .container hgroup {
      text-align: center;
      margin-bottom: 50px; }
      main.medical-rehabilitation section.physical .container hgroup p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.physical .container hgroup p {
            font-size: 11px;
            margin-bottom: 6px; } }
      main.medical-rehabilitation section.physical .container hgroup h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.physical .container hgroup h2 {
            font-size: 25px; } }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.physical .container hgroup {
          margin-bottom: 25px; } }
    main.medical-rehabilitation section.physical .container > p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.physical .container > p {
          font-size: 14px;
          line-height: 30px; } }
    main.medical-rehabilitation section.physical .container figure {
      margin-top: 64px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.physical .container figure {
          margin-top: 32px; } }
      main.medical-rehabilitation section.physical .container figure ul {
        display: flex;
        flex-wrap: wrap;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.physical .container figure ul {
            gap: 10px; } }
        main.medical-rehabilitation section.physical .container figure ul li {
          flex: 0 0 calc((100% - 40px) / 2); }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.physical .container figure ul li {
              flex: 0 0 calc((100% - 10px) / 2); } }
          main.medical-rehabilitation section.physical .container figure ul li img {
            border-radius: 15px; }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.physical .container figure ul li img {
                border-radius: 5px; } }
    main.medical-rehabilitation section.physical .container .table {
      margin-top: 80px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.physical .container .table {
          margin-top: 40px; } }
      main.medical-rehabilitation section.physical .container .table .head {
        display: flex;
        background-color: #f7e6d7;
        border: 1px solid #e1ded1; }
        main.medical-rehabilitation section.physical .container .table .head div {
          font-family: "Zen Maru Gothic", sans-serif;
          flex: 0 0 50%;
          padding: 18px;
          font-size: 16px;
          font-weight: bold;
          line-height: 29px;
          text-align: center; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.physical .container .table .head div {
              padding: 9px;
              font-size: 14px;
              line-height: 24px; } }
          main.medical-rehabilitation section.physical .container .table .head div:nth-child(1) {
            border-right: 1px solid #e1ded1; }
      main.medical-rehabilitation section.physical .container .table dl.body {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid #e1ded1;
        margin-top: -1px; }
        main.medical-rehabilitation section.physical .container .table dl.body dt {
          font-family: "Zen Maru Gothic", sans-serif;
          position: relative;
          background-color: #ffffff;
          flex: 0 0 50%;
          border-right: 1px solid #e1ded1;
          border-top: 1px solid #e1ded1;
          margin-top: -1px;
          font-size: 16px;
          font-weight: bold;
          line-height: 29px;
          padding: 18px 40px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.physical .container .table dl.body dt {
              padding: 10px 20px 10px 24px;
              font-size: 14px;
              line-height: 25px; } }
          main.medical-rehabilitation section.physical .container .table dl.body dt:before {
            content: "";
            display: block;
            width: 8px;
            height: 8px;
            position: absolute;
            left: 22px;
            top: 29px;
            border-radius: 50%;
            background-color: #ed8844; }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.physical .container .table dl.body dt:before {
                width: 6px;
                height: 6px;
                top: 20px;
                left: 10px; } }
        main.medical-rehabilitation section.physical .container .table dl.body dd {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          line-height: 29px;
          background-color: #f9f8f3;
          flex: 0 0 50%;
          border-top: 1px solid #e1ded1;
          margin-top: -1px;
          padding: 18px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.physical .container .table dl.body dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.physical .container .table dl.body dd {
              padding: 9px;
              line-height: 25px; } }
          main.medical-rehabilitation section.physical .container .table dl.body dd a {
            color: #ed8844;
            text-decoration: underline; }
main.medical-rehabilitation section.shockmaster {
  position: relative;
  background-color: #f9f8f3;
  padding: 108px 0 120px; }
  @media screen and (max-width: 768px) {
    main.medical-rehabilitation section.shockmaster {
      padding: 50px 0 60px; } }
  main.medical-rehabilitation section.shockmaster a#shockmaster {
    position: absolute;
    top: -123px; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.shockmaster a#shockmaster {
        top: 0; } }
  main.medical-rehabilitation section.shockmaster .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-rehabilitation section.shockmaster .container {
        width: calc(100% - 50px); } }
    main.medical-rehabilitation section.shockmaster .container .wrapper {
      position: relative;
      background-color: #fff;
      padding: 80px 60px 60px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.medical-rehabilitation section.shockmaster .container .wrapper {
          padding: 40px 25px 30px; } }
      main.medical-rehabilitation section.shockmaster .container .wrapper hgroup {
        text-align: center;
        margin-top: calc(-46px - 80px);
        margin-bottom: 50px; }
        main.medical-rehabilitation section.shockmaster .container .wrapper hgroup p {
          font-family: "Poppins", sans-serif;
          font-weight: 500;
          font-size: 16px;
          color: #ed8844;
          line-height: 1;
          margin-bottom: 12px;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper hgroup p {
              font-size: 11px;
              margin-bottom: 6px; } }
        main.medical-rehabilitation section.shockmaster .container .wrapper hgroup h2 {
          font-family: "Zen Maru Gothic", sans-serif;
          font-size: 35px;
          font-weight: bold;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper hgroup h2 {
              font-size: 25px; } }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.shockmaster .container .wrapper hgroup {
            margin-top: calc(-36px - 40px);
            margin-bottom: 25px; } }
      main.medical-rehabilitation section.shockmaster .container .wrapper > p {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        padding: 0 60px;
        letter-spacing: .06em; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.shockmaster .container .wrapper > p {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.shockmaster .container .wrapper > p {
            padding: 0; } }
      main.medical-rehabilitation section.shockmaster .container .wrapper .cols {
        margin-top: 80px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.shockmaster .container .wrapper .cols {
            display: block;
            margin-top: 40px; } }
        main.medical-rehabilitation section.shockmaster .container .wrapper .cols section {
          flex: 0 0 calc((100% - 40px) / 2);
          border: 1px solid #e1ded1;
          padding: 32px 40px 30px;
          border-radius: 15px; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper .cols section {
              margin: 20px 0;
              padding: 15px 20px; } }
          main.medical-rehabilitation section.shockmaster .container .wrapper .cols section h3 {
            font-family: "Zen Maru Gothic", sans-serif;
            position: relative;
            font-size: 24px;
            font-weight: bold;
            text-align: left;
            line-height: 34px;
            padding-left: 22px;
            margin-bottom: 30px; }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.shockmaster .container .wrapper .cols section h3 {
                font-size: 17px;
                line-height: 30px;
                padding-left: 16px;
                margin-bottom: 15px; } }
            main.medical-rehabilitation section.shockmaster .container .wrapper .cols section h3:before {
              content: "";
              display: block;
              width: 10px;
              height: 10px;
              border-radius: 50%;
              background-color: #ed8844;
              position: absolute;
              top: 11px;
              left: 0; }
              @media screen and (max-width: 768px) {
                main.medical-rehabilitation section.shockmaster .container .wrapper .cols section h3:before {
                  width: 8px;
                  height: 8px;
                  top: 12px; } }
          main.medical-rehabilitation section.shockmaster .container .wrapper .cols section figure {
            margin-bottom: 30px;
display: flex;
gap:40px;}
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.shockmaster .container .wrapper .cols section figure {
                margin-bottom: 15px;
                display: block;} }
            main.medical-rehabilitation section.shockmaster .container .wrapper .cols section figure img {
              border-radius: 15px;
flex-shrink: 0;
width: calc((100% - 40px) /2);}
              @media screen and (max-width: 768px) {
                main.medical-rehabilitation section.shockmaster .container .wrapper .cols section figure img {
                  border-radius: 10px;
                  width: 100%;}
main.medical-rehabilitation section.shockmaster .container .wrapper .cols section figure img:not(:last-child) {
    margin-bottom: 20px;
                  }}
          main.medical-rehabilitation section.shockmaster .container .wrapper .cols section p {
            font-size: 16px;
            line-height: 37px;
            text-align: left;
            letter-spacing: .06em; }
            @media screen and (max-width: 768px) {
              main.medical-rehabilitation section.shockmaster .container .wrapper .cols section p {
                font-size: 14px;
                line-height: 30px; } }
      main.medical-rehabilitation section.shockmaster .container .wrapper dl {
        display: flex;
        flex-wrap: wrap;
        gap: 5px 30px;
        margin-top: 80px; }
        @media screen and (max-width: 768px) {
          main.medical-rehabilitation section.shockmaster .container .wrapper dl {
            display: block;
            margin-top: 40px; } }
        main.medical-rehabilitation section.shockmaster .container .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          flex: 0 0 207px;
          font-size: 16px;
          font-weight: bold;
          line-height: 25px;
          padding: 12px 22px;
          background-color: #f9f8f3;
          border-radius: 5px;
          display: flex;
          justify-content: center;
          align-items: center;
          align-self: center; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper dl dt {
              font-size: 14px; } }
        main.medical-rehabilitation section.shockmaster .container .wrapper dl dd {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          line-height: 29px;
          flex: 0 0 calc(100% - 210px - 30px);
          padding: 10px 0;
          align-self: center; }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper dl dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.medical-rehabilitation section.shockmaster .container .wrapper dl dd {
              line-height: 25px; } }

main.medical-examination header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.medical-examination header.visual {
      height: 207px; } }
  main.medical-examination header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.medical-examination header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.medical-examination header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.medical-examination header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.medical-examination header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.medical-examination header.visual hgroup {
        top: 98px; } }
    main.medical-examination header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.medical-examination header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.medical-examination header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-examination header.visual hgroup h1 {
          font-size: 27px; } }
main.medical-examination nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.medical-examination nav.breadcrumb {
      padding: 20px 0; } }
  main.medical-examination nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-examination nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.medical-examination nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.medical-examination nav.breadcrumb .container ol {
          gap: 22px; } }
      main.medical-examination nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.medical-examination nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.medical-examination nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.medical-examination nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.medical-examination nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.medical-examination nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.medical-examination section.intro {
  background-color: #f9f8f3;
  padding: 25px 0 100px; }
  @media screen and (max-width: 768px) {
    main.medical-examination section.intro {
      padding: 10px 0 50px; } }
  main.medical-examination section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-examination section.intro .container {
        width: calc(100% - 50px); } }
    main.medical-examination section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.medical-examination section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
      @media screen and (max-width: 768px) {
        main.medical-examination section.intro .container p {
          text-align: left; } }
main.medical-examination section.equipments {
  background-color: #f9f8f3;
  padding: 0 0 110px; }
  @media screen and (max-width: 768px) {
    main.medical-examination section.equipments {
      padding: 0 0 60px; } }
  main.medical-examination section.equipments .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      main.medical-examination section.equipments .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.medical-examination section.equipments .container {
        gap: 20px; } }
    main.medical-examination section.equipments .container section {
      background-color: #fff;
      border-radius: 15px;
      padding: 50px 60px 50px; }
      @media screen and (max-width: 768px) {
        main.medical-examination section.equipments .container section {
          padding: 25px; } }
      main.medical-examination section.equipments .container section h3 {
        font-family: "Zen Maru Gothic", sans-serif;
        position: relative;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.5;
        text-align: left;
        padding-left: 22px;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          main.medical-examination section.equipments .container section h3 {
            font-size: 18px;
            padding-left: 16px; } }
        main.medical-examination section.equipments .container section h3:before {
          content: "";
          width: 10px;
          height: 10px;
          background-color: #ed8844;
          border-radius: 50%;
          display: block;
          position: absolute;
          left: 0;
          top: 14px; }
          @media screen and (max-width: 768px) {
            main.medical-examination section.equipments .container section h3:before {
              top: 10px;
              width: 8px;
              height: 8px; } }
        @media screen and (max-width: 768px) {
          main.medical-examination section.equipments .container section h3 {
            margin-bottom: 10px; } }
      main.medical-examination section.equipments .container section .media {
        display: flex;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          main.medical-examination section.equipments .container section .media {
            flex-direction: column;
            gap: 20px; } }
        main.medical-examination section.equipments .container section .media .content {
          flex: 1; }
          main.medical-examination section.equipments .container section .media .content p {
            font-size: 16px;
            line-height: 37px;
            text-align: left;
            letter-spacing: .06em; }
            @media screen and (max-width: 768px) {
              main.medical-examination section.equipments .container section .media .content p {
                font-size: 14px;
                line-height: 30px; } }
            main.medical-examination section.equipments .container section .media .content p a {
              text-decoration: underline;
              color: #ed8844; }
        main.medical-examination section.equipments .container section .media figure {
          flex: 0 0 280px; }
          main.medical-examination section.equipments .container section .media figure img {
            border-radius: 15px; }
main.medical-examination section.checkup {
  background-color: #f9f8f3;
  padding: 0 0 120px; }
  @media screen and (max-width: 768px) {
    main.medical-examination section.checkup {
      padding: 0 0 60px; } }
  main.medical-examination section.checkup .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.medical-examination section.checkup .container {
        width: calc(100% - 50px); } }
    main.medical-examination section.checkup .container .wrapper {
      position: relative;
      background-color: #f7e6d7;
      padding: 60px 60px 62px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.medical-examination section.checkup .container .wrapper {
          padding: 25px; } }
      main.medical-examination section.checkup .container .wrapper h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        color: #ed8844;
        font-weight: bold;
        line-height: 49px;
        text-align: center;
        letter-spacing: .06em; }
        @media screen and (max-width: 768px) {
          main.medical-examination section.checkup .container .wrapper h2 {
            font-size: 20px;
            line-height: 31px; } }
      main.medical-examination section.checkup .container .wrapper > p {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        text-align: center;
        margin: 20px 0; }
        @media screen and (max-width: 768px) {
          main.medical-examination section.checkup .container .wrapper > p {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.medical-examination section.checkup .container .wrapper > p {
            margin: 10px 0; } }
      main.medical-examination section.checkup .container .wrapper dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        padding: 48px;
        border-radius: 15px;
        gap: 10px 40px;
        margin-top: 30px; }
        @media screen and (max-width: 768px) {
          main.medical-examination section.checkup .container .wrapper dl {
            display: block;
            margin-top: 15px;
            padding: 24px; } }
        main.medical-examination section.checkup .container .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          background-color: #bed86a;
          flex: 0 0 270px;
          height: 44px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 18px;
          color: #fff;
          font-weight: bold;
          line-height: 1;
          border-radius: 9999px; }
          @media screen and (max-width: 768px) {
            main.medical-examination section.checkup .container .wrapper dl dt {
              flex: 0 0 100%;
              font-size: 16px;
              height: 32px;
              margin-bottom: 10px;
              margin-top: 20px; }
              main.medical-examination section.checkup .container .wrapper dl dt:first-child {
                margin-top: 0; } }
        main.medical-examination section.checkup .container .wrapper dl dd {
          flex: 0 0 calc(100% - 270px - 40px);
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em; }
          @media screen and (max-width: 768px) {
            main.medical-examination section.checkup .container .wrapper dl dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.medical-examination section.checkup .container .wrapper dl dd {
              flex: 0 0 100%; } }
          main.medical-examination section.checkup .container .wrapper dl dd span {
            font-family: "Zen Maru Gothic", sans-serif;
            display: inline-block;
            background-color: #ed8844;
            font-size: 16px;
            font-weight: bold;
            color: #fff;
            padding: 0 16px;
            border-radius: 9999px; }
            @media screen and (max-width: 768px) {
              main.medical-examination section.checkup .container .wrapper dl dd span {
                font-sie: 14px;
                padding: 0 12px; } }

main.symptoms header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.symptoms header.visual {
      height: 207px; } }
  main.symptoms header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.symptoms header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.symptoms header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.symptoms header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.symptoms header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.symptoms header.visual hgroup {
        top: 98px; } }
    main.symptoms header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.symptoms header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.symptoms header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.symptoms header.visual hgroup h1 {
          font-size: 27px; } }
main.symptoms nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.symptoms nav.breadcrumb {
      padding: 20px 0; } }
  main.symptoms nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.symptoms nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.symptoms nav.breadcrumb .container ol {
          gap: 22px; } }
      main.symptoms nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.symptoms nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.symptoms nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.symptoms nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.symptoms nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.symptoms nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.symptoms section.intro {
  background-color: #f9f8f3;
  padding: 80px 0 0; }
  @media screen and (max-width: 768px) {
    main.symptoms section.intro {
      padding: 10px 0 0; } }
  main.symptoms section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms section.intro .container {
        width: calc(100% - 50px); } }
    main.symptoms section.intro .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 35px;
      color: #ed8844;
      font-weight: bold;
      line-height: 49px;
      text-align: center;
      letter-spacing: .06em;
      font-size: 29px;
      word-break: keep-all;
      overflow-wrap: break-word;
      margin-bottom: 32px; }
      @media screen and (max-width: 768px) {
        main.symptoms section.intro .container h2 {
          font-size: 20px;
          line-height: 31px; } }
      @media screen and (max-width: 768px) {
        main.symptoms section.intro .container h2 {
          margin-bottom: 16px; } }
    main.symptoms section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.symptoms section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
      @media screen and (max-width: 768px) {
        main.symptoms section.intro .container p {
          text-align: left; } }
main.symptoms section.menu {
  background-color: #f9f8f3;
  padding: 72px 0 120px; }
  @media screen and (max-width: 768px) {
    main.symptoms section.menu {
      padding: 36px 0 60px; } }
  main.symptoms section.menu .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms section.menu .container {
        width: calc(100% - 50px); } }
    main.symptoms section.menu .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 20px; }
      @media screen and (max-width: 768px) {
        main.symptoms section.menu .container ul {
          gap: 5px; } }
      main.symptoms section.menu .container ul li {
        flex: 0 0 calc((100% - 20px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.symptoms section.menu .container ul li {
            flex: 0 0 calc((100% - 5px * 2) / 3); } }
        main.symptoms section.menu .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          gap: 17px;
          height: 135px;
          border: 1px solid #bed86a;
          border-radius: 15px;
          background-color: #fff;
          padding-left: 18px; }
          @media screen and (max-width: 768px) {
            main.symptoms section.menu .container ul li a {
              border-radius: 10px; } }
          main.symptoms section.menu .container ul li a p:nth-child(1) {
            font-family: "Zen Maru Gothic", sans-serif;
            font-size: 20px;
            font-weight: bold;
            line-height: 1.2;
            text-align: left;
            order: 2; }
            @media screen and (max-width: 768px) {
              main.symptoms section.menu .container ul li a p:nth-child(1) {
                font-size: 13px;
                line-height: 19px;
                order: auto;
                min-height: 38px;
                display: flex;
                justify-content: center;
                align-items: center;
                text-align: center; } }
          main.symptoms section.menu .container ul li a figure {
            flex: 0 0 110px; }
          main.symptoms section.menu .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            right: 25px;
            top: 50%;
            -webkit-mask-image: url("../images/common/icon_arrow.svg");
            mask-image: url("../images/common/icon_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 25px;
            height: 10px;
            background-color: #ed8844;
            transform: translateY(-50%); }
            @media screen and (max-width: 768px) {
              main.symptoms section.menu .container ul li a:after {
                display: none; } }
        @media screen and (max-width: 768px) {
          main.symptoms section.menu .container ul li:not(:last-child) a {
            display: block;
            height: 126px;
            padding: 10px 0 0; } }
        @media screen and (max-width: 768px) {
          main.symptoms section.menu .container ul li:not(:last-child) a figure {
            max-width: 96px;
            width: calc(100% - 8px);
            padding: 0 4px;
            margin: 0 auto; } }
        @media screen and (max-width: 768px) {
          main.symptoms section.menu .container ul li:not(:last-child) a p:nth-child(1) {
            order: auto; } }
        main.symptoms section.menu .container ul li:last-child {
          flex: 0 0 100%; }
          @media screen and (max-width: 768px) {
            main.symptoms section.menu .container ul li:last-child a {
              height: 84px;
              gap: 0;
              padding: 0 15px;
              justify-content: center; } }
          main.symptoms section.menu .container ul li:last-child a p:nth-child(1) {
            padding-left: 10px; }
            @media screen and (max-width: 768px) {
              main.symptoms section.menu .container ul li:last-child a p:nth-child(1) {
                order: 1;
                padding-left: 0;
                white-space: nowrap; } }
          @media screen and (max-width: 768px) {
            main.symptoms section.menu .container ul li:last-child a figure {
              order: 2;
              flex: 0 0 96px; } }
          main.symptoms section.menu .container ul li:last-child a p:nth-child(3) {
            padding-left: 25px;
            font-size: 16px;
            font-weight: 500;
            line-height: 1.2;
            letter-spacing: .06em;
            order: 3; }
            @media screen and (max-width: 768px) {
              main.symptoms section.menu .container ul li:last-child a p:nth-child(3) {
                padding-left: 2px;
                font-size: 11px;
                line-height: 18px;
                padding-left: 0; } }

main.symptoms-detail header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.symptoms-detail header.visual {
      height: 207px; } }
  main.symptoms-detail header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.symptoms-detail header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.symptoms-detail header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.symptoms-detail header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.symptoms-detail header.visual hgroup {
        top: 98px; } }
    main.symptoms-detail header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.symptoms-detail header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail header.visual hgroup h1 {
          font-size: 27px; } }
main.symptoms-detail nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.symptoms-detail nav.breadcrumb {
      padding: 20px 0; } }
  main.symptoms-detail nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms-detail nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.symptoms-detail nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail nav.breadcrumb .container ol {
          gap: 22px; } }
      main.symptoms-detail nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.symptoms-detail nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.symptoms-detail nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.symptoms-detail nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.symptoms-detail nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.symptoms-detail nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.symptoms-detail section.intro {
  background-color: #f9f8f3;
  padding: 30px 0 56px; }
  @media screen and (max-width: 768px) {
    main.symptoms-detail section.intro {
      padding: 20px 0 30px; } }
  main.symptoms-detail section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    max-width: 940px; }
    @media screen and (max-width: 768px) {
      main.symptoms-detail section.intro .container {
        width: calc(100% - 50px); } }
    main.symptoms-detail section.intro .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 35px;
      color: #ed8844;
      font-weight: bold;
      line-height: 49px;
      text-align: center;
      letter-spacing: .06em;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.intro .container h2 {
          font-size: 20px;
          line-height: 31px; } }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.intro .container h2 {
          margin-bottom: 25px; } }
    main.symptoms-detail section.intro .container figure {
      width: 160px;
      height: 160px;
      background-color: #fff;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 auto;
      margin-bottom: 60px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.intro .container figure {
          width: 120px;
          height: 120px;
          margin-bottom: 30px; } }
      main.symptoms-detail section.intro .container figure img {
        width: calc(110 / 160 * 100%); }
    main.symptoms-detail section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
main.symptoms-detail nav.jump {
  background-color: #f9f8f3; }
  main.symptoms-detail nav.jump .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    border-top: 1px solid #e1ded1;
    border-bottom: 1px solid #e1ded1;
    display: flex;
    padding: 20px 0; }
    @media screen and (max-width: 768px) {
      main.symptoms-detail nav.jump .container {
        width: calc(100% - 50px); } }
    @media screen and (max-width: 768px) {
      main.symptoms-detail nav.jump .container {
        padding: 10px 0; } }
    main.symptoms-detail nav.jump .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      position: relative;
      font-size: 16px;
      color: #ed8844;
      font-weight: bold;
      text-align: center;
      flex: 0 0 148px;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail nav.jump .container h2 {
          font-size: 14px;
          flex: 0 0 18vw; } }
      main.symptoms-detail nav.jump .container h2:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: -4px;
        bottom: -4px;
        background-color: #e1ded1;
        width: 1px; }
        @media screen and (max-width: 768px) {
          main.symptoms-detail nav.jump .container h2:after {
            top: -2px;
            bottom: -2px; } }
    main.symptoms-detail nav.jump .container ul {
      flex: 1;
      display: flex;
      flex-wrap: wrap;
      padding-left: 28px;
      gap: 10px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail nav.jump .container ul {
          padding-left: 14px;
          gap: 5px; } }
      main.symptoms-detail nav.jump .container ul li a {
        position: relative;
        display: block;
        font-size: 14px;
        line-height: 32px;
        text-align: left;
        padding: 0 11px 0 26px;
        border: 1px solid #e1ded1;
        background-color: #fff;
        border-radius: 9999px; }
        @media screen and (max-width: 768px) {
          main.symptoms-detail nav.jump .container ul li a {
            font-size: 12px;
            padding: 0 11px 0 20px; } }
        main.symptoms-detail nav.jump .container ul li a:before {
          content: "";
          width: 8px;
          height: 8px;
          background-color: #ed8844;
          border-radius: 50%;
          position: absolute;
          left: 12px;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (max-width: 768px) {
            main.symptoms-detail nav.jump .container ul li a:before {
              width: 6px;
              height: 6px;
              left: 10px; } }
main.symptoms-detail section.symptoms {
  background-color: #f9f8f3;
  padding-top: 74px;
  padding-bottom: 120px; }
  @media screen and (max-width: 768px) {
    main.symptoms-detail section.symptoms {
      padding-top: 30px;
      padding-bottom: 60px; } }
  main.symptoms-detail section.symptoms .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms-detail section.symptoms .container {
        width: calc(100% - 50px); } }
    main.symptoms-detail section.symptoms .container section + section {
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.symptoms .container section + section {
          margin-top: 20px; } }
    main.symptoms-detail section.symptoms .container section .wrapper {
      background-color: #fff;
      border-radius: 15px;
      padding: 38px 60px 53px; }
      @media screen and (max-width: 768px) {
        main.symptoms-detail section.symptoms .container section .wrapper {
          padding: 20px 25px; } }
      main.symptoms-detail section.symptoms .container section .wrapper h3 {
        font-family: "Zen Maru Gothic", sans-serif;
        position: relative;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.5;
        text-align: left;
        padding-left: 22px;
        margin-bottom: 23px; }
        @media screen and (max-width: 768px) {
          main.symptoms-detail section.symptoms .container section .wrapper h3 {
            font-size: 18px;
            padding-left: 16px; } }
        main.symptoms-detail section.symptoms .container section .wrapper h3:before {
          content: "";
          width: 10px;
          height: 10px;
          background-color: #ed8844;
          border-radius: 50%;
          display: block;
          position: absolute;
          left: 0;
          top: 14px; }
          @media screen and (max-width: 768px) {
            main.symptoms-detail section.symptoms .container section .wrapper h3:before {
              top: 10px;
              width: 8px;
              height: 8px; } }
        @media screen and (max-width: 768px) {
          main.symptoms-detail section.symptoms .container section .wrapper h3 {
            margin-bottom: 12px; } }
      main.symptoms-detail section.symptoms .container section .wrapper dl {
        display: flex;
        flex-wrap: wrap;
        gap: 5px 30px; }
        @media screen and (max-width: 768px) {
          main.symptoms-detail section.symptoms .container section .wrapper dl {
            gap: 5px 15px; } }
        main.symptoms-detail section.symptoms .container section .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          flex: 0 0 207px;
          font-size: 16px;
          font-weight: bold;
          line-height: 25px;
          padding: 12px 22px;
          background-color: #f9f8f3;
          border-radius: 5px;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 768px) {
            main.symptoms-detail section.symptoms .container section .wrapper dl dt {
              font-size: 14px;
              line-height: 25px;
              flex: 0 0 20vw; } }
        main.symptoms-detail section.symptoms .container section .wrapper dl dd {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          flex: 0 0 calc(100% - 210px - 30px);
          font-size: 16px;
          line-height: 29px;
          padding: 10px 0;
          align-self: center; }
          @media screen and (max-width: 768px) {
            main.symptoms-detail section.symptoms .container section .wrapper dl dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.symptoms-detail section.symptoms .container section .wrapper dl dd {
              font-size: 14px;
              line-height: 25px;
              flex: 0 0 calc(100% - 20vw - 15px); } }

main.symptoms-traffic-accident header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.symptoms-traffic-accident header.visual {
      height: 207px; } }
  main.symptoms-traffic-accident header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.symptoms-traffic-accident header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.symptoms-traffic-accident header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.symptoms-traffic-accident header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.symptoms-traffic-accident header.visual hgroup {
        top: 98px; } }
    main.symptoms-traffic-accident header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.symptoms-traffic-accident header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident header.visual hgroup h1 {
          font-size: 27px; } }
main.symptoms-traffic-accident nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.symptoms-traffic-accident nav.breadcrumb {
      padding: 20px 0; } }
  main.symptoms-traffic-accident nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms-traffic-accident nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.symptoms-traffic-accident nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident nav.breadcrumb .container ol {
          gap: 22px; } }
      main.symptoms-traffic-accident nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.symptoms-traffic-accident nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.symptoms-traffic-accident nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.symptoms-traffic-accident nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.symptoms-traffic-accident nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.symptoms-traffic-accident section.intro {
  background-color: #f9f8f3;
  padding: 30px 0 56px; }
  @media screen and (max-width: 768px) {
    main.symptoms-traffic-accident section.intro {
      padding: 20px 0 30px; } }
  main.symptoms-traffic-accident section.intro .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto;
    max-width: 940px; }
    @media screen and (max-width: 768px) {
      main.symptoms-traffic-accident section.intro .container {
        width: calc(100% - 50px); } }
    main.symptoms-traffic-accident section.intro .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 35px;
      color: #ed8844;
      font-weight: bold;
      line-height: 49px;
      text-align: center;
      letter-spacing: .06em;
      margin-bottom: 32px; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident section.intro .container h2 {
          font-size: 20px;
          line-height: 31px; } }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident section.intro .container h2 {
          margin-bottom: 18px; } }
    main.symptoms-traffic-accident section.intro .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident section.intro .container p {
          font-size: 14px;
          line-height: 30px; } }
main.symptoms-traffic-accident section.immediately {
  background-color: #f9f8f3;
  padding: 38px 0 60px; }
  @media screen and (max-width: 768px) {
    main.symptoms-traffic-accident section.immediately {
      padding: 20px 0 30px; } }
  main.symptoms-traffic-accident section.immediately .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms-traffic-accident section.immediately .container {
        width: calc(100% - 50px); } }
    main.symptoms-traffic-accident section.immediately .container .wrapper {
      position: relative;
      background-color: #f7e6d7;
      padding: 60px 60px 62px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident section.immediately .container .wrapper {
          padding: 30px 25px; } }
      main.symptoms-traffic-accident section.immediately .container .wrapper h2 {
        font-size: 35px;
        color: #ed8844;
        font-weight: bold;
        line-height: 49px;
        text-align: center;
        letter-spacing: .06em;
        margin-top: -86px;
        margin-bottom: 32px; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.immediately .container .wrapper h2 {
            font-size: 22px;
            line-height: 36px; } }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.immediately .container .wrapper h2 {
            margin-top: -47px;
            margin-bottom: 20px; } }
      main.symptoms-traffic-accident section.immediately .container .wrapper dl {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.immediately .container .wrapper dl {
            display: block; } }
        main.symptoms-traffic-accident section.immediately .container .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          background-color: #fff;
          color: #fff;
          font-weight: bold;
          font-size: 18px;
          line-height: 43px;
          border-radius: 9999px;
          background-color: #ed8844;
          text-align: center;
          margin-bottom: 5px;
          width: 210px;
          height: 100%; }
          @media screen and (max-width: 768px) {
            main.symptoms-traffic-accident section.immediately .container .wrapper dl dt {
              margin-top: 20px;
              width: auto;
              height: auto;
              font-size: 15px;
              line-height: 32px; }
              main.symptoms-traffic-accident section.immediately .container .wrapper dl dt:first-child {
                margin-top: 0; } }
        main.symptoms-traffic-accident section.immediately .container .wrapper dl dd {
          flex: 0 0 calc(100% - 250px);
          padding-top: 3px; }
          main.symptoms-traffic-accident section.immediately .container .wrapper dl dd p {
            font-size: 16px;
            line-height: 37px;
            text-align: left;
            letter-spacing: .06em; }
            @media screen and (max-width: 768px) {
              main.symptoms-traffic-accident section.immediately .container .wrapper dl dd p {
                font-size: 14px;
                line-height: 30px; } }
          main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul {
            margin-top: 10px; }
            main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul li {
              font-size: 16px;
              line-height: 37px;
              text-align: left;
              letter-spacing: .06em;
              position: relative;
              line-height: 35px;
              text-align: left;
              padding-left: 22px; }
              @media screen and (max-width: 768px) {
                main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul li {
                  font-size: 14px;
                  line-height: 30px; } }
              @media screen and (max-width: 768px) {
                main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul li {
                  line-height: 28px;
                  padding-left: 16px; } }
              main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul li:before {
                content: "";
                display: block;
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background-color: #ed8844;
                position: absolute;
                left: 0;
                top: 13px; }
                @media screen and (max-width: 768px) {
                  main.symptoms-traffic-accident section.immediately .container .wrapper dl dd ul li:before {
                    width: 8px;
                    height: 8px;
                    top: 10px; } }
main.symptoms-traffic-accident section.injuries {
  background-color: #f9f8f3;
  padding: 38px 0 120px; }
  @media screen and (max-width: 768px) {
    main.symptoms-traffic-accident section.injuries {
      padding: 20px 0 60px; } }
  main.symptoms-traffic-accident section.injuries .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.symptoms-traffic-accident section.injuries .container {
        width: calc(100% - 50px); } }
    main.symptoms-traffic-accident section.injuries .container header {
      text-align: center; }
      main.symptoms-traffic-accident section.injuries .container header p {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 16px;
        color: #ed8844;
        line-height: 1;
        margin-bottom: 12px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.injuries .container header p {
            font-size: 11px;
            margin-bottom: 6px; } }
      main.symptoms-traffic-accident section.injuries .container header h2 {
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 35px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.injuries .container header h2 {
            font-size: 25px; } }
    main.symptoms-traffic-accident section.injuries .container section {
      background-color: #fff;
      border-radius: 15px;
      padding: 50px 60px 45px;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.symptoms-traffic-accident section.injuries .container section {
          padding: 25px;
          margin-top: 20px; } }
      main.symptoms-traffic-accident section.injuries .container section h3 {
        font-family: "Zen Maru Gothic", sans-serif;
        position: relative;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.5;
        text-align: left;
        padding-left: 22px;
        margin-bottom: 15px; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.injuries .container section h3 {
            font-size: 18px;
            padding-left: 16px; } }
        main.symptoms-traffic-accident section.injuries .container section h3:before {
          content: "";
          width: 10px;
          height: 10px;
          background-color: #ed8844;
          border-radius: 50%;
          display: block;
          position: absolute;
          left: 0;
          top: 14px; }
          @media screen and (max-width: 768px) {
            main.symptoms-traffic-accident section.injuries .container section h3:before {
              top: 10px;
              width: 8px;
              height: 8px; } }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.injuries .container section h3 {
            margin-bottom: 12px; } }
      main.symptoms-traffic-accident section.injuries .container section p {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em; }
        @media screen and (max-width: 768px) {
          main.symptoms-traffic-accident section.injuries .container section p {
            font-size: 14px;
            line-height: 30px; } }

main.guide header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.guide header.visual {
      height: 207px; } }
  main.guide header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.guide header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.guide header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.guide header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.guide header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.guide header.visual hgroup {
        top: 98px; } }
    main.guide header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.guide header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.guide header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.guide header.visual hgroup h1 {
          font-size: 27px; } }
main.guide nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.guide nav.breadcrumb {
      padding: 20px 0; } }
  main.guide nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.guide nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.guide nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.guide nav.breadcrumb .container ol {
          gap: 22px; } }
      main.guide nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.guide nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.guide nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.guide nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.guide nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.guide nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.guide section.timetable {
  background-color: #f9f8f3;
  padding: 38px 0 56px; }
  @media screen and (max-width: 768px) {
    main.guide section.timetable {
      padding: 20px 0 30px; } }
  main.guide section.timetable .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.guide section.timetable .container {
        width: calc(100% - 50px); } }
    main.guide section.timetable .container h2 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 24px;
      font-weight: bold;
      line-height: 60px;
      text-align: center;
      background-color: #ed8844;
      color: #fff; }
      @media screen and (max-width: 768px) {
        main.guide section.timetable .container h2 {
          font-size: 17px;
          line-height: 40px; } }
    main.guide section.timetable .container table {
      border: 4px solid #ed8844;
      width: 100%;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.guide section.timetable .container table {
          margin-bottom: 10px;
          border: 2px solid #ed8844; } }
      main.guide section.timetable .container table thead th {
        border: 1px solid #ed8844;
        background-color: #f7e6d7;
        line-height: 44px;
        width: 10%;
        font-size: 16px;
        color: #ed8844; }
        @media screen and (max-width: 768px) {
          main.guide section.timetable .container table thead th {
            font-size: 13px;
            line-height: 32px; } }
        main.guide section.timetable .container table thead th:nth-child(1) {
          width: 30%; }
      main.guide section.timetable .container table tbody th {
        border: 1px solid #ed8844;
        background-color: #f7e6d7;
        line-height: 60px;
        font-size: 16px;
        color: #ed8844; }
        @media screen and (max-width: 768px) {
          main.guide section.timetable .container table tbody th {
            font-size: 13px;
            line-height: 40px; } }
      main.guide section.timetable .container table tbody td {
        border: 1px solid #ed8844;
        background-color: #fff;
        line-height: 60px;
        text-align: center;
        font-size: 16px;
        color: #ed8844; }
        @media screen and (max-width: 768px) {
          main.guide section.timetable .container table tbody td {
            font-size: 13px;
            line-height: 40px; } }
        main.guide section.timetable .container table tbody td span {
          color: #bed86a; }
    main.guide section.timetable .container p {
      font-size: 16px;
      line-height: 37px;
      text-align: left;
      letter-spacing: .06em;
      line-height: 29px; }
      @media screen and (max-width: 768px) {
        main.guide section.timetable .container p {
          font-size: 14px;
          line-height: 30px; } }
      @media screen and (max-width: 768px) {
        main.guide section.timetable .container p {
          line-height: 25px; } }
main.guide section.first {
  background-color: #f9f8f3;
  padding: 38px 0 60px; }
  @media screen and (max-width: 768px) {
    main.guide section.first {
      padding: 20px 0 30px; } }
  main.guide section.first .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.guide section.first .container {
        width: calc(100% - 50px); } }
    main.guide section.first .container .wrapper {
      position: relative;
      background-color: #f7e6d7;
      padding: 60px 60px 62px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.guide section.first .container .wrapper {
          padding: 30px 25px; } }
      main.guide section.first .container .wrapper h2 {
        font-size: 35px;
        color: #ed8844;
        font-weight: bold;
        line-height: 49px;
        text-align: center;
        letter-spacing: .06em;
        margin-top: -85px;
        margin-bottom: 35px; }
        @media screen and (max-width: 768px) {
          main.guide section.first .container .wrapper h2 {
            font-size: 22px;
            line-height: 36px; } }
        @media screen and (max-width: 768px) {
          main.guide section.first .container .wrapper h2 {
            margin-top: -48px;
            margin-bottom: 14px; } }
      main.guide section.first .container .wrapper ul > li {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        position: relative;
        line-height: 29px;
        padding: 3px 0 3px 22px; }
        @media screen and (max-width: 768px) {
          main.guide section.first .container .wrapper ul > li {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.guide section.first .container .wrapper ul > li {
            line-height: 24px;
            padding: 2px 0 2px 16px; } }
        main.guide section.first .container .wrapper ul > li:before {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background-color: #ed8844;
          position: absolute;
          left: 0;
          top: 13px; }
          @media screen and (max-width: 768px) {
            main.guide section.first .container .wrapper ul > li:before {
              width: 8px;
              height: 8px;
              top: 10px; } }
main.guide section.visiting {
  background-color: #f9f8f3;
  padding: 60px 0 120px; }
  @media screen and (max-width: 768px) {
    main.guide section.visiting {
      padding: 30px 0 60px; } }
  main.guide section.visiting .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.guide section.visiting .container {
        width: calc(100% - 50px); } }
    main.guide section.visiting .container .wrapper {
      position: relative;
      background-color: #fff;
      padding: 60px 60px 62px;
      border-radius: 15px; }
      @media screen and (max-width: 768px) {
        main.guide section.visiting .container .wrapper {
          padding: 30px 25px; } }
      main.guide section.visiting .container .wrapper h2 {
        font-size: 35px;
        color: #ed8844;
        font-weight: bold;
        line-height: 49px;
        text-align: center;
        letter-spacing: .06em;
        margin-top: -85px;
        margin-bottom: 35px; }
        @media screen and (max-width: 768px) {
          main.guide section.visiting .container .wrapper h2 {
            font-size: 22px;
            line-height: 36px; } }
        @media screen and (max-width: 768px) {
          main.guide section.visiting .container .wrapper h2 {
            margin-top: -48px;
            margin-bottom: 14px; } }
      main.guide section.visiting .container .wrapper > ul > li {
        font-size: 16px;
        line-height: 37px;
        text-align: left;
        letter-spacing: .06em;
        position: relative;
        line-height: 29px;
        padding: 3px 0 3px 22px; }
        @media screen and (max-width: 768px) {
          main.guide section.visiting .container .wrapper > ul > li {
            font-size: 14px;
            line-height: 30px; } }
        @media screen and (max-width: 768px) {
          main.guide section.visiting .container .wrapper > ul > li {
            line-height: 24px;
            padding: 2px 0 2px 16px; } }
        main.guide section.visiting .container .wrapper > ul > li:before {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background-color: #ed8844;
          position: absolute;
          left: 0;
          top: 13px; }
          @media screen and (max-width: 768px) {
            main.guide section.visiting .container .wrapper > ul > li:before {
              width: 8px;
              height: 8px;
              top: 10px; } }
      main.guide section.visiting .container .wrapper dl {
        border: 1px solid #e1ded1;
        display: flex;
        margin-top: 28px;
        border-radius: 15px;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          main.guide section.visiting .container .wrapper dl {
            display: block;
            margin-top: 15px;
            border-radius: 10px; } }
        main.guide section.visiting .container .wrapper dl dt {
          font-family: "Zen Maru Gothic", sans-serif;
          background-color: #bed86a;
          color: #fff;
          font-size: 18px;
          font-weight: bold;
          line-height: 43px;
          background-color: #bed86a;
          display: flex;
          justify-content: center;
          align-items: center;
          flex: 0 0 210px; }
        main.guide section.visiting .container .wrapper dl dd {
          font-size: 16px;
          line-height: 37px;
          text-align: left;
          letter-spacing: .06em;
          flex: 0 0 calc(100% - 210px);
          padding: 40px; }
          @media screen and (max-width: 768px) {
            main.guide section.visiting .container .wrapper dl dd {
              font-size: 14px;
              line-height: 30px; } }
          @media screen and (max-width: 768px) {
            main.guide section.visiting .container .wrapper dl dd {
              padding: 20px 15px 30px; } }
          main.guide section.visiting .container .wrapper dl dd ul {
            margin-top: 20px;
            display: flex;
            display: flex;
            flex-wrap: wrap;
            gap: 10px; }
            @media screen and (max-width: 768px) {
              main.guide section.visiting .container .wrapper dl dd ul {
                margin-top: 15px;
                gap: 5px;
                justify-content: center; } }
            main.guide section.visiting .container .wrapper dl dd ul li {
              font-family: "Zen Maru Gothic", sans-serif;
              position: relative;
              display: block;
              font-size: 16px;
              font-weight: bold;
              color: #fff;
              line-height: 44px;
              text-align: center;
              padding: 0 20px;
              background-color: #ed8844;
              border-radius: 9999px; }
              @media screen and (max-width: 768px) {
                main.guide section.visiting .container .wrapper dl dd ul li {
                  font-size: 14px;
                  line-height: 36px;
                  flex: 0 0 calc((100% - 5px) / 2);
                  padding: 0 5px; } }

main.clinic header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.clinic header.visual {
      height: 207px; } }
  main.clinic header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.clinic header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.clinic header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.clinic header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.clinic header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.clinic header.visual hgroup {
        top: 98px; } }
    main.clinic header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.clinic header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.clinic header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.clinic header.visual hgroup h1 {
          font-size: 27px; } }
main.clinic nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.clinic nav.breadcrumb {
      padding: 20px 0; } }
  main.clinic nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.clinic nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.clinic nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.clinic nav.breadcrumb .container ol {
          gap: 22px; } }
      main.clinic nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.clinic nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.clinic nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.clinic nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.clinic nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.clinic nav.breadcrumb .container ol li:first-child:before {
          display: none; }

main.activity header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.activity header.visual {
      height: 207px; } }
  main.activity header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.activity header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.activity header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.activity header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.activity header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.activity header.visual hgroup {
        top: 98px; } }
    main.activity header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.activity header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.activity header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.activity header.visual hgroup h1 {
          font-size: 27px; } }
main.activity nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.activity nav.breadcrumb {
      padding: 20px 0; } }
  main.activity nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.activity nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.activity nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
        flex-wrap: wrap;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.activity nav.breadcrumb .container ol {
          gap: 5px 22px;} }
      main.activity nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.activity nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.activity nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.activity nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.activity nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.activity nav.breadcrumb .container ol li:first-child:before {
          display: none; }

main.faq header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.faq header.visual {
      height: 207px; } }
  main.faq header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.faq header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.faq header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.faq header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.faq header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.faq header.visual hgroup {
        top: 98px; } }
    main.faq header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.faq header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.faq header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.faq header.visual hgroup h1 {
          font-size: 27px; } }
main.faq nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.faq nav.breadcrumb {
      padding: 20px 0; } }
  main.faq nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.faq nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.faq nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.faq nav.breadcrumb .container ol {
          gap: 22px; } }
      main.faq nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.faq nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.faq nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.faq nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.faq nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.faq nav.breadcrumb .container ol li:first-child:before {
          display: none; }
main.faq .container {
  width: calc(100% -  100px);
  max-width: 1180px;
  margin: 0 auto;
  display: block; }
  @media screen and (max-width: 768px) {
    main.faq .container {
      width: calc(100% - 50px); } }

main.recruit header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.recruit header.visual {
      height: 207px; } }
  main.recruit header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.recruit header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.recruit header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.recruit header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.recruit header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.recruit header.visual hgroup {
        top: 98px; } }
    main.recruit header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.recruit header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.recruit header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.recruit header.visual hgroup h1 {
          font-size: 27px; } }
main.recruit nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.recruit nav.breadcrumb {
      padding: 20px 0; } }
  main.recruit nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.recruit nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.recruit nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.recruit nav.breadcrumb .container ol {
          gap: 22px; } }
      main.recruit nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.recruit nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.recruit nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.recruit nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.recruit nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.recruit nav.breadcrumb .container ol li:first-child:before {
          display: none; }

main.access header.visual {
  position: relative;
  background-color: #f9f8f3;
  height: 387px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.access header.visual {
      height: 207px; } }
  main.access header.visual figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    main.access header.visual figure:after {
      content: "";
      display: block;
      width: 100vw;
      min-width: 1600px;
      height: 110px;
      background-image: url("../images/home/visual_mask.svg");
      background-size: 100% 100%;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.access header.visual figure:after {
          min-width: 792px;
          height: calc(220px * 792 / 1600); } }
    main.access header.visual figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  main.access header.visual hgroup {
    position: absolute;
    top: 187px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
    @media screen and (max-width: 768px) {
      main.access header.visual hgroup {
        top: 98px; } }
    main.access header.visual hgroup p {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-size: 16px;
      color: #ed8844;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.access header.visual hgroup p {
          font-size: 12px;
          margin-bottom: 8px; } }
    main.access header.visual hgroup h1 {
      font-family: "Zen Maru Gothic", sans-serif;
      font-size: 41px;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.access header.visual hgroup h1 {
          font-size: 27px; } }
main.access nav.breadcrumb {
  background-color: #f9f8f3;
  padding: 36px 0; }
  @media screen and (max-width: 768px) {
    main.access nav.breadcrumb {
      padding: 20px 0; } }
  main.access nav.breadcrumb .container {
    width: calc(100% -  100px);
    max-width: 1180px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.access nav.breadcrumb .container {
        width: calc(100% - 50px); } }
    main.access nav.breadcrumb .container ol {
      display: flex;
      justify-content: flex-end;
      gap: 44px; }
      @media screen and (max-width: 768px) {
        main.access nav.breadcrumb .container ol {
          gap: 22px; } }
      main.access nav.breadcrumb .container ol li {
        position: relative;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px; }
        @media screen and (max-width: 768px) {
          main.access nav.breadcrumb .container ol li {
            font-size: 10px;
            line-height: 1.4; } }
        main.access nav.breadcrumb .container ol li:last-child {
          font-weight: bold;
          color: #ed8844; }
        main.access nav.breadcrumb .container ol li:before {
          content: "";
          display: block;
          width: 20px;
          height: 1px;
          background-color: #e1ded1;
          position: absolute;
          left: -32px;
          top: 50%; }
          @media screen and (max-width: 768px) {
            main.access nav.breadcrumb .container ol li:before {
              width: 12px;
              left: -17px; } }
        main.access nav.breadcrumb .container ol li:first-child:before {
          display: none; }




.faq-list {
    background-color: #f9f8f3;
    padding-top: 30px;
    padding-bottom: 120px;
}
.faq-item {
    background-color: #fff;
    border-radius: 15px;
    padding: 60px;
    font-size: 16px;
    line-height: 29px;
}
.faq-item:not(:last-child) {
    margin-bottom: 40px;
}
.faq-item h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    position: relative;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
    color: #ed8844;
    padding-left: 60px;
    margin-bottom: 30px;
}
.faq-item h2:before {
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    content: "Q";
    color: #fff;
    background-color: #ed8844;
    z-index: 1;
    left: 0;
    top: 0px;
    position: absolute;
    text-align: center;
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 600;
}
.faq-item p {
    padding-left: 60px;
    position: relative;
}
.faq-item p:before {
    width: 40px;
    line-height: 36px;
    border-radius: 50%;
    content: "A";
    color: #ed8844;
    z-index: 1;
    left: 0;
    top: -4px;
    position: absolute;
    text-align: center;
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 600;
    border: #ed8844 2px solid;
}
.faq-item p a:link,
.faq-item p a:visited {
    color: #ed8844;
    text-decoration: underline;
    
}
@media screen and (max-width: 768px) {
.faq-list {
  padding-bottom: 60px;
}
.faq-item {
  padding: 20px;
  font-size: 14px;
  line-height: 25px;
}
.faq-item h2 {
  font-size: 17px;
  padding-left: 40px;
  margin-bottom: 10px;
}
.faq-item h2::before {
  width: 30px;
  line-height: 30px;
  font-size: 14px;
    top: -2px;
}
.faq-item p  {
  padding-left: 40px;
}
.faq-item p::before {
  width: 30px;
  line-height: 26px;
  top: -2px;
  font-size: 14px;
}
.faq-item:not(:last-child) {
  margin-bottom: 20px;
}
}
.greering-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.greering-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.greering-item:not(:last-child) {
    margin-bottom: 180px;
}
.greering-item h2{
font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 37px;
    text-align: center;
    margin-bottom:70px;
    position: relative;
}
.greering-item h2 span {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #ed8844;
    line-height: 1;
    margin-bottom: 15px;
}
.greering-item h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 35px;
    color: #ed8844;
    font-weight: bold;
    line-height: 49px;
    text-align: center;
    letter-spacing: .06em;
    font-size: 29px;
    text-align: left;
    margin-bottom: 25px;
}
.greering-item .blk:not(:last-child) {
    margin-bottom: 160px;
}
.greering-item .blk .flex{
    display: flex;
}
.greering-item .blk .img {
    flex-shrink:0;
    width: 30%;
    margin-right: 5%;
}
.greering-item .blk-change .img {
    margin-right: 0%;
    margin-left: 5%;
    order: 2;
}
.greering-item .blk-change .txt {
    order: 1;
}
.greering-item .blk .img img {
    border-radius: 15px;
}
.greering-item .blk .img dl {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 15px;
    font-size: 14px;
}
.greering-item .blk .img dd {
    font-size: 22px;
}
.greering-item .profile {
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    margin-top: 70px;
    line-height: 32px;
    font-size: 15px;
}
.greering-item .profile h4 {
    font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  color: #ed8844;
    font-weight: bold;
    margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
    .greering-wrap {
        padding-bottom: 60px;
    }
.greering-wrap .container {
        width: calc(100% - 50px);
    }
.greering-item h2 {
  font-size: 26px;
  margin-bottom: 40px;
}
.greering-item h2 span {
  font-size: 11px;
  margin-bottom: 5px;
}
.greering-item .blk .flex {
  display: block;
}
.greering-item .blk .img {
  flex-shrink: 0;
  width: 70%;
  margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.greering-item .blk .img dl {
  margin-top: 15px;
  font-size: 13px;
  text-align: center;
}
.greering-item .blk .img dd {
  font-size: 20px;
}
.greering-item h3 {
  line-height: 31px;
  font-size: 20px;
  margin-bottom: 20px;
}
    .greering-item .blk .txt {
        font-size: 14px;
        line-height: 30px;
    }
.greering-item .profile {
  padding: 20px;
  margin-top: 30px;
  line-height: 25px;
  font-size: 13px;
}
.greering-item .profile h4 {
  font-size: 17px;
  margin-bottom: 10px;
}
.greering-item .blk:not(:last-child) {
  margin-bottom: 70px;
}
.greering-item:not(:last-child) {
  margin-bottom: 70px;
}
}


.recruit-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.recruit-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.recruit-wrap section {
    background-color: #fff;
    padding: 70px 50px;
    border-radius: 15px;
}
.recruit-wrap section:not(:last-child) {
    margin-bottom: 70px;
}
.recruit-wrap h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 37px;
    text-align: center;
    margin-bottom:50px;
    position: relative;
    color: #ed8844;
}
.recruit-wrap table {
    line-height: 2;
    border-top: 1px solid #e1ded1;
    border-left: 1px solid #e1ded1;
}
.recruit-wrap table th {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #e1ded1;
    padding: 15px;
    width: 200px;
    background-color: #bed86a;
    text-align: left;
    color: #fff;
}
.recruit-wrap table tr:last-child th {
    border-bottom-color: #e1ded1;
}
.recruit-wrap table td {
    border-bottom: 1px solid #e1ded1;
    border-right: 1px solid #e1ded1;
    padding: 15px;
}
.recruit-wrap .tab-menu {
    display: flex;
    gap: 30px;
    margin-bottom: 70px;
    border-bottom: #bed86a 3px solid;
    padding-left: 25px;
    padding-right: 25px;
}
.recruit-wrap .tab-menu li {
    flex:1;
}
.recruit-wrap .tab-menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: bold;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 22px;
    border: #bed86a 1px solid;
    background-color: #fff;
    position: relative;
    border-bottom: none;
}
.recruit-wrap .tab-menu li a.current:after {
    display: none;
}
.recruit-wrap .tab-menu li a:after {
content: "";
            position: absolute;
            right: 25px;
            top: 50%;
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            width: 25px;
            height: 10px;
            background-color: #ed8844;
            transform: translateY(-50%);
    background-size: cover;
    z-index: 444;
    -webkit-mask-image: url("../images/common/icon_arrow.svg");
            mask-image: url("../images/common/icon_arrow.svg");
}
.recruit-wrap .tab-menu li a.current {
    background-color: #bed86a;
    color: #fff;
}
.recruit-wrap .lead-txt {
    margin-bottom: 70px;
}
.recruit-wrap .environment-flex {
    display: flex;
    gap: 50px !important;
    flex-wrap: wrap;
}
.recruit-wrap .environment-item {
    box-sizing: border-box;
    padding: 40px;
    width: calc((100% - 50px) / 2);
    margin-bottom: 0 !important;
}
.recruit-wrap .environment-item h3 {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 30px;
    font-family: "Zen Maru Gothic", sans-serif;
    
}
.recruit-wrap .environment-item .photo {
    margin-bottom:20px;
}
.recruit-wrap .environment-item .photo img {
    width: 100%;
}
.recruit-wrap .environment-item .photo .swiper-container {
    position: relative;
}
.recruit-wrap .environment-item .photo .swiper-pagination-bullet {
  background: #fff;
    opacity: 1;
}
.recruit-wrap .environment-item .photo .swiper-pagination {
    text-align: right;
    right: 20px;
    width: auto;
    
}
.recruit-wrap .environment-item .photo .swiper-pagination-bullet-active {
  background: #ed8844;
}

.recruit-wrap .environment-item .photo img {
    border-radius: 10px;
}
.recruit-wrap .environment-item p a {
    color: #ed8844;
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    .recruit-wrap {
        padding-bottom: 60px;
        font-size: 14px;
  padding-top: 20px;
  line-height: 30px;
    }
.recruit-wrap .container {
        width: calc(100% - 50px);
    }
.recruit-wrap section {
  padding: 30px 20px;
  border-radius: 15px;
}
.recruit-wrap h2 {
  font-size: 26px;
  margin-bottom: 30px;
}
.recruit-wrap section:not(:last-child) {
  margin-bottom: 40px;
}
.recruit-wrap table {
  line-height: 27px;
}
.recruit-wrap table th {
  display: block;
    width: auto;
    padding: 10px;
}
.recruit-wrap table td {
  display: block;
    width: auto;
    padding: 10px;
}
.recruit-wrap .tab-menu li a {
  height: 45px;
  border-top-left-radius: 7px;
    border-top-right-radius: 7px;
  font-size: 15px;
}
.recruit-wrap .tab-menu {
  gap: 15px;
  margin-bottom: 35px;
    padding-left: 15px;
  padding-right: 15px;
}
.recruit-wrap .environment-flex {
  display: block;
}
.recruit-wrap .environment-item {
  padding: 20px;
  width: auto;
  margin-bottom: 0px !important;
}
.recruit-wrap .environment-item:not(:last-child) {
  margin-bottom: 20px !important;
}
.recruit-wrap .environment-item h3 {
  font-size: 20px;
  margin-bottom: 20px;
}
.recruit-wrap .environment-item .photo {
  margin-bottom: 15px;
}
    .recruit-wrap .environment-item p {
        line-height: 28px;
    }
.recruit-wrap .lead-txt {
  margin-bottom: 40px;
}
    .recruit-wrap .tab-menu li a {
        padding-right: 5px;
    }
.recruit-wrap .tab-menu li a:after {
    right: 10px;
    width: 18px;
    height: 7px;
}
}
#header nav.global .primary li {
    position: relative;
    padding-bottom: 5px;
}
#header nav.global .primary .sub-menu {
    position: absolute;
    z-index: 1;
    left: 50%;
    padding-top: 10px;
    opacity: 0;
    pointer-events: none;
    transition:ease-in-out .3s;
-moz-transition:ease-in-out .3s;
-webkit-transition:ease-in-out .3s;
-o-transition:ease-in-out .3s;
-ms-transition:ease-in-out .3s;
    margin-top: 15px;
	font-feature-settings: "palt";
    width: 180px;
    background-color: #ed8844;
    border-radius: 10px;
    padding: 15px;
    font-size: 14px;
    margin-left: -90px;
    box-sizing: border-box;
}
#header nav.global .primary .sub-menu li{
    font-size: 15px;
}
#header nav.global .primary .sub-menu li a {
    color: #fff !important;
}
#header > nav.global > .primary > li:hover > .sub-menu{
    opacity: 1;
    pointer-events: inherit;
    margin-top: 5px;
}

.clinic-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.clinic-wrap h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 35px;
    color: #ed8844;
    font-weight: bold;
    line-height: 49px;
    text-align: center;
    letter-spacing: .06em;
    font-size: 29px;
    word-break: keep-all;
    overflow-wrap: break-word;
    margin-bottom: 32px;
}
.clinic-wrap h2 br.sp-only {
    display: none;
}
.clinic-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.clinic-wrap .lead-txt {
    text-align: center;
    margin-bottom: 80px;
}
.clinic-wrap .flex {
    display: flex;
    gap:50px;
    flex-wrap: wrap;
}
.clinic-wrap .flex .item{
    width: calc((100% - 100px) /3);
}
.clinic-wrap .flex .img img {
    border-radius: 15px;
}
.clinic-wrap .flex .img a {
    display: block;
}
.clinic-wrap .flex p {
    margin-top: 5px;
}
.lightboxOverlay {
  z-index: 10000 !important;
}
.lightbox {
  z-index: 10005 !important;
}
@media screen and (max-width: 768px) {
.clinic-wrap {
        padding-bottom: 60px;
        font-size: 14px;
  padding-top: 20px;
  line-height: 30px;
    }
.clinic-wrap h2 {
  line-height: 31px;
  font-size: 20px;
  margin-bottom: 15px;
}
.clinic-wrap h2 br.sp-only {
    display: inherit;
}
.clinic-wrap .container {
        width: calc(100% - 50px);
    }
.clinic-wrap .flex {
  gap: 20px;
}
.clinic-wrap .flex .item {
  width: calc((100% - 20px) /2);
}
.clinic-wrap .flex p {
  font-size: 14px;
  line-height: 22px;
}
.clinic-wrap .lead-txt {
  margin-bottom: 40px;
    text-align: left;
}
.lightboxOverlay {
  z-index: 10004 !important;
}
}
@media screen and (max-width: 768px) {
    #header nav.menu .wrapper ul.contents li a.no-radius {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
    #header nav.menu .wrapper ul.contents li ul{
        background-color: #f7e6d7;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
        padding-bottom: 20px;
    }
    #header nav.menu .wrapper ul.contents li li a{
        border-radius: 0;
        font-size: 14px;
        line-height: 1.5;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    #header nav.menu .wrapper ul.contents li li a::before {
    display: none;
  }
}

.general-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.general-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.general-wrap h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 35px;
    color: #ed8844;
    font-weight: bold;
    line-height: 49px;
    text-align: center;
    letter-spacing: .06em;
    margin-bottom: 56px;
}
.general-wrap .lead {
    text-align: center;
    margin-bottom: 90px;
}
.general-wrap .general-tbl {
    width: 100%;
    border-top: 1px solid #e1ded1;
    border-left: 1px solid #e1ded1;
    background-color: #fff;
}
.general-wrap .general-tbl thead th{
    background-color: #f7e6d7;
}
.general-wrap .general-tbl th {
    border-right: 1px solid #e1ded1;
    border-bottom: 1px solid #e1ded1;
    font-family: "Zen Maru Gothic", sans-serif;
    padding: 15px;
    font-weight: bold;
}
.general-wrap .general-tbl tbody th {
    width: 280px;
    text-align: left;
    position: relative;
    padding-left: 30px;
}
.general-wrap .general-tbl tbody th:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  left: 15px;
  top: 31px;
  border-radius: 50%;
  background-color: #ed8844;
}
.general-wrap .general-tbl td {
    border-right: 1px solid #e1ded1;
    border-bottom: 1px solid #e1ded1;
    padding: 15px;
}
.general-wrap .general-tbl td span {
    border: 1px solid #bed86a;
    border-radius: 40px;
    padding: 5px 15px;
    margin-right: 10px;
}
.general-wrap .common {
    padding-bottom: 120px;
}

.general-wrap .ttl {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 35px;
    color: #ed8844;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    margin-bottom: 50px;
}
.general-wrap .common .btn {
    margin-top: 40px;
}
.general-wrap .common .btn a {
    font-family: "Zen Maru Gothic", sans-serif;
    position: relative;
    display: flex;
    align-items: center;
    background-color: #b9d266;
    border-radius: 9999px;
    width: 100%;
    max-width: 450px;
    height: 70px;
    padding-left: 37px;
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin: auto;
}
.general-wrap .common .btn a br {
    display: none;
}
.general-wrap .common .btn a:after {
    content: "";
    display: block;
    position: absolute;
    right: 25px;
    top: 50%;
    -webkit-mask-image: url(../images/common/icon_arrow.svg);
    mask-image: url(../images/common/icon_arrow.svg);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    width: 25px;
    height: 10px;
    background-color: #fff;
    transform: translateY(-50%);
}
.general-wrap .other {
    background-color: #f3f8e4;
    padding-top: 90px;
    padding-bottom: 90px;
    border-radius: 15px;
    padding: 60px;
    margin-bottom: 100px;
}
.general-wrap .other h3 {
    margin-top: -80px;
}
.general-wrap .other ul {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.general-wrap .other ul li {
    background-color: #fff;
    width: calc((100% - 60px) /3);
    padding: 15px;
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    border-radius: 10px;
    border: 1px solid #bed86a;
    position: relative;
    padding-left: 40px;
    font-size: 18px;
}
.general-wrap .other ul li:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    left: 22px;
    top: 31px;
    border-radius: 50%;
    background-color: #ed8844;
}
.general-wrap .system {
    margin-bottom: 120px;
}
.general-wrap .system .list li{
    background-color: #fff;
    padding: 15px;
    padding: 30px;
    border-radius: 15px;
}
.general-wrap .system .list li:not(:last-child) {
    margin-bottom: 20px;
}
.general-wrap .system .list li dt {
    font-weight: bold;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 20px;
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
}
.general-wrap .system .list li dt:before {
    content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  left: 0px;
  top: 15px;
  border-radius: 50%;
  background-color: #ed8844;
}
.general-wrap .system .center {
    text-align: center;
    margin-bottom: 70px;
}
.general-wrap .system .btn-list {
    display: flex;
    gap:30px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    
}
.general-wrap .system .btn-list li {
    flex: 1;
}
.general-wrap .system .btn-list li a {
    font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
  display: flex;
  align-items: center;
  background-color: #b9d266;
  border-radius: 9999px;
  width: 100%;
  height: 70px;
  padding-left: 37px;
  font-size: 16px;
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
}
.general-wrap .system .btn-list li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-mask-image: url(../images/common/icon_arrow.svg);
  mask-image: url(../images/common/icon_arrow.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  width: 25px;
  height: 10px;
  background-color: #fff;
  transform: translateY(-50%);
}
.general-wrap .about {
    background-color: #fff;
  border-radius: 15px;
  padding: 60px;
}
.general-wrap .about h3 {
    margin-top: -80px;
}
.general-wrap br.sp-only {
    display: none;
}
@media screen and (max-width: 768px) {
.general-wrap br.sp-only {
    display: inherit;
}
.general-wrap {
        padding-bottom: 60px;
        font-size: 14px;
  padding-top: 20px;
  line-height: 30px;
    }
.general-wrap .container {
        width: calc(100% - 50px);
    }
.general-wrap .lead {
  text-align: left;
  margin-bottom: 50px;
}
    .general-wrap .lead .sp-none {
        display: none;
    }
.general-wrap .ttl {
  font-size: 22px;
  margin-bottom: 30px;
    line-height: 1.3;
}
    .general-wrap .general-tbl {
        line-height: 25px;
    }
.general-wrap .general-tbl tbody th {
  width: 130px;
  padding-left: 22px;
    
}
.general-wrap .general-tbl th {
  padding: 10px;
}
.general-wrap .general-tbl td {
  padding: 10px;
}
.general-wrap .general-tbl tbody th::before {
  width: 6px;
        height: 6px;
        top: 20px;
        left: 10px;
}
    .general-wrap .common .btn a {
        font-size: 15px;
        height: 60px;
        max-width: 290px;
        padding-left: 0px;
        justify-content: center;
        text-align: center;
        padding-right: 10px;
    }
    .general-wrap .common .btn a br {
        display: inherit;
    }
.general-wrap .common {
  padding-bottom: 90px;
}
.general-wrap .other {
  padding: 25px;
    margin-bottom: 70px;
}
.general-wrap .other ul {
  display: block;
}
.general-wrap .other ul li {
    width: auto;
  padding: 10px;
  padding-left: 30px;
  font-size: 15px;
}
    .general-wrap .other ul li:not(:last-child) {
        margin-bottom: 5px;
    }
.general-wrap .other ul li::before {
  width: 6px;
    height: 6px;
    top: 22px;
    left: 15px;
}
.general-wrap .other h3 {
  margin-top: -54px;
}
.general-wrap .system .center {
  text-align: left;
  margin-bottom: 40px;
}
.general-wrap .system .list li {
  padding: 20px;
  border-radius: 10px;
    line-height: 25px;
}
.general-wrap .system .list li dt {
  font-size: 16px;
    padding-left: 15px;
}
.general-wrap .system .list li dt::before {
  width: 6px;
    height: 6px;
    top: 11px;
    left: 0px;
}
.general-wrap .system .list li:not(:last-child) {
  margin-bottom: 10px;
}
.general-wrap .about {
  padding: 25px;
}
.general-wrap .about h3 {
  margin-top: -54px;
}
.general-wrap .system .btn-list {
  display: block;
    margin-top: 30px;
}
    .general-wrap .system .btn-list li:not(:last-child) {
        margin-bottom: 10px;
    }
    .general-wrap .system .btn-list li a {
        font-size: 15px;
    height: 60px;
    max-width: 290px;
    padding-left: 0px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
        text-align: center;
    }
.general-wrap .system {
  margin-bottom: 90px;
}
}

.activity-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.activity-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.activity-wrap .item h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: .06em;
    margin-bottom: 30px;
    position: relative;
    padding-left: 35px;
}
.activity-wrap .item h2:before {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    content:"";
    border: #b9d266 6px solid;
    position: absolute;
    z-index: 1;
    top: 50%;
    margin-top: -10px;
    left: 0;
    
}
.activity-wrap .item:not(:last-child) {
    margin-bottom: 50px;
}
.activity-wrap .item li:nth-child(odd) {
    background-color: #fff;
}
.activity-wrap .item li:first-child {
    border-top: 1px solid #e1ded1;
}
.activity-wrap .item li {
    border-bottom: 1px solid #e1ded1;
    line-height: 1.7;
}
.activity-wrap .item li a {
    display: block;
    padding: 10px 15px;
}
.activity-wrap .item li a:hover {
    text-decoration: underline;
}
.activity-wrap .single {
    background-color: #fff;
    padding: 70px;
    border-radius: 15px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.activity-wrap .single .mdb {
    margin-bottom: 30px;
}
.activity-wrap .single h2 {
    font-family: "Zen Maru Gothic", sans-serif;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: .06em;
  margin-bottom: 40px;
  position: relative;
}
.activity-wrap .single .name {
    text-align: right;
    font-weight: bold;
}
.activity-wrap .single .com-btn {
    font-family: "Zen Maru Gothic", sans-serif;
    position: relative;
    display: flex;
    align-items: center;
    background-color: #b9d266;
    border-radius: 9999px;
    max-width: 360px;
    height: 70px;
    padding-left: 37px;
    font-size: 16px;
    font-weight: 900;
    color: #fff !important;
    line-height: 1.2;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    text-decoration: none !important;
}
.activity-wrap .single .com-btn:after {
    content: "";
    display: block;
    position: absolute;
    right: 25px;
    top: 50%;
    -webkit-mask-image: url(../images/common/icon_arrow.svg);
    mask-image: url(../images/common/icon_arrow.svg);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    width: 25px;
    height: 10px;
    background-color: #fff;
    transform: translateY(-50%);
}
.activity-wrap .single .center {
    text-align: center;
}
.activity-wrap .single table {
    width: 100%;
}
.activity-wrap .single .cf {
    display: inline-block;
    zoom: 1;
}
.activity-wrap .single .cf {
    display: block;
}
.activity-wrap .single .photo {
    text-align: center;
}
.activity-wrap .single a:link,
.activity-wrap .single a:visited{
    color: #ed8844;
    text-decoration: underline;
}
.activity-wrap .single .fll {
    display: table-cell;
    padding-right: 15px;
}
.activity-wrap .single .flr {
    display: table-cell;
    vertical-align: middle;
}
.activity-wrap .description {
    padding: 20px;
    border: 1px dashed #faba7a;
    margin-bottom: 25px;
}
.activity-wrap .single p.line {
    text-decoration: underline;
}
.activity-wrap .single .description .flr {
    border: 5px solid #e3e3e3;
    width: 30%;
    padding: 10px;
}
.activity-wrap .single .description .flr {
    border: 5px solid #e3e3e3;
	width: 30%;
    padding: 10px;
}
.activity-wrap .single .description .caution {
	color: #f57a00;
}
.activity-wrap .single .description dl {
	padding: 15px;
    margin-bottom: 5px;
    border: 1px solid #e3e3e3;
}
.activity-wrap .single .description dt {
	display: table-cell;
    vertical-align: middle;
    width: 120px;
    font-size: 110%;
    color: #98af2b;
}
.activity-wrap .single .description dd {
	display: table-cell;
}
.activity-wrap .single .intro .flr {
	padding-right: 20px;
	width: 30%;
    vertical-align: top;
}
.activity-wrap .single .description h3 {
	color: #F57A00;
	font-weight: bold;
    padding-left: 8px;
    padding-bottom: 3px;
    padding-top: 3px;
    border-left-style: solid;
    border-left-color: #D2D2D2;
    border-left-width: 8px;
    margin-left: 5px;
    margin-bottom: 8px;
    margin-top: 5px;
}
@media screen and (max-width: 768px) {
.activity-wrap {
        padding-bottom: 60px;
        font-size: 14px;
  padding-top: 20px;
  line-height: 30px;
    }
.activity-wrap .container {
        width: calc(100% - 50px);
    }
.activity-wrap .single {
  padding: 30px 20px;
}
.activity-wrap .single h2 {
  font-size: 20px;
  margin-bottom: 20px;
  line-height: 1.5;
}
.activity-wrap .single .mdb {
    margin-bottom: 20px;
}
.activity-wrap .single .com-btn {
        font-size: 15px;
        height: 60px;
        max-width: 290px;
        padding-left: 0px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
        text-align: center;
    margin-top: 30px;
    }
.activity-wrap .single .description table {
    line-height: 1.7;
}
.activity-wrap .single .description table td{
    font-size: 14px !important;
    vertical-align: middle;
}
.activity-wrap .single .fll {
    display: block;
    padding-right: 0px;
}
.activity-wrap .single .flr {
    display: block;
}
.activity-wrap .single .description .flr {
  width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.activity-wrap .single .intro .flr {
    margin-bottom: 30px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
}

.privacy-list {
    background-color: #f9f8f3;
    padding-top: 30px;
    padding-bottom: 120px;
}
.privacy-lead {
    font-size: 16px;
    line-height: 37px;
    text-align: left;
    letter-spacing: .06em;
    margin-bottom: 80px;
}
.privacy-item {
    font-size: 16px;
  line-height: 29px;
}
.privacy-item ul {
    margin-top: 30px;
}
.privacy-item ul li {
    position: relative;
    padding-left: 25px;
}
.privacy-item ul li:before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #ed8844;
    border-radius: 50%;
    display: block;
    position: absolute;
    left: 0;
    top: 12px;
}
.privacy-item:not(:last-child) {
    margin-bottom: 80px;
}
.privacy-item h2 {
    font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
  color: #ed8844;
  margin-bottom: 30px;
    border-bottom: 1px solid #e1ded1;
    padding-bottom: 30px;
}
.privacy-item .inq {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
}

@media screen and (max-width: 768px) {
.privacy-lead {
  font-size: 14px;
  line-height: 30px;
  margin-bottom: 50px;
}
.privacy-item h2 {
  font-size: 17px;;
  line-height: 1.4;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.privacy-item {
  font-size: 14px;
  line-height: 29px;
}
.privacy-item:not(:last-child) {
  margin-bottom: 45px;
}
.privacy-item ul {
  margin-top: 20px;
}
.privacy-item ul li::before {
  width: 8px;
  height: 8px;
  top: 11px;
}
.privacy-item ul li {
  position: relative;
  padding-left: 15px;
    line-height: 27px;
}
    .privacy-item ul li:not(:last-child) {
        margin-bottom: 5px;
    }
.privacy-item .inq {
  padding: 15px;
}
}

.access-wrap {
    background-color: #f9f8f3;
    font-size: 16px;
    padding-top: 40px;
    line-height: 37px;
    padding-bottom: 120px;
}
.access-wrap h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    line-height: 49px;
    letter-spacing: .06em;
    font-size: 25px;
    word-break: keep-all;
    overflow-wrap: break-word;
    margin-bottom: 32px;
    position: relative;
    padding-left: 20px;
}
.access-wrap h2:before {
    width: 10px;
    height: 10px;
    content: "";
    background-color: #bed86a;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 20px;
    border-radius: 50%;
}
.access-wrap .container {
    width: calc(100% - 100px);
    max-width: 1180px;
    margin: 0 auto;
}
.access-dtl {
    display: flex;
    border-top-left-radius: 15px;
    overflow: hidden;
    border-top-right-radius: 15px;
}
.access-dtl li {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    background-color: #ed8844;
    color: #fff;
    font-size: 18px;
    
}
.access-dtl li br {
    display: none;
}
.access-dtl li span {
    background-image: url("../images/access/map.png");
    background-repeat: no-repeat;
    background-position: left center;
    padding: 5px;
    padding-left: 50px;
}
.access-dtl li:nth-child(2) {
    background-color: #bed86a;
}
.access-dtl li:nth-child(2) span{
    background-image: url(../images/access/parking.png);
}
.access-wrap iframe {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    margin-bottom: 10px;
}
.access-map-btn a {
    display: flex;
    height: 45px;
    background-color: #ed8844;
    color: #fff;
    border-radius: 40px;
    align-items: center;
    justify-content: center;
    max-width: 250px;
    font-size: 14px;
    margin-left: auto;
    margin-bottom: 80px;
}
.access-item:not(:last-child) {
    margin-bottom: 80px;
}
.access-item .bg-w{
    background-color: #fff;
    border-radius: 15px;
    padding: 30px;
}
.access-item dl {
    display: flex;
    align-items: center;
}
.access-item dl.line {
    border-bottom: 1px solid #e1ded1;
    padding-bottom: 25px;
    margin-bottom: 25px;
}
.access-item dt {
    font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
    color: #ed8844;
    font-size: 20px;
    flex-shrink: 0;
    width: 290px;
    background-image: url("../images/access/car.png");
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 50px;
}
.access-item dt.bus {
    background-image: url(../images/access/bus.png);
}
.access-item dd span{
    font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
    color: #ed8844;
    display: block;
    font-size: 18px;
}
.access-item .pdf-list {
    display: flex;
    gap:60px 50px;
    flex-wrap: wrap;
    max-width: 980px;
    margin: 30px auto;
    
}
.access-item .pdf-list .pdf-blk {
    width: calc((100% - 50px) /2);
    text-align: center;
}
.access-item .pdf-list h3 {
    font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
    text-align: center;
    font-size: 20px;
    margin-bottom: 15px;
}
.access-item .pdf-list h3 br {
        display: none;
    }
.access-item .pdf-list a {
    display: flex;
  height: 45px;
  background-color: #ed8844;
  color: #fff;
  border-radius: 40px;
  align-items: center;
  justify-content: center;
  max-width: 250px;
  font-size: 17px;
    margin: auto;
    margin-bottom: 25px;
    font-family: "Poppins", sans-serif;
}
.access-item .pdf-list .img img{
    box-sizing: border-box;
    border: 1px solid #e1ded1;
    width:420px;
    
}
@media screen and (max-width: 768px) {
.access-wrap {
        padding-bottom: 60px;
        font-size: 14px;
  padding-top: 20px;
  line-height: 30px;
    }
.access-wrap .container {
        width: calc(100% - 50px);
    }
.access-dtl {
  display: flex;
    flex-flow: column;
}
    .access-dtl li {
        width: auto;
        justify-content: flex-start;
        font-size: 14px;
  line-height: 1.5;
        height: 70px;
    }
.access-dtl li br {
    display: inherit;
}
.access-dtl li span {
    padding-top: 15px;
    padding-bottom: 15px;
  background-position: 20px center;
  padding: 5px;
  padding-left: 60px;
  background-size: 30px;
}
.access-wrap iframe {
  height: 350px;
}
.access-map-btn a {
  height: 35px;
  max-width: 180px;
  font-size: 13px;
  margin-bottom: 50px;
}
.access-wrap h2 {
  line-height: 30px;
  font-size: 19px;
  margin-bottom: 25px;
  padding-left: 20px;
}


.access-wrap h2::before {
  width: 8px;
  height: 8px;
  top: 13px;

}
.access-item dl {
  display: block;
}
.access-item dt {
  font-size: 18px;
  width: auto;
  padding-left: 40px;
  background-size: 28px;
    margin-bottom: 10px;
}
.access-item .bg-w {
  padding: 20px;
}
.access-item dd span {
  display: block;
  font-size: 15px;
}
.access-item dl.line {
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.access-item:not(:last-child) {
  margin-bottom: 50px;
}
.access-item .pdf-list {
  display: block;
  margin: 10px auto;
}
.access-item .pdf-list .pdf-blk {
  width: auto;
}
    .access-item .pdf-list .pdf-blk:not(:last-child) {
        margin-bottom: 40px;
    }
.access-item .pdf-list h3 {
  font-size: 16px;
  line-height: 1.5;
}
    .access-item .pdf-list h3 br {
        display: inherit;
    }
.access-item .pdf-list a {
  height: 40px;
  max-width: 190px;
  font-size: 16px;
  margin-bottom: 20px;
}
}


main.medical-sports .sports > section .container .wrapper > section .body > h4 {
                font-family: "Zen Maru Gothic", sans-serif;
                position: relative;
                font-size: 23px;
                font-weight: bold;
                line-height: 1.5;
                margin-bottom: 17px;
	padding-left: 30px;
}
main.medical-sports .sports > section .container .wrapper > section .body > h4:before {
	background-color: #fff;
	border: #b9d266 5px solid;
	width: 20px;
	height: 20px;
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
	
}
main.medical-sports .sports > section .container .wrapper > section .body > h4.mdt {
	margin-top: 50px;
}
#modal01 {
	display: none;
}
.fancybox__backdrop {
	background:rgba(172,172,172,0.7) !important;
}
#modal01.fancybox__content {
	display: none;
	font-size: 16px;
	color: #3f3f3f;
	max-width: 980px;
	line-height: 1.8;
	border-radius: 10px;
	padding: 50px;
}
#modal01.fancybox__content span {
	color: #ed8844;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 10px;
}
#modal01.fancybox__content h5 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  color: #ed8844;
  font-weight: bold;
  line-height: 25px;
  margin-bottom: 8px;
	margin-bottom: 20px;
}
.fancybox__container {
	z-index: 99999 !important;
}
.fancybox__content > .f-button.is-close-btn {
	background-color: #ed8844 !important;
	opacity: 1 !important;
	color: #fff;
}
.fancybox__content > .f-button.is-close-btn:hover {
	opacity: 0.8 !important;
}
@media screen and (max-width: 768px) {
main.medical-sports .sports > section .container .wrapper > section .body > h4 {
  font-size: 18px;
  margin-bottom: 15px;
	padding-left: 25px;
}
main.medical-sports .sports > section .container .wrapper > section .body > h4.mdt {
  margin-top: 25px;
}


main.medical-sports .sports > section .container .wrapper > section .body > h4::before {
  width: 18px;
  height: 18px;

}
#modal01.fancybox__content {
  font-size: 14px;
  padding: 20px;
}
.fancybox__slide {
  padding: 10px !important;
}
#modal01.fancybox__content h5 {
  font-size: 20px;
}
#modal01.fancybox__content span {
  font-size: 15px;
  margin-bottom: 5px;
}
}



.single .h3-ttl {
		font-weight: bold;
		font-size: 19px;
		margin-bottom:10px;
		color: #ed8844;
	}
	.activity-wrap .single .mdb2 {
		margin-bottom: 40px !important;
	}
@media screen and (max-width: 768px) {
.single .h3-ttl {
  font-size: 17px;
  line-height: 1.6;
}
.activity-wrap .single .mdb2 {
		margin-bottom: 30px !important;
	}
}
