@charset "UTF-8";
/* background --------------------------------------------------------------------------- */
/* レイアウト  --------------------------------------------------------------------------- */
/* パーツ -------------------------------------------------------------------- */
/* 装飾 -------------------- */
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
  scroll-behavior: smooth; }

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  margin: 0;
  padding: 0; }

hr {
  color: inherit;
  height: 0;
  overflow: visible; }

details, main {
  display: block; }

summary {
  display: list-item; }

small {
  font-size: 80%; }

[hidden] {
  display: none; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

a {
  background-color: transparent; }

a:active, a:hover {
  outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

pre {
  font-size: 1em; }

b, strong {
  font-weight: bolder; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

table {
  border-color: inherit;
  text-indent: 0; }

iframe {
  border-style: none; }

input {
  border-radius: 0; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit; }

[disabled] {
  cursor: default; }

img, svg, video {
  border-style: none;
  display: block;
  max-width: 100%; }

progress {
  vertical-align: baseline; }

[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled=true] {
  cursor: default; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

:focus:not(:focus-visible) {
  outline: none; }

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px; }

/* base ////////////////////////////////////////////////////////////////////////// */
html {
  position: relative;
  overflow-x: hidden; }

h1, h2, h3, h4, h5, h6, p, ol, ul, li, dl, dt, dd, section, figure {
  font-feature-settings: "palt"; }

h1, h2, h3, h4, h5, h6 {
  margin: 0px 0px 1em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }

p, ul, ol, li, dl {
  line-height: 1.6; }

p {
  margin: 0px 0px 1.5em;
  text-align: justify; }

ul, ol {
  margin: 0px 0px 1.5em 1.5em; }

img {
  height: auto; }

body {
  font-size: 16px;
  overflow-wrap: break-word;
  word-break: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  background-color: #fff; }

body.fixed {
  position: fixed;
  width: 100%; }

a {
  color: #002c99;
  transition: 0.2s; }

@media screen and (min-width: 1200px) {
  header {
    padding: 10px 2vw 10px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    header .site-id img {
      width: 220px; } }
@media screen and (max-width: 1199px) {
  header {
    padding: 8px 0vw;
    height: 50px; }
    header .site-id {
      margin-left: 2vw; }
      header .site-id img {
        width: auto;
        height: 34px; } }

@media screen and (min-width: 1200px) {
  #global-navi-toggle {
    display: none; } }
@media screen and (max-width: 1199px) {
  #global-navi-toggle {
    position: fixed;
    z-index: 110;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background-color: #002c99;
    color: #fff; }
    #global-navi-toggle:hover {
      opacity: 0.7; }
    #global-navi-toggle .gr-toggle-menu {
      display: block;
      font-size: 9px;
      line-height: 9px; }
      #global-navi-toggle .gr-toggle-menu:before {
        display: block;
        padding: 0px;
        font-family: 'Material Symbols Rounded';
        content: "\e5d2";
        font-size: 28px;
        line-height: 50px; }
    #global-navi-toggle .gr-toggle-menu-close {
      display: none;
      font-size: 9px;
      line-height: 9px; }
      #global-navi-toggle .gr-toggle-menu-close:before {
        display: block;
        padding: 0px;
        font-family: 'Material Symbols Rounded';
        content: "\e5cd";
        font-size: 28px;
        line-height: 50px; }
    #global-navi-toggle.active .gr-toggle-menu {
      display: none; }
    #global-navi-toggle.active .gr-toggle-menu-close {
      display: block; } }

@media screen and (min-width: 1200px) {
  nav {
    margin: 0px;
    padding: 0px; }

  ul.gl-nav-1st-wrap {
    margin: 0px;
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap; }

  li.gl-nav-1st {
    margin: 0px 0px 0px 2em; }
    li.gl-nav-1st a {
      display: block;
      padding: 6px 0px 4px;
      color: #000;
      text-decoration: none;
      border-color: #fff;
      border-style: solid;
      border-width: 0px 0px 2px; }
      li.gl-nav-1st a:hover {
        color: #002c99;
        border-color: #002c99; } }
@media screen and (max-width: 1199px) {
  .global-navi {
    margin: 0px;
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    padding: 50px 0px 100px;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 44, 153, 0.98);
    backdrop-filter: blur(4px);
    overflow-y: scroll; }

  ul.gl-nav-1st-wrap {
    list-style: none;
    margin: 0px; }

  li.gl-nav-1st {
    margin: 0px;
    border-color: rgba(255, 255, 255, 0.2);
    border-style: solid;
    border-width: 0px 0px 1px; }
    li.gl-nav-1st a {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1em;
      color: #fff;
      text-decoration: none; }
      li.gl-nav-1st a:after {
        font-size: 24px;
        font-family: 'Material Symbols Rounded';
        content: "\e5cc"; }
      li.gl-nav-1st a:hover {
        color: #002c99;
        background-color: rgba(0, 0, 0, 0.2);
        background-color: #fff; } }
footer {
  padding: 4vw;
  color: #fff;
  background-color: #002c99; }
  footer a {
    color: #fff;
    text-decoration: none; }
    footer a:hover {
      color: rgba(255, 255, 255, 0.7); }

@media screen and (min-width: 1025px) {
  .f-wrap {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap; } }

.f-corp figure {
  margin: 0px 0px 10px; }
  .f-corp figure img {
    width: 220px; }
.f-corp h2 {
  font-size: 16px; }
.f-corp p {
  font-size: 14px; }
@media screen and (max-width: 1024px) {
  .f-corp {
    text-align: center; }
    .f-corp figure {
      margin: 0px auto 10px; }
      .f-corp figure img {
        margin: auto;
        width: auto;
        height: 34px; }
    .f-corp h2 {
      text-align: center; }
    .f-corp p {
      text-align: center; } }

@media screen and (min-width: 700px) {
  .f-nav {
    display: flex;
    justify-content: center; }
    .f-nav ul {
      margin: 0px;
      padding: 0px 2em;
      list-style: none;
      border-color: rgba(255, 255, 255, 0.3);
      border-style: solid;
      border-width: 0px 0px 0px 1px;
      font-size: 14px; } }
@media screen and (max-width: 699px) {
  .f-nav {
    border-color: rgba(255, 255, 255, 0.3);
    border-style: solid;
    border-width: 0px 0px 1px; }
    .f-nav ul {
      margin: 0px;
      padding: 0px;
      list-style: none;
      border-color: rgba(255, 255, 255, 0.3);
      border-style: solid;
      border-width: 0px 0px;
      font-size: 14px; }
      .f-nav ul a {
        display: block;
        padding: 0.5em;
        border-color: rgba(255, 255, 255, 0.3);
        border-style: solid;
        border-width: 1px 0px 0px; }
        .f-nav ul a:hover {
          background-color: rgba(0, 0, 0, 0.1); } }

p.copyright {
  margin: 2em auto;
  text-align: center;
  font-size: 14px; }

.home-1st-view {
  margin: 0px;
  background-image: url("../images/home-1st-view.webp");
  background-position: center;
  background-size: cover; }

.home-1st-view-cont {
  padding: 4vw;
  width: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%); }
  .home-1st-view-cont h2 {
    margin: 0px 0px 0.5em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 48px;
    color: #002c99;
    text-shadow: 1px 1px 6px rgba(255, 255, 255, 0.9); }
  .home-1st-view-cont p {
    margin: 0px 0px 1em;
    font-size: 16px;
    line-height: 2;
    text-shadow: 1px 1px 6px rgba(255, 255, 255, 0.9); }
    .home-1st-view-cont p:last-child {
      margin: 0px; }
  @media screen and (max-width: 1024px) {
    .home-1st-view-cont {
      background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0.6) 80%, rgba(255, 255, 255, 0) 100%); } }
  @media screen and (max-width: 799px) {
    .home-1st-view-cont {
      padding: 6vw 4vw;
      background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.9) 40%, rgba(255, 255, 255, 0.84) 60%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0.4) 100%); }
      .home-1st-view-cont h2 {
        font-size: 36px; } }
  @media screen and (max-width: 499px) {
    .home-1st-view-cont h2 {
      font-size: 30px; } }

.home-outer {
  padding: 4vw 0vw 2vw;
  background-color: #F9FBFF; }
  @media screen and (max-width: 1199px) {
    .home-outer {
      padding: 4vw 4vw 2vw; } }

section.home-sec {
  margin: 4vw auto;
  max-width: 1180px; }
  section.home-sec:first-child {
    margin: 0px auto 4vw; }
  section.home-sec:last-child {
    margin: 4vw auto 0px; }

.home-news-wrap {
  padding: 1em;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px;
  border-radius: 8px;
  background-color: #fff; }
  .home-news-wrap h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 28px;
    color: #002c99; }
    .home-news-wrap h2 span {
      display: block;
      color: #FC0000;
      font-size: 14px; }
  @media screen and (min-width: 1200px) {
    .home-news-wrap {
      display: flex; }
      .home-news-wrap h2 {
        flex-shrink: 0;
        margin: 0px 2em 0px 0px; }
        .home-news-wrap h2:after {
          display: block;
          margin: 10px 0px 0px 0px;
          content: "";
          height: 4px;
          background: linear-gradient(to right, #002c99 50%, #4169e1 50%); } }
  @media screen and (max-width: 1199px) {
    .home-news-wrap h2 {
      text-align: center; } }
  @media screen and (max-width: 499px) {
    .home-news-wrap h2 {
      font-size: 20px; } }

.home-news-box-wrap {
  width: 100%; }
  .home-news-box-wrap .btn {
    margin: 1em 0px 1em auto; }

.news-box {
  display: flex;
  padding: 0.5em 0px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 0px 0px 1px;
  width: 100%; }
  .news-box .news-box-date {
    flex-shrink: 0;
    width: 7em; }
  .news-box .news-box-cat {
    flex-shrink: 0;
    margin: 0px 1em 0px 0px;
    width: 8em;
    text-align: center;
    background-color: #E3ECF8;
    border-radius: 4px; }
  .news-box a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-decoration: none; }
    .news-box a:after {
      margin: 0px 0px 0px 1em;
      padding: 0px 10px;
      content: "→";
      border-color: #002c99;
      border-style: solid;
      border-width: 1px;
      border-radius: 4px; }
    .news-box a:hover:after {
      color: #fff;
      background-color: #002c99; }
  @media screen and (max-width: 799px) {
    .news-box {
      flex-wrap: wrap; }
      .news-box a {
        margin: 0.5em 0px 0px 0px; } }

.home-business-box-wrap h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
  color: #002c99;
  text-align: center; }
  .home-business-box-wrap h2 span {
    display: block;
    color: #FC0000;
    font-size: 14px; }
.home-business-box-wrap .btn-wrap {
  margin: 2em auto;
  text-align: center; }
  .home-business-box-wrap .btn-wrap a {
    margin: auto; }
@media screen and (max-width: 499px) {
  .home-business-box-wrap h2 {
    font-size: 20px; } }

.home-business-box-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
  @media screen and (max-width: 899px) {
    .home-business-box-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 599px) {
    .home-business-box-list {
      grid-template-columns: repeat(1, 1fr); } }

.home-business-box {
  background-color: #fff;
  border-radius: 6px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px; }
  .home-business-box figure {
    margin: 0px;
    padding: 0px; }
  .home-business-box .home-business-box-cont {
    padding: 0px 1em 2em 1em; }
    .home-business-box .home-business-box-cont h3 {
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 18px;
      color: #002c99; }
  .home-business-box .biz-icon {
    margin: -30px 0px 20px 0px;
    padding: 0px;
    width: 60px;
    height: 60px; }
    .home-business-box .biz-icon img {
      width: 60px;
      height: 60px;
      border-radius: 50%; }

.home-about-wrap {
  margin: 0px 0px 4vw;
  padding: 0px 0px 4vw;
  text-align: center;
  background-image: url("../images/home-landscape.webp");
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100vw; }
  .home-about-wrap h2 {
    margin: 0px 0px 1em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    color: #002c99; }
  .home-about-wrap h3 {
    margin: 0px 0px 0.5em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 28px;
    color: #002c99; }
  .home-about-wrap p {
    margin: 0px 0px 1em;
    font-size: 16px;
    color: #002c99;
    text-align: center; }
  .home-about-wrap br.pc-none {
    display: none; }
  @media screen and (max-width: 1199px) {
    .home-about-wrap {
      margin: 0px -4vw 4vw;
      padding: 0px 4vw 4vw; } }
  @media screen and (max-width: 699px) {
    .home-about-wrap h2 {
      font-size: 16px; }
    .home-about-wrap h3 {
      font-size: 20px; }
    .home-about-wrap br.pc-none {
      display: block; } }
  @media screen and (max-width: 499px) {
    .home-about-wrap h3 {
      font-size: 18px; } }

.home-about-box-list {
  margin: 2em 0px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px; }
  @media screen and (max-width: 1080px) {
    .home-about-box-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 599px) {
    .home-about-box-list {
      grid-template-columns: repeat(1, 1fr); } }

.home-about-box {
  padding: 1em;
  background-color: #fff;
  border-radius: 6px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px;
  display: flex; }
  .home-about-box figure {
    flex-shrink: 0;
    margin: 0px 1em 0px 0px;
    width: 90px;
    height: 90px;
    background-color: #ccc; }
  .home-about-box h4 {
    margin: 0px 0px 1em;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99;
    display: flex;
    text-align: left; }
    .home-about-box h4 span {
      flex-shrink: 0;
      margin: 0px 0.5em 0px 0px; }
  .home-about-box p {
    margin: 0px;
    font-size: 14px;
    text-align: left;
    color: #000; }
  @media screen and (max-width: 499px) {
    .home-about-box figure {
      width: 60px;
      height: 60px; } }

.home-recruit-wrap {
  background-color: #F9FBFF; }
  @media screen and (min-width: 1200px) {
    .home-recruit-wrap {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .home-recruit-wrap figure {
        order: 2;
        margin: 0px;
        width: 60%;
        height: 100%; }
        .home-recruit-wrap figure.img-overlay {
          position: relative;
          overflow: hidden; }
        .home-recruit-wrap figure.img-overlay img {
          display: block;
          width: 100%;
          height: auto;
          height: 100%;
          object-fit: cover; }
        .home-recruit-wrap figure.img-overlay::before {
          content: "";
          position: absolute;
          inset: 0;
          pointer-events: none;
          background: linear-gradient(to right, #F9FBFF 0%, rgba(249, 251, 255, 0) 20%); }
      .home-recruit-wrap section {
        order: 1;
        margin: 0px;
        width: 40%;
        padding: 0px 0px 0px 8vw; }
        .home-recruit-wrap section h2 {
          margin: 0px 0px 0.5em;
          font-family: "Noto Serif JP", serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-size: 28px;
          color: #002c99; } }
  @media screen and (max-width: 1199px) {
    .home-recruit-wrap figure {
      margin: 0px; }
    .home-recruit-wrap section {
      padding: 4vw 4vw 3em; }
      .home-recruit-wrap section h2 {
        margin: 0px 0px 0.5em;
        font-family: "Noto Serif JP", serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-size: 28px;
        color: #002c99; } }
  @media screen and (max-width: 499px) {
    .home-recruit-wrap section {
      padding: 4vw 4vw 2em; }
      .home-recruit-wrap section h2 {
        font-size: 20px; } }

.home-blog-wrap {
  margin: auto auto 0px;
  max-width: 1200px; }
  @media screen and (max-width: 1279px) {
    .home-blog-wrap {
      max-width: 92vw; } }

.breadcrumbs-wrap {
  padding: 10px 4vw; }

.breadcrumb {
  margin: 0px;
  padding: 1em;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  list-style: none;
  font-size: 12px;
  gap: 4px;
  white-space: nowrap;
  scrollbar-width: none;
  background-color: #F9FBFF; }
  .breadcrumb:-webkit-scrollbar {
    display: none; }
  .breadcrumb li {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #444; }
    .breadcrumb li:not(:last-child)::after {
      content: "/";
      margin-left: 4px; }
  .breadcrumb a {
    color: #444; }
    .breadcrumb a:hover {
      color: #002c99; }

.page-1st-view {
  margin: 0px;
  background-position: center;
  background-size: cover; }

.page-1st-view-cont {
  padding: 4vw;
  width: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%); }
  .page-1st-view-cont h2 {
    margin: 0px 0px 0.5em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 48px;
    color: #002c99;
    text-shadow: 1px 1px 6px rgba(255, 255, 255, 0.9); }
    .page-1st-view-cont h2 span {
      display: block;
      font-size: 20px; }
  .page-1st-view-cont p {
    margin: 0px 0px 1em;
    font-size: 16px;
    line-height: 2;
    text-shadow: 1px 1px 6px rgba(255, 255, 255, 0.9); }
    .page-1st-view-cont p:last-child {
      margin: 0px; }
  @media screen and (max-width: 1024px) {
    .page-1st-view-cont {
      background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0.6) 80%, rgba(255, 255, 255, 0) 100%); } }
  @media screen and (max-width: 799px) {
    .page-1st-view-cont {
      padding: 6vw 4vw;
      background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 20%, rgba(255, 255, 255, 0.9) 40%, rgba(255, 255, 255, 0.84) 60%, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0.4) 100%); }
      .page-1st-view-cont h2 {
        font-size: 36px; }
        .page-1st-view-cont h2 span {
          font-size: 16px; } }
  @media screen and (max-width: 499px) {
    .page-1st-view-cont h2 {
      font-size: 30px; } }

.page-wrap {
  margin: auto;
  max-width: 1200px; }
  @media screen and (max-width: 1279px) {
    .page-wrap {
      max-width: 92vw; } }

.page-sec {
  margin: 3em auto 3em; }
  .page-sec h2.sec-title {
    margin: 0px 0px 1.5em;
    text-align: center;
    color: #002c99;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 30px; }
    .page-sec h2.sec-title span {
      font-size: 20px; }
    .page-sec h2.sec-title:after {
      display: block;
      margin: 0.5em auto 0px;
      content: "";
      width: 80px;
      height: 3px;
      background-color: #002c99; }
  @media screen and (max-width: 799px) {
    .page-sec h2.sec-title {
      font-size: 22px; }
      .page-sec h2.sec-title span {
        font-size: 14px; }
      .page-sec h2.sec-title:after {
        width: 60px; } }

.page-sec-header2 {
  margin: 0px 0px 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap; }
  .page-sec-header2 h2 {
    margin: 0px 0px 10px;
    color: #002c99;
    font-size: 28px; }
  .page-sec-header2 a.btn {
    margin: 0px 0px 10px;
    width: 180px; }
  @media screen and (max-width: 799px) {
    .page-sec-header2 {
      margin: 0px 0px 10px; }
      .page-sec-header2 h2 {
        font-size: 20px; } }

ul.sec-blog-list {
  margin: auto;
  max-width: 1200px;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px; }
  @media screen and (max-width: 1279px) {
    ul.sec-blog-list {
      max-width: 92vw; } }
  @media screen and (max-width: 799px) {
    ul.sec-blog-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 499px) {
    ul.sec-blog-list {
      grid-template-columns: repeat(1, 1fr); } }

li.sec-blog-list-box {
  background-color: #fff;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 4px; }
  li.sec-blog-list-box a {
    display: block;
    height: 100%;
    text-decoration: none; }
    li.sec-blog-list-box a figure {
      border-radius: 4px 4px 0px 0px; }
      li.sec-blog-list-box a figure img {
        border-radius: 4px 4px 0px 0px; }
    li.sec-blog-list-box a .cont {
      padding: 1em; }
      li.sec-blog-list-box a .cont h3 {
        margin: 0px 0px 0.5em;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-size: 18px;
        color: #002c99; }
      li.sec-blog-list-box a .cont p {
        margin: 0px 0px 1em;
        font-size: 14px;
        color: #000; }
      li.sec-blog-list-box a .cont p.date {
        text-align: right; }
    li.sec-blog-list-box a:hover {
      opacity: 0.7; }

.col1-body {
  margin: auto auto;
  padding: 0px 4vw; }
  @media screen and (min-width: 1200px) {
    .col1-body {
      max-width: calc(1080px + 4vw + 4vw); } }

.col2-body {
  margin: auto auto; }
  @media screen and (min-width: 1200px) {
    .col2-body {
      padding: 80px 80px;
      max-width: calc(1280px + 80px + 80px);
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 120px; } }
  @media screen and (max-width: 1199px) {
    .col2-body {
      padding: 2em 8vw; }
      .col2-body aside {
        margin: 4em 0px 0px 0px; } }
  @media screen and (max-width: 799px) {
    .col2-body {
      padding: 2em 4vw; } }

/* POST Common ////////////////////////////////////////////////////////////////////////// */
.post-wrap {
  margin: auto;
  padding: 4vw 4vw 6vw;
  max-width: calc(1280px + 4vw + 4vw );
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 60px; }
  @media screen and (max-width: 1024px) {
    .post-wrap {
      grid-template-columns: 1fr; } }

/* POST main ----------------------------------------------- */
.post-headline {
  margin: 0px 0px 0px 0px;
  border-color: #002c99;
  border-style: solid;
  border-width: 0px 0px 0px 0px; }
  .post-headline figure {
    margin: 0px auto 0em auto;
    text-align: center;
    background-color: #f6f6f6; }
    .post-headline figure img {
      margin: auto;
      max-width: 100%; }
  .post-headline h1 {
    margin: 1em 0px 0px 0px;
    padding: 0px 0px 0.3em 0px;
    font-size: 24px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 1px 0px; }
  .post-headline .date {
    margin: 0.5em 0px 4em 0px;
    padding: 0px;
    font-size: 14px;
    text-align: right; }

.post-cont {
  padding: 0px 0px 2em 0px; }
  .post-cont h2 {
    margin: 0px 0px 1.6em 0px;
    padding: 0.5em;
    color: #fff;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    background-color: #002c99; }
  .post-cont h3 {
    margin: 0px 0px 1.6em 0px;
    padding: 0.5em;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    background-color: #D3E0FB;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 1px 0em; }
  .post-cont h4 {
    margin: 0px 0px 1.6em 0px;
    padding: 0.5em;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    background-color: #e0e0e0; }
  .post-cont h5 {
    margin: 0px 0px 1.6em 0px;
    padding: 0.3em 0.5em;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 0px 0.5em; }
  .post-cont h6 {
    margin: 0px 0px 1.6em 0px;
    padding: 0em;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    color: #002c99; }
  .post-cont p {
    margin: 0px 0px 2em 0px; }
  .post-cont ul, .post-cont ol {
    margin: 0px 0px 2em 2em; }
  .post-cont blockquote {
    margin: 0px 0px 2em 0px;
    padding: 1em;
    background-color: #eee; }
  .post-cont img {
    margin: 0px auto 1em auto;
    max-width: 100%; }

p.blog_entry_cat {
  padding: 1em 0px;
  font-size: 14px;
  color: #888; }

ul.pagelink {
  margin: 0px;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px;
  display: flex;
  justify-content: space-between; }
  ul.pagelink li {
    list-style: none;
    width: 50%;
    font-size: 14px;
    line-height: 1.6em; }
    ul.pagelink li a {
      padding: 10px;
      box-sizing: border-box;
      display: block;
      height: 100%;
      text-decoration: none;
      display: flex;
      align-items: center;
      color: #000; }
    ul.pagelink li a:hover {
      background-color: #D3E0FB; }
  ul.pagelink li:first-child {
    border-color: #ddd;
    border-style: solid;
    border-width: 0px 1px 0px 0px; }
    ul.pagelink li:first-child a:before {
      padding: 0px 0.5em 0px 0px;
      font-family: 'Material Symbols Rounded';
      content: "\e5cb";
      color: #002c99; }
  ul.pagelink li:last-child a {
    justify-content: flex-end; }
  ul.pagelink li:last-child a:after {
    padding: 0px 0px 0px 0.5em;
    font-family: 'Material Symbols Rounded';
    content: "\e5cc";
    color: #002c99; }
  @media screen and (max-width: 499px) {
    ul.pagelink {
      flex-direction: column; }
      ul.pagelink li {
        width: 100%; }
      ul.pagelink li:first-child {
        border-width: 0px 0px 1px 0px; } }

ul.post-list {
  margin: 0px;
  border-color: #D3E0FB;
  border-style: solid;
  border-width: 0px 0px; }
  ul.post-list li {
    margin: 0px 0px -1px 0px;
    padding: 1em 0px;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px 0px;
    list-style: none; }
  ul.post-list a {
    margin: 0px 0px 0px 0px;
    padding: 1em;
    display: flex;
    color: #000;
    text-decoration: none; }
    ul.post-list a figure {
      flex-shrink: 0;
      width: 30%; }
      ul.post-list a figure img {
        width: 100%;
        height: auto; }
    ul.post-list a .cont {
      padding: 0px 0px 0px 1em; }
    ul.post-list a h2 {
      margin: 0px 0px 0.5em 0px;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 18px;
      line-height: 1.4em; }
    ul.post-list a p.date {
      margin: 0px 0px 0.5em 0px;
      font-size: 12px; }
    ul.post-list a p {
      margin: 0px 0px 0em 0px;
      font-size: 14px;
      line-height: 1.6em; }
  ul.post-list a:hover {
    background-color: #F9FBFF; }
  @media screen and (max-width: 499px) {
    ul.post-list a {
      padding: 0.5em;
      flex-direction: column; }
      ul.post-list a figure {
        width: 100%; }
      ul.post-list a .cont {
        padding: 0.5em 0px 0px 0em; } }

.pickup-headline {
  margin: 0px 0px 0px 0px;
  border-color: #002c99;
  border-style: solid;
  border-width: 0px 0px 0px 0px; }
  .pickup-headline figure {
    margin: 0px auto 0em auto;
    text-align: center;
    background-color: #f6f6f6; }
    .pickup-headline figure img {
      margin: auto;
      max-width: 100%; }
  .pickup-headline h1 {
    margin: 1em 0px 0px 0px;
    padding: 0px 0px 0.3em 0px;
    font-size: 24px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em; }
  .pickup-headline .pickup-info {
    padding: 0px 0px 0.5em 0px;
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4em;
    color: #002c99;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 1px 0px; }
  .pickup-headline .date {
    margin: 0.5em 0px 4em 0px;
    padding: 0px;
    font-size: 14px;
    text-align: right; }

.my-category {
  margin: 0px 0px 2em; }

@media screen and (min-width: 700px) {
  .my-category-toggle {
    display: none; } }
@media screen and (max-width: 699px) {
  .my-category-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5em 1em;
    font-size: 14px;
    color: #002c99;
    border-color: #002c99;
    border-style: solid;
    border-width: 1px; }
    .my-category-toggle:after {
      font-family: 'Material Symbols Rounded';
      content: "\e313";
      font-size: 32px; }
    .my-category-toggle.active {
      color: #fff;
      background-color: #002c99; }
      .my-category-toggle.active:after {
        content: "\e316"; } }

ul.my-category-list {
  margin: 0px 0px 2em;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px; }
  ul.my-category-list li a {
    display: block;
    padding: 1em 0px 1em 0.5em;
    font-size: 14px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99;
    border-color: #002c99;
    border-style: solid;
    border-width: 1px;
    border-radius: 4px;
    text-decoration: none; }
    ul.my-category-list li a:hover {
      color: #fff;
      background-color: #002c99; }
  @media screen and (max-width: 1279px) {
    ul.my-category-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 1024px) {
    ul.my-category-list {
      grid-template-columns: repeat(4, 1fr); } }
  @media screen and (max-width: 899px) {
    ul.my-category-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 699px) {
    ul.my-category-list {
      display: none;
      grid-template-columns: repeat(1, 1fr);
      gap: 0px; }
      ul.my-category-list li a {
        border-width: 0px 1px 1px;
        border-radius: 0px; } }

.pickup-list li {
  list-style: none;
  margin: 0px 0px 6% 0px;
  padding: 1.5em;
  background-color: #fff;
  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.1);
  text-align: justify; }
  .pickup-list li h2 {
    margin: 0px 0px 0.5em 0px;
    font-size: 20px;
    line-height: 1.8em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }
  .pickup-list li h3 {
    margin: 0px 0px 1em 0px;
    font-size: 16px;
    line-height: 1.8em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99; }
  .pickup-list li p {
    font-size: 16px;
    line-height: 1.8em; }
  .pickup-list li .btn-more {
    margin: 2em auto 1em;
    width: 200px;
    text-align: center;
    line-height: 1em; }
    .pickup-list li .btn-more a {
      padding: 0.7em; }
@media screen and (max-width: 799px) {
  .pickup-list li {
    padding: 0.7em; } }

.wp-pagenavi {
  margin: 2em auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  line-height: 36px; }
  .wp-pagenavi a {
    display: block;
    width: 36px;
    text-decoration: none;
    color: #000;
    background-color: #f6f6f6;
    border-radius: 50%;
    text-align: center; }
    .wp-pagenavi a.prev, .wp-pagenavi a.next {
      display: none; }
    .wp-pagenavi a:hover {
      background-color: #ddd; }
  .wp-pagenavi span {
    display: inline-block;
    margin: 2px;
    text-align: center; }
    .wp-pagenavi span.current {
      margin: 2px;
      width: 36px;
      background-color: #ddd;
      border-radius: 50%; }

/* POST side ----------------------------------------------- */
.widgets-box {
  margin: 0px 0px 2em 0px; }
  .widgets-box h3 {
    margin: 0px 0px 0.5em 0px;
    padding: 0px 0px 4px 0px;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 2px 0px;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }
  .widgets-box ul {
    margin: 0px; }
  .widgets-box li {
    list-style: none;
    margin: 0px 0px 0px 0px;
    font-size: 14px;
    line-height: 1.4em; }
    .widgets-box li .date {
      display: block;
      margin: 0.5em 0px 0px 0px;
      font-size: 12px; }
    .widgets-box li .pickup-info {
      display: block;
      margin: 0.5em 0px 0px 0px;
      font-size: 14px;
      color: #002c99; }
    .widgets-box li a:before {
      display: block;
      margin: 0px 0px -1.4em -20px;
      width: 20px;
      text-align: center;
      line-height: 1.4em;
      color: #002c99;
      font-family: 'Material Symbols Rounded';
      content: "\e5cc"; }
    .widgets-box li a {
      display: block;
      padding: 0.8em 0.5em 0.8em 20px;
      color: #000;
      text-decoration: none;
      border-color: #ddd;
      border-style: solid;
      border-width: 0px 0px 1px 0px; }
    .widgets-box li a:hover {
      background-color: #F9FBFF; }
    .widgets-box li .children li a {
      padding: 0.8em 0.5em 0.8em 40px; }
    .widgets-box li .children li .children li a {
      padding: 0.8em 0.5em 0.8em 60px; }

ul.widgets-thumb li {
  text-align: left; }
  ul.widgets-thumb li a:before {
    display: none; }
  ul.widgets-thumb li a {
    display: flex;
    padding: 0.8em 0.5em 0.8em; }
    ul.widgets-thumb li a figure {
      flex-shrink: 0;
      margin: 0px 10px 0px 0px;
      width: 80px; }
      ul.widgets-thumb li a figure img {
        width: 80px;
        height: 80px;
        object-fit: cover; }

.tagcloud a {
  display: inline-block;
  margin: 0px 0.2em 0.4em 0px;
  padding: 0.5em 0.8em;
  line-height: 1em;
  border-color: #002c99;
  border-style: solid;
  border-width: 1px;
  border-radius: 2px;
  text-decoration: none;
  font-size: 15px !important; }
.tagcloud a:hover {
  background-color: #002c99;
  color: #FFF; }

.page-basic {
  padding: 4vw 0px; }

.corp-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px; }
  @media screen and (max-width: 799px) {
    .corp-wrap {
      grid-template-columns: repeat(1, 1fr); } }

.corp-prof {
  width: 100%; }
  .corp-prof dl {
    border: 1px solid #E3ECF8;
    font-family: sans-serif;
    font-size: 14px;
    margin: 0;
    width: 100%; }
  .corp-prof div.row {
    display: flex;
    border-bottom: 1px solid #E3ECF8; }
  .corp-prof div.row:last-child {
    border-bottom: none; }
  .corp-prof dt {
    padding: 1em 0px;
    width: 7em;
    flex-shrink: 0;
    background-color: #F9FBFF;
    color: #002c99;
    font-weight: bold;
    text-align: center; }
  .corp-prof dd {
    margin: 0;
    padding: 1em; }

.corp-prof-photo {
  margin: 0px;
  height: 100%;
  flex-shrink: 0;
  background-color: #ccc; }
  .corp-prof-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.access-wrap {
  margin: auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  border: 1px solid #E3ECF8; }
  @media screen and (max-width: 799px) {
    .access-wrap {
      grid-template-columns: 1fr; } }

.corp-gmap iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block; }

.access-info {
  padding: 1em; }
  .access-info h3 {
    margin: 0px 0px 1.5em;
    color: #002c99;
    font-size: 18px;
    display: flex;
    align-items: center; }
    .access-info h3:before {
      font-family: 'Material Symbols Rounded';
      content: "\e533";
      font-size: 30px; }
  .access-info ul li {
    margin: 0px 0px 1em; }
    .access-info ul li span {
      padding: 0px 0.3em;
      color: #002c99;
      font-size: 24px;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal; }

.activity-box-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }
  @media screen and (max-width: 1024px) {
    .activity-box-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 599px) {
    .activity-box-list {
      grid-template-columns: repeat(1, 1fr); } }

.activity-box {
  position: relative;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px; }
  .activity-box .num {
    position: absolute;
    z-index: 1;
    left: 0px;
    top: 0px;
    padding: 10px;
    font-size: 20px;
    color: #fff;
    background-color: #002c99;
    border-radius: 4px 0px 4px 0px; }
  .activity-box figure {
    z-index: 0;
    margin: 0px;
    padding: 0px; }
    .activity-box figure img {
      border-radius: 4px 4px 0px 0px; }
  .activity-box .cont {
    padding: 1em; }
    .activity-box .cont h3 {
      margin: 0px 0px 1em;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      color: #002c99;
      font-size: 18px; }
    .activity-box .cont p {
      margin: 0px 0px 1em; }
    .activity-box .cont h4 {
      margin: 0px 0px 1em;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      color: #002c99;
      font-size: 16px; }
    .activity-box .cont dl {
      display: grid;
      grid-template-columns: 6em 1fr; }
      .activity-box .cont dl dt {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        color: #002c99; }

.tech-card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
  @media screen and (max-width: 599px) {
    .tech-card-list {
      grid-template-columns: repeat(1, 1fr); } }

.tech-card {
  padding: 1em;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px; }
  .tech-card h3 {
    margin: 0px 0px 1.5em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99;
    font-size: 18px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; }
  .tech-card ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5em; }
    .tech-card ul li::after {
      content: "/";
      margin-left: 0.5em; }
    .tech-card ul li:last-child::after {
      content: ""; }

@media screen and (min-width: 1025px) {
  ol.workflow {
    list-style: none;
    margin: 0px;
    padding: 0px 0px 0px 0px;
    display: grid;
    grid-template-columns: repeat(6, auto);
    color: #002c99;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 0px; }
    ol.workflow li {
      display: flex;
      align-items: center;
      gap: 10px;
      line-height: 24px;
      border-color: #002c99;
      border-style: solid;
      border-width: 0px 0px 1px; }
      ol.workflow li:before {
        margin: 0px 0px 0px 0px;
        font-family: 'Material Symbols Rounded';
        content: "\f46a";
        font-size: 24px; }
      ol.workflow li:first-child:before {
        content: ""; }
      ol.workflow li div {
        margin: 10px 0px 0px 0px; }
        ol.workflow li div:after {
          display: block;
          margin: 10px auto -6px;
          content: "";
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background-color: #002c99; }
      ol.workflow li span {
        padding: 10px;
        line-height: 28px;
        font-size: 28px;
        border-color: #002c99;
        border-style: solid;
        border-width: 1px;
        border-radius: 50%; } }
@media screen and (max-width: 1024px) {
  ol.workflow {
    list-style: none;
    padding: 0px 0px 0px 0px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    color: #002c99;
    border-color: #002c99;
    border-style: solid;
    border-width: 0px 0px 0px; }
    ol.workflow li {
      display: flex;
      align-items: center;
      gap: 10px;
      border-color: #002c99;
      border-style: solid;
      border-width: 0px 0px 0px; }
      ol.workflow li:after {
        margin: 0px 0px 0px 0px;
        font-family: 'Material Symbols Rounded';
        content: "\f46a";
        font-size: 24px; }
      ol.workflow li:last-child:after {
        content: ""; }
      ol.workflow li div {
        margin: 6px 0px 0px 0px; } }

.activities-message {
  padding: 2vw 4vw;
  background-color: #F9FBFF;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4vw; }
  @media screen and (max-width: 799px) {
    .activities-message {
      flex-direction: column;
      gap: 20px; } }

.activities-message-icon {
  flex-shrink: 0;
  padding: 10px;
  border-color: #002c99;
  border-style: solid;
  border-width: 1px;
  border-radius: 50%;
  width: 80px;
  height: 80px; }
  .activities-message-icon span {
    font-size: 60px;
    line-height: 60px;
    color: #002c99; }

.activities-message-cont h2 {
  margin: 0px 0px 0.5em;
  color: #002c99;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 30px; }
@media screen and (max-width: 799px) {
  .activities-message-cont h2 {
    font-size: 24px; } }

/* プライバシー等 ////////////////////////////////////////////////////////////////////////// */
ul.s-policy {
  margin: 1em; }

.p-contact-info1 {
  margin: 1em 0px;
  padding: 1em;
  background-color: #f0f0f0;
  text-align: left; }
  .p-contact-info1 h5 {
    margin: 0px 0px 1em 0px;
    font-size: 14px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }
    .p-contact-info1 h5 .rec-time {
      padding: 0px 0px 0px 1em; }
  .p-contact-info1 p .zip {
    padding: 0px 1em 0px 0px; }
  .p-contact-info1 p .add1 {
    padding: 0px 0.5em 0px 0px; }
  .p-contact-info1 dl {
    display: flex;
    flex-wrap: wrap; }
    .p-contact-info1 dl dt {
      padding: 0px 1em 0px 0px;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal; }
  @media screen and (max-width: 499px) {
    .p-contact-info1 h5 .rec-time {
      display: block;
      padding: 0px 0px 0px 0px; }
    .p-contact-info1 p .zip {
      display: block;
      padding: 0px 0em 0px 0px; }
    .p-contact-info1 p .add1 {
      display: block;
      padding: 0px 0em 0px 0px; }
    .p-contact-info1 p .madoguchi {
      display: block; }
    .p-contact-info1 dl {
      flex-direction: column;
      border-color: #ddd;
      border-style: solid;
      border-width: 1px 0px 0px 0px;
      padding: 0.5em 0px; } }

.p-contact-info2 {
  margin: 1em 0px;
  padding: 1em;
  background-color: #f0f0f0;
  text-align: left;
  display: flex; }
  .p-contact-info2 dl {
    margin: 1em 1em; }
    .p-contact-info2 dl dt {
      margin: 0px 0px 0.5em 0px;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal; }
  @media screen and (max-width: 799px) {
    .p-contact-info2 {
      flex-direction: column;
      padding: 0.5em; }
      .p-contact-info2 dl {
        display: flex;
        margin: 0px 0px 0px;
        border-color: #ddd;
        border-style: solid;
        border-width: 0px 0px 1px 0px; }
        .p-contact-info2 dl dt {
          flex-shrink: 0;
          margin: 0px;
          padding: 0.5em;
          width: 10em;
          border-color: #ccc;
          border-style: solid;
          border-width: 0px 0px 0px 0px; }
        .p-contact-info2 dl dd {
          padding: 0.5em; }
      .p-contact-info2 dl:last-child {
        border-width: 0px; } }
  @media screen and (max-width: 499px) {
    .p-contact-info2 dl:first-child {
      flex-direction: column; }
      .p-contact-info2 dl:first-child dt {
        padding: 0.5em 0.5em 0px;
        width: inherit;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal; }
    .p-contact-info2 dl {
      border-width: 0px 0px 1px 0px; }
      .p-contact-info2 dl dt {
        width: 6em; } }

.pmark {
  display: flex; }
  .pmark figure {
    margin: 0px 10px 0px 0px;
    width: 100px;
    flex-shrink: 0; }
    .pmark figure img {
      width: 100%;
      height: auto; }

.policy-sign {
  margin: 2em 0px;
  text-align: right; }
  .policy-sign .p-corp-name {
    margin: auto 0px auto auto;
    width: 160px; }
    .policy-sign .p-corp-name img {
      width: 100%; }
  .policy-sign .p-ceo-name {
    margin: 4px 0px 10px auto;
    width: 200px; }
    .policy-sign .p-ceo-name img {
      width: 100%; }

.policy-tb {
  margin: 0px 0px 4vw 0px;
  width: 100%;
  background-color: #ccc; }
  .policy-tb th {
    padding: 0.5em;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px;
    width: 50%;
    background-color: #e9e9e9;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal; }
  .policy-tb td {
    padding: 0.5em;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px;
    background-color: #fff;
    vertical-align: top; }
    .policy-tb td ul {
      margin: 0px 0px 0px 1.2em;
      text-align: left; }

.p-list-small-alpha {
  margin: 0px 0px 1em 0em; }
  .p-list-small-alpha li {
    list-style: none;
    counter-increment: small-alpha;
    position: relative;
    padding-left: 1.5em; }
  .p-list-small-alpha li:before {
    content: counter(small-alpha,lower-alpha) ")";
    position: absolute;
    top: 0;
    left: 0; }

.p-pro1 {
  margin: 0px 0px 1em 1.5em; }
  .p-pro1 ol {
    margin: 0px 0px 0em 1em; }

a.pdf-link {
  display: inline-block;
  padding: 0.5em 1em 0.5em 0.5em;
  border-color: #002c99;
  border-style: solid;
  border-width: 1px;
  text-decoration: none; }
  a.pdf-link img {
    display: inline-block;
    margin: 0px 0.5em 0px 0px;
    width: 18px;
    height: auto; }

a.pdf-link:hover {
  background-color: #F9FBFF; }

.recruit-1st-view {
  margin: 0px;
  background-image: url("../images/home-1st-view.webp");
  background-position: center;
  background-size: cover; }

.recruit-1st-view-cont {
  padding: 6vw 4vw;
  width: 100%;
  color: #fff;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.7) 20%, rgba(0, 0, 0, 0.6) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%); }
  .recruit-1st-view-cont .tit {
    margin: 0px 0px 1em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 20px; }
    .recruit-1st-view-cont .tit span {
      display: block;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 500;
      font-style: normal;
      font-size: 16px;
      letter-spacing: 0.1em; }
    .recruit-1st-view-cont .tit:after {
      display: block;
      content: "";
      margin: 20px 0px 0px 0px;
      width: 2em;
      height: 1px;
      background-color: #fff; }
  .recruit-1st-view-cont h2 {
    margin: 0px 0px 0.5em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 48px;
    color: #fff;
    text-shadow: 1px 1px 0px #002c99;
    text-shadow: -1px -1px 0px #002c99; }
  @media screen and (max-width: 1024px) {
    .recruit-1st-view-cont {
      background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%); }
      .recruit-1st-view-cont h2 {
        font-size: 32px; } }
  @media screen and (max-width: 799px) {
    .recruit-1st-view-cont {
      padding: 6vw 4vw;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%); }
      .recruit-1st-view-cont .tit {
        font-size: 18px; }
        .recruit-1st-view-cont .tit span {
          font-size: 14px; }
      .recruit-1st-view-cont h2 {
        font-size: 28px; } }
  @media screen and (max-width: 499px) {
    .recruit-1st-view-cont h2 {
      font-size: 22px; } }

.message-box {
  padding: 1em 0px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 0px 0px 0px; }
  .message-box:first-child {
    border-width: 0px 0px 0px 0px; }
  .message-box h3 {
    margin: 0px 0px 1em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99;
    font-size: 24px; }
  .message-box p {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal; }
  @media screen and (min-width: 800px) {
    .message-box .more {
      display: none; } }
  @media screen and (max-width: 799px) {
    .message-box h3 {
      font-size: 20px; }
    .message-box .more {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.5em;
      width: 180px;
      font-size: 14px;
      color: #002c99;
      border-color: #002c99;
      border-style: solid;
      border-width: 1px;
      border-radius: 4px; }
      .message-box .more:before {
        content: "続きを見る"; }
      .message-box .more:after {
        font-family: 'Material Symbols Rounded';
        content: "\e313";
        font-size: 22px; }
      .message-box .more.active:before {
        content: "閉じる"; }
      .message-box .more.active:after {
        content: "\e316"; }
    .message-box .message-box2 {
      display: none;
      padding: 2em 0px; }
    .message-box p br {
      display: none; } }

.message-last {
  margin: 2em 0px;
  padding: 3em 0px;
  background-color: #E3ECF8;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4vw;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }
  .message-last .cont h4 {
    margin: 0px 0px 0.3em;
    color: #002c99;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 36px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px; }
    .message-last .cont h4 span {
      font-size: 100px;
      opacity: 0.3; }
  .message-last .cont p {
    margin: 0px 0px 0px 60px;
    font-size: 18px; }
  .message-last .sign {
    font-size: 36px;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    font-style: normal; }
    .message-last .sign span {
      display: block;
      font-size: 14px;
      font-family: "Noto Serif JP", serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal; }
  @media screen and (max-width: 1199px) {
    .message-last .cont h4 {
      margin: 0px 0px 0.3em;
      color: #002c99;
      font-family: "Noto Serif JP", serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 32px;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px; }
      .message-last .cont h4 span {
        font-size: 80px;
        opacity: 0.3; }
    .message-last .cont p {
      margin: 0px 0px 0px 50px;
      font-size: 18px; }
    .message-last .sign {
      font-size: 28px; }
      .message-last .sign span {
        display: block;
        font-size: 14px; } }
  @media screen and (max-width: 1024px) {
    .message-last .cont h4 {
      margin: 0px 0px 0.3em;
      color: #002c99;
      font-family: "Noto Serif JP", serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 24px;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px; }
      .message-last .cont h4 span {
        font-size: 60px;
        opacity: 0.3; }
    .message-last .cont p {
      margin: 0px 0px 0px 40px;
      font-size: 18px; }
    .message-last .sign {
      font-size: 28px; }
      .message-last .sign span {
        display: block;
        font-size: 14px; } }
  @media screen and (max-width: 799px) {
    .message-last {
      display: inherit;
      padding: 4vw; }
      .message-last .cont {
        text-align: left; }
        .message-last .cont h4 {
          margin: 0px 0px 0.3em;
          color: #002c99;
          font-family: "Noto Serif JP", serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-size: 24px;
          display: inherit; }
          .message-last .cont h4 span {
            display: none; }
        .message-last .cont p {
          margin: 0px 0px 1em 0px;
          font-size: 18px; }
      .message-last .sign {
        margin: 0px 0px 0px auto;
        font-size: 28px;
        text-align: right; }
        .message-last .sign span {
          display: block;
          font-size: 14px; } }
  @media screen and (max-width: 499px) {
    .message-last {
      display: inherit; }
      .message-last .cont {
        text-align: left; }
        .message-last .cont h4 {
          margin: 0px 0px 0.3em;
          color: #002c99;
          font-family: "Noto Serif JP", serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-size: 20px;
          display: inherit; }
          .message-last .cont h4 br {
            display: none; }
        .message-last .cont p {
          margin: 0px 0px 1em 0px;
          font-size: 18px; }
          .message-last .cont p br {
            display: none; }
      .message-last .sign {
        margin: 0px 0px 0px auto;
        font-size: 24px;
        text-align: right; }
        .message-last .sign span {
          display: block;
          font-size: 14px; } }

.recruit-num {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 5px; }

.recruit-num-box {
  padding: 1em;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px;
  text-align: center;
  color: #002c99; }
  .recruit-num-box span {
    font-size: 60px; }
  .recruit-num-box p {
    text-align: center;
    font-size: 14px; }

.voice-box-list {
  margin: auto;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px; }
  @media screen and (max-width: 1024px) {
    .voice-box-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 599px) {
    .voice-box-list {
      grid-template-columns: repeat(1, 1fr); } }

.voice-box {
  padding: 1em;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 4px;
  text-decoration: none;
  background-color: #fff;
  display: flex;
  gap: 20px; }
  .voice-box figure {
    flex-shrink: 0;
    margin: 0px;
    width: 100px; }
  .voice-box h3 {
    margin: 0px 0px 1em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    color: #002c99; }
  .voice-box h4 {
    font-size: 14px; }
  .voice-box p {
    font-size: 14px; }

.job-category {
  margin: 0px 0px 20px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 20px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 4px; }
  .job-category figure {
    height: 100%;
    background-color: #eee; }
    .job-category figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 4px 0px 0px 4px; }
  @media screen and (max-width: 1024px) {
    .job-category {
      grid-template-columns: 1fr; }
      .job-category figure {
        margin: auto;
        width: 100%;
        height: 30vw; }
        .job-category figure img {
          border-radius: 4px 4px 0px 0px; } }

.jc-headline {
  padding: 20px 20px 20px 0px;
  display: flex;
  align-items: center;
  gap: 20px; }
  .jc-headline h3 {
    flex-shrink: 0;
    margin: 0px;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99; }
  .jc-headline p {
    margin: 0px;
    font-size: 14px; }
  @media screen and (max-width: 1024px) {
    .jc-headline {
      padding: 0px 20px 20px 20px;
      display: inherit; }
      .jc-headline h3 {
        margin: 0px 0px 0.5em; } }

.jc-detail {
  padding: 0px 20px 20px 0px;
  display: flex;
  gap: 20px;
  font-size: 14px; }
  .jc-detail dl {
    padding: 0px 20px 0px 0px;
    border-color: #E3ECF8;
    border-style: solid;
    border-width: 0px; }
    .jc-detail dl:not(:last-child) {
      flex-shrink: 0;
      border-width: 0px 1px 0px 0px; }
  .jc-detail dt {
    margin: 0px 0px 1em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99; }
  .jc-detail dd ul {
    margin: 0px 0px 0px 1em; }
  @media screen and (max-width: 1024px) {
    .jc-detail {
      padding: 0px 20px 20px 20px; } }
  @media screen and (max-width: 799px) {
    .jc-detail {
      flex-wrap: wrap; }
      .jc-detail dl:not(:last-child) {
        border-width: 0px 0px 0px 0px; } }

.application-guidelines-wrap {
  font-size: 14px; }
  @media screen and (min-width: 1025px) {
    .application-guidelines-wrap {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px; } }

.application-guidelines-col dl {
  display: grid;
  grid-template-columns: 180px 1fr;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 1px 0px 1px; }
  .application-guidelines-col dl:last-child {
    border-width: 1px 1px 1px 1px; }
.application-guidelines-col dt {
  padding: 0.5em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #002c99;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 0px 1px 0px 0px;
  display: flex;
  align-items: center;
  gap: 10px; }
  .application-guidelines-col dt img {
    width: 40px;
    border-radius: 4px; }
.application-guidelines-col dd {
  padding: 0.5em; }
@media screen and (max-width: 1024px) {
  .application-guidelines-col:first-child dl:last-child {
    border-width: 1px 1px 0px 1px; } }
@media screen and (max-width: 499px) {
  .application-guidelines-col dl {
    display: block; }
  .application-guidelines-col dt {
    border-width: 0px;
    background-color: #F9FBFF; } }

.recruit-entry-wrap {
  padding: 20px;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px; }
  .recruit-entry-wrap span {
    color: #002c99;
    font-size: 80px; }
  .recruit-entry-wrap h2 {
    margin: 0px 0px 0.5em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 24px;
    color: #002c99; }
  .recruit-entry-wrap p {
    margin: 0px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 18px; }
  .recruit-entry-wrap a.btn2 {
    width: 25vw;
    height: 80px;
    line-height: 76px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 24px;
    border-width: 2px;
    border-radius: 6px; }
  @media screen and (max-width: 799px) {
    .recruit-entry-wrap {
      flex-wrap: wrap;
      gap: 10px; }
      .recruit-entry-wrap span {
        font-size: 60px; }
      .recruit-entry-wrap h2 {
        font-size: 20px; }
      .recruit-entry-wrap a.btn2 {
        margin: 1em auto;
        width: 60vw;
        height: 60px;
        font-size: 20px;
        line-height: 56px; } }
  @media screen and (max-width: 499px) {
    .recruit-entry-wrap a.btn2 {
      width: 280px;
      height: 60px;
      font-size: 20px;
      line-height: 56px; } }

/* フォーム ////////////////////////////////////////////////////////////////////////// */
.form-intro {
  margin: 3em 0px 3em 0px; }
  .form-intro h2 {
    margin: 0px 0px 1em 0px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #002c99;
    font-size: 20px;
    line-height: 1.6em; }
  .form-intro p {
    margin: 0px 0px 1.6em 0px; }
  .form-intro strong {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    color: #FC0000; }
  .form-intro em {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-style: normal;
    color: #002c99; }
  .form-intro span.must {
    color: #FC0000; }

.form {
  margin: 0px 0px 2em; }
  .form dl.must dt:after {
    content: "※";
    color: #FC0000; }
  .form dl {
    margin: 0px 0px -1px 0px;
    padding: 1em 0px;
    display: flex;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px 0px 1px 0px; }
    .form dl dt {
      flex-shrink: 0;
      width: 16em;
      font-family: "Noto Sans JP", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal; }
      .form dl dt .must {
        display: inline-block;
        margin: 0px 0px 0px 0.5em;
        padding: 0.3em 0.6em;
        background-color: #FC0000;
        border-radius: 2px;
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-size: 12px;
        line-height: 12px; }
    .form dl dd {
      width: 100%; }
      .form dl dd .att {
        margin: 0px;
        padding: 0.2em 0px;
        font-size: 14px;
        color: #888;
        line-height: 1.4em; }
      .form dl dd .message {
        margin: 0px 0px 1em 0px; }
    .form dl strong {
      color: #FC0000; }
  .form input[type="text"] {
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    background-color: #f0f0f0;
    padding: 0.5em;
    width: 100%;
    font-size: 18px; }
  .form input[type="text"].must {
    border-color: rgba(255, 77, 77, 0.2);
    border-style: solid;
    border-width: 1px;
    background-color: rgba(255, 77, 77, 0.1); }
  .form input[type="text"].date {
    width: 10em; }
  .form textarea {
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    background-color: #f0f0f0;
    padding: 0.5em;
    width: 100%;
    height: 12em;
    font-size: 18px; }
  .form textarea.must {
    border-color: rgba(255, 77, 77, 0.2);
    border-style: solid;
    border-width: 1px;
    background-color: rgba(255, 77, 77, 0.1);
    padding: 0.5em;
    width: 100%;
    height: 12em;
    font-size: 18px; }
  @media screen and (max-width: 799px) {
    .form dl {
      padding: 0px;
      flex-direction: column;
      border-color: #eee;
      border-width: 0px; }
      .form dl dt {
        padding: 1em 0px 0.3em 0px;
        width: inherit; }
      .form dl dd {
        padding: 0em 0px 1em 0px; } }

.form-pp-att {
  margin: 0px 0px 1.5em;
  padding: 2em;
  border-color: #999;
  border-style: solid;
  border-width: 1px;
  height: 240px;
  overflow-y: scroll; }
  .form-pp-att ol {
    margin: 0px 0px 0px 1em; }
    .form-pp-att ol li {
      margin: 0px 0px 1.5em; }
    .form-pp-att ol h5 {
      font-size: 14px; }
  .form-pp-att dl {
    display: flex;
    padding: 4px 0px;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 0px 1px; }
    .form-pp-att dl dt {
      flex-shrink: 0;
      width: 7em; }

.entry-submit {
  margin: 2em auto 3em;
  text-align: center; }
  .entry-submit p {
    text-align: center; }
  .entry-submit .check-agree {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    font-weight: bold; }
  .entry-submit button {
    margin: 0px auto 24px; }
  .entry-submit button.input_box:disabled {
    padding: 1em 2em;
    max-width: 520px;
    border-color: #ccc;
    border-style: solid;
    border-width: 2px;
    font-size: 18px;
    background-color: #eee;
    color: #888;
    border-radius: 4px;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2); }
    .entry-submit button.input_box:disabled br {
      display: none; }
  .entry-submit button.input_box:disabled:hover {
    background-color: #eee;
    color: #888;
    box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0);
    transform: translate(0px, 0px); }
  .entry-submit input[type="submit"].submit,
  .entry-submit button.input_box,
  .entry-submit button.send {
    margin: auto;
    padding: 1em 2em;
    max-width: 520px;
    border-color: #002c99;
    border-style: solid;
    border-width: 2px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    background-color: #002c99;
    color: #fff;
    border-radius: 4px;
    box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.2);
    transition: all 0.1s; }
    .entry-submit input[type="submit"].submit br,
    .entry-submit button.input_box br,
    .entry-submit button.send br {
      display: none; }
  .entry-submit input[type="submit"].submit:hover,
  .entry-submit button.input_box:hover,
  .entry-submit button.send:hover {
    background-color: #fff;
    color: #002c99;
    box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0);
    transform: translate(4px, 4px); }
  .entry-submit input[type="submit"].back {
    width: 160px;
    height: 32px;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 30px;
    background-color: #ddd;
    color: #777; }
  .entry-submit input[type="submit"].back:hover {
    background-color: #999;
    color: #fff; }
  @media screen and (max-width: 499px) {
    .entry-submit button.submit {
      width: 100%;
      padding: 1em 0.5em; } }

.side-box {
  margin: 0px 0px 2em; }
  .side-box h2 {
    margin: 0px 0px 0.5em;
    padding: 0px 0px 0em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    border-color: #E3ECF8;
    border-style: solid;
    border-width: 0px 0px; }
  .side-box ul.category-list {
    list-style: none;
    margin: 0px;
    padding: 0px; }
    .side-box ul.category-list li {
      margin: 0px;
      padding: 0px;
      font-size: 15px; }
      .side-box ul.category-list li a {
        display: flex;
        align-items: center;
        padding: 1em 0px;
        border-color: #eee;
        border-style: solid;
        border-width: 0px 0px 2px;
        text-decoration: none;
        color: #000; }
        .side-box ul.category-list li a span.count {
          margin: 0px 0px 0px 1em;
          padding: 2px 1em;
          border-radius: 4px;
          font-size: 12px;
          color: #444;
          background-color: #f6f6f6; }
        .side-box ul.category-list li a:hover {
          color: #002c99; }
  .side-box ul.tag-list {
    list-style: none;
    margin: 1em 0px;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px; }
    .side-box ul.tag-list li {
      margin: 0px;
      padding: 0px;
      font-size: 15px;
      line-height: 1.2em; }
      .side-box ul.tag-list li a {
        display: block;
        padding: 0.5em 1em;
        border-color: #eee;
        border-style: solid;
        border-width: 0px;
        text-decoration: none;
        color: #000;
        background-color: #eee;
        border-radius: 6px; }
        .side-box ul.tag-list li a:before {
          content: "#"; }
        .side-box ul.tag-list li a span {
          font-size: 12px;
          color: #444; }
          .side-box ul.tag-list li a span:before {
            padding: 0px 0px 0px 8px;
            content: "("; }
          .side-box ul.tag-list li a span:after {
            content: ")"; }
        .side-box ul.tag-list li a:hover {
          color: #002c99;
          background-color: #fff; }

a.btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 10px 4px 1em;
  max-width: 240px;
  text-decoration: none;
  border-color: #002c99;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px; }
  a.btn:after {
    content: "→"; }
  a.btn:hover {
    background-color: #002c99;
    color: #fff; }

a.btn2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 10px 4px 1em;
  text-decoration: none;
  border-color: #002c99;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px;
  background-color: #002c99;
  color: #fff; }
  a.btn2:after {
    content: "→"; }
  a.btn2:hover {
    background-color: #fff;
    color: #002c99; }

.cp-index-wrap {
  padding: 4vw;
  border-color: #E3ECF8;
  border-style: solid;
  border-width: 0px 0px; }
  .cp-index-wrap .cp-index {
    margin: auto auto;
    max-width: 1480px; }
  .cp-index-wrap .cp-list {
    margin: 2em 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em; }
  @media screen and (max-width: 1024px) {
    .cp-index-wrap .cp-list {
      grid-template-columns: repeat(2, 1fr);
      gap: 1em; } }
  @media screen and (max-width: 599px) {
    .cp-index-wrap .cp-list {
      grid-template-columns: repeat(1, 1fr);
      gap: 10px; } }

.cp-list-box a {
  display: block;
  padding: 10px;
  color: #000;
  text-decoration: none; }
  .cp-list-box a figure {
    margin: 0px 0px 1em; }
  .cp-list-box a h3 {
    margin: 0px 0px 1em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    text-align: justify; }
  .cp-list-box a h4 {
    margin: 0px 0px 1em;
    font-size: 16px;
    text-align: justify; }
  .cp-list-box a p {
    margin: 0px 0px 1em;
    text-align: justify; }
  .cp-list-box a .btn-inner {
    margin: auto;
    padding: 0.5em 0px;
    max-width: 140px;
    text-align: center;
    line-height: 1em;
    background-color: pink; }
  .cp-list-box a:hover {
    background-color: #f6f6f6; }

@media screen and (min-width: 1025px) {
  .now-template {
    position: fixed;
    z-index: 1000;
    bottom: 60px;
    left: 0px;
    font-size: 12px; }

  .user-dashboard {
    position: fixed;
    z-index: 1000;
    bottom: 40px;
    left: 0px;
    font-size: 12px; }

  .user-edit {
    position: fixed;
    z-index: 1000;
    bottom: 20px;
    left: 0px;
    font-size: 12px; } }
