@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@keyframes viewMoreAni { 0% { transform: translateX(0); }
  50% { transform: translateX(-8px); }
  100% { transform: translateX(0); } }

@keyframes viewMoreAniR { 0% { transform: translateX(0); }
  50% { transform: translateX(8px); }
  100% { transform: translateX(0); } }

* { -webkit-backface-visibility: hidden; }

img { border: 0; vertical-align: bottom; }

a, a:visited, a:hover, a:focus, a:active { text-decoration: none; }

*:focus, *:active { outline: 0; }

h1, h2, h3, h4, h5, h6 { line-height: inherit; font-weight: normal; }

p { line-height: inherit; }

label { font-weight: inherit; }

input, button, textarea, select, optgroup, option { font-family: inherit; font-size: inherit; *font-size: 100%; font-style: inherit; font-weight: inherit; outline: 0; }

:where(a, button, input, textarea, select, summary, [tabindex]):focus:not(:focus-visible) { outline: none; }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 2px solid #000; outline-offset: 3px; }

textarea { resize: vertical; }

ol, ul, li { margin: 0; padding: 0; list-style: none; }

@font-face { font-family: roboto; font-weight: 400; src: url("../fonts/roboto-regular.woff2"); }

@font-face { font-family: roboto; font-weight: 700; src: url("../fonts/roboto-bold.woff2"); }

@font-face { font-family: roboto; font-weight: 900; src: url("../fonts/roboto-black.woff2"); }

html { font-size: 16px; }

body { width: 100%; line-height: 1.5; font-size: 1rem; font-family: 'Noto Sans JP','Meiryo UI','Meiryo','Arial',sans-serif; overflow-x: hidden; }

body::before, body::after { content: ''; display: block; position: fixed; z-index: 99998; width: 50%; height: 100%; background-color: #fff; top: 0; transition: all 1s ease-out; }

body::before { left: 0; }

body::after { right: 0; }

body.pace-done::before, body.pace-done::after { width: 0; opacity: 0; }

.g-page-wrapper { position: relative; background: #f7f7f7; padding-top: 90px; overflow: hidden; }

@media (max-width: 1199px) { .g-page-wrapper { padding-top: 60px; } }

.g-normal-content { background: #fff; margin: 0 8%; padding: 5%; color: #444; }

@media (max-width: 991px) { .g-normal-content { margin: 0 20px; padding: 30px 15px; } }

.g-flex-wrapper { display: flex; flex-wrap: wrap; }

.g-flex-inline-wrapper { display: inline-flex; flex-wrap: wrap; }

.g-flex-align-start { align-items: flex-start; }

.g-flex-align-end { align-items: flex-end; }

.g-flex-align-center { align-items: center; }

.g-flex-align-stretch { align-items: stretch; }

.g-flex-justify-start { justify-content: flex-start; }

.g-flex-justify-end { justify-content: flex-end; }

.g-flex-justify-center { justify-content: center; }

.g-flex-justify-space-between { justify-content: space-between; }

.g-flex-justify-space-around { justify-content: space-around; }

.g-flex-row-reverse { flex-direction: row-reverse; }

.g-flex-column-reverse { flex-direction: column-reverse; }

.g-font-weight-300 { font-weight: 300; }

.g-font-weight-400 { font-weight: 400; }

.g-font-weight-700 { font-weight: 700; }

.g-font-weight-900 { font-weight: 900; }

.g-page-banner { position: relative; height: 450px; overflow: hidden; }

.g-page-banner img { display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }

@media (max-width: 991px) { .g-page-banner { height: 280px; }
  .g-page-banner img { height: 280px; } }

@media (max-width: 767px) { .g-page-banner { height: 200px; }
  .g-page-banner img { height: 200px; } }

@media (max-width: 543px) { .g-page-banner { height: 140px; }
  .g-page-banner img { height: 140px; } }

.g-button-viewmore { background: none; border: none; }

.g-button-viewmore .btn-text { border-bottom: 1px dashed #fff; }

.g-button-viewmore .icon { width: 50px; height: 50px; display: inline-block; border-radius: 100%; position: relative; margin-right: 10px; }

.g-button-viewmore .icon::before, .g-button-viewmore .icon::after { content: ""; position: absolute; left: 50%; top: 50%; margin-left: -6px; }

.g-button-viewmore .icon::before { width: 12px; height: 1px; }

.g-button-viewmore .icon::after { width: 7px; height: 7px; transform: rotate(45deg) translateX(2px) translateY(-6px); }

.g-button-viewmore.blue { color: #1e2974; }

.g-button-viewmore.blue .btn-text { border-color: #1e2974; }

.g-button-viewmore.blue .icon { background-color: #1e2974; }

.g-button-viewmore.blue .icon::before { background: #fff; }

.g-button-viewmore.blue .icon::after { border-right: 1px solid #fff; border-top: 1px solid #fff; }

.g-button-viewmore.white { color: #ffffff; }

.g-button-viewmore.white .btn-text { border-color: #ffffff; }

.g-button-viewmore.white .icon { background-color: #ffffff; }

.g-button-viewmore.white .icon::before { background: #222222; }

.g-button-viewmore.white .icon::after { border-right: 1px solid #222222; border-top: 1px solid #222222; }

.g-page-content { max-width: 1500px; margin: auto; padding: 0 30px; }

@media (max-width: 991px) { .g-page-content { padding: 0 15px; } }

.g-page-breadcrumb { max-width: 1560px; margin: auto; padding: 24px 30px; }

.g-page-breadcrumb > ul { max-width: 100%; }

.g-page-breadcrumb > ul > li { position: relative; font-size: 0.9375rem; padding-right: 16px; }

.g-page-breadcrumb > ul > li::after { content: ''; display: block; position: absolute; width: 4px; height: 4px; background-color: #666666; border-radius: 100%; top: 50%; right: 6px; margin-top: -2px; }

.g-page-breadcrumb > ul > li.current, .g-page-breadcrumb > ul > li:last-child { color: #222222; padding-right: 0; }

.g-page-breadcrumb > ul > li.current::after, .g-page-breadcrumb > ul > li:last-child::after { display: none; }

.g-page-breadcrumb > ul > li a { color: #666666; }

.g-page-breadcrumb > ul > li a:hover { color: #004097; }

@media (max-width: 639px) { .g-page-breadcrumb { padding: 10px 15px; } }

.g-page-subject { text-align: center; margin: 40px 0 30px; }

.g-page-subject .en { font-size: 2.25rem; color: #222222; font-weight: bold; }

.g-page-subject .en .first-word { color: #004097; }

.g-page-subject h2 { font-size: 1.5625rem; font-weight: bold; color: #222222; margin: 0; }

@media (max-width: 767px) { .g-page-subject { margin-top: 30px; }
  .g-page-subject .en { font-size: 1.5rem; }
  .g-page-subject h2 { font-size: 1.2rem; } }

@media (max-width: 543px) { .g-page-subject { margin-top: 10px; margin-bottom: 15px; } }

.g-page-submenu ul li { padding: 0 15px; }

.g-page-submenu ul li a { border: 1px solid #d8d8d8; font-size: 1.125rem; color: #222222; display: block; border-radius: 5px; padding: 10px 30px; transition: all 0.3s; }

.g-page-submenu ul li a:hover { background: #004097; color: #ffffff; }

.g-page-submenu ul li.active a { background: #004097; color: #ffffff; }

@media (max-width: 767px) { .g-page-submenu ul li { padding: 5px; }
  .g-page-submenu ul li a { font-size: 1rem; padding: 8px 20px; } }

.g-pagination-wrapper { margin: 80px 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev { margin-right: 24px; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev > a { display: block; position: relative; width: 66px; height: 46px; font-size: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev > a::before { content: ''; display: block; position: absolute; width: 40px; height: 2px; background-color: #222222; top: 22px; right: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev > a::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-top: 5px solid transparent; border-right: 8px solid #222222; border-bottom: 5px solid transparent; top: 18px; right: 40px; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev > a > span { display: block; position: absolute; width: 46px; height: 46px; background-image: url(../images/g-more-circle.png); background-size: cover; background-repeat: no-repeat; background-position: center; transform: rotate(180deg); top: 0; left: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev:not(.disabled) > a:hover::before, .g-pagination-wrapper .g-pagination-list .g-pagination-prev:not(.disabled) > a:hover::after { animation: viewMoreAniR 1.2s infinite ease-in-out; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev.disabled { opacity: 0.25; }

.g-pagination-wrapper .g-pagination-list .g-pagination-prev.disabled > a { cursor: not-allowed; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next { margin-left: 24px; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next > a { display: block; position: relative; width: 66px; height: 46px; font-size: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next > a::before { content: ''; display: block; position: absolute; width: 40px; height: 2px; background-color: #222222; top: 22px; left: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next > a::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-top: 5px solid transparent; border-left: 8px solid #222222; border-bottom: 5px solid transparent; top: 18px; left: 40px; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next > a > span { display: block; position: absolute; width: 46px; height: 46px; background-image: url(../images/g-more-circle.png); background-size: cover; background-repeat: no-repeat; background-position: center; top: 0; right: 0; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next:not(.disabled) > a:hover::before, .g-pagination-wrapper .g-pagination-list .g-pagination-next:not(.disabled) > a:hover::after { animation: viewMoreAni 1.2s infinite ease-in-out; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next.disabled { opacity: 0.25; }

.g-pagination-wrapper .g-pagination-list .g-pagination-next.disabled > a { cursor: not-allowed; }

.g-pagination-wrapper .g-pagination-list .g-pagination-item { position: relative; padding: 0 20px; }

.g-pagination-wrapper .g-pagination-list .g-pagination-item > a { color: #222222; transition: color 0.3s; }

.g-pagination-wrapper .g-pagination-list .g-pagination-item > a:hover { color: #0f742f; }

.g-pagination-wrapper .g-pagination-list .g-pagination-item.active > a { color: #0f742f; }

.g-pagination-wrapper .g-pagination-list .g-pagination-item + .g-pagination-item::before { content: ''; display: block; position: absolute; width: 4px; height: 4px; background-color: #cccccc; border-radius: 100%; top: 50%; left: -2px; margin-top: -2px; }

@media (max-width: 767px) { .g-pagination-wrapper .g-pagination-list .g-pagination-item::before { display: none !important; }
  .g-pagination-wrapper .g-pagination-list .g-pagination-item:not(.active) { display: none; } }

.g-radio-style { display: flex; align-items: center; margin: 0; }

.g-radio-style input { display: none; }

.g-radio-style input + span { width: 30px; height: 30px; border: 1px solid #666; background: #fff; display: inline-block; border-radius: 100%; position: relative; margin: 0 5px; }

.g-radio-style input + span i { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; border-radius: 100%; background: #004097; transform: scale(0) translate(-50%, -50%); transition: transform .3s; }

.g-radio-style input:checked + span i { transform: scale(1) translate(-50%, -50%); }

.g-checkbox-style { display: flex; align-items: center; margin: 0; }

.g-checkbox-style input { display: none; }

.g-checkbox-style input + span { width: 30px; height: 30px; border: 1px solid #666; background: #fff; display: inline-block; border-radius: 5px; position: relative; margin: 0 5px; }

.g-checkbox-style input + span i { position: absolute; top: 50%; left: 30%; width: 9px; height: 18px; border-right: 2px solid #004097; border-bottom: 2px solid #004097; transform: rotate(40deg) scale(0) translate(-50%, -50%); transition: transform .3s; }


.g-checkbox-style input:checked + span i { transform: rotate(40deg) scale(1) translate(-50%, -50%); }

.g-page-section { padding-bottom: 120px; }

.g-editor img { max-width: 100%; }
