@charset "UTF-8";
/*//////////////////////////////////////////////////
sscss変数
//////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////
全体
//////////////////////////////////////////////////*/
::-moz-selection {
  background-color: #1a237e;
  color: #fff; }

::selection {
  background-color: #1a237e;
  color: #fff; }

@font-face {
  font-family: NotoSansJP-R;
  src: url("font/NotoSansJP-Regular.otf") format("opentype"); }
@font-face {
  font-family: NotoSansJP-M;
  src: url("font/NotoSansJP-Medium.otf") format("opentype"); }
@font-face {
  font-family: NotoSansJP-B;
  src: url("font/NotoSansJP-Bold.otf") format("opentype"); }
@font-face {
  font-family: Inter-R;
  src: url("font/Inter-Regular.ttf") format("truetype"); }
@font-face {
  font-family: Inter-M;
  src: url("font/Inter-Medium.ttf") format("truetype"); }
@font-face {
  font-family: QwitcherGrypen-R;
  src: url("font/QwitcherGrypen-Regular.ttf") format("truetype"); }
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  height: 100%;
  min-width: 375px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  background-color: #fff; }

header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
  font-size: 1.4rem;
  line-height: 2;
  color: #212121;
  font-weight: 400;
  letter-spacing: .1rem;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  font-family: 'NotoSansJP-R', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

header, main, footer {
  width: 100%;
  overflow: hidden; }

main, img, video {
  display: block; }

img {
  flex-shrink: 0; }

input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], textarea, select, button {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none; }

input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], select, button {
  cursor: pointer; }

input, textarea, select, button {
  outline: 0; }

:-ms-input-placeholder {
  color: #757575; }

::-moz-placeholder {
  color: #757575; }

::-webkit-input-placeholder {
  color: #757575; }

a {
  text-decoration: none; }

a:link, a:visited, a:hover {
  color: #212121; }

pre {
  white-space: pre-wrap; }

.gothic {
  font-family: "NotoSansJP-R", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 400 !important; }

.gothic-b {
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }

.gothic-title {
  font-family: "NotoSansJP-B", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 700 !important; }

.min {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif !important;
  font-weight: 500 !important; }

.en {
  font-family: "Inter-R", sans-serif !important;
  font-weight: 400 !important; }

.en-b {
  font-family: "Inter-M", sans-serif !important;
  font-weight: 500 !important; }

.grypen {
  font-family: "QwitcherGrypen-R", serif !important;
  font-weight: 400 !important; }

.it {
  font-style: italic; }

.underline {
  text-decoration: underline; }

.l-space-n {
  letter-spacing: normal; }

.l-space-1 {
  letter-spacing: .1rem; }

.l-space-2 {
  letter-spacing: .2rem; }

.l-space-4 {
  letter-spacing: .4rem; }

.l-space-8 {
  letter-spacing: .8rem; }

.cf:after {
  content: '';
  display: block;
  clear: both; }

.fit-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

.scroll-style {
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  .scroll-style::-webkit-scrollbar {
    display: none; }

.vertical-txt {
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

.keep-txt {
  word-break: keep-all;
  white-space: nowrap; }

.margin-0 {
  margin: 0 !important; }

.marker {
  background: linear-gradient(transparent 70%, #ffeb3b 70%);
  color: #212121; }

.gra {
  background: linear-gradient(135deg, #363e8e, #1a237e); }

.color-white {
  color: #fff !important; }

.color-font {
  color: #212121 !important; }

.color-subfont {
  color: #757575 !important; }

.color-navy {
  color: #1a237e !important; }

.color-white-a64 {
  color: rgba(255, 255, 255, 0.64) !important; }

.color-navy-a16 {
  color: rgba(26, 35, 126, 0.16) !important; }

.color-navy-a64 {
  color: rgba(26, 35, 126, 0.64) !important; }

.title-lg {
  font-size: 2.4rem !important; }

.x-lg {
  font-size: 2rem !important; }

.x-lg-2 {
  font-size: 1.8rem !important; }

.lg {
  font-size: 1.6rem !important; }

.md {
  font-size: 1.4rem !important; }

.sm {
  font-size: 1.2rem !important; }

.x-sm {
  font-size: 1rem !important; }

.spacer-10 {
  display: block;
  width: 100%;
  height: 12px !important; }

.spacer-20 {
  display: block;
  width: 100%;
  height: 16px !important; }

.spacer-30 {
  display: block;
  width: 100%;
  height: 20px !important; }

.spacer-40 {
  display: block;
  width: 100%;
  height: 32px !important; }

.spacer-60 {
  display: block;
  width: 100%;
  height: 40px !important; }

.spacer-80 {
  display: block;
  width: 100%;
  height: 44px !important; }

.spacer-120 {
  display: block;
  width: 100%;
  height: 60px !important; }

.spacer-160 {
  display: block;
  width: 100%;
  height: 80px !important; }

@media only screen and (min-width: 640px) {
  header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
    font-size: 1.5rem; }

  .title-lg {
    font-size: 3rem !important; }

  .x-lg {
    font-size: 2.4rem !important; }

  .x-lg-2 {
    font-size: 2.1rem !important; }

  .lg {
    font-size: 1.8rem !important; }

  .md {
    font-size: 1.5rem !important; }

  .sm {
    font-size: 1.3rem !important; }

  .x-sm {
    font-size: 1.1rem !important; }

  .spacer-10 {
    height: 14px !important; }

  .spacer-20 {
    height: 20px !important; }

  .spacer-30 {
    height: 26px !important; }

  .spacer-40 {
    height: 40px !important; }

  .spacer-60 {
    height: 52px !important; }

  .spacer-80 {
    height: 66px !important; }

  .spacer-120 {
    height: 90px !important; }

  .spacer-160 {
    height: 120px !important; } }
@media only screen and (min-width: 960px) {
  header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button {
    font-size: 1.6rem; }

  .title-lg {
    font-size: 3.6rem !important; }

  .x-lg {
    font-size: 2.8rem !important; }

  .x-lg-2 {
    font-size: 2.4rem !important; }

  .lg {
    font-size: 2rem !important; }

  .md {
    font-size: 1.6rem !important; }

  .sm {
    font-size: 1.4rem !important; }

  .x-sm {
    font-size: 1.2rem !important; }

  .spacer-10 {
    height: 16px !important; }

  .spacer-20 {
    height: 24px !important; }

  .spacer-30 {
    height: 32px !important; }

  .spacer-40 {
    height: 48px !important; }

  .spacer-60 {
    height: 64px !important; }

  .spacer-80 {
    height: 88px !important; }

  .spacer-120 {
    height: 120px !important; }

  .spacer-160 {
    height: 160px !important; } }
@media (hover: hover) {
  .hover-48 {
    transition: opacity .4s; }
    .hover-48:hover {
      opacity: .48; }

  .hover-64 {
    transition: opacity .4s; }
    .hover-64:hover {
      opacity: .64; } }
/*//////////////////////////////////////////////////
共通
//////////////////////////////////////////////////*/
#pagetop {
  background-color: #1a237e;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  position: fixed;
  z-index: 10;
  right: 6vw;
  bottom: -32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: all .4s;
  cursor: pointer; }
  #pagetop::before {
    content: '';
    display: block;
    background-image: url("../img/common/common_arrow-white.svg");
    width: 8px;
    height: 8px;
    background-size: cover;
    transform: rotate(-90deg); }

.btn-1 {
  line-height: 1;
  color: #1a237e !important;
  display: inline-block;
  padding: 0 0 0 38px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
  .btn-1 .arrow {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    transform: translate(0, -50%); }
    .btn-1 .arrow::before {
      content: '';
      display: block;
      width: 26px;
      height: 26px;
      border-radius: 50%;
      border: solid 1px rgba(26, 35, 126, 0.64);
      box-sizing: border-box; }
    .btn-1 .arrow::after {
      content: '';
      background-image: url("../img/common/common_arrow.svg");
      width: 6px;
      height: 6px;
      background-size: cover;
      position: absolute;
      z-index: 1;
      left: 10px;
      top: 10px; }

.title-layout-1 {
  line-height: 1.7;
  font-size: 2.0rem;
  letter-spacing: .2rem;
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }

@media only screen and (min-width: 640px) {
  #pagetop {
    width: 36px;
    height: 36px;
    right: 5vw;
    bottom: -36px; }
    #pagetop::before {
      width: 9px;
      height: 9px;
      background-size: cover; }

  .btn-1 {
    padding: 0 0 0 43px; }
    .btn-1 .arrow::before {
      width: 29px;
      height: 29px; }
    .btn-1 .arrow::after {
      width: 7px;
      height: 7px;
      background-size: cover;
      left: 11px;
      top: 11px; }

  .title-layout-1 {
    font-size: 2.4rem; } }
@media only screen and (min-width: 960px) {
  #pagetop {
    width: 40px;
    height: 40px;
    right: 4vw;
    bottom: -40px; }
    #pagetop::before {
      width: 10px;
      height: 10px;
      background-size: cover; }

  .btn-1 {
    padding: 0 0 0 48px; }
    .btn-1 .arrow::before {
      width: 32px;
      height: 32px; }
    .btn-1 .arrow::after {
      width: 8px;
      height: 8px;
      background-size: cover;
      left: 12px;
      top: 12px; }

  .title-layout-1 {
    font-size: 2.8rem; } }
@media (hover: hover) {
  #pagetop::before {
    transition: opacity .4s; }
  #pagetop:hover::before {
    opacity: .48; }

  .btn-1 .arrow::before {
    transition: background .4s; }
  .btn-1:hover .arrow::before {
    background-color: #1a237e; }
  .btn-1:hover .arrow::after {
    background-image: url("../img/common/common_arrow-white.svg"); } }
/*//////////////////////////////////////////////////
アニメーション
//////////////////////////////////////////////////*/
@keyframes logo {
  0% {
    opacity: .48;
    filter: blur(2px); }
  100% {
    opacity: 1;
    filter: blur(0); } }
.loading-logo {
  animation: logo 3.2s forwards; }

/*//////////////////////////////////////////////////
ローディング
//////////////////////////////////////////////////*/
#loading_cover {
  line-height: 1;
  width: 100%;
  min-width: 320px;
  height: 100vh;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background-color: #fff; }
  #loading_cover .loading-logo {
    display: none;
    line-height: 1.7;
    text-align: center; }
    #loading_cover .loading-logo .gothic-b {
      display: inline-block;
      margin: 5px 0 0; }

/*//////////////////////////////////////////////////
ハンバーガーメニュー
//////////////////////////////////////////////////*/
#humb_wrap {
  line-height: 1;
  width: 40px;
  height: 40px;
  background-color: #1a237e;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: fixed;
  z-index: 10;
  right: 6%;
  top: 32px; }
  #humb_wrap .humb {
    width: 20px;
    height: 12px;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    #humb_wrap .humb span {
      display: block;
      width: 100%;
      height: 2px;
      background-color: #fff;
      position: absolute;
      z-index: 1;
      left: 0; }
      #humb_wrap .humb span:nth-of-type(1) {
        top: 0;
        transform: translate(0, -50%); }
      #humb_wrap .humb span:nth-of-type(2) {
        top: 50%;
        transform: translate(0, -50%); }
      #humb_wrap .humb span:nth-of-type(3) {
        bottom: 0;
        transform: translate(0, 50%); }

@media only screen and (min-width: 640px) {
  #humb_wrap {
    width: 52px;
    height: 52px;
    right: 5%;
    top: 40px; }
    #humb_wrap .humb {
      width: 26px;
      height: 14px; } }
@media only screen and (min-width: 960px) {
  #humb_wrap {
    width: 64px;
    height: 64px;
    right: 4%;
    top: 48px; }
    #humb_wrap .humb {
      width: 32px;
      height: 16px; } }
@media (hover: hover) {
  #humb_wrap .humb span:nth-of-type(1) {
    transition: top .4s; }
  #humb_wrap .humb span:nth-of-type(3) {
    transition: bottom .4s; }
  #humb_wrap:hover .humb span:nth-of-type(1) {
    top: 50%; }
  #humb_wrap:hover .humb span:nth-of-type(3) {
    bottom: 50%; } }
/*//////////////////////////////////////////////////
モーダルメニュー
//////////////////////////////////////////////////*/
#modal_menu {
  display: none;
  line-height: 1;
  width: 100%;
  min-width: 320px;
  height: 100vh;
  background-color: #fff;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0; }
  #modal_menu::before, #modal_menu::after {
    content: '';
    display: block;
    width: 100%;
    height: 66px;
    position: absolute;
    z-index: 2;
    right: 0;
    top: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0), white); }
  #modal_menu::after {
    top: auto;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white); }
  #modal_menu #menu_close {
    line-height: 1;
    width: 42px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    position: absolute;
    z-index: 3;
    right: 6%;
    top: 32px; }
    #modal_menu #menu_close .close {
      width: 22px;
      height: 22px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      #modal_menu #menu_close .close span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #1a237e;
        position: absolute;
        z-index: 1;
        left: 0; }
        #modal_menu #menu_close .close span:nth-of-type(1) {
          top: 0;
          transform: translateY(10px) rotate(-45deg); }
        #modal_menu #menu_close .close span:nth-of-type(2) {
          bottom: 0;
          transform: translateY(-10px) rotate(45deg); }
    #modal_menu #menu_close .txt {
      text-align: center;
      display: block;
      width: 100%; }
  #modal_menu .inner {
    height: 100vh;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
    #modal_menu .inner .wrap {
      width: 76%;
      padding: 132px 0; }
      #modal_menu .inner .wrap .logo {
        line-height: 1.7; }
        #modal_menu .inner .wrap .logo a {
          display: inline-block; }
          #modal_menu .inner .wrap .logo a .gothic-b {
            display: inline-block;
            margin: 5px 0 0; }
      #modal_menu .inner .wrap nav {
        margin: 40px 0 0; }
        #modal_menu .inner .wrap nav .main-menu li {
          margin: 32px 0 0; }
          #modal_menu .inner .wrap nav .main-menu li:first-of-type {
            margin: 0; }
          #modal_menu .inner .wrap nav .main-menu li a, #modal_menu .inner .wrap nav .main-menu li .active {
            color: #1a237e;
            display: inline-block;
            padding: 0 0 0 38px;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            #modal_menu .inner .wrap nav .main-menu li a .arrow, #modal_menu .inner .wrap nav .main-menu li .active .arrow {
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
              #modal_menu .inner .wrap nav .main-menu li a .arrow::before, #modal_menu .inner .wrap nav .main-menu li .active .arrow::before {
                content: '';
                display: block;
                width: 26px;
                height: 26px;
                border-radius: 50%;
                border: solid 1px rgba(26, 35, 126, 0.64);
                box-sizing: border-box; }
              #modal_menu .inner .wrap nav .main-menu li a .arrow::after, #modal_menu .inner .wrap nav .main-menu li .active .arrow::after {
                content: '';
                background-image: url("../img/common/common_arrow.svg");
                width: 6px;
                height: 6px;
                background-size: cover;
                position: absolute;
                z-index: 1;
                left: 10px;
                top: 10px; }
          #modal_menu .inner .wrap nav .main-menu li .active .arrow::before {
            background-color: #1a237e; }
          #modal_menu .inner .wrap nav .main-menu li .active .arrow::after {
            background-image: url("../img/common/common_arrow-white.svg"); }
        #modal_menu .inner .wrap nav .fields-menu {
          width: 100%;
          margin: 40px 0 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start;
          align-items: flex-start;
          gap: 16px; }
          #modal_menu .inner .wrap nav .fields-menu .title {
            width: 100%;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            #modal_menu .inner .wrap nav .fields-menu .title::after {
              content: '';
              display: block;
              width: 100%;
              height: 1px;
              background-color: rgba(26, 35, 126, 0.64);
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
            #modal_menu .inner .wrap nav .fields-menu .title .txt {
              background-color: #fff;
              padding: 0 8px 0 0;
              position: relative;
              z-index: 2;
              left: 0;
              top: 0; }
          #modal_menu .inner .wrap nav .fields-menu li:not(.title) {
            width: calc(50% - 8px); }
            #modal_menu .inner .wrap nav .fields-menu li:not(.title) a {
              display: flex;
              flex-wrap: wrap;
              justify-content: center;
              align-items: center;
              width: 100%;
              height: 40px;
              background-color: #1a237e;
              color: #fff; }

@media only screen and (min-width: 640px) {
  #modal_menu::before, #modal_menu::after {
    height: 77px; }
  #modal_menu #menu_close {
    width: 46px;
    right: 5%;
    top: 40px;
    gap: 5px; }
    #modal_menu #menu_close .close {
      width: 24px;
      height: 24px; }
      #modal_menu #menu_close .close span:nth-of-type(1) {
        transform: translateY(11px) rotate(-45deg); }
      #modal_menu #menu_close .close span:nth-of-type(2) {
        transform: translateY(-11px) rotate(45deg); }
  #modal_menu .inner .wrap {
    width: 90%;
    padding: 154px 0; }
    #modal_menu .inner .wrap nav {
      margin: 52px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      #modal_menu .inner .wrap nav .main-menu {
        width: 200px; }
        #modal_menu .inner .wrap nav .main-menu li {
          margin: 40px 0 0; }
          #modal_menu .inner .wrap nav .main-menu li a, #modal_menu .inner .wrap nav .main-menu li .active {
            padding: 0 0 0 43px; }
            #modal_menu .inner .wrap nav .main-menu li a .arrow::before, #modal_menu .inner .wrap nav .main-menu li .active .arrow::before {
              width: 29px;
              height: 29px; }
            #modal_menu .inner .wrap nav .main-menu li a .arrow::after, #modal_menu .inner .wrap nav .main-menu li .active .arrow::after {
              width: 7px;
              height: 7px;
              background-size: cover;
              left: 11px;
              top: 11px; }
      #modal_menu .inner .wrap nav .fields-menu {
        width: calc(100% - 200px - 52px);
        margin: 0;
        gap: 20px; }
        #modal_menu .inner .wrap nav .fields-menu .title .txt {
          padding: 0 9px 0 0; }
        #modal_menu .inner .wrap nav .fields-menu li:not(.title) {
          width: calc(50% - 10px); }
          #modal_menu .inner .wrap nav .fields-menu li:not(.title) a {
            height: 44px; } }
@media only screen and (min-width: 960px) {
  #modal_menu::before, #modal_menu::after {
    height: 88px; }
  #modal_menu #menu_close {
    width: 50px;
    right: 4%;
    top: 48px;
    gap: 6px; }
    #modal_menu #menu_close .close {
      width: 26px;
      height: 26px; }
      #modal_menu #menu_close .close span:nth-of-type(1) {
        transform: translateY(12px) rotate(-45deg); }
      #modal_menu #menu_close .close span:nth-of-type(2) {
        transform: translateY(-12px) rotate(45deg); }
  #modal_menu .inner .wrap {
    width: 92%;
    padding: 176px 0; }
    #modal_menu .inner .wrap nav {
      margin: 64px 0 0; }
      #modal_menu .inner .wrap nav .main-menu {
        width: 210px; }
        #modal_menu .inner .wrap nav .main-menu li {
          margin: 48px 0 0; }
          #modal_menu .inner .wrap nav .main-menu li a, #modal_menu .inner .wrap nav .main-menu li .active {
            padding: 0 0 0 48px; }
            #modal_menu .inner .wrap nav .main-menu li a .arrow::before, #modal_menu .inner .wrap nav .main-menu li .active .arrow::before {
              width: 32px;
              height: 32px; }
            #modal_menu .inner .wrap nav .main-menu li a .arrow::after, #modal_menu .inner .wrap nav .main-menu li .active .arrow::after {
              width: 8px;
              height: 8px;
              background-size: cover;
              left: 12px;
              top: 12px; }
      #modal_menu .inner .wrap nav .fields-menu {
        width: calc(100% - 210px - 64px);
        gap: 24px; }
        #modal_menu .inner .wrap nav .fields-menu .title .txt {
          padding: 0 10px 0 0; }
        #modal_menu .inner .wrap nav .fields-menu li:not(.title) {
          width: calc(33.3% - 16px); }
          #modal_menu .inner .wrap nav .fields-menu li:not(.title) a {
            height: 48px; } }
@media only screen and (min-width: 1280px) {
  #modal_menu .inner .wrap {
    width: 1200px; }
    #modal_menu .inner .wrap nav .fields-menu li:not(.title) {
      width: calc(25% - 18px); } }
@media (hover: hover) {
  #modal_menu .inner .wrap nav .main-menu li a .arrow::before {
    transition: background .4s; }
  #modal_menu .inner .wrap nav .main-menu li a:hover .arrow::before {
    background-color: #1a237e; }
  #modal_menu .inner .wrap nav .main-menu li a:hover .arrow::after {
    background-image: url("../img/common/common_arrow-white.svg"); }
  #modal_menu .inner .wrap nav .fields-menu li:not(.title) a .txt {
    transition: opacity .4s; }
  #modal_menu .inner .wrap nav .fields-menu li:not(.title) a:hover .txt {
    opacity: .48; } }
/*//////////////////////////////////////////////////
ヘッダー
//////////////////////////////////////////////////*/
header {
  line-height: 1;
  padding: 32px 0 0; }
  header .inner {
    width: 88%;
    margin: 0 auto; }
    header .inner .logo {
      line-height: 1.7; }
      header .inner .logo a {
        display: inline-block; }
        header .inner .logo a .gothic-b {
          display: inline-block;
          margin: 5px 0 0; }

@media only screen and (min-width: 640px) {
  header {
    padding: 40px 0 0; }
    header .inner {
      width: 90%; } }
@media only screen and (min-width: 960px) {
  header {
    padding: 48px 0 0; }
    header .inner {
      width: 92%; } }
/*//////////////////////////////////////////////////
フッター
//////////////////////////////////////////////////*/
footer {
  line-height: 1;
  padding: 60px 0 32px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0; }
  footer::after {
    content: '';
    display: block;
    background-image: url("../img/common/common_illust-2.svg");
    width: 120%;
    height: 90%;
    background-size: cover;
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 104px;
    transform: translate(-50%, 0);
    opacity: .24; }
  footer .inner {
    width: 88%;
    max-width: 792px;
    margin: 0 auto;
    padding: 32px 0 0;
    border-top: solid 1px rgba(26, 35, 126, 0.16);
    position: relative;
    z-index: 2;
    left: 0;
    top: 0; }
    footer .inner .logo-wrap .logo {
      line-height: 1.7;
      text-align: center; }
    footer .inner .logo-wrap .mail {
      width: 232px;
      margin: 16px auto 0; }
      footer .inner .logo-wrap .mail a {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 40px;
        background-color: #1a237e;
        color: #fff; }
        footer .inner .logo-wrap .mail a .txt {
          display: inline-block;
          position: relative;
          z-index: 1;
          left: 0;
          top: 0;
          padding: 0 0 0 28px; }
          footer .inner .logo-wrap .mail a .txt::before {
            content: '';
            display: block;
            background-image: url("../img/common/common_mail-white.svg");
            width: 20px;
            height: 20px;
            background-size: cover;
            position: absolute;
            z-index: 1;
            left: 0;
            top: 50%;
            transform: translate(0, -50%); }
      footer .inner .logo-wrap .mail .mail-txt {
        text-align: center;
        display: block;
        margin: 12px 0 0; }
    footer .inner ul {
      margin: 32px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 16px; }
      footer .inner ul li a {
        color: #1a237e;
        display: inline-block; }
    footer .inner .copy {
      line-height: 1.7;
      text-align: center;
      margin: 40px 0 0; }

@media only screen and (min-width: 640px) {
  footer {
    padding: 90px 0 40px; }
    footer::after {
      top: 143px; }
    footer .inner {
      width: 90%;
      padding: 40px 0 0; }
      footer .inner .logo-wrap .mail {
        margin: 20px auto 0; }
        footer .inner .logo-wrap .mail a {
          height: 44px; }
          footer .inner .logo-wrap .mail a .txt {
            padding: 0 0 0 31px; }
            footer .inner .logo-wrap .mail a .txt::before {
              width: 22px;
              height: 22px;
              background-size: cover; }
        footer .inner .logo-wrap .mail .mail-txt {
          margin: 14px 0 0; }
      footer .inner ul {
        margin: 40px 0 0;
        gap: 20px; }
      footer .inner .copy {
        margin: 52px 0 0; } }
@media only screen and (min-width: 960px) {
  footer {
    padding: 120px 0 48px; }
    footer::after {
      top: 182px; }
    footer .inner {
      width: 92%;
      padding: 48px 0 0; }
      footer .inner .logo-wrap .mail {
        margin: 24px auto 0; }
        footer .inner .logo-wrap .mail a {
          height: 48px; }
          footer .inner .logo-wrap .mail a .txt {
            padding: 0 0 0 34px; }
            footer .inner .logo-wrap .mail a .txt::before {
              width: 24px;
              height: 24px;
              background-size: cover; }
        footer .inner .logo-wrap .mail .mail-txt {
          margin: 16px 0 0; }
      footer .inner ul {
        margin: 48px 0 0;
        gap: 24px; }
      footer .inner .copy {
        margin: 64px 0 0; } }
@media only screen and (min-width: 1280px) {
  footer {
    width: 100%;
    padding: 120px calc(50% - 600px) 48px calc(232px + 88px + 88px + 50% - 600px);
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    footer::before {
      content: '';
      display: block;
      width: calc(232px + 88px + 50% - 600px);
      height: 100%;
      background-color: #1a237e;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0; }
    footer::after {
      width: 72%;
      height: 54%;
      background-size: cover;
      transform: translate(0, 0);
      top: auto;
      bottom: 0; }
    footer .inner {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      footer .inner .logo-wrap .logo {
        text-align: left; }
      footer .inner .logo-wrap .mail {
        margin: 24px 0 0; }
      footer .inner ul {
        width: calc(100% - 232px);
        margin: 0;
        justify-content: flex-end; }
      footer .inner .copy {
        text-align: left;
        width: 100%; } }
@media (hover: hover) {
  footer .inner .logo-wrap .mail a .txt {
    transition: opacity .4s; }
  footer .inner .logo-wrap .mail a:hover .txt {
    opacity: .48; }
  footer .inner ul li a {
    transition: opacity .4s; }
  footer .inner ul li:hover a {
    opacity: .48; } }
/*//////////////////////////////////////////////////
フロントページ
//////////////////////////////////////////////////*/
.front-page .hero {
  padding: 80px 0; }
  .front-page .hero .inner {
    width: 88%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .hero .inner .grypen {
      line-height: 1;
      font-size: 7.2rem;
      position: absolute;
      z-index: 1;
      left: 50%;
      top: 0;
      transform: translate(-50%, -64%); }
    .front-page .hero .inner h2 {
      line-height: 1.7;
      text-align: center;
      position: relative;
      z-index: 2;
      left: 0;
      top: 0; }
.front-page .fields {
  line-height: 1;
  margin: 60px 0 0; }
  .front-page .fields.pc {
    display: none; }
  .front-page .fields ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px; }
    .front-page .fields ul .title {
      width: 100%;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0;
      margin: 0 0 16px; }
      .front-page .fields ul .title::after {
        content: '';
        display: block;
        width: 100%;
        height: 1px;
        background-color: rgba(26, 35, 126, 0.64);
        position: absolute;
        z-index: 1;
        left: 0;
        top: 50%;
        transform: translate(0, -50%); }
      .front-page .fields ul .title .txt {
        background-color: #fff;
        padding: 0 8px 0 0;
        position: relative;
        z-index: 2;
        left: 0;
        top: 0; }
    .front-page .fields ul li:not(.title) {
      width: calc(50% - 8px); }
      .front-page .fields ul li:not(.title) a {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 40px;
        background-color: #1a237e;
        color: #fff; }
.front-page .main-wrap .sidebar {
  display: none; }
.front-page .intro .inner {
  width: 88%;
  max-width: 792px;
  margin: 0 auto; }
  .front-page .intro .inner .txt-wrap .img {
    width: 110px;
    float: left;
    margin: 8px 20px 16px 0; }
  .front-page .intro .inner .btn-wrap {
    text-align: right;
    margin: 20px 0 0; }
  .front-page .intro .inner .link-wrap {
    margin: 60px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 32px; }
    .front-page .intro .inner .link-wrap a {
      line-height: 1;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 66px;
      border: solid 1px #1a237e;
      box-sizing: border-box; }
.front-page .news {
  padding: 60px 0 0; }
  .front-page .news .inner {
    width: 88%;
    max-width: 792px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .news .inner .btn-wrap {
      position: absolute;
      z-index: 1;
      right: 0;
      top: 4px; }
    .front-page .news .inner .item-wrap {
      margin: 32px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 32px; }
      .front-page .news .inner .item-wrap .item .img {
        display: block; }
      .front-page .news .inner .item-wrap .item .txt-wrap {
        display: block;
        margin: 4px 0 0; }
        .front-page .news .inner .item-wrap .item .txt-wrap .date {
          line-height: 1;
          display: inline-block;
          margin: 0 8px 0 0; }
        .front-page .news .inner .item-wrap .item .txt-wrap .cat {
          line-height: 1;
          display: inline-block; }
        .front-page .news .inner .item-wrap .item .txt-wrap h3 {
          line-height: 1.7; }

@media only screen and (min-width: 640px) {
  .front-page .hero {
    padding: 120px 0; }
    .front-page .hero .inner {
      width: 90%; }
      .front-page .hero .inner .grypen {
        font-size: 10.8rem; }
      .front-page .hero .inner h2 {
        line-height: 1; }
        .front-page .hero .inner h2 br {
          display: none; }
  .front-page .fields {
    margin: 90px 0 0; }
    .front-page .fields ul {
      gap: 20px; }
      .front-page .fields ul .title {
        margin: 0 0 20px; }
        .front-page .fields ul .title .txt {
          padding: 0 9px 0 0; }
      .front-page .fields ul li:not(.title) {
        width: calc(50% - 10px); }
        .front-page .fields ul li:not(.title) a {
          height: 44px; }
  .front-page .intro .inner {
    width: 90%; }
    .front-page .intro .inner .txt-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      .front-page .intro .inner .txt-wrap .img {
        margin: 8px 0 0; }
      .front-page .intro .inner .txt-wrap p {
        width: calc(100% - 110px - 26px); }
    .front-page .intro .inner .btn-wrap {
      margin: 26px 0 0; }
    .front-page .intro .inner .link-wrap {
      margin: 90px 0 0;
      gap: 40px; }
      .front-page .intro .inner .link-wrap a {
        width: calc(50% - 20px);
        height: 77px; }
  .front-page .news {
    padding: 90px 0 0; }
    .front-page .news .inner {
      width: 90%; }
      .front-page .news .inner .btn-wrap {
        top: 7px; }
      .front-page .news .inner .item-wrap {
        margin: 40px 0 0;
        gap: 40px; }
        .front-page .news .inner .item-wrap .item {
          width: calc(50% - 20px); } }
@media only screen and (min-width: 960px) {
  .front-page .hero {
    padding: 160px 0; }
    .front-page .hero .inner {
      width: 92%; }
      .front-page .hero .inner .grypen {
        font-size: 14.4rem; }
  .front-page .fields {
    margin: 120px 0 0; }
    .front-page .fields ul {
      gap: 24px; }
      .front-page .fields ul .title {
        margin: 0 0 24px; }
        .front-page .fields ul .title .txt {
          padding: 0 10px 0 0; }
      .front-page .fields ul li:not(.title) {
        width: calc(33.3% - 16px); }
        .front-page .fields ul li:not(.title) a {
          height: 48px; }
  .front-page .intro .inner {
    width: 92%; }
    .front-page .intro .inner .txt-wrap p {
      width: calc(100% - 110px - 32px); }
    .front-page .intro .inner .btn-wrap {
      margin: 32px 0 0; }
    .front-page .intro .inner .link-wrap {
      margin: 120px 0 0;
      gap: 48px; }
      .front-page .intro .inner .link-wrap a {
        width: calc(50% - 24px);
        height: 88px; }
  .front-page .news {
    padding: 120px 0 0; }
    .front-page .news .inner {
      width: 92%; }
      .front-page .news .inner .btn-wrap {
        top: 8px; }
      .front-page .news .inner .item-wrap {
        margin: 48px 0 0;
        gap: 48px; }
        .front-page .news .inner .item-wrap .item {
          width: calc(50% - 24px); } }
@media only screen and (min-width: 1280px) {
  .front-page .hero .inner {
    width: 1200px; }
  .front-page .fields {
    width: 1200px;
    margin: 0 auto; }
    .front-page .fields.sp {
      display: none; }
    .front-page .fields.pc {
      display: block; }
    .front-page .fields ul {
      gap: 0; }
      .front-page .fields ul li:not(.title) {
        width: 12.6%; }
        .front-page .fields ul li:not(.title) a {
          height: 40px; }
  .front-page .main-wrap {
    width: 100%;
    margin: 48px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch; }
    .front-page .main-wrap .sidebar {
      line-height: 1;
      display: block;
      width: calc(232px + 88px + 50% - 600px);
      padding: 88px 88px 88px calc(50% - 600px);
      box-sizing: border-box;
      background-color: #1a237e;
      border-radius: 0 120px 0 0;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      .front-page .main-wrap .sidebar::before {
        content: '';
        display: block;
        background-image: url("../img/common/common_illust-1.png");
        width: 232px;
        height: 282px;
        background-size: cover;
        position: absolute;
        z-index: 1;
        right: 88px;
        top: 62px;
        opacity: .16; }
      .front-page .main-wrap .sidebar .logo {
        line-height: 1.7;
        position: relative;
        z-index: 2;
        left: 0;
        top: 0; }
      .front-page .main-wrap .sidebar .mail {
        margin: 64px 0 0;
        position: relative;
        z-index: 2;
        left: 0;
        top: 0; }
        .front-page .main-wrap .sidebar .mail a {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          width: 100%;
          height: 48px;
          background-color: #fff;
          color: #1a237e; }
          .front-page .main-wrap .sidebar .mail a .txt {
            display: inline-block;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0;
            padding: 0 0 0 34px; }
            .front-page .main-wrap .sidebar .mail a .txt::before {
              content: '';
              display: block;
              background-image: url("../img/common/common_mail.svg");
              width: 24px;
              height: 24px;
              background-size: cover;
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
        .front-page .main-wrap .sidebar .mail .mail-txt {
          text-align: center;
          display: block;
          margin: 16px 0 0; }
      .front-page .main-wrap .sidebar nav {
        margin: 64px 0 0; }
        .front-page .main-wrap .sidebar nav .main-menu li {
          margin: 48px 0 0; }
          .front-page .main-wrap .sidebar nav .main-menu li:first-of-type {
            margin: 0; }
          .front-page .main-wrap .sidebar nav .main-menu li a, .front-page .main-wrap .sidebar nav .main-menu li .active {
            color: #fff;
            display: inline-block;
            padding: 0 0 0 48px;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            .front-page .main-wrap .sidebar nav .main-menu li a .arrow, .front-page .main-wrap .sidebar nav .main-menu li .active .arrow {
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
              .front-page .main-wrap .sidebar nav .main-menu li a .arrow::before, .front-page .main-wrap .sidebar nav .main-menu li .active .arrow::before {
                content: '';
                display: block;
                width: 32px;
                height: 32px;
                border-radius: 50%;
                border: solid 1px rgba(255, 255, 255, 0.64);
                box-sizing: border-box; }
              .front-page .main-wrap .sidebar nav .main-menu li a .arrow::after, .front-page .main-wrap .sidebar nav .main-menu li .active .arrow::after {
                content: '';
                background-image: url("../img/common/common_arrow-white.svg");
                width: 8px;
                height: 8px;
                background-size: cover;
                position: absolute;
                z-index: 1;
                left: 12px;
                top: 12px; }
          .front-page .main-wrap .sidebar nav .main-menu li .active .arrow::before {
            background-color: #fff; }
          .front-page .main-wrap .sidebar nav .main-menu li .active .arrow::after {
            background-image: url("../img/common/common_arrow.svg"); }
        .front-page .main-wrap .sidebar nav .fields-menu {
          width: 100%;
          margin: 64px 0 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start;
          align-items: flex-start;
          gap: 24px; }
          .front-page .main-wrap .sidebar nav .fields-menu .title {
            width: 100%;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            .front-page .main-wrap .sidebar nav .fields-menu .title::after {
              content: '';
              display: block;
              width: 100%;
              height: 1px;
              background-color: rgba(255, 255, 255, 0.64);
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
            .front-page .main-wrap .sidebar nav .fields-menu .title .txt {
              background-color: #1a237e;
              padding: 0 10px 0 0;
              position: relative;
              z-index: 2;
              left: 0;
              top: 0; }
          .front-page .main-wrap .sidebar nav .fields-menu li:not(.title) {
            width: 100%; }
            .front-page .main-wrap .sidebar nav .fields-menu li:not(.title) a {
              display: flex;
              flex-wrap: wrap;
              justify-content: center;
              align-items: center;
              width: 100%;
              height: 48px;
              background-color: #fff;
              color: #1a237e; }
    .front-page .main-wrap .contents-wrap {
      width: calc(792px + 88px + 50% - 600px);
      padding: 0 calc(50% - 600px) 0 88px;
      box-sizing: border-box; }
  .front-page .intro {
    padding: 88px 0 0; }
    .front-page .intro .inner {
      width: 100%; }
  .front-page .news .inner {
    width: 100%; } }
@media (hover: hover) {
  .front-page .fields .inner ul li:not(.title) a .txt {
    transition: opacity .4s; }
  .front-page .fields .inner ul li:not(.title) a:hover .txt {
    opacity: .48; }
  .front-page .main-wrap .sidebar .mail a .txt {
    transition: opacity .4s; }
  .front-page .main-wrap .sidebar .mail a:hover .txt {
    opacity: .48; }
  .front-page .main-wrap .sidebar nav .main-menu li a .arrow::before {
    transition: background .4s; }
  .front-page .main-wrap .sidebar nav .main-menu li a:hover .arrow::before {
    background-color: #fff; }
  .front-page .main-wrap .sidebar nav .main-menu li a:hover .arrow::after {
    background-image: url("../img/common/common_arrow.svg"); }
  .front-page .main-wrap .sidebar nav .fields-menu li:not(.title) a .txt {
    transition: opacity .4s; }
  .front-page .main-wrap .sidebar nav .fields-menu li:not(.title) a:hover .txt {
    opacity: .48; }
  .front-page .intro .inner .link-wrap a {
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .intro .inner .link-wrap a .txt {
      position: relative;
      z-index: 2;
      left: 0;
      top: 0; }
    .front-page .intro .inner .link-wrap a::after {
      content: '';
      display: block;
      width: 0;
      height: 100%;
      background-color: #1a237e;
      position: absolute;
      z-index: 1;
      right: 0;
      top: 0;
      transition: width .4s; }
    .front-page .intro .inner .link-wrap a:hover .txt {
      color: #fff; }
    .front-page .intro .inner .link-wrap a:hover::after {
      width: 100%;
      left: 0;
      right: auto; } }
/*//////////////////////////////////////////////////
固定ページ
//////////////////////////////////////////////////*/
.page-general .header-under {
  padding: 60px 0 0; }
  .page-general .header-under .inner {
    width: 88%;
    max-width: 792px;
    margin: 0 auto;
    padding: 0 0 60px;
    border-bottom: solid 1px rgba(26, 35, 126, 0.16); }
    .page-general .header-under .inner .page-title {
      line-height: 1.7;
      text-align: center; }
.page-general .main-wrap .sidebar {
  display: none; }
.page-general .breadcrumbs {
  line-height: 1;
  width: 88%;
  max-width: 792px;
  margin: 0 auto;
  padding: 32px 0 0; }
.page-general .contents-inner {
  width: 88%;
  max-width: 792px;
  margin: 0 auto;
  padding: 40px 0 0; }

@media only screen and (min-width: 640px) {
  .page-general .header-under {
    padding: 90px 0 0; }
    .page-general .header-under .inner {
      width: 90%;
      padding: 0 0 90px; }
  .page-general .breadcrumbs {
    width: 90%;
    padding: 40px 0 0; }
  .page-general .contents-inner {
    width: 90%;
    padding: 52px 0 0; } }
@media only screen and (min-width: 960px) {
  .page-general .header-under {
    padding: 120px 0 0; }
    .page-general .header-under .inner {
      width: 92%;
      padding: 0 0 120px; }
  .page-general .breadcrumbs {
    width: 92%;
    padding: 48px 0 0; }
  .page-general .contents-inner {
    width: 92%;
    padding: 64px 0 0; } }
@media only screen and (min-width: 1280px) {
  .page-general .header-under .inner {
    width: 1200px;
    max-width: 1200px;
    border-bottom: none; }
  .page-general .main-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch; }
    .page-general .main-wrap .sidebar {
      line-height: 1;
      display: block;
      width: calc(232px + 88px + 50% - 600px);
      padding: 88px 88px 88px calc(50% - 600px);
      box-sizing: border-box;
      background-color: #1a237e;
      border-radius: 0 120px 0 0;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      .page-general .main-wrap .sidebar::before {
        content: '';
        display: block;
        background-image: url("../img/common/common_illust-1.png");
        width: 232px;
        height: 282px;
        background-size: cover;
        position: absolute;
        z-index: 1;
        right: 88px;
        top: 62px;
        opacity: .16; }
      .page-general .main-wrap .sidebar .logo {
        line-height: 1.7;
        position: relative;
        z-index: 2;
        left: 0;
        top: 0; }
      .page-general .main-wrap .sidebar .mail {
        margin: 64px 0 0;
        position: relative;
        z-index: 2;
        left: 0;
        top: 0; }
        .page-general .main-wrap .sidebar .mail a {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          width: 100%;
          height: 48px;
          background-color: #fff;
          color: #1a237e; }
          .page-general .main-wrap .sidebar .mail a .txt {
            display: inline-block;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0;
            padding: 0 0 0 34px; }
            .page-general .main-wrap .sidebar .mail a .txt::before {
              content: '';
              display: block;
              background-image: url("../img/common/common_mail.svg");
              width: 24px;
              height: 24px;
              background-size: cover;
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
        .page-general .main-wrap .sidebar .mail .mail-txt {
          text-align: center;
          display: block;
          margin: 16px 0 0; }
      .page-general .main-wrap .sidebar nav {
        margin: 64px 0 0; }
        .page-general .main-wrap .sidebar nav .main-menu li {
          margin: 48px 0 0; }
          .page-general .main-wrap .sidebar nav .main-menu li:first-of-type {
            margin: 0; }
          .page-general .main-wrap .sidebar nav .main-menu li a, .page-general .main-wrap .sidebar nav .main-menu li .active {
            color: #fff;
            display: inline-block;
            padding: 0 0 0 48px;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            .page-general .main-wrap .sidebar nav .main-menu li a .arrow, .page-general .main-wrap .sidebar nav .main-menu li .active .arrow {
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
              .page-general .main-wrap .sidebar nav .main-menu li a .arrow::before, .page-general .main-wrap .sidebar nav .main-menu li .active .arrow::before {
                content: '';
                display: block;
                width: 32px;
                height: 32px;
                border-radius: 50%;
                border: solid 1px rgba(255, 255, 255, 0.64);
                box-sizing: border-box; }
              .page-general .main-wrap .sidebar nav .main-menu li a .arrow::after, .page-general .main-wrap .sidebar nav .main-menu li .active .arrow::after {
                content: '';
                background-image: url("../img/common/common_arrow-white.svg");
                width: 8px;
                height: 8px;
                background-size: cover;
                position: absolute;
                z-index: 1;
                left: 12px;
                top: 12px; }
          .page-general .main-wrap .sidebar nav .main-menu li .active .arrow::before {
            background-color: #fff; }
          .page-general .main-wrap .sidebar nav .main-menu li .active .arrow::after {
            background-image: url("../img/common/common_arrow.svg"); }
        .page-general .main-wrap .sidebar nav .fields-menu {
          width: 100%;
          margin: 64px 0 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-start;
          align-items: flex-start;
          gap: 24px; }
          .page-general .main-wrap .sidebar nav .fields-menu .title {
            width: 100%;
            position: relative;
            z-index: 1;
            left: 0;
            top: 0; }
            .page-general .main-wrap .sidebar nav .fields-menu .title::after {
              content: '';
              display: block;
              width: 100%;
              height: 1px;
              background-color: rgba(255, 255, 255, 0.64);
              position: absolute;
              z-index: 1;
              left: 0;
              top: 50%;
              transform: translate(0, -50%); }
            .page-general .main-wrap .sidebar nav .fields-menu .title .txt {
              background-color: #1a237e;
              padding: 0 10px 0 0;
              position: relative;
              z-index: 2;
              left: 0;
              top: 0; }
          .page-general .main-wrap .sidebar nav .fields-menu li:not(.title) {
            width: 100%; }
            .page-general .main-wrap .sidebar nav .fields-menu li:not(.title) a {
              display: flex;
              flex-wrap: wrap;
              justify-content: center;
              align-items: center;
              width: 100%;
              height: 48px;
              background-color: #fff;
              color: #1a237e; }
    .page-general .main-wrap .contents-wrap {
      width: calc(792px + 88px + 50% - 600px);
      padding: 0 calc(50% - 600px) 0 88px;
      box-sizing: border-box; }
  .page-general .breadcrumbs {
    width: 100%;
    padding: 88px 0 0; }
  .page-general .contents-inner {
    width: 100%;
    padding: 88px 0 0; } }
@media (hover: hover) {
  .page-general .main-wrap .sidebar .mail a .txt {
    transition: opacity .4s; }
  .page-general .main-wrap .sidebar .mail a:hover .txt {
    opacity: .48; }
  .page-general .main-wrap .sidebar nav .main-menu li a .arrow::before {
    transition: background .4s; }
  .page-general .main-wrap .sidebar nav .main-menu li a:hover .arrow::before {
    background-color: #fff; }
  .page-general .main-wrap .sidebar nav .main-menu li a:hover .arrow::after {
    background-image: url("../img/common/common_arrow.svg"); }
  .page-general .main-wrap .sidebar nav .fields-menu li:not(.title) a .txt {
    transition: opacity .4s; }
  .page-general .main-wrap .sidebar nav .fields-menu li:not(.title) a:hover .txt {
    opacity: .48; } }
/*//////////////////////////////////////////////////
ブロックレイアウト
//////////////////////////////////////////////////*/
.use-block-layout h2 {
  line-height: 1.7;
  font-size: 1.8rem;
  letter-spacing: .2rem;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 0 18px;
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
  .use-block-layout h2::before {
    content: '';
    display: block;
    width: 4px;
    height: 18px;
    background-color: #1a237e;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 52%;
    transform: translate(0, -50%); }
.use-block-layout h3 {
  line-height: 1.7;
  font-size: 1.6rem;
  letter-spacing: .2rem;
  margin: 0 0 16px;
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
.use-block-layout strong {
  font-family: "NotoSansJP-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
.use-block-layout em {
  font-style: italic; }
.use-block-layout sup {
  vertical-align: super;
  font-size: 1.0rem; }
.use-block-layout sub {
  vertical-align: sub;
  font-size: 1.0rem; }
.use-block-layout figcaption {
  line-height: 1;
  font-size: 1.0rem;
  width: 100%;
  text-align: right; }
.use-block-layout ol {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ol li {
    list-style: none;
    counter-increment: cnt;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 24px;
    margin: 8px 0 0; }
    .use-block-layout ol li:first-of-type {
      margin: 0; }
    .use-block-layout ol li::before {
      content: counter(cnt) "　";
      display: inline-block;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0; }
  .use-block-layout ol ol, .use-block-layout ol ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ol ol li, .use-block-layout ol ul li {
      counter-increment: none; }
.use-block-layout ul {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ul li {
    list-style: none;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 14px;
    margin: 8px 0 0; }
    .use-block-layout ul li:first-of-type {
      margin: 0; }
    .use-block-layout ul li::before {
      content: '';
      display: inline-block;
      background-color: #1a237e;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 8px; }
  .use-block-layout ul ol, .use-block-layout ul ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 18px; }
    .use-block-layout ul.attention li::before {
      content: '※';
      background: none;
      width: auto;
      height: auto;
      border-radius: 0;
      top: 0; }
.use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
  text-decoration: underline;
  color: #1a237e; }
.use-block-layout hr {
  width: 100%;
  border: none;
  border-top: solid 1px rgba(26, 35, 126, 0.16); }
.use-block-layout .hr-half {
  width: 50%;
  margin: 0 auto; }
.use-block-layout .hr-quarter {
  width: 25%;
  margin: 0 auto; }
.use-block-layout .wp-block-image {
  max-width: 100%;
  height: auto; }
  .use-block-layout .wp-block-image img {
    max-width: 100%;
    height: auto; }
.use-block-layout .size-thumbnail {
  max-width: 50% !important; }
.use-block-layout .wp-block-gallery .blocks-gallery-grid {
  padding: 0;
  margin: 0; }
  .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item {
    padding: 0;
    margin: 1px; }
    .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item::before {
      content: none; }
.use-block-layout .wp-block-columns .wp-block-column .wp-block-image {
  margin: 0; }
.use-block-layout .wp-block-table {
  line-height: 1.7;
  width: 100%;
  font-size: 1.2rem; }
  .use-block-layout .wp-block-table tr {
    border-bottom: solid 1px rgba(26, 35, 126, 0.16); }
    .use-block-layout .wp-block-table tr:first-of-type {
      border-top: solid 1px rgba(26, 35, 126, 0.16); }
    .use-block-layout .wp-block-table tr td {
      vertical-align: top;
      padding: 8px 8px 8px 0;
      border: none; }
  .use-block-layout .wp-block-table.keep tr td:first-of-type {
    word-break: keep-all;
    white-space: nowrap; }
.use-block-layout .wp-block-video {
  width: 100%; }
  .use-block-layout .wp-block-video video {
    outline: none; }
.use-block-layout .wrap-youtube {
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 56.25%;
  height: 0;
  overflow: hidden; }
  .use-block-layout .wrap-youtube iframe {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
.use-block-layout .movie-item .video-js {
  width: 100%;
  height: auto;
  outline: none; }
.use-block-layout .flex-txt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
.use-block-layout .only-pc {
  display: none; }

@media only screen and (min-width: 640px) {
  .use-block-layout h2 {
    font-size: 2.1rem;
    margin: 0 0 26px;
    padding: 0 0 0 21px; }
    .use-block-layout h2::before {
      height: 21px; }
  .use-block-layout h3 {
    font-size: 1.8rem;
    margin: 0 0 20px; }
  .use-block-layout figcaption {
    font-size: 1.1rem; }
  .use-block-layout ol li {
    padding: 0 0 0 26px; }
  .use-block-layout ol ol, .use-block-layout ol ul {
    font-size: 1.3rem; }
  .use-block-layout ul li {
    padding: 0 0 0 16px; }
    .use-block-layout ul li::before {
      top: 9px; }
  .use-block-layout ul ol, .use-block-layout ul ul {
    font-size: 1.3rem; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 20px; }
  .use-block-layout .size-thumbnail {
    max-width: 25% !important; }
  .use-block-layout .size-medium {
    max-width: 50% !important; }
  .use-block-layout .wp-block-table {
    font-size: 1.3rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 9px 9px 9px 0; }
  .use-block-layout .only-sp {
    display: none; }
  .use-block-layout .only-pc {
    display: block; } }
@media only screen and (min-width: 960px) {
  .use-block-layout h2 {
    font-size: 2.4rem;
    margin: 0 0 32px;
    padding: 0 0 0 24px; }
    .use-block-layout h2::before {
      height: 24px; }
  .use-block-layout h3 {
    font-size: 2.0rem;
    margin: 0 0 24px; }
  .use-block-layout figcaption {
    font-size: 1.2rem; }
  .use-block-layout ol li {
    padding: 0 0 0 28px; }
  .use-block-layout ol ol, .use-block-layout ol ul {
    font-size: 1.4rem; }
  .use-block-layout ul li {
    padding: 0 0 0 18px; }
    .use-block-layout ul li::before {
      top: 10px; }
  .use-block-layout ul ol, .use-block-layout ul ul {
    font-size: 1.4rem; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 22px; }
  .use-block-layout .wp-block-table {
    font-size: 1.4rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 10px 10px 10px 0; } }
@media (hover: hover) {
  .use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
    transition: opacity .4s; }
    .use-block-layout p a:hover, .use-block-layout li a:hover, .use-block-layout table a:hover {
      opacity: .48; } }
/*//////////////////////////////////////////////////
プロフィール
//////////////////////////////////////////////////*/
.page-general .contents-inner .profile-info-table tr td:first-of-type {
  width: 120px; }
.page-general .contents-inner .profile-table-title {
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 12px;
  border: solid 1px rgba(26, 35, 126, 0.64);
  box-sizing: border-box;
  cursor: pointer; }
  .page-general .contents-inner .profile-table-title::after {
    content: '';
    display: block;
    background-image: url("../img/common/common_arrow.svg");
    width: 8px;
    height: 8px;
    background-size: cover;
    position: absolute;
    z-index: 1;
    right: 12px;
    top: 50%;
    transform: translate(0, -50%) rotate(90deg); }
  .page-general .contents-inner .profile-table-title.active::after {
    transform: translate(0, -50%) rotate(-90deg); }
.page-general .contents-inner .profile-table {
  display: none; }
.page-general .contents-inner .profile-table-3 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(3) {
  width: 70px; }
.page-general .contents-inner .profile-table-3 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(4) {
  width: 80px; }

@media only screen and (min-width: 640px) {
  .page-general .contents-inner .profile-info-table tr td:first-of-type {
    width: 125px; }
  .page-general .contents-inner .profile-table-title {
    padding: 14px; }
    .page-general .contents-inner .profile-table-title::after {
      width: 9px;
      height: 9px;
      background-size: cover;
      right: 14px; }
  .page-general .contents-inner .profile-table-3 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(3) {
    width: 100px; }
  .page-general .contents-inner .profile-table-3 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(4) {
    width: 85px; } }
@media only screen and (min-width: 960px) {
  .page-general .contents-inner .profile-info-table tr td:first-of-type {
    width: 130px; }
  .page-general .contents-inner .profile-table-title {
    padding: 16px; }
    .page-general .contents-inner .profile-table-title::after {
      width: 10px;
      height: 10px;
      background-size: cover;
      right: 16px; }
  .page-general .contents-inner .profile-table-3 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(3), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(3) {
    width: 130px; }
  .page-general .contents-inner .profile-table-3 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-4 tr td:nth-of-type(4), .page-general .contents-inner .profile-table-5 tr td:nth-of-type(4) {
    width: 90px; } }
@media (hover: hover) {
  .page-general .contents-inner .profile-table-title {
    transition: opacity .4s; }
    .page-general .contents-inner .profile-table-title:hover {
      opacity: .48; } }
/*//////////////////////////////////////////////////
お知らせ
//////////////////////////////////////////////////*/
.page-general .contents-inner.news-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px; }
  .page-general .contents-inner.news-wrap .search-tool {
    width: 100%;
    margin: 0 0 8px; }
    .page-general .contents-inner.news-wrap .search-tool .select-item {
      position: relative;
      z-index: 1;
      left: 0;
      top: 0;
      border: solid 1px rgba(26, 35, 126, 0.64);
      box-sizing: border-box; }
      .page-general .contents-inner.news-wrap .search-tool .select-item::after {
        content: '';
        display: block;
        background-image: url("../img/common/common_arrow.svg");
        width: 8px;
        height: 8px;
        background-size: cover;
        position: absolute;
        z-index: 1;
        right: 16px;
        top: 50%;
        transform: translate(0, -50%) rotate(90deg); }
      .page-general .contents-inner.news-wrap .search-tool .select-item select {
        width: 100%;
        height: 100%;
        padding: 12px 38px 12px 12px;
        box-sizing: border-box; }
  .page-general .contents-inner.news-wrap .item .img {
    display: block; }
  .page-general .contents-inner.news-wrap .item .txt-wrap {
    display: block;
    margin: 4px 0 0; }
    .page-general .contents-inner.news-wrap .item .txt-wrap .date {
      line-height: 1;
      display: inline-block;
      margin: 0 8px 0 0; }
    .page-general .contents-inner.news-wrap .item .txt-wrap .cat {
      line-height: 1;
      display: inline-block; }
    .page-general .contents-inner.news-wrap .item .txt-wrap h3 {
      line-height: 1.7; }
  .page-general .contents-inner.news-wrap .pagenation {
    width: 100%;
    margin: 8px 0 0;
    line-height: 1;
    text-align: center; }
    .page-general .contents-inner.news-wrap .pagenation .pagenation-inner {
      display: inline-block;
      border: solid 1px #1a237e; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner h2 {
        display: none; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .nav-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner a, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .current, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .dots {
        display: block;
        width: 32px;
        height: 32px;
        padding: 2px 0 0 2px;
        border-left: solid 1px #1a237e;
        box-sizing: border-box;
        color: #1a237e;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .current {
        background-color: #1a237e;
        color: #fff; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .prev {
        border: none; }

@media only screen and (min-width: 640px) {
  .page-general .contents-inner.news-wrap {
    gap: 40px; }
    .page-general .contents-inner.news-wrap .search-tool {
      margin: 0 0 12px; }
      .page-general .contents-inner.news-wrap .search-tool .select-item::after {
        width: 9px;
        height: 9px;
        background-size: cover;
        right: 20px; }
      .page-general .contents-inner.news-wrap .search-tool .select-item select {
        padding: 14px 47px 14px 14px; }
    .page-general .contents-inner.news-wrap .item {
      width: calc(50% - 20px); }
    .page-general .contents-inner.news-wrap .pagenation {
      margin: 12px 0 0; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner a, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .current, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .dots {
        width: 36px;
        height: 36px; } }
@media only screen and (min-width: 960px) {
  .page-general .contents-inner.news-wrap {
    gap: 48px; }
    .page-general .contents-inner.news-wrap .search-tool {
      margin: 0 0 16px; }
      .page-general .contents-inner.news-wrap .search-tool .select-item::after {
        width: 10px;
        height: 10px;
        background-size: cover;
        right: 24px; }
      .page-general .contents-inner.news-wrap .search-tool .select-item select {
        padding: 16px 56px 16px 16px; }
    .page-general .contents-inner.news-wrap .item {
      width: calc(50% - 24px); }
    .page-general .contents-inner.news-wrap .pagenation {
      margin: 16px 0 0; }
      .page-general .contents-inner.news-wrap .pagenation .pagenation-inner a, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .current, .page-general .contents-inner.news-wrap .pagenation .pagenation-inner .dots {
        width: 40px;
        height: 40px; } }
@media (hover: hover) {
  .page-general .contents-inner.news-wrap .search-tool .select-item::after {
    transition: opacity .4s; }
  .page-general .contents-inner.news-wrap .search-tool .select-item:hover::after {
    opacity: .48; }
  .page-general .contents-inner.news-wrap .pagenation .pagenation-inner a {
    transition: all .4s; }
    .page-general .contents-inner.news-wrap .pagenation .pagenation-inner a:hover {
      background-color: #1a237e;
      color: #fff; } }
