@charset "UTF-8";
@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  .sp {
    display: block; }

  .spFullWidth {
    width: 100%;
    max-width: none;
    padding: 0 !important; }

  .contentWidth {
    padding: 0 20px; }

  .spContentWidth {
    padding: 0 20px; }

  body {
    font-size: 14px;
    line-height: 2; }

  header {
    top: 0;
    height: 50px;
    width: 100%; }
    header .inner {
      padding: 10px 0;
      text-align: center;
      position: relative; }
      header .inner .logo {
        left: 50%;
        top: 50%; }
        header .inner .logo img {
          height: 31px;
          width: auto; }
      header .inner .btnMenu {
        position: absolute;
        right: 17px;
        transform: none;
        top: 8px;
        left: auto; }
      header .inner .toTop {
        display: none; }
      header .inner .menu {
        left: 0;
        top: 50px;
        width: 100%;
        padding: 0 0 40px;
        overflow-y: hidden; }
        header .inner .menu .inner_menu {
          padding: 50px 20px 50px;
          overflow-y: scroll;
          overflow-x: hidden;
          padding-bottom: 40px;
          -webkit-overflow-scrolling: touch; }
          header .inner .menu .inner_menu .navi {
            position: static;
            width: 100%;
            display: block;
            transform: translateY(0);
            height: auto; }
            header .inner .menu .inner_menu .navi > div {
              width: 100%;
              margin-bottom: 40px;
              height: auto;
              text-align: left; }
              header .inner .menu .inner_menu .navi > div .en {
                height: 24px; }
                header .inner .menu .inner_menu .navi > div .en img {
                  height: 100%;
                  width: auto; }
              header .inner .menu .inner_menu .navi > div .jp {
                font-size: 15px;
                line-height: 22px; }
              header .inner .menu .inner_menu .navi > div.about {
                height: auto; }
                header .inner .menu .inner_menu .navi > div.about ul li a {
                  font-size: 15px;
                  line-height: 22px; }
              header .inner .menu .inner_menu .navi > div.language {
                padding: 18px 0 10px;
                height: auto; }
                header .inner .menu .inner_menu .navi > div.language .ttl {
                  height: 16px; }
                header .inner .menu .inner_menu .navi > div.language .languages {
                  width: 200px; }
                  header .inner .menu .inner_menu .navi > div.language .languages div {
                    width: 90px;
                    text-align: left;
                    font-size: 16px; }
          header .inner .menu .inner_menu .btnClose {
            position: static;
            width: 60px;
            height: 60px;
            margin-left: auto;
            right: 20px;
            bottom: 20px; }
          header .inner .menu .inner_menu .btnFb {
            position: static;
            width: 50px;
            height: 50px;
            padding-top: 0; }

  .mainContent {
    margin-bottom: 80px; }

  .pageHead, .mainContent, .bottomLink, footer {
    padding-left: 0; }

  .pageHead {
    padding-top: 50px;
    height: 210px;
    margin-bottom: 30px !important; }
    .pageHead .bread {
      left: 20px;
      top: 60px;
      font-size: 13px;
      font-weight: normal;
      width: calc(100% - 40px);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .pageHead .mv {
      padding: 0 20px;
      height: 100%; }
      .pageHead .mv h2 {
        font-size: 14px;
        letter-spacing: 1px; }
    .pageHead.h300 .mv {
      height: 100%; }
    .pageHead .ttl {
      padding-top: 68px !important;
      margin-bottom: 30px !important;
      height: 30px; }
      .pageHead .ttl img {
        height: 24px !important; }

  .bottomLink .greenBox {
    height: 160px;
    transform: translateY(0);
    bottom: 0; }
  .bottomLink .links {
    display: block;
    margin-bottom: 0;
    padding-bottom: 80px; }
    .bottomLink .links div {
      width: 100%;
      margin-bottom: 1px; }
      .bottomLink .links div a {
        display: block; }
        .bottomLink .links div a p {
          font-size: 13px;
          letter-spacing: 0.7px;
          line-height: 20px;
          bottom: 25%;
          text-align: center; }

  .postNavi, .postNaviSp.sp {
    display: flex; }
    .postNavi .wp-pagenavi, .postNaviSp.sp .wp-pagenavi {
      width: calc(100% - 120px); }
      .postNavi .wp-pagenavi .pagesSelector, .postNaviSp.sp .wp-pagenavi .pagesSelector {
        top: 0; }
    .postNavi div, .postNaviSp.sp div {
      height: 50px;
      font-size: 15px;
      display: flex;
      line-height: 50px; }
      .postNavi div.btnAfter, .postNavi div.btnBefore, .postNaviSp.sp div.btnAfter, .postNaviSp.sp div.btnBefore {
        width: 60px;
        line-height: 40px;
        background-size: cover; }
        .postNavi div.btnAfter:after, .postNavi div.btnBefore:after, .postNaviSp.sp div.btnAfter:after, .postNaviSp.sp div.btnBefore:after {
          width: 25px;
          height: 7px; }
        .postNavi div.btnAfter.btnAfter, .postNavi div.btnAfter.btnBefore, .postNavi div.btnBefore.btnAfter, .postNavi div.btnBefore.btnBefore, .postNaviSp.sp div.btnAfter.btnAfter, .postNaviSp.sp div.btnAfter.btnBefore, .postNaviSp.sp div.btnBefore.btnAfter, .postNaviSp.sp div.btnBefore.btnBefore {
          display: block; }
    .postNavi .nextpostslink, .postNaviSp.sp .nextpostslink {
      width: 60px; }
    .postNavi div.btnList, .postNavi .wp-pagenavi, .postNaviSp.sp div.btnList, .postNaviSp.sp .wp-pagenavi {
      width: calc(100% - 120px);
      border-left: 2px solid white;
      border-right: 2px solid white; }

  footer .areaCta {
    padding: 53px 0 60px; }
    footer .areaCta .box .f-l, footer .areaCta .box .f-r {
      width: 100%; }
    footer .areaCta .box .f-l .ttl {
      letter-spacing: 0.8px;
      font-size: 21px;
      margin-bottom: 10px; }
    footer .areaCta .box .f-l .txt {
      margin-bottom: 30px; }
    footer .areaCta .box .f-r .btn {
      height: 60px;
      position: relative; }
      footer .areaCta .box .f-r .btn a {
        position: absolute;
        font-size: 16px;
        top: 50%;
        left: 50%;
        width: 100%;
        padding: 0 26px;
        transform: translate(-50%, -50%);
        line-height: 20px; }
      footer .areaCta .box .f-r .btn.btnContact {
        margin-bottom: 20px; }
  footer .areaInfo .box .f-r {
    width: 100%;
    float: none;
    position: static; }
    footer .areaInfo .box .f-r .hubspot {
      margin: 0 auto; }
    footer .areaInfo .box .f-r .facebook {
      position: static;
      text-align: center;
      margin-bottom: 20px; }
    footer .areaInfo .box .f-r .copy {
      font-size: 11px;
      text-align: center; }

  /*********************************************
  loading
  *********************************************/
  .home .loading {
    display: block;
    background: white;
    z-index: 10000;
    width: 100%;
    height: 100vh;
    position: relative; }
    .home .loading .logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .home .loading .logo img {
        width: 100px;
        height: auto; }
    .home .loading .loader {
      position: absolute !important;
      top: calc(50% - 88px);
      left: calc(50% - 90px);
      transform: translate(-50%, -50%); }
    .home .loading .loader, .home .loading .loader:after {
      border-radius: 50%;
      width: 180px;
      height: 180px; }

    /*********************************************
	ブログ個別記事
	*********************************************/
  .singlePost h1, .singlePost h2 {
    font-size: 21px;
    line-height: 34px;
    margin-bottom: 20px; }
  .singlePost h3 {
    font-size: 18px;
    line-height: 28px;
    padding: 18px 16px; }
  .singlePost #ez-toc-container .ez-toc-title {
    color: #231815;
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 20px; }
  .singlePost #ez-toc-container nav {
    padding: 20px 0 0; }
    .singlePost #ez-toc-container nav .ez-toc-list li {
      color: #0099D6;
      font-size: 14px;
      line-height: 20px;
      margin-bottom: 20px; } }
