@import url("https://fonts.googleapis.com/css?family=Oswald:300&display=swap");
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,700&display=swap");
@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gTD_vx3rCubqg.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3g3D_vx3rCubqg.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gbD_vx3rCubqg.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: norma;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gfD_vx3rCubqg.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
  font-family: 'Montserrat script=all rev=2';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gnD_vx3rCs.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
  font-family: 'tofle';
  src: url("fonts/tofle.ttf?gu8dt0") format("truetype"), url("fonts/tofle.woff?gu8dt0") format("woff"), url("fonts/tofle.svg?gu8dt0#tofle") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block
}

[class*="ico-"] {
  font-family: 'tofle' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.ico-pdf:before {
  content: "\e903"
}

.ico-download:before {
  content: "\e900"
}

.ico-map:before {
  content: "\e901"
}

.ico-tel:before {
  content: "\e902"
}

.ico-mail:before {
  content: "\e90d"
}

*:last-child {
  margin-bottom: 0 !important
}

html {
  font-size: 62.5%
}

body {
  position: relative;
  width: 100%;
  color: #00205c;
  font: 1.4rem/1.714 'Montserrat script=all rev=2', sans-serif;
  letter-spacing: 1px;
  word-wrap: break-word;
  opacity: 0;
  transition: .4s;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased
}

body:before {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  background: #001434;
  opacity: 0;
  pointer-events: none;
  transition: .4s
}

_:-ms-lang(x)::-ms-backdrop, body {
  font-family: 'Montserrat', sans-serif
}

.main {
  margin-bottom: 60px
}

a, a:before, a:after {
  color: #00205c;
  transition: .4s
}
a.pick_color{
  color: #ff0000;
  transition: .4s
}

input {
  color: #00205c
}

.clearHidden {
  display: none
}

.mb-0-0 {
  margin-bottom: 0px
}

.mb-0-10 {
  margin-bottom: 0px
}

.mb-0-20 {
  margin-bottom: 0px
}

.mb-0-30 {
  margin-bottom: 0px
}

.mb-0-40 {
  margin-bottom: 0px
}

.mb-0-50 {
  margin-bottom: 0px
}

.mb-0-60 {
  margin-bottom: 0px
}

.mb-0-70 {
  margin-bottom: 0px
}

.mb-0-80 {
  margin-bottom: 0px
}

.mb-0-90 {
  margin-bottom: 0px
}

.mb-0-100 {
  margin-bottom: 0px
}

.mb-10-0 {
  margin-bottom: 10px
}

.mb-10-10 {
  margin-bottom: 10px
}

.mb-10-20 {
  margin-bottom: 10px
}

.mb-10-30 {
  margin-bottom: 10px
}

.mb-10-40 {
  margin-bottom: 10px
}

.mb-10-50 {
  margin-bottom: 10px
}

.mb-10-60 {
  margin-bottom: 10px
}

.mb-10-70 {
  margin-bottom: 10px
}

.mb-10-80 {
  margin-bottom: 10px
}

.mb-10-90 {
  margin-bottom: 10px
}

.mb-10-100 {
  margin-bottom: 10px
}

.mb-20-0 {
  margin-bottom: 20px
}

.mb-20-10 {
  margin-bottom: 20px
}

.mb-20-20 {
  margin-bottom: 20px
}

.mb-20-30 {
  margin-bottom: 20px
}

.mb-20-40 {
  margin-bottom: 20px
}

.mb-20-50 {
  margin-bottom: 20px
}

.mb-20-60 {
  margin-bottom: 20px
}

.mb-20-70 {
  margin-bottom: 20px
}

.mb-20-80 {
  margin-bottom: 20px
}

.mb-20-90 {
  margin-bottom: 20px
}

.mb-20-100 {
  margin-bottom: 20px
}

.mb-30-0 {
  margin-bottom: 30px
}

.mb-30-10 {
  margin-bottom: 30px
}

.mb-30-20 {
  margin-bottom: 30px
}

.mb-30-30 {
  margin-bottom: 30px
}

.mb-30-40 {
  margin-bottom: 30px
}

.mb-30-50 {
  margin-bottom: 30px
}

.mb-30-60 {
  margin-bottom: 30px
}

.mb-30-70 {
  margin-bottom: 30px
}

.mb-30-80 {
  margin-bottom: 30px
}

.mb-30-90 {
  margin-bottom: 30px
}

.mb-30-100 {
  margin-bottom: 30px
}

.mb-40-0 {
  margin-bottom: 40px
}

.mb-40-10 {
  margin-bottom: 40px
}

.mb-40-20 {
  margin-bottom: 40px
}

.mb-40-30 {
  margin-bottom: 40px
}

.mb-40-40 {
  margin-bottom: 40px
}

.mb-40-50 {
  margin-bottom: 40px
}

.mb-40-60 {
  margin-bottom: 40px
}

.mb-40-70 {
  margin-bottom: 40px
}

.mb-40-80 {
  margin-bottom: 40px
}

.mb-40-90 {
  margin-bottom: 40px
}

.mb-40-100 {
  margin-bottom: 40px
}

.mb-50-0 {
  margin-bottom: 50px
}

.mb-50-10 {
  margin-bottom: 50px
}

.mb-50-20 {
  margin-bottom: 50px
}

.mb-50-30 {
  margin-bottom: 50px
}

.mb-50-40 {
  margin-bottom: 50px
}

.mb-50-50 {
  margin-bottom: 50px
}

.mb-50-60 {
  margin-bottom: 50px
}

.mb-50-70 {
  margin-bottom: 50px
}

.mb-50-80 {
  margin-bottom: 50px
}

.mb-50-90 {
  margin-bottom: 50px
}

.mb-50-100 {
  margin-bottom: 50px
}

.mb-60-0 {
  margin-bottom: 60px
}

.mb-60-10 {
  margin-bottom: 60px
}

.mb-60-20 {
  margin-bottom: 60px
}

.mb-60-30 {
  margin-bottom: 60px
}

.mb-60-40 {
  margin-bottom: 60px
}

.mb-60-50 {
  margin-bottom: 60px
}

.mb-60-60 {
  margin-bottom: 60px
}

.mb-60-70 {
  margin-bottom: 60px
}

.mb-60-80 {
  margin-bottom: 60px
}

.mb-60-90 {
  margin-bottom: 60px
}

.mb-60-100 {
  margin-bottom: 60px
}

.mb-70-0 {
  margin-bottom: 70px
}

.mb-70-10 {
  margin-bottom: 70px
}

.mb-70-20 {
  margin-bottom: 70px
}

.mb-70-30 {
  margin-bottom: 70px
}

.mb-70-40 {
  margin-bottom: 70px
}

.mb-70-50 {
  margin-bottom: 70px
}

.mb-70-60 {
  margin-bottom: 70px
}

.mb-70-70 {
  margin-bottom: 70px
}

.mb-70-80 {
  margin-bottom: 70px
}

.mb-70-90 {
  margin-bottom: 70px
}

.mb-70-100 {
  margin-bottom: 70px
}

.mb-80-0 {
  margin-bottom: 80px
}

.mb-80-10 {
  margin-bottom: 80px
}

.mb-80-20 {
  margin-bottom: 80px
}

.mb-80-30 {
  margin-bottom: 80px
}

.mb-80-40 {
  margin-bottom: 80px
}

.mb-80-50 {
  margin-bottom: 80px
}

.mb-80-60 {
  margin-bottom: 80px
}

.mb-80-70 {
  margin-bottom: 80px
}

.mb-80-80 {
  margin-bottom: 80px
}

.mb-80-90 {
  margin-bottom: 80px
}

.mb-80-100 {
  margin-bottom: 80px
}

.mb-90-0 {
  margin-bottom: 90px
}

.mb-90-10 {
  margin-bottom: 90px
}

.mb-90-20 {
  margin-bottom: 90px
}

.mb-90-30 {
  margin-bottom: 90px
}

.mb-90-40 {
  margin-bottom: 90px
}

.mb-90-50 {
  margin-bottom: 90px
}

.mb-90-60 {
  margin-bottom: 90px
}

.mb-90-70 {
  margin-bottom: 90px
}

.mb-90-80 {
  margin-bottom: 90px
}

.mb-90-90 {
  margin-bottom: 90px
}

.mb-90-100 {
  margin-bottom: 90px
}

.mb-100-0 {
  margin-bottom: 100px
}

.mb-100-10 {
  margin-bottom: 100px
}

.mb-100-20 {
  margin-bottom: 100px
}

.mb-100-30 {
  margin-bottom: 100px
}

.mb-100-40 {
  margin-bottom: 100px
}

.mb-100-50 {
  margin-bottom: 100px
}

.mb-100-60 {
  margin-bottom: 100px
}

.mb-100-70 {
  margin-bottom: 100px
}

.mb-100-80 {
  margin-bottom: 100px
}

.mb-100-90 {
  margin-bottom: 100px
}

.mb-100-100 {
  margin-bottom: 100px
}

.mr-20 {
  margin-right: 20px
}

.content {
  margin-bottom: 60px
}
.content02 {
  margin-bottom: 15px
}

.content-area {
  max-width: 1480px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px
}

.content-area.content-area__s {
  max-width: 860px
}

.content-area.content-area__l {
  max-width: 1800px
}

[class*="ttl-"] {
  font-weight: bold;
  line-height: 1.3
}

[class*="ttl-"]:before {
  content: "";
  display: block;
  margin-top: -.3em
}

.ttl-01 {
  margin-bottom: 20px;
  font-size: 3rem;
  text-align: center
}

.ttl-02 {
  margin-bottom: 20px;
  font-size: 2.2rem
}

.ttl-03 {
  margin-bottom: 10px;
  font-size: 1.7rem
}

.txt-bold {
  font-weight: bold
}

.txt-white {
  color: #fff
}

.txt_sky {
  color: #02b9ef
}

.txt-l {
  font-size: 1.7rem
}

.txt-num {
  font-family: 'Oswald', sans-serif
}

.txt-left {
  text-align: left
}

.txt-center {
  text-align: center
}

.txt-right {
  text-align: right
}

.txt-link {
  display: inline;
  color: #ff77bd
}

.txt-link__inner {
  display: inline-block;
  transform: translateY(-2px);
  border-bottom: 1px solid;
  line-height: 1.3;
  transition: .4s
}

.txt-link.hover:hover .txt-link__inner {
  border-color: transparent
}

.txt-link__map {
  padding-left: 25px;
  background: url(../img/common/ico-map.png) left center no-repeat;
  background-size: contain
}

.btn {
  display: block;
  width: 100%;
  padding: 12px 0;
  border: 2px solid #e0e0e0;
  border-radius: 25px;
  color: #00205c;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.714;
  cursor: pointer;
  transition: .4s
}

.btn.hover:hover {
  border-color: #b0d4f8
}

.btn-02 {
  border-color: #02cbef;
  color: #fff
}

.btn-02.hover:hover {
  border-color: #62ddff
}

.btn-03 {
  border-color: transparent;
  color: #fff;
  background: #00205c
}

.btn-03.hover:hover {
  color: #00205c;
  border-color: #00205c;
  background: none
}

.btn-center {
  margin-right: auto;
  margin-left: auto
}

.tbl tr {
  border-bottom: 1px solid #e0e0e0
}

.tbl tr:first-child {
  border-top: 1px solid #e0e0e0
}

.tbl tr th, .tbl tr td {
  text-align: left;
  padding: 15px 20px
}

.tbl tr th {
  font-weight: bold;
  background: #e8f1f4
}

.tbl-02 tr {
  border-bottom: 1px solid #e0e0e0
}

.tbl-02 tr th {
  padding: 15px 20px 15px 0;
  font-weight: bold;
  white-space: nowrap
}

.tbl-02 tr td {
  width: 100%;
  padding: 15px 0
}

ol.list>li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 30px;
  counter-increment: ol
}

ol.list>li:before {
  content: counter(ol) ".";
  position: absolute;
  left: 0;
  top: 0
}

ol.list>li .list>li {
  counter-increment: olChild
}

ol.list>li .list>li:before {
  content: counter(olChild) "."
}

[class*="bg-"] {
  padding: 60px 0
}

.bg-01 {
  color: #fff;
  background: linear-gradient(120deg, #0288ef, #02cbef)
}

.bg-02 {
  background: linear-gradient(120deg, #bcd6f0, #e8f1f4)
}

.header {
  display: flex;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  padding: 15px 20px 17px;
  transition: .4s
}

.header:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff
}

.fix-contact__on .header {
  z-index: 99
}

.header-logo {
  margin-right: auto;
  display: flex;
}

.header-logo .header-logo__link {
  position: relative;
  width: 86px;
  background: #fff
}
.header-logo .header-logo__link.Type_2 {
  position: relative;
  width: 86px;
  background: none;
  margin-left: 10px;
}

.header-logo .header-logo__link img {
  transition: .4s
}

.header-logo .header-logo__link.hover:hover img {
  opacity: .5
}

.header-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center
}

.fix-header .pc-nav__link.hover>li:hover .pc-nav__sub-link {
  padding-top: 40px
}

.fix-header .header-content__language {
  display: none
}

.fix-header__on {
  transform: translateY(0) !important;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1)
}

@keyframes spnavFirstout {
  0% {
    width: 24px;
    background: #fff;
    transform: rotate(45deg)
  }
  40% {
    width: 20px;
    transform: rotate(0deg)
  }
  100% {
    background: #00205c
  }
}

@keyframes spnavCenterout {
  0% {
    width: 0;
    margin: -1px 0;
    background: #fff
  }
  40% {
    width: 0;
    margin: -1px 0
  }
  70% {
    width: 0;
    margin: 5px 0
  }
  100% {
    width: 20px;
    background: #00205c
  }
}

@keyframes spnavLastout {
  0% {
    width: 24px;
    background: #fff;
    transform: rotate(-45deg)
  }
  40% {
    width: 20px;
    transform: rotate(0deg)
  }
  100% {
    background: #00205c
  }
}

@keyframes spnavFirst {
  0% {
    width: 20px;
    transform: rotate(0deg);
    background: #00205c
  }
  60% {
    width: 20px;
    transform: rotate(0deg)
  }
  100% {
    widht: 24px;
    background: #fff;
    transform: rotate(45deg)
  }
}

@keyframes spnavCenter {
  0% {
    width: 20px;
    margin: 5px 0;
    background: #00205c
  }
  30% {
    width: 0;
    margin: 5px 0
  }
  60% {
    margin: -2px 0
  }
  100% {
    background: #fff
  }
}

@keyframes spnavLast {
  0% {
    width: 20px;
    transform: rotate(0deg);
    background: #00205c
  }
  60% {
    width: 20px;
    transform: rotate(0deg)
  }
  100% {
    width: 24px;
    background: #fff;
    transform: rotate(-45deg)
  }
}

.header-search {
  display: flex;
  margin-right: 15px
}

.header-search__trigger {
  position: relative;
  width: 38px;
  height: 38px;
  cursor: pointer
}

.header-search__trigger span {
  position: absolute;
  transition: .4s
}

.header-search__trigger span:first-child {
  left: 8px;
  top: 8px;
  width: 19px;
  height: 19px;
  border: 2px solid #00205c;
  border-radius: 100%
}

.header-search__trigger span:last-child {
  left: 23px;
  top: 25px;
  width: 6px;
  height: 2px;
  background: #00205c;
  transform: rotate(45deg)
}

.header-search__trigger.hover:hover span:first-child {
  border-color: #02b9ef !important
}

.header-search__trigger.hover:hover span:last-child {
  background: #02b9ef !important
}

.header-search__form {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: -1;
  transform: translateY(-100%);
  width: 100%;
  padding: 5px 30px 20px;
  transition: .4s
}

.header-search__form-ttl {
  margin-bottom: 10px;
  font-weight: normal;
  text-align: center
}

.header-search__form-input {
  width: 100%;
  padding: 11px 15px;
  border: 2px solid #e0e0e0;
  border-radius: 22px;
  font-size: 1.6rem;
  background: #fff
}

.header-search__on .header-search__trigger span {
  left: calc(50% - 12px);
  top: calc(50% - 1px);
  width: 24px
}

.header-search__on .header-search__trigger span:first-child {
  height: 0;
  border-bottom: none;
  border-radius: 0;
  transform: rotate(-45deg)
}

.header-search__on .header-search__form {
  transform: translateY(0);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1)
}

_::-webkit-full-page-media, _:future, :root .header-search__form {
  animation: none
}

@keyframes searchForm {
  0% {
    transform: translate(100%, -50%);
    opacity: 0
  }
  50% {
    transform: translate(100%, -50%);
    opacity: 0
  }
  100% {
    transform: translate(0, -50%);
    opacity: 1
  }
}

.header-content__language {
  position: relative;
  width: 100%;
  margin: -20px 0 5px
}

.header-content__language ul {
  display: flex;
  justify-content: flex-end;
  align-items: center
}

.header-content__language li:first-child {
  margin-right: 20px
}

.header-content__language a {
  display: flex;
  align-items: center;
  font-size: 1.3rem
}

.header-content__language a::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  color: inherit;
  transform: rotate(-45deg);
  transition: 0s
}

.header-content__language a.hover:hover {
  color: #02b9ef !important
}

@keyframes navOpen {
  0% {
    transform: translateX(100%);
    opacity: 0
  }
  50% {
    transform: translateX(100%);
    opacity: 0
  }
  100% {
    transform: translateX(0);
    opacity: 1
  }
}

@keyframes navClose {
  0% {
    transform: translateX(0);
    opacity: 1
  }
  50% {
    transform: translateX(100%);
    opacity: 0
  }
  100% {
    transform: translateX(100%);
    opacity: 0
  }
}

.footer {
  padding-top: 50px;
  text-align: center;
  background: #e8f1f4
}

.footer-inner {
  margin-bottom: 40px
}

.footer-detail-info {
  margin-bottom: 30px
}

.footer-detail-info__name {
  margin-bottom: 5px;
  font-weight: bold
}

.footer-detail-info__access {
  margin-bottom: 25px
}

.footer-detail-info__access span {
  display: block
}

.footer-detail-info__sns {
  display: flex;
  justify-content: center;
  align-items: center
}

.footer-detail-info__sns li:first-child {
  margin-right: 10px
}

.footer-detail-info__sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: 2px solid #cce0f1;
  border-radius: 100%
}

.footer-detail-info__sns li a img {
  width: 8px
}

.footer-detail-info__sns li:last-child a img {
  width: 15px
}

.footer-detail-info__sns.hover li a:hover {
  border-color: #90d6ed
}

.footer-detail-contact {
  margin-bottom: 40px
}

.footer-detail-contact__link {
  display: flex;
  justify-content: center;
  margin-bottom: 25px
}

.footer-detail-contact__link li {
  display: flex;
  align-items: center
}

.footer-detail-contact__link li .footer-detail-contact__link--ico {
  margin-right: 8px
}

.footer-detail-contact__link li .txt-link {
  color: #00205c
}

.footer-detail-contact__link li:first-child {
  margin-right: 30px
}

.footer-detail-contact__txt {
  margin-bottom: 24px;
  font-size: 1.2rem
}

.footer-detail-contact__txt span {
  display: block;
  padding-bottom: 5px;
  font-weight: bold
}

.footer-detail-contact__btn {
  width: 200px;
  border-color: #cce0f1
}

.footer-detail-contact__btn.hover:hover {
  border-color: #90d6ed
}

.footer-detail-mark {
  width: 102px;
  margin: 0 auto
}

.footer-copy {
  display: block;
  margin: 0 20px;
  padding: 16px 0;
  border-top: 1px solid #cce0f1;
  font-size: 1.2rem;
  text-align: center
}

.fix-contact {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 999;
  transform: translateY(calc(100% + 40px));
  width: 100%;
  transition: .4s
}

.fix-contact__scroll {
  transform: translateY(100%)
}

.fix-contact__trigger {
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100px;
  height: 40px;
  color: #fff;
  font-size: 1.2rem;
  background: #02b9ef;
  cursor: pointer
}

.fix-contact__trigger span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  transition: .4s
}

.fix-contact__trigger span:last-child {
  padding-left: 20px;
  opacity: 0
}

.fix-contact__trigger span:last-child:before, .fix-contact__trigger span:last-child:after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 1px;
  background: #fff
}

.fix-contact__trigger span:last-child:before {
  transform: translateY(-50%) rotate(45deg)
}

.fix-contact__trigger span:last-child:after {
  transform: translateY(-50%) rotate(-45deg)
}

.fix-contact__inner {
  padding: 20px 30px;
  background: #02b9ef
}

.fix-contact__on:before {
  opacity: .5;
  pointer-events: auto
}

.fix-contact__on .fix-contact {
  transform: translateY(0)
}

.fix-contact__on .fix-contact__trigger span:first-child {
  opacity: 0
}

.fix-contact__on .fix-contact__trigger span:last-child {
  opacity: 1
}

.sp-nav__on .fix-contact {
  opacity: 0 !important
}

.header-search__on .fix-contact {
  z-index: 99
}

.page-ttl {
  padding: 43px 0 60px
}

.page-ttl__txt {
  font-size: 3.4rem;
  text-align: center
}

.fadein {
  transform: translateY(60px);
  opacity: 0;
  transition: 1s ease-in-out
}

.fadein.scroll-active, .fadein.load-active {
  transform: translateY(0);
  opacity: 1
}

.appearance {
  position: relative;
  overflow: hidden
}

.appearance:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #e8f1f4;
  transition: .7s ease-in-out
}

.appearance__target {
  width: 100%;
  height: 100%;
  transform: scale(1.2);
  opacity: 0;
  filter: blur(5px);
  transition: 1s .5s ease-in-out
}

.load-active.appearance:before, .scroll-active.appearance:before {
  width: 100%
}

.load-active.appearance .appearance__target, .scroll-active.appearance .appearance__target {
  transform: scale(1);
  opacity: 1;
  filter: blur(0)
}

@media (min-width: 560px) {
  .hidden-s {
    display: none
  }
  .hidden-s {
    display: none !important
  }
  .txt-link__tel {
    pointer-events: none;
    color: #00205c
  }
  .txt-link__tel .txt-link__inner {
    border-color: transparent
  }
  .btn {
    max-width: 300px;
    border-width: 3px;
    border-radius: 30px
  }
  .tbl tr td {
    width: 100%;
    vertical-align: middle
  }
  .footer {
    text-align: left
  }
  .footer-detail {
    display: flex;
    align-items: flex-start
  }
  .footer-detail-info {
    margin: 0 30px 0 0
  }
  .footer-detail-info__sns {
    justify-content: flex-start
  }
  .footer-detail-contact {
    margin: 0 30px 0 0
  }
  .footer-detail-contact__link {
    display: block;
    margin-bottom: 13px
  }
  .footer-detail-contact__link li {
    font-size: 1.6rem
  }
  .footer-detail-contact__link li .footer-detail-contact__link--ico {
    margin-right: 13px
  }
  .footer-detail-contact__link li:first-child {
    margin: 0 0 4px 0
  }
  .footer-detail-contact__link li:first-child .footer-detail-contact__link--ico {
    margin-top: 0
  }
  .footer-detail-contact__link li:first-child a {
    pointer-events: none
  }
  .footer-detail-contact__link li:first-child a .txt-link {
    border-color: transparent
  }
  .footer-detail-mark {
    align-self: flex-end;
    width: 130px;
    margin: 0
  }
}

@media (min-width: 960px) {
  .hidden-m {
    display: none
  }
  .hidden-m {
    display: none !important
  }
  body {
    padding: 0 30px 30px 30px
  }
  .main {
    margin-bottom: 120px
  }
  .mb-0-0 {
    margin-bottom: 0px
  }
  .mb-0-10 {
    margin-bottom: 10px
  }
  .mb-0-20 {
    margin-bottom: 20px
  }
  .mb-0-30 {
    margin-bottom: 30px
  }
  .mb-0-40 {
    margin-bottom: 40px
  }
  .mb-0-50 {
    margin-bottom: 50px
  }
  .mb-0-60 {
    margin-bottom: 60px
  }
  .mb-0-70 {
    margin-bottom: 70px
  }
  .mb-0-80 {
    margin-bottom: 80px
  }
  .mb-0-90 {
    margin-bottom: 90px
  }
  .mb-0-100 {
    margin-bottom: 100px
  }
  .mb-10-0 {
    margin-bottom: 0px
  }
  .mb-10-10 {
    margin-bottom: 10px
  }
  .mb-10-20 {
    margin-bottom: 20px
  }
  .mb-10-30 {
    margin-bottom: 30px
  }
  .mb-10-40 {
    margin-bottom: 40px
  }
  .mb-10-50 {
    margin-bottom: 50px
  }
  .mb-10-60 {
    margin-bottom: 60px
  }
  .mb-10-70 {
    margin-bottom: 70px
  }
  .mb-10-80 {
    margin-bottom: 80px
  }
  .mb-10-90 {
    margin-bottom: 90px
  }
  .mb-10-100 {
    margin-bottom: 100px
  }
  .mb-20-0 {
    margin-bottom: 0px
  }
  .mb-20-10 {
    margin-bottom: 10px
  }
  .mb-20-20 {
    margin-bottom: 20px
  }
  .mb-20-30 {
    margin-bottom: 30px
  }
  .mb-20-40 {
    margin-bottom: 40px
  }
  .mb-20-50 {
    margin-bottom: 50px
  }
  .mb-20-60 {
    margin-bottom: 60px
  }
  .mb-20-70 {
    margin-bottom: 70px
  }
  .mb-20-80 {
    margin-bottom: 80px
  }
  .mb-20-90 {
    margin-bottom: 90px
  }
  .mb-20-100 {
    margin-bottom: 100px
  }
  .mb-30-0 {
    margin-bottom: 0px
  }
  .mb-30-10 {
    margin-bottom: 10px
  }
  .mb-30-20 {
    margin-bottom: 20px
  }
  .mb-30-30 {
    margin-bottom: 30px
  }
  .mb-30-40 {
    margin-bottom: 40px
  }
  .mb-30-50 {
    margin-bottom: 50px
  }
  .mb-30-60 {
    margin-bottom: 60px
  }
  .mb-30-70 {
    margin-bottom: 70px
  }
  .mb-30-80 {
    margin-bottom: 80px
  }
  .mb-30-90 {
    margin-bottom: 90px
  }
  .mb-30-100 {
    margin-bottom: 100px
  }
  .mb-40-0 {
    margin-bottom: 0px
  }
  .mb-40-10 {
    margin-bottom: 10px
  }
  .mb-40-20 {
    margin-bottom: 20px
  }
  .mb-40-30 {
    margin-bottom: 30px
  }
  .mb-40-40 {
    margin-bottom: 40px
  }
  .mb-40-50 {
    margin-bottom: 50px
  }
  .mb-40-60 {
    margin-bottom: 60px
  }
  .mb-40-70 {
    margin-bottom: 70px
  }
  .mb-40-80 {
    margin-bottom: 80px
  }
  .mb-40-90 {
    margin-bottom: 90px
  }
  .mb-40-100 {
    margin-bottom: 100px
  }
  .mb-50-0 {
    margin-bottom: 0px
  }
  .mb-50-10 {
    margin-bottom: 10px
  }
  .mb-50-20 {
    margin-bottom: 20px
  }
  .mb-50-30 {
    margin-bottom: 30px
  }
  .mb-50-40 {
    margin-bottom: 40px
  }
  .mb-50-50 {
    margin-bottom: 50px
  }
  .mb-50-60 {
    margin-bottom: 60px
  }
  .mb-50-70 {
    margin-bottom: 70px
  }
  .mb-50-80 {
    margin-bottom: 80px
  }
  .mb-50-90 {
    margin-bottom: 90px
  }
  .mb-50-100 {
    margin-bottom: 100px
  }
  .mb-60-0 {
    margin-bottom: 0px
  }
  .mb-60-10 {
    margin-bottom: 10px
  }
  .mb-60-20 {
    margin-bottom: 20px
  }
  .mb-60-30 {
    margin-bottom: 30px
  }
  .mb-60-40 {
    margin-bottom: 40px
  }
  .mb-60-50 {
    margin-bottom: 50px
  }
  .mb-60-60 {
    margin-bottom: 60px
  }
  .mb-60-70 {
    margin-bottom: 70px
  }
  .mb-60-80 {
    margin-bottom: 80px
  }
  .mb-60-90 {
    margin-bottom: 90px
  }
  .mb-60-100 {
    margin-bottom: 100px
  }
  .mb-70-0 {
    margin-bottom: 0px
  }
  .mb-70-10 {
    margin-bottom: 10px
  }
  .mb-70-20 {
    margin-bottom: 20px
  }
  .mb-70-30 {
    margin-bottom: 30px
  }
  .mb-70-40 {
    margin-bottom: 40px
  }
  .mb-70-50 {
    margin-bottom: 50px
  }
  .mb-70-60 {
    margin-bottom: 60px
  }
  .mb-70-70 {
    margin-bottom: 70px
  }
  .mb-70-80 {
    margin-bottom: 80px
  }
  .mb-70-90 {
    margin-bottom: 90px
  }
  .mb-70-100 {
    margin-bottom: 100px
  }
  .mb-80-0 {
    margin-bottom: 0px
  }
  .mb-80-10 {
    margin-bottom: 10px
  }
  .mb-80-20 {
    margin-bottom: 20px
  }
  .mb-80-30 {
    margin-bottom: 30px
  }
  .mb-80-40 {
    margin-bottom: 40px
  }
  .mb-80-50 {
    margin-bottom: 50px
  }
  .mb-80-60 {
    margin-bottom: 60px
  }
  .mb-80-70 {
    margin-bottom: 70px
  }
  .mb-80-80 {
    margin-bottom: 80px
  }
  .mb-80-90 {
    margin-bottom: 90px
  }
  .mb-80-100 {
    margin-bottom: 100px
  }
  .mb-90-0 {
    margin-bottom: 0px
  }
  .mb-90-10 {
    margin-bottom: 10px
  }
  .mb-90-20 {
    margin-bottom: 20px
  }
  .mb-90-30 {
    margin-bottom: 30px
  }
  .mb-90-40 {
    margin-bottom: 40px
  }
  .mb-90-50 {
    margin-bottom: 50px
  }
  .mb-90-60 {
    margin-bottom: 60px
  }
  .mb-90-70 {
    margin-bottom: 70px
  }
  .mb-90-80 {
    margin-bottom: 80px
  }
  .mb-90-90 {
    margin-bottom: 90px
  }
  .mb-90-100 {
    margin-bottom: 100px
  }
  .mb-100-0 {
    margin-bottom: 0px
  }
  .mb-100-10 {
    margin-bottom: 10px
  }
  .mb-100-20 {
    margin-bottom: 20px
  }
  .mb-100-30 {
    margin-bottom: 30px
  }
  .mb-100-40 {
    margin-bottom: 40px
  }
  .mb-100-50 {
    margin-bottom: 50px
  }
  .mb-100-60 {
    margin-bottom: 60px
  }
  .mb-100-70 {
    margin-bottom: 70px
  }
  .mb-100-80 {
    margin-bottom: 80px
  }
  .mb-100-90 {
    margin-bottom: 90px
  }
  .mb-100-100 {
    margin-bottom: 100px
  }
  .content {
    margin-bottom: 120px
  }
  .content02 {
    margin-bottom: 30px
  }

  .content-area {
    padding-right: 60px;
    padding-left: 60px
  }
  .content-area.content-area__s {
    max-width: 920px
  }
  .content-area.content-area__m {
    max-width: 1120px
  }
  .txt-left__m {
    text-align: left
  }
  .txt-center__m {
    text-align: center
  }
  .txt-right__m {
    text-align: right
  }
  .tbl tr th {
    white-space: nowrap
  }
  .tbl-02 tr th {
    padding: 22px 60px 22px 0
  }
  .tbl-02 tr td {
    padding: 22px 0
  }
  ol.list>li {
    margin-bottom: 15px;
    padding-left: 35px
  }
  [class*="bg-"] {
    padding: 120px 0
  }
  .header {
    padding: 10px 30px 10px 10px
  }
  .header-logo .header-logo__link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 100px
  }
  .header-logo .header-logo__link img {
    width: 100px
  }
  .fix-header .header-logo__link:not(:root) {
    height: 60px
  }
  .fix-header .header-logo__link.Type_2:not(:root) {
    width: 170px;
    height: 60px
  }
  .header-search {
    position: relative;
    margin-right: 0;
    top: 18px;
  }
  .header-search__trigger {
    z-index: 1
  }
  .header-search__trigger span:first-child {
    left: 6px;
    top: 6px;
    width: 22px;
    height: 22px;
    border-width: 3px !important
  }
  .header-search__trigger span:last-child {
    width: 8px;
    height: 3px
  }
  .header-search__form {
    display: flex;
    align-items: center;
    left: auto;
    right: calc(100% + 25px);
    top: 50%;
    z-index: 0;
    transform: translate(100%, -50%);
    width: 655px;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    animation: searchClose 1.2s
  }
  .header-search__form-ttl {
    margin: 0 30px 0 0;
    white-space: nowrap
  }
  .header-search__form-input {
    width: 500px
  }
  .header-search__on .header-search__trigger span {
    left: calc(50% - 15px);
    top: calc(50% - 2px);
    width: 30px
  }
  .header-search__on .header-search__form {
    transform: translate(0, -50%);
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    animation: searchForm 1.2s
  }
  .pc-nav {
    position: relative;
    z-index: 0;
    margin-right: 30px;
    animation: navOpen 1.2s
  }
  .header-search__on .pc-nav {
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
    animation: navClose 1.2s
  }
  .pc-nav__link {
    display: flex;
    align-items: flex-end;  
  }
  .pc-nav__link li {
    position: relative;
    text-align: center;
    padding: 24px 0px;
/*
    padding: 24px 20px;
*/
  }
  .pc-nav__link ul li:nth-child(3) {
    padding-top: 0px;
  }
  .pc-nav__link li a {
    font-weight: bold;
    padding-right: 11px;
    padding-left: 11px;
  }
  .pc-nav__sub-link {
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: -1;
    transform: translate(-50%, -10%);
    width: 260px;
    opacity: 0;
    pointer-events: none;
    transition: .4s
  }
  .pc-nav__sub-link ul {
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1)
  }
  .pc-nav__sub-link ul li a {
    padding: 9px 0;
    text-align: center
  }
  .pc-nav__sub-link ul li:not(:last-child) a {
    border-bottom: 1px solid #e0e0e0
  }
  .pc-nav__link.hover>li:hover .pc-nav__sub-link {
    transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto
  }
  .pc-nav__link.hover li:hover>a {
    color: #02b9ef !important
  }
  .pc-nav__link.hover li:hover>a.pick_color {
    color: #8a0000 !important
  }
  .footer {
    padding-top: 115px
  }
  .footer-inner {
    margin-bottom: 55px
  }
  .footer-detail-contact__btn {
    padding: 3px 0
  }
  .footer-link {
    display: flex;
    margin-bottom: 60px;
    white-space: nowrap
  }
  .footer-link.hover a:hover {
    color: #68c0dd
  }
  .footer-link__list:not(:last-child) {
    margin-right: 20px
  }
  .footer-link__list li, .footer-link__list a {
    margin-bottom: 10px;
    letter-spacing: 0;
    font-size: 1.4rem
  }
  .footer-link__sub-list {
    display: flex
  }
  .footer-link__sub-list ul:not(:last-child) {
    margin-right: 15px
  }
  .footer-link__sub-list ul li a {
    color: #767b8d
  }
  .fix-contact {
    left: auto;
    right: 0;
    transform: translateX(100%) translateX(60px);
    width: auto;
    height: 100%
  }
  .fix-contact__scroll {
    transform: translatex(100%)
  }
  .fix-contact__scroll.hover:hover {
    transform: translateX(100%) translateX(-30px)
  }
  .fix-contact__trigger {
    left: auto;
    right: calc(100% - 70px);
    bottom: calc(50% - 30px);
    transform: rotate(-90deg);
    width: 200px;
    height: 60px;
    font-size: 1.8rem;
    letter-spacing: 1px
  }
  .fix-contact__trigger span:last-child {
    padding-left: 35px
  }
  .fix-contact__trigger span:last-child:before, .fix-contact__trigger span:last-child:after {
    width: 18px;
    height: 2px
  }
  .fix-contact__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0 60px
  }
  .fix-contact__inner * {
    color: #fff
  }
  .fix-contact__on .fix-contact {
    transform: translateX(0) !important
  }
  .fix-contact__inner-ttl {
    margin-bottom: 65px;
    font-size: 3rem;
    font-weight: bold
  }
  .fix-contact__inner-access {
    margin-bottom: 40px
  }
  .fix-contact__inner-access--name {
    margin-bottom: 5px;
    font-size: 2rem;
    font-weight: bold
  }
  .fix-contact__inner-access--txt {
    font-size: 1.8rem
  }
  .fix-contact__inner-link {
    margin-bottom: 25px
  }
  .fix-contact__inner-link li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    font-size: 2.4rem
  }
  .fix-contact__inner-link li .fix-contact__inner-link--ico {
    margin-right: 20px;
    font-size: 2.8rem
  }
  .fix-contact__inner-link li .txt-link {
    border-color: #fff
  }
  .fix-contact__inner-info {
    margin-bottom: 55px;
    font-size: 1.6rem
  }
  .fix-contact__inner-info span {
    display: block;
    font-weight: bold
  }
  .fix-contact__inner-btn {
    border-color: #02cbef;
    font-size: 1.8rem
  }
  .fix-contact__inner-btn.hover:hover {
    border-color: #90d6ed
  }
  .page-ttl {
    padding: 95px 0 165px
  }
  .page-ttl__txt {
    font-size: 6rem
  }
}

@media (min-width: 1200px) {
  .hidden-l {
    display: none
  }
  .hidden-l {
    display: none !important
  }
  body {
    font-size: 1.8rem;
    line-height: 1.833
  }
  .content-area {
    padding-right: 90px;
    padding-left: 90px
  }
  .content-area.content-area__s {
    max-width: 980px
  }
  .content-area.content-area__m {
    max-width: 1180px
  }
  .ttl-01 {
    margin-bottom: 40px;
    font-size: 5rem
  }
  .ttl-02 {
    margin-bottom: 30px;
    font-size: 3.6rem
  }
  .ttl-03 {
    margin-bottom: 15px;
    font-size: 2.4rem
  }
  .txt-l {
    font-size: 2.4rem
  }
  .txt-link__map {
    font-size: 1.6rem
  }
  .btn {
    font-size: 1.8rem;
    line-height: 1.833
  }
  .tbl tr th, .tbl tr td {
    padding: 20px 30px;
    line-height: 1.6666
  }
  .tbl-02 tr td {
    line-height: 1.66666
  }
  .header {
    padding-right: 60px
  }
  .header-logo .header-logo__link {
    width: 280px;
    height: 160px
  }
  .header-logo .header-logo__link.Type_2 {
    width: 250px;
    height: 160px
  }
  .header-logo .header-logo__link img {
    width: 130px
  }
  .header-logo .header-logo__link.Type_2 img {
    width: 160px
  }
  .footer-inner {
    display: flex;
    align-items: flex-start
  }
  .footer-detail {
    justify-content: flex-end;
    width: 55%
  }
  .footer-detail-info__name {
    font-size: 1.6rem
  }
  .footer-detail-info__access {
    font-size: 1.6rem
  }
  .footer-detail-info__access span {
    margin-top: 8px;
    font-size: 1.4rem
  }
  .footer-detail-contact__txt {
    font-size: 1.4rem
  }
  .footer-detail-contact__txt span {
    padding-bottom: 0
  }
  .footer-detail-contact__btn {
    border-width: 2px;
    font-size: 1.6rem
  }
  .footer-copy {
    margin: 0;
    padding: 33px 0;
    font-size: 1.4rem
  }
}

@media (min-width: 1500px) {
  .hidden-xl {
    display: none
  }
  .hidden-xl {
    display: none !important
  }
  .header-search__form-input {
    width: 615px
  }
  .footer-detail {
    width: 50%;
    padding-left: 90px
  }
  .footer-detail-info__access {
    margin-bottom: 40px
  }
}

@media (max-width: 559px) {
  .visibility-s {
    display: none
  }
  .visibility-s {
    display: none !important
  }
  .tbl tr th, .tbl tr td {
    display: block
  }
  .footer .content-area {
    padding: 0
  }
  .footer-detail-contact__btn {
    margin-right: auto;
    margin-left: auto
  }
}

@media (max-width: 959px) {
  .visibility-m {
    display: none
  }
  .visibility-m {
    display: none !important
  }
  .sp-nav__trigger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    width: 38px;
    height: 38px
  }
  .sp-nav__trigger span {
    display: block;
    width: 20px;
    height: 2px;
    background: #00205c
  }
  .sp-nav__trigger span:nth-child(1) {
    transform: rotate(0deg);
    animation: spnavFirstout 1s
  }
  .sp-nav__trigger span:nth-child(2) {
    margin: 5px 0;
    animation: spnavCenterout 1s
  }
  .sp-nav__trigger span:nth-child(3) {
    transform: rotate(0deg);
    animation: spnavLastout 1s
  }
  .sp-nav__on .sp-nav__trigger span {
    width: 24px;
    background: #fff
  }
  .sp-nav__on .sp-nav__trigger span:nth-child(1) {
    transform: rotate(45deg);
    animation: spnavFirst 1s
  }
  .sp-nav__on .sp-nav__trigger span:nth-child(2) {
    width: 0;
    margin: -2px 0;
    animation: spnavCenter 1s
  }
  .sp-nav__on .sp-nav__trigger span:nth-child(3) {
    transform: rotate(-45deg);
    animation: spnavLast 1s
  }
  .sp-nav {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    padding: 25px 80px 120px 30px;
    background: linear-gradient(#0288ef, #02cbef);
    transform: scale(1.1);
    opacity: 0;
    pointer-events: none;
    transition: 1s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
  }
  .sp-nav__on .sp-nav {
    transform: scale(1);
    opacity: 1;
    pointer-events: auto
  }
  .sp-nav__language {
    margin-bottom: 15px;
    display: flex
  }
  .sp-nav__language li:first-child {
    margin-right: 20px
  }
  .sp-nav__language a {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 1.3rem
  }
  .sp-nav__language a::before {
    content: "";
    display: block;
    transform: rotate(-45deg);
    width: 5px;
    height: 5px;
    margin-right: 10px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff
  }
  .sp-nav__link a {
    padding: 14px 0;
    border-bottom: 1px solid #02cbef;
    color: #fff;
    font-size: 1.6rem
  }
  .sp-nav__sub-link {
    padding-left: 30px
  }
  .header-search__form {
    background: #fff
  }
  .header-search__on:before {
    opacity: .5;
    pointer-events: auto
  }
  .fix-contact__inner-sp li {
    margin-bottom: 10px
  }
  .fix-contact__inner-sp li a {
    padding: 10px 0;
    color: #fff;
    border-color: #02cbef;
    font-size: 1.6rem;
    text-indent: -.5em
  }
  .fix-contact__inner-sp li a span {
    margin-right: 10px
  }
}

@media (max-width: 1199px) {
  .visibility-l {
    display: none
  }
  .visibility-l {
    display: none !important
  }
}

@media (max-width: 1499px) {
  .visibility-xl {
    display: none
  }
  .visibility-xl {
    display: none !important
  }
}

@media (min-width: 960px) and (min-width: 1200px) {
  .pc-nav__link li a {
    font-size: 1.4rem;
    padding-right: 10px;
    padding-left: 10px;
  }
  .footer-link {
    width: 45%;
    margin-bottom: 0
  }
  .footer-link__sub-list {
    flex-direction: column
  }
  .footer-link__sub-list ul:not(:last-child) {
    margin: 0 0 10px 0
  }
}

@media (min-width: 960px) and (min-width: 1500px) {
  .pc-nav__link li a {
    padding-right: 15px;
    padding-left: 15px;
/*
    padding-right: 30px;
    padding-left: 30px
*/
  }
  .footer-link {
    width: 50%
  }
  .footer-link__list li, .footer-link__list a {
    margin-bottom: 15px;
    font-size: 1.6rem
  }
  .footer-link__sub-list {
    flex-direction: row
  }
}
@media (min-width: 1900px) {
  .pc-nav__link li {
    padding-left: 10px;
    padding-right: 10px;
  }
  .pc-nav__link li a {
    font-size: 1.8rem;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (max-width: 374px) {
  .footer-detail-contact__link {
    display: block
  }
  .footer-detail-contact__link li {
    justify-content: center
  }
  .footer-detail-contact__link li:first-child {
    margin: 0 0 10px 0
  }
}

@media (min-width: 960px) and (min-width: 1920px) {
  .footer-link__list:not(:last-child) {
    margin-right: 50px
  }
  .footer-link__sub-list ul:not(:last-child) {
    margin: 0 25px 0 0
  }
}