@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap");
/*------------------------------------------------------------
    デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em; }

html {
  font-size: 62.5%; }

body, table, input, textarea, select, option {
  font-family: 'Noto Sans JP', sans-serif; }

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

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

a,
a:link {
  color: #000;
  transition: all ease 0.3s;
  text-decoration: none; }

a:visited {
  color: #000; }

a:hover {
  color: #000; }

a:active {
  color: #000; }

/*------------------------------------------------------------
    mixin
------------------------------------------------------------*/
/* clearfix */
* html .clearfix {
  zoom: 1; }

* + html .clearfix {
  zoom: 1; }

.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both; }

/* flex */
.flex, .flexA, .flexB, .flexC {
  display: flex;
  flex-wrap: wrap; }

.flexA {
  justify-content: space-around; }

.flexB {
  justify-content: space-between; }

.flexC {
  justify-content: center; }

body {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.5;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: #fff; }
  @media screen and (max-width: 896px) {
    body {
      min-width: 320px;
      font-size: 1.2rem;
      background-color: #fff; } }

@media screen and (min-width: 897px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 896px) {
  .pc {
    display: none !important; }

  a:hover,
  a:hover img {
    opacity: 1 !important; }

  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto; } }
/*------------------------------------------------------------
	container
------------------------------------------------------------*/
#container {
  position: relative;
  z-index: 1; }

/*------------------------------------------------------------
	#gHeader
------------------------------------------------------------*/
#gHeader {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 896px) {
    #gHeader {
      display: block; } }
  #gHeader .headerBox {
    padding: 40px 0 37px;
    width: 61%;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    background: url("../img/bg02.png") repeat center; }
    @media all and (min-width: 897px) and (max-width: 1200px) {
      #gHeader .headerBox {
        background-size: 31px auto; } }
    @media all and (max-width: 896px) {
      #gHeader .headerBox {
        background-size: 14px auto; } }
    #gHeader .headerBox::before {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      content: '';
      background: url("../img/header_bg01.png") no-repeat center top/100% 100%;
      z-index: -5; }
    @media screen and (max-width: 896px) {
      #gHeader .headerBox {
        width: 100%;
        padding: 79px 0 83px; } }
    #gHeader .headerBox .hInner {
      width: 100%;
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      @media screen and (max-width: 896px) {
        #gHeader .headerBox .hInner {
          padding-right: 0;
          width: 100%;
          display: block; } }
      #gHeader .headerBox .hInner .logo {
        width: 33%;
        text-align: center;
        box-sizing: border-box;
        padding: 0 20px 0 69px; }
        @media screen and (max-width: 896px) {
          #gHeader .headerBox .hInner .logo {
            margin: 0 auto 26px;
            padding: 0;
            width: 116px; } }
        #gHeader .headerBox .hInner .logo a {
          display: block; }
          #gHeader .headerBox .hInner .logo a img {
            width: 236px; }
            @media screen and (max-width: 896px) {
              #gHeader .headerBox .hInner .logo a img {
                width: 100%; } }
      #gHeader .headerBox .hInner .txtBox {
        margin-top: 3px;
        width: 46.8%;
        box-sizing: border-box; }
        @media screen and (max-width: 896px) {
          #gHeader .headerBox .hInner .txtBox {
            margin: 0;
            padding: 0 15px;
            width: 100%;
            text-align: center; } }
        #gHeader .headerBox .hInner .txtBox p {
          margin-bottom: 23px;
          font-size: 3.2rem;
          font-weight: 500;
          line-height: 1.7;
          color: #fff; }
          @media screen and (max-width: 896px) {
            #gHeader .headerBox .hInner .txtBox p {
              margin-bottom: 26px;
              font-size: 1.6rem;
              line-height: 1.6;
              letter-spacing: 0; } }
        #gHeader .headerBox .hInner .txtBox .appImg {
          width: 155px; }
          @media screen and (max-width: 896px) {
            #gHeader .headerBox .hInner .txtBox .appImg {
              margin: 0 auto;
              width: 121px; } }
          @media screen and (min-width: 897px) {
            #gHeader .headerBox .hInner .txtBox .appImg a:hover {
              opacity: 0.7; } }
  #gHeader .videoBox {
    width: 39%;
    overflow: hidden;
    position: relative;
    display: flex; }
    @media screen and (max-width: 896px) {
      #gHeader .videoBox {
        width: 100%; } }

@media all and (min-width: 897px) and (max-width: 1199px) {
  #gHeader .headerBox {
    width: 50%; }

  #gHeader .headerBox .hInner {
    display: block; }

  #gHeader .headerBox .hInner .logo {
    width: 150px;
    margin: 0 auto 15px;
    padding: 0; }

  #gHeader .headerBox .hInner .txtBox {
    width: 58%;
    margin: 0 auto; }

  #gHeader .headerBox .hInner .txtBox p {
    font-size: 2rem;
    margin: 0 -20px 12px 0;
    line-height: 1.9; }

  #gHeader .headerBox .hInner .txtBox .appImg {
    width: 100px; }

  #gHeader .videoBox {
    width: 50%; } }
@media all and (min-width: 1200px) and (max-width: 1400px) {
  #gHeader .headerBox {
    width: 63%; }

  #gHeader .headerBox .hInner {
    display: block; }

  #gHeader .headerBox .hInner .logo {
    width: 182px;
    margin: 0 auto 13px;
    padding: 0; }

  #gHeader .headerBox .hInner .txtBox {
    width: 50%;
    margin: 0 auto; }

  #gHeader .headerBox .hInner .txtBox p {
    font-size: 2.4rem;
    margin: 0 -20px 15px 0;
    line-height: 1.9; }

  #gHeader .headerBox .hInner .txtBox .appImg {
    width: 120px; }

  #gHeader .videoBox {
    width: 50%; } }
@media all and (min-width: 1401px) and (max-width: 1580px) {
  #gHeader .headerBox .hInner .txtBox p {
    font-size: 2vw; } }
/*------------------------------------------------------------
	#gFooter 
------------------------------------------------------------*/
#gFooter {
  padding-bottom: 110px; }
  @media screen and (max-width: 896px) {
    #gFooter {
      padding-bottom: 82px; } }
  #gFooter .title {
    margin-bottom: 40px;
    font-size: 3rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 896px) {
      #gFooter .title {
        margin-bottom: 20px;
        font-size: 2.6rem; } }
    #gFooter .title span {
      display: inline-block;
      position: relative; }
      #gFooter .title span::before {
        position: absolute;
        content: '';
        background: url("../img/line_left.png") no-repeat center;
        top: 23%;
        left: -89px;
        height: 53px;
        width: 53px;
        background-size: 53px; }
        @media screen and (max-width: 896px) {
          #gFooter .title span::before {
            height: 37px;
            width: 37px;
            left: -77px;
            top: 20%;
            background-image: url("../img/sp_line_left.png");
            background-size: 37px; } }
      #gFooter .title span::after {
        position: absolute;
        content: '';
        background: url("../img/line_right.png") no-repeat center;
        top: 23%;
        right: -89px;
        height: 53px;
        width: 53px;
        background-size: 53px; }
        @media screen and (max-width: 896px) {
          #gFooter .title span::after {
            height: 37px;
            width: 37px;
            right: -77px;
            top: 20%;
            background-image: url("../img/sp_line_right.png");
            background-size: 37px; } }
  #gFooter .snsUl {
    margin-bottom: 82px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 896px) {
      #gFooter .snsUl {
        margin-bottom: 77px; } }
    #gFooter .snsUl li {
      width: 86px;
      margin: 0 22px; }
      @media screen and (max-width: 896px) {
        #gFooter .snsUl li {
          margin: 0 12px;
          width: 51px; } }
      @media screen and (min-width: 897px) {
        #gFooter .snsUl li a:hover {
          opacity: 0.7; } }
  #gFooter .fLink {
    margin-bottom: 91px; }
    @media screen and (max-width: 896px) {
      #gFooter .fLink {
        margin-bottom: 82px; } }
    #gFooter .fLink li {
      padding-bottom: 35px;
      text-align: center; }
      #gFooter .fLink li:last-child {
        padding-bottom: 0; }
      @media screen and (max-width: 896px) {
        #gFooter .fLink li {
          padding-bottom: 25px; } }
      #gFooter .fLink li a {
        display: inline-block;
        font-size: 2rem;
        font-weight: 600;
        color: #212121; }
        @media screen and (min-width: 897px) {
          #gFooter .fLink li a:hover {
            opacity: 0.7; } }
        @media screen and (max-width: 896px) {
          #gFooter .fLink li a {
            font-size: 1.6rem; } }
  #gFooter address {
    font-size: 1.6rem;
    text-align: center;
    font-style: normal;
    color: #212121; }
    @media screen and (max-width: 896px) {
      #gFooter address {
        font-size: 1.2rem; } }

/*------------------------------------------------------------
	#main
------------------------------------------------------------*/
#main .specialtyBox {
  margin-bottom: 160px;
  padding: 55px 0 58px;
  background: #EE008A url("../img/bg01.png") repeat center; }
  @media all and (min-width: 897px) and (max-width: 1200px) {
    #main .specialtyBox {
      background-size: 31px auto; } }
  @media screen and (max-width: 896px) {
    #main .specialtyBox {
      margin-bottom: 80px;
      padding: 75px 0 73px;
      background-size: 14px auto; } }
  #main .specialtyBox h2 {
    margin-bottom: 35px;
    font-size: 2.6rem;
    font-weight: 400;
    color: #fff;
    text-align: center; }
    @media screen and (max-width: 896px) {
      #main .specialtyBox h2 {
        margin-bottom: 39px;
        font-size: 2.4rem; } }
  #main .specialtyBox .imgList {
    margin-top: -28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    @media screen and (max-width: 896px) {
      #main .specialtyBox .imgList {
        padding: 0 10px;
        margin-top: -17px;
        justify-content: space-between; } }
    #main .specialtyBox .imgList li {
      margin: 28px 27px 0;
      width: 175px;
      color: #fff; }
      @media screen and (max-width: 896px) {
        #main .specialtyBox .imgList li {
          margin: 17px 0 0;
          width: 50%; } }
      #main .specialtyBox .imgList li .photo {
        margin: 0 auto 9px;
        width: 113px; }
        #main .specialtyBox .imgList li .photo img {
          width: 100%; }
        @media screen and (max-width: 896px) {
          #main .specialtyBox .imgList li .photo {
            margin: 0 auto 16px;
            width: 73px; } }
      #main .specialtyBox .imgList li p {
        text-align: center;
        line-height: 1.7; }
        @media screen and (max-width: 896px) {
          #main .specialtyBox .imgList li p {
            line-height: 2; } }
#main .insBox {
  margin-bottom: 83px; }
  @media screen and (max-width: 896px) {
    #main .insBox {
      margin-bottom: 68px; } }
  #main .insBox .photo02 {
    width: 68px;
    margin: 0 auto 24px; }
    @media screen and (max-width: 896px) {
      #main .insBox .photo02 {
        margin-bottom: 17px;
        width: 58px; } }
    #main .insBox .photo02 img {
      width: 100%; }
  #main .insBox .ttl {
    margin-bottom: 14px;
    text-align: center; }
    @media screen and (max-width: 896px) {
      #main .insBox .ttl {
        margin-bottom: 15px; } }
    #main .insBox .ttl img {
      width: 29px; }
      @media screen and (max-width: 896px) {
        #main .insBox .ttl img {
          width: 23px; } }
    #main .insBox .ttl .txtSpan {
      padding: 6px 18px 4px;
      display: inline-block;
      font-size: 1.7rem;
      color: #303436;
      position: relative;
      border-radius: 30px;
      background-color: #F3F3F3; }
      @media screen and (max-width: 896px) {
        #main .insBox .ttl .txtSpan {
          padding: 3px 11px 1px;
          font-size: 1.2rem; } }
      #main .insBox .ttl .txtSpan::after {
        position: absolute;
        content: '';
        background: url("../img/icon03.png") no-repeat center;
        bottom: -28px;
        height: 30px;
        width: 24px;
        background-size: 24px;
        left: 50%;
        transform: translateX(-25%);
        z-index: -1; }
        @media screen and (max-width: 896px) {
          #main .insBox .ttl .txtSpan::after {
            width: 17px;
            height: 21px;
            background-size: 17px;
            background-image: url("../img/sp_icon03.png");
            bottom: -15px; } }
      #main .insBox .ttl .txtSpan span {
        display: inline-block;
        padding: 0 25px; }
        @media screen and (max-width: 896px) {
          #main .insBox .ttl .txtSpan span {
            padding: 0 10px; } }
      #main .insBox .ttl .txtSpan img {
        vertical-align: top; }
  #main .insBox h2 {
    margin-bottom: 32px;
    font-size: 3.6rem;
    text-align: center;
    color: #303436; }
    @media screen and (max-width: 896px) {
      #main .insBox h2 {
        margin-bottom: 18px;
        font-size: 3rem; } }
  #main .insBox .insUl {
    margin-bottom: 45px;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 896px) {
      #main .insBox .insUl {
        margin-bottom: 23px; } }
    #main .insBox .insUl li {
      padding-bottom: 20%;
      width: 20%;
      background-color: #ccc; }
      @media screen and (max-width: 896px) {
        #main .insBox .insUl li {
          width: 33.3333%;
          padding-bottom: 33.333%; } }
  #main .insBox .eapps-instagram-feed-posts-grid-load-more {
    margin: 45px auto 5px;
    width: 321px;
    display: block;
    height: 49px;
    color: #fff;
    font-weight: 700;
    font-family: 'Lato', sans-serif;
    box-sizing: border-box;
    padding: 8px 5px 5px;
    text-align: center;
    font-size: 2rem;
    border-radius: 8px;
    background: linear-gradient(to right, #1b93de 0%, #3cdbe8 100%); }
    @media screen and (min-width: 897px) {
      #main .insBox .eapps-instagram-feed-posts-grid-load-more:hover {
        opacity: 0.7; } }
    @media screen and (max-width: 896px) {
      #main .insBox .eapps-instagram-feed-posts-grid-load-more {
        margin-top: 25px;
        width: 262px;
        padding: 11px 8px 5px;
        height: 37px;
        font-size: 1.5rem;
        line-height: 1.5rem; } }
#main .newsBox {
  margin-bottom: 146px; }
  @media screen and (max-width: 896px) {
    #main .newsBox {
      margin-bottom: 60px; } }
  #main .newsBox h2 {
    margin-bottom: 20px;
    font-size: 3.6rem;
    color: #008FCE;
    text-align: center;
    font-weight: 400; }
    @media screen and (max-width: 896px) {
      #main .newsBox h2 {
        margin-bottom: 20px;
        font-size: 3rem; } }
  #main .newsBox dl {
    margin: 0 auto;
    width: 775px; }
    @media screen and (max-width: 896px) {
      #main .newsBox dl {
        padding: 0 10px;
        width: auto;
        max-width: 560px; } }
    #main .newsBox dl dt {
      padding-bottom: 3px;
      color: #44BFF5;
      font-family: 'Lato', sans-serif; }
      @media screen and (max-width: 896px) {
        #main .newsBox dl dt {
          padding-bottom: 1px; } }
    #main .newsBox dl dd {
      padding-bottom: 42px;
      font-size: 1.6rem;
      line-height: 2.25; }
      @media screen and (max-width: 896px) {
        #main .newsBox dl dd {
          padding-bottom: 25px;
          font-size: 1.2rem;
          line-height: 2; } }
      #main .newsBox dl dd:last-child {
        padding-bottom: 0; }

.popBox {
  display: none;
  max-width: 700px;
  margin: 0 auto 10px;
  box-sizing: border-box;
  width: 100%;
  padding: 30px 110px 60px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
  z-index: 10;
  position: relative; }
  @media screen and (max-width: 896px) {
    .popBox {
      padding: 30px; } }
  .popBox .close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    overflow: visible;
    width: 35px;
    height: 35px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #95979c;
    border: 0;
    outline: 0;
    background: transparent; }
  .popBox h3 {
    margin-top: 0;
    margin-bottom: 3rem;
    font-size: 2.8rem;
    font-weight: 200;
    font-family: 'Lato', sans-serif; }
    @media screen and (max-width: 896px) {
      .popBox h3 {
        margin-bottom: 2rem;
        font-size: 1.8rem; } }
  .popBox p {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 20px; }
    .popBox p:last-child {
      margin-bottom: 0; }
    @media screen and (max-width: 896px) {
      .popBox p {
        font-size: 1.2rem; } }
  .popBox h4 {
    margin-top: 4.5rem;
    margin-bottom: 1.3rem;
    font-weight: 700;
    font-size: 1.9rem;
    font-family: 'Lato', sans-serif; }
    @media screen and (max-width: 896px) {
      .popBox h4 {
        margin-top: 2.5rem;
        font-size: 1.5rem; } }
  .popBox a {
    color: #666 !important; }

.fancybox-bg {
  background: rgba(43, 46, 56, 0.9); }

@media all and (min-width: 897px) and (max-width: 1199px) {
  #main .specialtyBox {
    padding-bottom: 71px; }

  #main .specialtyBox .imgList {
    padding: 0 25px; } }
@media all and (max-width: 896px) {
  body.fancybox-active {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow-y: scroll; } }
.eapps-instagram-feed-title-container {
  display: none !important; }

#eapps-instagram-feed-1 .eapps-link {
  display: none !important;
  visibility: hidden !important; }
