@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,400;0,600;1,400;1,500&display=swap');
/*
.poppins-regular {
  font-family: "Poppins", serif;
  font-weight: 400;　Regular
  font-style: normal;
}
.poppins-semibold {
  font-family: "Poppins", serif;
  font-weight: 600;　Semibold
  font-style: normal;
}
.poppins-semibold {
  font-family: "Poppins", serif;
  font-weight: 500;　Medium
  font-style: italic;
}
*/

:root {
}
.loaded {
  opacity: 0;
  transition: all 1s;
  overflow: hidden;
}
.loaded.active {
  opacity: 1;
}
.dn {
  display: none !important;
}
.pc {
  display: block;
}
.pc_i {
  display: inline;
}
.pc_ib {
  display: inline-block;
}
.sp {
  display: none;
}
.sp_i {
  display: none;
}
.sp_ib {
  display: none;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .pc_i {
    display: none;
  }
  .pc_ib {
    display: none;
  }
  .sp {
    display: block;
  }
  .sp_i {
    display: inline;
  }
  .sp_ib {
    display: inline-block;
  }
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #333333;
}
::-webkit-scrollbar-thumb {
  background: #005BAC;
}
::-webkit-scrollbar-thumb {
  border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
  background: #2976b9;
}

html {
  font-size: 10px;
}

body {
  position: relative !important;
  background-color: #FFFFFF !important;
  font-family: "Noto Sans JP", serif !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 2 !important;
  color: #333333 !important;
  -webkit-text-size-adjust: 100% !important;
  -ms-text-size-adjust: 100% !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  scrollbar-width: thin !important;
  scrollbar-color: #888 #f1f1f1 !important;
}

/* ============================
a
---------------------------- */
a {
  text-decoration: none !important;
  transition: all 0.25s !important;
}
a:hover {
  opacity: 0.8 !important;
  text-decoration: none !important;
}

/* ============================
tab
---------------------------- */
.tab-wrap {
  margin-top: 96px;
  display: flex;
	flex-wrap: wrap;
  justify-content: center;
  overflow: hidden;
}
.tab-label {
  overflow: hidden;
  box-sizing: border-box;
  color: #333333;
	cursor: pointer;
	/* flex: 1; */
  order: -1;
	position: relative;
	text-align: center;
  font-weight: 700;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
  user-select: none;
  /* white-space: nowrap; */
  -webkit-tap-highlight-color: transparent;
}
.tab-label::before {
  content: "";
  width: 1px;
  height: 1em;
  background-color: #006027;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
}
.tab-label::before {
  left: 0;
}
.tab-label:first-of-type::before {
  display: none;
}
.tab-label span {
  position: relative;
  margin: 0 5em;
  height: 100%;
  line-height: 1.5;
  padding-top: 1em;
  padding-bottom: 1em;
}
.tab-label:hover {
	background: rgba(0,0,0,0.05);
}
.tab-switch:checked + .tab-label {
	color: #006027;
}
.tab-switch:checked + .tab-label span {
  position: relative;
  z-index: 1;
}
.tab-label span::after {
	background-color: #006027;
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
  margin: auto;
  left: 0;
  bottom: 0;
  right: 0;
	transform: translateX(300%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	z-index: 0;
}
.tab-switch:checked ~ .tab-label span::after {
	transform: translateX(-300%);
}
.tab-switch:checked + .tab-label span::after {
	opacity: 1;
	transform: translateX(0);
}
.tab-content {
	height: 0;
	padding: 0;
	pointer-events: none;
	transform: translateX(-30%);
	width: 100%;
  position: relative;
  transition: transform .3s 80ms;
}
.tab-content::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #707070;
  position: absolute;
  top: 0;
  left: 0;
}
.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	order: 1;
	pointer-events: auto;
	transform: translateX(0);
}
.tab-content .cnt {
	opacity: 0;
  transition: all 0.25s;
  width: 1080px;
  height: auto;
  margin: 64px auto 0 auto;
  transition: opacity .3s 80ms;
}
.tab-switch:checked + .tab-label + .tab-content .cnt {
	opacity: 1;
}
.tab-switch {
	display: none;
}
@media only screen and (max-width: 1200px) {
  .tab-wrap {
    margin: 0 calc(50% - 50vw);
    width: 100%;
  }
  .tab-label {
    width: calc(100% / 3);
    font-size: 1.3rem;
  }
  .tab-label span {
    margin: 0 auto;
  }
  .tab-label span::after {
    transform: translateX(100%);
  }
  .tab-switch:checked ~ .tab-label span::after {
    transform: translateX(0);
  }
  .tab-content .cnt {
    width: 100%;
    padding-right: 4%;
    padding-left: 4%;
  }
}

/* ============================
text align
---------------------------- */
.tl {
  text-align: left !important;
}
.tc {
  text-align: center !important;
}
.tr {
  text-align: right !important;
}

/* ============================
margin padding
---------------------------- */
.mt1em {
  margin-top: 1em !important;
}
.mb1em {
  margin-bottom: 1em !important;
}
.pt1em {
  padding-top: 1em !important;
}
.pb1em {
  padding-bottom: 1em !important;
}

.mt0 {
  margin-top: 0 !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.pt0 {
  padding-top: 0 !important;
}
.pb0 {
  padding-bottom: 0 !important;
}

/* ============================
overflow
---------------------------- */
.ov {
  overflow: visible !important;
}
.oh {
  overflow: hidden !important;
}

/* ============================
flex
---------------------------- */
.flex,
.flex-i {
  list-style-type: none;
  margin: 0;
  padding: 0;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex {
  display: -webkit-flex;
  display: flex;
}
.flex-i {
  display: -webkit-inline-flex;
  display: inline-flex;
}
.jc-st {
  justify-content: start;
}
.jc-en {
  justify-content: end;
}
.jc-c {
  justify-content: center;
}
.jc-fs {
  justify-content: flex-start;
}
.jc-fe {
  justify-content: flex-end;
}
.jc-l {
  justify-content: left;
}
.jc-r {
  justify-content: right;
}
.jc-sb {
  justify-content: space-between;
}
.jc-sa {
  justify-content: space-around;
}
.jc-se {
  justify-content: space-evenly;
}
.jc-sc {
  justify-content: stretch;
}
.fw-nw {
  flex-wrap: nowrap;
}
.fw-wr {
  flex-wrap: wrap-reverse;
}
.fd-rr {
  flex-direction: row-reverse;
}
.fd-cm {
  flex-direction: column;
}
.ff-cm {
  flex-flow: column;
}
.ai-s {
  align-items: start;
}
.ai-c {
  align-items: center;
}
.ai-e {
  align-items: end;
}
.ai-fs {
  align-items: flex-start;
}
.ai-fe {
  align-items: flex-end;
}
.ai-st {
  align-items: stretch;
}
.wfit {
  width: fit-content;
}
.hfit {
  height: fit-content;
}

/* ============================
atent
---------------------------- */
.atent {
  font-size: 1.2rem;
  font-weight: 500;
}

/* ======================
00) common
------------------------- */
/* logo (header & footer) */
.logo a {
  display: block;
  width: 124px;
  height: 50px;
  background-image: url("images/h-logo.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.logo span.ttl {
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1;
  color: #005BAC;
  padding-left: 25px;
}
@media only screen and (max-width: 1180px) {
  .logo a {
    width: 100px;
    height: 51px;
  }
  .logo span.ttl{
    font-size: 1.2rem;
  }
  .logo a {
    width: 70px;
    height: 36px;
  }
  .logo span.ttl{
    font-size: 1rem;
    padding-left: 12px;
  }
}

/* .sec-ttl */
.sec-ttl {
  width: 100%;
  height: auto;
  margin-bottom: 30px;
}
.sec-ttl .en {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 7.0rem;
  line-height: 1.35;
}
.sec-ttl .jp {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1;
}
.sec-ttl.col-b {
  color: #005BAC;
}
.sec-ttl.col-w {
  color: #FFFFFF;
}
@media only screen and (max-width: 1180px) {
  .sec-ttl .en {
    font-size: 4.0rem;
  }
  .sec-ttl .jp {
    font-size: 1.8rem;
  }
}

/* .sec-ttl2 */
.sec-ttl2 {
  width: 100%;
  height: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #005BAC;
  margin-bottom: 50px;
  text-align: center;
}
.sec-ttl2.col-b {
  color: #005BAC;
}
.sec-ttl2.col-w {
  color: #FFFFFF;
}
.sec-ttl2 .jp {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1;
}
@media only screen and (max-width: 1180px) {
  .sec-ttl2 .jp {
    font-size: 1.8rem;
  }
}

/* .sec-ttl3 */
.sec-ttl3 {
  width: 100%;
  height: auto;
  margin-bottom: 26px;
}
.sec-ttl3.col-b {
  color: #005BAC;
}
.sec-ttl3.col-w {
  color: #FFFFFF;
}
.sec-ttl3 .jp {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.136;
}
@media only screen and (max-width: 1180px) {
  .sec-ttl3 .jp {
    font-size: 1.6rem;
  }
}

/* a.btnA */
a.btnA {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 234px;
  height: auto;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
  line-height: 1;
  padding: 18px 20px 18px 24px;
  border-radius: 60px;
  box-sizing: border-box;
  transition: all 0.25s;
}
a.btnA.col-w {
  color: #FFFFFF;
}
a.btnA.col-b {
  color: #005BAC;
}
a.btnA.bg-w {
  background-color: #FFFFFF;
}
a.btnA.bg-b {
  background-color: #005BAC;
}
a.btnA.bd-w {
  border: 1px solid #FFFFFF;
}
a.btnA.bd-b {
  border: 1px solid #005BAC;
}
a.btnA.ar-w::after,
a.btnA.ar-b::after {
  display: block;
  content: "";
  width: 46px;
  height: 10px;
  margin-top: -6px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: right center;
}
a.btnA.ar-b::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005bac" stroke-width="1"/></svg>');
}
a.btnA.ar-w::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23ffffff" stroke-width="1"/></svg>');
}

/* ======================
01) header
------------------------- */
header.outer {
  width: 100%;
  height: 108px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #FFFFFF;
  border-top: 1px solid #005BAC;
  border-bottom: 1px solid #005BAC;
  box-sizing: border-box;
  z-index: 10000;
}
header.outer .inner {
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
  padding-left: 36px;
}
@media only screen and (max-width: 1180px) {
  header.outer {
    height: 64px;
  }
  header.outer .inner {
    padding-left: 4%;
  }
}

/* main-menu */
header.outer .inner .main-menu {
  height: 100%;
}
header.outer .inner .main-menu nav {
  height: 100%;
}
header.outer .inner .main-menu nav ul {
  height: 100%;
}
header.outer .inner .main-menu nav ul li {
  height: 100%;
  width: 220px;
  border-left: 1px solid #005BAC;
  box-sizing: border-box;
}
header.outer .inner .main-menu nav ul li a {
  height: 100%;
  width: 100%;
  text-align: center;
}
header.outer .inner .main-menu nav ul li.btn-info a {
  font-size: 1.8rem;
  font-weight: 700;
  color: #005BAC;
  background-color: #FFFFFF;
}
header.outer .inner .main-menu nav ul li.btn-y_l a,
header.outer .inner .main-menu nav ul li.btn-y_r a {
  color: #FFFFFF;
  font-family: "Poppins", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.25;
}
header.outer .inner .main-menu nav ul li.btn-y_l a {
  background-color: #24B7D1;
}
header.outer .inner .main-menu nav ul li.btn-y_r a {
  background-color: #F4B406;
}
header.outer .inner .main-menu nav ul li.btn-y_l a span.label span.emp,
header.outer .inner .main-menu nav ul li.btn-y_r a span.label span.emp {
  font-size: 2.6rem;
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .main-menu nav ul li {
    width: 160px;
  }
  header.outer .inner .main-menu nav ul li a {
    font-size: 1.4rem;
  }
  header.outer .inner .main-menu nav ul li.btn-y_l a,
  header.outer .inner .main-menu nav ul li.btn-y_r a {
    font-size: 1.2rem;
  }
  header.outer .inner .main-menu nav ul li.btn-y_l a span.label span.emp,
  header.outer .inner .main-menu nav ul li.btn-y_r a span.label span.emp {
    font-size: 2.0rem;
  }
}
@media only screen and (max-width: 810px) {
  header.outer .inner .main-menu nav ul li {
    width: 62px;
  }
  header.outer .inner .main-menu nav ul li a {
    font-size: 0.8rem;
  }
  header.outer .inner .main-menu nav ul li.btn-info a span.label span.emp,
  header.outer .inner .main-menu nav ul li.btn-y_l a span.label span.emp,
  header.outer .inner .main-menu nav ul li.btn-y_r a span.label span.emp {
    font-size: 1.04rem;
  }
  header.outer .inner .main-menu nav ul li.btn-y_l a,
  header.outer .inner .main-menu nav ul li.btn-y_r a {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 427px) {
  header.outer .inner .main-menu nav {
    display: none;
  }
}

/* sub-menu */
header.outer .inner .sub-menu {
  position: absolute;
  top: 107px;
  right: -100vw;
  width: 100vw;
  height: calc(100dvh - 107px);
  z-index: 9999;
  overflow-y: auto;
  background-color: #005BAC;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
header.outer .inner .sub-menu .inner {
  width: 100%;
  max-width: 1080px;
  height: auto;
  margin: 0 auto;
}
header.outer .inner .sub-menu .inner .sub-main-menu {
  display: none;
}
header.outer .inner .sub-menu.active {
  right: 0;
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .sub-menu .inner {
    padding-left: 4%;
    padding-right: 4%;
  }
}
header.outer .inner .sub-menu .inner .sub-menu-nav {
  padding-top: 42px;
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul {
  gap: 54px 0;
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul li {
  width: calc(100% / 2);
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul li a {
  display: block;
  width: 1px;
  white-space: nowrap;
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt {
  color: #FFFFFF;
  gap: 0 20px;
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .en {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
}
header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .jp {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .en {
    font-size: 2.0rem;
  }
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .jp {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  header.outer .inner .sub-menu .inner .sub-menu-nav ul {
    gap: 26px 0;
  }
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li {
    width: 100%;
  }
}
@media only screen and (max-width: 427px) {
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .en {
    font-size: 1.8rem;
  }
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .jp {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 390px) {
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .en {
    font-size: 1.6rem;
  }
  header.outer .inner .sub-menu .inner .sub-menu-nav ul li a .txt .jp {
    font-size: 1.0rem;
  }
}

header.outer .inner .sub-menu .inner .sub-menu-entry {
  margin-top: 80px;
  margin-bottom: 66px;
}
header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry {
  gap: 0 20px;
}
header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li {
  width: calc(100% / 4 - 20px);
}
header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li a {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color:#005BAC;
  border-color: #005BAC;
  background-color: #FFFFFF;
  padding: 21px 30px;
  border-radius: 60px;
}
header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li a .txt {
  white-space: nowrap;
}
header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li a::after {
  display: block;
  content: "";
  margin-top: -6px;
  width: 52px;
  height: 10px;
  overflow: hidden;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005bac" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: right center;
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry {
    gap: 20px 0;
  }
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li {
    width: calc(100% / 4 - 20px);
  }
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li a {
    font-size: 1.6rem;
    padding: 16px 24px;
  }
}
@media only screen and (max-width: 1034px) {
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li {
    /* width: calc(100% / 2 - 20px); */
    width: calc(100% / 2 - 10px);
  }
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li a {
    font-size: 1.4rem;
    padding: 16px;
  }
}
@media only screen and (max-width: 767px) {
  header.outer .inner .sub-menu .inner .sub-menu-entry {
    margin-top: 40px;
    margin-bottom: 33px;
  }
}
@media only screen and (max-width: 427px) {
  header.outer .inner .sub-menu .inner .sub-menu-entry .btn-entry li {
    width: 100%;
  }
}

header.outer .inner .sub-menu .inner .sub-menu-sns ul {
  padding: 20px 0 30px 0;
  border-bottom: 1px solid #005BAC;
  box-sizing: border-box;
  gap: 0 24px;
}
header.outer .inner .sub-menu .inner .sub-menu-sns ul li {
}
header.outer .inner .sub-menu .inner .sub-menu-sns ul li a {
  display: block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #FFFFFF;
  border-radius: 100%;
}
header.outer .inner .sub-menu .inner .sub-menu-sns ul li a.sns-x {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="30.257" height="30.922" viewBox="0 0 30.257 30.922"><path d="M38.224,32.629,49.488,19.536H46.819L37.038,30.9,29.227,19.536h-9.01L32.029,36.728,20.217,50.458h2.669L33.215,38.452l8.25,12.006h9.01L38.223,32.629Zm-3.656,4.25-1.2-1.712L23.848,21.545h4.1l7.686,10.994,1.2,1.712,9.99,14.29h-4.1L34.568,36.88Z" transform="translate(-20.217 -19.536)" fill="%23005BAC"/></svg>');
}
header.outer .inner .sub-menu .inner .sub-menu-sns ul li a.sns-yt {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="32.132" height="22.492" viewBox="0 0 32.132 22.492"><path d="M49.758,31.681a4.024,4.024,0,0,0-2.841-2.841c-2.506-.671-12.554-.671-12.554-.671s-10.047,0-12.553.671a4.024,4.024,0,0,0-2.841,2.841,41.81,41.81,0,0,0-.671,7.733,41.817,41.817,0,0,0,.671,7.734,4.025,4.025,0,0,0,2.841,2.841c2.506.671,12.553.671,12.553.671s10.048,0,12.554-.671a4.025,4.025,0,0,0,2.841-2.841,41.817,41.817,0,0,0,.671-7.734,41.81,41.81,0,0,0-.671-7.733M31.151,44.234V34.6l8.348,4.82Z" transform="translate(-18.728 -28.83)" fill="%23005BAC"/></svg>');
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .sub-menu {
    top: 63px;
    height: calc(100dvh - 63px);
  }
}
@media only screen and (max-width: 427px) {
  header.outer .inner .sub-menu .inner .sub-main-menu {
    display: flex;
    border-bottom: 1px solid #FFFFFF;
    width: 100%;
    box-sizing: border-box;
    padding: 42px 0;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li {
    width: calc(100% / 3);
    aspect-ratio: 1 / 1;
    margin: 1px;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    font-size: 1.4rem;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center;
    border: 1px solid #FFFFFF;
    line-height: 1.5;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li a.btn-l {
    background-color: #24B7D1;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li a.btn-r {
    background-color: #F4B406;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li a.entry {
    font-family: "Poppins", serif;
    font-style: italic;
  }
  header.outer .inner .sub-menu .inner .sub-main-menu li a.entry span.year {
    font-size: 1.8rem;
  }
  header.outer .inner .sub-menu .inner nav ul li {
    width: 100%;
    border-left: none;
  }
  header.outer .inner .sub-menu .inner nav ul li a {
    font-size: 1.6rem;
  }
  header.outer .inner .sub-menu .inner nav ul li.btn-y_l a,
  header.outer .inner .sub-menu .inner nav ul li.btn-y_r a {
    font-size: 1.4rem;
  }
  header.outer .inner .sub-menu .inner nav ul li.btn-y_l a span.label span.emp,
  header.outer .inner .sub-menu .inner nav ul li.btn-y_r a span.label span.emp {
    font-size: 2.0rem;
  }
}

/* ham-btn */
header.outer .inner .main-menu .ham-btn {
  position: relative;
  height: 100%;
  aspect-ratio: 1 / 1;
  border-left: 1px solid #005BAC;
  background-color: #005BAC;
  box-sizing: border-box;
  cursor: pointer;
}
header.outer .inner .main-menu .ham-btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 2px;
  background-color: #FFFFFF;
  transform: translate(-50%, -50%);
  transition: all 0.25s;
}
header.outer .inner .main-menu .ham-btn span:nth-child(1) {
  top: calc(50% - 16px);
}
header.outer .inner .main-menu .ham-btn span:nth-child(3) {
  top: calc(50% + 16px);
}
header.outer .inner .main-menu .ham-btn.active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
header.outer .inner .main-menu .ham-btn.active span:nth-child(2) {
  opacity: 0;
}
header.outer .inner .main-menu .ham-btn.active span:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media only screen and (max-width: 1180px) {
  header.outer .inner .main-menu .ham-btn {
    width: 62px;
    height: 62px;
  }
  header.outer .inner .main-menu .ham-btn span {
    width: 32px;
    height: 2px;
  }
  header.outer .inner .main-menu .ham-btn span:nth-child(1) {
    top: calc(50% - 10px);
  }
  header.outer .inner .main-menu .ham-btn span:nth-child(3) {
    top: calc(50% + 10px);
  }
}

/* ======================
03) common-entry
------------------------- */
#common-entry {
  width: 100%;
  height: auto;
  margin-bottom: 0;
  padding: 50px 0 88px 0;
  color: #FFFFFF;
  background-color: #005BAC;
  box-sizing: border-box;
}
#common-entry .inner {
  width: 1080px;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
}
#common-entry .inner h2 {
  font-size: 7.0rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 50px 0;
  font-weight: 500;
  font-style: italic;
}
#common-entry .inner .lead {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0 0 24px 0;
}
#common-entry .inner .body {
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 55px 0;
}
#common-entry .inner .btn-entry {
  gap: 0 20px;
}
#common-entry .inner .btn-entry li {
  width: calc(100% / 4 - 20px);
}
#common-entry .inner .btn-entry li a {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color:#005BAC;
  border-color: #005BAC;
  background-color: #FFFFFF;
  /* padding: 21px 30px; */
  padding: 20px 25px;
  border-radius: 60px;
}
#common-entry .inner .btn-entry li a .txt {
  white-space: nowrap;
}
#common-entry .inner .btn-entry li a::after {
  display: block;
  content: "";
  margin-top: -6px;
  width: 52px;
  height: 10px;
  overflow: hidden;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005bac" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: right center;
}

@media only screen and (max-width: 1180px) {
  #common-entry {
    padding: 30px 0 64px 0;
  }
  #common-entry .inner {
    width: 100%;
    padding: 0 4%;
  }
  #common-entry .inner h2 {
    font-size: 4.0rem;
    margin: 0 0 30px 0;
  }
  #common-entry .inner .lead {
    font-size: 1.8rem;
    margin: 0 0 16px 0;
  }
  #common-entry .inner .body {
    font-size: 1.6rem;
    margin: 0 0 30px 0;
  }
  #common-entry .inner .btn-entry {
    gap: 20px 0;
  }
  #common-entry .inner .btn-entry li {
    width: calc(100% / 4 - 20px);
  }
  #common-entry .inner .btn-entry li a {
    font-size: 1.6rem;
    padding: 16px 24px;
  }
}
@media only screen and (max-width: 1034px) {
  #common-entry .inner .btn-entry li {
    /* width: calc(100% / 2 - 20px); */
    width: calc(100% / 2 - 10px);
  }
  #common-entry .inner .btn-entry li a {
    font-size: 1.4rem;
    padding: 16px;
  }
}
@media only screen and (max-width: 427px) {
  #common-entry .inner .btn-entry li {
    width: 100%;
  }
}

/* ======================
04) footer
------------------------- */
footer.outer {
  width: 100%;
  height: auto;
  position: relative;
  background-color: #FFFFFF;
}
footer.outer .inner {
  width: 1080px;
  height: auto;
  margin: 0 auto;
  padding: 70px 0 44px 0;
  box-sizing: border-box;
}
footer.outer .inner .footer-nav {
  padding-top: 42px;
}
footer.outer .inner .footer-nav ul {
  gap: 26px 0;
}
footer.outer .inner .footer-nav ul li {
  width: calc(100% / 2 - 120px);
}
footer.outer .inner .footer-nav ul li a {
  display: block;
  width: 1px;
  white-space: nowrap;
}
footer.outer .inner .footer-nav ul li a .txt {
  color: #005BAC;
  gap: 0 20px;
}
footer.outer .inner .footer-nav ul li a .txt .en {
  font-size: 2.0rem;
  font-weight: 600;
  line-height: 1;
}
footer.outer .inner .footer-nav ul li a .txt .jp {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}

footer.outer .inner .footer-sns ul {
  padding: 20px 0 30px 0;
  border-bottom: 1px solid #005BAC;
  box-sizing: border-box;
  gap: 0 24px;
}
footer.outer .inner .footer-sns ul li {
}
footer.outer .inner .footer-sns ul li a {
  display: block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #005BAC;
  border-radius: 100%;
}
footer.outer .inner .footer-sns ul li a.sns-x {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="30.257" height="30.922" viewBox="0 0 30.257 30.922"><path d="M38.224,32.629,49.488,19.536H46.819L37.038,30.9,29.227,19.536h-9.01L32.029,36.728,20.217,50.458h2.669L33.215,38.452l8.25,12.006h9.01L38.223,32.629Zm-3.656,4.25-1.2-1.712L23.848,21.545h4.1l7.686,10.994,1.2,1.712,9.99,14.29h-4.1L34.568,36.88Z" transform="translate(-20.217 -19.536)" fill="%23fff"/></svg>');
}
footer.outer .inner .footer-sns ul li a.sns-yt {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="32.132" height="22.492" viewBox="0 0 32.132 22.492"><path d="M49.758,31.681a4.024,4.024,0,0,0-2.841-2.841c-2.506-.671-12.554-.671-12.554-.671s-10.047,0-12.553.671a4.024,4.024,0,0,0-2.841,2.841,41.81,41.81,0,0,0-.671,7.733,41.817,41.817,0,0,0,.671,7.734,4.025,4.025,0,0,0,2.841,2.841c2.506.671,12.553.671,12.553.671s10.048,0,12.554-.671a4.025,4.025,0,0,0,2.841-2.841,41.817,41.817,0,0,0,.671-7.734,41.81,41.81,0,0,0-.671-7.733M31.151,44.234V34.6l8.348,4.82Z" transform="translate(-18.728 -28.83)" fill="%23fff"/></svg>');
}

footer.outer .inner .footer-copyright {
  padding-top: 12px;
}
footer.outer .inner .footer-copyright,
footer.outer .inner .footer-copyright a {
  box-sizing: border-box;
  color: #005BAC;
}
footer.outer .inner .footer-copyright a {
  gap: 0 6px;
}
footer.outer .inner .footer-copyright .outsite {
  gap: 0 46px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
footer.outer .inner .footer-copyright .outsite a .ico {
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
}
footer.outer .inner .footer-copyright .outsite a .ico-outsite {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="19.183" height="19.183" viewBox="0 0 19.183 19.183"><path d="M11.979,20.127a.685.685,0,0,0,.685.685h9.092a2.055,2.055,0,0,0,2.055-2.055V5.055A2.055,2.055,0,0,0,21.756,3H8.055A2.055,2.055,0,0,0,6,5.055v9.092a.685.685,0,1,0,1.37,0V5.055a.685.685,0,0,1,.685-.685h13.7a.685.685,0,0,1,.685.685v13.7a.685.685,0,0,1-.685.685H12.664A.685.685,0,0,0,11.979,20.127Z" transform="translate(-4.629 -3)" fill="%23005bac" fill-rule="evenodd"/><path d="M16.7,15.685A.685.685,0,0,0,16.015,15H9.165a.685.685,0,0,0,0,1.37h5.2L3.2,27.531a.686.686,0,0,0,.97.97L15.33,17.339v5.2a.685.685,0,1,0,1.37,0Z" transform="translate(-2.998 -9.52)" fill="%23005bac" fill-rule="evenodd"/></svg>');
}
footer.outer .inner .footer-copyright .copyright {
  gap: 0 46px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
}

@media only screen and (max-width: 1180px) {
  footer.outer .inner {
    width: 100%;
    padding-right: 4%;
    padding-left: 4%;
  }
  footer.outer .inner .footer-nav ul li {
    width: 100%;
  }
  footer.outer .inner .footer-copyright {
    gap: 12px 0;
  }
  footer.outer .inner .footer-copyright .outsite {
    width: 100%;
  }
  footer.outer .inner .footer-copyright .copyright {
    gap: 12px 12px;
  }
}
@media only screen and (max-width: 390px) {
  footer.outer .inner .footer-copyright .outsite {
    gap: 12px 46px;
  }
  footer.outer .inner .footer-nav ul li a .txt {
    gap: 0 10px;
  }
  footer.outer .inner .footer-nav ul li a .txt .en {
    font-size: 1.6rem;
  }
  footer.outer .inner .footer-nav ul li a .txt .jp {
    font-size: 1.0rem;
  }
  footer.outer .inner .footer-copyright .copyright p {
    line-height: 1.5;
  }
}

#go2top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 84px;
  height: 84px;
  background-image: url(images/bg_go2top.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100000;
  cursor: pointer;
  transition: all 0.5s;
}
#go2top.active {
  display: none;
}
@media screen and (max-width: 767px) {
  #go2top {
    bottom: 10px;
    right: 10px;
    width: 48px;
    height: 48px;
  }
}
#go2top:hover {
  background-image: url(images/bg_go2top_mo.svg);
}
#go2top:hover {
  background-color: #005BAC;
}
#go2top a {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
}
#go2top a span {
  display: none;
}


/* ======================
05) main
------------------------- */
main {
  width: 100%;
  padding-top: 108px;
  box-sizing: border-box;
}
@media only screen and (max-width: 1180px) {
  main {
    padding-top: 64px;
  }
}

/* ======================
06) people-slider
------------------------- */
.people-slider {
  width: 100%;
  position: relative;
  background-color: #97E5EE;
}
.people-slider .inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  overflow: hidden;
}
.people-slider .inner .swiper-container {
  width: 100%;
  max-width: 1080px;
  height: 492px;
  margin: 55px auto 52px auto;
  overflow: hidden;
}
.people-slider .inner .swiper-container .swiper-button-next,
.people-slider .inner .swiper-container .swiper-button-prev {
  margin-top: unset !important;
  top: 60px !important;
  width: 57px !important;
  height: 104px !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.people-slider .inner .swiper-container .swiper-button-next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59.093' height='105.175' viewBox='0 0 59.093 105.175'%3E%3Cpath d='M-12029.758 2307.813l50.414-56.925 53.281 56.925' transform='translate(2308.496 12030.507) rotate(90)' fill='none' stroke='%23005bac' stroke-width='2'/%3E%3C/svg%3E");
}
.people-slider .inner .swiper-container .swiper-button-prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59.093' height='105.175' viewBox='0 0 59.093 105.175'%3E%3Cpath d='M-12029.758 2307.813l50.414-56.925 53.281 56.925' transform='translate(-2249.403 -11925.332) rotate(-90)' fill='none' stroke='%23005bac' stroke-width='2'/%3E%3C/svg%3E");
}
.people-slider .inner .swiper-container .swiper-button-next::after,
.people-slider .inner .swiper-container .swiper-button-prev::after {
  content: "" !important;
}
.people-slider .inner .swiper-container .swiper-slide .people-msg {
  background-color: #FFFFFF;
  width: 294px;
  margin: 0 auto;
  padding: 20px 25px;
  border-radius: 16px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.75;
  position: relative;
}
.people-slider .inner .swiper-container .swiper-slide .people-msg::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 28px solid #FFFFFF;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
}
.people-slider .inner .swiper-container .swiper-slide .people-msg p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.75em;
  min-height: calc(1.75em * 3);
  text-align: center;
}
.people-slider .inner .swiper-container .swiper-slide a {
  display: block;
  position: relative;
  margin-top: 20px;
}
.people-slider .inner .swiper-container .swiper-slide a::after {
  content: "";
  display: block;
  width: 48px;
  height: 10px;
  margin: 10px auto 0 auto;
  overflow: hidden;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%234C4A4A" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: right center;
}
.people-slider .inner .swiper-container .swiper-slide a .people-photo {
  display: inline-block;
  position: relative;
  padding-top: 20px;
}
.people-slider .inner .swiper-container .swiper-slide a .people-photo img {
  margin: 0 auto;
}
.people-slider .inner .swiper-container .swiper-slide a .people-photo .people-badge {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  background-color:#005BAC;
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  border-radius: 50%;
  z-index: 1;
}
.people-slider .inner .swiper-container .swiper-slide a .people-txt {
  margin-top: 10px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .people-slider .inner .swiper-container .swiper-button-next,
  .people-slider .inner .swiper-container .swiper-button-prev {
    margin: auto !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 29px !important;
    height: 57px !important;
  }
}

/* ======================
07) page-header
------------------------- */
#page-header {
  width: 100%;
  height: auto;
  min-height: 272px;
  position: relative;
  color: #005BAC;
  overflow: visible;
  padding: 24px 4%;
  box-sizing: border-box;
  overflow: visible;
  margin-bottom: 0 !important;
}
#page-header::after {
  content: "";
  display: block;
  width: 100%;
  height: 272px;
  background-color: #97E5EE;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#page-header.bgcol2::after {
  background-color: #005BAC;
  background-position: right center;
  background-repeat: no-repeat;
}
#page-header .inner {
  position: relative;
  width: 100%;
  max-width: 1080px;
  height: calc(272px - 24px * 2);
  margin: 0 auto;
  overflow: visible;
}
#page-header.header-img .inner {
  height: auto;
}
#page-header .inner .breadcrumb {
  font-size: 1.2rem;
}
#page-header .inner .breadcrumb li::after {
  display: inline;
  content: "＼";
  margin: 0 5px;
}
#page-header.bgcol2 .inner .breadcrumb li::after {
  color: #FFFFFF;
}
#page-header .inner .breadcrumb li:last-child::after {
  display: none;
}
#page-header .inner .breadcrumb li.current {
  font-weight: 600;
}
#page-header .inner .breadcrumb li a {
  color: #005BAC;
}
#page-header.bgcol2 .inner .breadcrumb li a {
  color: #FFFFFF;
}
#page-header .inner .ttl {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
#page-header .inner .ttl.w1080 {
  width: 1080px;
}
#page-header .inner .ttl .en {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 7.0rem;
  line-height: 1.35;
  text-align: center;
}
#page-header .inner .ttl .jp {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
#page-header .inner .ttl .main {
  font-weight: 600;
  font-size: 5.0rem;
  line-height: 80px;
  text-align: left;
  color: #FFFFFF;
  -webkit-text-stroke: 5px #005BAC;
  position: relative;
}
#page-header .inner .ttl .main::after {
  content: attr(data-text);
  -webkit-text-stroke: 0;
  position: absolute;
  inset: 0 auto auto 0;
}
#page-header .inner .ttl .sub {
  font-weight: 600;
  font-size: 2.2rem;
  text-align: left;
  color: #FFFFFF;
}
#page-header .inner .ttl-img {
  display: inline-block;
  margin-top: 36px;
  width: 100%;
  max-width: 1080px;
  height: auto;
}
#page-header .inner .ttl-img div.en {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 7.0rem;
  line-height: 1.35;
  text-align: center;
  color: #FFFFFF;
}
#page-header .inner .ttl-img div.jp {
  text-align: center;
  color: #FFFFFF;
}

@media only screen and (max-width: 1180px) {
  #page-header .inner .ttl .en {
    font-size: 4.0rem;
  }
  #page-header .inner .ttl .jp {
    font-size: 1.8rem;
  }
  #page-header .inner .ttl .main {
    font-size: 3.0rem;
    line-height: 60px;
  }
  #page-header .inner .ttl .sub {
    font-size: 1.6rem;
  }
  #page-header .inner .ttl.w1080 {
    width: 100%;
  }
  #page-header.bgcol2::after {
    background-position: left 60% center;
  }
}
@media only screen and (max-width: 767px) {
  #page-header {
    padding: 12px 4%;
    min-height: 150px;
  }
  #page-header::after {
    height: 150px;
  }
  #page-header .inner {
    height: calc(150px - 12px * 2);
  }
  #page-header .inner .breadcrumb {
    font-size: 0.8rem;
    position: relative;
    z-index: 1;
  }
  #page-header .inner .ttl-img {
    margin-top: 18px;
  }
  #page-header.bgcol2::after {
    /* background-position: center center; */
    background-position: center right -160px;
    background-size: cover;
  }
  #page-header .inner .ttl-img div.en {
    margin-top: 48px;
    font-size: 3.0rem;
  }
  #page-header .inner .ttl-img div.jp {
    font-size: 1.6rem;
  }
}

/* ======================
08) banner
------------------------- */
.banner {
  width: 100%;
  position: relative;
}
.banner::after {
  display: block;
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: rgba(151,229,238,0.4);
  z-index: 0;
}
.banner .inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  overflow: visible;
  position: relative;
  z-index: 1;
}
.banner .inner .txt {
  width: 500px;
  background-color: #FFDF5A;
  color: #005BAC;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  padding-top: 44px;
  padding-bottom: 44px;
}
.banner .inner .txt h3.banner-ttl {
  font-family: "Noto Sans JP";
  font-weight: 600;
  font-size: 3.7rem;
  margin-bottom: 18px;
}
.banner .inner .txt p.banner-txt {
  font-weight: 500;
  margin-bottom: 30px;
}
.banner .inner .txt p.banner-btn a.btnA {
  margin-left: 0;
  margin-right: 0;
}
.banner .inner .banner-img {
  width: 580px;
  background-image: url(images/bg_people_banner.jpg);
  background-position: center;
  background-size: cover;
  overflow: visible;
  position: relative;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
.banner .inner .banner-img .ico {
  position: absolute;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 1 / 1;
}
.banner .inner .banner-img .ico.ico1 {
  width: 92px;
  top: 85px;
  left: -20px;
  background-color: #FFFFFF;
  border-radius: 50%;
  background-image: url(images/bg_ico1.svg);
}
.banner .inner .banner-img .ico.ico2 {
  width: 64px;
  top: -13px;
  left: 74px;
  background-color: #97E5EE;
  border-radius: 50%;
  background-image: url(images/bg_ico2.svg);
}
.banner .inner .banner-img .ico.ico3 {
  width: 92px;
  top: -10px;
  right: 224px;
  background-color: #99E0BA;
  border-radius: 50%;
  background-image: url(images/bg_ico3.svg);
}
.banner .inner .banner-img .ico.ico4 {
  width: 76px;
  top: 64px;
  right: 16px;
  background-color: #C3DB21;
  border-radius: 50%;
  background-image: url(images/bg_ico4.svg);
}
.banner .inner .banner-img .banner-catch {
  position: absolute;
  display: inline-block;
  bottom: 38px;
  left: -176px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 4.6rem;
  line-height: 1;
  color: #FFFFFF;
}
@media only screen and (max-width: 1180px) {
  .banner {
    padding-right: 4%;
    padding-left: 4%;
  }
  .banner .inner .txt {
    width: 100%;
    padding-right: 4%;
    padding-left: 4%;
    border-radius: 0;
    border-top-right-radius: 30px;
    border-top-left-radius: 30px;
    text-align: center;
  }
  .banner .inner .txt h3.banner-ttl {
    font-size: 2.5rem;
  }
  .banner .inner .txt p.banner-btn a.btnA {
    margin-left: auto;
    margin-right: auto;
  }
  .banner .inner .banner-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-position: top center;
    border-radius: 0;
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
  }
  .banner .inner .banner-img .banner-catch {
    bottom: 16px;
    font-size: 5vw;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .banner .inner .banner-img .ico.ico1,
  .banner .inner .banner-img .ico.ico2,
  .banner .inner .banner-img .ico.ico3,
  .banner .inner .banner-img .ico.ico4 {
    top: unset;
  }
  .banner .inner .banner-img .ico.ico1 {
    width: 20vw;
    left: -2vw;
    bottom: 16vw;
  }
  .banner .inner .banner-img .ico.ico2 {
    width: 14vw;
    left: 24vw;
    bottom: 14vw;
  }
  .banner .inner .banner-img .ico.ico3 {
    width: 20vw;
    right: 24vw;
    bottom: 12vw;
  }
  .banner .inner .banner-img .ico.ico4 {
    width: 16vw;
    right: -2vw;
    bottom: 16vw;
  }
}

/* ======================
09) common-pagelink
------------------------- */
.common-pagelink {
  width: 100%;
  position: relative;
  margin: 108px 0 120px 0;
}
.common-pagelink .inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  box-sizing: border-box;
}
.common-pagelink .inner .btns {
  gap: 65px;
}
.common-pagelink .inner .btns li {
  width: 220px;
  height: 75px;
  position: relative;
}
.common-pagelink .inner .btns li a.btn {
  width: 100%;
  height: 50px;
  font-size: 1.8rem;
  font-weight: 600;
  color: #005BAC;
  border: 1px solid #005BAC;
  background-color: #FFFFFF;
  border-radius: 25px;
}
.common-pagelink .inner .btns li::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: #005BAC;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0) rotate(45deg);
}

/* ======================
10) table
------------------------- */
dl.table {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-top: 1px solid rgba(0,91,172,0.58);
}
dl.table > dt,
dl.table > dd {
  box-sizing: border-box;
}
dl.table > dt {
  display: flex;
  width: 25%;
  padding: 30px;
  border-bottom: 1px solid rgba(0,91,172,0.58);
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.875;
  color: #005bac;
}
dl.table > dd {
/*
  display: flex;
  align-items: center;
*/
  width: 75%;
  margin-left: 0;
  padding: 30px;
  border-bottom: 1px solid rgba(0,91,172,0.58);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.875;
  color: #333333;
}
dl.table > dd ul {}
dl.table > dd ul li {
  position: relative;
  padding-left: 2rem;
}
dl.table > dd ul li::before {
  content: "●";
  display: block;
  width: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}
dl.table > dd div.ttl {
  white-space: nowrap;
}
dl.table > dd div.cnt {
}
dl.table.type-a > dt {
  background-color: rgba(151,229,238,0.4);
}
dl.table.type-b > dt {
  background-color: rgba(178,193,205,0.25);
  width: 32%;
}
dl.table.type-b > dd {
  width: 68%;
}
@media only screen and (max-width: 767px) {
  dl.table > dt {
    width: 100%;
    padding: 15px;
  }
  dl.table > dd {
    width: 100%;
    padding: 15px;
  }
  dl.table.type-b > dt {
    width: 100%;
  }
  dl.table.type-b > dd {
    width: 100%;
  }
}

dl.table-m {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
dl.table-m > dt,
dl.table-m > dd {
  box-sizing: border-box;
}
dl.table-m > dt {
  display: flex;
  width: 20%;
  padding: 16px;
  border-bottom: 1px solid rgba(0,91,172,0.58);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.875;
  color: #333333;
}
dl.table-m > dd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20%;
  margin-left: 0;
  padding: 16px;
  border-bottom: 1px solid rgba(0,91,172,0.58);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.875;
  color: #333333;
}
@media screen and (max-width: 767px) {
  dl.table-m > dt,
  dl.table-m > dd {
    font-size: 1.2rem;
    padding: 0;
  }
}
dl.table a {
  color: #005BAC;
}

/* ======================
11) flow-lst
------------------------- */
.flow-lst {
  width: 686px;
  margin: 0 auto;
  counter-reset: list-counter;
}
.flow-lst li {
  position: relative;
  counter-increment: list-counter;
  text-align: center;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.58;
  text-align: center;
  color: #005bac;
  padding: 25px;
  background-color: rgba(151,229,238,0.4);
  border-radius: 24px;
  margin-bottom: 38px;
}
.flow-lst li::before {
  content: counter(list-counter);
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #005BAC;
  color: #FFFFFF;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 25px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 3.0rem;
  text-align: center;
  line-height: 48px;
}
.flow-lst li::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 20px solid transparent;
  border-top-color: rgba(151,229,238,0.4);
}
.flow-lst li:last-child::after {
  display: none;
}
@media screen and (max-width: 1180px) {
  .flow-lst {
    width: 100%;
  }
  .flow-lst li {
    font-size: 1.8rem;
    padding: 20px 80px;
  }
  .flow-lst li::before {
    width: 40px;
    height: 40px;
    font-size: 2.4rem;
    line-height: 40px;
    left: 20px;
  }
  .flow-lst li::after {
    border: 16px solid transparent;
    border-top-color: rgba(151,229,238,0.4);
  }
}

/* ======================
12) common-bnr
------------------------- */
.common-bnr {}
.common-bnr .inner {
  position: relative;
  width: 100%;
  max-width: 1080px;
  height: 242px;
  margin: 0 auto;
  padding: 40px 68px;
  border: 1px solid #005BAC;
  border-radius: 24px;
  background-color: #FFFFFF;
  box-sizing: border-box;
  overflow: visible;
}
.common-bnr .inner .txt {
  position: relative;
  width: 670px;
  height: auto;
  z-index: 1;
}
.common-bnr .inner .txt h2.sec-ttl {
  color: #005BAC;
  margin-bottom: 15px;
}
.common-bnr .inner .txt h2.sec-ttl .jp {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
}
.common-bnr .inner .txt p {
  font-size: 1.6rem;
  line-height: 1.875;
  margin-bottom: 2.5rem;
}
.common-bnr .inner .txt p:last-of-type {
  margin-bottom: 0;
}
.common-bnr .inner .txt p a {
  font-weight: 600;
  color: #005BAC;
}
.common-bnr .inner .txt p a.btnA {
  margin-left: 0;
  margin-right: 0;
}
.common-bnr .inner .img {}
.common-bnr .inner .img img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
}

/* ======================
13) common-lead
------------------------- */
.common-lead {
  width: 100%;
  padding: 108px 0;
  background-color: #FFFFFF;
}
.common-lead .inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 4%;
}
.common-lead .inner .lead-ttl {
  font-weight: 600;
  font-size: 2.2rem;
  margin-bottom: 26px;
}
.common-lead .inner .lead-txt {
  font-weight: 600;
  text-wrap: balance;
  word-break: auto-phrase;
}
.common-lead .inner .lead-atent {
  font-size: 1.2rem;
  font-weight: 500;
}

/* ======================
14) common-sec
------------------------- */
.common-sec {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 120px auto;
  box-sizing: border-box;
}
.common-sec p.lead {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 1180px) {
  .common-sec {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/* ======================
15) business-lst
------------------------- */
.business-lst {
  margin: 80px 0 56px 0;
  gap: 50px 100px;
}
.business-lst li {}
.business-lst li a .business-img {
  margin-bottom: 12px;
}
.business-lst li a .business-img img {
  margin: 0 auto;
}
.business-lst li a .business-txt {
  color: #FFFFFF;
  font-size: 2.2rem;
  font-weight: 600;
}
.business .business-lst li a .business-txt {
  color: #005BAC;
}
.business-lst li a::after {
  display: block;
  content: "";
  width: 46px;
  height: 10px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  margin-top: 12px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23ffffff" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: right center;
}
.business .business-lst li a::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005BAC" stroke-width="1"/></svg>');
}
@media screen and (max-width: 1180px) {
  .business-lst li a .business-txt {
    font-size: 1.8rem;
  }
}

/* ======================
16) pagedown-photo
------------------------- */
.pagedown-photo {
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
}
#top-photo.pagedown-photo {
  background-image: url("images/top-photo.jpg");
}
#business-photo.pagedown-photo {
  background-image: url("images/business-photo.jpg");
}
@media only screen and (max-width: 767px) {
  .pagedown-photo {
    aspect-ratio: 16 / 9;
    background-attachment: scroll;
  }
}

/* ======================
17) business info grid
------------------------- */
.common-sec .parent {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 80px;
  grid-row-gap: 80px;
}
.common-sec .parent .child1 { grid-area: 1 / 1 / 2 / 2; }
.common-sec .parent .child2 { grid-area: 1 / 2 / 2 / 3; }
.common-sec .parent .child3 { grid-area: 2 / 2 / 3 / 3; }
.common-sec .parent .child4 { grid-area: 2 / 1 / 3 / 2; }
.common-sec .parent .child {}
.common-sec .parent .child h3 {
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.82;
  color: #005bac;
  margin-bottom: 40px;
}
.common-sec .parent .child p {
  margin-bottom: 3rem;
  font-weight: 500;
  font-size: 1.6rem;
  color: #333;
}
.common-sec .parent .child p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .common-sec .parent {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    grid-column-gap: 0px;
    grid-row-gap: 40px;
  }
  .common-sec .parent .child1 { grid-area: 1 / 1 / 2 / 2; }
  .common-sec .parent .child2 { grid-area: 2 / 1 / 3 / 2; }
  .common-sec .parent .child3 { grid-area: 3 / 1 / 4 / 2; }
  .common-sec .parent .child4 { grid-area: 4 / 1 / 5 / 2; }
}

/* ======================
18) product-lst
------------------------- */
.product-lst {}
.product-lst .inner {
  background-color: rgba(151,229,238,0.4);
  padding: 60px 70px;
  border-radius: 24px;
}
.product-lst .inner ul {
  gap: 40px;
}
.product-lst .inner ul li {
  width: calc(100% / 4 - 30px);
}
.product-lst .inner ul li .product-img {}
.product-lst .inner ul li .product-img img {
  width: 100%;
}
.product-lst .inner ul li .product-txt {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.44;
  margin-top: 10px;
  text-align: center;
  color: #005bac;
}
@media screen and (max-width: 959px) {
  .product-lst .inner ul li {
    width: calc(100% / 2 - 30px);
  }
}
@media screen and (max-width: 767px) {
  .product-lst .inner ul li {
    width: 100%;
  }
}

/* ======================
19) voice-bnr
------------------------- */
.voice-bnr {}
.voice-bnr .inner {}
.voice-bnr .inner a {
  display: block;
  position: relative;
  padding: 60px 25px 25px 25px;
  background-color: #97E5EE;
}

.voice-bnr .inner a:first-of-type {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}
.voice-bnr .inner a:last-of-type {
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}
.voice-bnr .inner a:not(:first-of-type) {
  padding-top: 80px;
}
.voice-bnr .inner a:not(:last-of-type) {
  padding-bottom: 40px;
}
.voice-bnr .inner a:not(:first-of-type) h3.ttl {
  display: none;
}
/*
.voice-bnr .inner a:nth-of-type(even) > div.flex {
  flex-direction: row-reverse;
}
*/

.voice-bnr .inner a h3.ttl {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 7.0rem;
  text-align: center;
  color: #005bac;
  margin-top: -97px;
}
.voice-bnr .inner a .l-box {
  padding-left: 45px;
}
/*
.voice-bnr .inner a:nth-of-type(even) .l-box {
  padding-left: 40px;
  padding-right: 45px;
}
*/
.voice-bnr .inner a p.v1 {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.78;
  text-align: left;
  color: #005bac;
}
.voice-bnr .inner a p.v2 {
  position: relative;
  width: 580px;
  border-radius: 24px;
  background-color: #FFFFFF;
  margin: 20px 0;
  padding: 22px 34px;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.82;
  text-align: left;
  color: #333;
}
.voice-bnr .inner a p.v2::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: -30px;
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 30px solid #FFFFFF;
}
/*
.voice-bnr .inner a:nth-of-type(even) p.v2::before {
  right: unset;
  left: -30px;
  transform: rotate(180deg);
}
*/
.voice-bnr .inner a p.v3 {
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  text-align: left;
  color: #005bac;
}
.voice-bnr .inner a p.v3::after {
  content: "";
  margin-left: 10px;
  width: 48px;
  height: 30px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005BAC" stroke-width="1"/></svg>');
  background-position: center right;
  background-repeat: no-repeat;
}
.voice-bnr .inner a .r-box {
  width: 365px;
}
.voice-bnr .inner a .r-box img {
  margin-top: -65px;
}
.voice-bnr .inner a .r-box p {
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.57;
  text-align: center;
  color: #333;
}
@media screen and (max-width: 1180px) {
  .voice-bnr .inner a {
    padding: 60px 25px 85px 25px;
  }
  .voice-bnr .inner a p.v1 {
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
  }
  .voice-bnr .inner a p.v2 {
    width: 100%;
    font-size: 1.4rem;
    padding: 16px 24px;
  }
  .voice-bnr .inner a p.v2::before {
    content: "";
    position: absolute;
    margin: auto;
    top: unset;
    bottom: -20px;
    right: 0;
    left: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 15px solid #FFFFFF;
    transform: rotate(90deg);
  }
/*
  .voice-bnr .inner a:nth-of-type(even) p.v2::before {
    content: "";
    position: absolute;
    margin: auto;
    top: unset;
    bottom: -20px;
    right: 0;
    left: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 15px solid #FFFFFF;
    transform: rotate(90deg);
  }
*/
  .voice-bnr .inner a p.v3 {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
  .voice-bnr .inner a > .flex {
    display: block;
  }
  .voice-bnr .inner a > .flex .l-box,
  .voice-bnr .inner a > .flex .r-box {
    width: 100%;
    padding: 0;
  }
  .voice-bnr .inner a .r-box img {
    margin-top: 0;
    width: 100%;
    margin-top: 32px;
  }
}

/* ======================
20) business-other-lst
------------------------- */
.business-other-lst {}
.business-other-lst .inner {
}
.business-other-lst .inner h3.sec-ttl2 {
  margin-bottom: 0;
  padding-bottom: 40px;
}
.business-other-lst .inner ul {
  width: 100%;
}
.business-other-lst .inner ul li {
  width: calc(100% / 2);
}
.business-other-lst .inner ul li a {
  width: 100%;
  padding: 18px 40px 18px 35px;
  box-sizing: border-box;
  font-weight: 600;
  font-size: 2.2rem;
  text-align: left;
  color: #005bac;
  border-bottom: 1px solid #005bac;
}
.business-other-lst .inner ul li:nth-child(odd) a {
  border-right: 1px solid #005bac;
}
.business-other-lst .inner ul li:nth-child(even) a {
  border-right: 1px solid #FFFFFF;
}
.business-other-lst .inner ul li a::after {
  content: "";
  display: block;
  width: 46px;
  height: 10px;
  overflow: hidden;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="53.562" height="10.586" viewBox="0 0 53.562 10.586"><path d="M0,0V52.148l9.7-12" transform="translate(0 10.086) rotate(-90)" fill="none" stroke="%23005BAC" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: right center;
}
.business-other-lst .inner ul li a img {
  width: 77px;
  height: 77px;
  margin-right: 18px;
}
@media screen and (max-width: 1180px) {
  .business-other-lst .inner ul li {
    width: 100%;
  }
  .business-other-lst .inner ul li:nth-child(1) {
    order: 1;
  }
  .business-other-lst .inner ul li:nth-child(2) {
    order: 3;
  }
  .business-other-lst .inner ul li:nth-child(3) {
    order: 2;
  }
  .business-other-lst .inner ul li:nth-child(4) {
    order: 5;
  }
  .business-other-lst .inner ul li:nth-child(5) {
    order: 4;
  }
  .business-other-lst .inner ul li:nth-child(odd) a,
  .business-other-lst .inner ul li:nth-child(even) a {
    border-right: none;
  }
}
@media screen and (max-width: 550px) {
  .business-other-lst .inner ul li a {
    font-size: 1.4rem;
    padding: 14px;
  }
  .product-lst .inner {
    padding: 30px 45px;
  }
}
@media screen and (max-width: 374px) {
  .business-other-lst .inner ul li a {
    padding: 14px 0;
  }
  .business-other-lst .inner ul li a img {
    width: 48px;
    height: 48px;
  }
}

/* ======================
21) archive.php pagenation
------------------------- */
#pagenation {
  width: 100%;
}
#pagenation .inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 4% 64px 4%;
}
#pagenation .inner nav h2 {
  display: none;
}
#pagenation .inner nav .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
#pagenation .inner nav .nav-links a,
#pagenation .inner nav .nav-links span {
  font-size: 1.4rem;
  font-weight: 600;
  color: #005BAC;
  border: 1px solid #005BAC;
  border-radius: 4px;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 70px;
  text-align: center;
}
#pagenation .inner nav .nav-links a {
  background-color: #005BAC;
  color: #FFFFFF;
}
#pagenation .inner nav .nav-links .page-numbers {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
}
#pagenation .inner nav .nav-links .prev.page-numbers,
#pagenation .inner nav .nav-links .next.page-numbers {
  font-family: "noto sans jp", sans-serif;
  font-weight: 600;
  font-style: normal;
}

/* ==============================================
22) news/
----------------------------------------------- */
#news-lst {
  padding: calc(108px / 2) 0;
  background-color: #FFFFFF;
}
#news-lst .inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
#news-lst .inner ul.news-lst {
  width: 100%;
  border-bottom: 1px solid #005BAC;
  margin-bottom: 34px;
}
#news-lst .inner ul.news-lst li {
  padding: 20px 0;
  border-top: 1px solid #005BAC;
}
#news-lst .inner ul.news-lst li a {}
#news-lst .inner ul.news-lst li a time {
  margin-right: 24px;
  color: #005BAC;
  font-size: 1.4rem;
}
#news-lst .inner ul.news-lst li a .news-ttl {
  font-size: 1.4rem;
}
@media screen and (max-width: 1200px) {
  #news-lst {
    padding: calc(108px / 2) 4%;
  }
}

/* ======================
**) recaptcha
------------------------- */
.grecaptcha-badge {
  visibility: hidden;
}
body.contact .grecaptcha-badge {
  visibility: visible;
}

