@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap");
/* Box sizing rules */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
ul,
ol,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*==ふわっと出現させるためのCSS*/
/*　上に上がる動き　*/
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
/*　下に下がる動き　*/
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
}

a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  text-decoration: none;
  color: #fff;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-visible__pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .u-visible__pc {
    display: inline;
  }
}

.u-visible__sp {
  display: inline;
}
@media screen and (min-width: 1025px) {
  .u-visible__sp {
    display: none;
  }
}

.u-visible__tab {
  display: none;
}
@media screen and (min-width: 600px) {
  .u-visible__tab {
    display: inline;
  }
}

.l-header {
  background: transparent;
  position: fixed;
  width: 100%;
  z-index: 5;
}
.l-header.is-scroll {
  background-color: rgba(12, 74, 116, .8);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.l-header__inner {
  padding: clamp(20px, 3.33vw, 40px) clamp(20px, 6.67vw, 80px);
  padding: clamp(1.25rem, 3.33vw, 2.5rem) clamp(1.25rem, 6.67vw, 5rem);
}

.l-main {
  overflow: hidden;
}

.l-footer {
  background-color: #328cc0;
  padding-top: 60px;
  padding-top: 3.75rem;
  padding-bottom: 60px;
  padding-bottom: 3.75rem;
}
.l-footer__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
}

.c-btn {
  display: block;
  color: #fff;
  text-transform: uppercase;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0.75em 3em;
  border-radius: 23.4px;
  line-height: 1;
  letter-spacing: 1px;
  border: none;
  cursor: pointer;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-btn__primary {
  background-color: #0b3c5d;
}
.c-btn__primary:hover {
  color: #0b3c5d;
  background-color: #fff;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-btn__submit {
  background-color: #d9b312;
  border: 2px solid #d9b312;
}
.c-btn__submit:hover {
  background-color: #fff;
  color: #d9b312;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.c-hg-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 50px;
  padding: 0;
  position: fixed;
  background: transparent;
  border: none;
}
@media screen and (min-width: 600px) {
  .c-hg-btn {
    display: none;
  }
}
.c-hg-btn:hover {
  cursor: pointer;
}
.c-hg-btn.is-open {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-hg-btn__line {
  display: block;
  height: 3px;
  width: 100%;
  background-color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
}
.c-hg-btn__line.is-open {
  background-color: transparent;
}
.c-hg-btn__line:first-child {
  position: absolute;
  -webkit-transform: translateY(-12px);
          transform: translateY(-12px);
}
.c-hg-btn__line:first-child.is-open {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  background-color: #fff;
}
.c-hg-btn__line:last-child {
  position: absolute;
  -webkit-transform: translateY(12px);
          transform: translateY(12px);
}
.c-hg-btn__line:last-child.is-open {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  background-color: #fff;
}

.c-title {
  color: #0b3c5d;
  line-height: 1.4;
  display: inline-block;
}
.c-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: -0.2em;
  content: "";
}
.c-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: -0.2em;
  content: "";
}
.c-title__main {
  text-transform: uppercase;
  margin-right: 10px;
  margin-right: 0.625rem;
  font-size: clamp(30px, 25.456px + 1.21vw, 40px);
  font-size: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
  font-style: italic;
  letter-spacing: 0.025em;
}
.c-title__main > span {
  color: #d9b312;
}
.c-title__sub {
  font-size: clamp(20px, 2vw, 24px);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}
.c-title--white {
  color: #fff;
}

.c-box {
  width: 100%;
}
@media screen and (min-width: 600px) {
  .c-box {
    width: clamp(34.375rem, 86.66%, 53.75rem);
    margin: 0 auto;
  }
}
.c-box__image {
  position: relative;
}
@media screen and (min-width: 600px) {
  .c-box__image {
    aspect-ratio: 1040/390;
    -webkit-clip-path: polygon(17% 0%, 100% 0%, 83% 100%, 0% 100%);
            clip-path: polygon(17% 0%, 100% 0%, 83% 100%, 0% 100%);
  }
}
.c-box__image::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
}
.c-box__body {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(420px, 90%);
  width: min(26.25rem, 90%);
}
@media screen and (min-width: 1025px) {
  .c-box__body {
    top: 45%;
  }
}
.c-box__title {
  background-color: #328cc0;
  color: #fff;
  font-size: clamp(20px, 17.728px + 0.61vw, 25px);
  font-size: clamp(1.25rem, 1.108rem + 0.61vw, 1.5625rem);
  line-height: 1;
  padding: 0.5em 1em;
}
.c-box__text {
  line-height: 1.6470588235;
  color: #fff;
  margin-top: clamp(20px, 6.368px + 3.64vw, 50px);
  margin-top: clamp(1.25rem, 0.398rem + 3.64vw, 3.125rem);
}

.c-line {
  display: inline-block;
  height: 4px;
  background-color: #d9b312;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-line::after {
  content: "";
  background-color: #d9b312;
  display: inline-block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
}
.c-line--top {
  width: 55vw;
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 600px) {
  .c-line--top {
    width: 45vw;
  }
}
.c-line--top-long {
  width: 72.5vw;
}
.c-line--bottom {
  width: 72.5vw;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: auto;
}

.p-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-header__logo {
  aspect-ratio: 111/56;
  width: 110px;
  width: 6.875rem;
}
.p-header__logo > a {
  display: inline-block;
}
.p-header__nav {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  left: 0;
  top: 0;
  padding: 60px 20px;
  padding: 3.75rem 1.25rem;
}
.p-header__nav.is-open {
  background-color: rgba(12, 74, 116, .8);
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (min-width: 600px) {
  .p-header__nav {
    padding: 3.75rem 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: inherit;
    position: inherit;
    padding: 0;
  }
}
@media screen and (min-width: 600px) {
  .p-header__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-header__link {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.p-header__link:hover {
  -webkit-transform: translateY(-0.3125rem);
          transform: translateY(-0.3125rem);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.p-header__link:nth-child(n+2) {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .p-header__link:nth-child(n+2) {
    margin-top: 0;
    margin-left: 3.4375rem;
    margin-left: clamp(1.25rem, -0.938rem + 5.83vw, 3.4375rem);
  }
}
.p-header__link > a {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.125rem;
}
.p-header__btn {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .p-header__btn {
    margin-top: 0;
    margin-left: 3.125rem;
    margin-left: clamp(1.25rem, -0.938rem + 5.83vw, 3.125rem);
  }
}
.p-header__hg-btn {
  top: 30px;
  top: 1.875rem;
  right: 30px;
  right: 1.875rem;
}

.p-top {
  background-image: url(../../assets/images/top.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  padding-top: 100px;
  padding-top: 6.25rem;
}
@media screen and (min-width: 1025px) {
  .p-top {
    height: max(37.5rem, 45vh);
  }
}
.p-top__title {
  color: #fff;
  padding: 0 10px;
  padding: 0 0.625rem;
  line-height: 1.6;
  font-size: clamp(30px, 16.367px + 3.64vw, 60px);
  font-size: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem);
  font-style: italic;
}
@media screen and (min-width: 600px) {
  .p-top__title {
    letter-spacing: 0.05em;
  }
}
.p-top__title > span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(0%, rgba(217, 179, 18, .3)));
  background: linear-gradient(transparent 45%, rgba(217, 179, 18, .3) 0%);
}
@media screen and (min-width: 600px) {
  .p-top__title > span {
    padding: 0 0.625rem;
  }
}
.p-top__title--small {
  font-size: clamp(24px, 8.64px + 3.03vw, 45px);
  font-size: clamp(1.5rem, 0.54rem + 3.03vw, 2.8125rem);
}

.p-message {
  background-color: #0b3c5d;
  padding-top: clamp(60px, 23.632px + 9.7vw, 140px);
  padding-top: clamp(3.75rem, 1.477rem + 9.7vw, 8.75rem);
  padding-bottom: clamp(40px, 28.64px + 3.03vw, 65px);
  padding-bottom: clamp(2.5rem, 1.79rem + 3.03vw, 4.0625rem);
  background-image: radial-gradient(circle at 50%, #0c4a74 40%, transparent 40%);
  background-position: top -200px right 100px;
  background-position: top -12.5rem right 6.25rem;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  .p-message {
    background-image: radial-gradient(62.5rem 62.5rem, #0c4a74 50%, transparent 40%);
    background-position: top 0.3125rem right 12.5rem;
  }
}
.p-message__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
}
.p-message__title {
  padding-left: clamp(0px, -120px + 20vw, 120px);
  padding-left: clamp(0rem, -7.5rem + 20vw, 7.5rem);
}
.p-message__line--top {
  margin-top: 15px;
  margin-top: 0.9375rem;
}
.p-message__wrapper {
  padding-left: clamp(0px, -120px + 20vw, 120px);
  padding-left: clamp(0rem, -7.5rem + 20vw, 7.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
}
@media screen and (min-width: 600px) {
  .p-message__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-message__body {
  width: 100%;
  margin-top: 5%;
}
@media screen and (min-width: 600px) {
  .p-message__body {
    width: min(20.625rem, 35.8%);
    margin-top: 0;
    margin-right: 5%;
  }
}
.p-message__text {
  line-height: 1.6470588235;
  color: #fff;
}
.p-message__text:not(:first-child) {
  margin-top: 17px;
  margin-top: 1.0625rem;
}
.p-message__image {
  aspect-ratio: 545/430;
  width: 100%;
}
@media screen and (min-width: 600px) {
  .p-message__image {
    width: min(34.0625rem, 59.2%);
  }
}

.p-about {
  padding-top: clamp(60px, 23.632px + 9.7vw, 140px);
  padding-top: clamp(3.75rem, 1.477rem + 9.7vw, 8.75rem);
  padding-bottom: clamp(40px, 28.64px + 3.03vw, 65px);
  padding-bottom: clamp(2.5rem, 1.79rem + 3.03vw, 4.0625rem);
  background-image: radial-gradient(4.0625rem 4.0625rem, #ede8d1 50%, transparent 50%), radial-gradient(1.875rem 1.875rem, #ede8d1 50%, transparent 50%), radial-gradient(5rem 5rem, #ede8d1 50%, transparent 50%), radial-gradient(1.875rem 1.875rem, #ede8d1 50%, transparent 50%), radial-gradient(7.8125rem 7.8125rem, #ede8d1 50%, transparent 50%), radial-gradient(3.125rem 3.125rem, #ede8d1 50%, transparent 50%);
  background-position: bottom 200px left 150px, top 140px left 200px, top 180px left 160px, bottom 170px right 150px, bottom 90px right 190px, top 140px right 150px;
  background-position: bottom 12.5rem left 9.375rem, top 8.75rem left 12.5rem, top 11.25rem left 10rem, bottom 10.625rem right 9.375rem, bottom 5.625rem right 11.875rem, top 8.75rem right 9.375rem;
  background-repeat: no-repeat;
}
@media screen and (min-width: 600px) {
  .p-about {
    background-position: bottom 12.5rem left 15.625rem, top 8.75rem left 18.75rem, top 11.25rem left 22.5rem, bottom 10.625rem right 15.625rem, bottom 5.625rem right 18.125rem, top 8.75rem right 20rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-about {
    background-position: bottom 12.5rem left 25rem, top 8.75rem left 31.25rem, top 11.25rem left 35rem, bottom 10.625rem right 28.125rem, bottom 5.625rem right 34.375rem, top 8.75rem right 30rem;
  }
}
.p-about__inner {
  width: min(90%, 800px);
  width: min(90%, 50rem);
  margin: 0 auto;
  text-align: center;
}
.p-about__title-main {
  display: block;
  color: #efdf9d;
  text-transform: uppercase;
  font-size: clamp(45px, 22.272px + 6.06vw, 95px);
  font-size: clamp(2.8125rem, 1.392rem + 6.06vw, 5.9375rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-about__title-main::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: -0.25em;
  content: "";
}
.p-about__title-main::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: -0.25em;
  content: "";
}
.p-about__title-sub {
  display: block;
  color: #0b3c5d;
  font-size: clamp(20px, 10.912px + 2.42vw, 40px);
  font-size: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem);
  line-height: 1.5;
  margin-top: -8%;
  letter-spacing: 0.05em;
}
.p-about__title-sub::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: -0.25em;
  content: "";
}
.p-about__title-sub::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: -0.25em;
  content: "";
}
.p-about__body {
  margin-top: clamp(30px, 16.367px + 3.64vw, 60px);
  margin-top: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem);
}
.p-about__text {
  line-height: 1.6470588235;
  color: #1d2731;
}
.p-about__text:not(:first-child) {
  margin-top: 20px;
  margin-top: 1.25rem;
}
.p-about__banner {
  aspect-ratio: 1200/375;
}

.p-service {
  background-color: #0b3c5d;
  background-repeat: no-repeat;
  padding-top: clamp(60px, 23.632px + 9.7vw, 140px);
  padding-top: clamp(3.75rem, 1.477rem + 9.7vw, 8.75rem);
  padding-bottom: clamp(40px, 28.64px + 3.03vw, 65px);
  padding-bottom: clamp(2.5rem, 1.79rem + 3.03vw, 4.0625rem);
  background-image: radial-gradient(circle at 100%, #0c4a74 60%, transparent 60%);
  background-position: top -200px left 100px;
  background-position: top -12.5rem left 6.25rem;
}
@media screen and (min-width: 600px) {
  .p-service {
    background-image: radial-gradient(circle at 100%, #0c4a74 70%, transparent 70%);
    background-position: top -3.125rem left 12.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-service {
    background-image: radial-gradient(93.75rem 93.75rem, #0c4a74 40%, transparent 40%);
    background-position: top 1.25rem left 31.25rem;
  }
}
.p-service__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
}
.p-service__title {
  padding-left: clamp(0px, -120px + 20vw, 120px);
  padding-left: clamp(0rem, -7.5rem + 20vw, 7.5rem);
}
.p-service__line--top {
  margin-top: 15px;
  margin-top: 0.9375rem;
}
.p-service__body {
  padding-top: 50px;
  padding-top: 3.125rem;
  padding-bottom: 70px;
  padding-bottom: 4.375rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 600px) {
  .p-service__body {
    width: inherit;
    margin-left: 0;
  }
}
.p-service__box:not(:first-of-type) {
  margin-top: clamp(40px, 17.28px + 6.06vw, 90px);
  margin-top: clamp(2.5rem, 1.08rem + 6.06vw, 5.625rem);
}

.p-news {
  padding-top: clamp(60px, 25.904px + 9.09vw, 135px);
  padding-top: clamp(3.75rem, 1.619rem + 9.09vw, 8.4375rem);
  padding-bottom: clamp(60px, 25.904px + 9.09vw, 135px);
  padding-bottom: clamp(3.75rem, 1.619rem + 9.09vw, 8.4375rem);
  background-image: radial-gradient(7.8125rem 7.8125rem, #ede8d1 50%, transparent 50%), radial-gradient(2.5rem 2.5rem, #ede8d1 50%, transparent 50%), radial-gradient(3.75rem 3.75rem, #ede8d1 50%, transparent 50%), radial-gradient(5.625rem 5.625rem, #ede8d1 50%, transparent 50%), radial-gradient(5.625rem 5.625rem, #ede8d1 50%, transparent 50%), radial-gradient(2.1875rem 2.1875rem, #ede8d1 50%, transparent 50%);
  background-position: top -340px left 130px, top -360px right 150px, top 380px right 350px, bottom 110px right 150px, top 340px left 120px;
  background-position: top -21.25rem left 8.125rem, top -22.5rem right 9.375rem, top 23.75rem right 21.875rem, bottom 6.875rem right 9.375rem, top 21.25rem left 7.5rem;
}
@media screen and (min-width: 1025px) {
  .p-news {
    background-position: bottom 71.875rem left 31.25rem, bottom 65.625rem left 34.375rem, top 20rem left 30rem, top 21.875rem left 37.5rem, bottom 73.75rem right 28.125rem, bottom 5rem right 33.125rem;
  }
}
.p-news__inner {
  width: min(90%, 800px);
  width: min(90%, 50rem);
  margin: 0 auto;
}
.p-news__list {
  margin-top: 50px;
  margin-top: 3.125rem;
}
.p-news__item:not(:first-of-type) {
  margin-top: 45px;
  margin-top: 2.8125rem;
}
.p-news__date {
  color: #1d2731;
}
.p-news__link {
  display: block;
  color: #1d2731;
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  border-bottom: solid 2px #0b3c5d;
  line-height: 1.4;
}
.p-news__text {
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  border-bottom: solid 2px #0b3c5d;
  line-height: 1.4;
}

.p-contact {
  background-color: #0b3c5d;
  padding-top: clamp(60px, 23.632px + 9.7vw, 140px);
  padding-top: clamp(3.75rem, 1.477rem + 9.7vw, 8.75rem);
  padding-bottom: clamp(40px, 28.64px + 3.03vw, 65px);
  padding-bottom: clamp(2.5rem, 1.79rem + 3.03vw, 4.0625rem);
  background-image: radial-gradient(circle at 25%, #0c4a74 40%, transparent 40%);
  background-position: top -300px right 100px;
  background-position: top -18.75rem right 6.25rem;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  .p-contact {
    background-image: radial-gradient(62.5rem 62.5rem, #0c4a74 55%, transparent 55%);
    background-position: top 3.125rem right 25rem;
  }
}
.p-contact__inner {
  width: min(90%, 800px);
  width: min(90%, 50rem);
  margin: 0 auto;
}
.p-contact__line--top {
  margin-top: 15px;
  margin-top: 0.9375rem;
}
.p-contact__form {
  padding-top: 50px;
  padding-top: 3.125rem;
  padding-bottom: 70px;
  padding-bottom: 4.375rem;
}
.p-contact__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: 7%;
     -moz-column-gap: 7%;
          column-gap: 7%;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-contact__label > span {
  width: 100%;
}
@media screen and (min-width: 600px) {
  .p-contact__label > span {
    width: 23%;
  }
}
.p-contact__label:not(:first-of-type) {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .p-contact__label:not(:last-of-type) {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-contact__label:last-of-type > span {
  margin-top: 15px;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 600px) {
  .p-contact__label {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-contact__required {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-contact__required::after {
  content: "*";
  display: inline-block;
  color: #d9b312;
  margin-left: 10px;
  margin-left: 0.625rem;
  font-size: 18px;
  font-size: 1.125rem;
}
.p-contact input[type=text],
.p-contact input[type=email],
.p-contact input[type=tel],
.p-contact textarea {
  display: inline-block;
  background-color: #f4f4f4;
  border: none;
  border-radius: 20px;
  padding: 10px 10px;
  padding: 0.625rem 0.625rem;
  font-size: 20px;
  font-size: 1.25rem;
  width: 100%;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (min-width: 600px) {
  .p-contact input[type=text],
  .p-contact input[type=email],
  .p-contact input[type=tel],
  .p-contact textarea {
    width: min(36.25rem, 70%);
    margin-top: 0;
  }
}
.p-contact__btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-contact__btn {
  margin-left: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.mw_wp_form .error {
  margin-left: auto;
}

.mw_wp_form p {
  color: #fff;
}

.p-footer__logo {
  aspect-ratio: 111/56;
  width: 110px;
  width: 6.875rem;
}
.p-footer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  margin-top: 2.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 600px) {
  .p-footer__body {
    -webkit-column-gap: 7%;
       -moz-column-gap: 7%;
            column-gap: 7%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-footer__address {
  color: #fff;
  font-style: normal;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-footer__policy {
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (min-width: 600px) {
  .p-footer__policy {
    margin-top: 0;
  }
}
.p-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .p-footer__sns {
    margin-top: 0;
  }
}
.p-footer__item:not(:first-of-type) {
  margin-left: 45px;
  margin-left: 2.8125rem;
}
.p-footer__link {
  aspect-ratio: 53/53;
}
.p-footer__copy-right {
  font-size: 12px;
  font-size: 0.75rem;
  color: #fff;
  margin-top: 50px;
  margin-top: 3.125rem;
}

.p-recruit {
  background-color: #0b3c5d;
  padding-top: 300px;
  padding-top: 18.75rem;
  padding-bottom: 300px;
  padding-bottom: 18.75rem;
}
.p-recruit__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
  color: #fff;
}

.p-privacy-policy {
  background-color: #0c4a74;
  padding-bottom: 150px;
  padding-bottom: 9.375rem;
}
.p-privacy-policy__spacer {
  height: 15vh;
}
.p-privacy-policy__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
  color: #fff;
}
.p-privacy-policy__inner h2 {
  margin-top: 40px;
  margin-top: 2.5rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}
.p-privacy-policy__inner p {
  line-height: 1.4;
}

.p-company__inner {
  width: min(90%, 1040px);
  width: min(90%, 65rem);
  margin: 0 auto;
  color: #fff;
}
.p-company__top {
  background-image: url(../../assets/images/company-top.png);
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 100px;
  padding-top: 6.25rem;
}
@media screen and (min-width: 1025px) {
  .p-company__top {
    height: max(37.5rem, 45vh);
  }
}
.p-company__title {
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.05em;
  font-size: 50px;
  font-size: 3.125rem;
  line-height: 1.5;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  padding: 0 10px;
  padding: 0 0.625rem;
}
.p-company__title > span {
  color: #d9b312;
}
.p-company__greeting {
  padding: 70px 0;
  padding: 4.375rem 0;
}
.p-company__info {
  padding-top: clamp(60px, -90px + 21.67vw, 140px);
  padding-top: clamp(3.75rem, -5.625rem + 21.67vw, 8.75rem);
  padding-bottom: 140px;
  padding-bottom: 8.75rem;
}
.p-greeting {
  background-color: #0b3c5d;
  background-image: url(../../assets/images/greeting-back.png);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 600px) {
  .p-greeting {
    background-size: 120% auto;
    background-position: right 170% top 120%;
  }
}
@media screen and (min-width: 1025px) {
  .p-greeting {
    background-size: 80% auto;
    background-position: right -60% top 105%;
  }
}
.p-greeting__inner {
  width: min(90%, 800px);
  width: min(90%, 50rem);
  margin: 0 auto;
  padding: 65px 0;
  padding: 4.0625rem 0;
}
.p-greeting__title {
  background-color: #328cc0;
  color: #fff;
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 600px) {
  .p-greeting__title {
    background: linear-gradient(115deg, #328cc0 0%, #328cc0 55%, transparent 55%, transparent 100%);
  }
}
.p-greeting__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 12px;
  padding-top: 0.75rem;
  padding-bottom: 12px;
  padding-bottom: 0.75rem;
}
.p-greeting__title-main {
  line-height: 1.5;
  display: inline-block;
  text-transform: uppercase;
  margin-right: 15px;
  margin-right: 0.9375rem;
  font-size: clamp(30px, 25.456px + 1.21vw, 40px);
  font-size: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
  font-style: italic;
}
.p-greeting__title-main::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: -0.25em;
  content: "";
}
.p-greeting__title-main::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: -0.25em;
  content: "";
}
.p-greeting__title-main > span {
  color: #d9b312;
}
.p-greeting__title-sub {
  display: inline-block;
  font-size: 20px;
  font-size: 1.25rem;
}
.p-greeting__body {
  color: #fff;
  margin-top: 45px;
  margin-top: 2.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 1025px) {
  .p-greeting__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 6%;
  }
}
.p-greeting__message {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (min-width: 1025px) {
  .p-greeting__message {
    width: 47%;
    margin-top: 0;
  }
}
.p-greeting__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
}
.p-greeting__text:not(:first-of-type) {
  margin-top: 2em;
}
.p-greeting__outher {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 45px;
  margin-top: 2.8125rem;
  text-align: right;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.p-greeting__outher > span {
  font-size: 25px;
  font-size: 1.5625rem;
}
.p-greeting__image--sp {
  display: block;
  aspect-ratio: 650/400;
}
@media screen and (min-width: 1025px) {
  .p-greeting__image--sp {
    display: none;
  }
}
.p-greeting__image--pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .p-greeting__image--pc {
    display: block;
    width: 47%;
    aspect-ratio: 360/680;
  }
}

.p-info {
  background-color: #f4f4f4;
  background-image: radial-gradient(11.875rem 11.875rem, #ede8d1 50%, transparent 50%), radial-gradient(3.125rem 3.125rem, #ede8d1 50%, transparent 50%), radial-gradient(8.125rem 8.125rem, #ede8d1 50%, transparent 50%), radial-gradient(4.0625rem 4.0625rem, #ede8d1 50%, transparent 50%), radial-gradient(9.0625rem 9.0625rem, #ede8d1 50%, transparent 50%), radial-gradient(4.375rem 4.375rem, #ede8d1 50%, transparent 50%), radial-gradient(7.8125rem 7.8125rem, #ede8d1 50%, transparent 50%), radial-gradient(2.5rem 2.5rem, #ede8d1 50%, transparent 50%);
  background-position: bottom 500px left 150px, top 400px left 140px, top 130px right 130px, top 200px left 200px, bottom 100px left 190px, bottom 320px right 200px;
  background-position: bottom 31.25rem left 9.375rem, top 25rem left 8.75rem, top 8.125rem right 8.125rem, top 12.5rem left 12.5rem, bottom 6.25rem left 11.875rem, bottom 20rem right 12.5rem;
  background-repeat: no-repeat;
}
@media screen and (min-width: 600px) {
  .p-info {
    background-position: bottom 21.875rem left 21.875rem, bottom 12.5rem left 12.5rem, top 23.75rem right 21.875rem, bottom 11.25rem right 21.875rem, top 12.5rem left 25rem, top 25rem left 18.75rem, bottom 23.75rem right 20rem;
  }
}
@media screen and (min-width: 1025px) {
  .p-info {
    background-position: bottom 21.875rem left 37.5rem, bottom 16.25rem left 28.125rem, top 28.125rem left 33.75rem, top 21.875rem left 28.125rem, bottom 27.5rem right 34.375rem, bottom 10.625rem right 35.625rem, top 21.875rem right 33.75rem, top 30rem right 31.25rem;
  }
}
.p-info__inner {
  width: min(90%, 800px);
  width: min(90%, 50rem);
  margin: 0 auto;
}
.p-info__item {
  font-size: clamp(18px, 12px + 1vw, 24px);
  font-size: clamp(1.125rem, 0.75rem + 1vw, 1.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #0b3c5d;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  padding: 30px 20px;
  padding: 1.875rem 1.25rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 600px) {
  .p-info__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 1.875rem 1.25rem 1.875rem 5.3125rem;
  }
}
@media screen and (min-width: 600px) {
  .p-info__item > dt {
    width: 25%;
  }
}
.p-info__item > dd {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (min-width: 600px) {
  .p-info__item > dd {
    margin-top: 0;
    width: 75%;
  }
}
.p-info__item-services {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (min-width: 600px) {
  .p-info__item-services {
    margin-top: 0;
  }
}