@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-family: "FOT-セザンヌ Pro M", "游ゴシック";
  font-size: 17px;
  line-height: 1.6;
  color: #272727;
  -webkit-text-size-adjust: none; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 15px; } }

img {
  width: 100%; }

a {
  -webkit-transition: all 1.0s;
  transition: all 1.0s; }

/*共通class*/
.logo {
  background-color: #002E76; }
  .logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%; }
  .logo img {
    height: auto; }

.pagetop {
  width: 64px;
  height: 64px;
  position: fixed;
  right: 25px;
  bottom: 25px;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateY(0px);
  -ms-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1; }
  @media screen and (max-width: 768px) {
    .pagetop {
      width: 40px;
      height: 40px;
      right: 20px;
      bottom: 20px; } }
  .pagetop.pagetop_on {
    opacity: 0;
    z-index: -1;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px); }

footer {
  background-color: #272727;
  width: 100%;
  padding: 110px 0px 25px; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 100px 35px 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  footer .logo {
    width: 360px;
    height: 360px;
    margin: 0px auto;
    margin-bottom: 60px; }
    @media screen and (max-width: 1000px) {
      footer .logo {
        width: 210px;
        height: 210px; } }
    footer .logo img {
      width: 200px;
      height: auto; }
      @media screen and (max-width: 1000px) {
        footer .logo img {
          width: 116px;
          height: auto; } }
  footer .txt01 {
    font-family: shippori-mincho, sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    font-size: 30px; }
    @media screen and (max-width: 768px) {
      footer .txt01 {
        font-size: 24px; } }
  footer .btn {
    width: 100%;
    max-width: 500px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 0px;
    border: 1px solid #fff;
    text-align: center;
    color: #fff;
    margin: 0px auto;
    margin-top: 120px;
    margin-bottom: 120px;
    font-size: 20px;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      footer .btn {
        font-size: 15px;
        text-align: left;
        padding: 20px;
        position: relative; } }
    footer .btn::after {
      content: "";
      display: inline-block;
      width: 23px;
      height: 23px;
      vertical-align: top;
      margin-top: 2px;
      margin-left: 5px;
      background: url(../../img/common/icon_blank.png) 0px 0px no-repeat;
      background-size: cover; }
      @media screen and (max-width: 768px) {
        footer .btn::after {
          position: absolute;
          right: 20px;
          top: calc(50% - 11px); } }
  footer small {
    color: #fff;
    font-weight: bold;
    color: #fff;
    font-size: 15px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      footer small {
        font-size: 14px; } }

.fadein {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }
  .fadein.fade_on {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px); }

/* 改行位置調整 */
.pc {
  display: block; }
  @media screen and (max-width: 1000px) {
    .pc {
      display: none; } }

.pc_inline {
  display: inline-block; }
  @media screen and (max-width: 1000px) {
    .pc_inline {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1000px) {
    .sp {
      display: block; } }

.sp_inline {
  display: none; }
  @media screen and (max-width: 1000px) {
    .sp_inline {
      display: inline-block; } }

/* デバイス対応 */
.tab {
  display: none; }
  @media screen and (max-width: 1000px) {
    .tab {
      display: block; } }
  @media screen and (max-width: 768px) {
    .tab {
      display: none; } }

.tabsp_inline {
  display: none; }
  @media screen and (max-width: 1000px) {
    .tabsp_inline {
      display: inline-block; } }
