@charset "UTF-8";
@import url(import/reset.css);
@import url(import/util.css);
html,
body {
  overflow: visible !important; }

body {
  background-color: #fff; }

body * {
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt";
  box-sizing: border-box; }

img {
  max-width: 100%;
  vertical-align: bottom; }

a {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  text-decoration: underline;
  color: black; }

a.hover {
  text-decoration: none; }

a.ohover.hover {
  opacity: 0.7; }

.ohoverArea a.hover {
  opacity: 0.7; }

.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }

.sp {
  display: none !important; }

@media only screen and (max-width: 639px) {
  .sp {
    display: block !important; }

  img.sp {
    display: inline !important; }

  .pc {
    display: none !important; } }
.cap {
  font-size: 12px; }

.red {
  color: #a10000; }

.white {
  color: white; }

.serif {
  font-family: 'Noto Serif JP', serif; }

.ib {
  letter-spacing: -.4em; }

.ib > div {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: middle; }

.clearfix > .left {
  float: left; }

.clearfix > .right {
  float: right; }

#header {
  padding: 22px 0;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 10000; }
  @media only screen and (max-width: 639px) {
    #header {
      padding: 11px 0 12px; }
      #header .logo {
        margin: auto; }
        #header .logo img {
          width: 77px; } }

#wrapper {
  overflow-x: hidden;
  /* font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
  font-family: 'Noto Serif JP', serif; }

.ancArea {
  margin-top: 40px;
  margin-bottom: 60px;
  padding: 0 40px; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    .ancArea {
      margin-top: calc(100vw * 40 / 1070);
      margin-bottom: calc(100vw * 60 / 1070);
      padding: 0 calc(100vw * 40 / 1070); } }
  @media only screen and (max-width: 639px) {
    .ancArea {
      margin-top: calc(100vw * 80 / 750);
      margin-bottom: calc(100vw * 80 / 750);
      padding: 0 calc(100vw * 40 / 750); } }
  .ancArea .inner ul {
    display: flex;
    justify-content: center;
    gap: 0 3%; }
    @media only screen and (max-width: 639px) {
      .ancArea .inner ul {
        justify-content: space-between;
        gap: 0; } }
    .ancArea .inner ul li {
      width: 22.6%; }
      .ancArea .inner ul li a {
        display: block;
        text-align: center;
        letter-spacing: 0;
        text-decoration: none;
        background: #59b7d0;
        background: -moz-linear-gradient(left, #59b7d0 0%, #09c3be 100%);
        background: -webkit-linear-gradient(left, #59b7d0 0%, #09c3be 100%);
        background: linear-gradient(to right, #59b7d0 0%, #09c3be 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#59b7d0', endColorstr='#09c3be',GradientType=1 );
        color: #fff;
        font-size: 18px;
        padding-top: 12px;
        padding-bottom: 22px;
        position: relative; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          .ancArea .inner ul li a {
            font-size: calc(100vw * 18 / 1070);
            padding-top: calc(100vw * 12 / 1070);
            padding-bottom: calc(100vw * 22 / 1070); } }
        .ancArea .inner ul li a::after {
          content: '';
          width: 12px;
          height: 7px;
          background: url(../imgs/anc_icon.png) no-repeat;
          background-size: cover;
          position: absolute;
          left: 50%;
          bottom: 11px;
          transition: .3s ease;
          transform: translateX(-50%); }
          @media screen and (min-width: 640px) and (max-width: 1070px) {
            .ancArea .inner ul li a::after {
              width: calc(100vw * 12 / 1070);
              height: calc(100vw * 7 / 1070);
              bottom: calc(100vw * 11 / 1070); } }
        .ancArea .inner ul li a.narrow {
          letter-spacing: -0.04em; }
        .ancArea .inner ul li a.hover::after {
          bottom: 4px; }
    @media only screen and (max-width: 639px) {
      .ancArea .inner ul {
        flex-wrap: wrap; }
        .ancArea .inner ul li {
          width: 47.0149%; }
          .ancArea .inner ul li:nth-child(n+3) {
            margin-top: calc(100vw * 40 / 750); }
          .ancArea .inner ul li a {
            font-size: calc(100vw * 24 / 750);
            padding-top: calc(100vw * 14 / 750);
            padding-bottom: calc(100vw * 35 / 750); }
            .ancArea .inner ul li a::after {
              width: calc(100vw * 18 / 750);
              height: calc(100vw * 11 / 750);
              bottom: calc(100vw * 9 / 750); } }

#Cont01 {
  position: relative;
  z-index: 99;
  width: 100%; }
  #Cont01 .bg {
    position: relative; }
    #Cont01 .bg .acap {
      font-size: 10px;
      line-height: 1;
      position: absolute;
      right: 8px;
      bottom: calc(100vw * 40 / 1440);
      letter-spacing: 0.1em;
      color: #bbbbbb; }
  #Cont01 .mv_layer {
    overflow: hidden; }
    #Cont01 .mv_layer .layer {
      position: absolute;
      top: 0;
      left: 0; }
      #Cont01 .mv_layer .layer01 img {
        transition-duration: 1s;
        transition-delay: 300ms;
        transform: translateY(50px); }
      #Cont01 .mv_layer .layer img {
        width: 100%;
        opacity: 0; }
        #Cont01 .mv_layer .layer img.aos-animate {
          opacity: 1;
          transform: translate(0); }
  #Cont01 #block01 .scroll {
    opacity: 0;
    transition: 1s 1.5s ease;
    transform: translate(-50%, 50%); }
    #Cont01 #block01 .scroll.aos-animate {
      opacity: 1;
      transform: translate(-50%, 30%); }
  @media screen and (max-width: 639px) {
    #Cont01 .sp:not(.scroll) {
      position: relative; }
      #Cont01 .sp:not(.scroll) .acap {
        font-size: 10px;
        line-height: 1;
        position: absolute;
        right: 8px;
        bottom: -10px;
        letter-spacing: 0.1em;
        color: #bbbbbb; } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(20px, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }
.scale {
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
  .scale .aos-animate {
    animation: bounce 0.6s ease 0s normal; }

@keyframes bounce {
  0% {
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7); }
  50% {
    -webkit-transform: scale(1.08);
    -ms-transform: scale(1.08);
    transform: scale(1.08); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }
h2.contTtl {
  font-size: 40px;
  letter-spacing: .1em;
  text-align: center;
  line-height: 1;
  color: #2a6283; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    h2.contTtl {
      font-size: calc(100vw * 40 / 1070); } }
  @media screen and (max-width: 639px) {
    h2.contTtl {
      font-size: calc(100vw * 48 / 750); } }

.contTxt {
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #333333;
  margin-top: calc(40px - (((20px * 1.8) - 20px) / 2));
  margin-bottom: calc(0px - (((20px * 1.8) - 20px) / 2)); }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    .contTxt {
      font-size: calc(100vw * 20 / 1070);
      margin-top: calc((100vw * 40 / 1070) - ((((100vw * 20 / 1070) * 1.8) - (100vw * 20 / 1070)) / 2));
      margin-bottom: calc(0px - ((((100vw * 20 / 1070) * 1.8) - (100vw * 20 / 1070)) / 2)); } }
  @media screen and (max-width: 639px) {
    .contTxt {
      font-size: calc(100vw * 24 / 750); } }

h3.lineTtl {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #3289a0;
  overflow: hidden;
  margin-bottom: 44px; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    h3.lineTtl {
      font-size: calc(100vw * 24 / 1070);
      margin-bottom: calc(100vw * 44 / 1070); } }
  @media screen and (max-width: 639px) {
    h3.lineTtl {
      font-size: calc(100vw * 32 / 750); } }
  h3.lineTtl span {
    display: inline-block;
    position: relative; }
    h3.lineTtl span::before, h3.lineTtl span::after {
      content: '';
      width: 500px;
      height: 1px;
      position: absolute;
      top: 50%;
      background: #3289a0; }
    h3.lineTtl span::before {
      left: -43px;
      transform: translateX(-100%); }
    h3.lineTtl span::after {
      right: -43px;
      transform: translateX(100%); }
    @media screen and (min-width: 640px) and (max-width: 1070px) {
      h3.lineTtl span::before {
        left: calc(-100vw * 43 / 1070); }
      h3.lineTtl span::after {
        right: calc(-100vw * 43 / 1070); } }
    @media screen and (max-width: 639px) {
      h3.lineTtl span::before {
        left: calc(-100vw * 25 / 750); }
      h3.lineTtl span::after {
        right: calc(-100vw * 25 / 750); } }

.clmArea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .clmArea .four {
    width: 22.6%; }
    .clmArea .four.arrow {
      position: relative; }
      .clmArea .four.arrow::before {
        content: '';
        width: 14px;
        height: 24px;
        background: url(../imgs/arrow.png) no-repeat;
        background-size: cover;
        position: absolute;
        top: 50%;
        left: -12px;
        transform: translateX(-100%); }
        @media screen and (max-width: 639px) {
          .clmArea .four.arrow::before {
            content: '';
            width: calc(100vw * 36 / 750);
            height: calc(100vw * 20 / 750);
            background: url(../imgs/arrow_sp.png) no-repeat;
            background-size: cover;
            top: calc(-100vw * 20 / 750);
            left: 57%;
            transform: translateY(-100%); } }

#Cont02 {
  text-align: center;
  padding: 100px 40px 120px;
  background: url(../imgs/bg_cont02.jpg) no-repeat top center;
  background-size: cover;
  position: relative;
  z-index: 98; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    #Cont02 {
      padding: calc(100vw * 100 / 1070) calc(100vw * 40 / 1070) calc(100vw * 120 / 1070); } }
  @media screen and (max-width: 639px) {
    #Cont02 {
      padding: calc(100vw * 120 / 750) calc(100vw * 40 / 750) calc(100vw * 120 / 750);
      background: url(../imgs/bg_cont02_sp.jpg) no-repeat top center;
      background-size: cover; } }
  #Cont02 .reccomendBox {
    margin-top: 84px; }
    @media screen and (min-width: 640px) and (max-width: 1070px) {
      #Cont02 .reccomendBox {
        margin-top: calc(100vw * 84 / 1070); } }
    @media screen and (max-width: 639px) {
      #Cont02 .reccomendBox {
        margin-top: calc(100vw * 80 / 750); } }
    #Cont02 .reccomendBox .clmArea .four {
      box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08); }
      @media screen and (max-width: 639px) {
        #Cont02 .reccomendBox .clmArea .four {
          width: 47.0149%;
          display: flex;
          flex-direction: column-reverse; }
          #Cont02 .reccomendBox .clmArea .four:nth-child(n+3) {
            margin-top: calc(100vw * 40 / 750); } }
    #Cont02 .reccomendBox .clmArea .photoBox {
      position: relative; }
      #Cont02 .reccomendBox .clmArea .photoBox .acap {
        font-size: 10px;
        line-height: 1;
        position: absolute;
        bottom: 5px;
        right: 5px;
        color: #fff;
        text-shadow: black 1px 1px 2px, black -1px 1px 2px, black 1px -1px 2px, black -1px -1px 2px; }
      @media screen and (max-width: 639px) {
        #Cont02 .reccomendBox .clmArea .photoBox::after {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 12.5px 7.5px 0 7.5px;
          border-color: #ffffff transparent transparent transparent;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%); } }
    #Cont02 .reccomendBox .clmArea .textBox {
      background: #fff;
      padding: 20px 0 30px; }
      @media screen and (min-width: 640px) and (max-width: 1070px) {
        #Cont02 .reccomendBox .clmArea .textBox {
          padding: calc(100vw * 20 / 1070) 0 calc(100vw * 30 / 1070); } }
      @media screen and (max-width: 639px) {
        #Cont02 .reccomendBox .clmArea .textBox {
          padding: calc(100vw * 30 / 750) 0; } }
      #Cont02 .reccomendBox .clmArea .textBox .caseTtl {
        font-size: 20px;
        margin-bottom: 20px;
        font-family: 'Barlow', sans-serif;
        color: #f4ae23;
        font-style: italic;
        border-bottom: 1px solid #f4ae23;
        display: inline-block; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont02 .reccomendBox .clmArea .textBox .caseTtl {
            font-size: calc(100vw * 20 / 1070);
            margin-bottom: calc(100vw * 20 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont02 .reccomendBox .clmArea .textBox .caseTtl {
            font-size: calc(100vw * 36 / 750);
            margin-bottom: calc(100vw * 30 / 750); } }
        #Cont02 .reccomendBox .clmArea .textBox .caseTtl .small {
          font-size: 80%; }
      #Cont02 .reccomendBox .clmArea .textBox .caseTxt {
        font-size: 20px;
        line-height: 1.4;
        letter-spacing: 0.02em;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont02 .reccomendBox .clmArea .textBox .caseTxt {
            font-size: calc(100vw * 20 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont02 .reccomendBox .clmArea .textBox .caseTxt {
            font-size: calc(100vw * 24 / 750); } }
  #Cont02 .inner {
    position: relative;
    z-index: 999; }
  #Cont02 .step_list {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #Cont02 .step_list > div {
      display: block;
      vertical-align: top;
      position: relative;
      margin-bottom: 15px;
      width: 30%;
      box-shadow: 0px 8px 13px 0px rgba(109, 123, 109, 0.2);
      z-index: 99999; }
      @media screen and (min-width: 640px) and (max-width: 1070px) {
        #Cont02 .step_list > div {
          margin-bottom: calc(100vw * 15 / 1070); } }
      #Cont02 .step_list > div::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translate(125%, -50%);
        display: block;
        background: url(../imgs/arrow.png) no-repeat center center;
        background-size: cover;
        width: 11.333333333%;
        height: 4.347826087%; }
      #Cont02 .step_list > div:nth-child(3n)::after {
        content: none; }
  #Cont02 .cap {
    color: #333;
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.6; }

@keyframes arrow {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  50% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
#Cont04 {
  padding: 100px 40px 120px;
  background: url(../imgs/bg_cont04.jpg) no-repeat top center;
  background-size: cover; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    #Cont04 {
      padding: calc(100vw * 100 / 1070) calc(100vw * 40 / 1070) calc(100vw * 120 / 1070); } }
  @media screen and (max-width: 639px) {
    #Cont04 {
      padding: calc(100vw * 120 / 750) calc(100vw * 40 / 750) calc(100vw * 120 / 750);
      background: url(../imgs/bg_cont04_sp.jpg) no-repeat top center;
      background-size: cover; } }
  #Cont04 .stepArea {
    margin-top: 80px; }
    @media screen and (min-width: 640px) and (max-width: 1070px) {
      #Cont04 .stepArea {
        margin-top: calc(100vw * 80 / 1070); } }
    @media screen and (max-width: 639px) {
      #Cont04 .stepArea {
        margin-top: calc(100vw * 80 / 750); } }
    #Cont04 .stepArea .clmArea > div {
      width: 30.45%; }
      @media screen and (max-width: 639px) {
        #Cont04 .stepArea .clmArea > div {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #Cont04 .stepArea .clmArea > div + div {
            margin-top: calC(100vw * 60 / 750); }
          #Cont04 .stepArea .clmArea > div .step_num {
            width: calc(100vw * 100 / 750); }
          #Cont04 .stepArea .clmArea > div .clmBox {
            width: calc(100vw * 544 / 750);
            display: flex;
            justify-content: space-between;
            align-items: center; } }
      #Cont04 .stepArea .clmArea > div .step_num {
        text-align: center;
        font-family: 'Barlow', sans-serif;
        font-size: 48px;
        letter-spacing: 0.06em;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #3289a0;
        font-weight: 600;
        margin-bottom: 35px; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont04 .stepArea .clmArea > div .step_num {
            font-size: calc(100vw * 48 / 1070);
            margin-bottom: calc(100vw * 35 / 1070); } }
        #Cont04 .stepArea .clmArea > div .step_num .small {
          font-size: 41.6667%;
          position: relative; }
          #Cont04 .stepArea .clmArea > div .step_num .small::after {
            content: '';
            width: 100%;
            height: 1px;
            background: #3289a0;
            position: absolute;
            bottom: -7px;
            left: 0; }
        #Cont04 .stepArea .clmArea > div .step_num .large {
          font-style: italic; }
        @media screen and (max-width: 639px) {
          #Cont04 .stepArea .clmArea > div .step_num {
            flex-direction: column;
            font-size: calc(100vw * 74 / 750); }
            #Cont04 .stepArea .clmArea > div .step_num .small {
              font-size: 40.5405%; }
              #Cont04 .stepArea .clmArea > div .step_num .small::after {
                bottom: -4px; }
            #Cont04 .stepArea .clmArea > div .step_num .large {
              transform: translateX(-5px);
              margin-top: 7px; }
            #Cont04 .stepArea .clmArea > div .step_num span {
              display: block; } }
      #Cont04 .stepArea .clmArea > div .clmBox {
        background: #fff; }
        @media screen and (max-width: 639px) {
          #Cont04 .stepArea .clmArea > div .clmBox {
            padding: calc(100vw * 37 / 750) calc(100vw * 30 / 750) calc(100vw * 37 / 750) calc(100vw * 18 / 750); }
            #Cont04 .stepArea .clmArea > div .clmBox .photoBox {
              width: calc(100vw * 147 / 750); } }
        #Cont04 .stepArea .clmArea > div .clmBox .textBox {
          padding: 30px 20px 20px;
          font-size: 16px;
          line-height: 1.7143;
          letter-spacing: 0.06em;
          color: #333333; }
          @media screen and (min-width: 640px) and (max-width: 1070px) {
            #Cont04 .stepArea .clmArea > div .clmBox .textBox {
              padding: calc(100vw * 30 / 1070) calc(100vw * 20 / 1070) calc(100vw * 20 / 1070);
              font-size: calc(100vw * 16 / 1070); } }
          #Cont04 .stepArea .clmArea > div .clmBox .textBox .pcap {
            font-size: 13px;
            line-height: 1.6667;
            margin-top: 5px; }
            @media screen and (min-width: 640px) and (max-width: 1070px) {
              #Cont04 .stepArea .clmArea > div .clmBox .textBox .pcap {
                font-size: calc(100vw * 13 / 1070); } }
          @media screen and (max-width: 639px) {
            #Cont04 .stepArea .clmArea > div .clmBox .textBox {
              padding: 0;
              width: calc(100% - (100vw * 171 / 750));
              font-size: calc(100vw * 22 / 750); }
              #Cont04 .stepArea .clmArea > div .clmBox .textBox .pcap {
                font-size: calc(100vw * 18 / 750); } }
          #Cont04 .stepArea .clmArea > div .clmBox .textBox .line {
            border: 3px solid #f4ae23;
            display: block;
            box-sizing: border-box;
            margin-top: 10px;
            padding: 5px;
            letter-spacing: 0em;
            text-align: center; }
            @media screen and (max-width: 639px) {
              #Cont04 .stepArea .clmArea > div .clmBox .textBox .line {
                text-align: left; } }

#Cont05 {
  padding: 100px 40px 120px;
  background: url(../imgs/bg_cont05.jpg) no-repeat top center;
  background-size: cover; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    #Cont05 {
      padding: calc(100vw * 100 / 1070) calc(100vw * 40 / 1070) calc(100vw * 120 / 1070); } }
  @media screen and (max-width: 639px) {
    #Cont05 {
      padding: calc(100vw * 120 / 750) calc(100vw * 40 / 750) calc(100vw * 120 / 750);
      background: url(../imgs/bg_cont05_sp.jpg) no-repeat top center;
      background-size: cover; } }
  #Cont05 .contTxt {
    letter-spacing: 0; }
  #Cont05 .inner .pcaption {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: right;
    margin-top: 20px; }
    @media screen and (max-width: 639px) {
      #Cont05 .inner .pcaption {
        font-size: calc(100vw * 18 / 750);
        text-align: center;
        letter-spacing: 0.05em; } }
  #Cont05 .preBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px; }
    @media screen and (min-width: 640px) and (max-width: 1070px) {
      #Cont05 .preBox {
        margin-top: calc(100vw * 80 / 1070); } }
    @media screen and (max-width: 639px) {
      #Cont05 .preBox {
        display: block;
        margin-top: calc(100vw * 80 / 750); } }
    #Cont05 .preBox + .preBox {
      margin-top: 40px; }
      @media screen and (min-width: 640px) and (max-width: 1070px) {
        #Cont05 .preBox + .preBox {
          margin-top: calc(100vw * 40 / 1070); } }
      @media screen and (max-width: 639px) {
        #Cont05 .preBox + .preBox {
          margin-top: calc(100vw * 60 / 750); } }
    #Cont05 .preBox .preTtl {
      width: 21.8%;
      font-size: 24px;
      left: 0.06em;
      color: #3289a0;
      text-align: center;
      position: relative; }
      @media screen and (min-width: 640px) and (max-width: 1070px) {
        #Cont05 .preBox .preTtl {
          font-size: calc(100vw * 24 / 1070); } }
      @media screen and (max-width: 639px) {
        #Cont05 .preBox .preTtl {
          width: 100%;
          text-align: left;
          font-size: calc(100vw * 32 / 750);
          padding-left: calc(100vw * 40 / 750);
          margin-bottom: calc(100vw * 30 / 750);
          overflow: hidden; }
          #Cont05 .preBox .preTtl br {
            display: none; }
          #Cont05 .preBox .preTtl .ttlWrap {
            position: relative;
            display: inline-block; }
            #Cont05 .preBox .preTtl .ttlWrap::before {
              content: '';
              background: #3289a0;
              width: 750px;
              height: 1px;
              position: absolute;
              top: 50%;
              right: -20px;
              transform: translateX(100%); } }
      #Cont05 .preBox .preTtl .small {
        font-size: 58.3333%;
        display: block;
        line-height: 1.1429; }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preTtl .small {
            display: inline;
            font-size: 75%; } }
      #Cont05 .preBox .preTtl::before {
        content: '';
        width: 8px;
        height: 60px;
        background: #59b7d0;
        background: -moz-linear-gradient(top, #59b7d0 0%, #09c3be 100%);
        background: -webkit-linear-gradient(top, #59b7d0 0%, #09c3be 100%);
        background: linear-gradient(to bottom, #59b7d0 0%, #09c3be 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#59b7d0', endColorstr='#09c3be',GradientType=0 );
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont05 .preBox .preTtl::before {
            width: calc(100vw * 8 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preTtl::before {
            width: calc(100vw * 10 / 750);
            height: calc(100vw * 40 / 750); } }
    #Cont05 .preBox .preWhiteBox {
      width: 74.2%;
      padding: 20px 40px;
      background: #fff;
      box-shadow: 0px 8px 13px 0px rgba(109, 123, 109, 0.2);
      line-height: 1.75;
      position: relative;
      font-size: 16px; }
      @media screen and (min-width: 640px) and (max-width: 1070px) {
        #Cont05 .preBox .preWhiteBox {
          padding: calc(100vw * 20 / 1070) calc(100vw * 40 / 1070);
          font-size: calc(100vw * 16 / 1070); } }
      @media screen and (max-width: 639px) {
        #Cont05 .preBox .preWhiteBox {
          width: 100%;
          padding: calc(100vw * 40 / 750);
          font-size: calc(100vw * 22 / 750); } }
      #Cont05 .preBox .preWhiteBox::after {
        content: '';
        width: 60px;
        height: 1px;
        background: #3289a0;
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translateX(-100%); }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont05 .preBox .preWhiteBox::after {
            width: calc(100vw * 60 / 1070);
            left: calc(100vw * 20 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preWhiteBox::after {
            content: none; } }
      #Cont05 .preBox .preWhiteBox > .small {
        display: block;
        font-size: 12px; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont05 .preBox .preWhiteBox > .small {
            font-size: calc(100vw * 12 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preWhiteBox > .small {
            font-size: calc(100vw * 18 / 750); } }
      #Cont05 .preBox .preWhiteBox .preWhiteBlock + .preWhiteBlock {
        margin-top: 27px;
        padding-top: 27px;
        border-top: 1px solid #dddddd; }
        @media screen and (min-width: 640px) and (max-width: 1070px) {
          #Cont05 .preBox .preWhiteBox .preWhiteBlock + .preWhiteBlock {
            margin-top: calc(100vw * 27 / 1070);
            padding-top: calc(100vw * 27 / 1070); } }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preWhiteBox .preWhiteBlock + .preWhiteBlock {
            margin-top: calc(100vw * 32 / 750);
            padding-top: calc(100vw * 32 / 750); } }
      #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .logo {
          width: 38.5196%; }
        #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn {
          width: 54.6828%;
          display: flex;
          justify-content: space-between; }
          #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn a img {
            transition: .3s ease; }
          #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn a.hover img {
            opacity: 0.8; }
          #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn .apple {
            width: 48.3425%; }
          #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn .google {
            width: 46.1326%; }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm {
            display: block; }
            #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .logo {
              width: 53.8983%;
              margin-left: auto;
              margin-right: auto; }
            #Cont05 .preBox .preWhiteBox .preWhiteBlock .preWhiteBlockClm .btn {
              width: 100%;
              margin-top: calc(100vw * 26 / 750); } }
      #Cont05 .preBox .preWhiteBox .preInnerClm {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 639px) {
          #Cont05 .preBox .preWhiteBox .preInnerClm {
            display: block; } }
        #Cont05 .preBox .preWhiteBox .preInnerClm .preClmTxt {
          font-size: 16px;
          letter-spacing: 0.06em;
          width: 45.9215%; }
          @media screen and (min-width: 640px) and (max-width: 1070px) {
            #Cont05 .preBox .preWhiteBox .preInnerClm .preClmTxt {
              font-size: calc(100vw * 16 / 1070); } }
          @media screen and (max-width: 639px) {
            #Cont05 .preBox .preWhiteBox .preInnerClm .preClmTxt {
              font-size: calc(100vw * 22 / 750);
              width: 100%; } }
          #Cont05 .preBox .preWhiteBox .preInnerClm .preClmTxt .small {
            display: block;
            font-size: 75%; }
            @media screen and (max-width: 639px) {
              #Cont05 .preBox .preWhiteBox .preInnerClm .preClmTxt .small {
                font-size: calc(100vw * 18 / 750); } }
        #Cont05 .preBox .preWhiteBox .preInnerClm .preClmImg {
          width: 45.9215%; }
          @media screen and (max-width: 639px) {
            #Cont05 .preBox .preWhiteBox .preInnerClm .preClmImg {
              width: 100%;
              margin-top: calc(100vw * 30 / 750); }
              #Cont05 .preBox .preWhiteBox .preInnerClm .preClmImg img {
                width: 66.6102%;
                margin-left: auto;
                margin-right: auto;
                display: block; } }

#Cont03 {
  background: url(../imgs/bg_cont03.jpg) repeat top center;
  background-size: cover;
  padding: 100px 40px 120px;
  position: relative;
  z-index: 97; }
  @media screen and (min-width: 640px) and (max-width: 1070px) {
    #Cont03 {
      padding: calc(100vw * 100 / 1070) calc(100vw * 40 / 1070) calc(100vw * 120 / 1070); } }
  #Cont03 h2.contTtl {
    margin-bottom: 80px; }
    @media screen and (min-width: 640px) and (max-width: 1070px) {
      #Cont03 h2.contTtl {
        margin-bottom: calc(100vw * 80 / 1070); } }
  #Cont03 .article.ib .contBox {
    width: 32%;
    display: inline-block;
    margin-left: 2%;
    margin-top: 40px;
    vertical-align: top;
    position: relative;
    z-index: 102;
    background-color: #fff;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: 2px 2px 12px 0px rgba(109, 123, 109, 0.2); }
    #Cont03 .article.ib .contBox * {
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      transform: translate3d(0, 0, 0); }
    #Cont03 .article.ib .contBox .imgArea img {
      width: 100%; }
    #Cont03 .article.ib .contBox .textArea {
      border: 1px solid #e6e6e6;
      padding-bottom: 10px; }
    #Cont03 .article.ib .contBox:first-child, #Cont03 .article.ib .contBox:nth-child(3n+1) {
      margin-left: 0; }
    #Cont03 .article.ib .contBox .reserve {
      margin-bottom: 6px; }
    #Cont03 .article.ib .contBox .name,
    #Cont03 .article.ib .contBox .intro,
    #Cont03 .article.ib .contBox .btnArea {
      padding: 0 14px;
      border-left: 1px solid #e6e6e6;
      border-right: 1px solid #e6e6e6;
      box-sizing: border-box;
      width: 100%; }
    #Cont03 .article.ib .contBox .name {
      border-top: 1px solid #e6e6e6;
      padding-bottom: 7px; }
      #Cont03 .article.ib .contBox .name span.A {
        font-size: 11px;
        line-height: 1em;
        display: inline-block;
        margin: 15px 0 10px 0px;
        padding: 3px 5px;
        color: #fff;
        background: #2a6283;
        font-family: 'Noto Sans JP', sans-serif; }
      #Cont03 .article.ib .contBox .name span.B {
        font-size: 16px;
        line-height: 20px;
        display: block;
        color: #111;
        border-bottom: 1px solid #e5e5e5;
        padding-bottom: 7px;
        letter-spacing: .06em;
        font-family: 'Noto Sans JP', sans-serif; }
    #Cont03 .article.ib .contBox .btnArea {
      padding-bottom: 15px; }
      #Cont03 .article.ib .contBox .btnArea a {
        position: relative;
        display: block; }
        #Cont03 .article.ib .contBox .btnArea a::after {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          display: inline-block;
          background: rgba(255, 255, 255, 0);
          transition: background 0.3s ease;
          backface-visibility: hidden;
          transform: translate3d(0, 0, 0); }
        #Cont03 .article.ib .contBox .btnArea a.hover::after {
          background: rgba(255, 255, 255, 0.4);
          backface-visibility: hidden; }
        #Cont03 .article.ib .contBox .btnArea a.hover img {
          backface-visibility: hidden; }
        #Cont03 .article.ib .contBox .btnArea a img {
          backface-visibility: hidden;
          transform: translate3d(0, 0, 0);
          width: 100%; }
    #Cont03 .article.ib .contBox .ib .official {
      display: inline-block;
      width: 100%;
      box-sizing: border-box; }
    #Cont03 .article.ib .contBox .intro {
      padding-bottom: 17px;
      font-size: 13px;
      line-height: 1.769230769;
      letter-spacing: 0.04em;
      color: #111111;
      font-family: 'Noto Sans JP', sans-serif; }
      #Cont03 .article.ib .contBox .intro.only {
        height: auto !important; }
      #Cont03 .article.ib .contBox .intro p .hilight {
        color: #c43a3a; }
  #Cont03 .ui-tabs-nav {
    letter-spacing: -.4em;
    text-align: center;
    position: relative;
    z-index: 102;
    padding-left: 0; }
    #Cont03 .ui-tabs-nav li {
      display: inline-block;
      vertical-align: bottom;
      position: relative;
      width: 13.4%;
      margin-right: 0.8%; }
      #Cont03 .ui-tabs-nav li:last-child {
        margin-right: 0; }
      #Cont03 .ui-tabs-nav li a,
      #Cont03 .ui-tabs-nav li span {
        opacity: 1;
        display: block; }
      #Cont03 .ui-tabs-nav li a img {
        width: 100%;
        height: auto;
        opacity: 0;
        backface-visibility: hidden; }
      #Cont03 .ui-tabs-nav li.btn01 a {
        background: url(../imgs/tab_btn01.png) center bottom no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn01 a.hover {
          background: url(../imgs/tab_btn01_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn01.ui-tabs-selected a {
        background: url(../imgs/tab_btn01_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn01 a {
          background: url(../imgs/tab_btn01.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn01 a.hover {
            background: url(../imgs/tab_btn01_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn01.ui-tabs-selected a {
          background: url(../imgs/tab_btn01_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn02 a {
        background: url(../imgs/tab_btn02.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn02 a.hover {
          background: url(../imgs/tab_btn02_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn02.ui-tabs-selected a {
        background: url(../imgs/tab_btn02_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn02 a {
          background: url(../imgs/tab_btn02.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn02 a.hover {
            background: url(../imgs/tab_btn02_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn02.ui-tabs-selected a {
          background: url(../imgs/tab_btn02_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn03 a {
        background: url(../imgs/tab_btn03.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn03 a.hover {
          background: url(../imgs/tab_btn03_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn03.ui-tabs-selected a {
        background: url(../imgs/tab_btn03_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn03 a {
          background: url(../imgs/tab_btn03.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn03 a.hover {
            background: url(../imgs/tab_btn03_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn03.ui-tabs-selected a {
          background: url(../imgs/tab_btn03_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn04 a {
        background: url(../imgs/tab_btn04.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn04 a.hover {
          background: url(../imgs/tab_btn04_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn04.ui-tabs-selected a {
        background: url(../imgs/tab_btn04_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn04 a {
          background: url(../imgs/tab_btn04.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn04 a.hover {
            background: url(../imgs/tab_btn04_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn04.ui-tabs-selected a {
          background: url(../imgs/tab_btn04_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn05 a {
        background: url(../imgs/tab_btn05.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn05 a.hover {
          background: url(../imgs/tab_btn05_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn05.ui-tabs-selected a {
        background: url(../imgs/tab_btn05_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn05 a {
          margin-top: .4rem;
          background: url(../imgs/tab_btn05.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn05 a.hover {
            background: url(../imgs/tab_btn05_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn05.ui-tabs-selected a {
          background: url(../imgs/tab_btn05_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn06 a {
        background: url(../imgs/tab_btn06.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn06 a.hover {
          background: url(../imgs/tab_btn06_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn06.ui-tabs-selected a {
        background: url(../imgs/tab_btn06_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn06 a {
          background: url(../imgs/tab_btn06.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn06 a.hover {
            background: url(../imgs/tab_btn06_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn06.ui-tabs-selected a {
          background: url(../imgs/tab_btn06_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn07 a {
        background: url(../imgs/tab_btn07.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn07 a.hover {
          background: url(../imgs/tab_btn07_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn07.ui-tabs-selected a {
        background: url(../imgs/tab_btn07_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn07 a {
          background: url(../imgs/tab_btn07.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn07 a.hover {
            background: url(../imgs/tab_btn07_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn07.ui-tabs-selected a {
          background: url(../imgs/tab_btn07_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav li.btn08 a {
        background: url(../imgs/tab_btn08.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn08 a.hover {
          background: url(../imgs/tab_btn08_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav li.btn08.ui-tabs-selected a {
        background: url(../imgs/tab_btn08_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav li.btn08 a {
          margin-top: .4rem;
          background: url(../imgs/tab_btn08.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav li.btn08 a.hover {
            background: url(../imgs/tab_btn08_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav li.btn08.ui-tabs-selected a {
          background: url(../imgs/tab_btn08_ov.png) center no-repeat;
          background-size: 100% 100%; } }
    #Cont03 .ui-tabs-nav.bottom {
      margin-top: 40px; }
      #Cont03 .ui-tabs-nav.bottom li.btn01 a {
        background: url(../imgs/tab_btn01_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn01 a.hover {
          background: url(../imgs/tab_btn01_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn01.ui-tabs-selected a {
        background: url(../imgs/tab_btn01_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn01 a {
          background: url(../imgs/tab_btn01_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn01 a.hover {
            background: url(../imgs/tab_btn01_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn01.ui-tabs-selected a {
          background: url(../imgs/tab_btn01_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn02 a {
        background: url(../imgs/tab_btn02_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn02 a.hover {
          background: url(../imgs/tab_btn02_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn02.ui-tabs-selected a {
        background: url(../imgs/tab_btn02_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn02 a {
          background: url(../imgs/tab_btn02_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn02 a.hover {
            background: url(../imgs/tab_btn02_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn02.ui-tabs-selected a {
          background: url(../imgs/tab_btn02_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn03 a {
        background: url(../imgs/tab_btn03_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn03 a.hover {
          background: url(../imgs/tab_btn03_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn03.ui-tabs-selected a {
        background: url(../imgs/tab_btn03_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn03 a {
          background: url(../imgs/tab_btn03_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn03 a.hover {
            background: url(../imgs/tab_btn03_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn03.ui-tabs-selected a {
          background: url(../imgs/tab_btn03_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn04 a {
        background: url(../imgs/tab_btn04_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn04 a.hover {
          background: url(../imgs/tab_btn04_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn04.ui-tabs-selected a {
        background: url(../imgs/tab_btn04_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn04 a {
          background: url(../imgs/tab_btn04_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn04 a.hover {
            background: url(../imgs/tab_btn04_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn04.ui-tabs-selected a {
          background: url(../imgs/tab_btn04_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn05 a {
        background: url(../imgs/tab_btn05_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn05 a.hover {
          background: url(../imgs/tab_btn05_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn05.ui-tabs-selected a {
        background: url(../imgs/tab_btn05_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn05 a {
          margin-top: .4rem;
          background: url(../imgs/tab_btn05_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn05 a.hover {
            background: url(../imgs/tab_btn05_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn05.ui-tabs-selected a {
          background: url(../imgs/tab_btn05_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn06 a {
        background: url(../imgs/tab_btn06_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn06 a.hover {
          background: url(../imgs/tab_btn06_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn06.ui-tabs-selected a {
        background: url(../imgs/tab_btn06_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn06 a {
          background: url(../imgs/tab_btn06_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn06 a.hover {
            background: url(../imgs/tab_btn06_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn06.ui-tabs-selected a {
          background: url(../imgs/tab_btn06_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn07 a {
        background: url(../imgs/tab_btn07_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn07 a.hover {
          background: url(../imgs/tab_btn07_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn07.ui-tabs-selected a {
        background: url(../imgs/tab_btn07_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn07 a {
          background: url(../imgs/tab_btn07_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn07 a.hover {
            background: url(../imgs/tab_btn07_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn07.ui-tabs-selected a {
          background: url(../imgs/tab_btn07_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
      #Cont03 .ui-tabs-nav.bottom li.btn08 a {
        background: url(../imgs/tab_btn08_b.png) center no-repeat;
        background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn08 a.hover {
          background: url(../imgs/tab_btn08_b_ov.png) center no-repeat;
          background-size: 100% 100%; }
      #Cont03 .ui-tabs-nav.bottom li.btn08.ui-tabs-selected a {
        background: url(../imgs/tab_btn08_b_ov.png) center no-repeat;
        background-size: 100% 100%; }
      @media screen and (max-width: 639px) {
        #Cont03 .ui-tabs-nav.bottom li.btn08 a {
          margin-top: .4rem;
          background: url(../imgs/tab_btn08_b.png) center no-repeat;
          background-size: 100% 100%; }
          #Cont03 .ui-tabs-nav.bottom li.btn08 a.hover {
            background: url(../imgs/tab_btn08_b_ov.png) center no-repeat;
            background-size: 100% 100%; }
        #Cont03 .ui-tabs-nav.bottom li.btn08.ui-tabs-selected a {
          background: url(../imgs/tab_btn08_b_ov.png) center no-repeat;
          background-size: 100% 100%; } }
  #Cont03 .ui-tabs-panel {
    padding-bottom: 0; }
    #Cont03 .ui-tabs-panel#fragment-3 .imgArea {
      width: calc(100% - 2px); }
      #Cont03 .ui-tabs-panel#fragment-3 .imgArea::after {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        border: 1px solid #e6e6e6;
        border-bottom: none; }
  #Cont03 .sakura_left {
    position: absolute;
    bottom: 11%;
    left: 0;
    z-index: 99; }
  #Cont03 .sakura_right {
    position: absolute;
    top: -14%;
    right: 0;
    z-index: 99; }
  #Cont03 #ui-tab {
    position: relative;
    z-index: 999; }
  @media only screen and (max-width: 639px) {
    #Cont03 {
      background: url(../imgs/bg_cont03_sp.jpg) repeat top center;
      background-size: cover;
      padding: 40px 15px 100px; }
      #Cont03 .ui-tabs-nav::after {
        content: none;
        display: none; }
      #Cont03 .cttl {
        margin-bottom: 30px; }
      #Cont03 .sakura_left {
        bottom: 0%;
        width: 22%; }
      #Cont03 .sakura_right {
        top: -9%;
        width: 37.5%; }
      #Cont03 .ui-tabs-nav {
        text-align: center;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
        width: 100%; }
        #Cont03 .ui-tabs-nav li {
          max-width: 130px;
          width: 32%;
          margin-left: 2% !important;
          margin-right: 0 !important;
          margin-bottom: 2%; }
          #Cont03 .ui-tabs-nav li:nth-child(3n+1) {
            margin-left: 0 !important; }
        #Cont03 .ui-tabs-nav.bottom {
          margin-top: 30px; }
      #Cont03 .article.ib .contBox {
        background: #fff;
        display: block;
        width: 100%;
        margin: 8% auto 8% !important; }
        #Cont03 .article.ib .contBox + .contBox {
          margin: 0 auto 8% !important; }
        #Cont03 .article.ib .contBox:first-child {
          background: #fff;
          display: block;
          width: 100%;
          margin: 0 auto 15%; }
        #Cont03 .article.ib .contBox:last-child {
          margin-bottom: 0; }
        #Cont03 .article.ib .contBox img {
          width: 100%; } }

/* pageTop
--------------------------------------------------*/
#pageTop {
  position: fixed;
  right: 54px;
  bottom: 3px;
  display: none;
  z-index: 99999; }

#pageTop a img {
  transition: 0.3s ease; }

@media screen and (min-width: 641px) {
  #pageTop a.hover img {
    opacity: 0.7; } }
@media only screen and (max-width: 1280px) {
  #pageTop {
    position: fixed;
    right: 30px;
    bottom: 0px;
    display: none;
    z-index: 99999; } }
@media only screen and (max-width: 639px) {
  #pageTop {
    right: 0px;
    bottom: 0px;
    /*
        width: 60px;
        height: 60px;
    */
    width: 90px;
    z-index: 99999; } }
/* footer
--------------------------------------------------*/
#footer {
  padding: 25px 15px;
  background-color: #fff;
  position: relative;
  z-index: 101;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3); }
  #footer .right {
    float: right;
    padding-top: 0px;
    text-align: center; }
    #footer .right a {
      display: inline-block;
      margin-bottom: 10px;
      color: #8d8d8d;
      font-size: 12px;
      letter-spacing: 2px; }
      #footer .right a:first-child {
        /*
          margin-right: 8px;
          padding-right: 8px;
          border-right: #8d8d8d solid 1px;
        */
        line-height: 1.1; }
      #footer .right a.hover {
        text-decoration: none; }
  #footer .left {
    float: left;
    font-size: 10px;
    margin-left: 5px; }
    #footer .left .ftrLogo {
      margin-bottom: 15px; }
      #footer .left .ftrLogo a {
        display: inline-block; }
  #footer #copyright {
    color: #8d8d8d;
    font-size: 10px;
    letter-spacing: 2px; }

@media only screen and (max-width: 639px) {
  #footer {
    height: 220px; }
    #footer .left {
      float: none;
      margin-left: 0; }
    #footer .right {
      float: none;
      margin-bottom: 30px;
      padding: 0; }
    #footer #copyright,
    #footer .left .ftrLogo {
      text-align: center; } }
/* ---------------------------------------------------------
floatNav
----------------------------------------------------------*/
.floatNav {
  position: fixed;
  top: 51.5%;
  right: 52px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 9999; }

.planAHover li {
  border-radius: 50%; }

.planAHover li a {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  position: relative;
  background: #ffffff;
  border: 1px solid #a78d65;
  background-size: cover;
  transition: .3 ease;
  opacity: .7; }

.planAHover li a::after {
  content: '';
  width: 27px;
  height: 27px;
  background: url(../imgs/dot_bg_ov.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: -10px;
  left: -10px;
  transition: 0.3s ease;
  opacity: 0; }

.planAHover li + li {
  margin-top: 20px; }

.planAHover li a.current,
.planAHover li a.hover {
  background: none;
  opacity: 1; }

.planAHover li a.current::after,
.planAHover li a.hover::after {
  opacity: 1; }

.nav_bg {
  position: fixed;
  top: 52.5%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 999; }

@media only screen and (max-width: 1000px) {
  .floatNav,
  .nav_bg {
    display: none; } }
.spinner {
  margin: 30px auto;
  width: 50px;
  height: 50px;
  position: relative;
  text-align: center;
  -webkit-animation: sk-rotate 2.0s infinite linear;
  animation: sk-rotate 2.0s infinite linear; }

.dot1, .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #62bccf;
  border-radius: 100%;
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out; }

.dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

@-webkit-keyframes sk-rotate {
  100% {
    -webkit-transform: rotate(360deg); } }
@keyframes sk-rotate {
  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg); } }
@-webkit-keyframes sk-bounce {
  0%, 100% {
    -webkit-transform: scale(0); }
  50% {
    -webkit-transform: scale(1); } }
@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fdfdfd;
  z-index: 100000;
  top: 0; }

#loading .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 150px;
  height: 150px; }

#loading .inner span {
  display: block;
  text-align: center;
  color: #62bccf;
  letter-spacing: 2px; }

.red_text {
  color: #62bccf; }

.scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 99999;
  -webkit-transform: translate(-50%, 50%);
  -ms-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%); }

.scroll.sp {
  padding: 0;
  top: auto;
  bottom: 0%;
  top: auto;
  z-index: 99999;
  transform: translate(-50%, 50%); }

.scroll a img {
  transition: 0.3s ease-out; }

.scroll a.hover img {
  opacity: 0.75; }

.ball-scale-multiple {
  width: 150px;
  padding-bottom: 40px; }

.ball-scale-multiple > div {
  background: #bf9c29;
  left: 31%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }

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