@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800&display=swap");
.pc {
  display: block !important;
  font-size: 0; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important;
  font-size: 0; }
  @media screen and (max-width: 768px) {
    .sp {
      display: block !important; } }

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.clearfix:after {
  display: block;
  content: "";
  clear: both; }

.clearfix:before {
  display: block;
  content: "";
  clear: both; }

.clearfix {
  display: block; }

body {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-display: swap;
  font-weight: normal; }

h1, h2, h3, h4, h5, h6, img, p, div, ul, li, dl, dt, dd, figure {
  margin: 0;
  padding: 0; }

ul, li {
  display: inline-block;
  list-style: none; }

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

a {
  color: #000;
  text-decoration: none; }

section {
  width: 100%; }
  section .wrap {
    max-width: 1100px;
    width: 96%;
    margin: 0 auto;
    padding: 30px 0 30px 0; }
    @media screen and (max-width: 768px) {
      section .wrap {
        width: 94%;
        margin: 0 auto; } }

p {
  font-size: 15px;
  font-weight: normal;
  line-height: 1.8;
  text-align: left; }

#gNavi_head {
  position: relative;
  top: 0;
  left: 0;
  transition: all 0.1s ease-in-out 0s;
  z-index: 101;
  width: 100%;
  background-color: #fff;
  color: #fff;
  font-size: 16px; }
  #gNavi_head .inner {
    position: relative;
    width: 100%;
    height: 200px;
    margin: 0 auto;
    padding: 0; }
    #gNavi_head .inner::after {
      display: block;
      content: "";
      clear: both; }
    #gNavi_head .inner #mobile-head {
      display: flex;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      align-items: center;
      -ms-flex-align: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 1100px;
      height: 120px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        #gNavi_head .inner #mobile-head {
          height: 60px;
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start; } }
      #gNavi_head .inner #mobile-head .logoWrap {
        position: relative;
        padding-left: 10px; }
        #gNavi_head .inner #mobile-head .logoWrap .logo img {
          width: 100%;
          max-width: 360px; }
          @media screen and (max-width: 768px) {
            #gNavi_head .inner #mobile-head .logoWrap .logo img {
              max-width: 240px; } }
    #gNavi_head .inner #nav-toggle {
      display: none; }
      @media screen and (max-width: 768px) {
        #gNavi_head .inner #nav-toggle {
          display: block;
          position: absolute;
          top: 20px;
          right: 20px;
          width: 27px;
          height: 22px;
          cursor: pointer;
          z-index: 101000; }
          #gNavi_head .inner #nav-toggle div {
            position: relative; }
            #gNavi_head .inner #nav-toggle div span {
              display: block;
              position: absolute;
              left: 0;
              -webkit-transition: .35s ease-in-out;
              -moz-transition: .35s ease-in-out;
              transition: .35s ease-in-out;
              width: 100%;
              height: 3px;
              border-radius: 3px;
              background: #000; }
              #gNavi_head .inner #nav-toggle div span:nth-child(1) {
                top: 0; }
              #gNavi_head .inner #nav-toggle div span:nth-child(2) {
                top: 9px; }
              #gNavi_head .inner #nav-toggle div span:nth-child(3) {
                top: 18px; } }
    #gNavi_head .inner #global-nav {
      display: block;
      position: absolute;
      width: 100%;
      height: 87px;
      margin: 0 auto;
      background-color: #005476; }
      #gNavi_head .inner #global-nav.fixed {
        position: fixed;
        top: 0; }
        @media screen and (max-width: 768px) {
          #gNavi_head .inner #global-nav.fixed {
            position: absolute;
            top: -3000px; } }
      #gNavi_head .inner #global-nav::-webkit-scrollbar {
        width: 3px; }
      #gNavi_head .inner #global-nav::-webkit-scrollbar-track {
        border-radius: 0px;
        background: #f2f2f2; }
      #gNavi_head .inner #global-nav:-webkit-scrollbar-thumb {
        border-radius: 0px;
        background: #222; }
      #gNavi_head .inner #global-nav .naviWrap {
        display: flex;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 100%; }
        @media screen and (max-width: 768px) {
          #gNavi_head .inner #global-nav .naviWrap {
            display: block;
            height: initial; } }
        #gNavi_head .inner #global-nav .naviWrap ul.gNavi {
          display: block;
          display: flex;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          align-items: center;
          -ms-flex-align: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          justify-content: space-between;
          -ms-flex-pack: justify;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
          text-align: center;
          align-items: center;
          -ms-flex-align: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          width: 100%;
          max-width: 1100px; }
          @media screen and (max-width: 768px) {
            #gNavi_head .inner #global-nav .naviWrap ul.gNavi {
              display: block;
              width: 84%;
              margin: 0 auto; } }
          #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li {
            display: flex;
            display: -ms-flexbox;
            display: -webkit-box;
            display: -webkit-flex;
            align-items: center;
            -ms-flex-align: center;
            -webkit-box-align: center;
            -webkit-align-items: center; }
            @media screen and (max-width: 768px) {
              #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li {
                border: none;
                border-bottom: 1px solid #999; } }
            #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li.ico a:hover {
              opacity: 0.8; }
            #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li.ico a img {
              max-width: 30px; }
            #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a {
              position: relative;
              width: 100%;
              margin: 0 5px;
              padding: 20px 12px;
              border-bottom: 1px solid #333;
              border: none;
              color: #fff;
              font-size: 14px;
              line-height: 1.2; }
              @media screen and (max-width: 768px) {
                #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a {
                  padding: 20px 0;
                  border: none; } }
              #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a:hover::after {
                width: 100%;
                padding-top: 4px;
                border-bottom: 1px solid #fff; }
                @media screen and (max-width: 768px) {
                  #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a:hover::after {
                    border: none; } }
              #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a:after {
                display: block;
                content: '';
                transition: all 0.2s ease;
                padding-top: 4px;
                width: 0;
                border-bottom: 1px solid #fff; }
                @media screen and (max-width: 768px) {
                  #gNavi_head .inner #global-nav .naviWrap ul.gNavi > li a:after {
                    border: none; } }
      @media screen and (max-width: 768px) {
        #gNavi_head .inner #global-nav {
          display: block;
          position: absolute;
          top: -3000px;
          z-index: 5;
          overflow: scroll;
          width: 100%;
          min-width: auto;
          height: 100vh;
          margin-top: 0;
          padding: 0;
          padding-top: 70px;
          padding-bottom: 70px;
          background: rgba(0, 0, 0, 0.8);
          text-align: center; }
          #gNavi_head .inner #global-nav::-webkit-scrollbar {
            width: 3px; }
          #gNavi_head .inner #global-nav::-webkit-scrollbar-track {
            border-radius: 0px;
            background: #f2f2f2; }
          #gNavi_head .inner #global-nav::-webkit-scrollbar-thumb {
            border-radius: 0px;
            background: #222; }
          #gNavi_head .inner #global-nav ul {
            position: static;
            right: 0;
            bottom: 0;
            font-size: 12px;
            letter-spacing: 0.75px;
            list-style: none; }
            #gNavi_head .inner #global-nav ul li {
              display: block;
              position: static;
              width: 100%;
              border-bottom: 1px solid #ccc;
              float: none; }
              #gNavi_head .inner #global-nav ul li a {
                display: block;
                width: 100%;
                padding: 20px 15px;
                color: #fff;
                font-size: 15px;
                text-align: left; }
          #gNavi_head .inner #global-nav .snsWrap ul {
            display: block;
            width: 84%;
            margin: 0 auto;
            margin-bottom: 20px; }
            #gNavi_head .inner #global-nav .snsWrap ul li {
              display: inline-block !important;
              width: auto;
              margin: 0 5px;
              border: none !important; }
              #gNavi_head .inner #global-nav .snsWrap ul li a {
                display: inline-block;
                padding: 0; } }
  @media screen and (max-width: 768px) {
    #gNavi_head {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 10100;
      width: 100%;
      height: 60px !important;
      background-color: #fff;
      border-bottom: 1px solid #ddd;
      font-size: 15px; }
      #gNavi_head .logo {
        top: 10px;
        left: 10px; }
      #gNavi_head .inner {
        height: auto;
        padding: 0px 0px; } }

@media screen and (max-width: 768px) {
  .open #nav-toggle span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg); }
  .open #nav-toggle span:nth-child(2) {
    left: 50%;
    width: 0; }
  .open #nav-toggle span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
  .open #global-nav {
    -moz-transform: translateY(3000px);
    -webkit-transform: translateY(3000px);
    transform: translateY(3000px); }
    .open #global-nav .naviWrap {
      display: flex;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      justify-content: space-between;
      -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 100%;
      height: 400px; }
    .open #global-nav .gNavi {
      display: block;
      width: 100%; } }

@media screen and (max-width: 768px) {
  .Gnavi_overflow {
    overflow: hidden; } }

.open#gNavi_head .inner #nav-toggle div span {
  background: #fff !important; }
  .open#gNavi_head .inner #nav-toggle div span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg); }
  .open#gNavi_head .inner #nav-toggle div span:nth-child(2) {
    top: 10px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
  .open#gNavi_head .inner #nav-toggle div span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
@media screen and (max-width: 768px) {
  .open#gNavi_head .inner #nav-toggle {
    display: block;
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 101000;
    width: 27px;
    height: 22px;
    cursor: pointer; }
    .open#gNavi_head .inner #nav-toggle div {
      position: relative; }
    .open#gNavi_head .inner #nav-toggle span {
      display: block;
      position: absolute;
      left: 0;
      height: 2px;
      width: 100%;
      background: #fff;
      -webkit-transition: .35s ease-in-out;
      -moz-transition: .35s ease-in-out;
      transition: .35s ease-in-out; } }

/* ---------------------------------------------------- */
/* top */
/* ---------------------------------------------------- */
#topPage .mainVis {
  position: relative;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  z-index: 100;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    #topPage .mainVis {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; } }
  #topPage .mainVis .imgWrap {
    width: 100%;
    max-width: 1000px;
    margin-top: 6%;
    margin-right: 30px; }
    @media screen and (max-width: 768px) {
      #topPage .mainVis .imgWrap {
        margin-top: 60px; } }
        @media screen and (max-width: 450px) {
	    #topPage .mainVis .imgWrap {
		height: 250px;
		}
		}
    #topPage .mainVis .imgWrap img {
      width: 100%;
      height: 600px;
      height: auto;
      margin: auto;
      overflow: hidden;
      object-fit: cover;
      object-position: 50% 50%;
      font-family: 'object-fit: cover;'; }
  #topPage .mainVis h1 {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    z-index: 1;
    width: 90%;
    margin: auto;
    margin-right: -15%;
    margin-left: 6%;
    max-width: 1000px; }
    @media screen and (max-width: 768px) {
      #topPage .mainVis h1 {
        position: absolute;
        top: initial;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        padding: 7px 0;
        margin: 0 auto;
        background-color: #005476; } }
    #topPage .mainVis h1 .ttl {
      display: block;
      width: 100%;
      margin: 0;
      color: #333;
      font-size: 3.2vw;
      line-height: 1.4;
      font-weight: bold;
      text-align: left;
      letter-spacing: 5px;
      text-shadow: 3px 3px 2px #fff, -3px -3px 2px #fff, -3px 3px 2px #fff, 3px -3px 2px #fff, 3px 0px 2px #fff, -3px 0px 2px #fff, 0px 3px 2px #fff, 0px -3px 2px #fff; }
      @media screen and (min-width: 1500px) {
        #topPage .mainVis h1 .ttl {
          font-size: 36px; } }
      @media screen and (max-width: 768px) {
        #topPage .mainVis h1 .ttl {
          display: inline-block;
          width: auto;
          font-size: 4vw;
          text-shadow: none;
          text-align: center; }
          #topPage .mainVis h1 .ttl span {
            color: #fff; } }
    #topPage .mainVis h1 .ttl_read {
      display: block;
      width: 100%;
      margin-bottom: 5px;
      text-align: left;
      font-size: 18px;
      font-size: 1.5vw;
      font-weight: normal;
      letter-spacing: 1px;
      line-height: 1.4; }
      @media screen and (min-width: 1500px) {
        #topPage .mainVis h1 .ttl_read {
          font-size: 18px; } }
      @media screen and (max-width: 768px) {
        #topPage .mainVis h1 .ttl_read {
          display: block;
          width: 100%;
          margin-bottom: 0px;
          font-size: 15px;
          text-align: center; } }
      @media screen and (max-width: 640px) {
        #topPage .mainVis h1 .ttl_read {
          font-size: 12px; } }
      #topPage .mainVis h1 .ttl_read.company {
        margin-bottom: 8px; }
        #topPage .mainVis h1 .ttl_read.company span {
          padding: 3px 10px;
          color: #fff;
          background-color: #005476; }
          @media screen and (max-width: 768px) {
            #topPage .mainVis h1 .ttl_read.company span {
              padding: 0;
              color: #fff;
              background: none; } }
      #topPage .mainVis h1 .ttl_read span {
        padding-left: 0;
        color: #000;
        background: none;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          #topPage .mainVis h1 .ttl_read span {
            padding: 0;
            color: #fff;
            background: none; } }

.emergencyWrap {
  position: fixed;
  right: 1%;
  bottom: 3%;
  z-index: 1000;
  padding: 10px 7px;
  background-color: #58b8df;
  border-bottom: 6px solid #005476;
  border-radius: 12px; }
  @media screen and (max-width: 768px) {
    .emergencyWrap {
      right: 0;
      bottom: 0;
      width: 100%;
      border-radius: 0;
      border: none;
      background-color: #58b8df; } }
  .emergencyWrap > span {
    display: block;
    margin-bottom: 8px;
    margin-top: 3px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: bold; }
  .emergencyWrap .emergencyBtnWrap {
    display: block; }
    @media screen and (max-width: 768px) {
      .emergencyWrap .emergencyBtnWrap {
        display: flex;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between; } }
  .emergencyWrap a {
    display: block;
    margin-bottom: 0px;
    margin-top: 8px;
    padding: 2px;
    color: #fff;
    background-color: #005476;
    border-radius: 5px;
    text-align: left;
    font-size: 14px;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .emergencyWrap a {
        margin: 3px 8px; } }
    .emergencyWrap a.tel {
      display: block;
      width: 100%;
      padding: 8px 8px;
      color: #fff;
      text-align: center;
      font-size: 14px;
      letter-spacing: 1px;
      font-weight: bold; }
      .emergencyWrap a.tel .fa-phone-volume {
        display: inline-block;
        vertical-align: middle;
        color: #fff;
        font-size: 20px; }
      .emergencyWrap a.tel span {
        display: inline-block;
        vertical-align: middle;
        margin-left: 2px; }
      .emergencyWrap a.tel:hover {
        background-color: #2c90b9; }
    .emergencyWrap a.contact {
      display: block;
      width: 100%;
      padding: 8px 8px;
      color: #fff;
      text-align: left;
      font-size: 14px;
      letter-spacing: 1px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .emergencyWrap a.contact {
          text-align: center; } }
      .emergencyWrap a.contact .fa-envelope {
        color: #fff;
        font-size: 20px;
        display: inline-block;
        vertical-align: middle; }
      .emergencyWrap a.contact span {
        display: inline-block;
        margin-left: 5px;
        display: inline-block;
        vertical-align: middle; }
      .emergencyWrap a.contact:hover {
        background-color: #2c90b9; }

.infoWrap {
  width: 100%; }
  @media screen and (max-width: 768px) {
    .infoWrap {
      position: relative;
      left: 0;
      width: 100%;
      margin: 0 auto; } }

.info {
  display: block;
  width: 100%;
  max-width: 1100px;
  margin-top: 7px;
  padding: 20px;
  background-color: #cedfe0;
  border-radius: 10px;
  text-align: left; }
  @media screen and (max-width: 768px) {
    .info {
      width: 100%; } }
  .info dt {
    display: inline-block;
    vertical-align: top;
    width: 4em;
    margin-right: 20px;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.5; }
  .info dd {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 6em);
    margin-bottom: 15px;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.5; }
    .info dd:last-child {
      margin-bottom: 0; }

/* ---------------------------------------------------- */
/* lower mainVis
/* ---------------------------------------------------- */
#lowerPage .mainVis {
  height: 180px;
  background: url(../img/common/lower_mainVis2.jpg) center center no-repeat;
  background-size: cover;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    #lowerPage .mainVis {
      height: 120px;
      margin-top: 60px; } }
  #lowerPage .mainVis h1 {
    padding-top: 56px;
    font-size: 45px;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    letter-spacing: 5px; }
    @media screen and (min-width: 1500px) {
      #lowerPage .mainVis h1 {
        font-size: 45px; } }
    @media screen and (max-width: 768px) {
      #lowerPage .mainVis h1 {
        padding-top: 44px;
        font-size: 24px;
        text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, 1px 0px 1px #fff, -1px 0px 1px #fff, 0px 1px 1px #fff, 0px -1px 1px #fff; } }
#lowerPage section {
  padding-bottom: 30px; }
  #lowerPage section:nth-child(2n + 1) {
    background-color: #f5f5f5; }

/* ---------------------------------------------------- */
/* form 
/* ---------------------------------------------------- */
form table {
  margin-top: 20px; }
  form table tr {
    border-bottom: 5px solid #fff; }
    form table tr th {
      text-align: left;
      background-color: #e7e7e7;
      border: none;
      padding: 12px;
      width: 30%; }
      @media screen and (max-width: 768px) {
        form table tr th {
          width: 100%;
          display: block;
          padding-top: 15px;
          padding-bottom: 3px; } }
    form table tr td {
      text-align: left;
      background-color: #e7e7e7;
      border: none;
      padding: 12px; }
      @media screen and (max-width: 768px) {
        form table tr td {
          width: 100%;
          display: block; } }
    form table tr input[type="text"] {
      width: 100%;
      padding: 10px;
      border: none; }
    form table tr #zipcode {
      display: inline-block;
      width: 20%;
      margin-right: 20px;
      margin-left: 8px; }
      @media screen and (max-width: 768px) {
        form table tr #zipcode {
          width: 10em;
          margin-right: 10px; } }
    form table tr #address {
      margin-top: 15px; }
    form table tr select {
      display: inline-block; }
    form table tr textarea {
      width: 100%;
      padding: 10px;
      border: none; }
    form table tr span {
      color: #cc240a; }
form .formBtn {
  width: 100%;
  text-align: center;
  margin-bottom: 30px; }
  form .formBtn .btnSend {
    background-color: #292929;
    color: #fff;
    padding: 20px 0;
    margin: 0 5px 0 5px;
    border: 0;
    width: 30%;
    max-width: 200px;
    box-sizing: border-box;
    border-radius: 2px; }
  form .formBtn .btnReset {
    background-color: #fff;
    padding: 20px 0;
    margin: 0 5px 0 5px;
    border: 0;
    border: 1px solid #292929;
    width: 30%;
    max-width: 200px;
    box-sizing: border-box;
    border-radius: 2px; }

.inquiry_tel .tel {
  margin-bottom: 30px; }
  .inquiry_tel .tel .fa-phone {
    font-size: 40px; }
  .inquiry_tel .tel a {
    font-size: 40px; }

/* ---------------------------------------------------- */
/* footer */
/* ---------------------------------------------------- */
footer {
  padding-top: 60px;
  background-color: #005476;
  color: #fff; }
  @media screen and (max-width: 768px) {
    footer {
      padding-top: 20px;
      padding-bottom: 90px; } }
  footer .wrap {
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    border-top: 1px solid #005476;
    padding-top: 20px; }
    footer .wrap .data p {
      font-size: 14px; }
      footer .wrap .data p > span {
        display: inline-block;
        margin-right: 15px; }
    footer .wrap .data .name {
      font-size: 16px;
      font-weight: bold;
      margin-bottom: 5px; }
    footer .wrap .copy p {
      padding-bottom: 20px;
      margin-top: 30px;
      font-size: 11px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        footer .wrap .copy p {
          margin-top: 20px;
          font-size: 11px;
          text-align: center; } }

/* ---------------------------------------------------- */
/* common  wrap */
/* ---------------------------------------------------- */
.content_Type1 {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .content_Type1 {
      display: block; } }
  .content_Type1 .leftCnt {
    width: 50%;
    padding-right: 0;
    margin-right: 3%; }
    @media screen and (max-width: 768px) {
      .content_Type1 .leftCnt {
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px; } }
  .content_Type1 .rightCnt {
    width: 50%; }
    @media screen and (max-width: 768px) {
      .content_Type1 .rightCnt {
        width: 100%; } }

.BeforeAfterWrap {
  position: relative; }

.content_Type2 {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .content_Type2 {
      display: block; } }
  .content_Type2 div + div {
    padding-left: 5%; }
    @media screen and (max-width: 768px) {
      .content_Type2 div + div {
        padding-left: 0; } }
  .content_Type2 .content_big {
    width: 65%; }
    @media screen and (max-width: 768px) {
      .content_Type2 .content_big {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px; } }
  .content_Type2 .content_small {
    width: 35%; }
    @media screen and (max-width: 768px) {
      .content_Type2 .content_small {
        width: 100%; } }

.content_Type3 {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .content_Type3 {
      display: block; } }
  .content_Type3 .content {
    width: 31%; }
    @media screen and (max-width: 768px) {
      .content_Type3 .content {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px; } }

.content_Type5 {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .content_Type5 {
      display: block; } }
  .content_Type5 div + div {
    padding-left: 5%; }
    @media screen and (max-width: 768px) {
      .content_Type5 div + div {
        padding-left: 0; } }
  .content_Type5 .content_big {
    width: 75%; }
    @media screen and (max-width: 768px) {
      .content_Type5 .content_big {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px; } }
  .content_Type5 .content_small {
    width: 25%; }
    @media screen and (max-width: 768px) {
      .content_Type5 .content_small {
        width: 100%; } }

.content_Type4 {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .content_Type4 {
      display: block; } }
  .content_Type4 div + div {
    padding-left: 5%; }
    @media screen and (max-width: 768px) {
      .content_Type4 div + div {
        padding-left: 0; } }
  .content_Type4 .content_big {
    width: 80%; }
    @media screen and (max-width: 768px) {
      .content_Type4 .content_big {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px; } }
  .content_Type4 .content_small {
    width: 20%; }
    @media screen and (max-width: 768px) {
      .content_Type4 .content_small {
        width: 100%; } }

/* ---------------------------------------------------- */
/* common flex */
/* ---------------------------------------------------- */
.flexWrap {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  margin-bottom: 9%;
  position: relative; }
  @media screen and (max-width: 768px) {
    .flexWrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; } }
  .flexWrap:first-child {
    margin-top: 60px; }
    @media screen and (max-width: 768px) {
      .flexWrap:first-child {
        margin-top: 0; } }
  .flexWrap.reverse .inner {
    padding-right: 0 !important;
    padding-left: 8%; }
    @media screen and (max-width: 768px) {
      .flexWrap.reverse .inner {
        padding-left: 0; } }
  .flexWrap.reverse p.p-tl {
    left: 51%; }
    @media screen and (max-width: 768px) {
      .flexWrap.reverse p.p-tl {
        left: 0; } }
  @media screen and (max-width: 768px) {
    .flexWrap.reverse {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .flexWrap .txtContent {
    width: 53%; }
    @media screen and (max-width: 768px) {
      .flexWrap .txtContent {
        width: 100%; } }
    .flexWrap .txtContent .inner {
      width: 100%;
      max-width: 640px;
      margin: 0 auto;
      padding-right: 8%;
      padding-top: 10%; }
      @media screen and (max-width: 768px) {
        .flexWrap .txtContent .inner {
          padding-right: 0;
          padding-top: 5%;
          width: 100%;
          max-width: 100%;
          margin-bottom: 30px; } }
      .flexWrap .txtContent .inner p {
        line-height: 2; }
  .flexWrap .imgContent {
    width: 45%; }
    @media screen and (max-width: 768px) {
      .flexWrap .imgContent {
        width: 100%; } }
  .flexWrap p.p-tl {
    position: absolute;
    top: -53px;
    left: 0;
    font-size: 26px;
	    margin-top: 50px;
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 0;
    border-bottom: 0;
    color: #005476;
	line-height: 1.2;
	 }
    @media screen and (max-width: 768px) {
      .flexWrap p.p-tl {
        position: relative;
        top: 0;
        font-size: 24px;
        margin-top: 0;
        margin-bottom: 10%; } }

/* ---------------------------------------------------- */
/* common  list*/
/* ---------------------------------------------------- */
.circle1 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .circle1 {
      display: block; } }
  .circle1 li {
    position: relative;
    width: 100%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 1.8em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc; }
    .circle1 li:before {
      position: absolute;
      content: "・";
      font-size: 130%;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      color: #005476; }

.circle2 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .circle2 {
      display: block; } }
  .circle2 li {
    position: relative;
    width: 48%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 1.8em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc; }
    @media screen and (max-width: 768px) {
      .circle2 li {
        width: 100%; } }
    .circle2 li:before {
      position: absolute;
      content: "・";
      font-size: 130%;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      color: #005476; }

.circle3 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .circle3 {
      display: block; } }
  .circle3 li {
    position: relative;
    width: 31%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 1.8em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc; }
    @media screen and (max-width: 768px) {
      .circle3 li {
        width: 100%; } }
    .circle3 li:before {
      position: absolute;
      content: "・";
      font-size: 130%;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      color: #005476; }

.check {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .check {
      display: block; } }
  .check li {
    position: relative;
    width: 100%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 2em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc;
	line-height:1.6; }
    .check li:before {
      position: absolute;
      content: "\f14a";
      font-family: FontAwesome;
      left: 0.3em;
      font-size: 1.3em;
      color: #005476; }

.check2 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .check2 {
      display: block; } }
  .check2 li {
    position: relative;
    width: 48%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 2em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc; }
    @media screen and (max-width: 768px) {
      .check2 li {
        width: 100%; } }
    .check2 li:before {
      position: absolute;
      content: "\f14a";
      font-family: FontAwesome;
      left: 0.3em;
      font-size: 1.3em;
      color: #005476; }

.check3 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .check3 {
      display: block; } }
  .check3 li {
    position: relative;
    width: 31%;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0 0.5em 2em;
    margin: 0.5em 1% 0.5em;
    border-bottom: 1px dashed #ccc; }
    @media screen and (max-width: 768px) {
      .check3 li {
        width: 100%; } }
    .check3 li:before {
      position: absolute;
      content: "\f14a";
      font-family: FontAwesome;
      left: 0.3em;
      font-size: 1.3em;
      color: #005476; }

/* ---------------------------------------------------- */
/* common box */
/* ---------------------------------------------------- */
.boxborder1 {
  display: block;
  width: 100%;
  margin: 20px 0;
  padding: 30px;
  border: 2px solid #aaa; }
  @media screen and (max-width: 768px) {
    .boxborder1 {
      padding: 15px; } }

.boxborder2 {
  display: block;
  width: 100%;
  margin: 20px 0;
  padding: 30px;
  border: 2px solid #005476;
  background-color: #eff3f8; }
  @media screen and (max-width: 768px) {
    .boxborder2 {
      padding: 15px; } }

/* ---------------------------------------------------- */
/* common text */
/* ---------------------------------------------------- */
h2 {
  font-size: 30px;
  font-weight: bold;
  margin-top: 50px;
  margin-bottom: 50px;
  border-bottom: 2px solid #005476;
  padding-bottom: 15px; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 24px;
	  line-height:1.2; } }

h3 {
  font-size: 24px;
  font-weight: bold;
  margin-top: 45px;
  margin-bottom: 25px;
  padding: 0.5em 1em;
  border-left: 4px solid #005476; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 22px;
	  line-height:1.2; } }

h4 {
  font-size: 22px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 20px;
  color: #005476; }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 19px; } }

.minFnt {
  font-family: "Times New Roman", "YuMincho", 'Noto Selif JP', "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; }

.fntType1 {
  background-color: #005476;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 3px;
  display: block;
  margin-bottom: 15px;
  border-radius: 6px; }
  @media screen and (max-width: 768px) {
    .fntType1 {
      font-size: 18px; } }

.fntType2 {
  background-color: #c6d5e7;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 3px;
  display: block;
  margin-bottom: 15px;
  border-radius: 6px; }
  @media screen and (max-width: 768px) {
    .fntType2 {
      font-size: 18px; } }

.fntType3 {
  font-size: 20px;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .fntType3 {
      font-size: 18px; } }

.underline {
  text-decoration: underline; }

#anchor1, #anchor2, #anchor3, #anchor4, #anchor5 {
  margin-top: -100px;
  padding-top: 100px; }
  @media screen and (max-width: 768px) {
    #anchor1, #anchor2, #anchor3, #anchor4, #anchor5 {
      margin-top: -80px;
      padding-top: 80px; } }

.anchor {
  display: block;
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 50px;
  text-align: center; }
  .anchor li {
    display: inline-block;
    margin: 0 15px;
    vertical-align: middle;
    margin-bottom: 8px; }
    .anchor li a {
      text-decoration: underline; }

.sign {
  text-align: right;
  font-size: bold;
  font-size: 16px;
  font-weight: bold; }

.indent {
  text-indent: -1em;
  padding-left: 1em;
  padding-bottom: 10px !important;
  line-height: 1.5; }

.indent2 {
  text-indent: -1em;
  padding-left: 2em;
  padding-bottom: 0;
  line-height: 1.5; }

.marker1 {
  display: inline-block;
  margin: 0 5px;
  padding: 0px 5px;
  background: linear-gradient(transparent 75%, #e2b70c 25%);
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .marker1 {
      padding: 1px 0; } }

.marker2 {
  display: inline-block;
  margin: 0 5px;
  padding: 0px 5px;
  background-color: #e2b70c;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .marker2 {
      padding: 0 15px;
      border-bottom: 6px solid #e2b70c; } }

.marker3 {
  color: #e2b70c;
  font-weight: bold; }

iframe {
  width: 100%;
  height: 500px; }

/* ---------------------------------------------------- */
/* table */
/* ---------------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin-bottom: 3.5em; }
  table th {
    text-align: center;
    vertical-align: middle;
    background-color: #d6dde6;
    color: #333;
    border: 1px #ccc solid;
    padding: 8px;
    font-weight: bold;
    line-height: 1.5; }
  table td {
    vertical-align: middle;
    background-color: #fff;
    border: 1px #ccc solid;
    padding: 8px;
    font-weight: normal;
    line-height: 1.5; }
  @media screen and (max-width: 768px) {
    table.ptn1 th {
      width: 100%;
      display: block;
      border: none; } }
  @media screen and (max-width: 768px) {
    table.ptn1 td {
      width: 100%;
      display: block;
      border: none; } }

@media screen and (max-width: 768px) {
  .tableScroll_wrap {
    overflow-x: scroll;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; }
    .tableScroll_wrap table {
      margin-bottom: 0; } }

@media screen and (max-width: 768px) {
  .tableScroll_wrap2 {
    border-right: 3px solid #4f4d47;
    overflow-x: scroll;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; }
    .tableScroll_wrap2 table {
      margin-bottom: 0; } }

/* ---------------------------------------------------- */
/* common  QA */
/* ---------------------------------------------------- */
.qaWrap {
  width: 100%;
  margin: 0 auto;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 20px; }
  @media screen and (max-width: 768px) {
    .qaWrap {
      display: block; } }
  .qaWrap .qaCnt {
    display: block;
    max-width: 380px;
    width: 31.333%;
    margin: 0 1% 20px; }
    @media screen and (max-width: 768px) {
      .qaWrap .qaCnt {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        margin-bottom: 30px; } }
    .qaWrap .qaCnt .question {
      background-color: #005476;
      position: relative;
      padding: 20px 12px;
      display: flex;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex; }
      @media screen and (max-width: 768px) {
        .qaWrap .qaCnt .question {
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start; } }
      .qaWrap .qaCnt .question .txtIco {
        color: #fff;
        font-weight: bold;
        font-size: 35px;
        line-height: 1; }
      .qaWrap .qaCnt .question .txtCnt {
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.5;
        margin-left: 10px; }
        @media screen and (max-width: 768px) {
          .qaWrap .qaCnt .question .txtCnt {
            font-size: 17px;
            line-height: 1.7; } }
    .qaWrap .qaCnt .answer {
      background-color: #ececec;
      color: #222;
      position: relative;
      padding: 20px 12px;
      display: flex;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between; }
      .qaWrap .qaCnt .answer .txtIco {
        color: #005476;
        font-weight: bold;
        font-size: 35px;
        line-height: 1; }
      .qaWrap .qaCnt .answer .txtCnt {
        font-size: 15px;
        line-height: 1.7;
        margin-left: 10px;
        text-align: left;
        box-sizing: border-box;
        width: 100%; }

/* ---------------------------------------------------- */
/* common  a  btn */
/* ---------------------------------------------------- */
a.hov {
  color: #2d77bd; }
  a.hov:hover {
    transition: 0.2s all;
    opacity: 0.8;
    text-decoration: underline; }
    a.hov:hover .hovImg {
      overflow: hidden; }
      a.hov:hover .hovImg img {
        transform: scale(1.1, 1.1);
        transition: 0.2s all;
        opacity: 0.8; }

.contactBtnWrap {
  display: block;
  width: 100%; }
  .contactBtnWrap a {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    width: 30%;
    max-width: 240px;
    margin: 0px 0px 15px;
    padding: 10px;
    color: #fff;
    background-color: #005476;
    border-radius: 6px; }
    .contactBtnWrap a:hover {
      text-decoration: underline;
      opacity: 0.8; }
    @media screen and (max-width: 768px) {
      .contactBtnWrap a {
        width: 100%; } }
  .contactBtnWrap a + a {
    margin-left: 30px; }
    @media screen and (max-width: 768px) {
      .contactBtnWrap a + a {
        margin-left: 0; } }

a.tel {
  pointer-events: none; }
  @media screen and (max-width: 768px) {
    a.tel {
      pointer-events: initial; } }

/* ---------------------------------------------------- */
/* common  text*/
/* ---------------------------------------------------- */
/*ステップフローのCSS*/
ul.stepflow {
  width: 100%;
  display: block;
  border: none;
  margin: 1em 0.5em;
  padding: 0;
  list-style: none; }
  ul.stepflow li {
    display: block;
    width: 100%;
    position: relative;
    padding: 0 0 1em 1.8em;
    margin: 0 auto;
    width: 70%; }
    @media screen and (max-width: 768px) {
      ul.stepflow li {
        width: 100%; } }
    ul.stepflow li:before {
      background-color: #ccc !important;
      content: "";
      width: 3px;
      background: #ccc;
      display: block;
      position: absolute;
      top: 28px;
      bottom: 0;
      left: 5px; }
    ul.stepflow li .stepflow-white {
      content: '';
      display: inline-block;
      position: absolute;
      top: 5px;
      left: 0;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: solid 3px #005476; }
    ul.stepflow li .stepflow-black_last {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 0px;
      left: 0;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: solid 3px #005476;
      background-color: #005476; }
    ul.stepflow li .stepflow-black {
      content: '';
      display: inline-block;
      position: absolute;
      top: 5px;
      left: 0;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: solid 3px #005476;
      background-color: #005476; }
    ul.stepflow li .stepflow_label {
      padding: 3px 0px 8px 0px;
      margin-bottom: 8px;
      color: #52637a;
      font-size: 1em;
      font-weight: bold; }
    ul.stepflow li .stepflow_title p {
      font-size: 1.2em;
      font-weight: bold;
      line-height: 1.5;
      margin-bottom: 15px;
      color: #005476; }
    ul.stepflow li .stepflow_title .ico {
      max-width: 120px; }
    ul.stepflow li .stepflow_content {
      font-size: .9em;
      line-height: 1.5;
      margin-top: .5em;
      padding: 0 0 0.5em;
      border-bottom: dashed 1px #ccc; }
    ul.stepflow li .ico {
      max-width: 160px; }

/* ---------------------------------------------------- */
/* common
/* ---------------------------------------------------- */
.tac {
  text-align: center; }

.tal {
  text-align: left; }

.tar {
  text-align: right !important; }

.tac_tal {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .tac_tal {
      text-align: left; } }

.w90p {
  width: 90%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .w90p {
      width: 100%; } }

.w80p {
  width: 80%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .w80p {
      width: 100%; } }

.w70p {
  width: 70%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .w70p {
      width: 100%; } }

.w60p {
  width: 60%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .w60p {
      width: 100%; } }

.w50p {
  width: 50%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .w50p {
      width: 100%; } }

.red {
  color: #cc240a; }

.mb0 {
  margin-bottom: 0 !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mt50 {
  margin-top: 50px; }

@media screen and (max-width: 768px) {
  #topPage .mainVis {
    margin-bottom: 0; } }

a.hov {
  text-decoration: underline; }
  a.hov:hover {
    text-decoration: none; }

.table_w40p {
  width: 40%;
  margin: 0 auto; }

#lowerPage #gNavi_head .inner #mobile-head .logoWrap {
  padding-left: 0; }
  @media screen and (max-width: 768px) {
    #lowerPage #gNavi_head .inner #mobile-head .logoWrap {
      padding-left: 12px; } }

.caption_before {
  text-align: center;
  margin-bottom: 1em;
  background: #8caabb;
  padding: .25em 0; }

.caption_after {
  text-align: center;
  margin-bottom: 1em;
  background: #72baeb;
  padding: .25em 0; }

.caption_before2 {
  position: absolute;
  right: 5px;
  bottom: 5px;
  content: '';
  text-align: center;
  background: #8caabb;
  font-size: 11px;
  font-weight: bold;
  border-radius: 50%;
  color: #fff;
  width: 50px;
  height: 50px;
  box-shadow: 1px 1px 3px #000;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center; }

.caption_after2 {
  position: absolute;
  right: 5px;
  bottom: 5px;
  content: '';
  text-align: center;
  background: #72baeb;
  font-size: 11px;
  font-weight: bold;
  border-radius: 50%;
  color: #fff;
  width: 50px;
  height: 50px;
  box-shadow: 1px 1px 3px #000;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center; }

#pagetop {
  font-size: 30px;
  padding-top: 5px;
  color: #fff;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  background: rgba(51, 51, 51, 0.85);
  position: fixed;
  bottom: 170px;
  right: 60px;
  display: none;
  z-index: 10000;
  text-align: center;
  line-height: 50px;
  font-weight: normal;
  transition: all .25s; }
  #pagetop:hover {
    padding-top: 0; }
  @media screen and (max-width: 768px) {
    #pagetop {
      bottom: 80px;
      right: 20px; } }
