@charset "UTF-8";
@media screen and (max-width: 768px) {
  /* ==========================================================================
  ベース設定
  =========================================================================== */

  :root {
    --Text: #333333;
    --Text_grey: #696969;
    --Text_blue: #13465c;
    --Text_red: #df5454;
    --Main: #4ea5b0;
    --Sub: #ff9600;
    --Accent: #00b271;
    --Light_blue: #ecfcff;
    --Back: #f5f5f5;
    --gray: #ccc;
    --Point: #f9f06f;
  }
  body {
    min-width: 100%;
    position: relative;
    overflow-x: hidden;
    /* padding-top: 75px; */
  }

  img {
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
  }

  html {
    overflow-x: hidden;
    position: relative;
  }

  html.html {
    margin-top: 0 !important;
  }

  #wpadminbar {
    z-index: 10000000 !important;
  }

  .forPC {
    display: none;
  }

  .forPC-inline {
    display: none;
  }

  .forSP {
    display: block;
  }

  .forSP-inline {
    display: inline-block;
  }

  /* 調整 20240903 */
  body
    > main
    > article
    > div.pageContents__container.pageArchive
    > div.columnPage__contents
    > ul:nth-child(28)
    > li:nth-child(4)::before {
    content: "";
    width: 1px;
    height: 1px;
    display: block;
  }

  /* ==========================================================================
  共通パーツ
  =========================================================================== */
  /* ==========================================================================
  HEADER
  =========================================================================== */
  .header,
  .home .header {
    height: 57px;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid var(--Main);
    position: fixed;
    padding: 0;
    background-color: #fff;
    z-index: 1000;
    display: flex;
    justify-content: center;
  }

  .header__menu {
    display: none;
  }

  .spMenu {
    display: block;
    width: 100%;
    height: 1500px;
    position: absolute;
    top: 57px;
    background: #f7f7f7;
    z-index: 1000;
    right: -100%;
    transition: 0.3s;
    padding: 0 18px 0 28px;
    box-sizing: border-box;
    padding-top: 32px;
  }

  .spMenu.active {
    right: 0;
    transition: 0.3s;
    display: inline-block;
    position: fixed;
  }
  .spMenu .spMenu-item {
    border-bottom: 1px solid var(--Main);
  }
  .spMenu .spMenu-item a {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    position: fixed;
    gap: 16px;
    line-height: 1;
    padding: 17px 0 17px;
    position: relative;
    text-decoration: none;
    color: #333;
    font-size: 1.6rem;
    line-height: 1;
  }

  .spMenu-wrapper {
    margin-top: 20px;
  }
  .spMenu .spMenu-item--btn01,
  .spMenu .spMenu-item--btn02,
  .spMenu .spMenu-item--btn03 {
    border-bottom: none;
  }

  .spMenu .spMenu-item--btn01 a,
  .spMenu .spMenu-item--btn02 a,
  .spMenu .spMenu-item--btn03 a {
    font-family: var(--gothic-font);
    text-align: center;
    font-size: 1.6rem;
    width: 100%;
    line-height: 1;
    border-radius: 4px;
    background-color: var(--Main);
    color: #fff;
    display: block;
    border: 2px solid var(--Main);
    padding: 18px 0;
    text-decoration: none;
    height: 62px;
    position: relative;
  }

  .spMenu .spMenu-item--btn02 a {
    margin-top: 14px;
    border: none;
    background-color: #06c766;
  }

  .spMenu .spMenu-item--btn03 a {
    margin-top: 14px;
    background-color: #ecfcff;
    color: var(--Main);
  }

  .spMenu .spMenu-item--btn01 a::before,
  .spMenu .spMenu-item--btn02 a::before {
    content: "";
    background-image: url(../img/reservation_ico.svg);
    background-repeat: no-repeat;
    width: 28px;
    height: 28px;
    background-size: 28px;
    display: inline-block;
    margin-right: 8px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 14px;
  }
  .spMenu .spMenu-item--btn02 a::before {
    background-image: url(../img/icon-line.svg);
    transform: translateY(-50%);
  }

  .spMenu .spMenu-item--btn03 a:before {
    content: "";
    background-image: url(../img/contact_ico.svg);
    width: 28px;
    height: 28px;
    background-size: 28px;
    display: inline-block;
    margin-right: 4px;
    position: relative;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 14px;
  }

  .spMenu .acoBtn a {
  }

  .spMenu .acoBtn a::after {
    content: none;
  }

  .spMenu .spMenu-item--btn01 a::after,
  .spMenu .spMenu-item--btn02 a::after,
  .spMenu .spMenu-item--btn03 a::after {
    display: none;
  }

  .spMenu-item.close {
    text-align: center;
    padding: 10px;
    color: #333;
    font-weight: bold;
  }

  .spMenu__wrapper {
    height: 42%;
    overflow-y: scroll;
    padding-bottom: 50px;
    padding-right: 10px;
  }

  .header__menuBtn {
    width: 38px;
    height: 38px;
    position: absolute;
    right: 12px;
    top: 7px;
    display: inline-block;
    background-image: url("../img/menuBtn_ico.svg");
    background-size: cover;
  }

  .header__menuBtn.active {
    width: 38px;
    height: 38px;
    background-image: url("../img/menu_close.svg");
  }

  .header__logo > img,
  .header__logo a {
    width: 128px;
    height: 31px;
    display: inline-block;
    /* position: absolute;
    bottom: 25px;
    left: 12px; */
  }

  /* ==========================================================================
  FOOTER
  =========================================================================== */
  .info.info__top {
    display: block;
  }

  .reservation {
    padding: 0 12px;
  }

  .reservation__inner,
  #reservation .reservation__inner {
    width: 100%;
    border-radius: 4px;
    padding: 40px 0 234px;
    box-sizing: border-box;
    margin: 0;
  }

  .reservation__h2,
  #reservation .reservation__h2 {
    padding-bottom: 0;
    font-size: 2.4rem;
    line-height: 1;
  }
  .reservation__link-item {
    margin-top: 24px;
  }
  .reservation__link {
    margin: 0px 0px 0;
    display: flex;
    flex-direction: column;
  }

  .reservation__txt {
    margin: 24px auto 0;
  }

  .reservation__link-item a,
  #reservation__link .reservation__link-item a {
    width: 100%;
    padding: 17px 0px;
    font-size: 1.6rem;
  }

  .reservation__link-item a:hover {
    opacity: 1;
  }

  .map {
    margin-top: 48px;
  }

  .info {
  }

  .info__inner {
    width: 100%;
    margin: 0 auto;
    display: block;
  }

  .info__left-logo {
    width: 219px;
    height: 53px;
    display: block;
    margin: 20px auto;
  }
  .info__left-sns {
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
  }
  .footer__under-link {
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 24px;
    font-size: 14px;
  }

  /* .info__left,
  .info__right {
    padding: 0 20px;
  } */
  .info__left {
    /* margin: 80px auto 0; */
    text-align: center;
  }

  .info__left-name {
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }

  .info__left-tel {
    font-size: 1.9rem;
    margin-top: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .info__left-tel::before {
    top: 0;
  }

  .info__left-addr .txt,
  .info__left-addr a,
  .info__left-access {
    font-size: 1.6rem;
  }

  .info__left-addr {
    margin-top: 8px;
  }

  .info__left-access {
    margin-top: 8px;
  }

  .info__left-addr-jump {
    bottom: -6px;
    right: -28px;
  }

  .info__clinic {
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-template-areas: "infoLeft" "infoRight";
    margin-top: 20px;
  }

  .info__clinic-item {
    text-align: center;
  }

  .info__clinic-item:nth-child(n + 2) {
    margin-top: 24px;
  }

  .info__right {
    grid-row: 2;
    margin-top: 24px;
  }

  .info__clinic-name {
    font-size: 14px;
    text-align: center;
  }
  .footer__under-link a {
    font-size: 14px;
  }
  .info__right {
    margin: 0px auto;
  }

  .spSchedule {
    padding: 0 12px;
  }

  .schedule {
    width: 100%;
    box-sizing: border-box;
    margin-top: 16px;
  }

  .schedule tr:nth-of-type(1) td {
    font-size: 1.3rem;
  }

  .schedule tr td,
  .schedule tr th {
    height: 48px;
    padding: 11px;
  }

  .schedule tr td:nth-of-type(1) {
    font-size: 1.1rem;
    padding-right: 24px;
  }

  .schedule tr:nth-of-type(1) td:nth-of-type(1) {
    font-size: 1.3rem;
    width: 27%;
  }

  .schedule td span.active {
    width: 13px;
  }

  .schedule__note {
    font-size: 14px;
  }

  .copyright {
    margin-top: 24px;
    font-size: 12px;
    justify-content: center;
    text-align: center;
  }

  .pageContents__ttl-h1:has(> br),
  .pageContents__ttl-h1:has(> br.forSP) {
    background: none;
  }
  .pageContents__ttl-h1:has(> br) span {
    background: linear-gradient(to right, #4ea5b0, #14b9ce);
    padding: 6px;
    line-height: 1;
    display: inline-block;
  }
  .pageContents__ttl-h1:has(> br) span:first-of-type,
  .pageContents__ttl-h1:has(> br:not([class])) span:first-of-type {
    position: relative;
    top: -8px;
    font-size: 2rem;
  }

  /* ==========================================================================
  トップページ
  =========================================================================== */
  .topContents {
  }

  .topContents__h2 {
    font-size: 2.4rem;
  }

  .topContents section {
    padding: 50px 0;
  }

  .topQuestion h2.topContents__h2,
  .topHospital h2.topContents__h2,
  .topNews h2.topContents__h2 {
    text-align: center;
    padding-top: 0;
    margin-top: 0;
  }

  .topQuestion h2.topContents__h2::before,
  .topHospital h2.topContents__h2::before,
  .topNews h2.topContents__h2::before {
    font-size: 1.8rem;
    position: static;
    display: block;
    margin-bottom: 12px;
    text-align: center;
  }

  .topQuestion h2.topContents__h2::after,
  .topHospital h2.topContents__h2::after,
  .topNews h2.topContents__h2::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    border-bottom: 1px solid #333;
    margin-left: -18.5px;
  }

  .topContents__inner {
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }

  .topMV {
    height: 491px;
    background-color: #fff;
    margin-top: 0px;
    background-position: -420px;
    margin-top: 57px;
  }

  .topMv__inner {
    height: 530px;
    position: relative;
    background-size: 357%;
    background-position: top right 5.5%;
  }

  .topMv__copy {
    position: absolute;
    top: auto;
    margin-top: 0;
    right: auto;
    left: 12px;
    bottom: 36px;
  }
  .topMV__copy-ttl {
    font-size: 3rem;
    line-height: 1.7;
  }
  .topMV__copy-ttl span {
    padding: 6px;
  }
  .topMV__copy-en {
    font-size: 1.8rem;
    color: #fff;
  }
	
  .topMV__copy-txt　{
    font-size: 2.2rem;
    font-weight: normal;
    margin-bottom: 6px;
    position: static;
  }

  .topAbout .cm__btn {
    margin-top: 3rem;
  }
  .topContents section.topNayami {
    padding-bottom: 0 !important;
  }
  .topNayami__inner {
    padding-top: 0;
    background-image: url("../img/topContentsnayami-bg-sp.png");
    padding-top: 81px;
    background-position: top right;
    background-size: 100% 100%;
    padding-bottom: 84px;
  }

  .topNayami__ttl {
    font-size: 2.4rem;
    padding: 0;
    margin-top: 1.7rem;
  }
  .topNayami__list {
    padding: 0 3.6rem;
  }
  .topNayami__list li {
    font-size: 1.6rem;
    padding-left: 3rem;
  }
  .topNayami__list .color {
    font-size: 1.8rem;
  }
  .topNayami__list li::before {
    width: 20px;
    height: 20px;
  }
  .topSolution {
    padding-bottom: 5.5rem;
  }
  .topSolution__desc-txt {
    padding: 2.4rem;
    background-color: #fff;
    border: 2px solid var(--Main);
    margin: 0 24px;
    line-height: 1.4;
  }
  .topSolution__desc {
    padding-top: 7rem;
  }
  .topSolution__desc-catch .sm {
    font-size: 2.4rem;
  }
  .topSolution__catch {
    width: 247px;
    left: initial;
    right: 0;
    transform: initial;
    top: -60px;
  }
  .topSolution__mainimg {
    min-width: 163px;
    max-width: 163px;
    position: relative;
    left: 10px;
  }
  .topSolution__wrap {
    align-items: flex-start;
    gap: 0;
  }
  .topSolution__desc-ttl {
    font-size: 2rem;
    white-space: nowrap;
    position: relative;
    right: 16px;
  }
  .topSolution__desc-catch {
    font-size: 3.3rem;
    text-align: center;
    position: relative;
    right: 16px;
  }

  .topLinks__list {
    grid-template-columns: 1fr 1fr;
    padding: 0 1.5rem;
  }
  .topLinks__list li {
    max-width: initial;
  }
  .topLinks__list li a {
    text-align: center;
  }
  .topContents section.topAbout {
    padding-top: 4.3rem;
    padding-bottom: 5rem;
  }

  section.topAbout {
    overflow-x: hidden;
    overflow-y: clip;
  }
  .topAbout__wrap {
    flex-direction: column;
  }
  .topAbout__copy {
    width: 100%;
    line-height: 1.5;
    font-size: 2rem;
    position: relative;
    text-align: center;
    font-weight: initial;
    line-height: 1.6;
  }

  .topAbout_txt {
    width: calc(100vw - 50px);
    line-height: 2;
    min-height: auto;
    margin: 26px auto 0;
    line-height: 1.5;
  }

  .topAbout_img {
  }

  .topAbout_img img {
    max-width: 100%;
    object-fit: cover;
    object-position: bottom left;
  }
  .topClinicFeature__list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    margin-top: 3.7rem;
  }

  .topClinicFeature__item {
    display: flex;
    align-items: center;
    background-color: #ecfcff;
    padding: 18px;
  }
  .topClinicFeature__item:first-of-type .num,
  .topClinicFeature__item:nth-of-type(2) .num {
    margin-right: 3.2rem;
  }
  .topClinicFeature__item .num {
    margin-right: 2.2rem;
  }
  .topClinicFeature__item:nth-of-type(2) img {
    margin-right: 3.6rem;
  }
  .topClinicFeature__item:nth-of-type(3) img {
    margin-right: 1.5rem;
  }
  .topClinicFeature__item img {
    margin: 0 2.6rem 0 0;
  }
  .topClinicFeature .cm__btn {
    margin-top: 3.6rem;
  }
  .topClinicFeature__item-txt {
    margin: 0;
    text-align: left;
  }

  .fixedLink {
    display: none;
  }

  .fixedLink__item a:hover {
    opacity: 1;
  }
  .topReason__list {
    margin-top: 3.7rem;
  }

  .topReason__item {
    flex-direction: column;
    gap: 1.8rem;
    margin: 0 14px;
    padding: 2.6rem 1.6rem;
  }
  .topReason__title {
    font-size: 2rem;
    display: flex;
    align-items: center;
    padding-bottom: 12px;
  }
  .topReason__title span.ttl {
    font-weight: bold;
    line-height: 1.3;
  }
  .topFeature__ttl .sm {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .topFeature__list {
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin-top: 4.5rem;
  }
  .topFeature__item {
    width: 115px;
    height: 115px;
  }
  .topFeature__item:nth-of-type(4) {
    position: relative;
    left: 5%;
  }
  .topFeature__item:last-of-type {
    position: relative;
    right: 5%;
  }
  .topFeature__num {
    font-size: 2.7rem;
    margin-top: 1rem;
  }
  .topFeature__text {
    font-size: 1.4rem;
  }
  .topFeature__desc {
    margin: 46px 22px 0;
  }
  .topFeature__btn {
    margin-top: 1.8rem;
  }

  .topFlow__btn-prev,
  .topFlow__btn-next {
    display: none !important;
  }
  .topKuchikomi__item {
    flex-direction: column;
    padding: 24px 0;
    padding-left: 0px;
    min-height: auto;
  }
  .topKuchikomi__img {
    border-right: none;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
  }
  .topKuchikomi__img .num {
    position: absolute;
    top: -20px;
    left: 20px;
    font-size: 35px;
  }
  .topKuchikomi__list {
    margin: 32px auto 0;
    padding: 0px 16px;
  }

  .topKuchikomi__item-ttl {
    margin-top: 8px;
  }

  .topKuchikomi__item-ico {
    position: static;
    margin: 0 18px 0 65px;
  }

  .topKuchikomi__item-txt {
    margin: 2.2rem 2.4rem 1rem;
  }
  .point__wrap img {
    width: 200px;
    max-width: 100%;
  }
  .point__ttl {
    font-size: 1.6rem;
    width: 90px;
    font-weight: bold;
  }
  .point__catch {
    font-size: 2.6rem;
  }
  .point__num {
    font-size: 5rem;
  }
  .point__num .md {
    font-size: 4rem;
  }
  .point__num .sm {
    font-size: 2rem;
  }
  .point .caution {
    font-size: 10px;
  }
  .topContents section.topFlow {
    padding-bottom: 62px;
  }
  .topFlow .topContents__inner {
  }

  .topFlow__btn {
    top: 92px;
    right: 40px;
  }

  .topFlow__btn li:hover {
    opacity: 1;
  }

  .topFlow__boxList {
    margin-top: 8px;
    position: relative;
    margin-left: 0;
    right: 30px;
  }
  .topFlow__box {
    margin-top: 3.6rem;
  }
  .topFlow__boxList-item {
  }

  .topFlow__boxList-item img {
    width: 100%;
    height: 205px;
    object-fit: cover;
  }

  .topFlow__boxList-item::after {
    margin-top: -100px;
  }

  .topFlow__boxList-itemCopy {
    font-size: 2rem;
    padding: 2.4rem 1.6rem 1.6rem;
  }
  .topFlow__boxList-itemTxt {
    padding: 0 1.6rem 2.4rem;
  }
  .topFlow .topContents__inner {
  }
  .topCase__h2 .sm {
    font-size: 1.4rem;
  }
  .topCase__prev,
  .topCase__next {
    display: none !important;
  }
  .topCase__item {
    padding: 0 10px;
  }
  .topCase .cm__btn {
    margin-top: 8rem;
  }
  .topNews__area {
    margin-top: -16px;
  }

  .topNews .topContents__h2::after {
    display: block;
  }

  .topNews__item a {
    width: 100%;
    padding: 24px 16px;
  }

  .topNews__item a:hover {
    opacity: 1;
  }

  .topNews__item a time {
    display: block;
    position: static;
    margin-bottom: 16px;
  }

  .topNews__item-txt {
    padding-left: 0px;
    display: block;
    line-height: 1.5;
    padding-right: 3.2rem;
  }

  .topContents section.topHospital {
    padding-top: 0;
  }

  .topHospital h2.topContents__h2 {
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  .topHospital__img {
    overflow-x: scroll;
  }

  .topHospital__imgList {
    grid-template-columns: 280px 280px 280px 280px;
  }

  .topHospital__imgList-item {
    width: 280px;
    height: 198px;
    overflow: hidden;
  }

  .topContents__inner .qaBox {
    float: none;
  }

  .topContents__inner .qaBox__area {
    padding-top: 20px;
  }

  .qaBox {
    margin-top: 12px;
    text-align: left;
    display: inline-block;
    width: 100%;
    border-radius: 4px;
    box-shadow: 1px 1px 3px #ccc;
    padding: 32px 20px;
    box-sizing: border-box;
    position: relative;
  }

  .qaBox__q {
    padding-right: 40px;
    font-size: 1.6rem;
  }

  .qaBox__a {
    margin-top: 24px;
    font-size: 1.6rem;
  }

  .qaBox::after {
    right: 24px;
  }

  .qaBox__q::before {
  }

  .moreLink a:hover {
    opacity: 1;
  }

  /* ==========================================================================
  下層ページ共通
  =========================================================================== */
  p.pageContents__ttl-en,
  .singleContents__ttl-en {
    font-size: 2.2rem;
  }
  .pageinner__sm,
  .pageinner__md,
  .pageinner__lg {
    padding-right: 1.4rem;
    padding-left: 1.4rem;
  }
  .page,
  .single {
    min-width: 100%;
    padding-top: 0;
  }

  .pageContents,
  .singleContents {
    padding-top: 54px;
  }

  .pageContents__ttl,
  .singleContents__ttl {
    height: 170px;
    padding: 0 12px;
  }

  .pageContents__ttl-h1,
  .singleContents__ttl-p {
    line-height: 1.2;
    font-size: 3rem;
    line-height: 1.2;
    padding: 5px 1.6rem;
  }

  .singleContents__ttl-h1 {
    font-size: 2rem;
  }

  .pageContents__ttl-en,
  .singleContents__ttl-en {
    font-size: 1.6rem;
  }

  .pageContents__container,
  .singleContents__container {
    padding: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .pageContents__container h2 {
    font-size: 2.4rem;
    margin-top: 48px;
    font-size: 24px;
    margin-top: 14px;
    text-align: center;
  }

  .pageContents__container h2 + * {
    /* margin-top: 24px; */
  }

  .singlePage {
    padding: 6rem 2rem;
  }
  .singlePage__ttl {
    margin-top: 0;
  }

  .singlePage__ttl-h1 {
    font-size: 2.2rem;
  }

  .singlePage__contents {
    margin-top: 24px;
  }
  .singleContents h2 {
    font-size: 2rem;
  }
  .singleContents h3 {
    font-size: 1.8rem;
  }
  .pagination a:hover {
    opacity: 1;
  }
  .pageContents .cm__btn {
    max-width: 284px;
  }
  .cm__cta {
    padding: 3.4rem 2.5rem;
  }
  .cm__cta a.clinic__info-btn {
    margin-top: 0;
  }
  .cm__cardlist__item {
    flex-direction: column;
    padding: 2.4rem;
  }
  .cm__cardlist__heading {
    border-right: none;
    border-bottom: 1px solid var(--Main);
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
    min-width: initial;
  }
  .cm__cardlist__heading h3 {
    padding-right: 0;
    font-size: 2rem;
  }
  .cm__cardlist__content {
    padding-left: 0;
  }
  ul:not([id]) li.cm__listnav__item {
    gap: 8px;
    padding: 8px;
  }
  ul.cm__listnav {
    grid-template-columns: 1fr 1fr;
    gap: 8px 11px;
  }
  /* ==========================================================================
  当院について
  =========================================================================== */
  p.aboutPage__message-catch {
    font-size: 2rem;
  }
  .aboutPage__message {
    font-size: 1.6rem;
    text-align: left;
    padding: 60px 12px;
  }

  .aboutPage__message-catch {
    font-size: 2.3rem;
    text-align: center;
    line-height: 1.71;
    letter-spacing: 0.1em;
  }

  .aboutPage__message-txt {
    line-height: 1.75;
    margin-top: 24px;
  }

  .aboutPage__message > img {
    width: 100%;
    margin-top: 24px;
  }

  /* 診療理念 */
  .pageAbout .aboutcommit {
    padding-right: 12px;
    padding-left: 12px;
  }
  .pageAbout .about__item {
    flex-direction: column;
    max-width: calc(100% - 32px);
    margin-right: auto;
    margin-left: auto;
    align-items: center;
  }
  .pageAbout .about__item:nth-of-type(2) {
    flex-direction: column-reverse;
  }
  .pageAbout .about__item:nth-of-type(2) .about__img {
    position: initial;
  }
  .pageAbout .about__text {
    margin-top: 0;
    max-width: initial;
    min-width: initial;
    margin: 0 auto;
    padding: 30px 24px 24px;
  }
  .pageAbout .aboutcommit__heading {
    border-bottom: 1px solid var(--Main);
    min-width: initial;
    border-right: none;
  }
  .pageAbout .about__text h3 {
    margin-top: 0;
  }
  .pageAbout .aboutcommit__item {
    flex-direction: column;
    padding: 2.4rem;
  }
  .pageAbout .aboutcommit__content {
    padding-left: 0;
  }
  .pageAbout .aboutcommit__list {
    margin-top: 4.4rem;
  }
  .pageAbout .aboutcommit__content a {
    margin-top: 2rem;
  }

  /* クリニック概要 */
  .aboutPage__clinic {
    padding: 0;
  }

  .aboutPage__clinic-wrap:nth-child(n + 2) {
    margin-top: 52px;
  }

  .aboutPage__clinic-item {
    flex-direction: column;
    gap: 12px;
  }

  .aboutPage__clinic-item:nth-of-type(n + 2) {
    margin-top: 16px;
  }

  .aboutPage__clinic dt {
    text-align: left;
  }

  .aboutPage__clinic-name {
    font-size: 16px;
  }

  .aboutPage__clinic-name + * {
    margin-top: 14px;
  }

  .aboutPage__clinic-map {
    height: 300px;
    margin-top: 8px;
  }

  .aboutPage__clinic hr {
    margin: 32px 0;
  }

  /* ==========================================================================
  レーザー治療について
  =========================================================================== */
  .featurePage__summary-txt {
    padding: 0;
    margin-top: 24px;
  }

  .featurePage__summary > img {
    margin-top: 16px;
  }

  .featurePage__detail {
    margin-top: 48px;
  }

  .featurePage__detail-item > img {
    width: 100%;
    height: auto;
  }

  .featurePage__detail-item {
    flex-direction: column;
    gap: 16px;
  }

  .featurePage__detail-item:nth-child(2n) {
    flex-direction: column;
  }

  .featurePage__detail-item:nth-child(n + 2) {
    margin-top: 24px;
  }

  .featurePage__detail-heading {
    font-size: 1.8rem;
    text-align: center;
  }

  .featurePage__detail-txt {
    margin-top: 12px;
  }

  /* ==========================================================================
  お知らせ
  =========================================================================== */
  .newsPage__inner {
    padding: 4.8rem 2.4rem 10rem;
  }

  .newsPage__contents-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    height: auto;
    padding: 0 16px 24px;
  }

  .newsPage__contents-item:hover dt,
  .newsPage__contents-item:hover dd {
    opacity: 1;
  }
  .newsPage__contents-item dd {
    padding-right: 3rem;
  }
  .newsPage__contents-item dt {
    font-size: 1.6rem;
  }
  .newsPage__contents-item a::after {
    width: 24px;
    height: 24px;
  }
  .pagination__link--num {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  .pagination__left,
  .pagination__right,
  .pagination__prev::before,
  .pagination__next::after {
    width: 40px;
    height: 40px;
  }

  /* ==========================================================================
  よくある質問
  =========================================================================== */
  .pageQuestion {
    padding: 6rem 6px;
  }
  .pageQuestion .qaBox {
    padding: 13px 38px 13px 13px;
  }

  .pageQuestion .qaBox::after {
    width: 20px;
    height: 20px;
    right: 16px;
  }

  .pageQuestion .qaBox__q,
  .pageQuestion .qaBox__a {
    font-size: 1.6rem;
  }

  .pageQuestion .qaBox__q {
    padding: 0;
    align-items: flex-start;
  }

  .pageQuestion .qaBox__a {
    padding: 0;
    margin-top: 18px;
    padding-top: 15px;
  }

  .pageQuestion .qaBox__q::before,
  .pageQuestion .qaBox__a::before {
    line-height: initial;
  }

  .pageQuestion .qaBox__a::before {
    width: 40px;
    height: 40px;
    background-position: 0;
  }

  /* ==========================================================================
  運営者情報
  =========================================================================== */

  /* ==========================================================================
  お問い合わせ
  =========================================================================== */
  /* 進捗 */
  .contactPage__progress-list {
    gap: 40px;
  }

  .contactPage__progress-item {
    height: 48px;
  }

  .contactPage__progress-item:nth-child(n + 2)::before {
    width: 78px;
    left: -59px;
  }

  .contactPage__progress-txt {
    line-height: 1.5;
    margin-top: 24px;
  }

  .contactPage__contents {
    margin-top: 40px;
  }

  /* 送信フォーム */
  .contactPage {
    padding-bottom: 248px;
  }

  .formSubmit__item textarea {
    line-height: 1.75;
  }

  /* フォームボタン */
  .form__btn {
    flex-direction: column;
    align-items: center;
  }

  .form__btn-submit:hover {
    opacity: 1;
  }

  .form__btn-submit input[type="submit"]:hover {
    opacity: 1;
  }

  .form__btn-back button:hover {
    opacity: 1;
  }

  /* 内容確認 */
  .contactPage__contents--confirm {
    margin-top: 8px;
  }

  .contactPage__contents--confirm .formSubmit__item {
    flex-direction: column;
    gap: 24px;
    padding: 32px 14px;
  }

  /* ==========================================================================
  404
  =========================================================================== */
  .errorMessage div {
    font-size: 2.8rem;
  }

  .errorMessage__num::after {
    height: 32px;
  }

  .errorMessage__ttl {
    font-size: 1.6rem;
  }

  .errorMessage__txt {
    font-size: 1.2rem;
  }

  .backToTop:hover {
    opacity: 1;
  }

  /* ==========================================================================
  アーカイブページ
  =========================================================================== */
  .pageContents__container.pageArchive {
    width: 100%;
  }

  .pageArchive__ttl-en {
    font-size: 14px;
  }

  .pageArchive__category-h1 {
    font-size: 20px;
    margin-top: 6px;
  }

  .pageArchive__ttl-p {
    font-size: 16px;
  }
  .pageArchive__list {
    padding: 6rem 0;
  }

  .pageArchive__category-list .badge {
    font-size: 13px;
  }

  .pageArchive__contents {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .pageArchive__contents-item {
    padding-bottom: 1.8rem;
    border-bottom: 1px solid var(--Main);
  }
  .pageArchive__contents-item a {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
  }

  .pageArchive__contents-item:hover {
    opacity: 1;
  }

  .pageArchive__contents-item-img {
    width: 186px;
    height: 115px;
    flex-shrink: 0;
  }

  .pageArchive__contents-item > div {
    flex-grow: 1;
  }

  .pageArchive__contents-item-badgeList {
    height: auto;
    margin-top: 0;
  }

  .pageArchive__contents-item-ttl {
    font-size: 14px;
    -webkit-line-clamp: 3;
    margin-top: 2px;
  }

  .pageArchive .pagination {
    margin-top: 40px;
  }

  .pageArchive__ranking {
    padding-bottom: 6.3rem;
  }

  .pageArchive__ranking-list {
    grid-template-columns: 1fr;
    row-gap: 30px;
    margin-top: 26px;
    padding: 0 10px;
  }
  .pageArchive__ranking-item img {
    width: 100%;
  }
  .pageArchive__ranking-item:hover {
    opacity: 1;
  }

  .pageArchive__ranking-item-ttl {
    font-size: 14px;
    line-height: 1.64;
    height: auto;
  }

  .pageArchive__ranking-item-badgeList {
    font-size: 13px;
    line-height: 1;
  }

  .pageArchive__ranking-item-badgeList .badge {
    font-size: 13px;
  }

  h2.pageArchive__h2 {
    font-size: 18px;
    padding-bottom: 0;
    margin-top: 30px;
  }

  /* ==========================================================================
  コラム
  =========================================================================== */
  /* パンくず */
  .breadcrumbs {
    width: 100%;
    padding: 0 12px;
    padding: 16px 24px;
  }

  .breadcrumbs,
  .breadcrumbs a {
    font-size: 12px;
  }

  .breadcrumbs a:hover {
    text-decoration: none;
  }

  .pageContents__container .breadcrumbs {
    padding: 16px 24px;
  }

  /* コラム記事 */
  .columnPage__container {
    width: 100%;
    flex-direction: column;
    padding: 0 24px;
    /* margin-top: 18px; */
  }

  .columnPage__container-left {
    width: 100%;
  }

  .columnPage__container-right {
    width: 100%;
  }

  .badge a:hover {
    opacity: 1;
  }

  .columnPage__top-ttl {
    font-size: 20px;
    margin-top: 6px;
  }

  .columnPage__contents {
    font-size: 14px;
    line-height: 1.75;
  }
  .pageContents__en {
    padding-top: 6rem;
  }
  .columnPage__contents h2 + * {
    /* margin-top: 14px; */
  }

  .cm__h3 {
    font-size: 2rem;
    padding-bottom: 11px;
  }

  .columnPage__contents h4 {
    font-size: 15px;
  }

  .columnPage__contents a:hover {
    opacity: 1;
  }

  .caution {
    font-size: 11px;
  }

  .subhead {
    font-size: 16px;
    padding-left: 32px;
  }

  .subhead::before {
    top: 0;
  }

  .columnPage__contents .table {
    margin-top: 10px;
  }

  .columnPage__contents .table thead th {
    font-size: 12px;
  }

  .columnPage__contents .table tbody th {
    font-size: 12px;
    line-height: 1.5;
  }

  .columnPage__contents .table td {
    font-size: 12px;
    line-height: 1.5;
  }

  .simplebox {
    padding: 24px;
  }

  .txt_img__keep img {
    max-width: 50%;
  }

  .keep .left_img {
    float: left;
    margin-right: 10px;
    max-width: 140px;
  }

  .arrow_down {
    margin: 12px auto;
  }

  .single-column > .reservation {
    display: block;
  }

  /* 関連記事 */
  .related {
    margin-top: 30px;
    width: 100vw;
    background: #fff;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 5.6rem 2.4rem;
  }

  .related__ttl-en {
    font-size: 14px;
  }

  .related__ttl-p {
    font-size: 16px;
  }
  p.related__list-item-ttl {
    padding-top: 0;
  }
  .related__list {
    margin-top: 20px;
  }

  .related__list-item {
    gap: 10px;
  }

  .related__list-item:hover {
    opacity: 1;
  }

  .related__list-item:nth-child(n + 2) {
    margin-top: 20px;
  }

  .related__list-item-badgeList {
    font-size: 13px;
    line-height: 1;
    bottom: 10px;
  }

  .related__list-item-badgeList .badge {
    font-size: 10px;
  }

  /* サイドバー */
  .columnPage__sidebar {
    margin-top: 30px;
  }

  .columnPage__sidebar-ttl-en {
    font-size: 20px;
  }

  .columnPage__sidebar-ttl-p {
    font-size: 24px;
    line-height: 1;
    margin-top: 20px;
  }

  .columnPage__sidebar-ranking-list {
    display: grid;
    gap: 20px 12px;
    grid-template-columns: 1fr;
    margin-top: 26px;
  }
  .columnPage__sidebar-ttl {
    flex-direction: column-reverse;
    align-items: center;
    gap: 0;
  }

  .columnPage__sidebar-ranking-item {
    width: 100%;
  }

  .columnPage__sidebar-ranking-item:hover {
    opacity: 1;
  }

  .columnPage__sidebar-ranking-item:nth-child(n + 2) {
    margin-top: 0;
  }

  .columnPage__sidebar-ranking-item-img {
    width: 100%;
  }

  .columnPage__sidebar-ranking-item-ttl {
    font-size: 14px;
    line-height: 1.64;
    height: 69px;
    margin-top: 6px;
    -webkit-line-clamp: 3;
  }

  .columnPage__sidebar-ranking-item-badgeList .badge {
    font-size: 13px;
  }

  .columnPage__sidebar-hotWord {
    margin-top: 30px;
  }

  .columnPage__sidebar-hotWord-list {
    justify-content: center;
    padding: 0 32px;
  }

  .columnPage__sidebar-hotWord-list .badge {
    font-size: 13px;
  }

  .matomebox__ttl {
    font-size: 15px;
  }

  /* ==========================================================================
  料金ページ
  =========================================================================== */
  .priceData__img {
    display: block;
    width: 100%;
    height: auto;
    float: none;
  }
  .pagePrice .types h2 + p {
    text-align: left;
    margin-top: 2.4rem;
    margin-bottom: 2.6rem;
  }
  .pagePrice .price__icon {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
  }
  .pagePrice .price__icon-item {
    font-size: 1.6rem;
    padding: 1.7rem 2rem;
  }
  .priceData__txt {
    display: block;
    width: calc(100% - 0px);
    margin-top: 0px;
  }

  .priceData > div > h3 {
    margin-top: 0;
  }

  .priceData .moreLink {
    left: -30px;
  }

  div.price__description > ol > li {
    margin-top: 0 !important;
    margin-right: 0 !important;
    font-size: 16px;
  }

  /* フッターリンク */
  .info__left {
    width: 100%;
    display: inline-block;
  }

  .info__right {
    margin-top: 20px;
    width: 100%;
    display: inline-block;
  }

  .info__right .info__list {
    width: 100%;
    margin-top: 0px;
    grid-template-columns: 1fr;
  }

  .info__right .info__list-item a {
    text-align: left;
    padding-bottom: 15px;
  }
  .info__right .info__list-item {
    text-align: center;
    font-size: 14px;
    margin-bottom: 24px;
  }

  .header.ver2 {
    position: fixed;
  }

  body.home {
  }

  .header__linkBtn,
  .header__gnav {
    display: none;
  }

  .topMV__innerArea {
    width: 100%;
    margin: 0 auto;
    height: 100%;
    position: relative;
  }

  .topMV__copy-smalltxt {
    font-size: 2rem;
    background-color: rgba(255, 255, 255, 0.4);
    padding: 0 10px;
  }

  .topMV__copy {
    position: absolute;
    top: 42px;
    left: 20px;
  }

  .topMV__bnr {
    display: block;
    width: 350px;
    margin-right: auto;
    margin-left: auto;
  }

  .topMV__btn {
    width: 100%;
    max-width: 339px;
    margin-top: 2.7rem;
  }
  .topMV__btn a::before {
    content: none;
  }

  .topMV__btn a:not(:last-child) {
    margin-bottom: 1rem;
  }

  .topMV__btn a.line {
    display: block;
  }

  .topMV__copy-en {
    color: #fff;
    font-size: 1.8rem;
  }

  .sp_adj {
    display: block;
    margin-top: 10px;
  }
  .topClinic13 {
    margin-top: 2.7rem;
  }
  .topClinic__area {
    margin-top: 0;
  }

  .topClinic details {
    float: none;
    padding: 16px 10px;
    width: 100%;
    margin-top: 6px;
  }
  .topClinic details ul li {
    height: 53px;
    width: 49%;
  }
  .topClinic details ul li a {
    padding: 16px 2.4rem;
  }
  .topClinic summary {
    font-size: 16px;
    padding: 3px 0;
  }

  .topClinic details summary::after {
    top: 22px;
    width: 20px;
    height: 20px;
    background-size: 20px;
  }

  .topClinic details ul a {
    font-size: 15px;
  }

  .topClinic .topContents__h2 {
    text-align: center;
    padding-top: 0;
  }

  .topClinic .topContents__h2::before {
    content: attr(data-en);
    color: var(--Main);
    font-size: 1.8rem;
    position: static;
    text-align: center;
    display: block;
    margin-bottom: 10px;
  }
  .TopColumn {
    margin-top: 60px;
    margin-bottom: 48px;
  }
  .TopColumn__box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .TopColumn__box img {
    margin-right: auto;
    margin-left: auto;
    width: auto;
    height: auto;
  }
  .TopColumn__box a:nth-last-of-type(-n + 3) {
    display: none;
  }
  ul.jump {
    grid-template-columns: 1fr 1fr;
    display: grid;
    gap: 8px 11px;
  }

  .columnPage__contents ul li.jump-item {
    padding-right: 15px;
    padding-left: 14px;
  }
  ul li.jump-item::after {
    right: 0;
  }
  .columnPage__contents ul:not([id]) li.list01-item {
    padding-left: 32px;
  }

  .columnPage__contents ul:not([id]) li.list01-item::before {
    left: 16px;
    top: 50%;
  }

  .columnPage__contents ul.list02 {
    gap: 8px 11px;
    grid-template-columns: 1fr 1fr;
  }

  .columnPage__contents ul:not([id]) li.list02-item {
    padding-left: 10px;
    padding-right: 4px;
    gap: 8px;
  }

  .pageClinic .topClinic__area {
    margin-top: 0;
  }

  .clinic__about-inner {
    flex-direction: column;
    margin-top: 3rem;
    gap: 30px;
    padding: 0 10px;
  }
  .clinic__about .cm__btn {
    margin-right: auto;
    margin-left: auto;
    margin-top: 3rem;
  }
  .clinic__info-tableFrame {
    margin-top: 2.8rem;
    margin-right: 10px;
    margin-left: 10px;
  }
  .clinic__reason-wrap {
    padding: 0 1.2rem;
    flex-direction: column;
    align-items: center;
    margin-top: 4rem;
  }
  .clinic__reason-box {
    max-width: 100%;
  }
  .clinic__reason-box img {
    width: 100%;
  }
  .clinic__about-inner img {
    max-width: 100%;
    width: 100%;
  }
  

  .ft24 {
    font-size: 18px;
  }

  .ft32 {
    font-size: 24px;
  }

  .ft40 {
    font-size: 32px;
  }

  .priceTable table {
    min-width: initial;
    width: calc(100% - 48px);
    margin-top: 0;
  }

  .priceTxt__num {
    font-size: 16px;
  }

  .priceTable {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }

  .priceTable tbody tr td:nth-of-type(2) {
  }

  h2.price__h2::before {
    top: 2px;
  }

  .profile {
    padding: 32px 12px;
  }

  .profile__inner {
    flex-direction: column;
  }

  .profile__imgs {
    display: flex;
    gap: 20px;
    align-items: center;
  }

  img.profile__img {
    width: 29%;
  }

  .fukidashi {
    gap: 20px;
  }

  .fukidashi__img {
    max-width: 80px;
  }

  .fukidashi__desc::before {
    border: 15px solid transparent;
  }

  .fukidashi__desc::after {
    border: 16px solid transparent;
  }

  .--imgright .fukidashi__desc::before {
    right: -15px;
  }

  .--imgright .fukidashi__desc::after {
    right: -16px;
  }

  .--imgleft .fukidashi__desc::before {
    left: -15px;
  }

  .--imgleft .fukidashi__desc::after {
    left: -16px;
  }

  .shindan {
    padding: 30px 20px;
  }

  .shindan {
    padding: 20px 14px;
  }

  .columnPage__contents .shindan-ttl {
    font-size: 16px;
  }

  .shindan-faq-box .select-wrap .select {
    padding: 6px 8px;
  }

  .shindan .btn-wrap button {
    width: 180px;
    height: 60px;
    font-size: 14px;
  }

  .shindan-faq-box.result .ttl {
    font-size: 18px;
  }

  .page-about-snoring-treatment .cm__jumplist {
    padding: 3rem 1.5rem;
  }
  .page-about-snoring-treatment .ibitiTreatment .pageinner__md {
    padding: 0 2.4rem;
  }
  .page-about-snoring-treatment .ibitiTreatment p:first-of-type {
    margin-top: 2.4rem;
  }
  .page-about-snoring-treatment .ibikiType__desc {
    text-align: center;
  }
  .page-about-snoring-treatment .ibikiType__list {
    grid-template-columns: 1fr;
    margin-top: 4rem;
  }
  .page-about-snoring-treatment .ibikiType__list h3 {
    font-size: 2rem;
  }
  .page-about-snoring-treatment .ibikiType .pageinner__lg {
    padding: 0 2.6rem;
  }
  .page-about-snoring-treatment .ibikiAbout {
  margin-bottom: 61px;
}
  .page-about-snoring-treatment .ibikiCost .pageinner__lg {
    padding: 0 3rem;
  }
  .page-about-snoring-treatment .ibikiCost__comparetable {
    width: 100%;
    overflow-x: scroll;
    margin-top: 17px;
  }
  .page-about-snoring-treatment .ibikiCost__comparetable table thead th:first-child {
    width: 160px;
  }
  .page-about-snoring-treatment .ibikiCost__comparetable table {
    min-width: 1000px;
  }
  .columnPage__contents table.ibikiCost__table {
    margin-top: 3rem;
  }
  .page-about-snoring-treatment .ibikiFlow .pageinner__lg {
    padding: 0 3rem;
  }
  .page-about-snoring-treatment .flowPage__contents {
    margin-top: 4.6rem;
  }
  .page-about-snoring-treatment .flowPage__contents-item {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  .page-about-snoring-treatment .flowPage__contents-item:nth-child(n + 2) {
    margin-top: 25px;
  }

  .page-about-snoring-treatment .flowPage__contents-item > img {
    height: auto;
    width: 100%;
  }

  .columnPage__contents p.flowPage__contents-heading {
    font-size: 2rem;
    padding: 3rem 0 0;
    margin: 0 24px;
    width: auto;
    border-bottom: 0;
  }

  .columnPage__contents p.flowPage__contents-txt {
    font-size: 1.6rem;
    margin-top: 16px;
    padding: 0 24px;
    padding-bottom: 3rem;
  }
  .flowPage__contents-item .num {
    border-right: 1px solid var(--Main);
    padding-right: 16px;
  }
  /* クリニック一覧 */
  .page-clinic-list .pageinner__lg {
    padding: 0 2.5rem 8.3rem;
  }
  .page-clinic-list .area__ttl {
    margin-top: 7rem;
  }
  .pageCliniclist__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 11px;
  }
  .page-clinic-list {
    padding-top: 3.8rem;
  }
  .pageCliniclist__contents-item {
    flex-direction: column;
    padding: 0;
    gap: 0;
  }
  .pageCliniclist__contents-item .thumb img {
    width: 100%;
    object-fit: cover;
  }
  .page-clinic-list .information {
    padding: 2.2rem 2.8rem;
  }
  .page-clinic-list .information .cm__btn {
    max-width: 284px;
    margin-right: auto;
    margin-left: auto;
  }
  /* クリニック詳細 */
  .singleClinic .pageContents__ttl-h1 span:first-of-type {
    font-size: 2rem;
    top: -4px;
  }
  .singleClinic .pageContents__ttl-h1 span {
    padding: 6px 16px;
  }
  .singleClinic .pageContents__ttl {
    gap: 0;
  }
  .singleClinic__thumbnail {
    padding-top: 6rem;
  }
  h1.clinicDetail.pageContents__ttl-h1 {
    font-size: 2rem;
  }

  .singleClinic .flowPage__contents {
    margin-top: 4.6rem;
  }
  .singleClinic .clinic__flow .flowPage__contents-item {
    flex-direction: column;
    padding: 0;
    gap: 30px;
  }
  .singleClinic .clinic__flow .flowPage__contents-item img {
    min-width: 100%;
    max-width: 100%;
    height: auto;
  }
  .singleClinic .clinic__flow .flowPage__contents-heading {
    padding-top: 0;
  }
  .post_container {
    margin-top: 54px;
  }

  .clinicListPage {
    width: 100%;
  }

  .clinicList {
    display: grid;
    gap: 25px;
    grid-template-columns: 1fr;
  }

  .pageContents__container.clinicDetailPage {
    width: 100%;
    padding-bottom: 80px;
  }

  .clinic__flow-inner {
    width: 100%;
    margin: 0 auto;
  }

  .clinic__info-table tbody th {
    text-align: left;
    padding: 10px 0 0;
    display: block;
  }

  .clinic__info-table tbody td {
    padding: 0 0 10px;
    display: block;
  }

  .clinic__info-tableFrame {
    padding: 20px;
  }

  .clinic__flow-list {
    margin: 20px auto 0;
    display: static;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .clinic__access-grid {
    display: block;
  }

  .clinic__access-map {
    width: 100%;
    margin: 12px auto 0;
  }

  a.clinic__access-link {
    display: none;
  }

  .clinic__access-txt {
    padding: 0 10px;
  }

  .clinic__access-map iframe {
    width: 100%;
    height: 250px;
  }

  .clinic__access-map a.clinic__access-link {
    display: inline-block;
    margin: 10px auto 20px;
  }

  .clinic__accodion-list {
    display: block;
    padding: 0 40px;
  }

  .clinic__accodion-item {
    width: 100%;
    padding-bottom: 55px;
  }

  .clinic__accodion-item::after {
    content: "";
    display: inline-block;
    background-image: url(../img/clinic_list_item_ico.svg);
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    position: absolute;
    top: auto;
    bottom: 10px;
    margin-top: 0px;
    right: 50%;
    margin-right: -20px;
    transform: rotate(90deg);
  }

  .clinic__accodion-item:nth-of-type(4n)::after {
    display: block;
  }

  .clinic__accodion-item:last-of-type::after {
    display: none;
  }

  .clinic__flow {
    padding: 40px 20px;
    box-sizing: border-box;
    overflow-x: scroll;
  }

  .clinic__flow-inner h2 {
    margin-top: 0;
  }

  .clinic__flow-item:nth-of-type(4) {
    margin-right: 20px;
  }

  .clinic__flow-list {
    display: block;
    grid-template-columns: 1fr;
  }

  .clinic__flow-item:after {
    content: "";
    position: absolute;
    top: auto;
    bottom: -20px;
    right: 50%;
    margin-top: 0;
    margin-right: -5px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 15px 0 15px 10px;
    border-color: transparent transparent transparent #fff;
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .clinic__flow-item {
    margin: 0 auto 30px;
    display: block;
    width: calc(100% - 60px);
  }

  .clinic__flow-item:nth-of-type(4) {
    margin-right: auto;
  }

  .clinic__way-list {
    display: flex;
    flex-direction: column;
  }
  .clinic__way-item {
    width: 100%;
  }
  .clinic__way-item img {
    height: 220px;
  }
  .clinic__reason {
    padding-bottom: 6rem;
  }
  .clinic__reason-box-desc {
    padding: 16px 24px 32px;
  }
   .clinic__hospital-list {
      margin: 20px auto 0;
      display: grid;
      gap: 20px;
      grid-template-columns: 1fr;
    }

    .clinic__hospital-item {
      width: 100%;
      display: block;
    }
  .pageMechanism .mechanism {
    padding-right: 10px;
    padding-left: 10px;
  }
  .pageMechanism .sign .cause_imgList {
    grid-template-columns: 1fr 1fr;
  }
  .pageMechanism .sign .cause_imgList__item img {
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
  }
  .pageMechanism .sign {
    padding-right: 14px;
    padding-left: 14px;
  }
  .pageMechanism a.cm__causeBtnLink__btn {
    margin-bottom: 3.6rem;
  }
  .pageMechanism .causeRisk {
    grid-template-columns: 1fr;
  }
  .pageMechanism .risk {
    padding-bottom: 4rem;
  }
  .pageMechanism .flow {
    padding-bottom: 5rem;
  }
  .pageMechanism .flow__list {
    grid-template-columns: 1fr;
    padding: 0 20px;
    gap: 36px;
    margin-top: 5.3rem;
  }
  .pageMechanism .flow__list-flex {
    flex-direction: column;
    width: 100%;
  }
  .pageMechanism .flow__list-flex-inner {
    display: flex;
    justify-content: space-around;
  }
  .pageMechanism .treatment {
    padding-right: 10px;
    padding-left: 10px;
  }
  .pageMechanism .treatment h2::first-line {
    font-size: 2rem;
  }
  .pageMechanism .treatment__img {
    margin-top: 2.4rem;
    margin-bottom: 3.5rem;
  }
  .pageMechanism .treatment .cm__ctabnr {
    margin-bottom: 3.5rem;
  }
  .pageMechanism li.flow__list-item,
  .pageMechanism .flow__list-item:first-of-type,
  .pageMechanism .flow__list-item:last-of-type {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  .pageMechanism li.flow__list-item::before {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -25px;
    width: 0px;
    top: auto;
    height: 0px;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #fff transparent transparent transparent;
    z-index: 2;
    border-radius: 0;
  }
  .pageMechanism .flow__list-item::after {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    top: auto; /* 上側指定を無効化 */
    right: auto; /* 右側指定を無効化 */
    margin: 0 0 0 -26px; /* 中央寄せ（ひと回り大） */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 26px 26px 0 26px; /* ▼（ひと回り大） */
    border-color: #999 transparent transparent transparent;
    z-index: 1;
  }
  .pageMechanism .flow__list-item:nth-of-type(3) {
    border: 1px solid var(--Main);
  }
  .pageMechanism .flow__list-item img {
    margin-top: 0;
    width: 128px;
    height: 99px;
  }
  .pageMechanism .flow__list-item:nth-of-type(3)::after {
    border-color: var(--Main) transparent transparent transparent;
  }
  .pageMechanism .flow__list-item:nth-of-type(3) .step {
    margin: 0;
  }
  .pageMechanism .causePage {
    padding-bottom: 5rem;
  }
  .pageIbikisnorelase .full__video video {
    max-width: 100%;
    height: auto;
  }
  .pageIbikisnorelase .snorelase {
    padding-right: 16px;
    padding-left: 16px;
    padding-bottom: 6rem;
  }
  .pageIbikisnorelase .treatment {
    padding-bottom: 6rem;
  }
  .pageIbikisnorelase .treatment .full_img {
    margin-top: 2.4rem;
  }
  .pageIbikisnorelase .treatment .cm__cardlist {
    padding-right: 16px;
    padding-left: 16px;
  }
  .pageIbikisnorelase .types {
    padding-bottom: 6rem;
  }
  .pageIbikisnorelase .types .table thead th:first-child {
    width: 7rem;
  }
  .pageIbikisnorelase .types .types__box {
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .pageIbikisnorelase .types .types__box:last-of-type {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .pageIbikisnorelase .price {
    padding-bottom: 6rem;
  }
  .pageIbikisnorelase .price table {
    margin-top: 3.8rem;
  }
  .pageIbikisnorelase .flow__list {
    grid-template-columns: 1fr;
    padding: 0 20px;
    gap: 36px;
    margin-top: 5.3rem;
  }
  .pageIbikisnorelase .flow__list-flex {
    flex-direction: column;
    width: 100%;
  }
  .pageIbikisnorelase .flow__list-flex-inner {
    display: flex;
    justify-content: space-around;
  }
  .pageIbikisnorelase li.flow__list-item,
  .pageIbikisnorelase .flow__list-item:first-of-type,
  .pageIbikisnorelase .flow__list-item:last-of-type {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  .pageIbikisnorelase li.flow__list-item::before {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -25px;
    width: 0px;
    top: auto;
    height: 0px;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #fff transparent transparent transparent;
    z-index: 2;
    border-radius: 0;
  }
  .pageIbikisnorelase .flow__list-item::after {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    top: auto; /* 上側指定を無効化 */
    right: auto; /* 右側指定を無効化 */
    margin: 0 0 0 -26px; /* 中央寄せ（ひと回り大） */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 26px 26px 0 26px; /* ▼（ひと回り大） */
    border-color: #999 transparent transparent transparent;
    z-index: 1;
  }
  .pageIbikisnorelase .flow__list-item img {
    margin-top: 0;
    width: 128px;
    height: 99px;
  }
  .pageIbikisnorelase .flow__list-txt {
    margin-top: 8px;
  }
  .pageIbikisnorelase .types .pageinner__md {
    padding: 0;
  }
  .pageIbikisnorelase .types .cm__listnav {
    margin-top: 3.6rem;
    margin-bottom: 3.6rem;
  }
  .pageIbikisnorelase .types .table td {
    padding: 10px;
  }
  .pageMonitor .about img {
    margin-top: 3rem;
  }
  .pageMonitor .about {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 6.2rem;
  }
  .pageMonitor .coorperation h2 + p {
    margin-top: 4.6rem;
  }
  .pageMonitor .coorperation {
    padding-right: 10px;
    padding-left: 10px;
  }
  .pageMonitor .coorperation .cm__list li::before {
    top: 8px;
  }
  /* 料金 */
  .pagePrice .mechanism {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 5.5rem;
  }
  .pagePrice .mechanism h2 + .full_img　 {
    margin-top: 3.2rem;
  }
  .pagePrice .treatment {
    padding: 0 1rem 6rem;
  }
  .pagePrice .types .table thead th:first-child {
    width: 70px;
  }
  .pagePrice .types {
    padding-bottom: 5.2rem;
  }
  .pagePrice .plan {
    padding-bottom: 6rem;
  }
  .pagePrice .plan .cm__list li::before {
    top: 8px;
    transform: initial;
  }
  /* .pagePrivacy  */
  .pagePrivacy {
    padding: 6.2rem 2.4rem;
  }
  .pagePrivacy h2 {
    padding-bottom: 1.6rem;
  }
  .pagePrivacy h2 {
    margin-top: 4.5rem;
  }
  .pagePrivacy h2:first-of-type {
    margin-top: 0;
  }
  /* CPAP */

  .pageCpap .cpap {
    padding-right: 1rem;
    padding-left: 1rem;
    padding-bottom: 5.5rem;
  }
  .pageCpap .cpap .cpap__wrap {
    flex-direction: column;
  }
  .pageCpap .benefits {
    padding: 0 10px 6rem;
  }
  .pageCpap .benefits__wrap {
    flex-direction: column-reverse;
    margin-top: 3.6rem;
  }
  .pageCpap .plan {
    padding-right: 10px;
    padding-left: 10px;
  }
  .pageCpap .plan .cm__list {
    margin-top: 1.6rem;
  }
  .pageCpap .plan .cm__cardlist__heading {
    padding-bottom: 1.4rem;
  }
  .pageCpap .plan .cm__list li::before {
    top: 8px;
    transform: initial;
  }

  .pageCpap .types {
    padding: 0 10px 6rem;
  }
  .pageCpap .types .types__list {
    flex-direction: column;
  }
  .pageCpap .types .mask_img {
    width: 100%;
    margin-top: 0;
  }
  .pageCpap .rental {
    padding: 0 10px 6rem;
  }
  .pageCpap .cost {
    padding: 0 10px 6rem;
  }
  .pageCpap .cost .table {
    margin-top: 2.4rem;
  }
  .pageCpap .cost .caution {
    font-size: 1.4rem;
    color: #666;
    margin-top: 2.4rem !important;
    display: inline-block;
  }
  .pageCpap .flow {
    padding: 0 1rem 7rem;
  }
  .pageCpap .flow__list {
    margin-top: 4rem;
  }
  .pageCpap .flow__list-item {
    flex-direction: column;
  }
  .pageCpap .flow__list-item .flow__list-heading {
    border-right: none;
  }
  .pageCpap .flow__list-item .flow__list-heading h3 {
    font-size: 2rem;
    border-bottom: 1px solid var(--Main);
    margin-top: 2rem;
  }
  .pageCpap .flow__list-item .flow__list-txt {
    padding-left: 0;
  }
  .pageCpap .interested {
    padding: 0 1rem 6rem;
  }
  .pageCpap .interested h2 {
    line-height: 1.3;
  }
  .pageCpap .interested h2::first-line {
    font-size: 2rem;
  }
  .bottomBox {
    width: calc(100% - 20px);
  }
}

@media (max-width: 769px) and (min-width: 641px) {
  .topMV {
    background-position: center;
  }
}
