@charset "UTF-8";
/* ====================================================================================

    ITEMS

==================================================================================== */
.Title--anm--1 {
  -webkit-clip-path: inset(0 50% 0 50%);
  clip-path: inset(0 50% 0 50%);
  transition: -webkit-clip-path 3s ease-out;
  transition: clip-path 3s ease-out;
  transition: clip-path 3s ease-out, -webkit-clip-path 3s ease-out;
}
.Title--anm--1.active {
  -webkit-clip-path: inset(0 0% 0 0%);
  clip-path: inset(0 0% 0 0%);
}
.Title--1 {
  padding-left: 45px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Title--1 {
    padding-left: 2.34375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--1 {
    padding-left: 11.5384615385vw  ;
  }
}
.Title--1 > span {
  display: block;
  line-height: 1.4;
}
.Title--1 > span + span {
  margin-top: 5px  ;
}
@media only screen and (max-width: 1920px) {
  .Title--1 > span + span {
    margin-top: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--1 > span + span {
    margin-top: 1.2820512821vw  ;
  }
}
.Title--1:before {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  top: 12px  ;
  left: -3px  ;
  font-size: 3rem;
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media only screen and (max-width: 1920px) {
  .Title--1:before {
    top: 0.625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--1:before {
    top: 3.0769230769vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Title--1:before {
    left: -0.15625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--1:before {
    left: -0.7692307692vw  ;
  }
}
.Title--1.active .eachTextAnime span {
  opacity: 1;
}
.Title--1.active:before {
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .Title--1 {
    padding-left: 7.6923076923vw;
  }
  .Title--1:before {
    top: 2.0512820513vw;
    left: 0;
    font-size: 1.8rem;
  }
}
.Title--big {
  color: #f1f1f1;
  font-size: 22.8rem;
  letter-spacing: 1rem;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: -165px  ;
  line-height: 1;
  z-index: -1;
  pointer-events: none;
}
@media only screen and (max-width: 1920px) {
  .Title--big {
    left: -8.59375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--big {
    left: -42.3076923077vw  ;
  }
}
.Title--big.right {
  right: -165px  ;
  left: auto;
}
@media only screen and (max-width: 1920px) {
  .Title--big.right {
    right: -8.59375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--big.right {
    right: -42.3076923077vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Title--big {
    left: -6.4102564103vw;
    font-size: 8rem;
    top: 12.8205128205vw;
    letter-spacing: 0.5rem;
  }
  .Title--big.right {
    left: auto;
    right: -6.4102564103vw;
  }
}

.Button--1 {
  padding: 12px 80px 12px 0px  ;
  line-height: 1.2;
  display: inline-block;
  color: #00428D;
  border-bottom: solid #00428D;
  border-width: 3px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Button--1 {
    padding: 0.625vw 4.1666666667vw 0.625vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Button--1 {
    padding: 3.0769230769vw 20.5128205128vw 3.0769230769vw 0vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Button--1 {
    border-width: 0.15625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Button--1 {
    border-width: 0.7692307692vw  ;
  }
}
.Button--1:after {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  bottom: 12px  ;
  right: 0;
  transform-origin: left bottom;
}
@media only screen and (max-width: 1920px) {
  .Button--1:after {
    bottom: 0.625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Button--1:after {
    bottom: 3.0769230769vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Button--1:after {
    transition: transform 0.4s ease;
  }
  .Button--1:hover:after {
    transform: scale(2);
  }
}
@media only screen and (max-width: 768px) {
  .Button--1 {
    padding: 2.0512820513vw 8.9743589744vw 2.0512820513vw 0;
    font-size: 1.2rem;
  }
  .Button--1:after {
    bottom: 2.0512820513vw;
  }
}
.Button--top {
  padding-top: 30px  ;
  display: inline-block;
  color: #E3007F;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Button--top {
    padding-top: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Button--top {
    padding-top: 7.6923076923vw  ;
  }
}
.Button--top:after {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
}
@media only screen and (min-width: 769px) {
  .Button--top:after {
    transition: transform 0.4s ease;
  }
  .Button--top:hover:after {
    transform: translate(5px, -5px) scale(1.4);
  }
}

/* ====================================================================================

    HEADER

==================================================================================== */
.Header {
  padding: 35px 50px  ;
  background: #fff;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1000;
}
@media only screen and (max-width: 1920px) {
  .Header {
    padding: 1.8229166667vw 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Header {
    padding: 8.9743589744vw 12.8205128205vw  ;
  }
}
.Header--logo {
  width: 285px  ;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1920px) {
  .Header--logo {
    width: 14.84375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Header--logo {
    width: 73.0769230769vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Header {
    padding: 3.8461538462vw 5.1282051282vw;
  }
  .Header--logo {
    width: 26.9230769231vw;
  }
}

/* ====================================================================================

    NAV

==================================================================================== */
.Navi--primary > li {
  padding: 10px 0px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Navi--primary > li {
    padding: 0.5208333333vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary > li {
    padding: 2.5641025641vw 0vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary > li.current-navi a span em {
    color: #E3007F;
  }
  .Navi--primary > li.current-navi a:not(.button--navi):before {
    visibility: visible;
  }
  .Navi--primary > li:hover > ul {
    visibility: visible;
    opacity: 1;
  }
}
.Navi--primary > li > a {
  color: #00428D;
  line-height: 1.2;
  display: inline-block;
  position: relative;
  text-align: center;
}
.Navi--primary > li > a span,
.Navi--primary > li > a small {
  display: block;
}
.Navi--primary > li > a span em,
.Navi--primary > li > a small em {
  font-weight: inherit;
}
.Navi--primary > li > a.button--navi {
  padding: 15px 40px  ;
  border-radius: 42px  ;
  background: #00428D;
  color: #fff;
}
@media only screen and (max-width: 1920px) {
  .Navi--primary > li > a.button--navi {
    padding: 0.78125vw 2.0833333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary > li > a.button--navi {
    padding: 3.8461538462vw 10.2564102564vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Navi--primary > li > a.button--navi {
    border-radius: 2.1875vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary > li > a.button--navi {
    border-radius: 10.7692307692vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary > li > a {
    transition: 0.4s ease;
  }
  .Navi--primary > li > a:not(.button--navi) {
    transition-property: color;
  }
  .Navi--primary > li > a:not(.button--navi):before {
    content: "\e569";
    font-family: "Material Icons";
    position: absolute;
    top: 50%;
    left: -30px  ;
    translate: 0 -50%;
    visibility: hidden;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary > li > a:not(.button--navi):before {
    left: -1.5625vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary > li > a:not(.button--navi):before {
    left: -7.6923076923vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary > li > a.button--navi {
    transition-property: background;
  }
  .Navi--primary > li > a:hover:not(.button--navi) {
    color: #E3007F;
  }
  .Navi--primary > li > a:hover.button--navi {
    background: #E3007F;
  }
}
.Navi--primary--child li a {
  position: relative;
}
.Navi--primary--child li a:before {
  content: "\e569";
  font-family: "Material Icons";
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  left: 10px  ;
  translate: 0 -50%;
}
@media only screen and (max-width: 1920px) {
  .Navi--primary--child li a:before {
    left: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary--child li a:before {
    left: 2.5641025641vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary--child {
    padding: 10px 30px  ;
    border-radius: 10px  ;
    position: absolute;
    bottom: 1px;
    left: 50%;
    translate: -50% 100%;
    background: #00428D;
    min-width: 300px  ;
    transition: 0.4s ease 0.2s;
    transition-property: visibility, opacity;
    visibility: hidden;
    opacity: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child {
    padding: 0.5208333333vw 1.5625vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child {
    padding: 2.5641025641vw 7.6923076923vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child {
    border-radius: 0.5208333333vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child {
    border-radius: 2.5641025641vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child {
    min-width: 15.625vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child {
    min-width: 76.9230769231vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary--child li {
    padding: 10px 0px  ;
    border-bottom: 1px solid #fff;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child li {
    padding: 0.5208333333vw 0vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child li {
    padding: 2.5641025641vw 0vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary--child li:last-child {
    border-bottom: none;
  }
  .Navi--primary--child li a {
    padding: 15px 35px  ;
    color: #fff;
    white-space: nowrap;
    display: block;
    border-radius: 5px  ;
    font-size: 1.6rem;
    transition: 0.4s ease;
    transition-property: background;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child li a {
    padding: 0.78125vw 1.8229166667vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child li a {
    padding: 3.8461538462vw 8.9743589744vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Navi--primary--child li a {
    border-radius: 0.2604166667vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Navi--primary--child li a {
    border-radius: 1.2820512821vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Navi--primary--child li a:hover {
    background: #E3007F;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary--child {
    margin-top: 3.3333333333vw;
  }
  .Navi--primary--child li a {
    padding: 1.7948717949vw 5.1282051282vw;
    display: inline-block;
    font-size: 1.2rem;
    color: #00428D;
  }
  .Navi--primary--child li a:before {
    left: 0;
    font-size: 1.2rem;
  }
  .Navi--primary--child li a[target=_blank]:after {
    content: "\e89e";
    font-family: "Material Icons";
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
  }
}
@media only screen and (max-width: 768px) {
  .Navi--primary > li {
    padding: 3.8461538462vw 0;
    border-bottom: 1px solid #CDDDEF;
  }
  .Navi--primary > li:nth-last-child(2) {
    border-bottom: none;
  }
  .Navi--primary > li > a {
    text-align: justify;
    line-height: 1.4;
  }
  .Navi--primary > li > a span {
    display: inline-block;
  }
}
@media only screen and (max-width: 768px) {
  .Navi {
    padding: 25.641025641vw 10.2564102564vw;
    position: fixed;
    inset: 0;
    background: #fff;
    overflow-y: scroll;
    visibility: hidden;
    opacity: 0;
  }
  .Navi .items {
    transform: translateY(10px);
    opacity: 0;
    transition: 0.4s ease 0.2s;
    transition-property: transform, opacity;
  }
  .Navi.open .items {
    transform: translateY(0);
    opacity: 1;
  }
}

#nav-torigger {
  display: none;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
#nav-torigger .ham {
  aspect-ratio: 27/10;
  width: 43.5483870968%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#nav-torigger .ham span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background: #00428D;
  position: absolute;
  left: 0;
  transition: 0.5s ease;
  transition: width 0.2s 0.2s ease, top 0.2s 0.2s ease, transform 0.2s ease, opacity 0s 0.2s ease;
}
#nav-torigger .ham span:nth-of-type(1) {
  top: 0;
}
#nav-torigger .ham span:nth-of-type(2) {
  top: 100%;
  translate: 0 -100%;
}
#nav-torigger.active .ham span {
  transition: width 0.2s ease, top 0.2s ease, transform 0.2s 0.2s ease, opacity 0s 0.2s ease;
}
#nav-torigger.active .ham span:nth-of-type(1) {
  top: 50%;
  transform: rotate(30deg);
  translate: 0 -50%;
}
#nav-torigger.active .ham span:nth-of-type(2) {
  width: 100%;
  top: 50%;
  translate: 0 -50%;
  transform: rotate(-30deg);
}
@media only screen and (max-width: 768px) {
  #nav-torigger {
    display: block;
  }
}

/* ====================================================================================

    SIDE

==================================================================================== */
.Side {
  margin-bottom: -30px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Side {
    margin-bottom: -1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Side {
    margin-bottom: -7.6923076923vw  ;
  }
}
.Side--icon {
  width: 70px  ;
}
@media only screen and (max-width: 1920px) {
  .Side--icon {
    width: 3.6458333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Side--icon {
    width: 17.9487179487vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Side--icon {
    width: 11.5384615385vw;
  }
}

/* ====================================================================================

    FOOTER

==================================================================================== */
.Footer--navi > li > a {
  color: #23B6BC;
}
.Footer--navi > li > a span,
.Footer--navi > li > a small {
  display: block;
  line-height: 1.2;
}
@media only screen and (min-width: 769px) {
  .Footer--navi > li > a {
    transition: color 0.4s ease;
  }
  .Footer--navi > li > a:hover {
    color: #E3007F;
  }
}
.Footer--navi > li > ul {
  margin-top: 10px  ;
}
@media only screen and (max-width: 1920px) {
  .Footer--navi > li > ul {
    margin-top: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Footer--navi > li > ul {
    margin-top: 2.5641025641vw  ;
  }
}
.Footer--navi > li > ul li a {
  padding: 12px 25px  ;
  display: inline-block;
  color: #fff;
  position: relative;
  font-size: 1.7rem;
}
@media only screen and (max-width: 1920px) {
  .Footer--navi > li > ul li a {
    padding: 0.625vw 1.3020833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Footer--navi > li > ul li a {
    padding: 3.0769230769vw 6.4102564103vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Footer--navi > li > ul li a {
    transition: opacity 0.5s ease;
  }
  .Footer--navi > li > ul li a:hover {
    opacity: 0.6;
  }
}
.Footer--navi > li > ul li a:before {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

/* ====================================================================================

    ITEM

==================================================================================== */
.to-up,
.to-right,
.to-left,
.to-alpha {
  opacity: 0;
  transition: 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
  transition-property: transform, opacity;
  will-change: opacity, transform;
}
.to-up.active,
.to-right.active,
.to-left.active,
.to-alpha.active {
  opacity: 1;
  transform: translate(0, 0);
}

.to-up {
  transform: translateY(5rem);
}

.to-right {
  transform: translateX(-5rem);
}

.to-left {
  transform: translateX(5rem);
}

.order.active .order-child {
  opacity: 1;
  transform: translate(0, 0);
}

.wpcf7-list-item-label {
  cursor: pointer;
}

.wpcf7-acceptance input[type=checkbox] {
  display: none;
}
.wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  padding-left: 35px  ;
}
@media only screen and (max-width: 1920px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label {
    padding-left: 1.8229166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label {
    padding-left: 8.9743589744vw  ;
  }
}
.wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:before, .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  aspect-ratio: 1;
}
.wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:before {
  width: 26px  ;
  border: 1px solid #0A2956;
  background: #fff;
  left: 0;
}
@media only screen and (max-width: 1920px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:before {
    width: 1.3541666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:before {
    width: 6.6666666667vw  ;
  }
}
.wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
  width: 18px  ;
  background: #0A2956;
  left: 5px  ;
  opacity: 0;
  transition: opacity 0.5s ease;
}
@media only screen and (max-width: 1920px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
    width: 0.9375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
    width: 4.6153846154vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
    left: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label:after {
    left: 1.2820512821vw  ;
  }
}
.wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 25px 0px  ;
  display: block;
}
@media only screen and (max-width: 1920px) {
  .wpcf7-acceptance .wpcf7-list-item {
    margin: 1.3020833333vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-acceptance .wpcf7-list-item {
    margin: 6.4102564103vw 0vw  ;
  }
}

.wpcf7-not-valid-tip {
  font-size: 1.2rem;
}

.wpcf7-spinner {
  margin: 0;
  position: absolute;
  bottom: -20px  ;
  left: 50%;
  translate: -50% 100%;
}
@media only screen and (max-width: 1920px) {
  .wpcf7-spinner {
    bottom: -1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wpcf7-spinner {
    bottom: -5.1282051282vw  ;
  }
}

.recaptcha_policy {
  text-align: center;
  font-size: 1.4rem;
}
.recaptcha_policy a {
  color: #0A2956;
  text-decoration: underline;
}

.grecaptcha-badge {
  visibility: hidden;
}

.popup-close {
  position: absolute;
  top: 15px  ;
  right: -30px  ;
  translate: 100% -100%;
  width: 45px  ;
  aspect-ratio: 38/57;
  background: url("../img/button--close.png") no-repeat center;
  background-size: 100% 100%;
  cursor: pointer;
}
@media only screen and (max-width: 1920px) {
  .popup-close {
    top: 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .popup-close {
    top: 3.8461538462vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .popup-close {
    right: -1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .popup-close {
    right: -7.6923076923vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .popup-close {
    width: 2.34375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .popup-close {
    width: 11.5384615385vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .popup-close {
    top: -2.5641025641vw;
    right: 1.2820512821vw;
    translate: 0 -100%;
    width: 7.6923076923vw;
  }
}

.lity-close {
  display: none;
}

.eachTextAnime span {
  opacity: 0;
  transition: 0.8s ease;
}

.eachTextAnime.active span {
  opacity: 1;
}

.mask-anmation {
  -webkit-mask-image: url("../img/mask.png");
  mask-image: url("../img/mask.png");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 600%, 100%;
  mask-size: 1000%, 100%;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  transition: -webkit-mask-position 2s ease-out;
  transition: mask-position 2s ease-out;
  transition: mask-position 2s ease-out, -webkit-mask-position 2s ease-out;
}
.mask-anmation.active {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}

/* ====================================================================================

    TOP

==================================================================================== */
@property --r {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@keyframes spin-stop {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#mvMask {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.Top--mv {
  position: relative;
  z-index: 6;
  font-size: 0;
}
.Top--mv--back picture img {
  width: 100%;
}
.Top--mv--back--cover {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: #00428D;
  mix-blend-mode: multiply;
  /* マスクで複雑な四角形を穴にする */
  -webkit-mask: url(#holeMask);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 86.25% 67.7%;
  mask: url(#holeMask);
  mask-repeat: no-repeat;
  mask-size: 86.25% 67.7%;
}
@media only screen and (max-width: 768px) {
  .Top--mv--back--cover {
    -webkit-mask: unset;
    mask: unset;
  }
}
.Top--mv--back .light {
  width: 0%;
  position: absolute;
  top: 25.641025641vw;
  left: 10vw;
  overflow: hidden;
  transition: width 1s ease 0.5s;
}
.Top--mv--back .light img {
  width: 90vw;
  max-width: unset;
}
.Top--mv--back .light.active {
  width: 90vw;
}
.Top--mv--text {
  width: 60.2604166667%;
  position: absolute;
  bottom: 7.8289473684%;
  right: 5.7291666667%;
  opacity: 0;
  filter: blur(10px);
  transition: 1s ease 0.7s;
  transition-property: opacity, filter;
}
.Top--mv--text.active {
  opacity: 1;
  filter: blur(0px);
}
@media only screen and (max-width: 768px) {
  .Top--mv--text {
    width: 72.0512820513%;
    bottom: auto;
    top: 20.5128205128vw;
    right: auto;
    left: 8.9743589744vw;
  }
}
.Top--mv--compass {
  width: 35.625%;
  position: absolute;
  bottom: -5.4824561404%;
  left: -6.7708333333%;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .Top--mv--compass {
    width: 53.5897435897vw;
    bottom: 23.0769230769vw;
    left: -7.6923076923vw;
  }
}
.Top--mv--compass--arrow {
  position: absolute;
  top: 41.5611814346%;
  left: 50%;
  translate: -50% -50%;
}
.Top--mv--compass--arrow:before {
  content: "";
  width: 24.6290801187%;
  aspect-ratio: 83/58;
  background: url("../img/mv--compass--top.png") no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
}
.Top--mv--compass--arrow:after {
  content: "";
  width: 24.6290801187%;
  aspect-ratio: 83/48;
  background: url("../img/mv--compass--bot.png") no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 63%;
  left: 50%;
  translate: -50% -50%;
  z-index: 0;
}
.Top--mv--compass--arrow img {
  position: relative;
  z-index: 1;
}
.Top--mv--compass--arrow.active img {
  animation: spin-stop 0.5s cubic-bezier(0.5, 0, 0.3, 1) 0s both;
}
.Top--catch {
  position: relative;
}
.Top--catch--ill {
  position: absolute;
  top: 50px  ;
  right: 0;
  width: 524px  ;
  aspect-ratio: 524/934;
}
@media only screen and (max-width: 1920px) {
  .Top--catch--ill {
    top: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--catch--ill {
    top: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Top--catch--ill {
    width: 27.2916666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--catch--ill {
    width: 134.358974359vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--catch--ill {
    width: 33.3333333333vw;
    top: auto;
    bottom: 0;
    right: 3.8461538462vw;
    translate: 0 70%;
    z-index: 1;
  }
}
.Top--catch--ill--1 {
  position: absolute;
  top: 10.1713062099%;
  left: 50%;
  translate: -50%;
  width: 87.4045801527%;
}
.Top--catch--ill--1 svg {
  max-width: 100%;
  height: auto;
}
.Top--catch--ill--2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.2519083969%;
}
.Top--catch--ill--3 {
  position: absolute;
  top: 16.5952890792%;
  left: 20.9923664122%;
  width: 7.2519083969%;
}
.Top--catch--ill--4 {
  position: absolute;
  top: 49.8929336188%;
  right: -2.4809160305%;
  width: 7.6335877863%;
}
.Top--catch--ill--5 {
  position: absolute;
  top: 61.670235546%;
  left: 61.0687022901%;
  width: 8.9694656489%;
}
.Top--catch--ill--6 {
  position: absolute;
  top: 74.1970021413%;
  left: 33.7786259542%;
  width: 8.2061068702%;
}
.Top--catch--ill--7 {
  position: absolute;
  bottom: 0;
  left: 41.4122137405%;
  width: 7.2519083969%;
}
.Top--catch--cover {
  pointer-events: none;
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 0;
  right: 0;
  background: #00428D;
  mix-blend-mode: multiply;
  z-index: 5;
}
.Top--catch.active .Top--catch--cover {
  -webkit-mask: radial-gradient(circle var(--r) at 32vw 50%, transparent 99%, #000 100%);
  mask: radial-gradient(circle var(--r) at 32vw 50%, transparent 99%, #000 100%);
  transition: --r 5s ease-in-out;
  --r: 3000px;
}
@media only screen and (max-width: 768px) {
  .Top--catch.active .Top--catch--cover {
    --r: 3000px ;
  }
}
.Top--member--slider .slick-list {
  margin: 0px -30px  ;
}
@media only screen and (max-width: 1920px) {
  .Top--member--slider .slick-list {
    margin: 0vw -1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--member--slider .slick-list {
    margin: 0vw -7.6923076923vw  ;
  }
}
.Top--member--slider .slick-slide {
  padding: 0px 30px  ;
}
@media only screen and (max-width: 1920px) {
  .Top--member--slider .slick-slide {
    padding: 0vw 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--member--slider .slick-slide {
    padding: 0vw 7.6923076923vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--member--slider .slick-list {
    margin: -2.5641025641vw;
    overflow: visible;
  }
  .Top--member--slider .slick-slide {
    padding: 0 2.5641025641vw;
  }
}
.Top--news--wrap {
  min-height: 740px  ;
}
@media only screen and (max-width: 1920px) {
  .Top--news--wrap {
    min-height: 38.5416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--news--wrap {
    min-height: 189.7435897436vw  ;
  }
}
.Top--news--text {
  position: absolute;
  bottom: 130px  ;
  left: 80px  ;
}
@media only screen and (max-width: 1920px) {
  .Top--news--text {
    bottom: 6.7708333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--news--text {
    bottom: 33.3333333333vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Top--news--text {
    left: 4.1666666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--news--text {
    left: 20.5128205128vw  ;
  }
}
.Top--book {
  margin-left: auto;
  margin-right: auto;
  width: 374px  ;
  aspect-ratio: 374/382;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Top--book {
    width: 19.4791666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--book {
    width: 95.8974358974vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Top--book {
    width: 51.2820512821vw;
  }
}
.Top--book--1 {
  position: absolute;
  width: 18.7165775401%;
  top: 0;
  left: 14.4385026738%;
}
.Top--book--2 {
  position: absolute;
  width: 74.8663101604%;
  top: 2.6737967914%;
  right: 0;
  z-index: 2;
}
.Top--book--3 {
  position: absolute;
  width: 52.4064171123%;
  bottom: 0;
  left: 0;
}

.text-animation {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 86px  ;
}
@media only screen and (max-width: 1920px) {
  .text-animation {
    height: 4.4791666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .text-animation {
    height: 22.0512820513vw  ;
  }
}
.text-animation span {
  display: flex;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  animation: textAnm 30s linear 0s infinite;
}
.text-animation span img {
  margin-right: 70px  ;
  max-width: unset;
  width: auto;
  height: 100%;
}
@media only screen and (max-width: 1920px) {
  .text-animation span img {
    margin-right: 3.6458333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .text-animation span img {
    margin-right: 17.9487179487vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .text-animation {
    height: 10.2564102564vw;
  }
  .text-animation span {
    animation-duration: 20s;
  }
}

@keyframes textAnm {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-25%);
  }
}
/* ====================================================================================

    STRONG

==================================================================================== */
.Strong--style dt em {
  font-size: 1.5rem;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background: #E3007F;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 37px  ;
  aspect-ratio: 1;
}
@media only screen and (max-width: 1920px) {
  .Strong--style dt em {
    width: 1.9270833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--style dt em {
    width: 9.4871794872vw  ;
  }
}
.Strong--management--ill {
  position: absolute;
  top: 50px  ;
  right: 95px  ;
  width: 300px  ;
  aspect-ratio: 524/934;
}
@media only screen and (max-width: 1920px) {
  .Strong--management--ill {
    top: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--management--ill {
    top: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--management--ill {
    right: 4.9479166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--management--ill {
    right: 24.358974359vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--management--ill {
    width: 15.625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--management--ill {
    width: 76.9230769231vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--management--ill {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: auto;
    right: auto;
    text-align: center;
    width: 38.4615384615vw;
  }
}
.Strong--team--title {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/strong--team--title--back.png") no-repeat center;
  background-size: 100% 100%;
}
@media only screen and (max-width: 768px) {
  .Strong--team--title {
    aspect-ratio: 793/385;
    justify-content: flex-start;
  }
}
.Strong--team--wrap.type--1 {
  color: #41A70B;
}
.Strong--team--wrap.type--1 .Strong--team--label {
  background: #E0FAA5;
}
.Strong--team--wrap.type--1 .Strong--team--label--link:before {
  color: #41A70B;
}
.Strong--team--wrap.type--2 {
  color: #EF7900;
}
.Strong--team--wrap.type--2 .Strong--team--label {
  background: #FFE0B4;
}
.Strong--team--wrap.type--2 .Strong--team--label--link:before {
  color: #EF7900;
}
.Strong--team--wrap.type--3 {
  color: #D9000D;
}
.Strong--team--wrap.type--3 .Strong--team--label {
  background: #FFCCD0;
}
.Strong--team--wrap.type--3 .Strong--team--label--link:before {
  color: #D9000D;
}
.Strong--team--wrap.type--4 {
  color: #009ED6;
}
.Strong--team--wrap.type--4 .Strong--team--label {
  background: #CBF1FF;
}
.Strong--team--wrap.type--4 .Strong--team--label--link:before {
  color: #009ED6;
}
.Strong--team--wrap.type--5 {
  color: #9140AC;
}
.Strong--team--wrap.type--5 .Strong--team--label {
  background: #F4DBFC;
}
.Strong--team--wrap.type--5 .Strong--team--label--link:before {
  color: #9140AC;
}
.Strong--team--wrap.type--6 {
  color: #009A76;
}
.Strong--team--wrap.type--6 .Strong--team--label {
  background: #B3F0D7;
}
.Strong--team--wrap.type--6 .Strong--team--label--link:before {
  color: #009A76;
}
.Strong--team--label {
  padding: 30px  ;
  position: relative;
  border-radius: 20px  ;
  height: 100%;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--label {
    padding: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--label {
    padding: 7.6923076923vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--label {
    border-radius: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--label {
    border-radius: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--label {
    padding: 3.8461538462vw;
    border-radius: 2.5641025641vw;
  }
  .Strong--team--label .f-sm-10 {
    font-size: 0.8rem;
  }
}
.Strong--team--label--icon {
  margin-left: auto;
  margin-right: auto;
  width: 152px  ;
  aspect-ratio: 152/100;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--label--icon {
    width: 7.9166666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--label--icon {
    width: 38.9743589744vw  ;
  }
}
.Strong--team--label--icon img {
  max-width: 100%;
  max-height: 100%;
}
@media only screen and (max-width: 768px) {
  .Strong--team--label--icon {
    width: 15.3846153846vw;
  }
}
.Strong--team--label--link {
  display: block;
  font-size: 0;
  position: absolute;
  inset: 0;
  z-index: 1;
}
.Strong--team--label--link:before, .Strong--team--label--link:after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
}
@media only screen and (min-width: 769px) {
  .Strong--team--label--link:before, .Strong--team--label--link:after {
    transition: opacity 0.6s ease;
  }
}
.Strong--team--label--link:before {
  content: "Read More";
  font-size: 2rem;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  z-index: 2;
}
.Strong--team--label--link:after {
  content: "";
  width: 75.3246753247%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px) brightness(1.14);
}
@media only screen and (min-width: 769px) {
  .Strong--team--label--link:hover:before, .Strong--team--label--link:hover:after {
    opacity: 1;
  }
}
.Strong--team--content {
  position: relative;
}
.Strong--team--content:not(.full) {
  width: 955px  ;
  max-height: 90vh !important;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content:not(.full) {
    width: 49.7395833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content:not(.full) {
    width: 244.8717948718vw  ;
  }
}
.Strong--team--content:not(.full)::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 768px) {
  .Strong--team--content:not(.full) {
    width: 90vw;
    max-height: 80vh !important;
  }
}
.Strong--team--content.full .Strong--team--content--icon {
  top: 30px  ;
  width: 100px  ;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content.full .Strong--team--content--icon {
    top: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content.full .Strong--team--content--icon {
    top: 7.6923076923vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content.full .Strong--team--content--icon {
    width: 5.2083333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content.full .Strong--team--content--icon {
    width: 25.641025641vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content.full .Strong--team--content--icon {
    width: 23.0769230769vw;
    top: 2.5641025641vw;
    right: 0;
  }
}
.Strong--team--content.full .Strong--team--content--inner {
  max-height: unset;
  overflow-y: auto;
}
.Strong--team--content--image {
  margin-left: 30px  ;
  margin-bottom: 20px  ;
  float: right;
  width: 450px  ;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--image {
    margin-left: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--image {
    margin-left: 7.6923076923vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--image {
    margin-bottom: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--image {
    margin-bottom: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--image {
    width: 23.4375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--image {
    width: 115.3846153846vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--image {
    margin-left: 0;
    width: 100%;
    float: none;
  }
}
.Strong--team--content--icon {
  position: absolute;
  top: 60px  ;
  right: 50px  ;
  width: 152px  ;
  aspect-ratio: 152/100;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--icon {
    top: 3.125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--icon {
    top: 15.3846153846vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--icon {
    right: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--icon {
    right: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Strong--team--content--icon {
    width: 7.9166666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--icon {
    width: 38.9743589744vw  ;
  }
}
.Strong--team--content--icon img {
  max-width: 100%;
  max-height: 100%;
}
@media only screen and (max-width: 768px) {
  .Strong--team--content--icon {
    width: 20.5128205128vw;
    top: 2.5641025641vw;
    right: 0;
  }
}

/* ====================================================================================

    WORKS

==================================================================================== */
.Works--post {
  max-height: 1128px  ;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media only screen and (max-width: 1920px) {
  .Works--post {
    max-height: 58.75vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Works--post {
    max-height: 289.2307692308vw  ;
  }
}
.Works--post::-webkit-scrollbar {
  display: none;
}
.Works--thumb img {
  border-radius: 10px  ;
}
@media only screen and (max-width: 1920px) {
  .Works--thumb img {
    border-radius: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Works--thumb img {
    border-radius: 2.5641025641vw  ;
  }
}
.Works--ill img {
  border-radius: 30px  ;
}
@media only screen and (max-width: 1920px) {
  .Works--ill img {
    border-radius: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Works--ill img {
    border-radius: 7.6923076923vw  ;
  }
}

/* ====================================================================================

    JOIN US

==================================================================================== */
.Joinus.secondary a {
  border-color: #E3007F;
}
.Joinus.secondary a:after {
  color: #E3007F;
}
.Joinus a {
  border: solid #00428D;
  border-width: 13px  ;
  border-radius: 20px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Joinus a {
    border-width: 0.6770833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a {
    border-width: 3.3333333333vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Joinus a {
    border-radius: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a {
    border-radius: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a {
    border-width: 2.3076923077vw;
  }
}
.Joinus a:after {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  top: 20px  ;
  right: 30px  ;
  font-size: 5rem;
}
@media only screen and (max-width: 1920px) {
  .Joinus a:after {
    top: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a:after {
    top: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Joinus a:after {
    right: 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a:after {
    right: 7.6923076923vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Joinus a:after {
    font-size: 3rem;
    top: 2.5641025641vw;
    right: 5.1282051282vw;
  }
}
@media only screen and (min-width: 769px) {
  .Joinus a:after {
    transform-origin: left bottom;
    transition: transform 0.3s ease;
  }
  .Joinus a:hover:after {
    transform: scale(1.4);
  }
}

/* ====================================================================================

    BUDDY

==================================================================================== */
.Buddy a,
.Buddy > span {
  padding: 160px 20px 40px 20px  ;
  display: block;
  position: relative;
  background: #00428D;
  height: 100%;
  border-radius: 20px  ;
}
@media only screen and (max-width: 1920px) {
  .Buddy a,
  .Buddy > span {
    padding: 8.3333333333vw 1.0416666667vw 2.0833333333vw 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Buddy a,
  .Buddy > span {
    padding: 41.0256410256vw 5.1282051282vw 10.2564102564vw 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Buddy a,
  .Buddy > span {
    border-radius: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Buddy a,
  .Buddy > span {
    border-radius: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Buddy a,
  .Buddy > span {
    padding: 20.5128205128vw 2.5641025641vw 5.1282051282vw;
  }
}
@media only screen and (min-width: 769px) {
  .Buddy a .Buddy--title, .Buddy a .Buddy--logo img {
    transition: transform 0.4s ease;
  }
  .Buddy a:hover .Buddy--title, .Buddy a:hover .Buddy--logo img {
    transform: scale(1.1);
  }
}
.Buddy--title {
  color: #fff;
  text-align: center;
  line-height: 1.7;
}
.Buddy--title span {
  display: block;
}
@media only screen and (max-width: 768px) {
  .Buddy--title {
    font-size: 1.4rem;
  }
}
.Buddy--logo {
  background: #fff;
  border: 2px solid #00428D;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -40%;
  width: 60.237388724%;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
}
.Buddy--logo img {
  max-width: 80%;
  max-height: 50%;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .Buddy--wrap .Buddy:nth-child(n+5) {
    display: none;
  }
}

/* ====================================================================================

    MEMBER

==================================================================================== */
.Member {
  padding: 13px 12px 0px 20px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Member {
    padding: 0.6770833333vw 0.625vw 0vw 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member {
    padding: 3.3333333333vw 3.0769230769vw 0vw 5.1282051282vw  ;
  }
}
.Member a {
  display: block;
  border-radius: 10px  ;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Member a {
    border-radius: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member a {
    border-radius: 2.5641025641vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Member a:after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 66, 141, 0.6);
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
  .Member a .Member--thumb img {
    transition: transform 0.4s ease;
  }
  .Member a:hover:after {
    opacity: 1;
  }
  .Member a:hover .Member--thumb img {
    transform: scale(1.1);
  }
}
.Member--thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 330/395;
  object-fit: cover;
}
.Member--info {
  position: absolute;
  bottom: 15px  ;
  left: 0;
  color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 1920px) {
  .Member--info {
    bottom: 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--info {
    bottom: 3.8461538462vw  ;
  }
}
.Member--label li {
  margin-bottom: 5px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Member--label li {
    margin-bottom: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li {
    margin-bottom: 1.2820512821vw  ;
  }
}
.Member--label li .name {
  padding: 8px 20px  ;
  border-radius: 5px  ;
  display: inline-block;
  font-size: 1.5rem;
  box-shadow: -3px 3px 10px rgba(0, 0, 0, 0.12);
}
@media only screen and (max-width: 1920px) {
  .Member--label li .name {
    padding: 0.4166666667vw 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .name {
    padding: 2.0512820513vw 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Member--label li .name {
    border-radius: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .name {
    border-radius: 1.2820512821vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .name {
    padding: 1.2820512821vw 5.1282051282vw;
    font-size: 1.2rem;
  }
}
.Member--label li .desc {
  display: block;
  font-size: 1.5rem;
  position: absolute;
  top: 50%;
  right: 0;
  line-height: 1.4;
  width: 965px  ;
  color: #00428D;
  translate: 0 -50%;
}
@media only screen and (max-width: 1920px) {
  .Member--label li .desc {
    width: 50.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .desc {
    width: 247.4358974359vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .desc {
    margin-bottom: 3.8461538462vw;
    margin-top: 2.5641025641vw;
    width: 100%;
    position: static;
    translate: none;
  }
}
.Member--label li .line {
  width: 10px;
  height: 1px;
  background: #00428D;
  position: absolute;
  top: 50%;
  right: 980px  ;
}
@media only screen and (max-width: 1920px) {
  .Member--label li .line {
    right: 51.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .line {
    right: 251.2820512821vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--label li .line {
    display: none;
  }
}
.Member--name {
  padding: 8px 20px  ;
  border-radius: 5px  ;
  background: #00428D;
}
@media only screen and (max-width: 1920px) {
  .Member--name {
    padding: 0.4166666667vw 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--name {
    padding: 2.0512820513vw 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Member--name {
    border-radius: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--name {
    border-radius: 1.2820512821vw  ;
  }
}
.Member:after {
  content: "\e569";
  font-family: "Material Icons";
  position: absolute;
  top: 0;
  right: 0;
  font-size: 6rem;
}
@media only screen and (max-width: 768px) {
  .Member:after {
    font-size: 4rem;
  }
}
.Member--popup--inner {
  width: 1122px  ;
  max-height: 90vh !important;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media only screen and (max-width: 1920px) {
  .Member--popup--inner {
    width: 58.4375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Member--popup--inner {
    width: 287.6923076923vw  ;
  }
}
.Member--popup--inner::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 768px) {
  .Member--popup--inner {
    width: 90vw;
    height: 80vh !important;
  }
}
.Member--popup .Member--info {
  position: static;
}

/* ====================================================================================

    FEATURE

==================================================================================== */
.Feature {
  text-align: center;
  position: relative;
  z-index: 1;
}
.Feature dt {
  padding-bottom: 20px  ;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1920px) {
  .Feature dt {
    padding-bottom: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Feature dt {
    padding-bottom: 5.1282051282vw  ;
  }
}
.Feature dt em {
  display: block;
}
.Feature dt span {
  line-height: 1.4;
  display: block;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .Feature dt {
    margin-left: auto;
    margin-right: auto;
    width: 55%;
  }
}
.Feature--back {
  width: 708px  ;
  position: absolute;
  bottom: 0;
  right: 130px  ;
  translate: 50% 50%;
}
@media only screen and (max-width: 1920px) {
  .Feature--back {
    width: 36.875vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Feature--back {
    width: 181.5384615385vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Feature--back {
    right: 6.7708333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Feature--back {
    right: 33.3333333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Feature--back {
    width: 51.2820512821vw;
    translate: 0 50%;
    right: 0;
  }
}

/* ====================================================================================

    POST

==================================================================================== */
@media only screen and (min-width: 769px) {
  .Post--box a:hover .Post--box--thumb img {
    transform: scale(1.3);
  }
  .Post--box a:hover .Post--box--arrow {
    transform: scale(1.2);
  }
  .Post--box a:hover .Post--box--arrow .material-icons {
    transform: translateY(-10%) scale(1.3);
  }
}
@media only screen and (min-width: 769px) {
  .Post--box--arrow {
    transition: transform 0.4s ease;
    transform-origin: top right;
  }
  .Post--box--arrow .material-icons {
    transition: transform 0.4s ease;
  }
}
.Post--box--thumb {
  border-radius: 10px  ;
  overflow: hidden;
}
@media only screen and (max-width: 1920px) {
  .Post--box--thumb {
    border-radius: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--thumb {
    border-radius: 2.5641025641vw  ;
  }
}
.Post--box--thumb img {
  aspect-ratio: 216/152;
  object-fit: cover;
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 769px) {
  .Post--box--thumb img {
    transition: transform 0.4s ease;
  }
}
.Post--box--tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags {
    gap: 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags {
    gap: 2.5641025641vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags {
    gap: 1.2820512821vw;
  }
}
.Post--box--tags li {
  padding: 8px 15px  ;
  font-size: 1.5rem;
  border: 1px solid #00428D;
  border-radius: 100px  ;
  color: #00428D;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags li {
    padding: 0.4166666667vw 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags li {
    padding: 2.0512820513vw 3.8461538462vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags li {
    border-radius: 5.2083333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags li {
    border-radius: 25.641025641vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags li {
    padding: 1.2820512821vw 2.5641025641vw;
    font-size: 1rem;
  }
}
.Post--box--tags--link {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--link {
    gap: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--link {
    gap: 1.2820512821vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--link {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2820512821vw;
  }
}
.Post--box--tags--link li a {
  padding: 8px 15px  ;
  font-size: 1.5rem;
  border: 1px solid #00428D;
  border-radius: 100px  ;
  color: #00428D;
  display: inline-block;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--link li a {
    padding: 0.4166666667vw 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--link li a {
    padding: 2.0512820513vw 3.8461538462vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--link li a {
    border-radius: 5.2083333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--link li a {
    border-radius: 25.641025641vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Post--box--tags--link li a {
    transition: 0.4s ease;
    transition-property: background, color;
  }
  .Post--box--tags--link li a:hover {
    background: #00428D;
    color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--link li a {
    padding: 1.2820512821vw 2.5641025641vw;
    font-size: 1rem;
  }
}
.Post--box--tags--link li.current-tag a {
  background: #00428D;
  color: #fff;
}
.Post--box--tags--work {
  display: flex;
  flex-wrap: wrap;
  gap: 5px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--work {
    gap: 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--work {
    gap: 1.2820512821vw  ;
  }
}
.Post--box--tags--work li a {
  padding: 8px 15px  ;
  font-size: 1.5rem;
  border: 1px solid #00428D;
  border-radius: 100px  ;
  color: #00428D;
  display: inline-block;
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--work li a {
    padding: 0.4166666667vw 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--work li a {
    padding: 2.0512820513vw 3.8461538462vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Post--box--tags--work li a {
    border-radius: 5.2083333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--work li a {
    border-radius: 25.641025641vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Post--box--tags--work li a {
    transition: 0.4s ease;
    transition-property: background, color;
  }
  .Post--box--tags--work li a:hover {
    background: #00428D;
    color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box--tags--work li a {
    padding: 1.2820512821vw 2.5641025641vw;
    font-size: 1rem;
  }
}
.Post--box--tags--work li.current-tag a {
  background: #00428D;
  color: #fff;
}
.Post--box + .Post--box {
  border-top: solid #00428D;
  border-width: 2px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--box + .Post--box {
    border-width: 0.1041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--box + .Post--box {
    border-width: 0.5128205128vw  ;
  }
}
.Post--tab--toggle {
  display: flex;
  position: relative;
  bottom: -0.5px;
}
.Post--tab--toggle li {
  border-radius: 10px 10px 0px 0px  ;
  overflow: hidden;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--toggle li {
    border-radius: 0.5208333333vw 0.5208333333vw 0vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--toggle li {
    border-radius: 2.5641025641vw 2.5641025641vw 0vw 0vw  ;
  }
}
.Post--tab--toggle li button {
  padding: 20px 65px  ;
  font-weight: bold;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--toggle li button {
    padding: 1.0416666667vw 3.3854166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--toggle li button {
    padding: 5.1282051282vw 16.6666666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--toggle li button {
    padding: 2.5641025641vw 10.2564102564vw;
    font-size: 1.5rem;
  }
}
.Post--tab--target--box {
  border-radius: 0px 10px 10px 10px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--target--box {
    border-radius: 0vw 0.5208333333vw 0.5208333333vw 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--target--box {
    border-radius: 0vw 2.5641025641vw 2.5641025641vw 2.5641025641vw  ;
  }
}
.Post--tab--target--box.blog-type {
  background: #23B6BC;
}
.Post--tab--target--box.blog-type .Post--tab--year li.current-year {
  color: #23B6BC;
}
.Post--tab--target--box.blog-type .Post--tab--month li {
  color: #23B6BC;
  border-color: #23B6BC;
}
.Post--tab--target--box.blog-type .Post--tab--month li.current-month {
  color: #fff;
  background: #23B6BC;
}
.Post--tab--target--box--inner {
  border-radius: 0px 0px 10px 10px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--target--box--inner {
    border-radius: 0vw 0vw 0.5208333333vw 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--target--box--inner {
    border-radius: 0vw 0vw 2.5641025641vw 2.5641025641vw  ;
  }
}
.Post--tab--year {
  display: flex;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative;
  bottom: -0.5px;
}
.Post--tab--year::-webkit-scrollbar {
  display: none;
}
.Post--tab--year li {
  padding: 8px 16.5px  ;
  color: #fff;
  border-radius: 5px 5px 0px 0px  ;
  white-space: nowrap;
  cursor: pointer;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--year li {
    padding: 0.4166666667vw 0.859375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--year li {
    padding: 2.0512820513vw 4.2307692308vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Post--tab--year li {
    border-radius: 0.2604166667vw 0.2604166667vw 0vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--year li {
    border-radius: 1.2820512821vw 1.2820512821vw 0vw 0vw  ;
  }
}
.Post--tab--year li.current-year {
  background: #fff;
  color: #00428D;
}
.Post--tab--month {
  display: flex;
  justify-content: center;
  gap: 0px 17px  ;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--month {
    gap: 0vw 0.8854166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--month {
    gap: 0vw 4.358974359vw  ;
  }
}
.Post--tab--month li {
  padding: 5px 16px  ;
  border: 1px solid #00428D;
  border-radius: 17px  ;
  cursor: pointer;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--month li {
    padding: 0.2604166667vw 0.8333333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--month li {
    padding: 1.2820512821vw 4.1025641026vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Post--tab--month li {
    border-radius: 0.8854166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--month li {
    border-radius: 4.358974359vw  ;
  }
}
.Post--tab--month li.current-month {
  background: #00428D;
  color: #fff;
}
.Post--tab--select {
  position: relative;
}
.Post--tab--select:after {
  content: "\e313";
  font-family: "Material Icons";
  position: absolute;
  top: 50%;
  right: 2.5641025641vw;
  translate: 0 -50%;
  font-size: 2rem;
  pointer-events: none;
}
.Post--tab--select select {
  padding: 0 5.1282051282vw;
  border: none;
  border-radius: 5px;
  background: #fff;
  text-align: center;
  color: #00428D;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  width: 100%;
  height: 12.8205128205vw;
  font-size: 16px;
}
.Post--tab--content {
  height: 730px  ;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media only screen and (max-width: 1920px) {
  .Post--tab--content {
    height: 38.0208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Post--tab--content {
    height: 187.1794871795vw  ;
  }
}
.Post--tab--content::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 768px) {
  .Post--tab--content {
    height: 153.8461538462vw;
  }
}

/* ====================================================================================

    SEARCH

==================================================================================== */
.Search--form {
  position: relative;
}
.Search--form input[type=search] {
  padding: 0px 50px 0px 20px  ;
  border: 1px solid #00428D;
  height: 50px  ;
  width: 100%;
}
@media only screen and (max-width: 1920px) {
  .Search--form input[type=search] {
    padding: 0vw 2.6041666667vw 0vw 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Search--form input[type=search] {
    padding: 0vw 12.8205128205vw 0vw 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Search--form input[type=search] {
    height: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Search--form input[type=search] {
    height: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Search--form input[type=search] {
    font-size: 16px;
  }
}
.Search--form button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.Search--form button .material-icons-outlined {
  font-size: 3rem;
}
.Search--form.search-active input[type=search] {
  background: #E6F2FF;
}
.Search--delete {
  color: #E3007F;
  font-size: 1.4rem;
  font-weight: bold;
}

.Search--form input[type=search]::placeholder {
  color: #CDDDEF;
}

/* 旧Edge対応 */
.Search--form input[type=search]::-ms-input-placeholder {
  color: #CDDDEF;
}

/* IE対応 */
.Search--form input[type=search]:-ms-input-placeholder {
  color: #CDDDEF;
}

/* ====================================================================================

    ARCHIVE

==================================================================================== */
.Archive--wrap {
  height: 1474px  ;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media only screen and (max-width: 1920px) {
  .Archive--wrap {
    height: 76.7708333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Archive--wrap {
    height: 377.9487179487vw  ;
  }
}
.Archive--wrap::-webkit-scrollbar {
  display: none;
}
.Archive--wrap .Post--box:first-child a {
  padding-top: 0;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px  ;
}
@media only screen and (max-width: 1920px) {
  .wp-pagenavi {
    gap: 0.9375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi {
    gap: 4.6153846154vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi {
    gap: 2.5641025641vw;
  }
}
.wp-pagenavi span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px  ;
  aspect-ratio: 1;
  font-size: 1.8rem;
  border-radius: 50%;
  color: #fff;
  background: #00428D;
  border: 1px solid #00428D;
}
@media only screen and (max-width: 1920px) {
  .wp-pagenavi span {
    width: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi span {
    width: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi span {
    width: 10.2564102564vw;
    font-size: 1.4rem;
  }
}
.wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px  ;
  aspect-ratio: 1;
  font-size: 1.8rem;
  border-radius: 50%;
  color: #00428D;
  border: 1px solid #00428D;
}
@media only screen and (max-width: 1920px) {
  .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
    width: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
    width: 12.8205128205vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
    transition: 0.4s ease;
    transition-property: background, color;
  }
  .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink):hover {
    background: #00428D;
    color: #fff;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
    width: 10.2564102564vw;
    font-size: 1.4rem;
  }
}
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
  padding: 0px 5px  ;
  color: #00428D;
  font-size: 0;
  display: inline-block;
}
@media only screen and (max-width: 1920px) {
  .wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
    padding: 0vw 0.2604166667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
    padding: 0vw 1.2820512821vw  ;
  }
}
.wp-pagenavi a.previouspostslink:before, .wp-pagenavi a.nextpostslink:before {
  font-family: "Material Icons";
  font-size: 4rem;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .wp-pagenavi a.previouspostslink:before, .wp-pagenavi a.nextpostslink:before {
    transition: transform 0.4s ease;
  }
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi a.previouspostslink:before, .wp-pagenavi a.nextpostslink:before {
    font-size: 3rem;
  }
}
.wp-pagenavi a.previouspostslink:before {
  content: "\e5c4";
}
@media only screen and (min-width: 769px) {
  .wp-pagenavi a.previouspostslink:hover:before {
    transform: translateX(-10px);
  }
}
.wp-pagenavi a.nextpostslink:before {
  content: "\e5c8";
}
@media only screen and (min-width: 769px) {
  .wp-pagenavi a.nextpostslink:hover:before {
    transform: translateX(10px);
  }
}

/* ====================================================================================

    COMPANY

==================================================================================== */
.Company--image--1 {
  position: relative;
}
.Company--image--1:after {
  content: "";
  width: 558px  ;
  aspect-ratio: 558/531;
  position: absolute;
  top: 67px  ;
  right: 0;
  translate: 50% -50%;
  background: url("../img/company--image--option--1.png") no-repeat center;
  background-size: 100% 100%;
}
@media only screen and (max-width: 1920px) {
  .Company--image--1:after {
    width: 29.0625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--image--1:after {
    width: 143.0769230769vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Company--image--1:after {
    top: 3.4895833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--image--1:after {
    top: 17.1794871795vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--image--1:after {
    width: 64.1025641026vw;
  }
}
.Company--table--1 {
  width: 100%;
}
.Company--table--1 tbody tr th,
.Company--table--1 tbody tr td {
  padding-top: 25px  ;
  padding-bottom: 25px  ;
  font-weight: bold;
  line-height: 1.6;
}
@media only screen and (max-width: 1920px) {
  .Company--table--1 tbody tr th,
  .Company--table--1 tbody tr td {
    padding-top: 1.3020833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th,
  .Company--table--1 tbody tr td {
    padding-top: 6.4102564103vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Company--table--1 tbody tr th,
  .Company--table--1 tbody tr td {
    padding-bottom: 1.3020833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th,
  .Company--table--1 tbody tr td {
    padding-bottom: 6.4102564103vw  ;
  }
}
.Company--table--1 tbody tr th {
  padding-left: 50px  ;
  padding-bottom: 20px  ;
  width: 235px  ;
  vertical-align: top;
}
@media only screen and (max-width: 1920px) {
  .Company--table--1 tbody tr th {
    padding-left: 2.6041666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th {
    padding-left: 12.8205128205vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Company--table--1 tbody tr th {
    padding-bottom: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th {
    padding-bottom: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Company--table--1 tbody tr th {
    width: 12.2395833333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th {
    width: 60.2564102564vw  ;
  }
}
.Company--table--1 tbody tr + tr {
  border-top: 2px dotted #F5AB18;
}
@media only screen and (max-width: 768px) {
  .Company--table--1 tbody tr th,
  .Company--table--1 tbody tr td {
    padding: 3.8461538462vw 0;
  }
  .Company--table--1 tbody tr th {
    padding-left: 2.5641025641vw;
    width: 25.641025641vw;
  }
}
.Company--title--2 {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}

/* ====================================================================================

    SEMINAR

==================================================================================== */
.Seminar--table {
  width: 100%;
}
.Seminar--table tbody tr th,
.Seminar--table tbody tr td {
  padding: 20px  ;
  line-height: 1.6;
}
@media only screen and (max-width: 1920px) {
  .Seminar--table tbody tr th,
  .Seminar--table tbody tr td {
    padding: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Seminar--table tbody tr th,
  .Seminar--table tbody tr td {
    padding: 5.1282051282vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Seminar--table tbody tr th,
  .Seminar--table tbody tr td {
    padding: 3.8461538462vw 2.5641025641vw;
  }
}
.Seminar--table tbody tr th {
  width: 150px  ;
  color: #E3007F;
  font-weight: bold;
  vertical-align: top;
}
@media only screen and (max-width: 1920px) {
  .Seminar--table tbody tr th {
    width: 7.8125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Seminar--table tbody tr th {
    width: 38.4615384615vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Seminar--table tbody tr th {
    width: 25.641025641vw;
  }
}
.Seminar--table tbody tr + tr {
  border-top: 1px solid #CDDDEF;
}

/* ====================================================================================

    CONTACT

==================================================================================== */
.Contact--bannar.base a:before {
  background: #00428D;
}
.Contact--bannar.secondary a:before {
  background: #E3007F;
}
@media only screen and (min-width: 769px) {
  .Contact--bannar a:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    bottom: -1px;
    width: 150px  ;
    transition: width 0.4s ease;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Contact--bannar a:before {
    width: 7.8125vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Contact--bannar a:before {
    width: 38.4615384615vw  ;
  }
}
@media only screen and (min-width: 769px) {
  .Contact--bannar a:hover:before {
    width: 400px  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1920px) {
  .Contact--bannar a:hover:before {
    width: 20.8333333333vw  ;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .Contact--bannar a:hover:before {
    width: 102.5641025641vw  ;
  }
}

/* ====================================================================================

    SINGLE

==================================================================================== */
.pnkz {
  display: flex;
  align-items: center;
  gap: 0px 10px  ;
  font-size: 1.8rem;
}
@media only screen and (max-width: 1920px) {
  .pnkz {
    gap: 0vw 0.5208333333vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .pnkz {
    gap: 0vw 2.5641025641vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .pnkz {
    font-size: 1rem;
    gap: 1.2820512821vw;
  }
}
.pnkz a {
  color: #00428D;
}
.pnkz a.home-icon {
  font-size: 0;
}
.pnkz a.home-icon:before {
  content: "\e88a";
  font-family: "Material Icons";
  font-size: 2rem;
  color: #00428D;
}
@media only screen and (max-width: 768px) {
  .pnkz a.home-icon:before {
    font-size: 1.6rem;
  }
}
.pnkz a:not(.home-icon) {
  text-decoration: underline;
}

.hidelink {
  visibility: hidden;
  pointer-events: none;
}

.Single--thumbnail img {
  border-radius: 18px  ;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 1920px) {
  .Single--thumbnail img {
    border-radius: 0.9375vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--thumbnail img {
    border-radius: 4.6153846154vw  ;
  }
}
.Single--content h1,
.Single--content h2,
.Single--content h3,
.Single--content h4,
.Single--content h5,
.Single--content h6 {
  margin: 40px 0px 15px  ;
  line-height: 1.4;
  font-weight: bold;
  color: #0A2956;
}
@media only screen and (max-width: 1920px) {
  .Single--content h1,
  .Single--content h2,
  .Single--content h3,
  .Single--content h4,
  .Single--content h5,
  .Single--content h6 {
    margin: 2.0833333333vw 0vw 0.78125vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content h1,
  .Single--content h2,
  .Single--content h3,
  .Single--content h4,
  .Single--content h5,
  .Single--content h6 {
    margin: 10.2564102564vw 0vw 3.8461538462vw  ;
  }
}
.Single--content p {
  margin: 25px 0px  ;
  line-height: 2;
}
@media only screen and (max-width: 1920px) {
  .Single--content p {
    margin: 1.3020833333vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content p {
    margin: 6.4102564103vw 0vw  ;
  }
}
.Single--content p:first-child {
  margin-top: 0;
}
.Single--content img {
  height: auto;
}
.Single--content strong {
  font-weight: bold;
}
.Single--content em {
  font-style: italic;
}
.Single--content b {
  font-weight: bold;
}
.Single--content mark {
  display: inline;
  background-color: #fffb7b;
  color: #0A2956;
}
.Single--content blockquote {
  margin: 30px 0px  ;
  padding: 40px 30px  ;
  display: block;
  line-height: 1.8;
  font-size: 1.2rem;
  border: 1px solid #dcdcdc;
  color: rgba(33, 33, 33, 0.8);
}
@media only screen and (max-width: 1920px) {
  .Single--content blockquote {
    margin: 1.5625vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content blockquote {
    margin: 7.6923076923vw 0vw  ;
  }
}
@media only screen and (max-width: 1920px) {
  .Single--content blockquote {
    padding: 2.0833333333vw 1.5625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content blockquote {
    padding: 10.2564102564vw 7.6923076923vw  ;
  }
}
.Single--content blockquote p {
  margin: 0;
}
.Single--content blockquote p + p {
  margin-top: 30px;
}
.Single--content a {
  color: #00428D;
  text-decoration: underline;
}
@media only screen and (min-width: 769px) {
  .Single--content a:hover {
    text-decoration: none;
  }
}
.Single--content .aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.Single--content .alignright {
  float: right;
}
.Single--content .alignleft {
  float: left;
}
.Single--content img[class*=attachment-],
.Single--content img[class*=wp-image-] {
  height: auto;
  max-width: 100%;
}
.Single--content ul,
.Single--content ol {
  margin: 30px 0px  ;
}
@media only screen and (max-width: 1920px) {
  .Single--content ul,
  .Single--content ol {
    margin: 1.5625vw 0vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content ul,
  .Single--content ol {
    margin: 7.6923076923vw 0vw  ;
  }
}
.Single--content ul li,
.Single--content ol li {
  line-height: 1.8;
}
.Single--content ul li + li,
.Single--content ol li + li {
  margin-top: 12px  ;
}
@media only screen and (max-width: 1920px) {
  .Single--content ul li + li,
  .Single--content ol li + li {
    margin-top: 0.625vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content ul li + li,
  .Single--content ol li + li {
    margin-top: 3.0769230769vw  ;
  }
}
.Single--content ul {
  padding-left: 20px  ;
  list-style-type: disc;
}
@media only screen and (max-width: 1920px) {
  .Single--content ul {
    padding-left: 1.0416666667vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content ul {
    padding-left: 5.1282051282vw  ;
  }
}
.Single--content ol {
  counter-reset: num;
}
.Single--content ol li {
  padding-left: 24px  ;
  position: relative;
}
@media only screen and (max-width: 1920px) {
  .Single--content ol li {
    padding-left: 1.25vw  ;
  }
}
@media only screen and (max-width: 768px) {
  .Single--content ol li {
    padding-left: 6.1538461538vw  ;
  }
}
.Single--content ol li:before {
  counter-increment: num;
  content: counter(num) ".";
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
}

@media only screen and (max-width: 768px) {
  p {
    line-height: 2;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .sp-i {
    display: inline !important;
  }
  .flex {
    display: block;
  }
  .col-sm-1 {
    width: 100%;
  }
  .tc-sp {
    text-align: center;
  }
  .tj-sp {
    text-align: justify;
  }
  .tr-sp {
    text-align: right;
  }
  .mx-sm-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
/*# sourceMappingURL=style.css.map */
