@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Allura&display=swap");
#main {
  margin: 0;
  background-color: #000; }
  #main em {
    font-style: normal; }
  #main #container {
    max-width: 1500px;
    background: url("/assets/doctor/gensen/images/mainback.jpg") center top/100% 100% repeat;
    margin: 0 auto;
    padding: 50px 0 150px;
    margin-top: -2px; }
    #main #container.mvshort {
      background: none; }
    @media screen and (max-width: 979px) {
      #main #container {
        background: url("/assets/doctor/gensen/images/mainback_sp.jpg") center top/100% auto repeat-y;
        text-align: center;
        padding: 7vw 0 15vw; }
        #main #container.mvshort {
          background-image: none; } }
  #main #mv {
    background: url("/assets/doctor/gensen/images/mv_bg.jpg") center top/contain no-repeat;
    text-align: center;
    margin: 0; }
    @media screen and (max-width: 979px) {
      #main #mv {
        background: none; }
        #main #mv img {
          width: 100%; } }
  #main #intro {
    width: 850px;
    margin: 0 auto; }
    #main #intro header h2 {
      font-size: 50px;
      font-weight: bold;
      font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
      line-height: 1.3;
      text-align: center;
      padding: 30px 0;
      background: #aa7654;
      background: linear-gradient(90deg, #bf946e 0%, #fdeebc 35%, #fdeebc 65%, #be936d 100%);
      border: 4px solid;
      -o-border-image: linear-gradient(65deg, #fdeebb 0%, #b28164 52%, #fdeebb 100%);
         border-image: linear-gradient(65deg, #fdeebb 0%, #b28164 52%, #fdeebb 100%);
      border-image-slice: 1; }
    #main #intro .introInner {
      font-size: 20px;
      text-align: center;
      padding: 40px 75px 75px;
      line-height: 1.6;
      background-color: #fff; }
      #main #intro .introInner ._right {
        font-size: 14px; }
    #main #intro .introConfirm {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      font-size: 20px;
      text-align: center;
      margin: -1px 0 0; }
      #main #intro .introConfirm .btn {
        margin: 15px 0 0; }
        #main #intro .introConfirm .btn a {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 440px;
          height: 63px;
          font-size: 20px;
          color: #fff;
          background: #ef1745;
          background: linear-gradient(90deg, #ef1745 0%, #f5377e 94%);
          border-radius: 100px;
          text-decoration: none;
          position: relative;
          margin: 0 auto; }
          #main #intro .introConfirm .btn a::before {
            content: "";
            display: block;
            width: 10px;
            height: 10px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            transform: rotate(45deg);
            position: absolute;
            top: 42%;
            right: 20px; }
    @media screen and (max-width: 979px) {
      #main #intro {
        width: 94%; }
        #main #intro header h2 {
          font-size: 5.5vw;
          padding: 3.5vw 0;
          border: 0.8vw solid;
          -o-border-image: linear-gradient(65deg, #fdeebb 0%, #b28164 52%, #fdeebb 100%);
             border-image: linear-gradient(65deg, #fdeebb 0%, #b28164 52%, #fdeebb 100%);
          border-image-slice: 1; }
        #main #intro .introInner {
          font-size: 3.5vw;
          padding: 3vw 4vw 4vw; }
          #main #intro .introInner ._right {
            font-size: 2.5vw; }
        #main #intro .introConfirm {
          margin: 0vw 0 0; }
          #main #intro .introConfirm p {
            font-size: 3.2vw; }
          #main #intro .introConfirm .btn {
            margin: 2vw 0 0; }
            #main #intro .introConfirm .btn a {
              width: 70vw;
              height: 10vw;
              font-size: 3.5vw; }
              #main #intro .introConfirm .btn a::before {
                right: 5%;
                top: calc(50% - 1vw);
                width: 2vw;
                height: 2vw;
                border-top: 0.5vw solid #fff;
                border-right: 0.5vw solid #fff; } }
  #main #doctor {
    width: 980px;
    margin: 30px auto 0;
    color: #fff; }
    #main #doctor .area-label {
      width: -moz-fit-content;
      width: fit-content;
      color: black;
      font-size: 38px;
      font-weight: 600;
      padding-inline: 20px;
      font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", メイリオ, Meiryo, serif, Georgia;
      background: linear-gradient(90deg, #bf946e 0%, #fdeebc 35%, #fdeebc 65%, #be936d 100%); }
      @media screen and (max-width: 979px) {
        #main #doctor .area-label {
          font-size: 24px;
          padding-inline: 12px; } }
    #main #doctor > ul {
      display: flex;
      flex-wrap: wrap;
      margin: 50px 0 0; }
      #main #doctor > ul li {
        width: 190px; }
        #main #doctor > ul li:not(:nth-child(4n + 1)) {
          margin-left: 65px; }
        #main #doctor > ul li:nth-child(n + 5) {
          margin-top: 40px; }
        #main #doctor > ul li a {
          display: block;
          color: #fff;
          text-decoration: none; }
          #main #doctor > ul li a .img {
            position: relative;
            margin: 0 0 30px; }
            #main #doctor > ul li a .img img {
              width: 100%;
              height: 230px;
              -o-object-fit: cover;
                 object-fit: cover;
              position: relative;
              z-index: 2; }
              #main #doctor > ul li a .img img.shadow {
                filter: blur(10px) brightness(30%);
                position: absolute;
                right: -30px;
                bottom: -30px;
                z-index: 1;
                display: none; }
          #main #doctor > ul li a p {
            position: relative;
            z-index: 3;
            font-size: 15px;
            text-align: center;
            line-height: 1.5; }
            #main #doctor > ul li a p.name {
              font-size: 24px;
              margin: 5px 0 0; }
    #main #doctor > * + h2 {
      margin-top: 60px; }
    @media screen and (max-width: 979px) {
      #main #doctor {
        width: 88%;
        margin: 7vw auto 0; }
        #main #doctor > ul {
          width: 80vw;
          justify-content: space-between;
          margin: 7.5vw auto 0; }
          #main #doctor > ul li {
            width: 36vw; }
            #main #doctor > ul li:not(:nth-child(4n + 1)) {
              margin-left: 0; }
            #main #doctor > ul li:nth-child(n + 5) {
              margin-top: 0; }
            #main #doctor > ul li:nth-child(even) {
              margin-left: 5vw; }
            #main #doctor > ul li:nth-child(n + 3) {
              margin-top: 5vw; }
            #main #doctor > ul li a .img {
              margin: 0 0 4vw; }
              #main #doctor > ul li a .img img {
                height: 45vw; }
                #main #doctor > ul li a .img img.shadow {
                  filter: blur(2vw) brightness(30%);
                  right: -4vw;
                  bottom: -4vw; }
            #main #doctor > ul li a p {
              font-size: 2.7vw; }
              #main #doctor > ul li a p.name {
                font-size: 4.5vw;
                margin: 0.5vw 0 0; }
        #main #doctor > * + h2 {
          margin-top: 10vw; } }
