@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@900&display=swap");
html {
  line-height: 1;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 16px;
  color: #333;
  word-wrap: break-word;
  font-weight: 400;
}
html * {
  font-weight: inherit;
  box-sizing: border-box;
}

body {
  width: 100%;
}

a {
  outline: none;
  color: inherit;
}
a * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:focus, *:focus {
  outline: none;
}

img {
  width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
}

#page {
  overflow: hidden;
  width: 100%;
}

/*.fw_light{
  font-weight: $fw_light;
}*/
.fw_regular {
  font-weight: 400;
}

.fw_medium {
  font-weight: 500;
}

.fw_bold {
  font-weight: 700;
}

/*.fw_semibold{
  font-weight: $fw_semibold;
}*/
.fw_black {
  font-weight: 900;
}

.fs_italic {
  font-style: italic;
}

.flex_box {
  display: flex;
  flex-wrap: wrap;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

/*PC 共通
-----------------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
  .sp {
    display: none;
  }
  .flex_box_pc {
    display: flex;
    flex-wrap: wrap;
  }
  .inner {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
  }
  #wrapper:not(.preload) * {
    transition: none !important;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1500px) {
  html {
    font-size: 1.0666666667vw;
  }
}
/*--------------------------endPC--------------------------------*/
/*SP共通
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  html {
    font-size: 3.3898305085vw;
  }
  .pc {
    display: none;
  }
  .flex_box_sp {
    display: flex;
    flex-wrap: wrap;
  }
  .inner {
    max-width: 707px;
    width: 90%;
    margin: 0 auto;
  }
  #sp_bottom_fixed {
    position: fixed;
    bottom: 0;
    z-index: 100;
    transition: transform 0.4s ease-in-out 0s;
    height: 15.6453715776vw;
    width: 100%;
  }
  #sp_bottom_fixed:not(.active) {
    transform: translate(0, 250%);
  }
  #sp_bottom_fixed ul {
    height: 100%;
  }
  #sp_bottom_fixed ul li a {
    display: block;
    height: 100%;
    position: relative;
  }
  #sp_bottom_fixed ul li a img {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, -50%);
  }
  #sp_bottom_fixed ul .telLinkComp {
    width: 15.6453715776vw;
    background-color: #d9f2fa;
  }
  #sp_bottom_fixed ul .telLinkComp img {
    width: 6.258148631vw;
  }
  #sp_bottom_fixed ul .tel_line {
    width: calc(100% - 15.6453715776vw);
    background-color: #a1def2;
  }
  #sp_bottom_fixed ul .tel_line img {
    width: 57.3663624511vw;
  }
}
/*--------------------------endSP--------------------------------*/
/*sec_txt_box（セクションタイトル）
-----------------------------------------------------------*/
.sec_txt_box .sec_tit {
  letter-spacing: 0.1em;
  font-weight: 900;
}
.sec_txt_box .sb_tit {
  letter-spacing: 0.2em;
  font-weight: 700;
}
.sec_txt_box .txt {
  letter-spacing: 0.07em;
}
@media print, screen and (min-width: 768px) {
  .sec_txt_box .sec_tit {
    font-size: 4.0625rem;
  }
  .sec_txt_box .sb_tit {
    font-size: 1.5rem;
    margin-top: 1.125rem;
  }
  .sec_txt_box .txt {
    font-size: 1rem;
    line-height: 2.25;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec_txt_box .sec_tit {
    font-size: 3.0769230769rem;
    text-align: center;
  }
  .sec_txt_box .sb_tit {
    font-size: 1.1538461538rem;
    margin-top: 3.1290743155vw;
    text-align: center;
  }
  .sec_txt_box .txt {
    font-size: 1rem;
    line-height: 2.2307692308;
    margin-top: 7.8226857888vw;
  }
}

/*tit_nb_box（ナンバータイトル）
-----------------------------------------------------------*/
.tit_nb_box .tit {
  letter-spacing: 0.2em;
  display: inline-block;
  font-weight: 500;
}
.tit_nb_box .tit span {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  color: #43bee5;
  position: relative;
  letter-spacing: 0;
}
.tit_nb_box .tit span::after {
  content: "/";
  display: block;
  width: 100%;
  height: 100%;
  color: #43bee5;
}
.tit_nb_box .tit.new-line .new-line-item {
  line-height: 1.3;
  display: inline-block;
}
@media print, screen and (min-width: 768px) {
  .tit_nb_box {
    margin-top: -2.8125rem;
  }
  .tit_nb_box .tit {
    font-size: 1.875rem;
    border-bottom: 10px solid #43bee5;
  }
  .tit_nb_box .tit span {
    font-size: 6.25rem;
    padding-right: 2.875rem;
  }
  .tit_nb_box .tit span::after {
    font-size: 1.875rem;
    position: absolute;
    bottom: 1.25rem;
    right: 1.125rem;
    width: 0.9375rem;
    height: 1.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .tit_nb_box {
    margin-top: -5.2151238592vw;
  }
  .tit_nb_box .tit {
    font-size: 1.5384615385rem;
    border-bottom: 1.6949152542vw solid #43bee5;
  }
  .tit_nb_box .tit span {
    font-size: 5.2307692308rem;
    padding-right: 8.3441981747vw;
  }
  .tit_nb_box .tit span::after {
    font-size: 1.9230769231rem;
    position: absolute;
    bottom: 2.6075619296vw;
    right: 3.1290743155vw;
    width: 2.6075619296vw;
    height: 6.7796610169vw;
  }
}

/*btn more（ボタン設定）
-----------------------------------------------------------*/
.btn.more a {
  text-align: center;
}
.btn.more a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url("../img/arrow_right_B.svg");
  transition: all 0.4s ease-in-out 0s;
}
.btn a {
  line-height: 4em;
  font-weight: 900;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.1em;
  width: 100%;
  display: block;
  background-color: #f9d200;
  color: #1a1a1a;
  text-decoration: none;
  border: 2px solid #f9d200;
  position: relative;
  transition: all 0.4s ease-in-out 0s;
}
@media print, screen and (min-width: 768px) {
  .btn {
    width: 15rem;
  }
  .btn.more a {
    padding-right: 3rem;
  }
  .btn.more a::after {
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translate(0, -50%);
    width: 1rem;
    height: 0.625rem;
  }
  .btn a {
    font-size: 0.9375rem;
  }
  .btn a:hover {
    background-color: rgba(249, 210, 0, 0.2);
  }
  .btn a:hover::after {
    position: absolute;
    top: 50%;
    right: 1.75rem;
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width: 767px) {
  .btn {
    width: 50.0651890482vw;
    margin: 0 auto;
  }
  .btn.more a {
    padding-right: 9.9087353325vw;
  }
  .btn.more a::after {
    position: absolute;
    top: 50%;
    right: 6.518904824vw;
    transform: translate(0, -50%);
    width: 3.3898305085vw;
    height: 2.0860495437vw;
  }
  .btn a {
    font-size: 0.9230769231rem;
  }
}

/*header
-----------------------------------------------------------*/
header {
  width: 100%;
  z-index: 1001;
  position: fixed;
}
header .header_inner {
  position: relative;
  transition: all 0.4s ease-in-out 0s;
}
header .header_inner .h_logo {
  transition: all 0.4s ease-in-out 0s;
  height: 100%;
}
header .header_inner .h_logo a {
  display: block;
  position: relative;
  height: 100%;
  transition: all 0.4s ease-in-out 0s;
}
header .header_inner .h_logo a img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease-in-out 0s;
}
header .header_inner .h_logo a img.on {
  width: 0;
  opacity: 1;
}
header .header_inner .h_logo a img.off {
  width: 0;
  opacity: 0;
}
header .header_inner .h_nav_wrap {
  font-family: "Lato", sans-serif;
}
header .header_inner .h_nav_wrap .h_nav_list a {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  header {
    background: rgba(67, 190, 229, 0.5);
  }
  header .header_inner {
    height: 5rem;
  }
  header .header_inner .h_logo {
    width: 15.375rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  header .header_inner .h_logo a {
    background-color: rgba(255, 255, 255, 0.85);
  }
  header .header_inner .h_logo a img.on {
    width: 12.8125rem;
  }
  header .header_inner .h_logo a:hover {
    opacity: 0.9;
  }
  header .header_inner .h_nav_wrap {
    justify-content: flex-end;
    width: 62.5rem;
    height: 100%;
    margin: 0 0 0 auto;
    position: relative;
  }
  header .header_inner .h_nav_wrap .h_nav_list {
    align-items: center;
    height: 5rem;
  }
  header .header_inner .h_nav_wrap .h_nav_list li {
    padding-right: 2.8125rem;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
  }
  header .header_inner .h_nav_wrap .h_nav_list li a {
    text-decoration: none;
    padding-bottom: 0.25rem;
    position: relative;
    transition: all 0.4s ease-in-out 0s;
  }
  header .header_inner .h_nav_wrap .h_nav_list li a::after {
    transition: all 0.4s ease-in-out 0s;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    width: 0;
    height: 0.0625rem;
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  header .header_inner .h_nav_wrap .h_nav_list li a:hover::after {
    width: 100%;
    opacity: 1;
  }
  header .header_inner .h_nav_wrap .h_line_img {
    width: 18.3125rem;
  }
  header .header_inner .h_nav_wrap .h_line_img a {
    display: block;
    transition: all 0.4s ease-in-out 0s;
    position: relative;
    background-color: #fff;
    height: 5rem;
  }
  header .header_inner .h_nav_wrap .h_line_img a:hover {
    opacity: 0.8;
  }
  header .header_inner .h_nav_wrap .h_line_img a img {
    width: 88.275862069%;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 767px) {
  header .header_inner {
    height: 15.6453715776vw;
  }
  header .header_inner .h_logo {
    width: 100vw;
    z-index: 50;
  }
  header .header_inner .h_logo a {
    background-color: #f9f9f4;
  }
  header .header_inner .h_logo a img.on {
    opacity: 1;
    width: 57.3663624511vw;
    left: 31%;
  }
  header .header_inner .h_logo a img.off {
    opacity: 0;
  }
  header .header_inner .h_nav_btn {
    background: #fff;
    color: #43bee5;
    width: 15.6453715776vw;
    height: 15.6453715776vw;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 50;
  }
  header .header_inner .h_nav_btn span {
    position: absolute;
    left: 3.3898305085vw;
    z-index: 0;
    display: block;
    width: 8.9960886571vw;
    border-bottom: solid 0.3911342894vw #43bee5; /*変化の速度を指定*/ /*変化の速度を指定*/
    transition: 0.35s ease-in-out; /*変化の速度を指定*/
  }
  header .header_inner .h_nav_btn span:nth-child(1) {
    top: 3.6505867014vw;
  }
  header .header_inner .h_nav_btn span:nth-child(2) {
    top: 5.8670143416vw;
  }
  header .header_inner .h_nav_btn span:nth-child(3) {
    top: 7.9530638853vw;
  }
  header .header_inner .h_nav_btn::after {
    font-size: 0.9230769231rem;
    font-weight: 700;
    content: "MENU";
    display: block;
    width: auto;
    height: auto;
    color: #333;
    position: absolute;
    left: 50%;
    bottom: 2.8683181226vw;
    z-index: 0;
    transform: translate(-50%, 0);
  }
  header .header_inner .h_nav_btn.active span:nth-child(1) {
    top: 5.9973924381vw;
    left: 3.3898305085vw;
    transform: rotate(-30deg);
  }
  header .header_inner .h_nav_btn.active span:nth-child(2), header .header_inner .h_nav_btn.active span:nth-child(3) {
    top: 5.9973924381vw;
    transform: rotate(30deg);
  }
  header .header_inner .h_nav_btn.active::after {
    content: "CLOSE";
    display: block;
    width: auto;
    height: auto;
  }
  header .h_nav_wrap {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    background-color: rgba(67, 190, 229, 0.8);
    transform: translateX(-100%); /*ナビを上に隠す*/
    transition: all 0.6s; /*アニメーションの時間を指定*/
    padding: 28.9439374185vw 0 15.6453715776vw;
    max-height: 100vh;
    overflow: auto;
  }
  header .h_nav_wrap .h_nav_list {
    width: 79.1395045632vw;
    margin: 0 auto 7.8226857888vw;
  }
  header .h_nav_wrap .h_nav_list > li {
    font-size: 1.9230769231rem;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  }
  header .h_nav_wrap .h_nav_list > li a {
    padding: 5.2151238592vw;
  }
  header .h_nav_wrap .h_nav_list > li a.active {
    color: #43bee5;
  }
  header .h_nav_wrap .h_line_img {
    width: 89.5697522816vw;
    height: 24.3807040417vw;
    margin: 0 auto;
    background-color: #fff;
  }
  header .h_nav_wrap .h_line_img a {
    position: relative;
  }
  header .h_nav_wrap .h_line_img a::after {
    content: "";
    display: block;
    width: 2.6075619296vw;
    height: 1.5645371578vw;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-image: url("../img/arrow_right_B.svg");
    position: absolute;
    top: 50%;
    right: 10.9517601043vw;
    transform: translate(0, -50%);
  }
  header .h_nav_wrap .h_line_img a::before {
    content: "";
    display: block;
    width: 25.1629726206vw;
    height: 15.7757496741vw;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-image: url("/common/img/contact_tit.png");
    position: absolute;
    bottom: -4.4328552803vw;
    right: 0;
  }
  header .h_nav_wrap .h_line_img img {
    width: 60.1043024772vw;
    position: absolute;
    top: 50%;
    left: 9.6479791395vw;
    transform: translate(0, -50%);
  }
  header .h_nav_wrap a {
    display: block;
    text-decoration: none;
    height: 100%;
  }
  header .h_nav_wrap.active {
    color: #f9d200;
    transform: translateX(0%);
    top: 0; /*表示位置を指定*/
  }
}

/*mv mv_under(メインビジュアル　コピーライト＆スクロールダウン)
-----------------------------------------------------------*/
#mv .mv_wrap, #mv_under .mv_wrap {
  position: relative;
}
#mv .mv_inner, #mv_under .mv_inner {
  position: relative;
}
#mv .mv_img, #mv_under .mv_img {
  display: block;
}
#mv .scroll_area, #mv_under .scroll_area {
  text-align: center;
  letter-spacing: 0.1em;
  font-family: "Lato", sans-serif;
  z-index: 2;
}
#mv .scroll_area a, #mv_under .scroll_area a {
  display: block;
  text-decoration: none;
}
#mv .scroll_area .scroll_btn span, #mv_under .scroll_area .scroll_btn span {
  display: block;
  font-weight: 700;
  transform: rotate(90deg);
  white-space: nowrap;
  letter-spacing: 0.1em;
}
#mv .copy, #mv_under .copy {
  z-index: 2;
  transform: rotate(90deg);
  white-space: nowrap;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}
#mv .copy span, #mv_under .copy span {
  display: inline-block;
}
@media print, screen and (min-width: 768px) {
  #mv .copy, #mv_under .copy {
    position: absolute;
    top: 20.25rem;
    right: 1.875rem;
    width: 0.6875rem;
    font-size: 0.75rem;
  }
  #mv .scroll_area, #mv_under .scroll_area {
    position: absolute;
    top: 50%;
    left: 1.875rem;
    transform: translate(0, -50%);
    width: 0.5rem;
    font-size: 0.75rem;
  }
  #mv .scroll_area .scroll_btn, #mv_under .scroll_area .scroll_btn {
    font-size: 0.75rem;
    position: relative;
    padding-bottom: 5rem;
  }
  #mv .scroll_area .scroll_btn::before, #mv .scroll_area .scroll_btn::after, #mv_under .scroll_area .scroll_btn::before, #mv_under .scroll_area .scroll_btn::after {
    content: "";
    display: block;
    width: 2px;
    position: absolute;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, 0);
  }
  #mv .scroll_area .scroll_btn::before, #mv_under .scroll_area .scroll_btn::before {
    height: 5rem;
    background-color: #333;
    bottom: 0;
  }
  #mv .scroll_area .scroll_btn::after, #mv_under .scroll_area .scroll_btn::after {
    height: 1.875rem;
    background-color: #43bee5;
    bottom: 3.125rem;
    -webkit-animation: scroll_animepc 1.6s ease-in-out 0s infinite normal forwards;
    animation: scroll_animepc 1.6s ease-in-out 0s infinite normal forwards;
  }
  @-webkit-keyframes scroll_animepc {
    0% {
      height: 0;
      bottom: 5rem;
    }
    70% {
      height: 4rem;
    }
    80% {
      bottom: 0;
    }
    100% {
      height: 0;
      bottom: 0;
    }
  }
  @keyframes scroll_animepc {
    0% {
      height: 0;
      bottom: 5rem;
    }
    70% {
      height: 4rem;
    }
    80% {
      bottom: 0;
    }
    100% {
      height: 0;
      bottom: 0;
    }
  }
  #mv .scroll_area .scroll_btn span, #mv_under .scroll_area .scroll_btn span {
    font-size: 0.75rem;
    margin-bottom: 6.25rem;
  }
  #mv .breadCrumb, #mv_under .breadCrumb {
    position: absolute;
    bottom: -1.25rem;
    right: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  #mv .copy, #mv_under .copy {
    display: none;
  }
  #mv .scroll_area, #mv_under .scroll_area {
    display: none;
  }
}

/*mv_under(下層ページのMV)
-----------------------------------------------------------*/
#mv_under .mv_img {
  width: 100%;
  position: relative;
  overflow: hidden;
}
#mv_under .mv_img::before {
  background: rgba(67, 190, 229, 0.5);
}
#mv_under .mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: "object-fit:cover; object-position:50% 50%; ";
}
#mv_under .mv_tit_box {
  margin: 0 auto;
}
#mv_under .mv_tit_box .mv_tit {
  font-family: "Lato", sans-serif;
  font-weight: 700;
}
#mv_under .mv_tit_box .mv_tit .en {
  letter-spacing: 0.1em;
}
#mv_under .mv_tit_box .mv_tit .ja {
  letter-spacing: 0.4em;
}
#mv_under .mv_txt_box .mv_txt span {
  background: linear-gradient(transparent 10%, #fff 10%);
  display: inline;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #43bee5;
}
@media print, screen and (min-width: 768px) {
  #mv_under .mv_img {
    height: 47.5rem;
    margin-left: 6.25rem;
  }
  #mv_under .mv_img::before {
    content: "";
    display: block;
    width: 9.0625rem;
    height: 100%;
    background-size: 100% 100%;
    position: absolute;
    top: 5rem;
    left: 0;
    z-index: 1;
  }
  #mv_under .mv_tit_box {
    position: absolute;
    left: 6.25rem;
    bottom: -7rem;
    z-index: 1;
  }
  #mv_under .mv_tit_box .mv_tit .en {
    font-size: 12.5rem;
  }
  #mv_under .mv_tit_box .mv_tit .ja {
    font-size: 2rem;
  }
  #mv_under .mv_txt_box {
    position: absolute;
    left: 6.25rem;
    bottom: 13.375rem;
    z-index: 1;
  }
  #mv_under .mv_txt_box .mv_txt span {
    font-size: 4.0625rem;
    line-height: 1.5076923077;
  }
}
@media only screen and (max-width: 767px) {
  #mv_under {
    padding-top: 15.6453715776vw;
  }
  #mv_under .mv_img {
    height: 75.6192959583vw;
    margin-left: 13.037809648vw;
  }
  #mv_under .mv_img::before {
    content: "";
    display: block;
    width: 9.1264667536vw;
    height: 100%;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #mv_under .mv_tit_box {
    position: absolute;
    left: 3.9113428944vw;
    bottom: -15.6453715776vw;
    z-index: 1;
  }
  #mv_under .mv_tit_box .mv_tit .en {
    font-size: 4.6153846154rem;
    margin-bottom: 3.9113428944vw;
  }
  #mv_under .mv_tit_box .mv_tit .ja {
    font-size: 1.6153846154rem;
  }
  #mv_under .mv_txt_box {
    width: 85.7887874837vw;
    position: absolute;
    left: 3.9113428944vw;
    bottom: 13.037809648vw;
    z-index: 1;
  }
  #mv_under .mv_txt_box .mv_txt span {
    font-size: 2.0769230769rem;
    line-height: 1.4814814815;
  }
}

/*breadCrumb_wrap（下層ページ：パンクズリスト【共有】）
-----------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .breadCrumb ol {
    display: flex;
    flex-wrap: wrap;
  }
  .breadCrumb ol li {
    position: relative;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
  }
  .breadCrumb ol li:not(:last-child) {
    padding-right: 1.25rem;
  }
  .breadCrumb ol li:not(:last-child)::after {
    content: ">";
    display: block;
    position: absolute;
    top: 0;
    right: 0.1875rem;
  }
  .breadCrumb ol li:not(:first-child) {
    color: #43bee5;
  }
}
@media only screen and (max-width: 767px) {
  .breadCrumb {
    display: none;
  }
}

/*table_area（下層ページ：テーブル【共有】）
-----------------------------------------------------------*/
.table_area dt, .table_area dd {
  border-bottom: 1px solid;
  letter-spacing: 0.07em;
}
.table_area dt {
  border-color: #43bee5;
  font-weight: 700;
}
.table_area dd {
  border-color: #e6e6e6;
}
.table_area dd span {
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .table_area {
    width: 83.3333333333%;
    margin: 0 auto;
  }
  .table_area dt, .table_area dd {
    line-height: 2.125;
    font-size: 1rem;
  }
  .table_area dt {
    width: 8%;
    padding: 1.75rem 0;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .table_area dt:first-of-type {
    border-top: 1px solid #43bee5;
  }
  .table_area dd {
    width: 92%;
    padding: 1.75rem 4.347826087% 1.75rem 12.3913043478%;
  }
  .table_area dd:first-of-type {
    border-top: 1px solid #e6e6e6;
  }
}
@media only screen and (max-width: 767px) {
  .table_area dt, .table_area dd {
    line-height: 2.3846153846;
    font-size: 1rem;
  }
  .table_area dt {
    width: 16.8187744459%;
    padding: 5.2151238592% 0;
  }
  .table_area dt:last-of-type {
    border: 0;
  }
  .table_area dd {
    width: calc(100% - 16.8187744459%);
    padding: 5.2151238592% 0 5.2151238592% 2.0860495437%;
  }
  .table_area dd:last-of-type {
    border: 0;
  }
}

/*bnr_area（下層ページ：バナーエリア）
-----------------------------------------------------------*/
#bnr_area .bnr_box .img_area {
  display: block;
}
#bnr_area .bnr_box .txt_area {
  background-color: #d9f2fa;
  text-align: center;
}
#bnr_area .bnr_box .txt_area .tit {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #43bee5;
}
#bnr_area .bnr_box .txt_area .sb_tit {
  font-weight: 700;
  letter-spacing: 0.2em;
}
#bnr_area .bnr_box .txt_area .btn {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  #bnr_area .bnr_box .img_area {
    order: 1;
    width: 61.8333333333%;
  }
  #bnr_area .bnr_box .txt_area {
    order: 0;
    width: 38.1666666667%;
    padding-top: 5.625rem;
  }
  #bnr_area .bnr_box .txt_area .tit {
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
  }
  #bnr_area .bnr_box .txt_area .sb_tit {
    font-size: 1.25rem;
    margin-bottom: 3.125rem;
  }
}
@media only screen and (max-width: 767px) {
  #bnr_area .inner {
    width: 100%;
  }
  #bnr_area .bnr_box .img_area {
    width: 100%;
    margin: 0 auto;
    z-index: -1;
    position: relative;
  }
  #bnr_area .bnr_box .txt_area {
    width: 79.1395045632vw;
    margin: -15.6453715776vw auto 0;
    padding: 7.8226857888vw 0 5.2151238592vw;
  }
  #bnr_area .bnr_box .txt_area .tit {
    font-size: 2rem;
    margin-bottom: 2.8683181226vw;
  }
  #bnr_area .bnr_box .txt_area .sb_tit {
    font-size: 1.1538461538rem;
    margin-bottom: 5.2151238592vw;
  }
}

/*.pageTop_btn_wrap（トップへ戻るボタン）
-----------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .pageTop_btn_wrap {
    width: 1.75rem;
    margin: 0 auto;
  }
  .pageTop_btn_wrap .pageTop_btn:hover img {
    opacity: 0.5;
  }
  .pageTop_btn_wrap .pageTop_btn img {
    width: 1.375rem;
    height: 6.25rem;
    transition: all 0.4s ease-in-out 0s;
  }
}
@media only screen and (max-width: 767px) {
  .pageTop_btn_wrap {
    width: 6.258148631vw;
  }
  .pageTop_btn_wrap .pageTop_btn img {
    width: 6.258148631vw;
    height: 27.6401564537vw;
  }
}

/*footer
-----------------------------------------------------------*/
footer {
  position: relative;
}
footer .f_logo_area {
  background-color: #d9f2fa;
}
footer .f_logo_area .logo_box .txt_box .address {
  letter-spacing: 0.1em;
  line-height: 1.4;
}
footer .f_logo_area .logo_box .txt_box .time {
  letter-spacing: 0.05em;
  color: #43bee5;
}
footer .f_logo_area .txt_box .tell {
  font-family: "Lato", sans-serif;
  color: #43BEE5;
  font-weight: 900;
}
footer .f_logo_area .txt_box .tell::before {
  content: "";
  display: inline-block;
  background-image: url(../img/f_icon_tell.svg);
  background-repeat: no-repeat;
}
footer .f_logo_area .txt_box .tel_link {
  text-decoration: none;
}
footer .f_logo_area .txt_box .tel_link a {
  text-decoration: none;
}
footer .f_menu_area {
  background-color: #43bee5;
}
footer .f_menu_area .menu_box .contact_btn {
  text-align: center;
}
footer .f_menu_area .menu_box .contact_btn a {
  display: block;
  background-color: #fff;
  position: relative;
}
footer .f_menu_area .menu_box .contact_btn a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url("../img/arrow_right_B.svg");
}
footer .f_menu_area .menu_box .contact_btn a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url("../img/contact_tit.png");
}
footer .f_menu_area .menu_box .f_menu_list a {
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.1em;
  position: relative;
}
footer .f_menu_area .f_copy {
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}
footer picture {
  display: block;
}
@media print, screen and (min-width: 768px) {
  footer .pageTop_btn_wrap {
    position: absolute;
    left: 50%;
    top: -3.125rem;
    z-index: 1;
    transform: translate(-50%, 0);
  }
  footer .f_logo_area {
    width: calc(100% - 64.625%);
    padding-top: 2.875rem;
  }
  footer .f_logo_area .logo_box {
    width: 64.3109540636%;
    margin: 0 0 0 auto;
    display: block;
  }
  footer .f_logo_area .logo_box picture {
    width: 80.7692307692%;
    margin: 0 auto 0.875rem 0;
  }
  footer .f_logo_area .logo_box .txt_box .address {
    font-size: 0.8125rem;
    margin-bottom: 1.25rem;
  }
  footer .f_logo_area .logo_box .txt_box .tell {
    font-size: 1.8125rem;
    letter-spacing: 0.3rem;
    margin-bottom: 0.5rem;
  }
  footer .f_logo_area .logo_box .txt_box .tell::before {
    width: 1.4rem;
    height: 1.4rem;
    margin-right: 0.4rem;
  }
  footer .f_logo_area .logo_box .txt_box .time {
    font-size: 0.8125rem;
  }
  footer .f_menu_area {
    width: 64.625%;
    padding: 4.125rem 0 4.375rem;
  }
  footer .f_menu_area .menu_box {
    width: 47.25rem;
    margin: 0 auto 3.125rem 5rem;
    justify-content: space-between;
  }
  footer .f_menu_area .menu_box .contact_btn {
    width: 34.375rem;
    order: 1;
  }
  footer .f_menu_area .menu_box .contact_btn a {
    padding: 2.75rem 5.125rem 2.75rem 0;
    transition: all 0.4s ease-in-out 0s;
  }
  footer .f_menu_area .menu_box .contact_btn a::after {
    transition: all 0.4s ease-in-out 0s;
    position: absolute;
    top: 50%;
    right: 4.125rem;
    transform: translate(0, -50%);
    width: 1rem;
    height: 0.625rem;
  }
  footer .f_menu_area .menu_box .contact_btn a::before {
    width: 9.8125rem;
    height: 6.125rem;
    position: absolute;
    bottom: -0.875rem;
    right: -2.0625rem;
  }
  footer .f_menu_area .menu_box .contact_btn a:hover {
    background-color: rgba(255, 255, 255, 0.7);
  }
  footer .f_menu_area .menu_box .contact_btn a:hover::after {
    position: absolute;
    top: 50%;
    right: 3.75rem;
    transform: translate(0, -50%);
  }
  footer .f_menu_area .menu_box .contact_btn img {
    width: 23.125rem;
  }
  footer .f_menu_area .menu_box .f_menu_list {
    width: 12.5rem;
  }
  footer .f_menu_area .menu_box .f_menu_list li:not(:first-child) {
    margin-top: 1rem;
  }
  footer .f_menu_area .menu_box .f_menu_list a {
    font-size: 0.875rem;
    transition: all 0.4s ease-in-out 0s;
  }
  footer .f_menu_area .menu_box .f_menu_list a::after {
    transition: all 0.4s ease-in-out 0s;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    width: 0;
    height: 0.0625rem;
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  footer .f_menu_area .menu_box .f_menu_list a:hover::after {
    width: 100%;
    opacity: 1;
  }
  footer .f_menu_area .f_copy {
    width: 72.920696325%;
    margin: 0 auto 0 5rem;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    padding-bottom: 15.6453715776vw;
  }
  footer .pageTop_btn_wrap {
    position: absolute;
    top: -25.0325945241vw;
    right: 3.9113428944vw;
  }
  footer .f_logo_area {
    padding: 6.7796610169vw 0;
  }
  footer .f_logo_area .logo_box {
    width: 91.2646675359vw;
    margin: 0 auto;
    justify-content: space-between;
  }
  footer .f_logo_area .logo_box picture {
    width: 27.7705345502vw;
  }
  footer .f_logo_area .logo_box .txt_box {
    width: 59.4524119948vw;
  }
  footer .f_logo_area .logo_box .txt_box .address {
    font-size: 0.8461538462rem;
    margin-bottom: 3.3898305085vw;
  }
  footer .f_logo_area .logo_box .txt_box .tell {
    font-size: 2rem;
    letter-spacing: 0.2rem;
    margin-bottom: 0.5rem;
  }
  footer .f_logo_area .logo_box .txt_box .tell::before {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.4rem;
  }
  footer .f_logo_area .logo_box .txt_box .time {
    font-size: 0.7692307692rem;
    padding-left: 7.0404172099vw;
  }
  footer .f_menu_area {
    padding: 7.8226857888vw 0;
  }
  footer .f_menu_area .menu_box .contact_btn {
    width: 89.5697522816vw;
    margin: 0 auto 7.8226857888vw;
  }
  footer .f_menu_area .menu_box .contact_btn a {
    padding: 7.0404172099vw 13.2985658409vw 7.0404172099vw 0;
  }
  footer .f_menu_area .menu_box .contact_btn a::after {
    position: absolute;
    top: 50%;
    right: 10.9517601043vw;
    transform: translate(0, -50%);
    width: 2.6075619296vw;
    height: 1.5645371578vw;
  }
  footer .f_menu_area .menu_box .contact_btn a::before {
    width: 25.0325945241vw;
    height: 15.6453715776vw;
    position: absolute;
    bottom: -4.1720990874vw;
    right: -1.3037809648vw;
  }
  footer .f_menu_area .menu_box .contact_btn img {
    width: 59.9739243807vw;
  }
  footer .f_menu_area .menu_box .f_menu_list {
    margin-bottom: 10.4302477184vw;
  }
  footer .f_menu_area .menu_box .f_menu_list li {
    border-bottom: 2px solid rgba(255, 255, 255, 0.8);
  }
  footer .f_menu_area .menu_box .f_menu_list li:first-child {
    border-top: 2px solid rgba(255, 255, 255, 0.8);
    width: 100%;
  }
  footer .f_menu_area .menu_box .f_menu_list li:not(:first-child) {
    width: 50%;
  }
  footer .f_menu_area .menu_box .f_menu_list li:not(:first-child):nth-child(even) {
    border-right: 2px solid rgba(255, 255, 255, 0.8);
  }
  footer .f_menu_area .menu_box .f_menu_list a {
    font-size: 1.0769230769rem;
    padding: 3.9113428944vw 0;
    display: block;
    text-align: center;
  }
  footer .f_menu_area .f_copy {
    text-align: center;
    font-size: 0.7692307692rem;
  }
}

/*js action
-----------------------------------------------------------*/
.tran {
  transition: all 0.6s ease-in-out 0s;
}

.fadein {
  opacity: 0;
  filter: blur(1.5rem);
  transform: scale(0.95, 0.95);
}
.fadein.scrollActive {
  opacity: 1;
  filter: blur(0);
  transform: scale(1, 1);
}

.fadeout {
  opacity: 1;
}
.fadeout.scrollActive {
  opacity: 0;
}

.fadeTop {
  transform: translate(0, 50px);
}
.fadeTop.scrollActive {
  transform: translate(0, 0);
}

.fadeBottom {
  transform: translate(0, -50px);
}
.fadeBottom.scrollActive {
  transform: translate(0, 0);
}

.fadeRight {
  transform: translate(-100vw, 0);
}
.fadeRight.scrollActive {
  transform: translate(0, 0);
}

.fadeLeft {
  transform: translate(100vw, 0);
}
.fadeLeft.scrollActive {
  transform: translate(0, 0);
}

.scaleUp {
  transform: scale(0.97, 0.97);
}
.scaleUp.scrollActive {
  transform: scale(1, 1);
}

.scaleUp02 {
  transform: scale(0.8, 0.8);
}
.scaleUp02.scrollActive {
  transform: scale(1, 1);
}

.point_e_none {
  pointer-events: none;
  opacity: 0.4;
}