@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Montserrat:wght@100;200;300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
@media screen and (min-width: 768px) {
  .vpc {
    display: block; } }
@media screen and (max-width: 767px) {
  .vpc {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .vsp {
    display: none !important; } }
@media screen and (max-width: 767px) {
  .vsp {
    display: block; } }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.5);
    /* 拡大率 */ } }
.add-animation {
  animation: zoomUp 22s linear 0s normal both; }

.dur {
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  transition-delay: 0s; }

.scroll-fade {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1.3s; }

.fade_on {
  opacity: 1;
  transform: translateY(0);
  transform: translateX(0); }

html {
  font-size: 62.5%; }

html,
body {
  height: 100%;
  background: #fff; }

body {
  word-break: break-all;
  color: #222;
  font-family: 'Noto Serif JP', serif; }

section {
  padding: initial; }

.contents {
  overflow: initial; }

ul,
ul li {
  list-style-type: none;
  padding: 0;
  margin: 0; }

ol {
  padding-left: 1.4em;
  list-style: none; }

dl {
  margin-bottom: 0; }

dl dt {
  margin-bottom: 0; }

dl dd {
  margin-bottom: 0; }

a {
  transition: 0.3s all;
  color: #222;
  opacity: 1;
  -webkit-transform: 0.3s all;
  transform: 0.3s all; }

@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
    opacity: 0.7; } }

i, em {
  font-style: normal; }

h2,
h3,
h4,
h5,
h6 {
  position: relative;
  margin-bottom: 0; }

h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span {
  display: inline-block; }

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

p {
  margin-bottom: 0; }

a[href^="tel:"] {
  text-decoration: none !important; }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none; } }

a.fax {
  text-decoration: none !important;
  pointer-events: none; }

#wrapper {
  position: relative;
  overflow: hidden; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1); }

body#home header.mv_on {
  background: none; }

#head-outer {
  max-width: 1920px;
  width: 100%;
  padding: 0 27px 0 50px;
  margin: 0 auto;
  letter-spacing: 0.1em; }
  @media only screen and (min-width: 767px) and (max-width: 1350px) {
    #head-outer {
      padding: 0 20px 0 20px; } }
  @media screen and (max-width: 767px) {
    #head-outer {
      padding: 0 17px; } }
  #head-outer #head-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    /*
    height: 110px;
    */ }
    @media screen and (max-width: 767px) {
      #head-outer #head-inner {
        height: 65px; } }
    @media screen and (max-width: 767px) {
      #head-outer #head-inner .logo {
        width: 171px; } }
    @media only screen and (min-width: 767px) and (max-width: 1100px) {
      #head-outer #head-inner .logo img {
        width: 200px; } }
    @media only screen and (min-width: 767px) and (max-width: 1000px) {
      #head-outer #head-inner .logo img {
        width: 175px; } }
    #head-outer #head-inner .head-foot {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      #head-outer #head-inner .head-foot .list ul {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (min-width: 768px) {
          #head-outer #head-inner .head-foot .list ul li {
            padding: 43px 0; } }
        #head-outer #head-inner .head-foot .list ul li a {
          font-family: 'Noto Sans JP', sans-serif;
          font-weight: 500;
          font-size: 1.6rem; }
          @media only screen and (min-width: 767px) and (max-width: 1100px) {
            #head-outer #head-inner .head-foot .list ul li a {
              font-size: 1.4rem; } }
          @media only screen and (min-width: 767px) and (max-width: 1000px) {
            #head-outer #head-inner .head-foot .list ul li a {
              font-size: 1.1rem; } }
          #head-outer #head-inner .head-foot .list ul li a span {
            display: inline-block;
            font-size: inherit;
            font-weight: inherit; }
        #head-outer #head-inner .head-foot .list ul li + li {
          margin-left: 55px; }
          @media only screen and (min-width: 767px) and (max-width: 1500px) {
            #head-outer #head-inner .head-foot .list ul li + li {
              margin-left: 30px; } }
          @media only screen and (min-width: 767px) and (max-width: 1350px) {
            #head-outer #head-inner .head-foot .list ul li + li {
              margin-left: 20px; } }
          @media only screen and (min-width: 767px) and (max-width: 1000px) {
            #head-outer #head-inner .head-foot .list ul li + li {
              margin-left: 10px; } }
      #head-outer #head-inner .head-foot .tel-outer {
        padding-left: 70px; }
        @media only screen and (min-width: 767px) and (max-width: 1500px) {
          #head-outer #head-inner .head-foot .tel-outer {
            padding-left: 40px; } }
        @media only screen and (min-width: 767px) and (max-width: 1350px) {
          #head-outer #head-inner .head-foot .tel-outer {
            padding-left: 25px; } }
        @media only screen and (min-width: 767px) and (max-width: 1000px) {
          #head-outer #head-inner .head-foot .tel-outer {
            padding-left: 15px; } }
        #head-outer #head-inner .head-foot .tel-outer .tel-inner a {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background: #EFEFEF;
          padding: 13.5px 19px;
          border-radius: 5px; }
          @media only screen and (min-width: 767px) and (max-width: 1350px) {
            #head-outer #head-inner .head-foot .tel-outer .tel-inner a {
              padding: 13.5px 10px; } }
          @media only screen and (min-width: 767px) and (max-width: 1200px) {
            #head-outer #head-inner .head-foot .tel-outer .tel-inner a {
              display: block;
              padding: 10px 10px; } }
          #head-outer #head-inner .head-foot .tel-outer .tel-inner a span {
            display: inline-block;
            line-height: 1; }
            @media only screen and (min-width: 767px) and (max-width: 1200px) {
              #head-outer #head-inner .head-foot .tel-outer .tel-inner a span {
                display: block; } }
            #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text01 {
              font-family: 'Noto Sans JP', sans-serif;
              font-weight: 500;
              font-size: 1.4rem;
              color: #A76BA8; }
              @media only screen and (min-width: 767px) and (max-width: 1100px) {
                #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text01 {
                  font-size: 1.3rem; } }
              @media only screen and (min-width: 767px) and (max-width: 1000px) {
                #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text01 {
                  font-size: 1.1rem; } }
            #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text02 {
              font-family: 'EB Garamond', serif;
              font-weight: 400;
              font-size: 2.8rem;
              color: #444;
              margin-left: 12px; }
              @media only screen and (min-width: 767px) and (max-width: 1200px) {
                #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text02 {
                  margin: 5px 0 0 0; } }
              @media only screen and (min-width: 767px) and (max-width: 1100px) {
                #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text02 {
                  font-size: 2.4rem; } }
              @media only screen and (min-width: 767px) and (max-width: 1000px) {
                #head-outer #head-inner .head-foot .tel-outer .tel-inner a span.text02 {
                  font-size: 1.8rem; } }

.mega-menu {
  background: #F5F5F5;
  position: absolute;
  top: 110px;
  left: 0;
  z-index: 2;
  width: 100%;
  /*
  opacity: 0;
  visibility: hidden;
  transition-property:all;
	transition-duration: 0.2s;
	transition-timing-function: ease;
	transition-delay: 0s;
  */
  display: none;
  overflow: hidden; }
  .mega-menu .mega-menu-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 1250px;
    padding: 0 25px;
    margin: 0 auto; }
    .mega-menu .mega-menu-inner .mm-left {
      width: 25%; }
      .mega-menu .mega-menu-inner .mm-left p {
        line-height: 1;
        color: #961C5C;
        font-weight: 700;
        font-size: clamp(1.3rem, 1.6vw, 2rem);
        padding-left: 25px; }
        @media screen and (max-width: 767px) {
          .mega-menu .mega-menu-inner .mm-left p {
            font-size: 1.3rem; } }
    .mega-menu .mega-menu-inner .mm-right {
      width: 75%;
      border-left: 1px solid #707070;
      margin: 45px 0; }
      .mega-menu .mega-menu-inner .mm-right .mm-right-inner {
        margin: 0 0 0 -7.333%; }
      .mega-menu .mega-menu-inner .mm-right .img-list {
        display: flex;
        flex-wrap: wrap;
        padding: 15px 50px 0 60px !important; }
        .mega-menu .mega-menu-inner .mm-right .img-list li {
          width: 26%;
          margin: 0 0 0 7.333% !important;
          padding: 0 !important; }
          .mega-menu .mega-menu-inner .mm-right .img-list li a {
            display: block !important; }
            .mega-menu .mega-menu-inner .mm-right .img-list li a span {
              display: block !important; }
          .mega-menu .mega-menu-inner .mm-right .img-list li .img {
            line-height: 0; }
          .mega-menu .mega-menu-inner .mm-right .img-list li .text {
            margin-top: 5px;
            text-align: center;
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 500; }
      .mega-menu .mega-menu-inner .mm-right .text-right-inner {
        display: flex;
        flex-wrap: wrap;
        flex-wrap: nowrap; }
      .mega-menu .mega-menu-inner .mm-right .text-list {
        display: grid !important;
        grid-auto-flow: column;
        grid-template-rows: repeat(3, auto);
        gap: 18px 65px;
        padding: 20px 0 20px 40px; }
        .mega-menu .mega-menu-inner .mm-right .text-list li {
          margin: 0 0 0 !important;
          padding: 0 0 0 !important; }
        .mega-menu .mega-menu-inner .mm-right .text-list + .text-list {
          margin-left: 15%;
          padding-left: 65px;
          border-left: 1px solid #707070; }

.mm-menu {
  cursor: pointer; }
  .mm-menu:hover > .mega-menu {
    /*
    opacity: 1;
    visibility: visible;
    */ }

/* navi */
#spNavi {
  position: fixed;
  width: 65px;
  height: 65px;
  text-align: center;
  cursor: pointer;
  top: 0;
  right: 5px;
  z-index: 999; }
  #spNavi > div {
    width: 28px;
    height: 1px;
    background-color: #333;
    left: 19px;
    position: relative; }
    #spNavi > div.menu1 {
      top: 28px; }
    #spNavi > div.menu2 {
      top: 35px; }
    #spNavi > div.menu3 {
      top: 43px;
      width: 18.5px; }
  #spNavi.open > div.menu1 {
    transform: translateY(6px) rotate(-45deg); }
  #spNavi.open > div.menu2 {
    opacity: 0; }
  #spNavi.open > div.menu3 {
    transform: translateY(-11px) rotate(45deg);
    width: 28px; }
  #spNavi.open .txt .t01 {
    display: none; }
  #spNavi.open .txt .t02 {
    display: block; }
  #spNavi.open + #head-float-navi {
    transform: translateX(0); }

/**/
#head-float-navi {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 101;
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translateX(100%); }
  #head-float-navi #head-float-navi-inner {
    overflow: scroll;
    height: 100%;
    background: #fff; }
    #head-float-navi #head-float-navi-inner .pnav-contents-outer {
      width: 100%;
      height: 100vh;
      position: relative;
      padding: 0 25px; }
      #head-float-navi #head-float-navi-inner .pnav-contents-outer .t01 {
        margin: 2px 0 10px; }
        #head-float-navi #head-float-navi-inner .pnav-contents-outer .t01 a {
          font-size: 1.5rem;
          color: #650F67;
          display: inline-block;
          background-position: left center;
          background-repeat: no-repeat;
          background-image: url(./../images/icon_home.svg);
          background-size: 41px auto;
          padding-left: 53px;
          position: relative;
          left: -8px; }
          #head-float-navi #head-float-navi-inner .pnav-contents-outer .t01 a span {
            display: inline-block;
            background-position: right center;
            background-repeat: no-repeat;
            background-image: url(./../images/dec_arrow.svg);
            background-size: 15px auto;
            padding: 20px 23px 20px 0px; }
      #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer {
        margin: 0 0 32px; }
        #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .n_link > li > a {
          display: block;
          color: #650F67;
          font-size: 1.5rem;
          padding: 12px 8px 12px 14px;
          border-top: 1px solid #999; }
          #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .n_link > li > a.sub {
            margin-left: 36px;
            padding-left: 8px;
            border-top-style: dashed; }
          #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .n_link > li > a.min {
            font-size: 1.2rem; }
        #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .n_link > li a {
          background-position: 97% center;
          background-repeat: no-repeat;
          background-image: url(./../images/dec_arrow.svg);
          background-size: 15px auto; }
        #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .n_link > li:last-child {
          border-bottom: 1px solid #999; }
        #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .min_link_outer {
          border-top: 1px dashed #999;
          padding: 13px 1.3% 15px 10px;
          margin-left: 34px; }
          #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .min_link_outer .min_link ol {
            display: grid;
            grid-auto-flow: column;
            grid-template-rows: repeat(5, auto);
            gap: 10px 35px;
            padding-left: 0; }
            #head-float-navi #head-float-navi-inner .pnav-contents-outer .n_link_outer .min_link_outer .min_link ol li a {
              display: block;
              color: #650F67;
              font-size: 1.2rem; }

.n_btn_outer {
  padding: 0 25px 100px; }
  .n_btn_outer .n_btn a {
    display: block;
    line-height: 1;
    background: #EFEFEF;
    text-align: center;
    font-size: 1.4rem;
    color: #A76BA8;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    padding: 26.5px 15px;
    background-position: 88% center;
    background-repeat: no-repeat;
    background-image: url(./../images/icon_net.svg);
    background-size: 21px auto; }
    .n_btn_outer .n_btn a.tel {
      background-image: url(./../images/icon_tel.svg);
      background-size: 33px auto;
      background-position: 89.5% center; }
  .n_btn_outer .n_btn + .n_btn {
    margin-top: 13px; }

/**/
footer {
  padding-top: 145px;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    footer {
      padding-top: 50px; } }
  footer #page-top a {
    width: 60px;
    display: block;
    margin: 0 auto -30px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      footer #page-top a {
        width: 80px;
        margin: 0 auto -40px; } }
  footer .n_btn_outer {
    padding: 50px 25px 20px; }
    footer .n_btn_outer .n_btn a span {
      color: #A76BA8 !important; }
  footer .top-flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 60px;
    margin-bottom: -25px; }
    @media screen and (max-width: 767px) {
      footer .top-flex {
        gap: 0 30px; } }

#footer-outer {
  background: #444; }
  #footer-outer #footer-inner {
    color: #fff !important;
    max-width: 1416px;
    margin: 0 auto;
    padding: 0 25px;
    padding: 75px 25px 100px;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      #footer-outer #footer-inner {
        display: block;
        padding: 40px 25px 45px; } }
    #footer-outer #footer-inner a {
      color: #fff !important;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-size: clamp(1.4rem, 1.6vw, 2.1rem);
      display: block; }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner a {
          font-size: 1.4rem; } }
      #footer-outer #footer-inner a.border {
        border-top: 1px solid #ccc;
        padding-top: 15px;
        margin: 50px 0 35px; }
        @media screen and (max-width: 767px) {
          #footer-outer #footer-inner a.border {
            margin: 35px 0 30px; } }
      #footer-outer #footer-inner a.tp {
        /*
        margin-bottom: -25px;
        @include sp() {
        margin-bottom: -20px;
        }
        */ }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner a.sp_large {
          font-size: 1.6rem; } }
    @media screen and (min-width: 768px) {
      #footer-outer #footer-inner .left {
        width: 41%;
        padding-top: 20px; } }
    #footer-outer #footer-inner .left .flex-box {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0 60px; }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .left .flex-box {
          gap: 0 30px; } }
      #footer-outer #footer-inner .left .flex-box .f-inner a + a {
        margin-top: 7px; }
        @media screen and (max-width: 767px) {
          #footer-outer #footer-inner .left .flex-box .f-inner a + a {
            margin-top: 20px; } }
      #footer-outer #footer-inner .left .flex-box:not(.noborder) .f-inner {
        border-top: 1px solid #ccc;
        padding-top: 15px;
        margin-top: 50px; }
    @media screen and (min-width: 768px) {
      #footer-outer #footer-inner .right {
        width: 59%;
        padding-left: 9%; } }
    @media screen and (max-width: 767px) {
      #footer-outer #footer-inner .right {
        margin-top: 40px; } }
    #footer-outer #footer-inner .right .textbox .t01 {
      margin: 0 0 10px;
      font-size: clamp(1.7rem, 1.6vw, 2.4rem); }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox .t01 {
          font-size: 1.7rem; } }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox .t01 {
          margin: 0 0 5px; } }
    #footer-outer #footer-inner .right .textbox .t02 {
      font-size: clamp(1.4rem, 1.6vw, 1.8rem);
      line-height: 1.8; }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox .t02 {
          font-size: 1.4rem; } }
      @media screen and (min-width: 768px) {
        #footer-outer #footer-inner .right .textbox .t02.adj {
          margin-right: -30px; } }
    #footer-outer #footer-inner .right .textbox + .textbox {
      margin-top: 15px; }
    @media screen and (max-width: 767px) {
      #footer-outer #footer-inner .right .textbox .img {
        padding-top: 7px; } }
    #footer-outer #footer-inner .right .textbox .img figcaption {
      font-size: 1.4rem;
      line-height: 1.7;
      margin-top: 7px; }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox .img figcaption {
          margin-top: 10px; } }
    #footer-outer #footer-inner .right .textbox.last {
      border-top: 1px solid #ccc;
      padding-top: 20px;
      margin-top: 15px;
      display: flex;
      flex-wrap: wrap;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox.last {
          flex-direction: column-reverse;
          justify-content: center;
          align-items: center;
          padding-top: 30px;
          margin-top: 35px; } }
      #footer-outer #footer-inner .right .textbox.last address {
        line-height: 1.9;
        font-size: clamp(1.4rem, 1.6vw, 1.8rem); }
        @media screen and (max-width: 767px) {
          #footer-outer #footer-inner .right .textbox.last address {
            font-size: 1.4rem; } }
        @media screen and (max-width: 767px) {
          #footer-outer #footer-inner .right .textbox.last address {
            text-align: center;
            margin-top: 10px; } }
        #footer-outer #footer-inner .right .textbox.last address a {
          display: inline-block;
          font-size: inherit;
          font-weight: inherit; }
      @media screen and (min-width: 768px) {
        #footer-outer #footer-inner .right .textbox.last .f-logo {
          padding-left: 25px; } }
      @media screen and (max-width: 767px) {
        #footer-outer #footer-inner .right .textbox.last .f-logo {
          width: 171px; } }
  #footer-outer .copy {
    text-align: center;
    background: #666;
    color: #fff;
    line-height: 1;
    padding: 34px 0 24px;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem); }
    @media screen and (max-width: 767px) {
      #footer-outer .copy {
        font-size: 1.1rem; } }
    @media screen and (max-width: 767px) {
      #footer-outer .copy {
        padding: 13px 0; } }

body:not(#home) .contents-wrap {
  padding-top: 125px; }
  @media screen and (max-width: 767px) {
    body:not(#home) .contents-wrap {
      padding-top: 80px; } }

.contents-wrap {
  margin: 0 !important;
  position: relative;
  width: 100%; }

.contents-wrap-inner {
  padding-top: 145px; }
  @media screen and (max-width: 767px) {
    .contents-wrap-inner {
      padding-top: 80px; } }

.c-body {
  position: relative;
  z-index: 1; }
  .c-body .c-body-inner {
    position: relative;
    margin: 200px auto 0;
    background: none; }
    @media screen and (max-width: 767px) {
      .c-body .c-body-inner {
        margin: 60px auto 0; } }
    .c-body .c-body-inner.base .c-inner {
      max-width: 1416px;
      margin: 0 auto;
      padding: 0 25px; }
    .c-body .c-body-inner.none {
      margin: 0 auto; }
    .c-body .c-body-inner.mt-min {
      margin-top: 100px; }
      @media screen and (max-width: 767px) {
        .c-body .c-body-inner.mt-min {
          margin-top: 40px; } }
    @media screen and (max-width: 767px) {
      .c-body .c-body-inner.sp-adj {
        margin-top: 100px; } }
  .c-body:not(.max) {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto; }
  .c-body.gray {
    background: #F7F7F7; }
    .c-body.gray .c-body-inner {
      padding-top: 120px;
      padding-bottom: 125px; }
      @media screen and (max-width: 767px) {
        .c-body.gray .c-body-inner {
          padding-top: 60px;
          padding-bottom: 100px; } }
    .c-body.gray + footer {
      padding-top: 0;
      margin-top: -33px; }
      @media screen and (max-width: 767px) {
        .c-body.gray + footer {
          margin-top: -43px; } }
    .c-body.gray.pt02 {
      background: #EFEFEF; }

/*== COMMON PARTS ==*/
#under-page {
  /*
  max-width: 1920px;
  margin: 0 auto;
  */
  position: relative;
  z-index: 1; }

.pankuzu {
  position: relative;
  z-index: 1;
  max-width: 1416px;
  margin: 0 auto;
  padding: 0 25px;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  margin-bottom: 135px; }
  @media screen and (max-width: 767px) {
    .pankuzu {
      font-size: 1.1rem; } }
  @media screen and (max-width: 767px) {
    .pankuzu {
      margin-bottom: 60px; } }
  .pankuzu ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    .pankuzu ul li {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .pankuzu ul li + li::before {
        content: ">";
        padding: 0 5px; }

.more-btn {
  text-align: right; }
  .more-btn a {
    font-size: clamp(1.25rem, 1.6vw, 1.6rem);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #666;
    line-height: 1;
    display: inline-block;
    background-image: url(./../images/dec_arrow02.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 58px 58px;
    padding: 25px 75px 25px 0px; }
    @media screen and (max-width: 767px) {
      .more-btn a {
        font-size: 1.25rem; } }
    @media screen and (max-width: 767px) {
      .more-btn a {
        background-size: 30px 30px;
        padding: 15px 40px 15px 0px; } }
  .more-btn.left {
    text-align: left; }
  .more-btn.center {
    text-align: center; }

.sub-ttl {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 60px;
  padding: 0 25px; }
  @media screen and (max-width: 767px) {
    .sub-ttl {
      margin-bottom: 35px;
      margin: 0 -15px 35px;
      padding: 0 0px; } }
  .sub-ttl .ttl-o {
    display: block;
    line-height: 1; }
    .sub-ttl .ttl-o i {
      display: block;
      line-height: 1; }
      .sub-ttl .ttl-o i.t01 {
        font-family: 'EB Garamond', serif;
        font-weight: 400;
        font-size: clamp(4rem, 4.2vw, 8rem);
        letter-spacing: 0.25em;
        color: #D1BC9A;
        line-height: 1.2; }
        @media screen and (max-width: 767px) {
          .sub-ttl .ttl-o i.t01 {
            font-size: 4rem; } }
        @media screen and (max-width: 767px) {
          .sub-ttl .ttl-o i.t01.sp-ll {
            letter-spacing: 0.1em; } }
        .sub-ttl .ttl-o i.t01 + .t02 {
          margin-top: 17px; }
          @media screen and (max-width: 767px) {
            .sub-ttl .ttl-o i.t01 + .t02 {
              margin-top: 10px; } }
      .sub-ttl .ttl-o i.t02 {
        font-weight: 700;
        font-size: clamp(1.7rem, 1.6vw, 2.6rem);
        letter-spacing: 0.15em; }
        @media screen and (max-width: 767px) {
          .sub-ttl .ttl-o i.t02 {
            font-size: 1.7rem; } }

.min-ttl {
  font-size: clamp(1.7rem, 1.6vw, 2.6rem);
  font-weight: 700;
  letter-spacing: 0.10em; }
  @media screen and (max-width: 767px) {
    .min-ttl {
      font-size: 1.7rem; } }

.bb-ttl {
  font-size: clamp(2.6rem, 2.6vw, 4.8rem);
  color: #961C5C;
  letter-spacing: 0.05em;
  margin: 0 0 100px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .bb-ttl {
      font-size: 2.6rem; } }
  @media screen and (max-width: 767px) {
    .bb-ttl {
      margin: 0 0 50px; } }
  .bb-ttl.min-mb {
    margin-bottom: 70px; }
    @media screen and (max-width: 767px) {
      .bb-ttl.min-mb {
        margin-bottom: 55px; } }
  @media screen and (max-width: 767px) {
    .bb-ttl + .single-img {
      margin-top: -25px; } }

.block-inner.flex {
  display: flex;
  flex-wrap: wrap; }
.block-inner.min-wide {
  max-width: 1160px;
  margin: 0 auto 0; }

@media screen and (min-width: 768px) {
  .link-list-block ul {
    display: flex;
    flex-wrap: wrap;
    margin: -45px 0 0 -4.5%; } }
@media screen and (min-width: 768px) {
  .link-list-block ul li {
    width: 45.5%;
    margin: 45px 0 0 4.5%; } }
.link-list-block ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  border: 1px solid #DDD;
  padding: 20px 115px;
  background-image: url(./../images/dec_arrow02.svg);
  background-position: 95% center;
  background-repeat: no-repeat;
  background-size: 60px 60px; }
  @media screen and (min-width: 768px) {
    .link-list-block ul li a {
      min-height: 178px; } }
  @media screen and (max-width: 767px) {
    .link-list-block ul li a {
      background-size: 30px 30px;
      padding: 13px 20px;
      min-height: 100px; } }
  .link-list-block ul li a span {
    display: block;
    width: 100%;
    line-height: 1.3; }
    .link-list-block ul li a span.t01 {
      font-size: clamp(1.9rem, 2vw, 3.5rem);
      letter-spacing: 0.08em;
      color: #C39E61;
      font-family: 'EB Garamond', serif;
      font-weight: 400; }
      @media screen and (max-width: 767px) {
        .link-list-block ul li a span.t01 {
          font-size: 1.9rem; } }
    .link-list-block ul li a span.t02 {
      font-size: clamp(1.7rem, 1.6vw, 2.2rem);
      letter-spacing: 0.05em; }
      @media screen and (max-width: 767px) {
        .link-list-block ul li a span.t02 {
          font-size: 1.7rem; } }
  @media screen and (min-width: 768px) {
    .link-list-block ul li a.adj {
      padding: 20px 65px; } }
@media screen and (max-width: 767px) {
  .link-list-block ul li + li {
    margin-top: 20px; } }

@media screen and (min-width: 768px) {
  .bnr-block {
    display: flex;
    flex-wrap: wrap;
    margin: -4.4% 0 0 -4.4%; } }
.bnr-block .bnr-block-inner {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background: #EFEFEF; }
  @media screen and (min-width: 768px) {
    .bnr-block .bnr-block-inner {
      width: 45.6%;
      margin: 4.4% 0 0 4.4%; } }
  .bnr-block .bnr-block-inner .img {
    display: block;
    width: 44.5%;
    height: 100%;
    line-height: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 254px; }
    @media screen and (max-width: 767px) {
      .bnr-block .bnr-block-inner .img {
        min-height: 127px; } }
  .bnr-block .bnr-block-inner .text {
    display: block;
    width: 55.5%;
    padding: 20px 15px 20px 35px; }
    @media screen and (max-width: 767px) {
      .bnr-block .bnr-block-inner .text {
        padding: 11px 7px 11px 17px; } }
    .bnr-block .bnr-block-inner .text span {
      display: block; }
      .bnr-block .bnr-block-inner .text span.t01 {
        font-size: clamp(1.9rem, 2vw, 3.5rem);
        font-family: 'EB Garamond', serif;
        font-weight: 400;
        letter-spacing: 0.1em;
        color: #C39E61; }
        @media screen and (max-width: 767px) {
          .bnr-block .bnr-block-inner .text span.t01 {
            font-size: 1.9rem; } }
        @media screen and (max-width: 767px) {
          .bnr-block .bnr-block-inner .text span.t01 {
            letter-spacing: 0.02em;
            line-height: 1.2; } }
      .bnr-block .bnr-block-inner .text span.t02 {
        font-size: clamp(1.4rem, 1.6vw, 2.2rem);
        margin-top: 5px; }
        @media screen and (max-width: 767px) {
          .bnr-block .bnr-block-inner .text span.t02 {
            font-size: 1.4rem; } }
        .bnr-block .bnr-block-inner .text span.t02.adj01 {
          margin-top: 50px; }
          @media screen and (max-width: 767px) {
            .bnr-block .bnr-block-inner .text span.t02.adj01 {
              margin-top: 25px; } }
  .bnr-block .bnr-block-inner.wide {
    width: 100%; }
    @media screen and (max-width: 767px) {
      .bnr-block .bnr-block-inner.wide {
        display: block; } }
    @media screen and (min-width: 768px) {
      .bnr-block .bnr-block-inner.wide .img {
        width: 47.55%; } }
    @media screen and (max-width: 767px) {
      .bnr-block .bnr-block-inner.wide .img {
        width: 100%; } }
    .bnr-block .bnr-block-inner.wide .text {
      padding: 50px 65px; }
      @media screen and (min-width: 768px) {
        .bnr-block .bnr-block-inner.wide .text {
          width: 52.45%; } }
      @media screen and (max-width: 767px) {
        .bnr-block .bnr-block-inner.wide .text {
          width: 100%;
          padding: 16px 17px 12px; } }
  .bnr-block .bnr-block-inner::after {
    content: "";
    display: block;
    background-image: url(./../images/dec_arrow02.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 27px;
    bottom: 22px;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .bnr-block .bnr-block-inner::after {
        width: 30px;
        height: 30px;
        right: 10px;
        bottom: 10px; } }
  @media screen and (max-width: 767px) {
    .bnr-block .bnr-block-inner + .bnr-block-inner {
      margin-top: 31px; } }
  .bnr-block .bnr-block-inner.gimon::after {
    display: none; }

/**/
.fixed-back {
  /*
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  */
  background-size: cover;
  /*
  background-position: center top;
  */
  background-repeat: no-repeat;
  background-size: 100%; }

/**/
.news-list {
  position: relative;
  z-index: 1; }
  .news-list ul li {
    border-top: 1px solid #707070; }
    .news-list ul li:last-child {
      border-bottom: 1px solid #707070; }
    .news-list ul li a,
    .news-list ul li div {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      padding: 50px 0 35px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .news-list ul li a,
        .news-list ul li div {
          padding: 15px 0 15px; } }
      .news-list ul li a span,
      .news-list ul li div span {
        display: block;
        position: relative; }
      .news-list ul li a .front,
      .news-list ul li div .front {
        width: 120px;
        margin-top: -30px; }
        @media screen and (max-width: 767px) {
          .news-list ul li a .front,
          .news-list ul li div .front {
            width: 80px;
            margin-top: -5px; } }
        .news-list ul li a .front i,
        .news-list ul li div .front i {
          display: block; }
          .news-list ul li a .front i.t01,
          .news-list ul li div .front i.t01 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 500;
            font-size: clamp(1.3rem, 1.6vw, 2rem);
            color: #999;
            line-height: 1;
            margin: 0 0 20px; }
            @media screen and (max-width: 767px) {
              .news-list ul li a .front i.t01,
              .news-list ul li div .front i.t01 {
                font-size: 1.3rem; } }
            @media screen and (max-width: 767px) {
              .news-list ul li a .front i.t01,
              .news-list ul li div .front i.t01 {
                margin: 0 0 10px; } }
          .news-list ul li a .front i.t02,
          .news-list ul li div .front i.t02 {
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 700;
            font-size: clamp(1.1rem, 1.6vw, 1.8rem);
            color: #650F67;
            line-height: 1;
            text-align: right;
            padding-right: 12px; }
            @media screen and (max-width: 767px) {
              .news-list ul li a .front i.t02,
              .news-list ul li div .front i.t02 {
                font-size: 1.1rem; } }
      .news-list ul li a .back,
      .news-list ul li div .back {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        font-size: clamp(1.5rem, 1.6vw, 2rem);
        width: calc( 100% - 120px );
        padding: 0 80px 0 65px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        margin-top: 5px; }
        @media screen and (max-width: 767px) {
          .news-list ul li a .back,
          .news-list ul li div .back {
            font-size: 1.5rem; } }
        @media screen and (max-width: 767px) {
          .news-list ul li a .back,
          .news-list ul li div .back {
            width: calc( 100% - 89px );
            padding: 0 35px 0 15px; } }
        .news-list ul li a .back em,
        .news-list ul li div .back em {
          font-weight: 700; }
      .news-list ul li a.link_none,
      .news-list ul li div.link_none {
        pointer-events: none; }
        .news-list ul li a.link_none .back .arrow-outer,
        .news-list ul li div.link_none .back .arrow-outer {
          display: none; }
    .news-list ul li a {
      background-image: url(./../images/dec_arrow02.svg);
      background-position: 99.5% center;
      background-repeat: no-repeat;
      background-size: 40px 40px; }
      @media screen and (max-width: 767px) {
        .news-list ul li a {
          background-size: 20px 20px; } }
  .news-list ul + .btn-outer {
    margin-top: 90px; }
    @media screen and (max-width: 767px) {
      .news-list ul + .btn-outer {
        margin-top: 30px; } }
  .news-list ul + .more-btn {
    margin-top: 55px; }
    @media screen and (max-width: 767px) {
      .news-list ul + .more-btn {
        margin-top: 15px; } }

.min-box-outer {
  max-width: 1160px;
  margin: 0 auto; }

/*== TOP ==*/
@media screen and (max-width: 767px) {
  #home #dec-pages .dec.d01 {
    display: none !important; } }
@media screen and (max-width: 767px) {
  #home #mv-main {
    padding-bottom: 100px; } }
#home .t-flex-box {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    #home .t-flex-box {
      align-items: center; } }
  @media screen and (max-width: 767px) {
    #home .t-flex-box {
      padding: 0 25px;
      flex-direction: column-reverse; } }
  @media screen and (min-width: 768px) {
    #home .t-flex-box .text {
      width: 54.15%; } }
  #home .t-flex-box .text p {
    letter-spacing: 0.05em; }
  @media screen and (max-width: 767px) {
    #home .t-flex-box .text .img {
      margin-top: 40px; } }
  #home .t-flex-box .text .t01 {
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-size: clamp(4rem, 4.2vw, 8rem);
    color: #D1BC9A;
    letter-spacing: 0.20em; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t01 {
        font-size: 4rem; } }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t01 {
        text-align: center; } }
  #home .t-flex-box .text .t02 {
    font-size: clamp(1.7rem, 1.6vw, 2.6rem);
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t02 {
        font-size: 1.7rem; } }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t02 {
        text-align: center; } }
  #home .t-flex-box .text .t03 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t03 {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t03 {
        margin-top: 25px; } }
  #home .t-flex-box .text .t04 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    margin-top: 25px;
    line-height: 1.9; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t04 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .t04 {
        margin-top: 20px; } }
  #home .t-flex-box .text .more-btn {
    margin-top: 20px; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box .text .more-btn {
        margin-top: 10px;
        text-align: right; } }
  @media screen and (min-width: 768px) {
    #home .t-flex-box .text.adj {
      margin-top: -85px; } }
  #home .t-flex-box .img {
    line-height: 0; }
    @media screen and (min-width: 768px) {
      #home .t-flex-box .img {
        width: 45.85%; } }
  #home .t-flex-box + .t-flex-box {
    margin-top: 155px; }
    @media screen and (max-width: 767px) {
      #home .t-flex-box + .t-flex-box {
        margin-top: 60px; } }
  @media screen and (min-width: 768px) {
    #home .t-flex-box:nth-child(odd) .text {
      padding-left: 14.5vw;
      padding-right: 80px; } }
  @media screen and (min-width: 768px) {
    #home .t-flex-box:nth-child(even) {
      flex-direction: row-reverse; } }
  @media screen and (min-width: 768px) {
    #home .t-flex-box:nth-child(even) .text {
      padding-right: 6.5vw;
      padding-left: 80px; } }
#home #top-top .c-body-inner {
  margin-top: 150px; }
  @media screen and (max-width: 767px) {
    #home #top-top .c-body-inner {
      margin-top: 0px; } }
@media screen and (min-width: 768px) {
  #home #bnr-block00 .c-body-inner {
    margin-top: 132px; } }
#home #loading_text {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  /*
  transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
  */
  transition: 2s cubic-bezier(0.7, 0, 0.3, 1);
  transition-delay: .7s; }
  #home #loading_text .load-head,
  #home #loading_text .progressbar-text {
    color: #fff !important;
    text-align: center;
    font-size: clamp(1.5rem, 1.6vw, 3rem);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-style: italic;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 767px) {
      #home #loading_text .load-head,
      #home #loading_text .progressbar-text {
        font-size: 1.5rem; } }
  #home #loading_text svg {
    margin-top: -5rem; }
    @media screen and (max-width: 767px) {
      #home #loading_text svg {
        margin-top: -10rem; } }
#home #mvSlider {
  position: relative;
  /*
  overflow: hidden;
  */ }
  #home #mvSlider::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  #home #mvSlider .mvInner {
    /*
    transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
    */
    transition: 2s cubic-bezier(0.7, 0, 0.3, 1);
    clip-path: circle(23% at 50% 50%); }
    @media screen and (max-width: 767px) {
      #home #mvSlider .mvInner {
        clip-path: circle(27% at 50% 50%); } }
    #home #mvSlider .mvInner::after {
      display: block;
      content: "";
      width: 100%;
      height: 100%;
      background: #961C5C;
      position: absolute;
      top: 0;
      left: 0;
      /*
      transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
      */
      transition: 2s cubic-bezier(0.7, 0, 0.3, 1);
      transition-delay: .7s; }
  #home #mvSlider .slick-slide {
    line-height: 0; }
    #home #mvSlider .slick-slide > div {
      filter: blur(10px);
      /*
      transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
      */
      transition: 2s cubic-bezier(0.7, 0, 0.3, 1);
      transition-duration: 5.0s; }
      @media screen and (max-width: 767px) {
        #home #mvSlider .slick-slide > div {
          transition-duration: 3.5s; } }
    #home #mvSlider .slick-slide.slick-active > div {
      filter: blur(0); }
  #home #mvSlider .main-text {
    position: absolute;
    top: 83%;
    left: 0;
    width: 100%;
    /*
    transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
    */
    transition: 2s cubic-bezier(0.7, 0, 0.3, 1); }
    @media screen and (max-width: 767px) {
      #home #mvSlider .main-text {
        top: 75%; } }
    #home #mvSlider .main-text p {
      color: #9F2265;
      font-size: 3.6rem;
      font-weight: 600;
      letter-spacing: 0.35em;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #home #mvSlider .main-text p {
          font-size: 1.8rem; } }
  #home #mvSlider .mv_text {
    width: 100%; }
    #home #mvSlider .mv_text ul li {
      position: absolute;
      /*
      top: 47%;
      transform: translateY(-50%);
      */
      top: 23%;
      /*
      transition: 2s cubic-bezier(0.165, 0.84, 0.44, 1);
      */
      transition: 2s cubic-bezier(0.7, 0, 0.3, 1);
      transition-delay: .9s;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        #home #mvSlider .mv_text ul li {
          width: 100%;
          max-width: 97px;
          top: 23%;
          transform: translateY(70px);
          transition-delay: 1.8s; } }
      #home #mvSlider .mv_text ul li:nth-child(even) {
        left: 20vw; }
        @media screen and (max-width: 767px) {
          #home #mvSlider .mv_text ul li:nth-child(even) {
            left: 8vw; } }
      #home #mvSlider .mv_text ul li:nth-child(odd) {
        /*
        right: 20vw;
        */ }
        @media screen and (min-width: 768px) {
          #home #mvSlider .mv_text ul li:nth-child(odd) {
            left: 75%; } }
        @media screen and (max-width: 767px) {
          #home #mvSlider .mv_text ul li:nth-child(odd) {
            right: 8vw; } }
      @media screen and (min-width: 768px) {
        #home #mvSlider .mv_text ul li:nth-child(1) {
          left: 76%; } }
      @media screen and (max-width: 767px) {
        #home #mvSlider .mv_text ul li:nth-child(1) {
          right: 2vw; } }
      @media only screen and (min-width: 767px) and (max-width: 1350px) {
        #home #mvSlider .mv_text ul li:nth-child(4) p {
          letter-spacing: 0.15em; } }
      @media screen and (max-width: 767px) {
        #home #mvSlider .mv_text ul li:nth-child(4) p {
          letter-spacing: 0.05em; } }
      #home #mvSlider .mv_text ul li:not(.active) {
        opacity: 0;
        visibility: hidden;
        transition-delay: 0s; }
      @media screen and (max-width: 767px) {
        #home #mvSlider .mv_text ul li.active {
          transform: translateY(0); } }
      #home #mvSlider .mv_text ul li p {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        font-size: clamp(1.8rem, 1.6vw, 3rem);
        letter-spacing: 0.3em;
        color: #961C5C;
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          #home #mvSlider .mv_text ul li p {
            font-size: 1.8rem; } }
        #home #mvSlider .mv_text ul li p span {
          display: block; }
          #home #mvSlider .mv_text ul li p span em {
            display: inline-block;
            line-height: 1; }
            @media screen and (max-width: 767px) {
              #home #mvSlider .mv_text ul li p span em {
                background: #fff;
                padding: 8px 8px;
                margin-left: 7px; } }
            @media screen and (max-width: 767px) {
              #home #mvSlider .mv_text ul li p span em:first-child {
                margin-top: -25px; } }
  #home #mvSlider.load_end #loading_text {
    visibility: hidden;
    opacity: 0; }
  #home #mvSlider.load_end .mvInner::after {
    visibility: hidden;
    opacity: 0; }
  #home #mvSlider.action01 .mvInner {
    clip-path: circle(52% at 19% 19.2vw); }
    @media screen and (max-width: 767px) {
      #home #mvSlider.action01 .mvInner {
        clip-path: circle(73.9% at 2.1% 60.2vw); } }
  #home #mvSlider.action01 .main-text {
    opacity: 0;
    visibility: hidden; }
  #home #mvSlider:not(.action01) .mv_text ul li {
    opacity: 0 !important;
    visibility: hidden !important; }
  #home #mvSlider.move01 .mvInner {
    clip-path: circle(52% at 85.5% 19.2vw); }
    @media screen and (max-width: 767px) {
      #home #mvSlider.move01 .mvInner {
        clip-path: circle(73.9% at 98.5% 60.2vw); } }
@media screen and (min-width: 768px) {
  #home #info .info-img {
    width: 34.9vw;
    position: absolute;
    top: 0;
    left: 0;
    max-width: 670px; } }
@media screen and (max-width: 767px) {
  #home #info .info-img {
    padding: 0 25px 35px; } }
#home #info .info-img span {
  display: block; }
#home #info .block-inner .news-list {
  width: 100%; }
  @media screen and (min-width: 768px) {
    #home #info .block-inner .news-list {
      padding-left: 38.8%;
      /*
      min-height: 40vw;
      */ } }
@media screen and (min-width: 768px) {
  #home #info .sub-ttl {
    text-align: right;
    padding: 0 14% 150px 25px; } }
@media screen and (min-width: 768px) {
  #home #info .sub-ttl .ttl-o {
    display: inline-block;
    text-align: left; } }
#home #access.fixed-back {
  background-image: url(./../images/top/bg.jpg); }
  @media screen and (max-width: 767px) {
    #home #access.fixed-back {
      background-image: url(./../images/top/bg_sp.jpg); } }
#home #access::after {
  content: "";
  display: block;
  background-image: url(./../images/top/adj_bg.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  width: 100%;
  height: 186px;
  position: absolute;
  bottom: -1px;
  left: 0; }
  @media screen and (max-width: 767px) {
    #home #access::after {
      height: 60px; } }
#home #access .c-inner {
  padding-top: 370px;
  padding-bottom: 710px; }
  @media screen and (max-width: 767px) {
    #home #access .c-inner {
      padding-top: 150px;
      padding-bottom: 100px; } }
@media screen and (max-width: 767px) {
  #home #access .access-block {
    padding-top: 75px; } }
#home #access .access-block .img {
  line-height: 0; }
#home #access .access-block .text {
  background: #fff;
  padding: 6.5px 50px; }
  @media screen and (min-width: 768px) {
    #home #access .access-block .text {
      display: flex;
      flex-wrap: wrap;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between; } }
  @media screen and (max-width: 767px) {
    #home #access .access-block .text {
      padding: 10px 8px; } }
  #home #access .access-block .text .t01 p {
    font-size: clamp(1.4rem, 1.6vw, 1.8rem); }
    @media screen and (max-width: 767px) {
      #home #access .access-block .text .t01 p {
        font-size: 1.4rem; } }
  @media screen and (max-width: 767px) {
    #home #access .access-block .text .t02 .more-btn {
      margin-top: 10px; } }
@media screen and (min-width: 768px) {
  #home #access .access-block .access-flex {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 -5%; } }
@media screen and (max-width: 767px) {
  #home #access .access-block .access-flex {
    margin-top: 37px; } }
#home #access .access-block .access-flex .ac-body {
  background: #fff; }
  @media screen and (min-width: 768px) {
    #home #access .access-block .access-flex .ac-body {
      width: 45%;
      margin: 85px 0 0 5%;
      padding: 40px 35px; } }
  @media screen and (max-width: 767px) {
    #home #access .access-block .access-flex .ac-body {
      padding: 20px; } }
  #home #access .access-block .access-flex .ac-body p.t01 {
    font-size: clamp(1.7rem, 1.6vw, 2.6rem);
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      #home #access .access-block .access-flex .ac-body p.t01 {
        font-size: 1.7rem; } }
  #home #access .access-block .access-flex .ac-body p.t02 {
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    font-weight: 400;
    margin-top: 20px;
    line-height: 2.0; }
    @media screen and (max-width: 767px) {
      #home #access .access-block .access-flex .ac-body p.t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #home #access .access-block .access-flex .ac-body p.t02 {
        margin-top: 15px;
        line-height: 1.8; } }
    @media screen and (min-width: 768px) {
      #home #access .access-block .access-flex .ac-body p.t02.adj {
        margin-top: 2.5em; } }
  @media screen and (max-width: 767px) {
    #home #access .access-block .access-flex .ac-body + .ac-body {
      margin-top: 37px; } }
#home #infomation .annai-box {
  display: flex;
  flex-wrap: wrap;
  margin-top: 90px; }
  @media screen and (max-width: 767px) {
    #home #infomation .annai-box {
      flex-direction: column-reverse;
      margin-top: 55px; } }
  @media screen and (min-width: 768px) {
    #home #infomation .annai-box .annai-box-inner {
      width: 54.35%; } }
  @media screen and (min-width: 768px) {
    #home #infomation .annai-box .annai-box-inner:nth-child(even) {
      width: 45.65%;
      padding-left: 75px; } }
  #home #infomation .annai-box .annai-box-inner .min-ttl {
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      #home #infomation .annai-box .annai-box-inner .min-ttl {
        text-align: center;
        margin-bottom: 10px; } }
  #home #infomation .annai-box .annai-box-inner figcaption {
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    font-weight: 700;
    line-height: 1.7;
    margin-top: 10px; }
    @media screen and (max-width: 767px) {
      #home #infomation .annai-box .annai-box-inner figcaption {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #home #infomation .annai-box .annai-box-inner figcaption {
        text-align: center; } }
    #home #infomation .annai-box .annai-box-inner figcaption i.c01 {
      color: #961C5C; }
    #home #infomation .annai-box .annai-box-inner figcaption i.c02 {
      color: #009FE9; }
  #home #infomation .annai-box .annai-box-inner dl {
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    line-height: 1.7; }
    @media screen and (max-width: 767px) {
      #home #infomation .annai-box .annai-box-inner dl {
        font-size: 1.4rem; } }
    @media screen and (min-width: 768px) {
      #home #infomation .annai-box .annai-box-inner dl {
        margin-right: -40px;
        display: flex;
        flex-wrap: wrap; } }
    @media screen and (max-width: 767px) {
      #home #infomation .annai-box .annai-box-inner dl {
        line-height: 1.8; } }
    #home #infomation .annai-box .annai-box-inner dl dt,
    #home #infomation .annai-box .annai-box-inner dl dd {
      padding-bottom: 10px; }
      @media screen and (max-width: 767px) {
        #home #infomation .annai-box .annai-box-inner dl dt,
        #home #infomation .annai-box .annai-box-inner dl dd {
          text-align: center;
          padding-bottom: 0px; } }
    @media screen and (min-width: 768px) {
      #home #infomation .annai-box .annai-box-inner dl dt {
        width: 135px; } }
    @media screen and (min-width: 768px) {
      #home #infomation .annai-box .annai-box-inner dl dd {
        width: calc( 100% - 135px ); } }
  @media screen and (max-width: 767px) {
    #home #infomation .annai-box .annai-box-inner + .annai-box-inner {
      margin-bottom: 50px; } }
#home #infomation .tel-box {
  text-align: center;
  padding: 70px 0; }
  @media screen and (max-width: 767px) {
    #home #infomation .tel-box {
      padding: 70px 0 25px; } }
  #home #infomation .tel-box a {
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-size: clamp(4rem, 3.5vw, 6rem);
    color: #D1BC9A;
    letter-spacing: 0.05em;
    margin-top: 3px;
    display: inline-block; }
    @media screen and (max-width: 767px) {
      #home #infomation .tel-box a {
        font-size: 4rem; } }
    @media screen and (max-width: 767px) {
      #home #infomation .tel-box a {
        margin-top: 0; } }
#home #infomation .uketsuke figure figcaption {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 35px; }
  @media screen and (min-width: 768px) {
    #home #infomation .uketsuke figure figcaption {
      text-align: center; } }
  @media screen and (max-width: 767px) {
    #home #infomation .uketsuke figure figcaption {
      margin-top: 25px; } }
#home #doctor-profile {
  background-image: url(./../images/top/adj_bg02.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 120px;
  padding-bottom: 90px;
  margin-top: 150px; }
  @media screen and (max-width: 767px) {
    #home #doctor-profile {
      padding-top: 55px;
      padding-bottom: 70px;
      margin-top: 50px;
      background-image: url(./../images/top/adj_bg02_sp.png); } }
  #home #doctor-profile .flex-box {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (min-width: 768px) {
      #home #doctor-profile .flex-box .img {
        width: 28.8%; } }
    @media screen and (min-width: 768px) {
      #home #doctor-profile .flex-box .text {
        width: 71.2%;
        padding-left: 100px; } }
    #home #doctor-profile .flex-box .text .img {
      padding: 0 30px; }
    #home #doctor-profile .flex-box .text p.t01 {
      font-family: 'EB Garamond', serif;
      font-weight: 400;
      font-size: clamp(2.5rem, 3vw, 5rem);
      letter-spacing: 0.25em;
      color: #D1BC9A; }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t01 {
          font-size: 2.5rem; } }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t01 {
          text-align: center;
          margin: 0 0 25px; } }
    #home #doctor-profile .flex-box .text p.t02 {
      font-size: clamp(1.7rem, 1.6vw, 2.6rem);
      font-weight: 700;
      margin-top: 35px; }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t02 {
          font-size: 1.7rem; } }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t02 {
          margin-top: 20px; } }
    #home #doctor-profile .flex-box .text p.t03 {
      font-size: clamp(1.4rem, 1.6vw, 1.8rem);
      font-weight: 400;
      line-height: 2.0;
      margin-top: 45px; }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t03 {
          font-size: 1.4rem; } }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text p.t03 {
          margin-top: 15px; } }
    #home #doctor-profile .flex-box .text .more-btn {
      margin-top: 40px; }
      @media screen and (max-width: 767px) {
        #home #doctor-profile .flex-box .text .more-btn {
          margin-top: 20px;
          text-align: right; } }
  #home #doctor-profile::after {
    /*
    content: "";
    display: block;
    background-image: url(./../images/top/adj_bg03.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 253px;
    position: absolute;
    top: 0;
    left: 0;
    @include sp() {
    height: 50px;
    }
    */ }

#dec-pages .dec {
  position: absolute;
  z-index: 0; }
  #dec-pages .dec img {
    width: auto; }
  #dec-pages .dec.d01 {
    top: 11%;
    left: -25%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d01 {
        top: 3%;
        left: -25%;
        width: 70%; } }
  #dec-pages .dec.d02 {
    top: 18.5%;
    right: -27%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d02 {
        top: 11.5%;
        right: -29%;
        width: 100%; } }
  #dec-pages .dec.d03 {
    top: 40.5%;
    right: -32%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d03 {
        display: none; } }
  #dec-pages .dec.d04 {
    top: 47.5%;
    left: -52%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d04 {
        top: 53.5%;
        left: -50%;
        width: 100%; } }
  #dec-pages .dec.d05 {
    top: 83.5%;
    right: -22%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d05 {
        display: none; } }
  #dec-pages .dec.d06 {
    top: 91.0%;
    left: -30.0%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d06 {
        top: 80%;
        left: -40%;
        width: 100%; } }
  #dec-pages .dec.d07 {
    top: 4%;
    left: -25%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d07 {
        top: 3%;
        left: -40%;
        width: 80%; } }
  #dec-pages .dec.d08 {
    top: 14%;
    right: -35%; }
    @media screen and (max-width: 767px) {
      #dec-pages .dec.d08 {
        top: 11.5%;
        right: -49%;
        width: 100%; } }

@media screen and (min-width: 768px) {
  body:not(#home) #dec-pages .dec.d01 {
    top: 3%; } }
@media screen and (min-width: 768px) {
  body:not(#home) #dec-pages .dec.d02 {
    top: 14.5%; } }

@media screen and (min-width: 768px) {
  #concept #block00 .flex-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center; } }
@media screen and (min-width: 768px) {
  #concept #block00 .flex-box .img {
    flex: 1;
    margin-right: calc(50% - 50vw); } }
@media screen and (max-width: 767px) {
  #concept #block00 .flex-box .img {
    margin-top: 35px; } }
@media screen and (min-width: 768px) {
  #concept #block00 .flex-box .text {
    width: 71.2%;
    padding-right: 25px; } }
#concept #block00 .flex-box .text p.t01 {
  font-size: clamp(2.3rem, 2.2vw, 3.8rem);
  line-height: 1.6; }
  @media screen and (max-width: 767px) {
    #concept #block00 .flex-box .text p.t01 {
      font-size: 2.3rem; } }
  @media screen and (min-width: 768px) {
    #concept #block00 .flex-box .text p.t01 {
      letter-spacing: 0.1em; } }
  @media screen and (max-width: 767px) {
    #concept #block00 .flex-box .text p.t01 {
      text-align: center; } }
#concept #block00 .flex-box .text p.t02 {
  font-size: clamp(1.4rem, 1.6vw, 2rem);
  line-height: 2.0;
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    #concept #block00 .flex-box .text p.t02 {
      font-size: 1.4rem; } }
  @media screen and (max-width: 767px) {
    #concept #block00 .flex-box .text p.t02 {
      text-align: center; } }
#concept #block01 .img-box {
  background-image: url(./../images/about/concept/bg01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 180px 0 148px; }
  @media screen and (max-width: 767px) {
    #concept #block01 .img-box {
      background-image: url(./../images/about/concept/bg01_sp.jpg);
      margin: 0 -25px;
      padding: 70px 0 270px; } }
  #concept #block01 .img-box .text {
    text-align: center;
    width: 57.3%;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.8);
    padding: 110px 15px 50px; }
    @media screen and (max-width: 767px) {
      #concept #block01 .img-box .text {
        width: calc( 100% - 66px );
        padding: 25px 20px 15px; } }
    @media screen and (max-width: 767px) {
      #concept #block01 .img-box .text p {
        text-align: left; } }
    #concept #block01 .img-box .text p.t01 {
      font-size: clamp(2.1rem, 2.2vw, 3.8rem);
      letter-spacing: 0.05em; }
      @media screen and (max-width: 767px) {
        #concept #block01 .img-box .text p.t01 {
          font-size: 2.1rem; } }
    #concept #block01 .img-box .text p.t02 {
      font-size: clamp(1.2rem, 1.6vw, 2rem);
      line-height: 1.8;
      margin-top: 15px; }
      @media screen and (max-width: 767px) {
        #concept #block01 .img-box .text p.t02 {
          font-size: 1.2rem; } }
    #concept #block01 .img-box .text .more-btn {
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        #concept #block01 .img-box .text .more-btn {
          margin-top: 5px;
          text-align: right; } }
@media screen and (min-width: 768px) {
  #concept #block02 .float-img {
    background-image: url(./../images/about/concept/bg02.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto; } }
@media screen and (max-width: 767px) {
  #concept #block02 .float-img .single-img {
    margin: 0 -25px; } }
@media screen and (min-width: 768px) {
  #concept #block02 .float-img .img-back-box .text {
    max-width: 683px;
    padding: 430px 0 230px; } }
@media screen and (max-width: 767px) {
  #concept #block02 .float-img .img-back-box .text {
    padding: 20px 0; } }
#concept #block02 .float-img .img-back-box .text p.t01 {
  font-size: clamp(2.3rem, 2.2vw, 3.8rem); }
  @media screen and (max-width: 767px) {
    #concept #block02 .float-img .img-back-box .text p.t01 {
      font-size: 2.3rem; } }
#concept #block02 .float-img .img-back-box .text p.t02, #concept #block02 .float-img .img-back-box .text p.sub {
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  line-height: 1.8;
  margin-top: 60px; }
  @media screen and (max-width: 767px) {
    #concept #block02 .float-img .img-back-box .text p.t02, #concept #block02 .float-img .img-back-box .text p.sub {
      font-size: 1.4rem; } }
  @media screen and (max-width: 767px) {
    #concept #block02 .float-img .img-back-box .text p.t02, #concept #block02 .float-img .img-back-box .text p.sub {
      margin-top: 15px; } }
#concept #block02 .float-img .img-back-box .text p.sub {
  margin-top: 25px;
  text-align: right; }
  @media screen and (max-width: 767px) {
    #concept #block02 .float-img .img-back-box .text p.sub {
      margin-top: 10px; } }
#concept #block02 .float-img .img-back-box .reki {
  max-width: 1160px;
  margin: 0 auto;
  background: #fff;
  border-radius: 35px;
  padding: 80px 185px; }
  @media screen and (max-width: 767px) {
    #concept #block02 .float-img .img-back-box .reki {
      padding: 30px 0; } }
  #concept #block02 .float-img .img-back-box .reki .t01 {
    font-size: clamp(1.7rem, 1.6vw, 2.6rem);
    text-align: center;
    font-weight: 700;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      #concept #block02 .float-img .img-back-box .reki .t01 {
        font-size: 1.7rem; } }
    @media screen and (max-width: 767px) {
      #concept #block02 .float-img .img-back-box .reki .t01 {
        margin-bottom: 15px; } }
  #concept #block02 .float-img .img-back-box .reki dl {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #CCC; }
    #concept #block02 .float-img .img-back-box .reki dl dt,
    #concept #block02 .float-img .img-back-box .reki dl dd {
      font-size: clamp(1.4rem, 1.6vw, 1.8rem);
      border-bottom: 1px solid #CCC;
      padding: 20px 0; }
      @media screen and (max-width: 767px) {
        #concept #block02 .float-img .img-back-box .reki dl dt,
        #concept #block02 .float-img .img-back-box .reki dl dd {
          font-size: 1.4rem; } }
      @media screen and (max-width: 767px) {
        #concept #block02 .float-img .img-back-box .reki dl dt,
        #concept #block02 .float-img .img-back-box .reki dl dd {
          padding: 10px 0; } }
    #concept #block02 .float-img .img-back-box .reki dl dt {
      width: 20%;
      padding-left: 40px; }
      @media screen and (max-width: 767px) {
        #concept #block02 .float-img .img-back-box .reki dl dt {
          padding-left: 10px; } }
    #concept #block02 .float-img .img-back-box .reki dl dd {
      width: 80%;
      padding-left: 10px; }
      @media screen and (max-width: 767px) {
        #concept #block02 .float-img .img-back-box .reki dl dd {
          padding-left: 10px; } }

@media screen and (min-width: 768px) {
  #facility #block00 .c-inner {
    background-position: 45% 0;
    background-repeat: no-repeat;
    max-width: 1740px;
    background-size: auto 90%; } }
@media screen and (min-width: 768px) {
  #facility #block00 .c-inner.i01 {
    background-image: url(./../images/about/facility/line01.svg); } }
@media screen and (min-width: 768px) {
  #facility #block00 .c-inner.i02 {
    background-image: url(./../images/about/facility/line02.svg);
    background-size: auto 100%;
    background-position: 52% 0; } }
@media screen and (min-width: 768px) {
  #facility #block00 .c-inner.i02 .img-flex {
    margin-top: 120px; } }
#facility .img-flex {
  margin-top: 220px; }
  @media screen and (max-width: 767px) {
    #facility .img-flex {
      margin-top: 50px; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box {
      display: flex;
      flex-wrap: wrap;
      flex-wrap: nowrap;
      align-items: center; } }
  #facility .img-flex .img-box .img {
    line-height: 0; }
    @media screen and (min-width: 768px) {
      #facility .img-flex .img-box .img {
        max-width: 670px; } }
    @media screen and (max-width: 767px) {
      #facility .img-flex .img-box .img {
        margin: 0 0 15px; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box .text {
      min-width: 450px;
      padding-left: 70px; } }
  #facility .img-flex .img-box .text p.t01 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem); }
    @media screen and (max-width: 767px) {
      #facility .img-flex .img-box .text p.t01 {
        font-size: 2.3rem; } }
  #facility .img-flex .img-box .text p.t02 {
    font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    line-height: 2.0;
    margin-top: 15px; }
    @media screen and (max-width: 767px) {
      #facility .img-flex .img-box .text p.t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #facility .img-flex .img-box .text p.t02 {
        margin-top: 7px; } }
    @media screen and (max-width: 767px) {
      #facility .img-flex .img-box .text p.t02 br {
        display: none; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.rsv {
      flex-direction: row-reverse; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.rsv .text {
      padding-left: 0px;
      padding-right: 70px;
      text-align: right; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b01 {
      margin-top: 0; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b02 {
      margin-top: -25px;
      padding-right: 1.1vw; } }
  @media only screen and (min-width: 767px) and (max-width: 1430px) {
    #facility .img-flex .img-box.b02 {
      margin-top: 50px; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b03 {
      margin-top: 188px;
      padding-left: 11.7vw; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b04 {
      margin-top: 147px;
      padding-right: 1.1vw; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b05 {
      margin-top: 123px;
      padding-left: 9.7vw; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b06 {
      margin-top: 156px;
      padding-right: 6.1vw; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b07 {
      padding-left: 8vw; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b08 {
      margin-top: 97px; } }
  @media screen and (min-width: 768px) {
    #facility .img-flex .img-box.b09 {
      margin-top: 87px;
      padding-left: 6vw; } }
  @media screen and (max-width: 767px) {
    #facility .img-flex .img-box + .img-box {
      margin-top: 70px; } }
#facility .min-box {
  max-width: 880px;
  margin: 230px auto 0; }
  @media screen and (max-width: 767px) {
    #facility .min-box {
      margin-top: 60px;
      padding: 0 26.5px 30px; } }
  @media screen and (min-width: 768px) {
    #facility .min-box ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0 0 0 -9%; } }
  @media screen and (min-width: 768px) {
    #facility .min-box ul li {
      width: 41%;
      margin: 0 0 0 9%; } }
  #facility .min-box ul li p.t01 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    margin-top: 15px; }
    @media screen and (max-width: 767px) {
      #facility .min-box ul li p.t01 {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      #facility .min-box ul li p.t01 {
        margin-top: 10px; } }
  #facility .min-box ul li p.t02 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 1.8;
    margin-top: 10px; }
    @media screen and (max-width: 767px) {
      #facility .min-box ul li p.t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #facility .min-box ul li p.t02 {
        margin-top: 5px; } }
  @media screen and (max-width: 767px) {
    #facility .min-box ul li + li {
      margin-top: 35px; } }

i.u {
  border-bottom: 2px solid #961C5C; }
  @media screen and (max-width: 767px) {
    i.u {
      border-bottom: 1px solid #961C5C; } }

.mm-box {
  max-width: 1160px;
  margin: 0 auto; }
  .mm-box figure {
    display: block;
    line-height: 0; }

.mm-text {
  padding-top: 110px;
  max-width: 1160px;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mm-text {
      padding-top: 40px; } }
  .mm-text .t01 {
    color: #961C5C;
    font-size: clamp(2.6rem, 2.6vw, 4.8rem); }
    @media screen and (max-width: 767px) {
      .mm-text .t01 {
        font-size: 2.6rem; } }
    .mm-text .t01.left {
      text-align: left; }
    .mm-text .t01.min {
      color: #BE7D9F;
      font-size: clamp(2rem, 1.6vw, 3rem);
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .mm-text .t01.min {
          font-size: 2rem; } }
      @media screen and (min-width: 768px) {
        .mm-text .t01.min {
          padding-bottom: 25px; } }
  .mm-text .t02 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    margin-top: 40px;
    line-height: 2.0; }
    @media screen and (max-width: 767px) {
      .mm-text .t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      .mm-text .t02 {
        margin-top: 25px; } }
    .mm-text .t02.left {
      text-align: left; }
    .mm-text .t02.mt-min {
      margin-top: 25px; }
    @media screen and (min-width: 768px) {
      .mm-text .t02.mt-max {
        margin-top: 75px; } }
    .mm-text .t02 + .t02 {
      margin-top: 15px; }
    .mm-text .t02.right {
      text-align: right; }
    .mm-text .t02 em {
      font-weight: 700; }
  .mm-text .t03 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    text-align: left; }
    @media screen and (max-width: 767px) {
      .mm-text .t03 {
        font-size: 2.3rem; } }
    .mm-text .t03 em {
      color: #961C5C;
      font-weight: 700; }
  .mm-text.pd {
    padding-top: 25px; }
  .mm-text .large-text {
    margin-top: 35px;
    font-size: clamp(1.6rem, 1.6vw, 2.4rem);
    font-weight: 600;
    text-align: center;
    line-height: 2.2; }
    @media screen and (max-width: 767px) {
      .mm-text .large-text {
        font-size: 1.6rem; } }
    .mm-text .large-text.inB {
      display: inline-block;
      text-align: left; }
    .mm-text .large-text.c01 {
      color: #650F67;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .mm-text .large-text.c01 {
          margin-top: 15px; } }
  .mm-text .more-btn {
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      .mm-text .more-btn {
        margin-top: 10px; } }
  .mm-text + .mm-text {
    padding-top: 150px; }
    @media screen and (max-width: 767px) {
      .mm-text + .mm-text {
        padding-top: 50px; } }
  .mm-text + .subimg-flex-box {
    margin-top: 120px; }
    @media screen and (max-width: 767px) {
      .mm-text + .subimg-flex-box {
        margin-top: 30px; } }
  .mm-text .img {
    max-width: 896px;
    margin: 65px auto 0; }
  .mm-text .img-flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 75px; }
    @media screen and (max-width: 767px) {
      .mm-text .img-flex {
        flex-direction: column-reverse;
        margin-top: 65px; } }
    .mm-text .img-flex > .img {
      margin: 0;
      max-width: none; }
      @media screen and (min-width: 768px) {
        .mm-text .img-flex > .img {
          width: 32%; } }
      @media screen and (max-width: 767px) {
        .mm-text .img-flex > .img {
          margin-top: 20px; } }
    @media screen and (min-width: 768px) {
      .mm-text .img-flex > .text {
        width: 68%;
        padding-left: 55px; } }
    .mm-text .img-flex > .text .tt01 {
      font-size: clamp(2.3rem, 2.2vw, 3.8rem);
      text-align: left;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 767px) {
        .mm-text .img-flex > .text .tt01 {
          font-size: 2.3rem; } }
    .mm-text .img-flex > .text .tt02 {
      font-size: clamp(1.4rem, 1.6vw, 2rem);
      text-align: left;
      margin-top: 15px;
      line-height: 2.0; }
      @media screen and (max-width: 767px) {
        .mm-text .img-flex > .text .tt02 {
          font-size: 1.4rem; } }
      @media screen and (min-width: 768px) {
        .mm-text .img-flex > .text .tt02.adj {
          margin-top: 40px; } }
      .mm-text .img-flex > .text .tt02 a {
        text-decoration: underline;
        font-weight: 700;
        color: #961C5C; }
        @media screen and (min-width: 768px) {
          .mm-text .img-flex > .text .tt02 a:hover {
            text-decoration: none; } }
    @media screen and (min-width: 768px) {
      .mm-text .img-flex.rsv {
        flex-direction: row-reverse; } }
    @media screen and (min-width: 768px) {
      .mm-text .img-flex.rsv > .text {
        padding-left: 0;
        padding-right: 55px; } }
  .mm-text.white {
    background: #fff;
    padding: 90px 85px;
    margin-top: 150px;
    border-radius: 25px; }
    @media screen and (max-width: 767px) {
      .mm-text.white {
        margin-top: 70px;
        padding: 40px 25px; } }

.mm-ttl {
  margin: 250px auto 0;
  max-width: 386px; }
  @media screen and (max-width: 767px) {
    .mm-ttl {
      max-width: 193px;
      margin: 50px auto 0; } }

.subimg-flex-box {
  max-width: 1160px;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .subimg-flex-box .img-box {
      display: flex;
      flex-wrap: wrap;
      align-items: center; } }
  @media screen and (min-width: 768px) {
    .subimg-flex-box .img-box .img {
      width: 46.6%; } }
  @media screen and (min-width: 768px) {
    .subimg-flex-box .img-box .text {
      width: 53.4%;
      padding-left: 40px; } }
  .subimg-flex-box .img-box .text .t01 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    margin-top: 15px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      .subimg-flex-box .img-box .text .t01 {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      .subimg-flex-box .img-box .text .t01 {
        margin-top: 25px; } }
  .subimg-flex-box .img-box .text .t02 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 2.0;
    margin-top: 20px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      .subimg-flex-box .img-box .text .t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      .subimg-flex-box .img-box .text .t02 {
        margin-top: 5px; } }
  .subimg-flex-box .img-box + .img-box {
    margin-top: 125px; }
    @media screen and (max-width: 767px) {
      .subimg-flex-box .img-box + .img-box {
        margin-top: 60px; } }
  .subimg-flex-box .img-box.top {
    align-items: flex-start; }
  .subimg-flex-box .img-box.rsv {
    flex-direction: row-reverse; }
    @media screen and (min-width: 768px) {
      .subimg-flex-box .img-box.rsv .text {
        padding-left: 0;
        padding-right: 40px; } }
    @media screen and (min-width: 768px) {
      .subimg-flex-box .img-box.rsv + .img-box.rsv {
        margin-top: 100px; } }
  .subimg-flex-box + .mm-text {
    padding-top: 300px; }
    @media screen and (max-width: 767px) {
      .subimg-flex-box + .mm-text {
        padding-top: 65px; } }

.img-single {
  margin: 20px auto 100px; }

.page-link-box {
  margin: 110px auto 25px; }
  @media screen and (max-width: 767px) {
    .page-link-box {
      margin: 40px auto 15px; } }
  .page-link-box ul {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (min-width: 768px) {
      .page-link-box ul {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 0 12px; } }
    @media screen and (max-width: 767px) {
      .page-link-box ul {
        margin: -15px 0 0 -4%; } }
    .page-link-box ul li {
      width: 100%; }
      @media screen and (max-width: 767px) {
        .page-link-box ul li {
          width: 46%;
          margin: 15px 0 0 4%; } }
      .page-link-box ul li a {
        border: 1px solid #fff;
        background: #EFEFEF;
        font-size: clamp(1.4rem, 1.6vw, 2rem);
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-weight: 600;
        padding: 16px 55px;
        background-image: url(./../images/dec_arrow03.svg);
        background-repeat: no-repeat;
        background-position: 93% center; }
        @media screen and (max-width: 767px) {
          .page-link-box ul li a {
            font-size: 1.4rem; } }
        @media screen and (max-width: 767px) {
          .page-link-box ul li a {
            padding: 10px 25px 10px 10px;
            background-size: 10px;
            min-height: 60px; } }

@media screen and (min-width: 768px) {
  #specialty #bnr-block00 .c-body-inner {
    margin-top: 100px; } }
#specialty #block01 .flex-img {
  max-width: 1160px;
  margin: 0 auto;
  margin-top: 75px; }
  @media screen and (min-width: 768px) {
    #specialty #block01 .flex-img {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    #specialty #block01 .flex-img {
      margin-top: 45px; } }
  #specialty #block01 .flex-img .img {
    line-height: 0; }
    @media screen and (min-width: 768px) {
      #specialty #block01 .flex-img .img {
        width: 47.45%; } }
  @media screen and (min-width: 768px) {
    #specialty #block01 .flex-img .text {
      width: 52.55%;
      padding-right: 65px; } }
  #specialty #block01 .flex-img .text .t01 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      #specialty #block01 .flex-img .text .t01 {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      #specialty #block01 .flex-img .text .t01 {
        margin-top: 20px; } }
  #specialty #block01 .flex-img .text .t02 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 2.0;
    margin-top: 25px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      #specialty #block01 .flex-img .text .t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #specialty #block01 .flex-img .text .t02 {
        margin-top: 5px; } }
  #specialty #block01 .flex-img + .flex-img {
    margin-top: 110px; }
    @media screen and (max-width: 767px) {
      #specialty #block01 .flex-img + .flex-img {
        margin-top: 45px; } }

.gray-box {
  background: #EFEFEF;
  padding-bottom: 150px; }
  @media screen and (max-width: 767px) {
    .gray-box {
      margin: 0 -25px;
      padding: 0 25px 50px; } }
  @media screen and (max-width: 767px) {
    .gray-box .mm-text .img {
      margin: 30px auto 0; } }

.flow-body {
  margin-bottom: 150px; }
  @media screen and (max-width: 767px) {
    .flow-body {
      margin-bottom: 80px; } }
  .flow-body ul li {
    background: #fff;
    padding: 42px 45px;
    border-radius: 25px; }
    @media screen and (min-width: 768px) {
      .flow-body ul li {
        display: flex;
        flex-wrap: wrap; } }
    @media screen and (max-width: 767px) {
      .flow-body ul li {
        padding: 22px 25px; } }
    .flow-body ul li span {
      display: block; }
      .flow-body ul li span.t01 {
        width: 180px;
        height: 180px;
        border-radius: 180px;
        background: #BE7D9F;
        text-align: center;
        padding: 25px 0 0; }
        @media screen and (max-width: 767px) {
          .flow-body ul li span.t01 {
            width: 90px;
            height: 90px;
            padding: 12px 0;
            margin: 0 auto; } }
        .flow-body ul li span.t01 i {
          display: block; }
          @media screen and (min-width: 768px) {
            .flow-body ul li span.t01 i {
              letter-spacing: 0.05em; } }
          .flow-body ul li span.t01 i.i01 {
            font-family: 'EB Garamond', serif;
            font-weight: 400;
            font-size: clamp(3rem, 3.5vw, 6rem);
            color: #F0E3CD;
            line-height: 1; }
            @media screen and (max-width: 767px) {
              .flow-body ul li span.t01 i.i01 {
                font-size: 3rem; } }
          .flow-body ul li span.t01 i.i02 {
            font-size: clamp(1.4rem, 1.6vw, 2rem);
            color: #fff;
            margin-top: 7px;
            font-weight: 600;
            line-height: 1; }
            @media screen and (max-width: 767px) {
              .flow-body ul li span.t01 i.i02 {
                font-size: 1.4rem; } }
      .flow-body ul li span.t02 {
        font-size: clamp(1.4rem, 1.6vw, 2rem);
        line-height: 2.0; }
        @media screen and (max-width: 767px) {
          .flow-body ul li span.t02 {
            font-size: 1.4rem; } }
        @media screen and (min-width: 768px) {
          .flow-body ul li span.t02 {
            width: calc( 100% - 180px );
            padding: 25px 0 0 45px; } }
        @media screen and (max-width: 767px) {
          .flow-body ul li span.t02 {
            margin-top: 15px; } }
    .flow-body ul li + li {
      margin-top: 65px; }
      @media screen and (max-width: 767px) {
        .flow-body ul li + li {
          margin-top: 35px; } }

@media screen and (min-width: 768px) {
  #intraocular #block01 {
    padding-bottom: 100px; } }
#intraocular .text-flex {
  border: 1px solid #707070; }
  @media screen and (min-width: 768px) {
    #intraocular .text-flex {
      display: flex;
      flex-wrap: wrap; } }
  @media screen and (max-width: 767px) {
    #intraocular .text-flex {
      padding: 40px 25px; } }
  @media screen and (min-width: 768px) {
    #intraocular .text-flex .text-box {
      width: 50%;
      padding: 0 71px;
      margin: 75px 0; } }
  #intraocular .text-flex .text-box .t01 {
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    margin-bottom: 60px;
    letter-spacing: 0.05em;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t01 {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t01 {
        margin-bottom: 25px; } }
  #intraocular .text-flex .text-box .t02 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 2.0;
    position: relative;
    padding-left: 1.2em; }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t02 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t02 br {
        display: none; } }
    #intraocular .text-flex .text-box .t02::after {
      content: "●";
      position: absolute;
      top: 0;
      left: 0; }
  #intraocular .text-flex .text-box .t03 {
    font-size: clamp(1.7rem, 1.6vw, 2.4rem);
    letter-spacing: 0.05em;
    font-weight: 700;
    margin: 0 0 17px; }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t03 {
        font-size: 1.7rem; } }
  #intraocular .text-flex .text-box .t04 {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 2.0;
    margin: 15px 0 0; }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t04 {
        font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .t04 {
        margin: 10px 0 0; } }
  #intraocular .text-flex .text-box .in-box {
    margin-top: 70px; }
    @media screen and (max-width: 767px) {
      #intraocular .text-flex .text-box .in-box {
        margin-top: 35px; } }
    #intraocular .text-flex .text-box .in-box + .in-box {
      margin-top: 50px; }
  @media screen and (min-width: 768px) {
    #intraocular .text-flex .text-box:nth-child(even) {
      border-left: 1px solid #707070; } }
  @media screen and (max-width: 767px) {
    #intraocular .text-flex .text-box + .text-box {
      margin-top: 50px; } }

@media screen and (max-width: 767px) {
  .faq-outer {
    padding-bottom: 50px; } }

.faq-block + .faq-block {
  margin-top: 75px; }
  @media screen and (max-width: 767px) {
    .faq-block + .faq-block {
      margin-top: 30px; } }

.faq-body {
  margin-top: 60px; }
  @media screen and (max-width: 767px) {
    .faq-body {
      margin-top: 35px; } }
  .faq-body .faq-text {
    background: #fff;
    border-radius: 25px;
    border: 1px solid #CCC;
    padding: 20px 45px; }
    @media screen and (max-width: 767px) {
      .faq-body .faq-text {
        padding: 15px 25px;
        border-radius: 15px; } }
    .faq-body .faq-text p {
      position: relative;
      padding-left: 60px !important;
      line-height: 1.8; }
      @media screen and (max-width: 767px) {
        .faq-body .faq-text p {
          line-height: 1.6;
          padding-left: 35px !important; } }
      .faq-body .faq-text p::before {
        font-size: 5.0rem;
        font-size: clamp(2.5rem, 2.6vw, 5rem);
        line-height: 1;
        position: absolute;
        top: 3px;
        left: 0; }
        @media screen and (max-width: 767px) {
          .faq-body .faq-text p::before {
            font-size: 2.5rem; } }
      .faq-body .faq-text p.a {
        font-size: clamp(1.4rem, 1.6vw, 2rem);
        padding: 25px 0 15px;
        letter-spacing: 0.02em;
        display: none; }
        @media screen and (max-width: 767px) {
          .faq-body .faq-text p.a {
            font-size: 1.4rem; } }
        @media screen and (max-width: 767px) {
          .faq-body .faq-text p.a {
            padding: 15px 0 5px; } }
        .faq-body .faq-text p.a::before {
          content: "A";
          color: #00C1D3;
          top: 25px; }
          @media screen and (max-width: 767px) {
            .faq-body .faq-text p.a::before {
              top: 12px; } }
      .faq-body .faq-text p.q {
        font-weight: 700;
        font-size: clamp(1.7rem, 1.6vw, 2.6rem);
        padding: 15px 0;
        letter-spacing: 0.05em;
        padding-right: 50px;
        cursor: pointer; }
        @media screen and (max-width: 767px) {
          .faq-body .faq-text p.q {
            font-size: 1.7rem; } }
        @media screen and (max-width: 767px) {
          .faq-body .faq-text p.q {
            padding: 3px 30px 5px 35px !important; } }
        .faq-body .faq-text p.q::before {
          content: "Q";
          color: #C39E61; }
        .faq-body .faq-text p.q::after {
          content: "";
          display: inline-block;
          vertical-align: middle;
          line-height: 1;
          width: 13px;
          height: 13px;
          border: 1px solid #650F67;
          border-left: 0;
          border-bottom: 0;
          box-sizing: border-box;
          transform: translateY(-25%) rotate(135deg);
          position: absolute;
          top: 30px;
          right: 10px;
          transition-property: all;
          transition-duration: 0.5s;
          transition-timing-function: ease;
          transition-delay: 0s; }
          @media screen and (max-width: 767px) {
            .faq-body .faq-text p.q::after {
              width: 10px;
              height: 10px;
              right: 0; } }
        .faq-body .faq-text p.q.on::after {
          transform: translateY(25%) rotate(-45deg); }
    .faq-body .faq-text + .faq-text {
      margin-top: 22px; }

p.normal {
  font-size: clamp(1.3rem, 1.6vw, 2rem); }
  @media screen and (max-width: 767px) {
    p.normal {
      font-size: 1.3rem; } }

.pr-box {
  text-align: left;
  margin-top: 115px; }
  @media screen and (max-width: 767px) {
    .pr-box {
      margin-top: 40px; } }
  .pr-box .pr-box-inner .pr-ttl {
    font-size: clamp(1.7rem, 1.6vw, 2.6rem);
    font-weight: 600;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 767px) {
      .pr-box .pr-box-inner .pr-ttl {
        font-size: 1.7rem; } }
    .pr-box .pr-box-inner .pr-ttl + .normal {
      margin-top: 20px; }
  .pr-box .pr-box-inner + .pr-box-inner {
    margin-top: 50px; }

.dod-list {
  margin-top: 15px; }
  .dod-list li {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    position: relative;
    line-height: 1.8; }
    @media screen and (max-width: 767px) {
      .dod-list li {
        font-size: 1.4rem; } }
    .dod-list li span {
      padding-left: 1em;
      display: block; }
    .dod-list li::after {
      content: "・";
      position: absolute;
      top: 0;
      left: 0; }
    .dod-list li + li {
      margin-top: 5px; }

#caresystem #block02 {
  background-image: url(./../images/specialty/caresystem/bg.jpg); }
  @media screen and (min-width: 768px) {
    #caresystem #block02 {
      background-size: cover; } }
  @media screen and (max-width: 767px) {
    #caresystem #block02 {
      background-image: url(./../images/specialty/caresystem/bg_sp.jpg); } }
  #caresystem #block02 .c-inner {
    padding-top: 300px;
    padding-bottom: 300px; }
    @media screen and (max-width: 767px) {
      #caresystem #block02 .c-inner {
        padding-top: 220px;
        padding-bottom: 300px; } }
  #caresystem #block02 .mm-text {
    margin-left: 0;
    margin-right: auto;
    background: rgba(255, 255, 255, 0.8);
    padding: 60px 65px 55px;
    max-width: 910px; }
    @media screen and (max-width: 767px) {
      #caresystem #block02 .mm-text {
        padding: 30px 25px; } }
    #caresystem #block02 .mm-text .t01 {
      letter-spacing: 0.08em; }
      @media screen and (min-width: 768px) {
        #caresystem #block02 .mm-text .t01 {
          margin: 0 -200px;
          font-size: clamp(2.6rem, 2.6vw, 3.9rem); } }
  @media screen and (min-width: 768px) and (max-width: 767px) {
    #caresystem #block02 .mm-text .t01 {
      font-size: 2.6rem; } }

      @media screen and (max-width: 767px) {
        #caresystem #block02 .mm-text .t01 {
          text-align: left !important;
          font-size: 2.3rem; } }
#caresystem #under-page .flex-box {
  margin-top: 60px; }
  @media screen and (max-width: 767px) {
    #caresystem #under-page .flex-box {
      margin-top: 25px; } }
  @media screen and (min-width: 768px) {
    #caresystem #under-page .flex-box .flex-box-inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center; } }
  @media screen and (min-width: 768px) {
    #caresystem #under-page .flex-box .flex-box-inner .text {
      width: 50%;
      padding-right: 65px; } }
  #caresystem #under-page .flex-box .flex-box-inner .text p {
    font-size: clamp(1.4rem, 1.6vw, 2rem);
    line-height: 2; }
    @media screen and (max-width: 767px) {
      #caresystem #under-page .flex-box .flex-box-inner .text p {
        font-size: 1.4rem; } }
  @media screen and (min-width: 768px) {
    #caresystem #under-page .flex-box .flex-box-inner .img {
      width: 47.6%;
      line-height: 0; } }
  @media screen and (max-width: 767px) {
    #caresystem #under-page .flex-box .flex-box-inner .img {
      margin-top: 30px; } }
#caresystem #under-page .text-box {
  margin: 170px auto 0; }
  @media screen and (max-width: 767px) {
    #caresystem #under-page .text-box {
      margin: 60px auto 0;
      padding-bottom: 25px; } }
  #caresystem #under-page .text-box .ms-ttl {
    text-align: center;
    color: #BE7D9F;
    font-size: clamp(2.3rem, 2.2vw, 3.8rem);
    letter-spacing: 0.1em;
    margin: 0px 0 50px; }
    @media screen and (max-width: 767px) {
      #caresystem #under-page .text-box .ms-ttl {
        font-size: 2.3rem; } }
    @media screen and (max-width: 767px) {
      #caresystem #under-page .text-box .ms-ttl {
        margin: 0px 0 30px; } }
  #caresystem #under-page .text-box .text-box-inner {
    background: #fff;
    padding: 80px 165px 45px;
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); }
    @media screen and (max-width: 767px) {
      #caresystem #under-page .text-box .text-box-inner {
        padding: 35px 20px 30px; } }
    #caresystem #under-page .text-box .text-box-inner p {
      letter-spacing: 0.04em; }
    #caresystem #under-page .text-box .text-box-inner .t01 {
      font-size: clamp(2.3rem, 2.2vw, 3.8rem);
      text-align: center; }
      @media screen and (max-width: 767px) {
        #caresystem #under-page .text-box .text-box-inner .t01 {
          font-size: 2.3rem; } }
    #caresystem #under-page .text-box .text-box-inner .t02 {
      margin-top: 25px;
      font-size: clamp(1.4rem, 1.6vw, 2rem);
      line-height: 2; }
      @media screen and (max-width: 767px) {
        #caresystem #under-page .text-box .text-box-inner .t02 {
          font-size: 1.4rem; } }
    #caresystem #under-page .text-box .text-box-inner .t03 {
      margin-top: 15px;
      text-align: right;
      font-size: clamp(1.4rem, 1.6vw, 2rem); }
      @media screen and (max-width: 767px) {
        #caresystem #under-page .text-box .text-box-inner .t03 {
          font-size: 1.4rem; } }
      @media screen and (min-width: 768px) {
        #caresystem #under-page .text-box .text-box-inner .t03.adj {
          margin-top: 130px; } }
    #caresystem #under-page .text-box .text-box-inner + .text-box-inner {
      margin-top: 115px; }
      @media screen and (max-width: 767px) {
        #caresystem #under-page .text-box .text-box-inner + .text-box-inner {
          margin-top: 65px; } }

.spc-ttl {
  color: #961C5C;
  font-size: clamp(2.6rem, 2.6vw, 4.8rem);
  text-align: center;
  margin: 0 auto 50px;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 767px) {
    .spc-ttl {
      font-size: 2.6rem; } }
  @media screen and (max-width: 767px) {
    .spc-ttl {
      margin: 0 auto 25px; } }
  @media screen and (max-width: 767px) {
    .spc-ttl + .text-box-inner {
      margin-top: 30px !important; } }

.specialty-ttl {
  text-align: center;
  margin: 0 auto 50px;
  position: relative;
  z-index: 1; }
  .specialty-ttl .ttl-o {
    display: block; }
    .specialty-ttl .ttl-o i {
      display: block; }
  .specialty-ttl .t01 {
    font-size: clamp(3rem, 3.5vw, 6rem);
    letter-spacing: 0.15em; }
    @media screen and (max-width: 767px) {
      .specialty-ttl .t01 {
        font-size: 3rem; } }
  .specialty-ttl .t02 {
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    color: #C39E61;
    font-size: clamp(1.9rem, 2vw, 3.5rem);
    letter-spacing: 0.10em;
    margin-top: 3px; }
    @media screen and (max-width: 767px) {
      .specialty-ttl .t02 {
        font-size: 1.9rem; } }

.spc-inner {
  padding-top: 25px; }
  .spc-inner .chk-box {
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.2);
    padding: 50px 90px 80px;
    margin: 0 auto 60px;
    background: #fff; }
    @media screen and (max-width: 767px) {
      .spc-inner .chk-box {
        padding: 25px 30px 40px;
        margin: 0 auto 30px; } }
    .spc-inner .chk-box .chk-ttl {
      text-align: center; }
      .spc-inner .chk-box .chk-ttl span {
        display: block;
        letter-spacing: 0.10em; }
      .spc-inner .chk-box .chk-ttl .t01 {
        font-family: 'EB Garamond', serif;
        font-weight: 400;
        color: #C39E61;
        font-style: italic;
        font-size: clamp(1.9rem, 2vw, 3.5rem); }
        @media screen and (max-width: 767px) {
          .spc-inner .chk-box .chk-ttl .t01 {
            font-size: 1.9rem; } }
      .spc-inner .chk-box .chk-ttl .t02 {
        font-size: clamp(1.7rem, 1.6vw, 2.4rem);
        margin-top: 6px; }
        @media screen and (max-width: 767px) {
          .spc-inner .chk-box .chk-ttl .t02 {
            font-size: 1.7rem; } }
        @media screen and (max-width: 767px) {
          .spc-inner .chk-box .chk-ttl .t02 {
            letter-spacing: normal; } }
    .spc-inner .chk-box ul {
      margin-top: 50px; }
      @media screen and (max-width: 767px) {
        .spc-inner .chk-box ul {
          margin-top: 25px; } }
      .spc-inner .chk-box ul li {
        position: relative; }
        @media screen and (max-width: 767px) {
          .spc-inner .chk-box ul li {
            margin-top: 2px; } }
        .spc-inner .chk-box ul li span {
          display: block;
          padding-left: 37px;
          font-size: clamp(1.4rem, 1.6vw, 2rem);
          padding: 8px 0 8px 40px;
          z-index: 1;
          position: relative; }
          @media screen and (max-width: 767px) {
            .spc-inner .chk-box ul li span {
              font-size: 1.4rem; } }
          @media screen and (max-width: 767px) {
            .spc-inner .chk-box ul li span {
              padding: 2px 0 2px 22px;
              line-height: 1.8; } }
        .spc-inner .chk-box ul li::before {
          position: absolute;
          top: 2px;
          left: 0;
          content: "";
          background-image: url(./../images/specialty/icon_chk.jpg);
          background-position: 0 0;
          background-repeat: no-repeat;
          background-size: 100% 100%;
          width: 30px;
          height: 33px; }
          @media screen and (max-width: 767px) {
            .spc-inner .chk-box ul li::before {
              top: 3.5px;
              width: 15px;
              height: 16.5px; } }
      @media screen and (min-width: 768px) {
        .spc-inner .chk-box ul.grid {
          display: grid;
          grid-auto-flow: column;
          grid-template-rows: repeat(6, auto);
          gap: 0 30px;
          grid-template-columns: 1fr 1fr; } }
  .spc-inner .normal {
    line-height: 2.0; }
    @media screen and (max-width: 767px) {
      .spc-inner .normal {
        font-size: 1.4rem; } }
    .spc-inner .normal em {
      font-weight: 700; }
  .spc-inner .alert {
    margin-top: 40px;
    text-align: center;
    color: #650F67;
    font-size: clamp(1.7rem, 1.6vw, 2.4rem); }
    @media screen and (max-width: 767px) {
      .spc-inner .alert {
        font-size: 1.7rem; } }
    @media screen and (max-width: 767px) {
      .spc-inner .alert {
        text-align: left;
        margin-top: 20px;
        line-height: 1.6; } }
    .spc-inner .alert span {
      display: inline-block;
      position: relative;
      padding: 3.5px 0 0 50px; }
      @media screen and (max-width: 767px) {
        .spc-inner .alert span {
          padding: 0 0 0 30px;
          display: block; } }
      .spc-inner .alert span::before {
        position: absolute;
        top: 2px;
        left: 0;
        content: "";
        background-image: url(./../images/specialty/icon_alert.svg);
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        width: 38px;
        height: 38px; }
        @media screen and (max-width: 767px) {
          .spc-inner .alert span::before {
            top: 4px;
            width: 19px;
            height: 19px; } }
  @media screen and (min-width: 768px) {
    .spc-inner .spc-fx {
      display: flex;
      flex-wrap: wrap;
      margin: 60px 0 120px -5%; } }
  @media screen and (max-width: 767px) {
    .spc-inner .spc-fx {
      margin-bottom: 35px; } }
  @media screen and (min-width: 768px) {
    .spc-inner .spc-fx .spc-fx-inner {
      width: 45%;
      margin: 0 0 0 5%; } }
  @media screen and (max-width: 767px) {
    .spc-inner .spc-fx .spc-fx-inner {
      margin-top: 35px; } }
  @media screen and (max-width: 767px) {
    .spc-inner .spc-fx .spc-fx-inner figure {
      padding: 0 15px; } }
  .spc-inner .spc-fx .spc-fx-inner .normal {
    margin-top: 25px; }
    @media screen and (max-width: 767px) {
      .spc-inner .spc-fx .spc-fx-inner .normal {
        margin-top: 10px; } }
  @media screen and (max-width: 767px) {
    .spc-inner .spc-fx .spc-fx-inner + .spc-fx-inner {
      margin-top: 40px; } }
  .spc-inner .img-box {
    margin: 25px auto 0; }
    @media screen and (max-width: 767px) {
      .spc-inner .img-box {
        margin-top: 20px; } }
    .spc-inner .img-box.p01 {
      max-width: 908px; }
    .spc-inner .img-box.p02 {
      max-width: 848px;
      margin-top: 70px; }
      @media screen and (max-width: 767px) {
        .spc-inner .img-box.p02 {
          margin-top: 30px; } }
      .spc-inner .img-box.p02 + .p02 {
        margin-top: 50px; }
        @media screen and (max-width: 767px) {
          .spc-inner .img-box.p02 + .p02 {
            margin-top: 30px; } }
    .spc-inner .img-box.p03 {
      margin-top: 30px; }
      @media screen and (max-width: 767px) {
        .spc-inner .img-box.p03 {
          margin-top: 20px; } }
    .spc-inner .img-box .normal + figure {
      margin-top: 20px; }
  .spc-inner .text-box {
    margin: 85px auto 0; }
    @media screen and (max-width: 767px) {
      .spc-inner .text-box {
        margin: 45px auto 0; } }
    .spc-inner .text-box .text-box-inner {
      margin-top: 65px; }
      @media screen and (max-width: 767px) {
        .spc-inner .text-box .text-box-inner {
          margin-top: 45px;
          /*
          margin-top: 30px;
          */ } }
      .spc-inner .text-box .text-box-inner .t01 {
        text-align: center;
        font-weight: 700;
        font-size: clamp(1.7rem, 1.6vw, 2.6rem);
        margin: 0 0 20px;
        letter-spacing: 0.10em; }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .t01 {
            font-size: 1.7rem; } }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .t01 {
            margin: 0 -15px 10px;
            letter-spacing: normal; } }
      .spc-inner .text-box .text-box-inner .text-list {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #707070;
        margin-bottom: 90px; }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .text-list {
            margin-bottom: 45px; } }
        .spc-inner .text-box .text-box-inner .text-list dt,
        .spc-inner .text-box .text-box-inner .text-list dd {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          border-top: 1px solid #707070;
          padding: 25px 0; }
          @media screen and (max-width: 767px) {
            .spc-inner .text-box .text-box-inner .text-list dt,
            .spc-inner .text-box .text-box-inner .text-list dd {
              align-items: flex-start;
              padding: 15px 0; } }
        .spc-inner .text-box .text-box-inner .text-list dt {
          width: 25%;
          text-align: center;
          justify-content: center; }
        .spc-inner .text-box .text-box-inner .text-list dd {
          width: 75%;
          padding-left: 25px; }
          .spc-inner .text-box .text-box-inner .text-list dd .t01 {
            margin-bottom: 10px; }
            @media screen and (max-width: 767px) {
              .spc-inner .text-box .text-box-inner .text-list dd .t01 {
                text-align: center; } }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 {
            display: block; } }
        @media screen and (min-width: 768px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dt,
          .spc-inner .text-box .text-box-inner .text-list.p02 dd {
            padding: 50px 0; } }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dt,
          .spc-inner .text-box .text-box-inner .text-list.p02 dd {
            width: 100%;
            display: block; } }
        @media screen and (min-width: 768px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dt {
            width: 32.5%;
            align-items: flex-start; } }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dt {
            padding: 35px 6% 0; } }
        @media screen and (min-width: 768px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dd {
            width: 67.5%;
            padding-left: 60px; } }
        @media screen and (max-width: 767px) {
          .spc-inner .text-box .text-box-inner .text-list.p02 dd {
            border-top: none;
            padding-left: 0;
            padding-right: 0;
            padding-bottom: 35px; } }
  .spc-inner .border-box {
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.2);
    border-radius: 25px;
    padding: 75px 90px 85px;
    margin-top: 120px; }
    @media screen and (max-width: 767px) {
      .spc-inner .border-box {
        margin-top: 65px;
        padding: 35px 30px 35px;
        margin-bottom: 70px; } }
    .spc-inner .border-box .spc-min-ttl {
      font-size: clamp(1.9rem, 1.6vw, 3rem);
      text-align: center;
      color: #BE7D9F;
      letter-spacing: 0.1em;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .spc-inner .border-box .spc-min-ttl {
          font-size: 1.9rem; } }
    .spc-inner .border-box .b-list {
      margin-top: 60px; }
      @media screen and (max-width: 767px) {
        .spc-inner .border-box .b-list {
          margin-top: 30px; } }
      .spc-inner .border-box .b-list li {
        position: relative;
        font-size: clamp(1.7rem, 1.6vw, 2.6rem);
        font-weight: 700;
        margin-top: 3px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 767px) {
          .spc-inner .border-box .b-list li {
            font-size: 1.7rem; } }
        @media screen and (max-width: 767px) {
          .spc-inner .border-box .b-list li {
            margin-top: 6px;
            line-height: 1.8; } }
        .spc-inner .border-box .b-list li span {
          display: block;
          padding-left: 32px; }
          @media screen and (max-width: 767px) {
            .spc-inner .border-box .b-list li span {
              padding-left: 22px; } }
        .spc-inner .border-box .b-list li::before {
          content: "●";
          position: absolute;
          top: 0;
          left: 0; }

#alert-info {
  max-width: 1416px;
  padding: 0 25px;
  margin: 0 auto; }
  #alert-info #alert-info-inner {
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 35px;
    margin: 72px auto 220px;
    /*
    padding: 15px 15px;
    */
    padding: 13px 15px 7px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner {
        display: flex;
        flex-wrap: wrap; } }
    @media screen and (max-width: 767px) {
      #alert-info #alert-info-inner {
        padding: 7px 7px;
        border-radius: 15px;
        margin: 0 auto 85px; } }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner .alert-cat {
        width: 160px; } }
    #alert-info #alert-info-inner .alert-cat span {
      display: block;
      border-radius: 100px;
      line-height: 1;
      background-color: #B86290;
      color: #fff;
      font-weight: 600;
      font-size: 1.8rem;
      padding: 8px 10px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #alert-info #alert-info-inner .alert-cat span {
          font-size: 0.9rem;
          padding: 5px 10px; } }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner .alert-list {
        width: calc( 100% - 160px ); } }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner .alert-list dl {
        display: flex;
        flex-wrap: wrap;
        padding-left: 45px; } }
    @media screen and (max-width: 767px) {
      #alert-info #alert-info-inner .alert-list dl {
        padding: 0 13px 15px; } }
    #alert-info #alert-info-inner .alert-list dl dt,
    #alert-info #alert-info-inner .alert-list dl dd {
      font-weight: 600; }
      @media screen and (min-width: 768px) {
        #alert-info #alert-info-inner .alert-list dl dt,
        #alert-info #alert-info-inner .alert-list dl dd {
          padding: 3px 0 10px;
          font-size: 2.0rem; } }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner .alert-list dl dt {
        width: 125px; } }
    @media screen and (max-width: 767px) {
      #alert-info #alert-info-inner .alert-list dl dt {
        font-size: 1.3rem;
        padding: 15px 0 4px; } }
    @media screen and (min-width: 768px) {
      #alert-info #alert-info-inner .alert-list dl dd {
        width: calc( 100% - 125px);
        padding-left: 20px; } }
    @media screen and (max-width: 767px) {
      #alert-info #alert-info-inner .alert-list dl dd {
        font-size: 1.5rem; } }
  @media screen and (min-width: 768px) {
    #alert-info .alert-bnr {
      margin-top: 85px;
      padding-bottom: 72px; } }
  @media screen and (max-width: 767px) {
    #alert-info .alert-bnr {
      padding-bottom: 50px; } }
  #alert-info .alert-bnr .alert-bnr-body {
    max-width: 790px;
    margin: 0 auto 0;
    /*
    background: #C4B17B;
    padding: 36.5px 15px;
    */
    text-align: center; }
    @media screen and (max-width: 767px) {
      #alert-info .alert-bnr .alert-bnr-body {
        /*
        padding: 15px 15px;
        */ } }
    #alert-info .alert-bnr .alert-bnr-body figure {
      line-height: 0; }
    #alert-info .alert-bnr .alert-bnr-body p {
      color: #fff; }
    #alert-info .alert-bnr .alert-bnr-body .t01 {
      line-height: 1;
      font-size: 3.9rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-style: italic; }
      @media screen and (max-width: 767px) {
        #alert-info .alert-bnr .alert-bnr-body .t01 {
          font-size: 1.55rem; } }
    #alert-info .alert-bnr .alert-bnr-body .t02 {
      margin-top: 12px;
      font-size: 2.3rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 300; }
      @media screen and (max-width: 767px) {
        #alert-info .alert-bnr .alert-bnr-body .t02 {
          font-size: 0.9rem;
          margin-top: 6px; } }
  #alert-info .alert-bnr + #alert-info-inner {
    margin-top: 0px; }
    @media screen and (max-width: 767px) {
      #alert-info .alert-bnr + #alert-info-inner {
        margin-top: 0px; } }

/*# sourceMappingURL=style.css.map */
