@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  color: #333333;
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  font-size: min(1.25vw, 18px);
  letter-spacing: 0.05em;
  font-weight: 400;
}

img {
  max-width: 100%;
}


.noto-serif {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.mincho {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}


.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

a {
  text-decoration: none;
  color: #333333;
  -webkit-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}
@media print, screen and (min-width: 780px) {
  a:hover {
    -webkit-transition: opacity ease 0.4s;
    transition: opacity ease 0.4s;
    opacity: 0.7;
    color: #0055A1;
  }
}

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

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

.inner {
  max-width: min(73.611vw, 1060px);
  width: 100%;
  margin: 0 auto;
  padding: 0 min(1.389vw, 20px);
}
@media only screen and (max-width: 779px) {
  .inner {
    padding: 0 5.135vw;
    max-width: none;
  }
}

.black {
  color: #333333;
}

.blue {
  color: #0055A1;
}

.white {
  color: #fff;
}

p.img {
  text-align: center;
}

.btn {
  text-align: center;
}
.btn a {
  font-weight: 500;
  font-size: min(1.389vw, 20px);
  color: #fff;
  text-align: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-image: -webkit-linear-gradient(0deg, rgb(0, 182, 227) 0%, rgb(5, 132, 193) 68%, rgb(89, 118, 186) 100%);
  background-image: -ms-linear-gradient(0deg, rgb(0, 182, 227) 0%, rgb(5, 132, 193) 68%, rgb(89, 118, 186) 100%);
  padding: 1.6em min(5.556vw, 80px);
  border-radius: 50px;
  -webkit-box-shadow: 10px 10px 10px rgba(0, 47, 74, 0.15);
          box-shadow: 10px 10px 10px rgba(0, 47, 74, 0.15);
}
@media only screen and (max-width: 779px) {
  .btn a {
    font-size: 4.621vw;
    width: 100%;
    padding: 1.5em 0;
  }
}
.btn a:after {
  content: "";
  background: url(../img/arrow.svg) no-repeat;
  width: 19px;
  height: 19px;
  display: inline-block;
  margin-left: 0.5em;
}
@media only screen and (max-width: 779px) {
  .btn a:after {
    width: 1em;
    height: 1em;
    background-size: contain !important;
  }
}
.btn__type02 a {
  font-weight: 300;
  font-size: min(1.389vw, 20px);
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.4em 0;
  border-bottom: 1px solid #000;
}
.btn__type02 a:after {
  content: "";
  background: url(../img/arrow_blue.svg) no-repeat;
  width: 19px;
  height: 19px;
  display: inline-block;
  margin-left: 0.5em;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.btn__type03 a {
  font-weight: 500;
  font-size: min(1.389vw, 20px);
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #cccccc;
  padding: 1.5em 0;
  width: 100%;
}
@media only screen and (max-width: 779px) {
  .btn__type03 a {
    font-size: 4.621vw;
  }
}
.btn__type03 a:after {
  content: "";
  background: url(../img/arrow_blue.svg) no-repeat;
  width: 19px;
  height: 19px;
  display: inline-block;
  margin-left: 0.5em;
}
@media print, screen and (min-width: 780px) {
  .btn__type03 a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .btn__type03 a:hover {
    background-color: #0055A1;
    color: #fff;
    opacity: 1;
  }
  .btn__type03 a:hover:after {
    background: url(../img/arrow.svg) no-repeat;
  }
}
.btn__sns01 a {
  background: #e42372;
}
.btn__sns01 a:after {
  background: url(../img/arrow_pink.svg) no-repeat;
}
.btn__sns02 a {
  background: #1877f2;
}
.btn__yt a {
  background: #df1616;
}
.btn__yt a:after {
  background: url(../img/arrow_red.svg) no-repeat;
}

html {
  height: -webkit-fill-available;
}

.loaderWrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 999;
}

.loader {
  color: #0055A1;
  font-size: 60px;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 72px auto;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}

@-webkit-keyframes load6 {
  0% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%, 95% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%, 59% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@keyframes load6 {
  0% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%, 95% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%, 59% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
            box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.header {
  font-weight: 400;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 779px) {
  .header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #fff;
    z-index: 9;
  }
}
.header .active-PC__logo {
  display: none;
}
.header.active-PC {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 5;
  -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.08);
          box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.08);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header.active-PC.header__top {
  padding-left: min(2.083vw, 30px);
}
.header.active-PC .active-PC__logo {
  display: block;
  width: min(12.083vw, 174px);
  margin-right: min(6.25vw, 90px);
}
.header.active-PC .header__content {
  height: 93px;
  position: static;
}
.header.active-PC .header__content li {
  height: 100%;
}
.header.active-PC .header__content li a {
  height: 100%;
  padding: 0;
  display: grid;
  place-content: center;
  width: min(15.764vw, 227px);
}
.header p.forPC {
  display: block;
  width: min(12.083vw, 174px);
  margin-right: min(6.25vw, 90px);
}
@media only screen and (max-width: 779px) {
  .header p.forSP {
    width: 71.887vw;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 779px) {
  .header nav {
    padding: 0 12.837vw;
  }
}
.header nav ul {
  padding: min(2.083vw, 30px) 0;
}
@media only screen and (max-width: 779px) {
  .header nav ul {
    display: block;
  }
}
.header nav ul li a {
  display: block;
  position: relative;
  padding: 0.3em 1em 0.3em 0;
  margin-right: 1em;
  border-right: 1px solid #eee;
  font-weight: 600;
}
@media only screen and (max-width: 779px) {
  .header nav ul li a {
    font-size: 3.594vw;
    padding: 1.4em 0;
    border-right: none;
    border-bottom: 1px solid #eee;
  }
}
.header nav ul li:last-child a {
  border: none;
}
.header__content {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media only screen and (max-width: 779px) {
  .header__content {
    position: static;
    display: block;
    padding: 0 12.837vw;
  }
}
.header__content li a {
  background-color: #0055A1;
  color: #fff;
  display: grid;
  place-content: center;
  width: min(15.764vw, 227px);
  height: min(7.639vw, 110px);
}
@media print, screen and (min-width: 780px) {
  .header__content li a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .header__content li a:hover {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
    -webkit-filter: brightness(1.2);
            filter: brightness(1.2);
    opacity: 1;
  }
}
@media only screen and (max-width: 779px) {
  .header__content li a {
    width: 100%;
    height: 14.121vw;
    font-size: 3.594vw;
    padding: 1.5em 0;
    text-align: center;
  }
}
@media only screen and (max-width: 779px) {
  .header__content li:last-child {
    padding-top: 2.567vw;
  }
}
.header__content li:last-child a {
  border-left: 1px solid #fff;
}
@media only screen and (max-width: 779px) {
  .header__content li:last-child a {
    border: none;
  }
}
.header__top {
  padding-left: min(4.167vw, 60px);
}
@media only screen and (max-width: 779px) {
  .header__top {
    padding: 12.837vw 0 0;
  }
}

.header__sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  display: none;
}
.header__sticky .flex {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
}
.header__sticky .flex p {
  width: 29.012vw;
  padding-left: 2.567vw;
  display: none;
}
.header__sticky.on p {
  display: block;
}

.openbtnWrap {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
}

.openbtn {
  /*ボタン内側の基点となるためrelativeを指定。
  追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
  position: relative;
  background: #0055A1;
  cursor: pointer;
  width: 16.431vw;
  height: 16.431vw;
}

/*ボタン内側*/
.openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s; /*アニメーションの設定*/
  position: absolute;
  left: 4.493vw;
  height: 1px;
  border-radius: 5px;
  background: #fff;
  width: 7.702vw;
}

.openbtn span:nth-of-type(1) {
  top: 3.851vw;
}

.openbtn span:nth-of-type(2) {
  top: 5.777vw;
}

.openbtn span:nth-of-type(3) {
  top: 7.702vw;
}

.openbtn span:nth-of-type(3)::after {
  content: "Menu"; /*3つ目の要素のafterにMenu表示を指定*/
  position: absolute;
  top: 1.926vw;
  left: 0;
  color: #fff;
  font-size: 2.696vw;
  width: 100%;
  text-align: center;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
.openbtn.active {
  background: #333333;
}

.openbtn.active span:nth-of-type(1) {
  top: 14px;
  left: 4.493vw;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 7.702vw;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  top: 26px;
  left: 4.493vw;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 7.702vw;
}

.openbtn.active span:nth-of-type(3)::after {
  content: "Close"; /*3つ目の要素のafterにClose表示を指定*/
  -webkit-transform: translateY(0) rotate(-45deg);
          transform: translateY(0) rotate(-45deg);
  top: 3.081vw;
  left: 4.493vw;
}

.sns {
  background-color: #eae5e3;
  padding: min(9.028vw, 130px) 0 min(8.333vw, 120px);
  position: relative;
}
@media only screen and (max-width: 779px) {
  .sns {
    padding: 12.837vw 0 14.121vw;
  }
}
.sns:before {
  content: "";
  display: block;
  height: 330px;
  background-color: #eae5e3;
  position: absolute;
  top: -330px;
  left: 0;
  width: 100%;
  z-index: 1;
}
.sns h2 {
  font-size: min(4.167vw, 60px);
  font-weight: 500;
}
@media only screen and (max-width: 779px) {
  .sns h2 {
    font-size: 10.27vw;
  }
}
.sns p {
  font-size: min(1.667vw, 24px);
  color: #333;
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 779px) {
  .sns p {
    font-size: 4.878vw;
    margin-bottom: 1.5em;
  }
}
.sns .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: min(44.444vw, 640px);
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 779px) {
  .sns .flex {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 52.118vw;
    max-width: none;
  }
}
.sns .flex li {
  width: min(9.722vw, 140px);
}
@media only screen and (max-width: 779px) {
  .sns .flex li {
    max-width: 23.877vw;
    margin-bottom: 4.878vw;
    width: 100%;
  }
}
@media only screen and (max-width: 779px) {
  .sns .flex li:nth-child(3), .sns .flex li:last-child {
    margin-bottom: 0;
  }
}
.sns .flex li span {
  display: block;
  font-size: min(1.25vw, 18px);
  padding-top: 1em;
  color: #333;
  font-weight: 400;
}
@media only screen and (max-width: 779px) {
  .sns .flex li span {
    font-size: 3.081vw;
    padding-top: 0.5em;
  }
}
.sns .btn__yt {
  padding: min(3.819vw, 55px) 0 0;
  margin-bottom: 0;
}
@media only screen and (max-width: 779px) {
  .sns .btn__yt {
    padding-top: 6.418vw;
  }
}
@media only screen and (max-width: 779px) {
  .sns .btn__yt a {
    width: 79.589vw;
  }
}

.footer {
  background-image: -webkit-linear-gradient(0deg, rgb(0, 182, 227) 0%, rgb(5, 132, 193) 68%, rgb(89, 118, 186) 100%);
  background-image: -ms-linear-gradient(0deg, rgb(0, 182, 227) 0%, rgb(5, 132, 193) 68%, rgb(89, 118, 186) 100%);
  color: #fff;
  padding: min(6.667vw, 96px) 0 min(5.556vw, 80px);
}
@media only screen and (max-width: 779px) {
  .footer {
    padding: 12.837vw 0 10.27vw;
  }
}
@media print, screen and (min-width: 780px) {
  .footer .inner {
    max-width: min(50vw, 720px);
  }
}
@media only screen and (max-width: 779px) {
  .footer .inner {
    max-width: 100%;
  }
}
.footer__content {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 min(1.389vw, 20px);
  margin-bottom: min(3.889vw, 56px);
}
@media only screen and (max-width: 779px) {
  .footer__content {
    max-width: 66.752vw;
    width: 100%;
    margin: 0 auto 8.986vw;
    padding: 0;
    display: block;
  }
}
@media print, screen and (min-width: 780px) {
  .footer__content .left h2 {
    width: min(19.514vw, 281px);
  }
}
@media only screen and (max-width: 779px) {
  .footer__content .left h2 {
    margin-bottom: 4.493vw;
  }
}
.footer__content .right .address {
  font-size: min(1.111vw, 16px);
  margin-bottom: 0.8em;
  line-height: 2;
}
@media only screen and (max-width: 779px) {
  .footer__content .right .address {
    font-size: 3.851vw;
  }
}
.footer__content .right .tel {
  font-size: min(2.083vw, 30px);
}
@media only screen and (max-width: 779px) {
  .footer__content .right .tel {
    font-size: 6.932vw;
  }
}
.footer__content .right .tel span {
  font-size: min(1.389vw, 20px);
}
@media only screen and (max-width: 779px) {
  .footer__content .right .tel span {
    font-size: 4.621vw;
  }
}
.footer__content .right .mail {
  text-align: center;
}
.footer__content .right .mail span {
  font-size: min(1.389vw, 20px);
}
@media only screen and (max-width: 779px) {
  .footer__content .right .mail span {
    font-size: 4.621vw;
  }
}
.footer__content .right .mail a {
  color: #fff;
  font-size: min(1.389vw, 20px);
}
@media only screen and (max-width: 779px) {
  .footer__content .right .mail a {
    font-size: 3.851vw;
  }
}
.footer__content__02 .left h2 {
  margin: 0 auto;
}
.footer__nav {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: min(2.083vw, 30px);
}
@media only screen and (max-width: 779px) {
  .footer__nav {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2.567vw;
  }
}
@media only screen and (max-width: 779px) {
  .footer__nav li {
    width: 33.333%;
    text-align: center;
    margin-bottom: 4.493vw;
  }
}
.footer__nav li a {
  color: #fff;
  font-size: min(1.25vw, 18px);
}
@media only screen and (max-width: 779px) {
  .footer__nav li a {
    font-size: 3.851vw;
  }
}
.footer__nav__02 {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 779px) {
  .footer__nav__02 li {
    margin-bottom: 0;
    width: 38%;
  }
}
.footer__nav__02 li a {
  font-size: min(0.972vw, 14px);
}
@media only screen and (max-width: 779px) {
  .footer__nav__02 li a {
    font-size: 2.824vw;
  }
}
.footer__nav__02 li:first-child {
  margin-right: 1.8em;
}

.copyright {
  background-color: #0055A1;
  text-align: center;
  color: #fff;
  font-size: min(0.972vw, 14px);
  padding: 1.2em 0;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 779px) {
  .copyright {
    font-size: 2.567vw;
    padding: 1.8em 0;
  }
}

.lower .header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: min(2.778vw, 40px);
}
@media only screen and (max-width: 779px) {
  .lower .header {
    display: none;
  }
}
.lower .header__content {
  position: static;
}
.lower .header__content li a {
  padding: 2em 3em;
}
@media only screen and (max-width: 779px) {
  .lower .header__sticky {
    display: block;
  }
}
@media only screen and (max-width: 779px) {
  .lower .header__sticky .flex p {
    display: block;
  }
}
.lower .mv {
  background-image: -webkit-linear-gradient(0deg, rgb(89, 118, 186) 0%, rgb(5, 132, 193) 32%, rgb(0, 182, 227) 100%);
  background-image: -ms-linear-gradient(0deg, rgb(89, 118, 186) 0%, rgb(5, 132, 193) 32%, rgb(0, 182, 227) 100%);
  height: min(18.75vw, 270px);
  width: 100%;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 779px) {
  .lower .mv {
    height: 35.302vw;
  }
}
.lower .mv h1 {
  font-size: min(4.722vw, 68px);
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 779px) {
  .lower .mv h1 {
    font-size: 9.499vw;
  }
}
.lower .mv h1 span {
  font-size: min(1.667vw, 24px);
  display: block;
  padding-top: 1em;
}
@media only screen and (max-width: 779px) {
  .lower .mv h1 span {
    font-size: 3.851vw;
  }
}
.lower .sns {
  text-align: center;
  padding: min(6.944vw, 100px) 0;
}
@media only screen and (max-width: 779px) {
  .lower .sns {
    padding: 12.837vw 0 14.121vw;
  }
}
.lower .sns:before {
  display: none;
}
.lower .sns h2 {
  margin-bottom: 0.4em;
}