@charset "UTF-8";

/******************** RESET ********************/
*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
}

main {
    display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

pre {
    font-family: monospace, monospace;
    font-size: inherit;
}

address {
    font-style: inherit;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
    transition: 0.3s;
}

a:hover {
    color: #007AC3;
}

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

b,
strong {
    font-weight: normal;
}

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

small {
    font-size: 80%;
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit;
}

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

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
    cursor: default;
}

select:disabled {
    opacity: inherit;
}

option {
    padding: 0;
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

legend {
    padding: 0;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

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

[type="search"] {
    outline-offset: -2px;
}

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

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

[type="number"] {
    -moz-appearance: textfield;
}

label[for] {
    cursor: pointer;
}

details {
    display: block;
}

summary {
    display: list-item;
}

table {
    border-color: inherit;
    border-collapse: collapse;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

/******************** ALL ********************/
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    font-size: 1.6rem;
    font-weight: normal;
    color: #333333;
    line-height: 1.8;
    letter-spacing: 0.1em;
    vertical-align: baseline;
    font-family: 'Zen Maru Gothic', serif;
    margin: 0 !important;
}

.container {
    padding: 0 15px;
}

:focus-visible {
    outline: 2px solid #fc0000!important;
    outline-offset: 2px!important;
}

/******************** HEADER ********************/
/*** --------------- header-Manu --------------- ***/
.home .head_area {
  position: absolute;
  background-image: none;
  background-color: transparent;
  width: 100%;
  z-index: 100;
}

.head_area {
  position: relative;
  background-color: #E3EDF9;
  z-index: 1;
}

.menu_box {
  max-width: 1200px;
  width: 100%;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 50px;
  margin:0 auto;
  padding: 20px 50px;
  top: 60px;
  box-shadow: 0px 0px 20px 0px rgba(0, 63, 101, 0.1);
}

.menu_box .head_logo {
  width: 105px;
}

.menu_box .head_logo img {
  width: 100%;
}

.menu_box .head_logo a {
  display: inline-block;
  transition: 0.3s;
}

.menu_box .head_logo a:hover {
  opacity: 0.7;
}

.header_menu {
  justify-content: flex-end;
}

.header_menu ul {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px 0px;
}

.header_menu ul li {
  position: relative;
}

.header_menu ul li a {
  display: inline-block;
  justify-content: center;
  text-align: center;
  padding: 9px 15px;
  color: #333333;
  font-size: 1.8rem;
  transition: 0.3s;
}

.header_menu ul li a:hover,
.header_menu .head_menu > li.current-menu-item > a,
.header_menu .head_menu .sub-menu > li.current-menu-item > a {
  color: #007AC3;
}

.header_menu .sub-menu {
  width: 185px;
  position: absolute;
  justify-content: left;
  opacity: 0;
  visibility: hidden;
  transform: scaleY(0);
  transform-origin: top left;
  transition: 0.3s ease-in-out;
  background: #ffffff;
  border-radius: 10px;
  filter: drop-shadow(0px 0px 6px rgba(0, 63, 101, 0.1));
  top: 90px;
  margin-left: 15px;
  padding: 20px;
  z-index: 2;
}

.header_menu .menu-item-has-children:hover .sub-menu,
.header_menu .menu-item-has-children:focus-within .sub-menu,
.header_menu .sub-menu li.current-menu-item > a {
  opacity: 1;
  visibility: visible;
  transform: scaleY(1);
}

.header_menu .sub-menu::before {
  content: '';
  position: absolute;
  width: 25px;
  height: 17px;
  border-radius: 20px;
  clip-path: polygon(50% 30%, 0% 100%, 100% 100%);
  background-color: #fff;
  top: -15px;
  left: 30px;
  z-index: 10;
}

.header_menu .sub-menu a {
  color: #333333;
  font-size: 1.4rem;
  padding: 0 0 0 20px;
}

.header_menu .sub-menu a::before {
  content: '';
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: #067FC8;
  border-radius: 2px;
  will-change: transform;
  top: calc(50% - 0px);
  left: 0;
}

.header_menu .sub-menu a::after {
  content: '';
  width: 5.5px;
  height: 7px;
  background:#067FC8;
  clip-path: path("M0.186369 0.418791C0.507378 -0.0306214 1.13149 -0.13464 1.5809 0.186369L5.0809 2.68637C5.3437 2.87408 5.49985 3.17689 5.49985 3.49985C5.49985 3.8228 5.3437 4.12561 5.0809 4.31332L1.5809 6.81332C1.13149 7.13433 0.507378 7.03031 0.186369 6.5809C-0.13464 6.13149 -0.0306214 5.50738 0.418791 5.18637L2.77914 3.49985L0.418791 1.81332C-0.0306214 1.49231 -0.13464 0.868204 0.186369 0.418791Z");
  position: absolute;
  top: calc(50% - 2.5px);
  left: 9px;
  opacity: 0;
  transition: 0.3s;
}

.header_menu .sub-menu a:hover::after,
.header_menu .sub-menu a:focus-visible::after,
.header_menu .sub-menu li.current-menu-item > a::after {
  opacity: 1;
}

.header_menu .menu-item-51 {
  position: relative;
  display: inline-flex;
  margin-left: 15px;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
  z-index: 1;
}

.header_menu .menu-item-51::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(100deg, #ffbc05 0%, #ff6600);
  border: none;
  transition: opacity 0.5s;
  z-index: -1;
}

.header_menu .menu-item-51::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(-80deg, #ffbc05 0%, #ff6600);
  opacity: 0;
  transition: opacity 0.5s;
  z-index: -1;
}

.header_menu .menu-item-51:hover::after {
  opacity: 1;
}

.header_menu .menu-item-51 a {
  color: #ffffff !important;
  padding: 10px 25px 10px 55px;
}

.header_menu .menu-item-51 a:hover {
  color: #ffffff;
}

.header_menu .menu-item-51 a::before {
  content: '';
  width: 18px;
  height: 13px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  left: 25px;
  background-image: url(../img/contact_icon.png);
  transform-origin: center bottom;
  transition: 0.3s;
}

.header_menu .menu-item-51:has(a:focus-visible) {
  outline: 2px solid #fc0000;
  outline-offset: 2px;
}

@media only screen and (max-width: 1399px) {
  .header_menu .menu-item-51 {
    position: absolute;
    top: -80px;
    right: -50px;
    border-radius: 0px 0px 12px 12px;
}

  .header_menu .menu-item-51 a {
    font-size: 1.4rem;
    padding: 6px 25px 6px 55px;
}

  .link_box .partner_box {
    margin-right: 267px;
}
}

@media only screen and (max-width: 1199px) {
.menu_box {
  padding: 20px 30px;
}

.header_menu ul li a {
  padding: 9px 10px;
  font-size: 1.6rem;
}

  .header_menu .menu-item-51 {
    top: -82px;
    right: -30px;
}
}

@media only screen and (max-width: 991px) {
  .menu_box {
    flex-flow: row wrap;
    justify-content: center;
    padding: 20px 10px 20px 30px;
}

  .header_menu .menu-item-51 {
    right: -10px;
}
}


@media only screen and (max-width: 767px) {
  .home .head_area {
    position: sticky;
    margin: 20px 0;
}

  .header_menu ul {
    display: block;
    margin-top: 20px;
}

  .header_menu .sub-menu {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
    background: transparent;
    filter: none;
    top: 0;
    margin: 0;
    padding: 0 0 5px 10px;
}

  .header_menu .sub-menu::before {
    content: none;
}

  .home .menu_box {
    top: 0;
    padding-right: 30px;
}

  .menu_box {
    justify-content: space-between;
    top: 20px;
}

  .header_menu ul li::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    border-bottom: 2px dashed #067FC8;
    border-radius: 1px;
    top: 0;
    left: 0;
}

  .header_menu ul li:nth-of-type(5)::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    border-bottom: 2px dashed #067FC8;
    border-radius: 1px;
    bottom: 0;
    left: 0;
}

  .header_menu ul li a {
    padding: 7px 0;
}

  .header_menu .sub-menu li:nth-of-type(2) {
    padding-bottom: 0;
}

  .header_menu .sub-menu li::before {
    content: none;
}

  .header_menu .sub-menu li:nth-of-type(5)::after {
    content: none;
}

  .header_menu .menu-item-42 a {
    padding-bottom: 0;
}

  .header_menu .menu-item-51 {
    position: relative;
    width: 100%;
    border-radius: 50px;
    margin-top: 20px;
    margin-left: 0;
    top: 0;
    right: 0;
}

  .header_menu .menu-item-51 a {
    width: 100%;
}

  .link_box .partner_box {
    margin-right: 0;
}
}

@media only screen and (max-width: 575px) {
  .menu_box {
    padding: 20px;
}

  .home .menu_box {
    padding-right: 20px;
}

  .header_menu .menu-item-51 a {
    padding: 10px 15px 10px 40px;
}

  .header_menu .menu-item-51 a::before {
    left: 15px;
}
}

/* ----- header Link ----- */
.link_box {
  width: 100%;
  position: absolute;
  display: flex;
  justify-content: end;
  top: -60px;
  right: 0;
  gap: 20px;
}

.link_box a {
  width: 100%;
  max-width: 200px;
  position: relative;
  display: inline-block;
  text-align: center;
  font-size: 1.4rem;
  color: #ffffff;
  background-color: #067FC8;
  padding: 6px 20px 6px 55px;
  border-radius: 0 0 12px 12px;
  transition: 0.3s;
}

.link_box a:hover {
  background-color: #0068A7;
  color: #ffffff;
}

.link_box .login_box::before,
.link_box .partner_box::before {
  content: '';
  width: 25px;
  height: 25px;
  position: absolute;
  left: 20px;
  transition: 0.3s;
}

.link_box .login_box::before {
  background: url(../img/header_icon01.png) center center / contain no-repeat;
}

.link_box .partner_box::before {
  background: url(../img/header_icon02.png) center center / contain no-repeat;
}

@media screen and (max-width: 767px) {
  .link_box {
    margin-top: 15px;
    position: static;
    justify-content: center;
}

  .link_box a {
    max-width: 220px;
    border-radius: 30px;
    text-align: center;
  }
}

@media only screen and (max-width: 575px) {
  .link_box {
    flex-flow: row wrap;
    gap: 15px;
}

  .link_box a {
    max-width: 100%;
  }
}

/* ----- Menu Button ----- */
.navbar-toggler {
  position: relative;
  min-width: 50px;
  min-height: 50px;
  border: none;
  border-radius: 30px;
  background-color: #007AC3;
  transition: 0.3s;
}

.navbar-toggler:hover {
  background: #067FC8;
}

.navbar-toggler span {
  position: absolute;
  display: inline-block;
  left: 25%;
  width: 50%;
  height: 3px;
  background-color: #ffffff;
  border-radius: 8px;
  transition: 0.3s;
}

.navbar-toggler span:nth-of-type(1) {
  top: 13px;
}

.navbar-toggler span:nth-of-type(2) {
  top: 24px;
}

.navbar-toggler span:nth-of-type(3) {
  bottom: 13px;
}

.navbar-toggler[aria-expanded="true"] span:nth-of-type(1) {
  transform: translateY(11px) rotate(45deg)
}

.navbar-toggler[aria-expanded="true"] span:nth-of-type(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] span:nth-of-type(3) {
  transform: translateY(-10px) rotate(-45deg)
}

/******************** FOOTER ********************/
/*** --------------- Footer-Manu --------------- ***/
.foot_area {
  margin-top: 200px;
}

.foot_area .background_box {
  padding-bottom: 20px;
  background-image: linear-gradient(181deg, #e3edf9, #dceff6);
}

.footer_box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer_box .foot_logo img {
  max-width: 190px;
  width: 100%;
}

.footer_box .facebook_logo {
  position: absolute;
  left: calc(50% - -165px);
}

.footer_box .facebook_logo img {
  max-width: 40px;
  width: 100%;
}

.foot_menu {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  max-width: 1200px;
  width: 100%;
  margin: 80px auto 50px;
}

.foot_menu::before {
  content: '';
  position: absolute;
  background: #FFFFFF;
  border-radius: 5px;
  width: 2px;
  height: 100%;
  top: 0;
  right: 0;
}

.foot_title {
  position: relative;
  padding: 12px 20px;
}

.foot_title::before {
  content: '';
  position: absolute;
  background: #FFFFFF;
  border-radius: 5px;
  width: 2px;
  height: 100%;
  top: 0;
  left: 0;
}

.foot_title p {
  max-width: 150px;
  width: 100%;
  font-size: 1.4rem;
  text-align: center;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 3px 10px;
}

.foot_title ul {
  margin-top: 15px;
}

.foot_right {
  max-width: 300px;
  width: 100%;
}

.foot_left {
  max-width: 600px;
  width: 100%;
}

.foot_left ul {
  column-count: 3;
}

.foot_left ul li {
  break-inside: avoid;
}

.foot_title ul li {
  font-size: 1.8rem;
}

.foot_title ul li a {
  position: relative;
}

.foot_title .menu-item-341,
.foot_title .menu-item-55,
.foot_title .menu-item-66,
.foot_title .menu-item-376 {
  margin-top: 10px;
}

.foot_title .menu li a {
  padding-left: 30px;
}

.foot_title .menu li a:hover,
.foot_title .menu > li.current-menu-item > a,
.foot_title .sub-menu li.current-menu-item > a{
  color: #007AC3;
}

.foot_title .menu li a::before {
  content: '';
  background-image: url(../img/arrow_img02.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 3px;
  left: 0;
  transition: 0.5s;
}

.foot_title .menu li a:hover::before,
.foot_title .menu > li.current-menu-item > a::before {
  left: 5px;
}

.foot_title .sub-menu {
  column-count: 1;
  margin: 0 0 0 10px;
}

.foot_title .sub-menu li {
  font-size: 1.4rem;
}

.foot_title .sub-menu li a {
  padding-left: 20px;
}

.foot_title .sub-menu li a::before {
  content: '';
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: #067FC8;
  border-radius: 2px;
  will-change: transform;
  top: calc(50% - 0px);
  left: 0;
}

.foot_title .sub-menu li a:hover::before,
.foot_title .sub-menu li.current-menu-item > a::before {
  left: 0;
}

.foot_title .sub-menu li a::after {
  content: '';
  width: 5.5px;
  height: 7px;
  background:#067FC8;
  clip-path: path("M0.186369 0.418791C0.507378 -0.0306214 1.13149 -0.13464 1.5809 0.186369L5.0809 2.68637C5.3437 2.87408 5.49985 3.17689 5.49985 3.49985C5.49985 3.8228 5.3437 4.12561 5.0809 4.31332L1.5809 6.81332C1.13149 7.13433 0.507378 7.03031 0.186369 6.5809C-0.13464 6.13149 -0.0306214 5.50738 0.418791 5.18637L2.77914 3.49985L0.418791 1.81332C-0.0306214 1.49231 -0.13464 0.868204 0.186369 0.418791Z");
  position: absolute;
  top: calc(50% - 2.5px);
  left: 9px;
  opacity: 0;
  transition: 0.3s;
}

.foot_title .sub-menu li a:hover::after,
.foot_title .sub-menu li.current-menu-item > a::after {
  opacity: 1;
}

.background_box .old_link {
  margin-bottom: 40px;
  background-color: transparent;
  border: 2px dashed #fff;
  border-radius: 20px;
}

.background_box .old_link p {
  line-height: 1.6;
}

.background_box .old_link ul li a {
  position: relative;
  font-size: 1.4rem;
  padding-right: 42px
}

.background_box .old_link ul li a::before {
  content: "";
  background-image: url(../img/arrow_img01.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 32px;
  height: 12px;
  right: 0;
  top: calc(50% - 6px);
  transition: 0.3s;
}

.background_box .old_link ul li a:hover::before {
  right: -5px;
}

.footer_box_in {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 20px 50px;
  gap: 70px;
}

.footer_box_in .footer_link {
  display: flex;
  flex-flow: row wrap;
}

.footer_box_in .footer_link a {
  font-size: 2rem;
}

.footer_box_in .info_list {
    display: flex;
    gap: 60px;
}

.footer_box_in .info_list .info_block {
  display: grid;
  line-height: 1.5;
  grid-template-columns: 2.5em 1fr;
  gap: 0.5em 2.5em;
}

.footer_box_in .info_list dt {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: normal;
}

.footer_box_in .info_list dt::before,
.footer_box_in .info_list dt::after {
	content: '';
	position: absolute;
	right: -18px;
	width: 1px;
	height: 100%;
	background: #067FC8;
	border-radius: 5px;
}

.footer_box_in .info_list dt::after {
	right: -20px;
}

.footer_box_in .info_list dd {
  margin: 0;
}

.footer_copyright {
  padding-top: 30px;
  text-align: center;
}

@media only screen and (max-width: 1399px) {
.foot_menu .foot_title:nth-child(2) {
  max-width: 210px;
}
}

@media only screen and (max-width: 1199px) {
  .foot_left {
    max-width: 100%;
}

  .foot_right {
    max-width: 50%;
}

  .footer_box_in {
    padding: 20px 30px;
    gap: 20px 50px;
}

  .footer_box_in .info_list {
    gap: 20px 35px;
}

  .footer_box_in .info_list .info_block {
    gap: 0.5em 1.5em;
}

  .footer_box_in .info_list dt::before {
    right: -8px;
}

  .footer_box_in .info_list dt::after {
    right: -10px;
}
}

@media only screen and (max-width: 991px) {
  .footer_box_in {
    flex-flow: row wrap;
}

  .footer_box_in .footer_link {
    justify-content: center;
    width: 100%;
}
}

@media only screen and (max-width: 767px) {
  .foot_right {
    max-width: 58%;
}

  .foot_left ul {
    column-count: 2;
}

  .foot_title .menu-item-57 {
    margin-top: 10px;
}

  .footer_box_in .info_list {
    flex-flow: row wrap;
}
}

@media only screen and (max-width: 575px) {
  .foot_area {
    margin-top: 100px;
}

  .footer_box {
    gap: 60px;
}

  .footer_box .facebook_logo {
    position: relative;
    left: 0;
}

  .foot_right {
    max-width: 100%;
}

  .footer_box_in {
    display: block;
    padding: 20px 15px;
}

  .footer_box_in a {
    font-size: 1.8rem;
}

  .footer_box_in .info {
    margin-top: 20px;
}

  .footer_box_in .info_list {
    display: grid;
    gap: 10px;
}

  .footer_box_in .info_list .info_block {
    gap: 0.5em 1.5em;
}
}

@media only screen and (max-width: 420px) {
  .foot_left ul {
    column-count: 1;
}

  .foot_title .menu-item-56 {
    margin-top: 10px;
}
}

@media only screen and (max-width: 328px) {
  .footer_box_in {
padding: 20px 13px;
}

  .footer_box_in .footer_link .link_icon {
    margin-left: 5px;
}
}

/*** --------------- Page Top --------------- ***/
.jump_button {
  position: relative;
}

#page-top {
  position: fixed;
  display: block;
  width: 50px;
  height: 50px;
  right: 30px;
  bottom: 30px;
  z-index: 2;
}

#page-top::before {
  content: '';
  position: absolute;
  background: #007AC3;
  border-radius: 50px;
  width: 50px;
  height: 50px;
  bottom: 0px;
  right: 0px;
  z-index: -1;
  transition: 0.5s;
}

#page-top:hover::before {
  background: #FFFFFF;
  border: 2px solid #007AC3;
}

#page-top::after {
  content: '';
  background-image: url(../img/jump_button01.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 25px;
  height: 15px;
  bottom: 19px;
  right: 12px;
  transition: 0.5s;
}

#page-top:hover::after {
  background-image: url(../img/jump_button02.png);
  bottom: 24px;
}

@media screen and (max-width: 575px) {
  #page-top {
    width: 30px;
    height: 30px;
    right: 15px;
    bottom: 15px;
  }

  #page-top::before {
    width: 30px;
    height: 30px;
  }

  #page-top::after {
    width: 17px;
    height: 10px;
    bottom: 11px;
    right: 6px;
}

  #page-top:hover::after {
    bottom: 16px;
}
}

/******************** PAGE ********************/
/*** --------------- header-title --------------- ***/
.title_band {
  position: relative;
  text-align: center;
  padding: 90px 0 20px;
}

.title_band::before {
  content: '';
  position: absolute;
  display: block;
  background-image: linear-gradient(0deg, #DCEFF6, #E3EDF9);
  width: 100%;
  height: 100%;
  min-height: 294px;
  top: -93px;
  left: 0;
  z-index: -1;
}

.page_h1 {
  font-size: 4rem;
  padding-bottom: 15px;
  font-weight: normal;
}

.title_band p {
    line-height: 1.2;
}

.page_h1_sub {
  color: #007AC3
}

@media screen and (max-width: 767px) {
  .title_band {
    padding: 40px 0 20px;
}

  .title_band::before {
    min-height: 228px;
}

  .page_h1 {
    font-size: 3.4rem;
    line-height: 1.2;
    padding-bottom: 5px;
}
}

@media screen and (max-width: 575px) {

}

/*** --------------- header-pankuzu --------------- ***/
.pankuzu_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  gap: 5px 15px;
}

.pankuzu_list li {
  position: relative;
  font-size: 1.4rem;
  padding-left: 20px;
}

.pankuzu_list li::before,
.pankuzu_list li:first-child a::before {
  content: "";
  background-size: cover;
  display: inline-block;
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
}

.pankuzu_list li::before {
  background-image: url(../img/arrow_icon.png);
  width: 6px;
  height: 10px;
}

.pankuzu_list li:first-child::before {
  display: none;
}

.pankuzu_list li:first-child a::before {
  background-image: url(../img/home_icon.png);
  width: 14px;
  height: 12px;
}

.pankuzu_list li a {
  position: relative;
  padding-bottom: 3px;
}

.pankuzu_list li a::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background: #007AC3;
  bottom: 0px;
  right: 0;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}

.pankuzu_list li:first-child a {
  position: static;
}

.pankuzu_list li:first-child a::after {
  width: 100%;
}

.pankuzu_list li:hover a::after {
  visibility: visible;
  opacity: 1;
  transition: 0.5s;
}

/******************** page-menu ********************/
.page_menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px 45px 0;
  gap: 30px;
}

.page_menu ul li a {
  position: relative;
  display: inline-block;
  text-align: center;
  background-color: #ffffff;
  box-shadow: 0px 0px 20px 0px rgba(0, 63, 101, 0.1);
  border-radius: 50px;
  padding: 10px 20px 10px 50px;
}

.page_menu ul li a::before {
  content: "";
  background-image: url(../img/menu_icon.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: calc(50% - 10px);
  left: 20px;
  transition: 0.5s;
}

.page_menu ul li a:hover::before {
  top: calc(50% - 5px);
}

@media (max-width: 1399px) {
  .page_menu ul {
    margin: 50px 0 0;
}
}

@media screen and (max-width: 575px) {
  .page_menu ul {
    margin: 20px 0 0;
    gap: 15px 10px;
}

  .page_menu ul li {
    width: calc((100% - 10px) / 2);
}

  .page_menu ul li a {
    width: 100%;
    font-size: 1.2rem;
    padding: 10px 7px 30px 8px;
}

  .page_menu ul li a::before {
    width: 15px;
    height: 15px;
    top: auto;
    bottom: 10px;
    left: calc(50% - 10px);
}

  .page_menu ul li a:hover::before {
    top: auto;
    bottom: 5px;
}
}

/* ----- Anchor ----- */
.page_anchor {
  display: block;
  padding-top: 50px;
  margin-top: -50px;
}

@media screen and (max-width: 575px) {
  .page_anchor {
    padding-top: 30px;
    margin-top: -30px;
  }
}

/******************** 404-Main ********************/
.error_area {
  margin: 40px 0 200px;
}
.error_area p:not(:first-of-type) {
  margin-top: 15px;
}

@media screen and (max-width: 991px) {
  .error_area {
    margin: 40px 0 150px;
  }
}
@media screen and (max-width: 575px) {
  .error_area {
    margin: 40px 0 100px;
  }
}

/******************** SCROLL ********************/
/* ----- Scroll Load Show ----- */
.scroll_up,
.scroll_left,
.scroll_right,
.scroll_down {
	opacity: 0;
}

.fade_up {
	opacity: 0;
	animation: fade_up 1s forwards;
}

.fade_left {
	opacity: 0;
	animation: fade_left 2s forwards;
}

.fade_right {
	opacity: 0;
	animation: fade_right 2s forwards;
}

.fade_down {
	opacity: 0;
	animation: fade_down 1s forwards;
}

@keyframes fade_up {
	0% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}

@keyframes fade_left {
	0% { opacity: 0; transform: translateX(-300px); }
	100% { opacity: 1; transform: translateX(0); }
}

@keyframes fade_right {
	0% { opacity: 0; transform: translateX(300px); }
	100% { opacity: 1; transform: translateX(0); }
}

@keyframes fade_down {
	0% { opacity: 0; transform: translateY(-100px); }
	100% { opacity: 1; transform: translateY(0); }
}

/******************** common_class ********************/
.background_box {
  position: relative;
  background-image: linear-gradient(0deg, #c8ddf5, #eef9ff);
  padding: 80px 0 150px;
  z-index: 0;
}

.area_margin {
  margin-top: 150px !important;
}

.area_center {
  text-align: center;
}

.title_wrap {
  display: inline-block;
  text-align: left;
}

.title_color {
  font-size: 1.8rem;
  color: #007AC3;
  display: block;
  padding-bottom: 10px;
}

.orange {
  color: #FF6600;
}

.h2 {
  font-size: 3.6rem;
}

.h2_title {
  position: relative;
  font-size: 3.2rem;
  line-height: 1.8;
  font-weight: normal;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.h2_title::before {
  content: "";
  background-image: url(../img/h2_line02.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 4px;
  bottom: 0;
  left: calc(50% - 40px);
}

.h3 {
  position: relative;
  font-size: 2.8rem;
  line-height: 1.8;
  margin: 0;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.common_box .ilist_in .title_area {
  position: relative;
}

.common_box .ilist_in .title_area::before {
  content: "";
  position: absolute;
  background: linear-gradient(90deg, #DAEBF8 0%, #6DB2DD 50%, #007AC3 100%);
  border-radius: 5px;
  width: 100%;
  height: 4px;
  left: 0;
  bottom: 0;
}

.common_box .right .title_area::before {
  transform: scaleX(-1);
}

.introduce_area .common_box .ilist_in .title_area::before {
  width: 120%;
  right: 0;
}

.introduce_area .common_box .left .title_area::before {
  left: auto;
}

.page_text {
  margin: 50px 0 60px;
}

.section_text {
  padding-top: 40px;
}

.section_text .num {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  font-family: Nunito;
  color: #ffffff;
  line-height: 1;
}

.section_text .num::before {
  content: '';
  position: absolute;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-51%, -51%);
  z-index: -1;
  background: #007AC3;
}

.section_text .num_right {
  margin: 0 5px 5px 0;
}

.section_text .num_left {
  margin: 0 5px 5px;
}

.link_icon {
    width: 16px;
    margin: 0 0 5px 5px;
    vertical-align: middle;
}

.btn_box .link_btn {
  position: relative;
  font-size: 2rem;
  padding: 11px 67px 11px 20px;
}

.btn_box .link_btn::before {
  content: '';
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  left: 0px;
  top: calc(50% - 25px);
  z-index: -1;
  transition: 0.3s;
}

.btn_box .link_btn:hover::before {
  width: 100%;
}

.btn_box .blue::before {
  background: #E3EDF9;
}

.btn_box .white::before {
    background: #ffffff;
}

.btn_box .link_btn::after{
  content: "";
  background-image: url(../img/arrow_img01.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 32px;
  height: 12px;
  right: 20px;
  top: calc(50% - 7px);
  transition: 0.3s;
}

.common_box {
  margin-top: 80px;
}

.common_box .ilist_in .title_number {
  position: absolute;
  font-size: 8rem;
  font-family: Nunito;
  line-height: 1;
  top: -100px;
}

.common_box ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.common_box ul li {
  max-width: 1200px;
  width: 100%;
  margin-bottom: 150px;
}

.common_box ul li:last-child{
  margin-bottom: 0;
}

.common_box .ilist_in {
  display: flex;
  flex-flow: row wrap;
}

.common_box .left {
  justify-content: end;
}

.common_box .ilist_in .ilist_left {
  position: relative;
  width: 100%;
}

.common_box .ilist_in .ilist_right {
  position: absolute;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 20px;
  z-index: 1;
}

.common_box .left .ilist_right {
  left: 0;
}

.common_box .right .ilist_right {
  right: 0;
}

.common_box .download_box {
  margin-top: 60px;
  gap: 40px;
}

.common_box .download_box li {
  max-width: 240px;
  text-align: center;
  margin-bottom: 0;
}

.download_background {
  background-color: #F5F5F5;
  padding: 80px 0 150px;
}

.each_box {
  max-width: 1200px;
  width: 100%;
}

.each_box .ilist_left {
  max-width: 535px;
  position: relative;
}

.each_box .ilist_left::before {
  content: "";
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 200px;
  height: 200px;
  left: 60px;
  bottom: 0;
}

.each_box .left .ilist_left {
  max-width: 535px;
  padding: 20px 0 265px 60px;
}

.each_box .left img {
  border-radius: 0 40px 40px 0;
}

.each_box img  {
  max-width: 720px;
  width: 100%;
}

.each_box .ilist_left p {
  font-size: 3.2rem;
}

.each_function_box ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-top: 80px;
  gap: 30px;
}

.each_function_box ul li {
  max-width: 300px;
  width: 100%;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 0px 20px 0px rgba(0, 63, 101, 0.1);
  padding: 40px 15px;
}

.each_function_box img {
  max-width: 60px;
  width: 100%;
}

.each_function_box h3 {
  font-size: 2.4rem;
  padding-top: 30px;
}

.merit_area .each_function_box h3 {
  position: relative;
  display: inline-block;
  font-size: 2.4rem;
  padding: 0 0 0 24px;
}

.merit_area .each_function_box h3::before{
  content: "";
  background-image: url(../img/h3_icon.png);
  background-size: cover;
  display: inline-block;
  position: absolute;
  width: 14px;
  height: 30px;
  top: -5px;
  left: 0;
}

.each_function_illust {
  text-align: center;
  padding-top: 30px;
}

.each_function_box p {
  padding-top: 20px;
}

.function_area .each_function_illust {
  padding-top: 0;
}

.merit_area .merit_box ul li {
  max-width: 470px;
  padding: 40px 25px;
}

.merit_area .merit_box img {
  max-width: 100%;
  max-height: 250px;
  height: 100%;
}

.each_img img {
  width: 100%;
  max-height: 450px;
}

.sm_img img {
  max-width: 220px;
}

.pc_img img {
  max-width: 600px;
}

.tb_img img {
  max-width: 600px;
}

.introduce_box_in ul li {
  position: relative;
}

.introduce_box_in .ilist_in .ilist_left {
  max-width: 700px;
  background-color: rgba(255, 255, 255, 0.8);
  margin-top: 90px;
  border-radius: 40px;
}

.introduce_box_in .left .ilist_left {
    padding: 60px 40px 60px 150px;
}

.introduce_box_in .right .ilist_left {
    padding: 60px 150px 60px 50px;
}

.introduce_box_in .left .h3::before {
    right: 0;
}

.introduce_box_in .ilist_in .ilist_left p {
    font-size: 1.8rem;
    padding-top: 20px;
}

.contact_box {
    display: flex;
    background-color: #FFF6CD;
    border-radius: 20px;
    padding: 50px 100px 60px;
    gap: 120px;
}

.contact_area img {
  max-width: 380px;
  width: 100%;
}

.contact_area .frame_box {
  position: relative;
  display: inline-flex;
  max-width: 360px;
  width: 100%;
  font-size: 2rem;
  margin-top: 30px;
  border-radius: 50px;
  overflow: hidden;
  z-index: 1;
}

.contact_area .frame_box:has(a:focus-visible) {
  outline: 2px solid #fc0000;
  outline-offset: 2px;
}

.contact_area .frame_box::before {
  content: "";
  position: absolute;
  inset: 0;
  transition: opacity 0.5s;
  z-index: -1;
}

.contact_area .color_orange::before {
  background-image: linear-gradient(100deg, #ffbc05 0%, #ff6600);
}

.contact_area .color_blue::before {
  background-image: linear-gradient(100deg, #84CFF3 0%, #007AC3);
}

.contact_area .frame_box::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: -1;
}

.contact_area .color_orange::after {
  background-image: linear-gradient(-80deg, #ffbc05 0%, #ff6600);
}

.contact_area .color_blue::after {
  background-image: linear-gradient(-80deg, #84CFF3 0%, #007AC3);
}

.contact_area .frame_box:hover::after {
  opacity: 1;
}

.contact_area .frame_box:hover::after {
  opacity: 1;
}

.contact_area .frame_box a {
  display: block;
  color: #ffffff;
  padding: 20px 40px 20px 80px;
}

.contact_area .frame_box a:hover {
  color: #ffffff;
}

.contact_area .frame_box a::before {
  content: '';
  width: 26px;
  height: 19px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 9px);
  left: 40px;
  background-image: url(../img/contact_icon.png);
  transform-origin: center bottom;
  transition: 0.3s;
}

.contact_area .color_blue a::before {
  content: '';
  width: 32px;
  height: 12px;
  top: calc(50% - 6px);
  left: auto;
  right: 40px;
  background-image: url(../img/arrow_img03.png);
}

.download_box .download_img img {
  border-radius: 10px;
}

.download_box p {
  margin-top: 10px;
}

.download_box .file {
  font-size: 2rem;
}

.download_box .file:hover {
  color: #067FC8;
}

.download_box .file_size {
  display: block;
  font-size: 1.4rem;
}

.download_box .contact_area .frame_box {
  max-width: 190px;
  font-size: 1.6rem;
  margin-top: 10px;
}

.download_box .contact_area .frame_box a {
  padding: 6px 25px 6px 59px;
}

.download_box .contact_area .color_blue a::before {
  width: 17px;
  height: 17px;
  top: calc(50% - 10px);
  left: 30px;
  right: auto;
  background-image: url(../img/download_icon.png);
}

@media only screen and (max-width: 1399px) {
  .contact_box {
    padding: 40px 20px 50px;
}

  .reg_img img {
  max-width: 520px;
}

.pc_img img {
  max-width: 520px;
}

.tb_img img {
  max-width: 520px;
}
}

@media only screen and (max-width: 1299px) {
  .common_box .ilist_in .title_area {
    padding-left: 110px;
}

  .common_box .ilist_in .title_number {
    top: -20px;
    left: 0px;
}
}

@media only screen and (max-width: 1280px) and (min-width: 1200px) {
  .each_box img {
    max-width: 620px;
  }

  .each_box .ilist_left {
    max-width: 480px;
  }

  .each_box .left .ilist_left {
    max-width: 480px;
    padding-left: 40px;
  }
}

@media only screen and (max-width: 1199px) {
  .contact_box {
    gap: 55px;
}

  .reg_img img {
  max-width: 100%;
}

  .pc_img img {
    max-width: 600px;
}

  .tb_img img {
    max-width: 600px;
}

  .common_box .ilist_in {
    position: relative;
}

  .common_box ul li {
    margin-bottom: 100px;
}

  .introduce_area .common_box .ilist_in .title_area::before {
    width: 100%;
}

  .merit_area .merit_box ul li {
    max-width: 440px;
    padding: 40px 25px;
}

  .introduce_box_in .ilist_in .ilist_left {
    margin-top: 415px;
}

  .introduce_box_in .left .ilist_left {
    padding: 60px 40px;
}

  .introduce_box_in .right .ilist_left {
    padding: 60px 40px;
}

  .each_box .left .ilist_left {
    max-width: 460px;
    padding: 20px 0 240px 50px;
}

  .each_box .left img {
    border-radius: 20px;
}

  .each_box img  {
    max-width: 470px;
}
}

@media only screen and (max-width: 991px) {
  .contact_box {
    display: block;
}

  .common_box .ilist_in .ilist_right {
    position: static;
    margin: 0 auto;
    z-index: -1;
}

  .introduce_box_in .ilist_in .ilist_left {
    margin-top: 50px;
}

  .each_box .ilist_left::before,
  .each_box .ilist_left::after {
    bottom: 0;
}

  .each_box .left .ilist_left {
    max-width: 100%;
    padding: 20px 40px 240px 40px;
}

  .each_box img  {
    max-width: 100%;
}

  .each_box .ilist_left {
    max-width: 100%;
}
}

@media only screen and (max-width: 767px) {
  .contact_area .ilist_right {
    text-align: center;
}
}

@media only screen and (max-width: 575px) {
  .background_box {
    padding: 60px 0 100px;
}

  .area_margin {
    margin-top: 80px !important;
}

  .title_color {
    padding-bottom: 0;
}

  .h2_title {
    font-size: 3rem;
}

  .h3 {
    font-size: 2.4rem;
    margin-bottom: 0;
    padding-bottom: 10px;
}

  .page_text {
    text-align: left;
}

  .section_text {
    padding-top: 20px;
    text-align: left;
}

  .introduce_box_in .left .ilist_left {
    padding: 60px 13px 30px;
}

  .introduce_box_in .right .ilist_left {
    padding: 60px 13px 30px;
}

  .introduce_box_in .ilist_in .ilist_left p {
    font-size: 1.6rem;
}

  .common_box {
    margin-top: 80px;
}

  .common_box ul li {
    margin-bottom: 60px;
}

  .common_box .ilist_in .title_area {
    padding-left: 0;
}

  .common_box .ilist_in .title_number {
    font-size: 4.8rem;
    top: -50px;
}

  .merit_area .merit_box ul li {
    text-align: left;
    padding: 30px 13px;
}

  .each_box .ilist_left::before {
    width: 150px;
    height: 150px;
    left: calc(50% - 75px);
}

  .each_box .left .ilist_left {
    padding: 20px 20px 180px 20px;
}

  .each_function_box ul {
    margin-top: 50px;
}

  .each_function_box p {
    text-align: left;
}
}

@media only screen and (max-width: 450px) {
  .contact_box {
    padding: 40px 15px 50px;
}
}

@media only screen and (max-width: 420px) {
  .contact_area .color_orange {
    max-width: 260px;
    font-size: 1.6rem;
}

  .contact_area .color_orange a {
    padding: 15px 15px 15px 51px;
}

  .contact_area .color_orange a::before {
    width: 20px;
    left: 20px;
}
}


/*** --------------- flow-area --------------- ***/
.flow_box {
  max-width: 1000px;
  margin: 0 auto;
}

.flow_wrap ul {
  position: relative;
  padding: 50px 0px 67px;
}

.flow_wrap ul::before {
  content: '';
  position: absolute;
  background: #007AC3;
  border-radius: 5px;
  width: 4px;
  height: 80%;
  top: calc(10% - -10px);
  left: 42px;
}

.flow_wrap .ilist_in {
  display: flex;
  align-items: center;
  margin-top: 40px;
}

.flow_wrap .ilist_number {
  position: absolute;
  z-index: 1;
}

.flow_wrap .ilist_number p {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  margin: 0;
  padding: 0;
  font-family: Nunito;
  font-size: 4rem;
  line-height: 1;
  color: #ffffff;
}

.flow_wrap .ilist_number p::before {
  content: '';
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  background: #007AC3;
}

.flow_wrap .ilist_text {
  display: flex;
  width: 100%;
  border-radius: 60px;
  background-color: #ffffff;
  padding: 21px 30px 21px 120px;
  gap: 60px;
}

.flow_wrap h3 {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 2.4rem;
}

.flow_wrap .ilist_flow h3 {
  max-width: 233px;
}

.flow_wrap .ilist_flow .btn_box {
  text-align: right;
}

@media only screen and (max-width: 1199px) {
  .flow_wrap ul::before {
    left: 32px;
    z-index: 1;
}

  .flow_wrap .ilist_number p {
  width: 70px;
  height: 70px;
  font-size: 3.2rem;
}

.flow_wrap .ilist_number p::before {
  width: 70px;
  height: 70px;
}

  .flow_wrap .ilist_text {
    padding: 21px 20px 21px 90px;
    gap: 30px;
}
}

@media only screen and (max-width: 991px) {
  .flow_wrap ul::before {
    left: 52px;
}

  .flow_wrap .ilist_number {
    left: 20px;
}

  .flow_wrap .ilist_text {
    flex-flow: row wrap;
    border-radius: 20px;
    padding-left: 110px;
    gap: 20px 70px;
}
}
