@charset "UTF-8";
/*****************/
/**** reset *****/
/*****************/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

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

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

html {
  font-size: 62.5%;
}

body {
  color: black;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 500px) {
  body.active {
    overflow: hidden;
  }
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.6s ease;
}
a:hover {
  opacity: 0.6;
}

ul {
  padding: 0;
}
ul li {
  list-style: none;
}

img {
  height: auto;
}

.wp-block-table td {
  border: none;
}

.wpcf7-list-item {
  display: block;
}

.wpcf7-spinner {
  display: none;
}

table {
  display: block;
  border-collapse: collapse;
}
table tbody {
  display: block;
}
table tbody tr {
  display: flex;
}
table tbody tr th {
  text-align: left;
}
table tbody tr td {
  line-height: normal;
}

input[type=submit] {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

.desc {
  line-height: 1.6;
}

.wpcf7-not-valid-tip {
  font-size: 14px;
  transform: translateY(-10px);
}

/*****************/
/**** font   *****/
/*****************/
.eng {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif;
}

/*****************/
/**** animation   *****/
/*****************/
.delay-time02 {
  animation-delay: 0.2s;
}

.delay-time03 {
  animation-delay: 0.3s;
}

.delay-time04 {
  animation-delay: 0.4s;
}

.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time06 {
  animation-delay: 0.6s;
}

.delay-time08 {
  animation-delay: 0.8s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time12 {
  animation-delay: 1.2s;
}

.delay-time14 {
  animation-delay: 1.4s;
}

.delay-time18 {
  animation-delay: 1.8s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time22 {
  animation-delay: 2.2s;
}

.delay-time3 {
  animation-delay: 3s;
}

.delay-time35 {
  animation-delay: 3.5s;
}

.delay-time4 {
  animation-delay: 4s;
}

.delay-time45 {
  animation-delay: 4.5s;
}

.fadeInTrigger,
.fadeUpTrigger,
.loadInTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 2.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeIn,
.loadIn {
  animation-name: fadeInAnime;
  animation-duration: 2.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*****************/
/****   parts   *****/
/*****************/
@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  a[href*=tel] {
    pointer-events: none;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
  }
  .inner-container {
    padding-left: 0;
    padding-right: 0;
  }
  .outer-container {
    max-width: 1390px;
  }
  .page-header {
    padding-top: 100px;
  }
  .page-header__container {
    max-width: 1390px;
  }
  .breadcrumb {
    position: relative;
  }
  .breadcrumb-container {
    max-width: 1390px;
  }
  .breadcrumb-list {
    padding: 0;
    display: flex;
    align-content: end;
  }
  .breadcrumb-list__item {
    font-size: 12px;
    color: white;
    line-height: 1.6;
    display: flex;
    align-items: center;
    margin-right: 16px;
  }
  .breadcrumb-list__item.child {
    color: black;
  }
  .breadcrumb-list__item.child::after {
    border-color: black;
  }
  .breadcrumb-list__item.child a {
    color: black;
  }
  .breadcrumb-list__item::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 16px;
    margin-top: 2px;
  }
  .breadcrumb-list__item:last-child {
    margin-right: 0;
  }
  .breadcrumb-list__item:last-child:after {
    display: none;
  }
  .breadcrumb-list__item a {
    color: white;
  }
  .page-section__ttl {
    font-size: 38px;
    font-weight: bold;
    text-align: center;
  }
  .page-section__ttl span {
    display: block;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 20px;
  }
  .page-sub-ttl {
    display: flex;
    font-size: 24px;
    align-items: center;
    font-weight: 500;
  }
  .page-sub-ttl:before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    background-color: #0059A3;
    margin-right: 48px;
  }
  .page-faq-list {
    margin-top: 40px;
  }
  .page-faq-item {
    background-color: white;
    border-radius: 16px;
    margin-bottom: 24px;
  }
  .page-faq-item:last-child {
    margin-bottom: 0;
  }
  .page-faq-q {
    padding: 30px 70px;
    font-size: 20px;
    color: #0059A3;
    line-height: 1.6;
    position: relative;
    cursor: pointer;
  }
  .page-faq-q::before {
    content: "";
    width: 24px;
    height: 1px;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    right: 70px;
    transform: translateY(-50%);
  }
  .page-faq-q::after {
    content: "";
    width: 1px;
    height: 24px;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    right: 82px;
    transform: translateY(-50%);
  }
  .page-faq-q.active:after {
    display: none;
  }
  .page-faq-a {
    padding: 30px;
    padding-top: 0;
    font-size: 16px;
    line-height: 1.6;
  }
  .page-faq-cta {
    margin: 47px auto 0;
    width: 446px;
    height: 61px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: #0059A3;
    border-radius: 42px;
    background-color: white;
    border: 1px solid #0059A3;
  }
  .page-faq-cta:hover {
    opacity: 1;
    color: white;
    border-color: white;
    background-color: #0059A3;
  }
  .page-faq-cta:hover::after {
    border-color: white;
  }
  .page-faq-cta::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  .common-cta {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
  }
  .common-cta__item {
    flex-shrink: 0;
    width: 460px;
  }
  .common-cta__link {
    height: 68px;
    border-radius: 33px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: white;
    border: 1px solid white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  }
  .common-cta__link img {
    margin-right: 24px;
  }
  .common-cta__link.item01 {
    background-color: #3F94EA;
  }
  .common-cta__link.item01 img {
    width: 21px;
  }
  .common-cta__link.item02 {
    background-color: #EF6528;
  }
  .common-cta__link.item02 img {
    width: 20px;
  }
  .case-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .case-list__item {
    flex-shrink: 0;
  }
  .case-list__link {
    height: 361px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
  }
  .case-list__link:hover {
    opacity: 1;
  }
  .case-list__link:hover .case-list__thumb {
    transform: scale(1.1);
  }
  .case-list__link:hover .case-list__arrow {
    transform: translateX(4px) rotate(45deg);
  }
  .case-list__thumb {
    transition: all 0.6s ease;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
  }
  .case-list__main {
    position: relative;
    min-height: 200px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .case-list__ttl {
    color: white;
    font-size: 24px;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .case-list__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
  }
  .case-list__cats__item {
    border: 1px solid #FFFFFF;
    border-radius: 18px;
    padding: 8px 24px;
    font-size: 14px;
    color: white;
  }
  .case-list__arrow {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 37px;
    right: 37px;
    transition: all 0.6s ease;
  }
  .related__list {
    display: flex;
    gap: 24px;
  }
  .related__item {
    flex-shrink: 0;
  }
  .related__link {
    flex-shrink: 0;
    height: 102px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 20px;
    text-align: center;
    font-weight: 400;
    color: #0059A3;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: white;
    border: 1px solid #0059A3;
  }
  .related__link span {
    display: block;
    margin-top: 16px;
    font-size: 16px;
  }
  .related__link img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60px;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1230px;
    padding-left: 24px;
    padding-right: 24px;
    position: relative;
  }
  .inner-container {
    padding-left: 0;
    padding-right: 0;
  }
  .page-header {
    padding-top: 65px;
  }
  .page-header__container {
    max-width: 1390px;
  }
  .breadcrumb {
    position: relative;
  }
  .breadcrumb-container {
    max-width: 1390px;
  }
  .breadcrumb-list {
    padding: 0;
    display: flex;
    align-content: end;
    gap: 16px;
    flex-wrap: wrap;
  }
  .breadcrumb-list__item {
    font-size: 12px;
    color: white;
    line-height: 1.6;
    display: flex;
    align-items: center;
  }
  .breadcrumb-list__item.child {
    color: black;
  }
  .breadcrumb-list__item.child::after {
    border-color: black;
  }
  .breadcrumb-list__item.child a {
    color: black;
  }
  .breadcrumb-list__item::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 16px;
    margin-top: 2px;
  }
  .breadcrumb-list__item:last-child {
    margin-right: 0;
  }
  .breadcrumb-list__item:last-child:after {
    display: none;
  }
  .breadcrumb-list__item:last-child {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .breadcrumb-list__item a {
    color: white;
  }
  .page-section__ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .page-section__ttl span {
    display: block;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px;
  }
  .page-sub-ttl {
    display: flex;
    font-size: 18px;
    text-align: center;
    font-weight: 500;
  }
  .page-faq-list {
    margin-top: 40px;
  }
  .page-faq-item {
    background-color: white;
    border-radius: 8px;
    margin-bottom: 24px;
  }
  .page-faq-item:last-child {
    margin-bottom: 0;
  }
  .page-faq-q {
    padding: 32px 34px 16px;
    font-size: 15px;
    color: #0059A3;
    line-height: 1.6;
    position: relative;
    font-weight: bold;
    cursor: pointer;
  }
  .page-faq-q::before {
    content: "";
    width: 18px;
    height: 1px;
    background-color: #0059A3;
    position: absolute;
    top: 25px;
    right: 16px;
    transform: translateY(-50%);
  }
  .page-faq-q::after {
    content: "";
    width: 1px;
    height: 18px;
    background-color: #0059A3;
    position: absolute;
    top: 25px;
    right: 24px;
    transform: translateY(-50%);
  }
  .page-faq-q.active:after {
    display: none;
  }
  .page-faq-a {
    padding: 30px;
    padding-top: 0;
    font-size: 14px;
    line-height: 1.6;
  }
  .page-faq-cta {
    margin: 26px auto 0;
    width: 280px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #0059A3;
    border-radius: 42px;
    background-color: white;
    border: 1px solid #0059A3;
  }
  .page-faq-cta:hover {
    opacity: 1;
    color: white;
    border-color: white;
    background-color: #0059A3;
  }
  .page-faq-cta:hover::after {
    border-color: white;
  }
  .page-faq-cta::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  .common-cta {
    position: relative;
  }
  .common-cta__item {
    margin: 0 auto;
    width: 327px;
    margin-bottom: 24px;
  }
  .common-cta__item:last-child {
    margin-bottom: 0;
  }
  .common-cta__link {
    height: 48px;
    border-radius: 33px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: white;
    border: 1px solid white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  }
  .common-cta__link img {
    margin-right: 24px;
  }
  .common-cta__link.item01 {
    background-color: #3F94EA;
  }
  .common-cta__link.item01 img {
    width: 19px;
  }
  .common-cta__link.item02 {
    background-color: #EF6528;
  }
  .common-cta__link.item02 img {
    width: 20px;
  }
  .case-list {
    width: 100%;
  }
  .case-list__item {
    margin: 0 auto 24px;
  }
  .case-list__item:last-child {
    margin-bottom: 0;
  }
  .case-list__link {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
  }
  .case-list__link:hover {
    opacity: 1;
  }
  .case-list__link:hover .case-list__thumb {
    transform: scale(1.1);
  }
  .case-list__link:hover .case-list__arrow {
    transform: translateX(4px) rotate(45deg);
  }
  .case-list__thumb {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    transition: all 0.6s ease;
  }
  .case-list__main {
    position: relative;
    min-height: 150px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    padding-left: 34px;
    padding-right: 34px;
    padding-bottom: 25px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .case-list__ttl {
    color: white;
    font-size: 16px;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 50px;
  }
  .case-list__arrow {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 25px;
    right: 25px;
    transition: all 0.6s ease;
  }
  .case-list__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
  }
  .case-list__cats__item {
    border: 1px solid #FFFFFF;
    border-radius: 18px;
    padding: 8px 16px;
    font-size: 10px;
    color: white;
  }
  .related__item {
    margin: 0 auto 16px;
    width: 327px;
  }
  .related__item:last-child {
    margin-bottom: 0;
  }
  .related__link {
    height: 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 16px;
    text-align: center;
    font-weight: 400;
    color: #0059A3;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background-color: white;
    border: 1px solid #0059A3;
  }
  .related__link span {
    display: none;
    margin-top: 16px;
    font-size: 16px;
  }
  .related__link img {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 46px;
  }
}
/*****************/
/****  page  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page .page {
    padding-bottom: 70px;
  }
  #page .page-ttl {
    font-weight: bold;
    text-align: center;
    margin-top: 70px;
  }
  #page .page-content {
    margin-top: 50px;
  }
  #page .page-content > * {
    margin-bottom: 30px;
    line-height: normal;
  }
  #page .page-content ul {
    padding-left: 1.5em;
    margin-left: 0;
  }
  #page .page-content ul li {
    list-style: disc;
  }
  #page .page-content ol {
    padding-left: 1.5em;
    margin-left: 0;
  }
  #page .page-content ol li {
    list-style: decimal;
  }
}
/*****************/
/*** hamburger-menu  ***/
/*****************/
@media screen and (min-width: 1320px) {
  .hamburger-menu {
    display: none !important;
  }
  .sp-nav {
    display: none !important;
  }
}
@media screen and (max-width: 1319px) {
  .hamburger-menu {
    display: block !important;
    width: 50px;
    height: 50px;
    position: fixed;
    border: none;
    background: transparent;
    appearance: none;
    padding: 0;
    cursor: pointer;
    top: 4px;
    right: 11px;
    z-index: 1500;
  }
  .hamburger-menu__bar {
    display: inline-block;
    width: 44%;
    height: 2px;
    background: white;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s;
  }
  .hamburger-menu__bar:first-child {
    top: 16px;
  }
  .hamburger-menu__bar:nth-child(2) {
    top: 24px;
  }
  .hamburger-menu__bar:last-child {
    top: 32px;
  }
  .hamburger-menu--open .hamburger-menu__bar {
    top: 50%;
  }
  .hamburger-menu--open .hamburger-menu__bar:first-child {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  .hamburger-menu--open .hamburger-menu__bar:last-child {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
  .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
    display: none;
  }
  /*****************/
  /*** sp-nav  ***/
  /*****************/
  .sp-nav {
    display: block;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    max-width: 400px;
    width: 100%;
    height: 100vh;
    background-color: rgb(255, 255, 255);
    padding: 80px 28px 23px;
    transform: translateX(100%);
    transition: all 0.6s ease;
    background: #1C1C1C 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1019607843);
    backdrop-filter: blur(30px);
  }
}
@media screen and (max-width: 1319px) and (max-width: 500px) {
  .sp-nav {
    overflow-y: scroll;
  }
}
@media screen and (max-width: 1319px) {
  .sp-nav.active {
    transform: translateX(0);
  }
  .sp-nav-logo {
    position: absolute;
    width: 183px;
    top: 15px;
    left: 18px;
  }
  .sp-menu__link {
    padding: 20px 0;
    padding-left: 20px;
    font-size: 18px;
    color: white;
    border-bottom: 1px solid #575552;
  }
  .sp-menu__link.nav-button {
    position: relative;
  }
  .sp-menu__link.nav-button::before {
    content: "";
    display: block;
    width: 18px;
    height: 1px;
    background-color: white;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .sp-menu__link.nav-button::after {
    content: "";
    display: block;
    width: 1px;
    height: 18px;
    background-color: white;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
  }
  .sp-menu__link.nav-button.active:after {
    display: none;
  }
  .sp-child {
    padding: 24px 20px;
  }
  .sp-child__item {
    margin-bottom: 20px;
  }
  .sp-child__link {
    font-size: 14px;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sp-child__link:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
  }
  .nav-banner {
    margin-top: 31px;
  }
  .nav-banner__item {
    margin-bottom: 24px;
  }
  .nav-banner__button {
    border: 1px solid #FFFFFF;
    border-radius: 33px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: white;
  }
  .nav-banner__button img {
    margin-right: 24px;
  }
  .nav-banner__button.contact {
    background-color: #EF6528;
  }
  .nav-banner__button.contact img {
    width: 20px;
  }
  .nav-banner__button.document {
    background-color: #3F94EA;
  }
  .nav-banner__button.document img {
    width: 22px;
  }
  .nav-banner__access {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    color: white;
  }
  .nav-banner__access img {
    flex-shrink: 0;
    width: 14px;
    margin-right: 10px;
  }
}
/*****************/
/*** header ***/
/*****************/
@media screen and (min-width: 1320px) {
  #header {
    height: 80px;
    /* UI Properties */
    background: #1C1C1C 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1019607843);
    opacity: 1;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }
  #header .header-container {
    height: 100%;
    margin: 0 auto;
    max-width: 1390px;
    padding-left: 15px;
    padding-right: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header .header-logo {
    flex-shrink: 0;
    width: 306px;
    transition: none;
  }
  #header .header-logo img {
    width: 100%;
  }
  #header .header-nav {
    width: 100%;
    position: relative;
    height: 100%;
    margin-right: 6%;
    max-width: 900px;
  }
  #header .header-nav__line {
    display: block;
    width: 110px;
    height: 6px;
    background-color: #52BEF2;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.6s ease;
  }
  #header .header-nav__line.service {
    left: 140px;
    width: 125px;
  }
  #header .header-nav__line.solution {
    left: 295px;
    width: 125px;
  }
  #header .header-nav__line.case {
    left: 450px;
    width: 50px;
  }
  #header .header-nav__line.post {
    left: 530px;
    width: 65px;
  }
  #header .header-nav__line.company {
    left: 625px;
    width: 80px;
  }
  #header .header-nav__line.contact {
    left: 845px;
    width: 40px;
  }
  #header .header-menu {
    height: 100%;
    display: flex;
    align-items: center;
  }
  #header .header-menu__item {
    margin-left: 30px;
    padding-left: 10px;
    padding-right: 10px;
    height: 100%;
  }
  #header .header-menu__item:first-child {
    margin-left: 0;
  }
  #header .header-menu__link {
    height: 100%;
    font-size: 15px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #header .header-menu__link img {
    flex-shrink: 0;
    width: 20px;
  }
}
@media screen and (max-width: 1319px) {
  #header {
    height: 60px;
    /* UI Properties */
    background: #1C1C1C 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1019607843);
    opacity: 1;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }
  #header .header-container {
    height: 100%;
    margin: 0 auto;
    max-width: 1390px;
    padding-left: 18px;
    padding-right: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header .header-logo {
    flex-shrink: 0;
    width: 184px;
    transition: none;
  }
  #header .header-logo img {
    width: 100%;
  }
  #header .header-nav {
    display: none;
  }
}

/*****************/
/*** footer ***/
/*****************/
@media screen and (min-width: 1230px) {
  #footer {
    padding-top: 70px;
    background-color: #212121;
  }
  #footer .footer-ttl {
    font-size: 24px;
    color: white;
    text-align: center;
  }
  #footer .footer-catch {
    margin-top: 20px;
    font-size: 32px;
    color: white;
    font-weight: 600;
    text-align: center;
  }
  #footer .footer-list {
    margin-top: 30px;
    display: flex;
    justify-content: center;
  }
  #footer .footer-list__item {
    border-right: 2px solid #373737;
    padding: 30px;
  }
  #footer .footer-list__item:last-child {
    border: none;
  }
  #footer .footer-list__tel {
    font-size: 38px;
    color: white;
    font-weight: 500;
    text-align: center;
  }
  #footer .footer-list__time {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 500;
    color: white;
    text-align: center;
  }
  #footer .footer-list__button {
    width: 332px;
    border: 1px solid #FFFFFF;
    border-radius: 33px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    color: white;
  }
  #footer .footer-list__button img {
    margin-right: 24px;
  }
  #footer .footer-list__button.contact {
    background-color: #EF6528;
  }
  #footer .footer-list__button.contact img {
    width: 20px;
  }
  #footer .footer-list__button.document {
    background-color: #3F94EA;
  }
  #footer .footer-list__button.document img {
    width: 22px;
  }
  #footer .footer-list__button.solution {
    width: 608px;
  }
  #footer .footer-list__button.solution::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #footer .footer-service__list {
    margin-top: 44px;
    display: flex;
    justify-content: space-between;
  }
  #footer .footer-service__item {
    flex-shrink: 0;
    width: 379px;
  }
  #footer .footer-service__link {
    height: 148px;
    border-radius: 16px;
    border: 7px solid;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #footer .footer-service__link.item01 {
    border-color: #0059A3;
  }
  #footer .footer-service__link.item02 {
    border-color: #ED7328;
  }
  #footer .footer-service__link.item03 {
    border-color: #1CACAC;
  }
  #footer .footer-service__link p {
    font-size: 22px;
    font-weight: bold;
  }
  #footer .footer-service__link p.item01 {
    color: #0059A3;
  }
  #footer .footer-service__link p.item02 {
    color: #ED7328;
  }
  #footer .footer-service__link p.item03 {
    color: #1CACAC;
  }
  #footer .footer-service__link p span {
    margin-bottom: 10px;
    display: block;
    font-size: 26px;
  }
  #footer .footer-service__img {
    flex-shrink: 0;
    margin-right: 40px;
  }
  #footer .footer-service__img.item01 {
    width: 73px;
  }
  #footer .footer-service__img.item02 {
    width: 60px;
  }
  #footer .footer-service__img.item03 {
    width: 64px;
    margin-right: 20px;
  }
  #footer .footer-main {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
  }
  #footer .footer-main__left {
    flex-shrink: 0;
    width: 358px;
  }
  #footer .footer-main__right {
    width: 100%;
    margin-left: 1%;
  }
  #footer .footer-sns {
    margin-top: 37px;
    display: flex;
    align-items: center;
  }
  #footer .footer-sns__item {
    margin-right: 18px;
  }
  #footer .footer-sns__item.fb {
    width: 25px;
  }
  #footer .footer-sns__item.x {
    width: 23px;
  }
  #footer .footer-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  #footer .footer-menu__item {
    margin-left: 40px;
  }
  #footer .footer-menu__item:first-child {
    margin-left: 0;
  }
  #footer .footer-menu__link {
    font-size: 16px;
    font-weight: bold;
    color: white;
  }
  #footer .footer-nav {
    margin-top: 25px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #footer .footer-nav__item {
    margin-left: 24px;
  }
  #footer .footer-nav__link {
    font-size: 14px;
    color: white;
  }
  #footer .footer-copy {
    margin-top: 23px;
    padding-bottom: 12px;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
  }
}
@media screen and (max-width: 1229px) {
  #footer {
    padding-top: 42px;
    background-color: #212121;
  }
  #footer .footer-ttl {
    font-size: 14px;
    color: white;
    text-align: center;
  }
  #footer .footer-catch {
    margin-top: 20px;
    font-size: 18px;
    color: white;
    font-weight: 600;
    text-align: center;
  }
  #footer .footer-list {
    margin-top: 40px;
  }
  #footer .footer-list__item {
    width: 330px;
    margin: 0 auto 25px;
  }
  #footer .footer-list__item:last-child {
    margin-bottom: 0;
  }
  #footer .footer-list__tel {
    font-size: 32px;
    color: white;
    font-weight: 500;
    text-align: center;
  }
  #footer .footer-list__time {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: white;
    text-align: center;
  }
  #footer .footer-list__button {
    border: 1px solid #FFFFFF;
    border-radius: 33px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: white;
  }
  #footer .footer-list__button img {
    margin-right: 14px;
  }
  #footer .footer-list__button.contact {
    background-color: #EF6528;
  }
  #footer .footer-list__button.contact img {
    width: 20px;
  }
  #footer .footer-list__button.document {
    background-color: #3F94EA;
  }
  #footer .footer-list__button.document img {
    width: 22px;
  }
  #footer .footer-list__button.solution {
    width: 326px;
  }
  #footer .footer-list__button.solution::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #footer .footer-service__list {
    margin-top: 44px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
  }
  #footer .footer-service__item {
    flex-shrink: 0;
    width: 327px;
  }
  #footer .footer-service__link {
    height: 70px;
    border-radius: 8px;
    border: 4px solid;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #footer .footer-service__link.item01 {
    border-color: #0059A3;
  }
  #footer .footer-service__link.item02 {
    border-color: #ED7328;
  }
  #footer .footer-service__link.item03 {
    border-color: #1CACAC;
  }
  #footer .footer-service__link p {
    font-size: 16px;
    font-weight: bold;
  }
  #footer .footer-service__link p.item01 {
    color: #0059A3;
  }
  #footer .footer-service__link p.item02 {
    color: #ED7328;
  }
  #footer .footer-service__link p.item03 {
    color: #1CACAC;
  }
  #footer .footer-service__link p span {
    font-size: 18px;
  }
  #footer .footer-service__img {
    flex-shrink: 0;
    margin-right: 16px;
  }
  #footer .footer-service__img.item01 {
    width: 41px;
  }
  #footer .footer-service__img.item02 {
    width: 30px;
  }
  #footer .footer-service__img.item03 {
    width: 30px;
  }
  #footer .footer-main {
    margin-top: 45px;
  }
  #footer .footer-main__left {
    display: none;
  }
  #footer .footer-main__right {
    width: 100%;
  }
  #footer .footer-menu {
    display: none;
  }
  #footer .footer-nav {
    margin-left: 24px;
  }
  #footer .footer-nav__item {
    margin-bottom: 16px;
  }
  #footer .footer-nav__item:last-child {
    margin-bottom: 0;
  }
  #footer .footer-nav__link {
    font-size: 12px;
    color: white;
  }
  #footer .footer-copy {
    margin-top: 48px;
    padding-bottom: 23px;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 10px;
  }
}

/*****************/
/*** totop ***/
/*****************/
@media screen and (min-width: 769px) {
  #totop {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 17px;
    color: white;
    position: fixed;
    bottom: 70px;
    right: 70px;
    z-index: 1000;
    transform: translateY(300px);
    background-color: #212121;
    padding: 20px;
  }
  #totop.active {
    transition: all 0.6s ease;
    transform: translateY(0);
  }
  #totop:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(-45deg);
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  #totop {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 12px;
    color: white;
    position: fixed;
    bottom: 10px;
    right: 20px;
    transform: translateY(300px);
    background-color: #212121;
    padding: 20px;
    z-index: 1000;
  }
  #totop.active {
    transition: all 0.6s ease;
    transform: translateY(0);
  }
  #totop:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(-45deg);
    margin-bottom: 5px;
  }
}

/*****************/
/*** tool ***/
/*****************/
@media screen and (min-width: 769px) {
  #tool {
    position: fixed;
    top: 30%;
    right: 0;
    border-radius: 16px 0px 0px 16px;
    background-color: #DAD8D7;
    overflow: hidden;
  }
  #tool .tool-item {
    width: 100px;
  }
  #tool .tool-link {
    height: 95px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: black;
    cursor: pointer;
  }
  #tool .tool-link img {
    margin-bottom: 10px;
    width: 36px;
  }
  #tool .tool-link:hover {
    opacity: 1;
    background-color: white;
  }
}

/*****************/
/*** search-bar ***/
/*****************/
.search-bar {
  position: fixed;
  right: 0;
  top: 30%;
  height: 95px;
  background-color: white;
  border-radius: 16px 0 0 16px;
  transform: translateX(100%);
  transition: all 0.6s ease;
  padding: 15px 14px;
}
.search-bar.active {
  transform: translateX(0);
}
.search-bar span {
  display: block;
  text-align: end;
  font-size: 16px;
  cursor: pointer;
  color: #0059A3;
  font-weight: bold;
}
.search-bar form {
  margin-top: 10px;
}
.search-bar form > div {
  position: relative;
}
.search-bar form > div input[type=text] {
  border-radius: 18px;
  background-color: #F4F4F4;
  border: 0.5px solid rgba(0, 0, 0, 0.1);
  padding: 8px 20px;
  padding-left: 10px;
  height: 36px;
  width: 195px;
  font-size: 14px;
}
.search-bar form > div input[type=submit] {
  color: transparent;
  background-color: transparent;
  border: none;
  width: 16px;
  height: 18px;
  display: block;
  background-image: url(../image/serach-icon.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

/*****************/
/*** chatbot ***/
/*****************/
.mwai-chatbot-container .mwai-icon {
  display: none;
}
.mwai-chatbot-container .mwai-window-box {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  padding: 40px;
}
.mwai-chatbot-container .mwai-window-box .mwai-header {
  height: 0;
  overflow: hidden;
}
.mwai-chatbot-container .mwai-window-box .mwai-header .mwai-close-button::before, .mwai-chatbot-container .mwai-window-box .mwai-header .mwai-close-button::after {
  background-color: transparent !important;
}
.mwai-chatbot-container .mwai-window-box .my-header {
  display: flex;
  align-items: center;
  position: relative;
}
.mwai-chatbot-container .mwai-window-box .my-header img {
  width: 55px;
  margin-right: 16px;
}
.mwai-chatbot-container .mwai-window-box .my-header__title {
  font-size: 14px;
  color: black;
}
.mwai-chatbot-container .mwai-window-box .my-header__title span {
  font-size: 24px;
  color: #0059A3;
  margin-bottom: 10px;
  display: block;
}
.mwai-chatbot-container .mwai-window-box .my-header__close {
  position: absolute;
  color: #0059A3;
  font-size: 30px;
  top: -15px;
  right: -15px;
  cursor: pointer;
}
.mwai-chatbot-container .mwai-window-box .mwai-body {
  margin-top: 19px;
  background-color: #EDF2F7;
  border-radius: 16px;
  padding: 28px 32px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-ai {
  background-color: transparent;
  padding: 0;
  margin-bottom: 16px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-ai > div {
  background-color: white;
  border: 1px solid #C3CFDB;
  border-radius: 0 16px 16px 16px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  padding: 16px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-ai > div .mwai-text {
  color: black;
  font-size: 14px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-user {
  margin-bottom: 16px;
  background-color: transparent;
  padding: 0;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-user .mwai-name {
  display: none;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-user > div {
  background-color: #0059A3;
  border-radius: 16px 16px 0 16px;
  border: 1px solid #C3CFDB;
  padding: 16px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-reply.mwai-error {
  background-color: white;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-input {
  border-top: none;
  align-items: center;
  height: 105px;
  position: relative;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-input .mwai-input-text {
  background-color: transparent;
  padding: 0;
  min-width: 250px;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-input .mwai-input-text textarea {
  border: 1px solid #C3CFDB;
  border-radius: 24px;
  padding: 14px 20px;
  padding-right: 70px;
  color: black;
  background-color: white;
  width: 100%;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-input .mwai-input-text textarea::placeholder {
  color: black;
  opacity: 0.5;
}
.mwai-chatbot-container .mwai-window-box .mwai-body .mwai-input button {
  position: absolute;
  background-color: #0059A3;
  border: none;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  border-radius: 24px;
}

@media (max-width: 760px) {
  .mwai-chatgpt-theme.mwai-window.mwai-open {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-window-box {
    padding: 40px;
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-body {
    background-color: #EDF2F7;
    border-radius: 16px !important;
    padding: 20px;
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-body .mwai-input {
    background-color: transparent;
    height: auto;
    padding: 0;
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-body .mwai-input .mwai-input-text {
    min-width: auto;
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-body .mwai-input .mwai-input-text textarea {
    padding: 16px;
  }
  .mwai-chatgpt-theme.mwai-window.mwai-open .mwai-body .mwai-input button {
    position: relative;
    transform: none;
    top: auto;
    right: auto;
  }
}
/*****************/
/**** front   *****/
/*****************/
#front {
  /*****************/
  /**** parts  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front .section-ttl {
    font-size: 42px;
    font-weight: 400;
  }
  #front .link-button {
    border: 1px solid #0059A3;
    border-radius: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    font-size: 18px;
    font-weight: 500;
    color: #0059A3;
  }
  #front .link-button:after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 26px;
  }
  #front .link-button:hover {
    transition: all 0.6s ease;
    background-color: #0059A3;
    color: white;
  }
  #front .link-button:hover:after {
    border-color: white;
  }
  #front .article-list__item {
    margin-bottom: 30px;
    border-bottom: 1px solid #C6C6C6;
  }
  #front .article-list__item:last-child {
    margin-bottom: 0;
  }
  #front .article-list__link {
    padding: 0 6% 30px;
    display: flex;
    align-items: center;
  }
  #front .article-list__info {
    display: flex;
    align-items: center;
    min-width: 277px;
  }
  #front .article-list__time {
    font-size: 16px;
    font-weight: 300;
    margin-right: 22%;
    color: black;
  }
  #front .article-list__cat {
    flex-shrink: 0;
    padding: 10px;
    border-radius: 4px;
    min-width: 135px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
  }
  #front .article-list__cat.cat01 {
    background-color: #0059A3;
  }
  #front .article-list__cat.cat02 {
    background-color: #52BEF2;
  }
  #front .article-list__ttl {
    color: black;
    margin-left: 4%;
    max-width: 800px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  #front .section-ttl {
    font-size: 24px;
    font-weight: 400;
  }
  #front .link-button {
    border: 1px solid #0059A3;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    font-size: 14px;
    font-weight: 500;
    color: #0059A3;
  }
  #front .link-button:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #front .link-button:hover {
    transition: all 0.6s ease;
    background-color: #0059A3;
    color: white;
  }
  #front .link-button:hover:after {
    border-color: white;
  }
  #front .article-list__item {
    margin-bottom: 20px;
    border-bottom: 1px solid #C6C6C6;
  }
  #front .article-list__item:last-child {
    margin-bottom: 0;
  }
  #front .article-list__link {
    padding-bottom: 27px;
  }
  #front .article-list__info {
    display: flex;
    align-items: center;
  }
  #front .article-list__time {
    font-size: 13px;
    font-weight: 300;
    margin-right: 20px;
    color: black;
  }
  #front .article-list__cat {
    flex-shrink: 0;
    padding: 10px;
    border-radius: 4px;
    min-width: 110px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
  }
  #front .article-list__cat.cat01 {
    background-color: #0059A3;
  }
  #front .article-list__cat.cat02 {
    background-color: #52BEF2;
  }
  #front .article-list__ttl {
    color: black;
    margin-top: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
  }
}
#front {
  /*****************/
  /**** hero   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #hero {
    height: 700px;
    background-image: url(../image/top_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #hero .container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
  }
  #front #hero .hero-catch {
    font-size: 110px;
    line-height: 81px;
    color: white;
    font-weight: 900;
    margin-bottom: 52px;
  }
  #front #hero .hero-sub {
    font-size: 56px;
    line-height: 81px;
    color: white;
    margin-bottom: 97px;
    font-weight: bold;
  }
}
@media screen and (max-width: 768px) {
  #front #hero {
    height: 430px;
    background-image: url(../image/top_main_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
  }
  #front #hero .container {
    margin: auto;
    padding-top: 60px;
  }
  #front #hero .hero-catch {
    font-size: 36px;
    line-height: 52px;
    color: white;
    font-weight: 900;
    margin-bottom: 15px;
  }
  #front #hero .hero-sub {
    font-size: 20px;
    line-height: 29px;
    color: white;
    font-weight: bold;
  }
}
#front {
  /*****************/
  /**** topics   *****/
  /*****************/
}
@media screen and (min-width: 1100px) {
  #front #topics {
    padding-top: 64px;
    padding-bottom: 60px;
  }
  #front #topics .topics-ttl {
    text-align: center;
  }
  #front #topics .topics-article {
    margin-top: 60px;
  }
  #front #topics .topics-list {
    margin-top: 80px;
    display: flex;
    justify-content: center;
  }
  #front #topics .topics-list__item {
    width: 25%;
  }
  #front #topics .topics-list__link {
    height: 892px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  #front #topics .topics-list__link.item01 {
    background-image: url(../image/topics-list__bg01.jpg);
  }
  #front #topics .topics-list__link.item02 {
    background-image: url(../image/topics-list__bg02.jpg);
  }
  #front #topics .topics-list__link.item03 {
    background-image: url(../image/topics-list__bg03.jpg);
  }
  #front #topics .topics-list__link.item04 {
    background-image: url(../image/topics-list__bg04.jpg);
  }
  #front #topics .topics-list__inner {
    backdrop-filter: blur(5px);
    background-color: rgba(255, 255, 255, 0.1);
    padding: 72px 10px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 305px;
  }
  #front #topics .topics-list__texts p {
    color: white;
    text-align: center;
  }
  #front #topics .topics-list__sub {
    font-size: 18px;
    font-weight: 500;
  }
  #front #topics .topics-list__ttl {
    margin-top: 16px;
    font-size: 34px;
    font-weight: 900;
  }
  #front #topics .topics-list__lead {
    margin-top: 16px;
    font-size: 16px;
  }
  #front #topics .topics-list__click {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #front #topics .topics-list__click .eng {
    color: white;
    font-size: 20px;
    font-weight: 300;
  }
  #front #topics .topics-list__click .arrow {
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 16px;
  }
}
@media screen and (max-width: 1099px) {
  #front #topics {
    padding-top: 32px;
  }
  #front #topics .topics-ttl {
    text-align: center;
  }
  #front #topics .topics-article {
    margin-top: 28px;
  }
  #front #topics .topics-list {
    margin-top: 48px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #front #topics .topics-list__item {
    width: 50%;
  }
  #front #topics .topics-list__link {
    aspect-ratio: 187/215;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
  }
  #front #topics .topics-list__link.item01 {
    background-image: url(../image/topics-list__bg01SP.jpg);
  }
  #front #topics .topics-list__link.item02 {
    background-image: url(../image/topics-list__bg02SP.jpg);
  }
  #front #topics .topics-list__link.item03 {
    background-image: url(../image/topics-list__bg03SP.jpg);
  }
  #front #topics .topics-list__link.item04 {
    background-image: url(../image/topics-list__bg04SP.jpg);
  }
  #front #topics .topics-list__inner {
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #front #topics .topics-list__texts p {
    text-align: center;
    color: #F4F4F4;
    text-shadow: 0px 0px 6px rgba(85, 122, 154, 0.5019607843);
  }
  #front #topics .topics-list__sub {
    font-size: 3.2vw;
    font-weight: 500;
  }
  #front #topics .topics-list__ttl {
    margin-top: 10px;
    font-size: 4.8vw;
    font-weight: 900;
  }
  #front #topics .topics-list__lead {
    display: none;
  }
  #front #topics .topics-list__click {
    margin-top: 15px;
  }
  #front #topics .topics-list__click .eng {
    display: none;
  }
  #front #topics .topics-list__click .arrow {
    display: block;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    border-top: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
  }
}
#front {
  /*****************/
  /**** service   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #service {
    padding-top: 66px;
    padding-bottom: 62px;
    background-image: url(../image/top_service_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #service .service-ttl {
    text-align: center;
  }
  #front #service .service-list {
    margin: 60px -14px 0;
    display: flex;
    flex-wrap: wrap;
  }
  #front #service .service-list__item {
    margin: 0 14px 28px;
    width: 217px;
  }
  #front #service .service-list__link {
    background: transparent linear-gradient(136deg, #F7F7F7 0%, white 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    border: 3px solid white;
    background: transparent linear-gradient(136deg, #F7F7F7 0%, #FFFFFF 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.063);
    border: 3px solid #FFFFFF;
    border-radius: 16px;
    flex-shrink: 0;
    height: 217px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: black;
    line-height: 1.6;
    text-align: center;
  }
  #front #service .service-list__link:hover {
    opacity: 1;
    transition: all 0.6s ease;
    transform: translateY(-2px);
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.12);
  }
  #front #service .service-list__link img {
    flex-shrink: 0;
    width: 144px;
  }
}
@media screen and (max-width: 768px) {
  #front #service {
    padding-top: 40px;
    padding-bottom: 24px;
    background-image: url(../image/top_service_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left;
  }
  #front #service .container {
    padding-left: 30px;
    padding-right: 30px;
  }
  #front #service .service-ttl {
    text-align: center;
  }
  #front #service .service-list {
    margin: 24px -8px 0;
    display: flex;
    flex-wrap: wrap;
  }
  #front #service .service-list__item {
    margin: 0 8px 16px;
    width: 148px;
  }
  #front #service .service-list__link {
    background: transparent linear-gradient(136deg, #F7F7F7 0%, white 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    border: 3px solid white;
    background: transparent linear-gradient(136deg, #F7F7F7 0%, #FFFFFF 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.063);
    border: 3px solid #FFFFFF;
    border-radius: 16px;
    flex-shrink: 0;
    height: 148px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    color: black;
    line-height: 1.6;
    text-align: center;
  }
  #front #service .service-list__link:hover {
    opacity: 1;
    transition: all 0.6s ease;
    transform: translateY(-2px);
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.12);
  }
  #front #service .service-list__link img {
    flex-shrink: 0;
    width: 100px;
  }
}
#front {
  /*****************/
  /**** work   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #work {
    padding-top: 100px;
    position: relative;
  }
  #front #work .work-bg {
    position: absolute;
    width: 450px;
    top: 15px;
    right: 50px;
  }
  #front #work .work-main {
    position: relative;
    width: 80%;
    border-radius: 0px 16px 16px 0px;
  }
  #front #work .work-inner {
    position: absolute;
    bottom: 0;
    right: 0;
    backdrop-filter: blur(40px);
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 16px 0px;
    padding: 42px 54px 46px;
    padding-right: 124px;
    width: 611px;
  }
  #front #work .work-top__left {
    flex-shrink: 0;
    width: 110px;
    height: 107px;
    background-color: #777;
  }
  #front #work .work-top__right {
    text-align: center;
  }
  #front #work .work-top__eng {
    font-size: 20px;
    color: #4A4A4A;
  }
  #front #work .work-top__ttl {
    margin-top: 16px;
    font-weight: 900;
    font-size: 38px;
  }
  #front #work .work-box {
    margin-top: 32px;
  }
  #front #work .work-box__ttl {
    font-size: 18px;
  }
  #front #work .work-box__ttl.office {
    color: #0059A3;
  }
  #front #work .work-box__ttl.location {
    color: #35ACE5;
  }
  #front #work .work-box__list {
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
  }
  #front #work .work-box__item {
    margin-right: 20px;
    border-right: 1px solid rgba(0, 0, 0, 0.5);
    margin-bottom: 12px;
  }
  #front #work .work-box__item:nth-child(3), #front #work .work-box__item:nth-child(6), #front #work .work-box__item:last-child {
    border: none;
  }
  #front #work .work-box__link {
    font-size: 16px;
    padding-right: 20px;
    color: black;
  }
  #front #work .work-box__link:hover {
    opacity: 1;
    color: #0059A3;
    font-weight: bold;
  }
  #front #work .work-bottom {
    margin-top: 40px;
    margin-left: 40px;
    display: flex;
    align-items: center;
  }
  #front #work .work-bottom__left {
    flex-shrink: 0;
    width: 118px;
  }
  #front #work .work-bottom__right {
    margin-left: 15px;
    padding-left: 5px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
  }
  #front #work .work-bottom__right:hover {
    opacity: 1;
    transition: all 0.6s ease;
    position: relative;
  }
  #front #work .work-bottom__right:hover::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #0059A3;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #front #work .work-bottom__right p {
    font-size: 16px;
    color: #0059A3;
    font-weight: 500;
  }
  #front #work .work-bottom__right:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  #front #work {
    padding-top: 45px;
    position: relative;
    overflow: hidden;
  }
  #front #work .work-container {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    padding-left: 24px;
    padding-right: 24px;
  }
  #front #work .work-bg {
    position: absolute;
    width: 250px;
    top: 25px;
    right: -50px;
  }
  #front #work .work-main {
    position: relative;
    border-radius: 8px;
    width: 100%;
    margin-top: 23px;
  }
  #front #work .work-top__left {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background-color: #777;
  }
  #front #work .work-top__right {
    text-align: center;
  }
  #front #work .work-top__eng {
    font-size: 14px;
    color: #0A0A0A;
  }
  #front #work .work-top__ttl {
    margin-top: 20px;
    font-weight: 900;
    font-size: 24px;
  }
  #front #work .work-box {
    margin-top: 32px;
  }
  #front #work .work-box__ttl {
    font-size: 18px;
  }
  #front #work .work-box__ttl.office {
    color: #0059A3;
  }
  #front #work .work-box__ttl.location {
    color: #35ACE5;
  }
  #front #work .work-box__list {
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
  }
  #front #work .work-box__item {
    margin-right: 15px;
    border-right: 1px solid rgba(0, 0, 0, 0.5);
    margin-bottom: 12px;
  }
  #front #work .work-box__item:last-child {
    border: none;
  }
  #front #work .work-box__link {
    font-size: 14px;
    padding-right: 15px;
    color: black;
  }
  #front #work .work-box__link:hover {
    opacity: 1;
    color: #0059A3;
    font-weight: bold;
  }
  #front #work .work-bottom {
    margin-top: 20px;
    display: flex;
    align-items: center;
  }
  #front #work .work-bottom__left {
    flex-shrink: 0;
    width: 118px;
  }
  #front #work .work-bottom__right {
    margin-left: 15px;
    padding-left: 5px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
  }
  #front #work .work-bottom__right:hover {
    opacity: 1;
    transition: all 0.6s ease;
    position: relative;
  }
  #front #work .work-bottom__right:hover::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #0059A3;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #front #work .work-bottom__right p {
    font-size: 14px;
    color: #0059A3;
    font-weight: 500;
  }
  #front #work .work-bottom__right:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 30px;
  }
}
#front {
  /*****************/
  /**** recruit   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #recruit {
    margin-top: 140px;
    position: relative;
  }
  #front #recruit .container {
    position: relative;
    padding-top: 79px;
    padding-bottom: 47px;
  }
  #front #recruit .recruit-main {
    position: absolute;
    top: 0;
    right: 0;
    width: 680px;
    border-radius: 16px 0px 0px 16px;
  }
  #front #recruit .recruit-bg {
    position: absolute;
    top: 150px;
    width: 51%;
    left: -20%;
  }
  #front #recruit .recruit-catch {
    margin-top: 25px;
    font-size: 132px;
    font-weight: bold;
    font-style: italic;
    color: #FF2DB2;
    text-shadow: 0px 0px 14px rgba(255, 255, 255, 0.6156862745);
    line-height: 135px;
  }
  #front #recruit .recruit-buttons {
    margin-top: 52px;
  }
  #front #recruit .recruit-buttons__item {
    margin-bottom: 30px;
  }
  #front #recruit .recruit-buttons__item:last-child {
    margin-bottom: 0;
  }
  #front #recruit .recruit-buttons__link {
    width: 450px;
    height: 60px;
    border-radius: 42px;
    border: 1px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 500;
  }
  #front #recruit .recruit-buttons__link:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    margin-left: 20px;
  }
  #front #recruit .recruit-buttons__link.full {
    color: #FF2DB2;
    border-color: #FF2DB2;
    background-color: #FFEBF7;
  }
  #front #recruit .recruit-buttons__link.full:after {
    border-color: #FF2DB2;
  }
  #front #recruit .recruit-buttons__link.part {
    color: black;
    border-color: black;
    background-color: white;
  }
  #front #recruit .recruit-buttons__link.part:after {
    border-color: black;
  }
}
@media screen and (max-width: 768px) {
  #front #recruit {
    margin-top: 64px;
    position: relative;
  }
  #front #recruit .container {
    position: relative;
    margin-top: -82px;
  }
  #front #recruit .recruit-main {
    border-radius: 16px 16px 0px 0px;
  }
  #front #recruit .recruit-bg {
    position: absolute;
    top: 150px;
    width: 51%;
    left: -20%;
  }
  #front #recruit .recruit-ttl {
    color: white;
    font-size: 14px;
  }
  #front #recruit .recruit-catch {
    margin-top: 15px;
    font-size: 49px;
    font-weight: bold;
    font-style: italic;
    color: #FF2DB2;
    line-height: 50px;
  }
  #front #recruit .recruit-buttons {
    margin: 25px auto 0;
  }
  #front #recruit .recruit-buttons__item {
    margin-bottom: 24px;
  }
  #front #recruit .recruit-buttons__item:last-child {
    margin-bottom: 0;
  }
  #front #recruit .recruit-buttons__link {
    margin: 0 auto;
    width: 280px;
    height: 48px;
    border-radius: 42px;
    border: 1px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
  }
  #front #recruit .recruit-buttons__link:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    margin-left: 20px;
  }
  #front #recruit .recruit-buttons__link.full {
    color: #FF2DB2;
    border-color: #FF2DB2;
    background-color: #FFEBF7;
  }
  #front #recruit .recruit-buttons__link.full:after {
    border-color: #FF2DB2;
  }
  #front #recruit .recruit-buttons__link.part {
    color: black;
    border-color: black;
    background-color: white;
  }
  #front #recruit .recruit-buttons__link.part:after {
    border-color: black;
  }
}
#front {
  /*****************/
  /**** case   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #case {
    margin-top: 150px;
  }
  #front #case .case-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #front #case .case-ttl {
    display: flex;
    align-items: center;
    font-size: 42px;
    font-weight: bold;
  }
  #front #case .case-ttl span {
    font-size: 24px;
    margin-left: 35px;
    display: block;
  }
  #front #case .case-link {
    padding-left: 5px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #0059A3;
    font-weight: 500;
  }
  #front #case .case-link:hover {
    opacity: 1;
    transition: all 0.6s ease;
    border-bottom: 1px solid #0059A3;
  }
  #front #case .case-link:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 30px;
  }
  #front #case .case-wrapper {
    margin-top: 55px;
  }
  #front #case .case-slider {
    width: 100%;
  }
  #front #case .case-slider__item {
    padding-left: 12px;
    padding-right: 12px;
  }
  #front #case .case-slider__link {
    width: 384px;
    height: 480px;
  }
  #front #case .case-slider .slick-dots {
    position: relative;
    margin-top: 25px;
  }
  #front #case .case-slider .slick-dots li {
    width: 14px;
    height: 14px;
    margin-left: 8px;
    margin-right: 8px;
  }
  #front #case .case-slider .slick-dots li button {
    width: 14px;
    height: 14px;
    background-color: #B9B9B9;
    border-radius: 50%;
  }
  #front #case .case-slider .slick-dots li button:before {
    width: 14px;
    height: 14px;
    content: "";
  }
  #front #case .case-slider .slick-dots li.slick-active button {
    background-color: #0059A3;
  }
}
@media screen and (max-width: 768px) {
  #front #case {
    margin-top: 64px;
  }
  #front #case .case-ttl {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
  }
  #front #case .case-ttl span {
    font-size: 14px;
    margin-bottom: 15px;
    display: block;
  }
  #front #case .case-link {
    margin: 60px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #0059A3;
    font-weight: 500;
    width: 280px;
    height: 48px;
    border: 1px solid #0059A3;
    border-radius: 24px;
  }
  #front #case .case-link:hover {
    opacity: 1;
    transition: all 0.6s ease;
    border-color: white;
    color: white;
  }
  #front #case .case-link:hover:after {
    border-color: white;
  }
  #front #case .case-link:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 30px;
  }
  #front #case .case-wrapper {
    margin-top: 40px;
  }
  #front #case .case-slider {
    width: 100%;
  }
  #front #case .case-slider__item {
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 0;
  }
  #front #case .case-slider__link {
    width: 230px;
    height: 260px;
  }
  #front #case .case-slider .slick-dots {
    position: relative;
  }
  #front #case .case-slider .slick-dots li {
    width: 8px;
    height: 8px;
    margin-left: 7px;
    margin-right: 7px;
  }
  #front #case .case-slider .slick-dots li button {
    width: 8px;
    height: 8px;
    background-color: #B9B9B9;
    border-radius: 50%;
  }
  #front #case .case-slider .slick-dots li button:before {
    width: 8px;
    height: 8px;
    content: "";
  }
  #front #case .case-slider .slick-dots li.slick-active button {
    background-color: #0059A3;
  }
  #front #case .case-slider .slick-arrow {
    background-color: #0059A3;
    border-radius: 50%;
    width: 29px;
    height: 29px;
  }
  #front #case .case-slider .slick-arrow.slick-prev {
    left: 32px;
    z-index: 100;
  }
  #front #case .case-slider .slick-arrow.slick-prev::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid white;
    border-left: 2px solid white;
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  #front #case .case-slider .slick-arrow.slick-next {
    right: 32px;
    z-index: 100;
  }
  #front #case .case-slider .slick-arrow.slick-next::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid white;
    border-right: 2px solid white;
    position: absolute;
    top: 50%;
    left: 48%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
#front {
  /*****************/
  /**** news   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #news {
    margin-top: 120px;
    padding-bottom: 80px;
  }
  #front #news .news-ttl {
    text-align: center;
  }
  #front #news .news-article {
    margin-top: 75px;
  }
  #front #news .news-link {
    width: 431px;
    margin: 64px auto 0;
  }
}
@media screen and (max-width: 768px) {
  #front #news {
    margin-top: 58px;
    padding-bottom: 40px;
  }
  #front #news .news-ttl {
    text-align: center;
  }
  #front #news .news-article {
    margin-top: 40px;
  }
  #front #news .news-link {
    width: 280px;
    margin: 40px auto 0;
  }
}
#front {
  /*****************/
  /**** blog   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #blog {
    padding-top: 73px;
    padding-bottom: 90px;
    background-color: #F0F0F0;
    position: relative;
    overflow: hidden;
  }
  #front #blog .container {
    position: relative;
  }
  #front #blog .blog-bg {
    position: absolute;
    width: 62%;
    top: -5%;
    right: -20%;
  }
  #front #blog .blog-ttl {
    text-align: center;
  }
  #front #blog .blog-list {
    margin-top: 64px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 160px;
    gap: 24px;
  }
  #front #blog .blog-list__item {
    background: transparent linear-gradient(132deg, #F7F7F7 0%, white 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    border: 3px solid white;
    background: transparent linear-gradient(132deg, #F7F7F7 0%, #FFFFFF 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.062745098);
    border: 3px solid #FFFFFF;
    border-radius: 16px;
    padding: 40px;
  }
  #front #blog .blog-list__item.item01 {
    grid-column: 1/span 2;
    grid-row: 1/span 3;
  }
  #front #blog .blog-list__item.item02 {
    grid-column: 3/span 1;
    grid-row: 1/span 2;
  }
  #front #blog .blog-list__item.item03 {
    grid-column: 4/span 1;
    grid-row: 1/span 2;
  }
  #front #blog .blog-list__item.item04 {
    grid-column: 1/span 2;
    grid-row: 4/span 2;
  }
  #front #blog .blog-list__item.item04 .blog-list__inner {
    display: flex;
    gap: 24px;
  }
  #front #blog .blog-list__item.item04 .blog-list__thumb {
    aspect-ratio: 305/225;
  }
  #front #blog .blog-list__item.item04 .blog-list__info {
    margin-top: 0;
  }
  #front #blog .blog-list__item.item05 {
    grid-column: 3/span 2;
    grid-row: 3/span 3;
  }
  #front #blog .blog-list__cat {
    font-size: 18px;
  }
  #front #blog .blog-list__cat.cat01 {
    color: #52BEF2;
  }
  #front #blog .blog-list__cat.cat02 {
    color: #0059A3;
  }
  #front #blog .blog-list__inner {
    margin-top: 16px;
  }
  #front #blog .blog-list__thumb {
    aspect-ratio: 508/278;
  }
  #front #blog .blog-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #front #blog .blog-list__info {
    margin-top: 25px;
  }
  #front #blog .blog-list__time {
    font-size: 14px;
    font-weight: 300;
    color: #434343;
  }
  #front #blog .blog-list__ttl {
    margin-top: 12px;
    line-height: 1.6;
    font-size: 18px;
    color: black;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #front #blog .blog-link {
    margin: 64px auto 0;
    width: 450px;
    border-color: #52BEF2;
    color: #52BEF2;
    background-color: white;
  }
  #front #blog .blog-link:after {
    border-color: #52BEF2;
  }
  #front #blog .blog-link:hover {
    background-color: #52BEF2;
    color: white;
  }
  #front #blog .blog-link:hover:after {
    border-color: white;
  }
  #front #blog .blog-banners {
    margin-top: 88px;
    display: flex;
    justify-content: space-between;
    gap: 1%;
  }
  #front #blog .blog-banners__item {
    flex-shrink: 0;
    width: 583px;
  }
  #front #blog .blog-banners__item img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #front #blog {
    padding-top: 40px;
    padding-bottom: 48px;
    background-color: #F0F0F0;
    position: relative;
    overflow: hidden;
  }
  #front #blog .container {
    position: relative;
  }
  #front #blog .blog-bg {
    position: absolute;
    width: 62%;
    top: -5%;
    right: -15%;
  }
  #front #blog .blog-ttl {
    text-align: center;
  }
  #front #blog .blog-list {
    margin-top: 24px;
  }
  #front #blog .blog-list__item {
    background: transparent linear-gradient(132deg, #F7F7F7 0%, white 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    border: 3px solid white;
    background: transparent linear-gradient(132deg, #F7F7F7 0%, #FFFFFF 52%, #F7F7F7 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.062745098);
    border: 3px solid #FFFFFF;
    border-radius: 16px;
    padding: 32px 40px;
    margin-bottom: 24px;
  }
  #front #blog .blog-list__item:last-child {
    margin-bottom: 0;
  }
  #front #blog .blog-list__cat {
    font-size: 14px;
  }
  #front #blog .blog-list__cat.cat01 {
    color: #52BEF2;
  }
  #front #blog .blog-list__cat.cat02 {
    color: #0059A3;
  }
  #front #blog .blog-list__inner {
    margin-top: 12px;
  }
  #front #blog .blog-list__thumb {
    aspect-ratio: 247/118;
  }
  #front #blog .blog-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #front #blog .blog-list__info {
    margin-top: 12px;
  }
  #front #blog .blog-list__time {
    font-size: 12px;
    font-weight: 300;
    color: #434343;
  }
  #front #blog .blog-list__ttl {
    margin-top: 10px;
    line-height: 1.6;
    font-size: 14px;
    color: black;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #front #blog .blog-link {
    margin: 40px auto 0;
    width: 280px;
    border-color: #52BEF2;
    color: #52BEF2;
    background-color: white;
  }
  #front #blog .blog-link:after {
    border-color: #52BEF2;
  }
  #front #blog .blog-link:hover {
    background-color: #52BEF2;
    color: white;
  }
  #front #blog .blog-link:hover:after {
    border-color: white;
  }
  #front #blog .blog-banners {
    margin-top: 48px;
  }
  #front #blog .blog-banners__item {
    margin-bottom: 16px;
  }
  #front #blog .blog-banners__item:last-child {
    margin-bottom: 0;
  }
  #front #blog .blog-banners__item img {
    width: 100%;
  }
}

/*****************/
/**** page-service   *****/
/*****************/
#page-service {
  /*****************/
  /**** service-header   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-service #service-header {
    background-image: url(../image/servce/service_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 424px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #page-service #service-header .service-header__ttl {
    color: white;
    font-size: 36px;
    transform: translateY(20px);
    font-weight: 400;
  }
  #page-service #service-header .service-header__ttl span {
    font-size: 129px;
    font-weight: 600;
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #page-service #service-header {
    background-image: url(../image/servce/service_main_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 262px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #page-service #service-header .service-header__ttl {
    color: white;
    font-size: 14px;
    transform: translateY(8px);
    font-weight: 400;
  }
  #page-service #service-header .service-header__ttl span {
    margin-top: 10px;
    font-size: 50px;
    font-weight: 600;
    display: block;
  }
}
#page-service {
  /*****************/
  /**** intro   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-service #intro {
    padding-top: 100px;
    padding-bottom: 120px;
  }
  #page-service #intro .intro-container {
    max-width: 1530px;
  }
  #page-service #intro .intro-map {
    position: relative;
  }
  #page-service #intro .intro-map__bg {
    position: relative;
    width: 100%;
  }
  #page-service #intro .intro-map__item {
    position: absolute;
    width: 5.5%;
  }
  #page-service #intro .intro-map__item.item01 {
    top: 6%;
    left: 14%;
  }
  #page-service #intro .intro-map__item.item02 {
    top: 6%;
    left: 35%;
  }
  #page-service #intro .intro-map__item.item03 {
    top: 9%;
    right: 7%;
  }
  #page-service #intro .intro-map__item.item04 {
    top: 38%;
    left: 48%;
  }
  #page-service #intro .intro-map__item.item05 {
    top: 28%;
    right: 24.5%;
  }
  #page-service #intro .intro-map__item.item06 {
    display: none;
    top: 45%;
    right: 4%;
  }
  #page-service #intro .intro-map__item.item07 {
    bottom: 21%;
    right: 41%;
  }
  #page-service #intro .intro-map__item.item08 {
    bottom: 21%;
    right: 29.5%;
  }
  #page-service #intro .intro-map__item.item09 {
    bottom: 12%;
    right: 11%;
  }
  #page-service #intro .intro-map__link {
    position: relative;
  }
  #page-service #intro .intro-map__link:hover {
    opacity: 1;
  }
  #page-service #intro .intro-map__link:hover .intro-map__text {
    display: block;
  }
  #page-service #intro .intro-map__icon {
    width: 100%;
  }
  #page-service #intro .intro-map__text {
    max-width: none;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 285%;
    display: none;
    transform: translate(-50%, 100%);
    z-index: 5;
  }
  #page-service #intro .intro-map__text.item08 {
    width: 340%;
  }
}
@media screen and (max-width: 768px) {
  #page-service #intro {
    padding-top: 24px;
  }
  #page-service #intro .intro-container {
    padding-left: 0;
    padding-right: 0;
  }
  #page-service #intro .intro-map {
    position: relative;
  }
  #page-service #intro .intro-map__bg {
    position: relative;
    width: 100%;
  }
  #page-service #intro .intro-map__item {
    display: none;
    position: absolute;
    width: 5.5%;
  }
  #page-service #intro .intro-map__item.item01 {
    top: 6%;
    left: 14%;
  }
  #page-service #intro .intro-map__item.item02 {
    top: 6%;
    left: 35%;
  }
  #page-service #intro .intro-map__item.item03 {
    top: 9%;
    right: 7%;
  }
  #page-service #intro .intro-map__item.item04 {
    top: 38%;
    left: 48%;
  }
  #page-service #intro .intro-map__item.item05 {
    top: 28%;
    right: 24.5%;
  }
  #page-service #intro .intro-map__item.item06 {
    top: 45%;
    right: 4%;
  }
  #page-service #intro .intro-map__item.item07 {
    bottom: 21%;
    right: 41%;
  }
  #page-service #intro .intro-map__item.item08 {
    bottom: 21%;
    right: 29.5%;
  }
  #page-service #intro .intro-map__item.item09 {
    bottom: 12%;
    right: 11%;
  }
  #page-service #intro .intro-map__link {
    position: relative;
  }
  #page-service #intro .intro-map__link:hover {
    opacity: 1;
  }
  #page-service #intro .intro-map__link:hover .intro-map__text {
    display: block;
  }
  #page-service #intro .intro-map__icon {
    width: 100%;
  }
  #page-service #intro .intro-map__text {
    max-width: none;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 285%;
    display: none;
    transform: translate(-50%, 100%);
    z-index: 5;
  }
}
#page-service {
  /*****************/
  /**** links   *****/
  /*****************/
}
@media screen and (min-width: 1150px) {
  #page-service #links .links-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page-service #links .links-list__item {
    width: 33%;
    margin-bottom: 8px;
    overflow: hidden;
  }
  #page-service #links .links-list__link {
    height: 506px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 48px 71px;
    position: relative;
  }
  #page-service #links .links-list__link:hover {
    opacity: 1;
  }
  #page-service #links .links-list__link:hover .links-list__img {
    transform: scale(1.1);
  }
  #page-service #links .links-list__link:hover::after {
    right: 20px;
  }
  #page-service #links .links-list__link:after {
    content: "";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 30px;
    right: 30px;
    transition: all 0.6s ease;
  }
  #page-service #links .links-list__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.6s ease;
  }
  #page-service #links .links-list__inner {
    position: relative;
  }
  #page-service #links .links-list__ttl {
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    color: white;
  }
  #page-service #links .links-list__icon {
    margin-right: 12px;
  }
  #page-service #links .links-list__icon.item01 {
    width: 59px;
  }
  #page-service #links .links-list__icon.item02 {
    width: 53px;
  }
  #page-service #links .links-list__icon.item03 {
    width: 56px;
  }
  #page-service #links .links-list__icon.item04 {
    width: 52px;
  }
  #page-service #links .links-list__icon.item05 {
    width: 57px;
  }
  #page-service #links .links-list__icon.item06 {
    width: 58px;
  }
  #page-service #links .links-list__icon.item07 {
    width: 59px;
  }
  #page-service #links .links-list__icon.item08 {
    width: 59px;
  }
  #page-service #links .links-list__icon.item09 {
    width: 47px;
  }
  #page-service #links .links-list__desc {
    font-size: 16px;
    margin-top: 15px;
    color: white;
  }
}
@media screen and (max-width: 1149px) {
  #page-service #links {
    background-color: #F0F0F0;
    padding-top: 24px;
    padding-bottom: 30px;
  }
  #page-service #links .links-container {
    padding-left: 10px;
    padding-right: 10px;
  }
  #page-service #links .links-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page-service #links .links-list__item {
    width: calc(50% - 5px);
    margin-bottom: 10px;
    overflow: hidden;
  }
  #page-service #links .links-list__link {
    aspect-ratio: 174/166;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    position: relative;
  }
  #page-service #links .links-list__link:hover {
    opacity: 1;
  }
  #page-service #links .links-list__link:hover .links-list__img {
    transform: scale(1.1);
  }
  #page-service #links .links-list__link:hover::after {
    right: 20px;
  }
  #page-service #links .links-list__link:after {
    content: "";
    display: none;
    position: absolute;
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 30px;
    right: 30px;
    transition: all 0.6s ease;
  }
  #page-service #links .links-list__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.6s ease;
  }
  #page-service #links .links-list__inner {
    position: relative;
    background-color: rgba(67, 67, 67, 0.7);
    padding: 15px 10px;
    border-radius: 4px;
    width: 100%;
  }
  #page-service #links .links-list__ttl {
    line-height: 1.2;
    font-size: 3.4666666667vw;
    color: white;
    text-align: center;
    line-height: 1.6;
  }
  #page-service #links .links-list__icon {
    margin: 0 auto 5px;
  }
  #page-service #links .links-list__icon.item01 {
    width: 6.4vw;
  }
  #page-service #links .links-list__icon.item02 {
    width: 5.3333333333vw;
  }
  #page-service #links .links-list__icon.item03 {
    width: 6.4vw;
  }
  #page-service #links .links-list__icon.item04 {
    width: 5.0666666667vw;
  }
  #page-service #links .links-list__icon.item05 {
    width: 5.3333333333vw;
  }
  #page-service #links .links-list__icon.item06 {
    width: 6.1333333333vw;
  }
  #page-service #links .links-list__icon.item07 {
    width: 3.4666666667vw;
  }
  #page-service #links .links-list__icon.item08 {
    width: 5.3333333333vw;
  }
  #page-service #links .links-list__icon.item09 {
    width: 3.7333333333vw;
  }
  #page-service #links .links-list__desc {
    display: none;
    font-size: 16px;
    margin-top: 15px;
    color: white;
  }
}
#page-service {
  /*****************/
  /**** banner   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-service #banner {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #page-service #banner .banner-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 35px;
  }
  #page-service #banner .banner-list__item {
    border-radius: 16px;
    flex-shrink: 0;
    width: 582px;
    overflow: hidden;
    height: 226px;
  }
  #page-service #banner .banner-list__item.item01 {
    background: linear-gradient(to right, #6DBCE2, #20A1E0);
    border: 4px solid #64B9E2;
  }
  #page-service #banner .banner-list__link {
    height: 100%;
  }
  #page-service #banner .banner-list__link.item01 {
    display: flex;
    padding: 40px;
    position: relative;
    align-items: center;
  }
  #page-service #banner .banner-list__link.item01:after {
    position: absolute;
    bottom: 30px;
    right: 30px;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
  }
  #page-service #banner .banner-list__left {
    flex-shrink: 0;
    width: 189px;
  }
  #page-service #banner .banner-list__right {
    margin-left: 34px;
  }
  #page-service #banner .banner-list__right p {
    color: white;
  }
  #page-service #banner .banner-list__eng {
    font-size: 16px;
  }
  #page-service #banner .banner-list__main {
    font-size: 32px;
    font-weight: bold;
    margin-top: 15px;
  }
  #page-service #banner .banner-list__desc {
    margin-top: 24px;
    font-size: 16px;
  }
  #page-service #banner .banner-list__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 768px) {
  #page-service #banner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #page-service #banner .banner-list__item {
    margin: 0 auto;
    border-radius: 8px;
    flex-shrink: 0;
    width: 327px;
    overflow: hidden;
    height: 90px;
  }
  #page-service #banner .banner-list__item.item01 {
    background: linear-gradient(to right, #6DBCE2, #20A1E0);
    border: 2px solid #64B9E2;
  }
  #page-service #banner .banner-list__item.item02 {
    margin-top: 16px;
  }
  #page-service #banner .banner-list__link {
    height: 100%;
  }
  #page-service #banner .banner-list__link.item01 {
    display: flex;
    padding: 20px;
    position: relative;
    align-items: center;
  }
  #page-service #banner .banner-list__link.item01:after {
    position: absolute;
    bottom: 16px;
    right: 20px;
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
  }
  #page-service #banner .banner-list__link.item02 {
    position: relative;
  }
  #page-service #banner .banner-list__link.item02:after {
    position: absolute;
    bottom: 16px;
    right: 20px;
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
  }
  #page-service #banner .banner-list__left {
    flex-shrink: 0;
    width: 112px;
  }
  #page-service #banner .banner-list__right {
    margin-left: 20px;
  }
  #page-service #banner .banner-list__right p {
    color: white;
  }
  #page-service #banner .banner-list__eng {
    font-size: 12px;
  }
  #page-service #banner .banner-list__main {
    font-size: 19px;
    font-weight: bold;
    margin-top: 7px;
  }
  #page-service #banner .banner-list__desc {
    display: none;
    margin-top: 24px;
    font-size: 16px;
  }
  #page-service #banner .banner-list__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
#page-service {
  /*****************/
  /**** faq   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-service #faq {
    padding-top: 80px;
    padding-bottom: 120px;
    background-color: #EDF2F7;
  }
  #page-service #faq .faq-ttl {
    text-align: center;
    font-size: 42px;
    font-weight: 500;
  }
  #page-service #faq .faq-list {
    margin-top: 64px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
  }
  #page-service #faq .faq-list__item {
    flex-shrink: 0;
    width: 588px;
    background-color: white;
    padding: 40px 42px;
    border-radius: 16px;
    min-height: 183px;
  }
  #page-service #faq .faq-list__q {
    font-size: 18px;
    color: #0059A3;
    font-weight: bold;
    line-height: 1.6;
  }
  #page-service #faq .faq-list__a {
    margin-top: 25px;
    line-height: 1.6;
    font-size: 16px;
    padding-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  #page-service #faq {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #EDF2F7;
  }
  #page-service #faq .faq-ttl {
    text-align: center;
    font-size: 24px;
    font-weight: 500;
  }
  #page-service #faq .faq-list {
    margin-top: 24px;
  }
  #page-service #faq .faq-list__item {
    flex-shrink: 0;
    background-color: white;
    padding: 32px;
    border-radius: 8px;
    margin-bottom: 24px;
  }
  #page-service #faq .faq-list__item:last-child {
    margin-bottom: 0;
  }
  #page-service #faq .faq-list__q {
    font-size: 15px;
    color: #0059A3;
    font-weight: bold;
    line-height: 1.6;
  }
  #page-service #faq .faq-list__a {
    margin-top: 16px;
    line-height: 1.6;
    font-size: 14px;
  }
}

/*****************/
/**** service-child   *****/
/*****************/
.service-child {
  /*****************/
  /**** service-header   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #service-child-header {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .service-child #service-child-header .service-child-header__ttl {
    color: white;
    font-size: 24px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .service-child #service-child-header .service-child-header__ttl img {
    width: 39px;
    margin-right: 32px;
  }
  .service-child #service-child-header .service-child-header__lead {
    margin-top: 20px;
    font-size: 56px;
    color: white;
    text-align: center;
    font-weight: 500;
  }
  .service-child #service-child-header .service-child-header__sub {
    margin-top: 20px;
    font-size: 28px;
    color: white;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .service-child #service-child-header {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .service-child #service-child-header .service-child-header__ttl {
    color: white;
    font-size: 14px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .service-child #service-child-header .service-child-header__ttl img {
    width: 33px;
    margin-right: 24px;
    margin-bottom: 3px;
  }
  .service-child #service-child-header .service-child-header__lead {
    margin-top: 20px;
    font-size: 34px;
    color: white;
    text-align: center;
    font-weight: 400;
  }
  .service-child #service-child-header .service-child-header__sub {
    margin-top: 20px;
    font-size: 18px;
    color: white;
    text-align: center;
  }
}
.service-child {
  /*****************/
  /**** intro   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #intro {
    padding-top: 57px;
    padding-bottom: 20px;
    overflow: hidden;
    background-color: #F0F0F0;
  }
  .service-child #intro .intro-bg {
    position: absolute;
    width: 1063px;
    transform: translate(-40%, -40%);
  }
  .service-child #intro .intro-breadcrumb {
    margin-top: 56px;
  }
  .service-child #intro .intro-wrapper {
    margin-top: 24px;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    border: 3px solid white;
    border-radius: 16px;
    padding: 59px 0 73px;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  .service-child #intro .intro-lead {
    margin-top: 35px;
    font-size: 20px;
    text-align: center;
  }
  .service-child #intro .intro-list {
    margin-top: 63px;
    display: flex;
    flex-wrap: wrap;
  }
  .service-child #intro .intro-list__item {
    width: 25%;
    min-width: 305px;
    border-right: 1px solid rgba(66, 66, 66, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .service-child #intro .intro-list__item:last-child {
    border: none;
  }
  .service-child #intro .intro-list__img {
    flex-shrink: 0;
    width: 144px;
  }
  .service-child #intro .intro-list__ttl {
    font-weight: 400;
    margin-top: 5px;
    font-size: 20px;
    text-align: center;
  }
  .service-child #intro .intro-list__desc {
    margin-top: 17px;
    font-size: 16px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .service-child #intro {
    padding-top: 32px;
    padding-bottom: 20px;
    overflow: hidden;
    background-color: #F0F0F0;
  }
  .service-child #intro .intro-bg {
    display: none;
    position: absolute;
    width: 1063px;
    transform: translate(-40%, -40%);
  }
  .service-child #intro .intro-breadcrumb {
    display: none;
    margin-top: 56px;
  }
  .service-child #intro .intro-wrapper {
    margin-top: 46px;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    border: 3px solid white;
    border-radius: 16px;
    padding: 39px 0 32px;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  .service-child #intro .intro-lead {
    margin-top: 27px;
    font-size: 14px;
    text-align: center;
  }
  .service-child #intro .intro-list {
    margin-top: 27px;
    display: flex;
    flex-wrap: wrap;
  }
  .service-child #intro .intro-list__item {
    width: 50%;
    padding: 15px 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 178px;
  }
  .service-child #intro .intro-list__item:first-child {
    border-right: 1px solid rgba(66, 66, 66, 0.4);
    border-bottom: 1px solid rgba(66, 66, 66, 0.4);
  }
  .service-child #intro .intro-list__item:nth-child(2) {
    border-bottom: 1px solid rgba(66, 66, 66, 0.4);
  }
  .service-child #intro .intro-list__item:nth-child(3) {
    border-right: 1px solid rgba(66, 66, 66, 0.4);
  }
  .service-child #intro .intro-list__img {
    flex-shrink: 0;
    width: 83px;
  }
  .service-child #intro .intro-list__ttl {
    font-weight: 400;
    margin-top: 5px;
    font-size: 14px;
    text-align: center;
  }
  .service-child #intro .intro-list__desc {
    margin-top: 10px;
    font-size: 13px;
    text-align: center;
  }
}
.service-child {
  /*****************/
  /**** role   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #role {
    padding-top: 37px;
    padding-bottom: 108px;
    overflow: hidden;
    background-color: #F0F0F0;
  }
  .service-child #role .role-tabs {
    max-width: 1200px;
    margin: 58px auto 0;
    display: flex;
    justify-content: center;
  }
  .service-child #role .role-tabs__item {
    width: 32%;
    margin-left: 10px;
    margin-right: 10px;
    font-size: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    border: 7px solid;
    border-bottom: none;
    border-radius: 16px 16px 0 0;
    padding: 35px 0 20px;
    cursor: pointer;
    font-weight: bold;
  }
  .service-child #role .role-tabs__item.item01 {
    border-color: #0059A3;
    color: #0059A3;
  }
  .service-child #role .role-tabs__item.item01:after {
    border-color: #0059A3;
  }
  .service-child #role .role-tabs__item.item01.active {
    background: #0059A3;
    color: white;
  }
  .service-child #role .role-tabs__item.item01.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item.item02 {
    border-color: #ED7328;
    color: #ED7328;
  }
  .service-child #role .role-tabs__item.item02:after {
    border-color: #ED7328;
  }
  .service-child #role .role-tabs__item.item02.active {
    background: #ED7328;
    color: white;
  }
  .service-child #role .role-tabs__item.item02.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item.item03 {
    border-color: #1CACAC;
    color: #1CACAC;
  }
  .service-child #role .role-tabs__item.item03:after {
    border-color: #1CACAC;
  }
  .service-child #role .role-tabs__item.item03.active {
    background: #1CACAC;
    color: white;
  }
  .service-child #role .role-tabs__item.item03.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item:after {
    content: "";
    width: 15px;
    height: 15px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(45deg);
    margin-top: 20px;
  }
  .service-child #role .role-main {
    background-color: white;
    border-top: 10px solid;
    border-bottom: 10px solid;
    padding: 58px 0 67px;
    display: none;
  }
  .service-child #role .role-main.active {
    display: block;
  }
  .service-child #role .role-main.item01 {
    border-color: #0059A3;
  }
  .service-child #role .role-main.item02 {
    border-color: #ED7328;
  }
  .service-child #role .role-main.item03 {
    border-color: #1CACAC;
  }
  .service-child #role .role-child-ttl {
    font-size: 26px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .service-child #role .role-child-ttl img {
    margin-right: 24px;
  }
  .service-child #role .role-child-ttl.government {
    color: #0059A3;
  }
  .service-child #role .role-child-ttl.government img {
    width: 37px;
  }
  .service-child #role .role-child-ttl.company {
    color: #ED7328;
  }
  .service-child #role .role-child-ttl.company img {
    width: 29px;
  }
  .service-child #role .role-child-ttl.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-ttl.research img {
    width: 28px;
  }
  .service-child #role .role-child-lead {
    margin-top: 24px;
    text-align: center;
    font-weight: bold;
    font-size: 32px;
  }
  .service-child #role .role-child-subject {
    margin-top: 92px;
    display: flex;
  }
  .service-child #role .role-child-subject__ttl {
    font-size: 42px;
    font-weight: 500;
    padding: 20px 35px;
    writing-mode: vertical-rl;
    border-right: 1px solid;
  }
  .service-child #role .role-child-subject__ttl.government {
    color: #0059A3;
    border-color: #0059A3;
  }
  .service-child #role .role-child-subject__ttl.company {
    color: #ED7328;
    border-color: #EF6528;
  }
  .service-child #role .role-child-subject__ttl.research {
    color: #1CACAC;
    border-color: #1CACAC;
  }
  .service-child #role .role-child-subject__list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .service-child #role .role-child-subject__item {
    width: 32%;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 1%;
    margin-bottom: 20px;
  }
  .service-child #role .role-child-subject__img {
    flex-shrink: 0;
    width: 177px;
  }
  .service-child #role .role-child-subject__lead {
    margin-top: 16px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
  }
  .service-child #role .role-child-subject__lead.government {
    color: #0059A3;
  }
  .service-child #role .role-child-subject__lead.company {
    color: #ED7328;
  }
  .service-child #role .role-child-subject__lead.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-subject__desc {
    margin-top: 22px;
    text-align: center;
    font-size: 16px;
  }
  .service-child #role .role-child-case__title {
    margin-top: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
  }
  .service-child #role .role-child-case__title.government {
    color: #0059A3;
  }
  .service-child #role .role-child-case__title.company {
    color: #ED7328;
  }
  .service-child #role .role-child-case__title.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-case__title img {
    width: 35px;
    margin-right: 18px;
  }
  .service-child #role .role-child-case {
    margin-top: 52px;
    gap: 32px;
  }
  .service-child #role .role-child-case__item {
    width: 486px;
  }
  .service-child #role .role-child-solution {
    margin-top: 73px;
    background-color: #EDF2F7;
    padding: 40px 40px 51px;
  }
  .service-child #role .role-child-solution__ttl {
    font-size: 24px;
    font-weight: bold;
    color: #0059A3;
    text-align: center;
  }
  .service-child #role .role-child-solution__list {
    margin-top: 25px;
    justify-content: center;
  }
  .service-child #role .role-child-solution__item {
    width: 298px;
  }
  .service-child #role .role-child-desc {
    margin-top: 45px;
    text-align: center;
    font-size: 22px;
  }
  .service-child #role .role-child-cta {
    margin: 35px auto 0;
    width: 467px;
    height: 72px;
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    color: white;
  }
  .service-child #role .role-child-cta.government {
    background-color: #0059A3;
  }
  .service-child #role .role-child-cta.company {
    background-color: #ED7328;
  }
  .service-child #role .role-child-cta.research {
    background-color: #1CACAC;
  }
  .service-child #role .role-child-cta:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .service-child #role {
    padding-top: 38px;
    padding-bottom: 57px;
    overflow: hidden;
    background-color: #F0F0F0;
  }
  .service-child #role .role-tabs {
    max-width: 1200px;
    margin: 58px auto 0;
    display: flex;
    justify-content: space-between;
  }
  .service-child #role .role-tabs__item {
    width: 32%;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    border: 2px solid;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 10px 0 5px;
    cursor: pointer;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
  }
  .service-child #role .role-tabs__item.item01 {
    border-color: #0059A3;
    color: #0059A3;
  }
  .service-child #role .role-tabs__item.item01:after {
    border-color: #0059A3;
  }
  .service-child #role .role-tabs__item.item01.active {
    background: #0059A3;
    color: white;
  }
  .service-child #role .role-tabs__item.item01.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item.item02 {
    border-color: #ED7328;
    color: #ED7328;
  }
  .service-child #role .role-tabs__item.item02:after {
    border-color: #ED7328;
  }
  .service-child #role .role-tabs__item.item02.active {
    background: #ED7328;
    color: white;
  }
  .service-child #role .role-tabs__item.item02.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item.item03 {
    border-color: #1CACAC;
    color: #1CACAC;
  }
  .service-child #role .role-tabs__item.item03:after {
    border-color: #1CACAC;
  }
  .service-child #role .role-tabs__item.item03.active {
    background: #1CACAC;
    color: white;
  }
  .service-child #role .role-tabs__item.item03.active:after {
    border-color: white;
  }
  .service-child #role .role-tabs__item:after {
    display: none;
    content: "";
    width: 15px;
    height: 15px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(45deg);
    margin-top: 20px;
  }
  .service-child #role .role-main {
    background-color: white;
    border-top: 10px solid;
    padding: 35px 30px 40px;
    display: none;
  }
  .service-child #role .role-main .inner-contaienr {
    padding-left: 30px;
    padding-right: 30px;
  }
  .service-child #role .role-main.active {
    display: block;
  }
  .service-child #role .role-main.item01 {
    border-color: #0059A3;
  }
  .service-child #role .role-main.item02 {
    border-color: #ED7328;
  }
  .service-child #role .role-main.item03 {
    border-color: #1CACAC;
  }
  .service-child #role .role-child-ttl {
    font-size: 13px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .service-child #role .role-child-ttl img {
    margin-right: 16px;
  }
  .service-child #role .role-child-ttl.government {
    color: #0059A3;
  }
  .service-child #role .role-child-ttl.government img {
    width: 22px;
  }
  .service-child #role .role-child-ttl.company {
    color: #ED7328;
  }
  .service-child #role .role-child-ttl.company img {
    width: 18px;
  }
  .service-child #role .role-child-ttl.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-ttl.research img {
    width: 18px;
  }
  .service-child #role .role-child-lead {
    margin-top: 24px;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
  }
  .service-child #role .role-child-subject {
    margin-top: 55px;
  }
  .service-child #role .role-child-subject__ttl {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 20px;
    text-align: center;
    border-bottom: 1px solid;
  }
  .service-child #role .role-child-subject__ttl.government {
    color: #0059A3;
    border-color: #0059A3;
  }
  .service-child #role .role-child-subject__ttl.company {
    color: #ED7328;
    border-color: #EF6528;
  }
  .service-child #role .role-child-subject__ttl.research {
    color: #1CACAC;
    border-color: #1CACAC;
  }
  .service-child #role .role-child-subject__list {
    margin-top: 23px;
  }
  .service-child #role .role-child-subject__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
  }
  .service-child #role .role-child-subject__item:last-child {
    margin-bottom: 0;
  }
  .service-child #role .role-child-subject__img {
    width: 129px;
  }
  .service-child #role .role-child-subject__lead {
    margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
  }
  .service-child #role .role-child-subject__lead.government {
    color: #0059A3;
  }
  .service-child #role .role-child-subject__lead.company {
    color: #ED7328;
  }
  .service-child #role .role-child-subject__lead.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-subject__desc {
    margin-top: 18px;
    text-align: center;
    font-size: 13px;
  }
  .service-child #role .role-child-case__title {
    margin-top: 63px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
  }
  .service-child #role .role-child-case__title.government {
    color: #0059A3;
  }
  .service-child #role .role-child-case__title.company {
    color: #ED7328;
  }
  .service-child #role .role-child-case__title.research {
    color: #1CACAC;
  }
  .service-child #role .role-child-case__title img {
    width: 20px;
    margin-right: 14px;
  }
  .service-child #role .role-child-case {
    margin-top: 28px;
  }
  .service-child #role .role-child-case__item {
    margin-bottom: 24px;
  }
  .service-child #role .role-child-case__item:last-child {
    margin-bottom: 0;
  }
  .service-child #role .role-child-case__link {
    height: 260px;
  }
  .service-child #role .role-child-solution {
    display: none;
    margin-top: 73px;
    background-color: #EDF2F7;
    padding: 40px 40px 51px;
  }
  .service-child #role .role-child-solution__ttl {
    font-size: 24px;
    font-weight: bold;
    color: #0059A3;
    text-align: center;
  }
  .service-child #role .role-child-solution__list {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    gap: 24px;
  }
  .service-child #role .role-child-solution__item {
    flex-shrink: 0;
    width: 298px;
  }
  .service-child #role .role-child-solution__link {
    height: 102px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 20px;
    text-align: center;
    font-weight: 400;
    color: #0059A3;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: white;
  }
  .service-child #role .role-child-solution__link span {
    display: block;
    margin-top: 16px;
    font-size: 16px;
  }
  .service-child #role .role-child-solution__link img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60px;
  }
  .service-child #role .role-child-desc {
    margin-top: 40px;
    text-align: center;
    font-size: 15px;
  }
  .service-child #role .role-child-cta {
    margin: 30px auto 0;
    width: 261px;
    height: 48px;
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    color: white;
  }
  .service-child #role .role-child-cta.government {
    background-color: #0059A3;
  }
  .service-child #role .role-child-cta.company {
    background-color: #ED7328;
  }
  .service-child #role .role-child-cta.research {
    background-color: #1CACAC;
  }
  .service-child #role .role-child-cta:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
}
.service-child {
  /*****************/
  /**** skill   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #skill {
    padding-top: 80px;
    padding-bottom: 104px;
    overflow: hidden;
  }
  .service-child #skill .skill-bg {
    position: absolute;
    width: 563px;
    top: 0;
    right: 0;
    transform: translate(5%, -10%);
  }
  .service-child #skill .skill-list {
    margin-top: 64px;
  }
  .service-child #skill .skill-list__item {
    border-radius: 16px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    box-shadow: 4px 5px 5px rgba(0, 0, 0, 0.1);
    margin-bottom: 32px;
    padding: 40px 60px;
  }
  .service-child #skill .skill-list__ttl {
    display: flex;
    align-items: center;
    position: relative;
    flex-wrap: wrap;
    gap: 20px;
    cursor: pointer;
  }
  .service-child #skill .skill-list__ttl::before {
    content: "";
    display: block;
    width: 24px;
    height: 1px;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  .service-child #skill .skill-list__ttl::after {
    content: "";
    display: block;
    width: 1px;
    height: 24px;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
  }
  .service-child #skill .skill-list__ttl.active::after {
    display: none;
  }
  .service-child #skill .skill-list__info {
    display: flex;
    align-items: center;
    font-size: 22px;
    font-weight: bold;
    color: #0059A3;
    line-height: 1.4;
    min-width: 442px;
    border-right: 1px solid rgba(67, 67, 67, 0.4);
    margin-right: 56px;
  }
  .service-child #skill .skill-list__info span {
    margin-top: 2px;
    flex-shrink: 0;
    width: 98px;
    height: 27px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
    margin-right: 16px;
  }
  .service-child #skill .skill-list__info span.blue {
    background: linear-gradient(#6DBCE2, #20A1E0);
  }
  .service-child #skill .skill-list__info span.navy {
    background: linear-gradient(#0059A3, #003F89, #023A7B);
  }
  .service-child #skill .skill-list__lead {
    padding-right: 30px;
    font-size: 20px;
  }
  .service-child #skill .skill-list__content {
    padding: 50px 40px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .service-child #skill .skill-list__img {
    flex-shrink: 0;
    width: 384px;
  }
  .service-child #skill .skill-list__desc {
    margin-left: 1%;
    max-width: 540px;
    width: 100%;
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .service-child #skill {
    padding-top: 40px;
    padding-bottom: 60px;
    overflow: hidden;
  }
  .service-child #skill .skill-bg {
    position: absolute;
    width: 177px;
    top: 0;
    right: 0;
    transform: translate(5%, -10%);
  }
  .service-child #skill .skill-list {
    margin-top: 35px;
  }
  .service-child #skill .skill-list__item {
    border-radius: 16px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    box-shadow: 4px 5px 5px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
    padding: 30px;
  }
  .service-child #skill .skill-list__ttl {
    position: relative;
    cursor: pointer;
  }
  .service-child #skill .skill-list__ttl::before {
    content: "";
    display: block;
    height: 1px;
    width: 18px;
    background-color: #0059A3;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-50%);
  }
  .service-child #skill .skill-list__ttl::after {
    content: "";
    display: block;
    width: 1px;
    height: 18px;
    background-color: #0059A3;
    position: absolute;
    top: 0;
    right: 8px;
    transform: translateY(-50%);
  }
  .service-child #skill .skill-list__ttl.active::after {
    display: none;
  }
  .service-child #skill .skill-list__info {
    font-size: 16px;
    font-weight: bold;
    color: #0059A3;
    line-height: 1.4;
  }
  .service-child #skill .skill-list__info span {
    width: 76px;
    height: 21px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 10px;
    margin-bottom: 6px;
  }
  .service-child #skill .skill-list__info span.blue {
    background: linear-gradient(#6DBCE2, #20A1E0);
  }
  .service-child #skill .skill-list__info span.navy {
    background: linear-gradient(#0059A3, #003F89, #023A7B);
  }
  .service-child #skill .skill-list__lead {
    margin-top: 20px;
    font-size: 14px;
  }
  .service-child #skill .skill-list__content {
    margin-top: 29px;
  }
  .service-child #skill .skill-list__img {
    width: 384px;
  }
  .service-child #skill .skill-list__desc {
    margin-top: 23px;
    font-size: 13px;
  }
}
.service-child {
  /*****************/
  /**** product   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #product {
    background-color: #EDF2F7;
    padding-top: 80px;
  }
  .service-child #product .product-ttl {
    text-align: center;
    font-size: 32px;
    font-weight: 500;
  }
  .service-child #product .product-list {
    margin-top: 64px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 29px;
  }
  .service-child #product .product-list__item {
    flex-shrink: 0;
    width: 585px;
  }
  .service-child #product .product-list__link {
    height: 323px;
    padding: 47px 42px 42px;
    background-color: white;
    border-radius: 16px;
    display: flex;
    align-items: center;
  }
  .service-child #product .product-list__img {
    flex-shrink: 0;
    width: 200px;
  }
  .service-child #product .product-list__main {
    margin-left: 42px;
    display: flex;
    flex-direction: column;
  }
  .service-child #product .product-list__ttl {
    color: #0059A3;
    font-size: 20px;
    font-weight: 500;
  }
  .service-child #product .product-list__desc {
    margin-top: 20px;
    font-size: 16px;
    color: black;
  }
  .service-child #product .product-list__more {
    margin-top: 20px;
    margin-left: auto;
    margin-right: 0;
    font-size: 15px;
    color: #0059A3;
    padding-bottom: 10px;
    border-bottom: 1px solid #0059A3;
    align-items: center;
    display: inline-flex;
    width: 130px;
    justify-content: space-between;
  }
  .service-child #product .product-list__more:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-right: 5px;
  }
}
@media screen and (max-width: 768px) {
  .service-child #product {
    background-color: #EDF2F7;
    padding-top: 40px;
  }
  .service-child #product .product-ttl {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
  }
  .service-child #product .product-list {
    margin-top: 24px;
  }
  .service-child #product .product-list__item {
    margin-bottom: 24px;
  }
  .service-child #product .product-list__item:last-child {
    margin-bottom: 0;
  }
  .service-child #product .product-list__link {
    height: 404px;
    padding: 32px;
    background-color: white;
    border-radius: 16px;
  }
  .service-child #product .product-list__img {
    margin-top: 22px;
    width: 112px;
  }
  .service-child #product .product-list__main {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .service-child #product .product-list__ttl {
    color: #0059A3;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
  }
  .service-child #product .product-list__desc {
    margin-top: 20px;
    font-size: 14px;
    color: black;
  }
  .service-child #product .product-list__more {
    margin-top: 16px;
    margin-left: auto;
    margin-right: 0;
    font-size: 13px;
    color: #0059A3;
    padding-bottom: 7px;
    border-bottom: 1px solid #0059A3;
    align-items: center;
    display: inline-flex;
    width: 120px;
    justify-content: space-between;
  }
  .service-child #product .product-list__more:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-right: 5px;
  }
}
.service-child {
  /*****************/
  /**** faq   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .service-child #faq {
    background-color: #EDF2F7;
    padding-top: 90px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 768px) {
  .service-child #faq {
    background-color: #EDF2F7;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/*****************/
/**** page-solution   *****/
/*****************/
#page-solution {
  /*****************/
  /**** solution-header   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-solution #solution-header {
    background-image: url(../image/solution/solution_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 780px;
  }
  #page-solution #solution-header p {
    color: white;
  }
  #page-solution #solution-header .solution-header__ttl {
    margin-top: 82px;
    font-size: 103px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
  }
  #page-solution #solution-header .solution-header__lead {
    margin-top: 34px;
    font-size: 36px;
    text-align: center;
  }
  #page-solution #solution-header .solution-header__desc {
    margin-top: 67px;
    text-align: center;
    font-size: 20px;
    color: white;
  }
  #page-solution #solution-header .solution-header__desc h1 {
    font-size: 20px;
    font-weight: 400;
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  #page-solution #solution-header {
    background-image: url(../image/solution/solution_main_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 560px;
  }
  #page-solution #solution-header p {
    color: white;
  }
  #page-solution #solution-header .solution-breadcrumb {
    display: none;
  }
  #page-solution #solution-header .solution-header__ttl {
    margin-top: 82px;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
  }
  #page-solution #solution-header .solution-header__lead {
    margin-top: 30px;
    font-size: 19px;
    text-align: center;
  }
  #page-solution #solution-header .solution-header__desc {
    margin-top: 40px;
    text-align: center;
    font-size: 16px;
    color: white;
  }
  #page-solution #solution-header .solution-header__desc h1 {
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
  }
}
#page-solution {
  /*****************/
  /**** links   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-solution #links {
    padding-top: 10px;
  }
  #page-solution #links .links-list__item {
    height: 540px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #page-solution #links .links-list__item.item01 {
    background-image: url(../image/solution/links-list__img01.jpg);
  }
  #page-solution #links .links-list__item.item02 {
    background-image: url(../image/solution/links-list__img02.jpg);
  }
  #page-solution #links .links-list__item.item03 {
    background-image: url(../image/solution/links-list__img03.jpg);
  }
  #page-solution #links .links-list__item.item04 {
    background-image: url(../image/solution/links-list__img04.jpg);
  }
  #page-solution #links .links-list__link:hover {
    opacity: 1;
  }
  #page-solution #links .links-list__inner {
    width: 392px;
    margin-left: auto;
    margin-right: 0;
    height: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #page-solution #links .links-list__inner p {
    color: white;
    text-align: center;
  }
  #page-solution #links .links-list__sub {
    color: white;
    font-size: 24px;
  }
  #page-solution #links .links-list__ttl {
    margin-top: 25px;
    font-size: 56px;
    line-height: 1.4;
  }
  #page-solution #links .links-list__desc {
    margin-top: 20px;
    font-size: 18px;
  }
  #page-solution #links .links-list__more {
    display: block;
    margin-top: 30px;
    flex-shrink: 0;
    width: 360px;
    height: 56px;
    background-color: white;
    border-radius: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #0059A3;
    transition: all 0.6s ease;
    border: none;
    cursor: pointer;
  }
  #page-solution #links .links-list__more:hover {
    background-color: #0059A3;
    color: white;
  }
  #page-solution #links .links-list__more:hover::after {
    border-color: white;
  }
  #page-solution #links .links-list__more::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  #page-solution #links {
    padding-top: 5px;
  }
  #page-solution #links .links-list__item {
    height: 270px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #page-solution #links .links-list__item.item01 {
    background-image: url(../image/solution/links-list__img01SP.jpg);
  }
  #page-solution #links .links-list__item.item02 {
    background-image: url(../image/solution/links-list__img02SP.jpg);
  }
  #page-solution #links .links-list__item.item03 {
    background-image: url(../image/solution/links-list__img03SP.jpg);
  }
  #page-solution #links .links-list__item.item04 {
    background-image: url(../image/solution/links-list__img04SP.jpg);
  }
  #page-solution #links .links-list__link:hover {
    opacity: 1;
  }
  #page-solution #links .links-list__inner {
    height: 270px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #page-solution #links .links-list__inner p {
    color: white;
    text-align: center;
  }
  #page-solution #links .links-list__sub {
    color: white;
    font-size: 16px;
  }
  #page-solution #links .links-list__ttl {
    margin-top: 16px;
    font-size: 32px;
    line-height: 1.4;
  }
  #page-solution #links .links-list__desc {
    margin-top: 10px;
    font-size: 14px;
  }
  #page-solution #links .links-list__more {
    display: block;
    margin-top: 20px;
    flex-shrink: 0;
    width: 242px;
    height: 38px;
    background-color: white;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #0059A3;
    transition: all 0.6s ease;
    cursor: pointer;
    border: none;
  }
  #page-solution #links .links-list__more:hover {
    background-color: #0059A3;
    color: white;
  }
  #page-solution #links .links-list__more:hover::after {
    border-color: white;
  }
  #page-solution #links .links-list__more::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
}
#page-solution {
  /*****************/
  /**** value   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-solution #value {
    padding-top: 148px;
    padding-bottom: 136px;
    background-color: #F0F0F0;
  }
  #page-solution #value .value-top {
    height: 359px;
    border-radius: 24px;
    overflow: hidden;
  }
  #page-solution #value .value-top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-solution #value .value-main {
    margin-top: -30px;
  }
  #page-solution #value .value-ttl {
    font-size: 66px;
    font-weight: 600;
    color: #0059A3;
  }
  #page-solution #value .value-catch {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #page-solution #value .value-catch__left {
    color: #0059A3;
    font-size: 32px;
    position: relative;
    flex-shrink: 0;
    width: 469px;
  }
  #page-solution #value .value-catch__left:after {
    content: "";
    width: 120px;
    height: 2px;
    background-color: #0059A3;
    position: absolute;
    bottom: -30px;
    right: 0;
    transform: rotate(-40deg);
  }
  #page-solution #value .value-catch__desc {
    font-size: 20px;
    width: 100%;
    margin-left: 2%;
    max-width: 654px;
    line-height: 2;
  }
  #page-solution #value .value-list {
    margin-top: 94px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 24px;
  }
  #page-solution #value .value-list__item {
    flex-shrink: 0;
    width: 384px;
  }
  #page-solution #value .value-list__link {
    border-radius: 16px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    padding: 32px 32px 45px;
    min-height: 400px;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  #page-solution #value .value-list__img {
    margin: 0 auto;
    width: 320px;
  }
  #page-solution #value .value-list__ttl {
    margin-top: 25px;
    color: #0059A3;
    font-size: 18px;
    font-weight: bold;
  }
  #page-solution #value .value-list__desc {
    margin-top: 25px;
    font-size: 16px;
    color: black;
  }
}
@media screen and (max-width: 768px) {
  #page-solution #value {
    padding-top: 44px;
    padding-bottom: 76px;
    background-color: #F0F0F0;
  }
  #page-solution #value .value-top {
    height: 224px;
    border-radius: 16px;
    overflow: hidden;
  }
  #page-solution #value .value-top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-solution #value .value-main {
    margin-top: -30px;
  }
  #page-solution #value .value-ttl {
    font-size: 42px;
    font-weight: 600;
    color: #0059A3;
    line-height: 1.4;
    letter-spacing: 0.02em;
  }
  #page-solution #value .value-catch {
    margin-top: 20px;
  }
  #page-solution #value .value-catch__left {
    color: #0059A3;
    font-size: 22px;
    position: relative;
    flex-shrink: 0;
    width: 325px;
  }
  #page-solution #value .value-catch__left:after {
    content: "";
    width: 60px;
    height: 2px;
    background-color: #0059A3;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: rotate(-45deg);
  }
  #page-solution #value .value-catch__desc {
    margin-top: 40px;
    font-size: 15px;
    line-height: 2;
  }
  #page-solution #value .value-list {
    margin-top: 46px;
  }
  #page-solution #value .value-list__item {
    margin-bottom: 24px;
  }
  #page-solution #value .value-list__item:last-child {
    margin-bottom: 0;
  }
  #page-solution #value .value-list__link {
    border-radius: 16px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, #FFFFFF, #F7F7F7);
    padding: 32px 32px 38px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  #page-solution #value .value-list__img {
    margin: 0 auto;
    width: 263px;
  }
  #page-solution #value .value-list__ttl {
    margin-top: 25px;
    color: #0059A3;
    font-size: 16px;
    font-weight: bold;
  }
  #page-solution #value .value-list__desc {
    margin-top: 25px;
    font-size: 14px;
    color: black;
  }
}

/*****************/
/**** solution-child   *****/
/*****************/
.solution-child {
  /*****************/
  /**** solution-header   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #solution-child-header {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 600px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
  }
  .solution-child #solution-child-header p,
  .solution-child #solution-child-header h1 {
    color: white;
    text-align: center;
  }
  .solution-child #solution-child-header .solution-child-header__ttl {
    font-weight: 400;
    font-size: 24px;
  }
  .solution-child #solution-child-header .solution-child-header__lead {
    margin-top: 47px;
    font-size: 56px;
  }
  .solution-child #solution-child-header .solution-child-header__sub {
    margin-top: 40px;
    font-size: 26px;
  }
  .solution-child #solution-child-header .solution-child-header__cta {
    margin-top: 64px;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #solution-child-header {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 620px;
    display: flex;
    align-items: center;
  }
  .solution-child #solution-child-header p,
  .solution-child #solution-child-header h1 {
    color: white;
    text-align: center;
  }
  .solution-child #solution-child-header .solution-child-header__ttl {
    font-weight: 400;
    font-size: 18px;
  }
  .solution-child #solution-child-header .solution-child-header__lead {
    margin-top: 30px;
    font-size: 30px;
  }
  .solution-child #solution-child-header .solution-child-header__sub {
    margin-top: 30px;
    font-size: 18px;
  }
  .solution-child #solution-child-header .solution-child-header-cta {
    margin-top: 30px;
  }
}
.solution-child {
  /*****************/
  /**** intro   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #intro {
    background-color: #F0F0F0;
    padding-top: 29px;
    position: relative;
    overflow: hidden;
  }
  .solution-child #intro .intro-bg {
    position: absolute;
    width: 799px;
    right: 0;
    top: 10%;
    transform: translateX(20%);
  }
  .solution-child #intro .intro-catch {
    margin-top: 68px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .solution-child #intro .intro-catch__left {
    flex-shrink: 0;
    width: 520px;
    padding-top: 10px;
    position: relative;
    font-size: 38px;
    line-height: 1.6;
    color: #0059A3;
  }
  .solution-child #intro .intro-catch__left:after {
    content: "";
    width: 120px;
    height: 2px;
    background-color: #0059A3;
    position: absolute;
    bottom: -30px;
    right: 0;
    transform: rotate(-40deg);
  }
  .solution-child #intro .intro-catch__hover {
    display: inline-block;
    position: relative;
    padding-right: 20px;
    cursor: pointer;
  }
  .solution-child #intro .intro-catch__hover img {
    position: absolute;
    width: 16px;
    top: 12px;
    right: 0;
  }
  .solution-child #intro .intro-catch__hover:hover p {
    display: block;
  }
  .solution-child #intro .intro-catch__pop {
    display: none;
    width: 496px;
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    font-size: 14px;
    position: absolute;
    right: 0;
    bottom: 18px;
    transform: translate(100%, 100%);
    color: black;
    z-index: 5;
  }
  .solution-child #intro .intro-catch__pop span {
    display: block;
    font-size: 15px;
    margin-bottom: 10px;
    color: #0059A3;
  }
  .solution-child #intro .intro-catch__desc {
    width: 100%;
    margin-left: 2%;
    max-width: 654px;
    font-size: 20px;
    line-height: 2;
  }
  .solution-child #intro .intro-ttl {
    margin-top: 100px;
  }
  .solution-child #intro .intro-tabs {
    margin-top: 96px;
    margin-bottom: 100px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
  }
  .solution-child #intro .intro-tabs__item {
    flex-shrink: 0;
    width: 384px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, white, #F7F7F7);
    position: relative;
    padding: 112px 40px 40px;
    border-radius: 16px;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  .solution-child #intro .intro-tabs__img {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -20%);
  }
  .solution-child #intro .intro-tabs__img.item01 {
    width: 122px;
  }
  .solution-child #intro .intro-tabs__img.item02 {
    width: 116px;
  }
  .solution-child #intro .intro-tabs__img.item03 {
    width: 102px;
  }
  .solution-child #intro .intro-tabs__top {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .solution-child #intro .intro-tabs__sub {
    font-size: 15px;
    color: #0059A3;
    background-color: #ECF3F8;
    padding: 5px 24px;
    display: inline-block;
  }
  .solution-child #intro .intro-tabs__ttl {
    margin-top: 20px;
    font-size: 24px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    padding-bottom: 24px;
    cursor: pointer;
    text-align: center;
  }
  .solution-child #intro .intro-tabs__ttl:hover .intro-tabs__pop {
    display: block;
  }
  .solution-child #intro .intro-tabs__ttl:after {
    position: absolute;
    content: "";
    width: 80px;
    height: 2px;
    background-color: rgba(67, 67, 67, 0.6);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .solution-child #intro .intro-tabs__ttl img {
    position: absolute;
    width: 16px;
    top: 0;
    right: -20px;
  }
  .solution-child #intro .intro-tabs__pop {
    display: none;
    z-index: 5;
    font-weight: 400;
    position: absolute;
    top: -14px;
    right: 0;
    transform: translate(50%, -100%);
    width: 294px;
    padding: 30px;
    font-size: 14px;
    line-height: 1.6;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .solution-child #intro .intro-tabs__lead {
    margin-top: 29px;
    color: #0059A3;
    font-size: 18px;
    text-align: center;
    min-height: 60px;
  }
  .solution-child #intro .intro-tabs__desc {
    line-height: 2;
    margin-top: 15px;
    font-size: 16px;
  }
  .solution-child #intro .intro-tabs__thumb {
    margin-top: 35px;
    border-radius: 8px;
    aspect-ratio: 304/193;
  }
  .solution-child #intro .intro-tabs__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solution-child #intro .intro-tabs__more {
    margin-top: 32px;
    width: 304px;
    height: 42px;
    border-radius: 42px;
    border: 1px solid #0059A3;
    background-color: white;
    color: #0059A3;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  .solution-child #intro .intro-tabs__more::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
    margin-bottom: 3px;
  }
  .solution-child #intro .intro-tabs__more.active {
    background-color: #0059A3;
    color: white;
  }
  .solution-child #intro .intro-tabs__more.active:after {
    border-color: white;
  }
  .solution-child #intro .intro-contents__item {
    background-color: #F8F8F8;
    padding: 56px 0 61px;
  }
  .solution-child #intro .intro-contents__inner {
    padding-left: 36px;
    padding-right: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .solution-child #intro .intro-contents__thumb {
    width: 50%;
    max-width: 440px;
    aspect-ratio: 440/280;
    border-radius: 8px;
    overflow: hidden;
  }
  .solution-child #intro .intro-contents__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solution-child #intro .intro-contents__main {
    margin-left: 2%;
    width: 50%;
    max-width: 588px;
  }
  .solution-child #intro .intro-contents__ttl {
    display: flex;
    align-items: center;
    font-size: 18px;
  }
  .solution-child #intro .intro-contents__ttl img {
    width: 45px;
    margin-right: 20px;
  }
  .solution-child #intro .intro-contents__desc {
    line-height: 2;
    margin-top: 32px;
    font-size: 18px;
  }
  .solution-child #intro .intro-contents__close {
    display: block;
    margin: 40px auto 0;
    width: 304px;
    height: 42px;
    border-radius: 42px;
    border: 1px solid #0059A3;
    background-color: white;
    color: #0059A3;
    font-size: 15px;
    text-align: center;
    position: relative;
    cursor: pointer;
  }
  .solution-child #intro .intro-contents__close::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-left: 1px solid #0059A3;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 46px;
    transform: rotate(45deg) translateY(-50%);
  }
  .solution-child #intro .intro-contents__close:hover {
    background-color: #0059A3;
    color: white;
  }
  .solution-child #intro .intro-contents__close:hover:after {
    border-color: white;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #intro {
    background-color: #F0F0F0;
    padding-top: 47px;
    position: relative;
    overflow: hidden;
  }
  .solution-child #intro .intro-bg {
    display: none;
    position: absolute;
    width: 799px;
    right: 0;
    top: 10%;
    transform: translateX(20%);
  }
  .solution-child #intro .intro-breadcrumb {
    display: none;
  }
  .solution-child #intro .intro-catch__left {
    width: 327px;
    position: relative;
    font-size: 24px;
    line-height: 1.6;
    color: #0059A3;
  }
  .solution-child #intro .intro-catch__left:after {
    content: "";
    width: 60px;
    height: 2px;
    background-color: #0059A3;
    position: absolute;
    bottom: -10px;
    right: 0;
    transform: rotate(-45deg);
  }
  .solution-child #intro .intro-catch__hover {
    display: inline-block;
    position: relative;
    padding-right: 10px;
    cursor: pointer;
  }
  .solution-child #intro .intro-catch__hover img {
    position: absolute;
    width: 10px;
    top: 5px;
    right: 0;
  }
  .solution-child #intro .intro-catch__hover:hover p {
    display: block;
  }
  .solution-child #intro .intro-catch__pop {
    display: none;
    width: 300px;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    font-size: 14px;
    position: absolute;
    right: 0;
    bottom: 18px;
    transform: translate(100%, 100%);
    color: black;
    z-index: 5;
  }
  .solution-child #intro .intro-catch__pop span {
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
    color: #0059A3;
  }
  .solution-child #intro .intro-catch__desc {
    margin-top: 55px;
    font-size: 15px;
    line-height: 2;
  }
  .solution-child #intro .intro-ttl {
    margin-top: 70px;
  }
  .solution-child #intro .intro-tabs {
    margin-bottom: 40px;
  }
  .solution-child #intro .intro-tabs__item {
    margin-top: 53px;
    border: 3px solid white;
    background: linear-gradient(to right, #F7F7F7, white, #F7F7F7);
    position: relative;
    padding: 80px 30px 30px;
    border-radius: 16px;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  .solution-child #intro .intro-tabs__img {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -20%);
  }
  .solution-child #intro .intro-tabs__img.item01 {
    width: 79px;
  }
  .solution-child #intro .intro-tabs__img.item02 {
    width: 60px;
  }
  .solution-child #intro .intro-tabs__img.item03 {
    width: 59px;
  }
  .solution-child #intro .intro-tabs__top {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .solution-child #intro .intro-tabs__sub {
    font-size: 13px;
    color: #0059A3;
    background-color: #ECF3F8;
    padding: 5px 8px;
    display: inline-block;
  }
  .solution-child #intro .intro-tabs__ttl {
    margin-top: 12px;
    font-size: 20px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    padding-bottom: 20px;
    cursor: pointer;
    text-align: center;
  }
  .solution-child #intro .intro-tabs__ttl:hover .intro-tabs__pop {
    display: block;
  }
  .solution-child #intro .intro-tabs__ttl:after {
    position: absolute;
    content: "";
    width: 80px;
    height: 2px;
    background-color: rgba(67, 67, 67, 0.6);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .solution-child #intro .intro-tabs__ttl img {
    position: absolute;
    width: 10px;
    top: 0;
    right: -20px;
  }
  .solution-child #intro .intro-tabs__pop {
    display: none;
    z-index: 5;
    font-weight: 400;
    position: absolute;
    top: -14px;
    right: 0;
    transform: translate(50%, -100%);
    width: 294px;
    padding: 30px;
    font-size: 14px;
    line-height: 1.6;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .solution-child #intro .intro-tabs__lead {
    margin-top: 24px;
    color: #0059A3;
    font-size: 16px;
    text-align: center;
  }
  .solution-child #intro .intro-tabs__desc {
    line-height: 2;
    margin-top: 24px;
    font-size: 14px;
  }
  .solution-child #intro .intro-tabs__thumb {
    margin-top: 30px;
    border-radius: 8px;
    aspect-ratio: 263/167;
  }
  .solution-child #intro .intro-tabs__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solution-child #intro .intro-tabs__more {
    margin: 24px auto 0;
    width: 263px;
    max-width: 100%;
    height: 42px;
    border-radius: 42px;
    border: 1px solid #0059A3;
    background-color: white;
    color: #0059A3;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  .solution-child #intro .intro-tabs__more::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
    margin-bottom: 3px;
  }
  .solution-child #intro .intro-tabs__more.active {
    background-color: #0059A3;
    color: white;
  }
  .solution-child #intro .intro-tabs__more.active:after {
    border-color: white;
  }
  .solution-child #intro .intro-contents {
    margin-top: 50px;
  }
  .solution-child #intro .intro-contents__item {
    background-color: #F8F8F8;
    padding: 30px 0;
  }
  .solution-child #intro .intro-contents__thumb {
    margin: 20px auto 0;
    max-width: 440px;
    aspect-ratio: 440/280;
    border-radius: 8px;
    overflow: hidden;
  }
  .solution-child #intro .intro-contents__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solution-child #intro .intro-contents__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  .solution-child #intro .intro-contents__ttl img {
    width: 25px;
    margin-right: 15px;
  }
  .solution-child #intro .intro-contents__desc {
    line-height: 2;
    margin-top: 22px;
    font-size: 16px;
  }
  .solution-child #intro .intro-contents__close {
    display: block;
    margin: 20px auto 0;
    width: 270px;
    max-width: 100%;
    height: 42px;
    border-radius: 42px;
    border: 1px solid #0059A3;
    background-color: white;
    color: #0059A3;
    font-size: 15px;
    text-align: center;
    position: relative;
    cursor: pointer;
  }
  .solution-child #intro .intro-contents__close::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-left: 1px solid #0059A3;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 46px;
    transform: rotate(45deg) translateY(-50%);
  }
  .solution-child #intro .intro-contents__close:hover {
    background-color: #0059A3;
    color: white;
  }
  .solution-child #intro .intro-contents__close:hover:after {
    border-color: white;
  }
}
.solution-child {
  /*****************/
  /**** solution   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #solution {
    padding-top: 80px;
    padding-bottom: 103px;
  }
  .solution-child #solution .prepare-list {
    margin-top: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 130px;
    padding: 50px 65px;
    background-color: #ECF3F8;
    border-radius: 16px;
  }
  .solution-child #solution .prepare-list__item {
    flex-shrink: 0;
    width: 270px;
    min-height: 180px;
    position: relative;
  }
  .solution-child #solution .prepare-list__item:after {
    content: "";
    display: block;
    width: 16px;
    height: 30px;
    background-image: url(../image/solution-child/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -65px;
    bottom: 30px;
  }
  .solution-child #solution .prepare-list__item:last-child::after {
    display: none;
  }
  .solution-child #solution .prepare-list__icon {
    width: 66px;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translate(-50%, -100%);
  }
  .solution-child #solution .prepare-list__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #0059A3;
    cursor: pointer;
  }
  .solution-child #solution .prepare-list__ttl::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 16px;
  }
  .solution-child #solution .prepare-list__ttl.active:after {
    transform: rotate(-135deg);
  }
  .solution-child #solution .prepare-list__desc {
    margin-top: 23px;
    font-size: 16px;
    color: #0059A3;
  }
  .solution-child #solution .prepare-list__child {
    margin-top: 32px;
  }
  .solution-child #solution .prepare-list__child.child01 .prepare-list__children::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 16px;
    margin-top: 3px;
  }
  .solution-child #solution .prepare-list__children {
    font-size: 18px;
    display: flex;
    align-items: center;
    margin-bottom: 13px;
  }
  .solution-child #solution .prepare-list__children:last-child {
    margin-bottom: 0;
  }
  .solution-child #solution .prepare-list__children::before {
    content: "●";
    font-size: 10px;
    display: block;
    color: #0059A3;
    margin-right: 20px;
  }
  .solution-child #solution .prepare-list__next {
    width: 108px;
    margin: 0 auto;
  }
  .solution-child #solution .data {
    padding: 80px 48px 36px;
    border-radius: 16px;
    position: relative;
  }
  .solution-child #solution .data-ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    transform: translateY(-50%);
  }
  .solution-child #solution .data-ttl img {
    width: 66px;
    margin-right: 32px;
  }
  .solution-child #solution .data-list {
    margin: 0 -10px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .solution-child #solution .data-list__item {
    flex-shrink: 0;
    width: 260px;
    padding: 25px 20px 32px;
    border-radius: 8px;
    background-color: white;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
  }
  .solution-child #solution .data-list__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.6;
    cursor: pointer;
  }
  .solution-child #solution .data-list__ttl p {
    min-height: 60px;
  }
  .solution-child #solution .data-list__ttl span {
    color: black;
    display: block;
  }
  .solution-child #solution .data-list__ttl::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-bottom: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    transition: all 0.6s ease;
  }
  .solution-child #solution .data-list__ttl.active::after {
    transform: rotate(-135deg);
  }
  .solution-child #solution .data-list__desc {
    margin-top: 16px;
    font-size: 16px;
    min-height: 77px;
    font-weight: 400;
  }
  .solution-child #solution .use {
    background-color: rgba(230, 193, 65, 0.2);
    margin-top: 62px;
  }
  .solution-child #solution .use-ttl {
    color: #EB9100;
  }
  .solution-child #solution .use-list__ttl span {
    font-size: 18px;
    color: #EB9100;
  }
  .solution-child #solution .use-list__ttl p {
    font-size: 16px;
    margin-top: 10px;
    color: black;
  }
  .solution-child #solution .use-list__ttl:after {
    border-color: #EB9100;
  }
  .solution-child #solution .result {
    background-color: rgba(237, 115, 40, 0.2);
    margin-top: 96px;
  }
  .solution-child #solution .result-ttl {
    color: #ED7328;
  }
  .solution-child #solution .result-lead {
    font-size: 18px;
    text-align: center;
  }
  .solution-child #solution .result-list {
    margin-top: 48px;
  }
  .solution-child #solution .result-list__ttl p {
    color: #ED7328;
    font-size: 18px;
  }
  .solution-child #solution .result-list__ttl:after {
    border-color: #ED7328;
  }
  .solution-child #solution .result-sub {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #solution {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .solution-child #solution .prepare-list {
    margin-top: 37px;
    padding: 30px 30px 48px;
    background-color: #ECF3F8;
    border-radius: 16px;
  }
  .solution-child #solution .prepare-list__item {
    position: relative;
    margin-bottom: 97px;
  }
  .solution-child #solution .prepare-list__item:last-child {
    margin-bottom: 0;
  }
  .solution-child #solution .prepare-list__item:after {
    content: "";
    display: block;
    width: 16px;
    height: 30px;
    background-image: url(../image/solution-child/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    bottom: -66px;
  }
  .solution-child #solution .prepare-list__item:last-child::after {
    display: none;
  }
  .solution-child #solution .prepare-list__icon {
    width: 66px;
    margin: 0 auto;
  }
  .solution-child #solution .prepare-list__ttl {
    margin-top: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #0059A3;
  }
  .solution-child #solution .prepare-list__ttl::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 10px;
    cursor: pointer;
  }
  .solution-child #solution .prepare-list__ttl.active:after {
    transform: rotate(-135deg);
  }
  .solution-child #solution .prepare-list__desc {
    margin: 15px auto 0;
    max-width: 350px;
    font-size: 14px;
    color: #0059A3;
  }
  .solution-child #solution .prepare-list__child {
    margin: 20px auto 0;
    width: 210px;
  }
  .solution-child #solution .prepare-list__child.child01 .prepare-list__children::after {
    content: "";
    display: none;
    width: 7px;
    height: 7px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 16px;
    margin-top: 3px;
  }
  .solution-child #solution .prepare-list__children {
    font-size: 16px;
    display: flex;
    align-items: center;
    margin-bottom: 13px;
  }
  .solution-child #solution .prepare-list__children:last-child {
    margin-bottom: 0;
  }
  .solution-child #solution .prepare-list__children::before {
    content: "●";
    font-size: 10px;
    display: block;
    color: #0059A3;
    margin-right: 20px;
  }
  .solution-child #solution .prepare-list__next {
    width: 108px;
    margin: 0 auto;
  }
  .solution-child #solution .data {
    margin-top: 40px;
    position: relative;
  }
  .solution-child #solution .data-ttl {
    font-size: 18px;
    text-align: center;
  }
  .solution-child #solution .data-ttl img {
    width: 66px;
    margin: 0 auto 21px;
  }
  .solution-child #solution .data-list {
    border-radius: 16px;
    margin-top: 27px;
    padding: 32px 34px;
  }
  .solution-child #solution .data-list__item {
    padding: 25px 20px 32px;
    border-radius: 8px;
    background-color: white;
    margin: 0 auto 20px;
  }
  .solution-child #solution .data-list__item:last-child {
    margin-bottom: 0;
  }
  .solution-child #solution .data-list__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.6;
    cursor: pointer;
  }
  .solution-child #solution .data-list__ttl span {
    color: black;
    display: block;
  }
  .solution-child #solution .data-list__ttl::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin-top: 20px;
    border-bottom: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
    transition: all 0.6s ease;
  }
  .solution-child #solution .data-list__ttl.active::after {
    transform: rotate(-135deg);
  }
  .solution-child #solution .data-list__desc {
    margin: 16px auto 0;
    font-size: 14px;
    font-weight: 400;
    max-width: 350px;
  }
  .solution-child #solution .use-ttl {
    color: #EB9100;
  }
  .solution-child #solution .use-list {
    background-color: rgba(230, 193, 65, 0.2);
  }
  .solution-child #solution .use-list__ttl span {
    font-size: 18px;
    color: #EB9100;
  }
  .solution-child #solution .use-list__ttl p {
    font-size: 16px;
    margin-top: 10px;
    color: black;
  }
  .solution-child #solution .use-list__ttl:after {
    border-color: #EB9100;
  }
  .solution-child #solution .result-ttl {
    color: #ED7328;
  }
  .solution-child #solution .result-lead {
    margin-top: 27px;
    padding-left: 35px;
    padding-right: 35px;
    font-size: 14px;
  }
  .solution-child #solution .result-list {
    background-color: rgba(237, 115, 40, 0.2);
  }
  .solution-child #solution .result-list__ttl p {
    color: #ED7328;
    font-size: 18px;
  }
  .solution-child #solution .result-list__ttl:after {
    border-color: #ED7328;
  }
  .solution-child #solution .result-sub {
    margin-top: 32px;
    font-size: 14px;
    padding-left: 35px;
    padding-right: 35px;
  }
}
.solution-child {
  /*****************/
  /**** value   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #value {
    padding-top: 48px;
    padding-bottom: 84px;
    background-color: #EDF2F7;
  }
  .solution-child #value .value-wrapper {
    background-color: white;
    padding-top: 48px;
    padding-bottom: 80px;
  }
  .solution-child #value .value-lead {
    margin-top: 48px;
    font-size: 20px;
    text-align: center;
  }
  .solution-child #value .value-list {
    margin-top: 52px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
  }
  .solution-child #value .value-list__item {
    flex-shrink: 0;
    width: 588px;
    min-height: 239px;
    background: linear-gradient(#0059A3, #003F89, #023A7B);
    border-radius: 16px;
    padding: 36px 44px 48px;
  }
  .solution-child #value .value-list__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    font-weight: 500;
  }
  .solution-child #value .value-list__ttl img {
    margin-right: 24px;
  }
  .solution-child #value .value-list__ttl.item01 img {
    width: 28px;
  }
  .solution-child #value .value-list__ttl.item02 img {
    width: 25px;
  }
  .solution-child #value .value-list__ttl.item03 img {
    width: 25px;
  }
  .solution-child #value .value-list__ttl.item04 img {
    width: 31px;
  }
  .solution-child #value .value-list__desc {
    margin-top: 26px;
    font-size: 16px;
    font-weight: 400;
    color: white;
  }
  .solution-child #value .value-list__sub {
    margin-top: 38px;
    font-size: 20px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #value {
    padding-top: 40px;
    padding-bottom: 66px;
    background-color: #EDF2F7;
  }
  .solution-child #value .value-lead {
    margin-top: 38px;
    font-size: 15px;
    padding-left: 35px;
    padding-right: 35px;
  }
  .solution-child #value .value-list {
    margin-top: 38px;
  }
  .solution-child #value .value-list__item {
    flex-shrink: 0;
    background: linear-gradient(#0059A3, #003F89, #023A7B);
    border-radius: 16px;
    padding: 36px 32px;
    margin-bottom: 24px;
  }
  .solution-child #value .value-list__item:last-child {
    margin-bottom: 0;
  }
  .solution-child #value .value-list__ttl {
    font-size: 18px;
    text-align: center;
    color: white;
    font-weight: 500;
  }
  .solution-child #value .value-list__ttl img {
    margin: 0 auto 16px;
  }
  .solution-child #value .value-list__ttl.item01 img {
    width: 28px;
  }
  .solution-child #value .value-list__ttl.item02 img {
    width: 25px;
  }
  .solution-child #value .value-list__ttl.item03 img {
    width: 25px;
  }
  .solution-child #value .value-list__ttl.item04 img {
    width: 31px;
  }
  .solution-child #value .value-list__desc {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 400;
    color: white;
  }
  .solution-child #value .value-list__sub {
    margin-top: 26px;
    padding-left: 35px;
    padding-right: 35px;
    font-size: 15px;
    font-weight: 400;
  }
}
.solution-child {
  /*****************/
  /**** app   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #app {
    padding-top: 72px;
    background-color: #EDF2F7;
  }
  .solution-child #app .app-ttl {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
  }
  .solution-child #app .app-list {
    margin-top: 45px;
  }
  .solution-child #app .app-list__item {
    border-radius: 16px;
    background-color: white;
    padding: 32px 71px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  .solution-child #app .app-list__item:last-child {
    margin-bottom: 0;
  }
  .solution-child #app .app-list__ttl {
    font-weight: 500;
    flex-shrink: 0;
    width: 288px;
    display: flex;
    align-items: center;
    font-size: 22px;
    color: #0059A3;
    border-right: 1px solid #434343;
  }
  .solution-child #app .app-list__ttl img {
    width: 30px;
    margin-right: 32px;
  }
  .solution-child #app .app-list__desc {
    font-size: 20px;
    margin-left: 28px;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #app {
    background-color: #EDF2F7;
  }
  .solution-child #app .app-ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .solution-child #app .app-list {
    margin-top: 41px;
  }
  .solution-child #app .app-list__item {
    border-radius: 16px;
    background-color: white;
    padding: 24px 32px;
    margin-bottom: 16px;
  }
  .solution-child #app .app-list__item:last-child {
    margin-bottom: 0;
  }
  .solution-child #app .app-list__ttl {
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #0059A3;
  }
  .solution-child #app .app-list__ttl img {
    width: 30px;
    margin-right: 12px;
  }
  .solution-child #app .app-list__desc {
    font-size: 14px;
    margin-top: 16px;
  }
}
.solution-child {
  /*****************/
  /****case  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #case {
    padding-top: 72px;
    background-color: #EDF2F7;
  }
  .solution-child #case .case-ttl {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
  }
  .solution-child #case .case-list {
    margin-top: 45px;
    gap: 24px;
  }
  .solution-child #case .case-list__item {
    width: 384px;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #case {
    padding-top: 60px;
    background-color: #EDF2F7;
  }
  .solution-child #case .case-ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .solution-child #case .case-list {
    margin-top: 41px;
  }
  .solution-child #case .case-list__item {
    width: 327px;
  }
  .solution-child #case .case-list__link {
    height: 200px;
  }
  .solution-child #case .case-list__main {
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .solution-child #case .case-list__ttl {
    height: auto;
  }
}
.solution-child {
  /*****************/
  /****service  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #service,
  .solution-child #resol {
    padding-top: 82px;
    background-color: #EDF2F7;
  }
  .solution-child #service .related__list,
  .solution-child #resol .related__list {
    margin-top: 32px;
  }
  .solution-child #service .related__item,
  .solution-child #resol .related__item {
    width: 336px;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #service,
  .solution-child #resol {
    padding-top: 60px;
    background-color: #EDF2F7;
  }
  .solution-child #service .service-ttl,
  .solution-child #resol .service-ttl {
    justify-content: center;
  }
  .solution-child #service .related__list,
  .solution-child #resol .related__list {
    margin-top: 32px;
  }
}
.solution-child {
  /*****************/
  /****faq  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  .solution-child #faq {
    padding-top: 72px;
    padding-bottom: 100px;
    background-color: #EDF2F7;
  }
}
@media screen and (max-width: 768px) {
  .solution-child #faq .faq-ttl {
    justify-content: center;
  }
  .solution-child #faq {
    padding-top: 40px;
    padding-bottom: 60px;
    background-color: #EDF2F7;
  }
}

/*****************/
/**** page-company   *****/
/*****************/
#page-company {
  /*****************/
  /**** header   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company #page-header {
    position: relative;
    height: 500px;
    background-image: url(../image/company/company_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    padding-top: 80px;
    align-items: center;
  }
  #page-company #page-header .header-ttl {
    margin: auto;
    text-align: center;
    font-size: 56px;
    font-weight: 400;
    color: white;
  }
  #page-company #page-header .header-ttl span {
    display: block;
    font-size: 34px;
    font-weight: 400;
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 768px) {
  #page-company #page-header {
    position: relative;
    height: 400px;
    background-image: url(../image/company/company_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    padding-top: 60px;
    align-items: center;
  }
  #page-company #page-header .header-ttl {
    margin: auto;
    text-align: center;
    font-size: 30px;
    font-weight: 400;
    color: white;
  }
  #page-company #page-header .header-ttl span {
    display: block;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 10px;
  }
}
#page-company {
  /*****************/
  /**** breadcrumb   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company .company-breadcrumb {
    margin-top: 24px;
  }
  #page-company .company-breadcrumb .breadcrumb-list__item.page {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  #page-company .company-breadcrumb {
    margin-top: 24px;
  }
  #page-company .company-breadcrumb .breadcrumb-list__item.page {
    opacity: 0.6;
  }
}
#page-company {
  /*****************/
  /**** intro   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company #intro {
    padding-top: 67px;
  }
  #page-company #intro .intro-lead {
    font-size: 20px;
    text-align: center;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  #page-company #intro {
    padding-top: 47px;
  }
  #page-company #intro .intro-lead {
    font-size: 16px;
    text-align: center;
    line-height: 2;
  }
}
#page-company {
  /*****************/
  /**** banner   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company #banner {
    padding-top: 104px;
    padding-bottom: 146px;
  }
  #page-company #banner .banner-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 36px;
  }
  #page-company #banner .banner-list__item {
    flex-shrink: 0;
    width: 582px;
  }
  #page-company #banner .banner-list__link {
    height: 269px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  #page-company #banner .banner-list__link::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 31px;
    right: 31px;
    transition: all 0.6s ease;
  }
  #page-company #banner .banner-list__link:hover {
    opacity: 1;
  }
  #page-company #banner .banner-list__link:hover .banner-list__img {
    transform: scale(1.1);
  }
  #page-company #banner .banner-list__link:hover:after {
    transform: translateX(10px) rotate(45deg);
  }
  #page-company #banner .banner-list__img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    transition: all 0.6s ease;
  }
  #page-company #banner .banner-list__ttl {
    position: relative;
    margin-top: 70px;
    margin-left: auto;
    margin-right: 0;
    width: 282px;
    height: 110px;
    background: linear-gradient(to right, transparent, #003560);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    color: white;
    font-size: 32px;
    font-weight: bold;
    padding-right: 64px;
  }
  #page-company #banner .banner-list__ttl span {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  #page-company #banner {
    padding-top: 64px;
    padding-bottom: 76px;
  }
  #page-company #banner .banner-list__item {
    margin: 0 auto 25px;
    max-width: 582px;
  }
  #page-company #banner .banner-list__item:last-child {
    margin-bottom: 0;
  }
  #page-company #banner .banner-list__link {
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
  }
  #page-company #banner .banner-list__link::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    position: absolute;
    bottom: 31px;
    right: 31px;
    transition: all 0.6s ease;
  }
  #page-company #banner .banner-list__link:hover {
    opacity: 1;
  }
  #page-company #banner .banner-list__link:hover .banner-list__img {
    transform: scale(1.1);
  }
  #page-company #banner .banner-list__link:hover:after {
    transform: translateX(10px) rotate(45deg);
  }
  #page-company #banner .banner-list__img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    transition: all 0.6s ease;
  }
  #page-company #banner .banner-list__ttl {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 0;
    width: 200px;
    height: 70px;
    background: linear-gradient(to right, transparent, #003560);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    color: white;
    font-size: 24px;
    font-weight: bold;
    padding-right: 30px;
  }
  #page-company #banner .banner-list__ttl span {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px;
  }
}

/*****************/
/**** page-greeting   *****/
/*****************/
#page-greeting {
  /*****************/
  /**** content   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-greeting #content {
    padding-top: 30px;
    padding-bottom: 154px;
  }
  #page-greeting #content .content-ttl {
    display: flex;
    justify-content: center;
    gap: 30px;
  }
  #page-greeting #content .content-ttl h2 {
    font-size: 32px;
    font-weight: bold;
    color: #0059A3;
    padding: 0 35px 24px;
    border-bottom: 1px solid #0059A3;
  }
  #page-greeting #content .content-main {
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8%;
  }
  #page-greeting #content .content-main__img {
    flex-shrink: 0;
    width: 500px;
    border-radius: 8px;
    margin-bottom: 50px;
  }
  #page-greeting #content .content-main__right {
    width: 600px;
  }
  #page-greeting #content .content-main__right img {
    margin-top: 53px;
    margin-left: auto;
    margin-right: 0;
    width: 360px;
  }
  #page-greeting #content .content-main__desc {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  #page-greeting #content {
    padding-top: 30px;
    padding-bottom: 75px;
  }
  #page-greeting #content .content-ttl {
    display: flex;
    justify-content: center;
  }
  #page-greeting #content .content-ttl h2 {
    line-height: 1.6;
    font-size: 20px;
    font-weight: bold;
    color: #0059A3;
    padding: 0 15px 14px;
    border-bottom: 1px solid #0059A3;
  }
  #page-greeting #content .content-main {
    margin-top: 50px;
  }
  #page-greeting #content .content-main__img {
    width: 80%;
    max-width: 500px;
    border-radius: 8px;
    margin: 0 auto 50px;
  }
  #page-greeting #content .content-main__right {
    margin: 0 auto;
    max-width: 600px;
  }
  #page-greeting #content .content-main__right img {
    margin-top: 33px;
    margin-left: auto;
    margin-right: 0;
    width: 240px;
  }
  #page-greeting #content .content-main__desc {
    font-size: 16px;
  }
}

/*****************/
/**** page-header  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-header {
    height: 327px;
    position: relative;
    padding-top: 98px;
  }
  #page-header .page-header__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 665px;
  }
  #page-header .page-header__breadcrumb .breadcrumb-list__item.page {
    opacity: 0.6;
  }
  #page-header .page-header__ttl {
    margin-top: 58px;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
  }
  #page-header .page-header__ttl span {
    display: block;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #page-header {
    height: 227px;
    position: relative;
    padding-top: 78px;
  }
  #page-header .page-header__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
  }
  #page-header .page-header__breadcrumb .breadcrumb-list__item.page {
    opacity: 0.6;
  }
  #page-header .page-header__ttl {
    margin-top: 38px;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
  }
  #page-header .page-header__ttl span {
    display: block;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 10px;
  }
}

/*****************/
/**** single-page  *****/
/*****************/
@media screen and (min-width: 769px) {
  .single-page #content {
    padding-top: 27px;
    padding-bottom: 231px;
  }
  .single-page #content .container {
    max-width: 830px;
  }
  .single-page #content .content-status {
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .single-page #content .content-status__cat {
    padding: 10px 15px;
    background-color: #0059A3;
    color: white;
    font-size: 16px;
  }
  .single-page #content .content-status time {
    font-size: 16px;
    color: #333;
  }
  .single-page #content .content-thumb {
    width: 100%;
    margin-bottom: 30px;
  }
  .single-page #content .content-thumb img {
    width: 100%;
  }
  .single-page #content .content-arrow {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
  }
  .single-page #content .content-arrow__item {
    width: 200px;
    display: flex;
    color: #0059A3;
    font-size: 16px;
  }
  .single-page #content .content-arrow__item a {
    color: #0059A3;
  }
  .single-page #content .content-arrow__item.prev a {
    margin-left: 10px;
  }
  .single-page #content .content-arrow__item.next {
    justify-content: flex-end;
  }
  .single-page #content .content-arrow__item.next a {
    margin-right: 10px;
  }
  .single-page #content .content-wrapper figure {
    margin-bottom: 30px;
  }
  .single-page #content .content-wrapper figure img {
    margin: 0 auto;
  }
  .single-page #content .content-wrapper figure figcaption {
    display: none;
  }
  .single-page #content .content-wrapper h2 {
    margin-top: 74px;
    margin-bottom: 32px;
    font-size: 24px;
    color: #0059A3;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid #0059A3;
    line-height: 1.6;
  }
  .single-page #content .content-wrapper h2 span {
    margin-left: 32px;
    font-size: 18px;
    font-weight: 400;
  }
  .single-page #content .content-wrapper h3 {
    font-size: 20px;
    color: #0059A3;
    font-weight: bold;
    margin-bottom: 26px;
  }
  .single-page #content .content-wrapper p {
    font-size: 18px;
    margin-bottom: 32px;
    line-height: 1.6;
  }
  .single-page #content .content-wrapper p a {
    display: inline-block;
  }
  .single-page #content .content-wrapper ol {
    margin-bottom: 30px;
    padding-left: 20px;
  }
  .single-page #content .content-wrapper ol li {
    line-height: 1.6;
    color: #0059A3;
    font-size: 18px;
    margin-bottom: 5px;
  }
  .single-page #content .content-wrapper ul {
    margin-bottom: 30px;
  }
  .single-page #content .content-wrapper ul li {
    line-height: 1.6;
    color: #0059A3;
    font-size: 18px;
    margin-bottom: 5px;
  }
  .single-page #content .page-top {
    background-color: #0059A3;
    border-radius: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 62px;
    width: 467px;
    margin: 32px auto 0;
    font-size: 20px;
    color: white;
    font-weight: bold;
    border: none;
    cursor: pointer;
  }
}
@media screen and (max-width: 768px) {
  .single-page #content {
    padding-top: 27px;
    padding-bottom: 81px;
  }
  .single-page #content .container {
    max-width: 830px;
  }
  .single-page #content .content-status {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .single-page #content .content-status__cat {
    padding: 5px 10px;
    background-color: #0059A3;
    color: white;
    font-size: 14px;
  }
  .single-page #content .content-status time {
    font-size: 14px;
    color: #333;
  }
  .single-page #content .content-thumb {
    width: 100%;
    margin-bottom: 20px;
  }
  .single-page #content .content-thumb img {
    width: 100%;
  }
  .single-page #content .content-arrow {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
  }
  .single-page #content .content-arrow__item {
    width: 100px;
    display: flex;
    color: #0059A3;
    font-size: 14px;
  }
  .single-page #content .content-arrow__item a {
    color: #0059A3;
  }
  .single-page #content .content-arrow__item.prev a {
    margin-left: 10px;
  }
  .single-page #content .content-arrow__item.next {
    justify-content: flex-end;
  }
  .single-page #content .content-arrow__item.next a {
    margin-right: 10px;
  }
  .single-page #content .content-wrapper figure {
    margin-bottom: 20px;
  }
  .single-page #content .content-wrapper figure img {
    margin: 0 auto;
  }
  .single-page #content .content-wrapper figure figcaption {
    display: none;
  }
  .single-page #content .content-wrapper h2 {
    margin-top: 44px;
    margin-bottom: 20px;
    font-size: 20px;
    color: #0059A3;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #0059A3;
    line-height: 1.6;
  }
  .single-page #content .content-wrapper h2 span {
    margin-left: 15px;
    font-size: 16px;
    font-weight: 400;
  }
  .single-page #content .content-wrapper h3 {
    font-size: 18px;
    color: #0059A3;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .single-page #content .content-wrapper p {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 1.6;
  }
  .single-page #content .content-wrapper p a {
    display: inline-block;
  }
  .single-page #content .content-wrapper ol {
    margin-bottom: 20px;
    padding-left: 20px;
  }
  .single-page #content .content-wrapper ol li {
    line-height: 1.6;
    color: #0059A3;
    font-size: 16px;
    margin-bottom: 5px;
  }
  .single-page #content .content-wrapper ul {
    margin-bottom: 20px;
  }
  .single-page #content .content-wrapper ul li {
    line-height: 1.6;
    color: #0059A3;
    font-size: 16px;
    margin-bottom: 5px;
  }
}

/*****************/
/**** page-vision  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-vision #content .content-wrapper figure img {
    max-width: 487px;
  }
}
@media screen and (max-width: 768px) {
  #page-vision #content .content-wrapper figure img {
    max-width: 487px;
    width: 90%;
  }
}

/*****************/
/**** page-profile   *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-profile .company-container {
    max-width: 830px;
  }
  #page-profile .company-ttl {
    font-size: 24px;
    color: #0059A3;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid #0059A3;
    line-height: 1.6;
  }
  #page-profile .company-ttl span {
    margin-left: 32px;
    font-size: 18px;
    font-weight: 400;
  }
}
@media screen and (max-width: 768px) {
  #page-profile .company-ttl {
    font-size: 20px;
    color: #0059A3;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #0059A3;
    line-height: 1.6;
  }
  #page-profile .company-ttl span {
    margin-left: 15px;
    font-size: 16px;
    font-weight: 400;
  }
}
#page-profile {
  /*****************/
  /**** profile   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-profile #profile {
    padding-top: 29px;
  }
  #page-profile #profile .profile-table__row {
    padding: 20px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
    display: flex;
  }
  #page-profile #profile .profile-table__row dt {
    font-size: 16px;
    font-weight: 500;
    color: #0059A3;
    flex-shrink: 0;
    width: 200px;
    line-height: 1.6;
  }
  #page-profile #profile .profile-table__row dd {
    font-size: 16px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 768px) {
  #page-profile #profile {
    padding-top: 29px;
  }
  #page-profile #profile .profile-table__row {
    padding: 15px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
  }
  #page-profile #profile .profile-table__row dt {
    font-size: 14px;
    font-weight: 500;
    color: #0059A3;
    line-height: 1.6;
  }
  #page-profile #profile .profile-table__row dd {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.6;
  }
}
#page-profile {
  /*****************/
  /**** organ   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-profile #organ {
    padding-top: 94px;
  }
  #page-profile #organ .organ-img {
    width: 600px;
    margin: 48px auto 0;
  }
}
@media screen and (max-width: 768px) {
  #page-profile #organ {
    padding-top: 44px;
  }
  #page-profile #organ .organ-img {
    max-width: 600px;
    width: 100%;
    margin: 28px auto 0;
  }
}
#page-profile {
  /*****************/
  /**** location   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-profile #location {
    padding-top: 86px;
    padding-bottom: 121px;
  }
  #page-profile #location .location-img {
    width: 535px;
    margin: 48px auto 58px;
  }
  #page-profile #location .location-heading {
    font-size: 20px;
    color: #0059A3;
    padding: 5px 18px;
    border-left: 6px solid #0059A3;
  }
  #page-profile #location .location-heading span {
    font-size: 16px;
  }
  #page-profile #location .location-card {
    margin-top: 32px;
    border-radius: 4px;
    background-color: #FAFAFA;
    padding: 32px 64px;
  }
  #page-profile #location .location-flex {
    display: flex;
  }
  #page-profile #location .location-sub {
    font-size: 18px;
    color: #0059A3;
  }
  #page-profile #location .location-sub.location-left {
    flex-shrink: 0;
    width: 185px;
  }
  #page-profile #location .location-dl {
    width: 100%;
  }
  #page-profile #location .location-row {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
    display: flex;
    font-size: 16px;
    line-height: 1.6;
  }
  #page-profile #location .location-row:first-child {
    padding-top: 0;
  }
  #page-profile #location .location-row:last-child {
    padding-bottom: 0;
    border: none;
  }
  #page-profile #location .location-row dt {
    flex-shrink: 0;
    width: 210px;
  }
  #page-profile #location .location-address {
    margin-top: 64px;
    margin-bottom: 59px;
  }
  #page-profile #location .location-iframe {
    margin-top: 32px;
    height: 366px;
  }
  #page-profile #location .location-iframe iframe {
    width: 100%;
    height: 100%;
  }
  #page-profile #location .location-lead {
    font-size: 16px;
    margin-top: 24px;
  }
  #page-profile #location .location-desc {
    margin-top: 20px;
    font-size: 15px;
  }
}
@media screen and (max-width: 768px) {
  #page-profile #location {
    padding-top: 46px;
    padding-bottom: 61px;
  }
  #page-profile #location .location-img {
    max-width: 535px;
    width: 100%;
    margin: 28px auto 38px;
  }
  #page-profile #location .location-heading {
    font-size: 16px;
    color: #0059A3;
    padding: 3px 10px;
    border-left: 3px solid #0059A3;
    line-height: 1.6;
  }
  #page-profile #location .location-heading span {
    display: block;
    font-size: 13px;
  }
  #page-profile #location .location-card {
    margin-top: 22px;
    border-radius: 4px;
    background-color: #FAFAFA;
    padding: 20px;
  }
  #page-profile #location .location-sub {
    font-size: 16px;
    color: #0059A3;
  }
  #page-profile #location .location-dl {
    margin-top: 20px;
    width: 100%;
  }
  #page-profile #location .location-row {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
    font-size: 14px;
    line-height: 1.6;
  }
  #page-profile #location .location-row:first-child {
    padding-top: 0;
  }
  #page-profile #location .location-row:last-child {
    padding-bottom: 0;
    border: none;
  }
  #page-profile #location .location-row dt {
    font-weight: bold;
  }
  #page-profile #location .location-row dd {
    margin-top: 10px;
  }
  #page-profile #location .location-address {
    margin-top: 34px;
    margin-bottom: 30px;
  }
  #page-profile #location .location-iframe {
    margin-top: 22px;
    height: 366px;
  }
  #page-profile #location .location-iframe iframe {
    width: 100%;
    height: 100%;
  }
  #page-profile #location .location-lead {
    font-size: 14px;
    margin-top: 15px;
  }
  #page-profile #location .location-desc {
    margin-top: 15px;
    font-size: 13px;
  }
}

/*****************/
/**** page-contact   *****/
/*****************/
#page-contact {
  background: linear-gradient(to right, rgba(240, 240, 240, 0.5), #F0F0F0);
  overflow: hidden;
}
#page-contact .page-contact__ttl {
  color: #0059A3;
  position: relative;
  z-index: 5;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #page-contact #page-header {
    height: 300px;
  }
}
#page-contact {
  /*****************/
  /**** content   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-contact #content {
    position: relative;
    padding-bottom: 127px;
    padding-top: 30px;
  }
  #page-contact #content .content-bg {
    position: absolute;
    width: 668px;
    top: 0;
    right: 0;
    transform: translate(30%, -70%);
  }
  #page-contact #content .content-wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page-contact #content .content-left {
    flex-shrink: 0;
    width: 452px;
    margin-bottom: 50px;
  }
  #page-contact #content .content-lead {
    font-size: 22px;
    line-height: 2;
  }
  #page-contact #content .content-desc {
    font-size: 18px;
    line-height: 2;
  }
  #page-contact #content .content-desc span {
    color: #0059A3;
  }
  #page-contact #content .content-desc.desc01 {
    margin-top: 48px;
  }
  #page-contact #content .content-desc.desc02 {
    margin-top: 32px;
  }
  #page-contact #content .content-desc.desc01 {
    margin-top: 32px;
  }
  #page-contact #content .content-heading {
    margin-top: 86px;
    font-size: 22px;
    color: #0059A3;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
  }
  #page-contact #content .content-tel {
    margin-top: 27px;
    font-size: 42px;
    color: #0059A3;
    display: flex;
    align-items: center;
  }
  #page-contact #content .content-tel img {
    width: 27px;
    margin-right: 15px;
  }
  #page-contact #content .content-time {
    margin-top: 12px;
    font-size: 15px;
  }
  #page-contact #content .content-right {
    background-color: white;
    border-radius: 24px;
    flex-shrink: 0;
    width: 668px;
    padding: 48px 64px;
  }
  #page-contact #content .content-right br {
    display: none;
  }
  #page-contact #content .content-right label {
    font-size: 16px;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  #page-contact #content .content-right label span.val {
    flex-shrink: 0;
    width: 64px;
    height: 25px;
    border-radius: 4px;
    background-color: #0059A3;
    color: white;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 16px;
  }
  #page-contact #content .content-right label span.val.required {
    background-color: #ED7328;
  }
  #page-contact #content .content-right input,
  #page-contact #content .content-right select,
  #page-contact #content .content-right textarea {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #B6C8D1;
    padding: 17px 32px;
    margin-bottom: 32px;
    font-size: 15px;
  }
  #page-contact #content .content-right input::placeholder,
  #page-contact #content .content-right select::placeholder,
  #page-contact #content .content-right textarea::placeholder {
    opacity: 0.3;
  }
  #page-contact #content .content-right .select-wrap {
    position: relative;
  }
  #page-contact #content .content-right .select-wrap::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    transform: rotate(45deg);
    position: absolute;
    top: 17px;
    right: 32px;
  }
  #page-contact #content .content-right select {
    appearance: none;
  }
  #page-contact #content .content-right .privacy-check {
    background-color: #ECF3F8;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 15px;
  }
  #page-contact #content .content-right .privacy-check label {
    margin-bottom: 0;
  }
  #page-contact #content .content-right .privacy-check a {
    color: #0059A3;
    text-decoration: underline;
    display: inline-block;
  }
  #page-contact #content .content-right .privacy-check input {
    width: 21px;
    height: 21px;
    border-radius: 4px;
    border: 1px solid #B6C8D1;
    margin-right: 16px;
    margin-bottom: 0;
  }
  #page-contact #content .content-right button,
  #page-contact #content .content-right input[type=submit] {
    background-color: #0059A3;
    border-radius: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 62px;
    width: 467px;
    margin: 32px auto 0;
    font-size: 20px;
    color: white;
    font-weight: bold;
    border: none;
    cursor: pointer;
  }
  #page-contact #content .content-right button#confirm::after,
  #page-contact #content .content-right input[type=submit]#confirm::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #page-contact #content .content-right button#back::before,
  #page-contact #content .content-right input[type=submit]#back::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-left: 1px solid white;
    transform: rotate(-45deg);
    margin-right: 24px;
  }
  #page-contact #content .content-right .confirm-wrapper p {
    line-height: 1.6;
    font-size: 16px;
  }
  #page-contact #content .content-right .confirm-row {
    margin-bottom: 30px;
  }
  #page-contact #content .content-right .confirm-left {
    font-weight: bold;
  }
  #page-contact #content .content-right .confirm-right {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact #content {
    position: relative;
    padding-bottom: 67px;
    padding-top: 30px;
  }
  #page-contact #content .content-bg {
    position: absolute;
    width: 300px;
    top: 0;
    right: 0;
    transform: translate(30%, -70%);
  }
  #page-contact #content .content-wrapper {
    position: relative;
  }
  #page-contact #content .content-left {
    margin-bottom: 50px;
  }
  #page-contact #content .content-lead {
    font-size: 18px;
    line-height: 2;
  }
  #page-contact #content .content-desc {
    font-size: 16px;
    line-height: 2;
  }
  #page-contact #content .content-desc span {
    color: #0059A3;
  }
  #page-contact #content .content-desc.desc01 {
    margin-top: 28px;
  }
  #page-contact #content .content-desc.desc02 {
    margin-top: 16px;
  }
  #page-contact #content .content-desc.desc01 {
    margin-top: 16px;
  }
  #page-contact #content .content-heading {
    margin-top: 46px;
    font-size: 20px;
    color: #0059A3;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
  }
  #page-contact #content .content-tel {
    margin-top: 20px;
    font-size: 32px;
    color: #0059A3;
    display: flex;
    align-items: center;
  }
  #page-contact #content .content-tel img {
    width: 27px;
    margin-right: 15px;
  }
  #page-contact #content .content-time {
    margin-top: 12px;
    font-size: 14px;
  }
  #page-contact #content .content-right {
    background-color: white;
    border-radius: 12px;
    flex-shrink: 0;
    padding: 30px 15px;
  }
  #page-contact #content .content-right br {
    display: none;
  }
  #page-contact #content .content-right label {
    font-size: 14px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }
  #page-contact #content .content-right label span.val {
    flex-shrink: 0;
    width: 50px;
    height: 20px;
    border-radius: 4px;
    background-color: #0059A3;
    color: white;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 16px;
  }
  #page-contact #content .content-right label span.val.required {
    background-color: #ED7328;
  }
  #page-contact #content .content-right input,
  #page-contact #content .content-right select,
  #page-contact #content .content-right textarea {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #B6C8D1;
    padding: 10px 16px;
    margin-bottom: 20px;
    font-size: 14px;
  }
  #page-contact #content .content-right input::placeholder,
  #page-contact #content .content-right select::placeholder,
  #page-contact #content .content-right textarea::placeholder {
    opacity: 0.3;
  }
  #page-contact #content .content-right .select-wrap {
    position: relative;
  }
  #page-contact #content .content-right .select-wrap::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    transform: rotate(45deg);
    position: absolute;
    top: 10px;
    right: 16px;
  }
  #page-contact #content .content-right select {
    appearance: none;
  }
  #page-contact #content .content-right .privacy-check {
    background-color: #ECF3F8;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 15px;
  }
  #page-contact #content .content-right .privacy-check label {
    margin-bottom: 0;
  }
  #page-contact #content .content-right .privacy-check a {
    color: #0059A3;
    text-decoration: underline;
    display: inline-block;
  }
  #page-contact #content .content-right .privacy-check input {
    width: 21px;
    height: 21px;
    border-radius: 4px;
    border: 1px solid #B6C8D1;
    margin-right: 16px;
    margin-bottom: 0;
  }
  #page-contact #content .content-right button,
  #page-contact #content .content-right input[type=submit] {
    background-color: #0059A3;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 42px;
    width: 267px;
    margin: 22px auto 0;
    font-size: 16px;
    color: white;
    font-weight: bold;
    border: none;
    cursor: pointer;
  }
  #page-contact #content .content-right button#confirm::after,
  #page-contact #content .content-right input[type=submit]#confirm::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-right: 1px solid white;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #page-contact #content .content-right button#back::before,
  #page-contact #content .content-right input[type=submit]#back::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid white;
    border-left: 1px solid white;
    transform: rotate(-45deg);
    margin-right: 24px;
  }
  #page-contact #content .content-right .confirm-wrapper p {
    line-height: 1.6;
    font-size: 14px;
  }
  #page-contact #content .content-right .confirm-row {
    margin-bottom: 20px;
  }
  #page-contact #content .content-right .confirm-left {
    font-weight: bold;
  }
  #page-contact #content .content-right .confirm-right {
    margin-top: 15px;
  }
}

/*****************/
/**** pag-faq   *****/
/*****************/
#pag-faq {
  /*****************/
  /**** content   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #pag-faq #content .faq-anchors {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #pag-faq #content .faq-anchors__item {
    border-right: 1px solid rgba(67, 67, 67, 0.4);
    margin-bottom: 20px;
  }
  #pag-faq #content .faq-anchors__item:last-child {
    border-right: 0;
  }
  #pag-faq #content .faq-anchors__link {
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: black;
  }
  #pag-faq #content .faq-anchors__link::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border-bottom: 2px solid #0059A3;
    border-right: 2px solid #0059A3;
    transform: rotate(45deg);
    margin-top: 24px;
  }
  #pag-faq #content .faq-list {
    margin-top: 108px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #pag-faq #content .faq-list__item {
    flex-shrink: 0;
    width: 550px;
    margin-bottom: 90px;
  }
  #pag-faq #content .faq-list__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #pag-faq #content .faq-list__ttl {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__ttl img {
    width: 47px;
    margin-right: 16px;
  }
  #pag-faq #content .faq-list__link {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__link::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 22px;
  }
  #pag-faq #content .faq-list__children {
    margin-top: 10px;
  }
  #pag-faq #content .faq-list__child {
    position: relative;
    padding-right: 70px;
    padding-top: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
    cursor: pointer;
  }
  #pag-faq #content .faq-list__toggle {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 20px;
    top: 32px;
  }
  #pag-faq #content .faq-list__toggle span {
    position: absolute;
    display: block;
    background-color: #0059A3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #pag-faq #content .faq-list__toggle span.before {
    width: 100%;
    height: 2px;
  }
  #pag-faq #content .faq-list__toggle span.after {
    width: 2px;
    height: 100%;
  }
  #pag-faq #content .faq-list__toggle.active span.after {
    display: none;
  }
  #pag-faq #content .faq-list__question {
    font-size: 16px;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__answer {
    padding-top: 32px;
    padding-left: 30px;
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  #pag-faq #content .faq-anchors {
    margin-top: 30px;
  }
  #pag-faq #content .faq-anchors__item {
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
  }
  #pag-faq #content .faq-anchors__item:last-child {
    border-right: 0;
  }
  #pag-faq #content .faq-anchors__link {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    color: black;
  }
  #pag-faq #content .faq-anchors__link::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 24px;
  }
  #pag-faq #content .faq-list {
    margin-top: 58px;
  }
  #pag-faq #content .faq-list__item {
    max-width: 550px;
    margin: 0 auto 40px;
  }
  #pag-faq #content .faq-list__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #pag-faq #content .faq-list__ttl {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__ttl img {
    width: 30px;
    margin-right: 10px;
  }
  #pag-faq #content .faq-list__link {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__link::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #0059A3;
    border-right: 1px solid #0059A3;
    transform: rotate(45deg);
    margin-left: 10px;
  }
  #pag-faq #content .faq-list__children {
    margin-top: 10px;
  }
  #pag-faq #content .faq-list__child {
    position: relative;
    padding-right: 30px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(67, 67, 67, 0.4);
    cursor: pointer;
  }
  #pag-faq #content .faq-list__toggle {
    width: 15px;
    height: 15px;
    position: absolute;
    right: 10px;
    top: 20px;
  }
  #pag-faq #content .faq-list__toggle span {
    position: absolute;
    display: block;
    background-color: #0059A3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #pag-faq #content .faq-list__toggle span.before {
    width: 100%;
    height: 1px;
  }
  #pag-faq #content .faq-list__toggle span.after {
    width: 1px;
    height: 100%;
  }
  #pag-faq #content .faq-list__toggle.active span.after {
    display: none;
  }
  #pag-faq #content .faq-list__question {
    font-size: 14px;
    color: #0059A3;
  }
  #pag-faq #content .faq-list__answer {
    padding-top: 15px;
    padding-left: 10px;
    font-size: 14px;
  }
}

/*****************/
/**** page-search  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-search #search {
    margin-top: 33px;
    padding-bottom: 126px;
  }
  #page-search #search .search-container {
    max-width: 830px;
  }
  #page-search #search .search-terms {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }
  #page-search #search .search-terms__link {
    border-radius: 20px;
    background-color: white;
    color: #0059A3;
    border: 1px solid #0059A3;
    padding: 10px 20px;
    font-size: 16px;
  }
  #page-search #search .search-terms__link:hover, #page-search #search .search-terms__link.active {
    transition: all 0.6s ease;
    background-color: #0059A3;
    color: white;
  }
  #page-search #search .search-list {
    margin-top: 40px;
  }
  #page-search #search .search-list__item {
    border-bottom: 1px solid #434343;
    padding-bottom: 32px;
    margin-bottom: 40px;
  }
  #page-search #search .search-list__ttl {
    color: #0059A3;
    font-size: 20px;
  }
  #page-search #search .search-list__perma {
    margin-top: 16px;
    font-size: 14px;
    color: #B9B9B9;
  }
  #page-search #search .search-list__wrap {
    margin-top: 32px;
    display: flex;
    justify-content: space-between;
  }
  #page-search #search .search-list__thumb {
    flex-shrink: 0;
    width: 180px;
    height: 94px;
  }
  #page-search #search .search-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-search #search .search-list__excerpt {
    max-width: 530px;
    margin-left: 1%;
    font-size: 16px;
    line-height: 1.6;
    color: black;
  }
  #page-search #search .search-result {
    font-size: 20px;
    color: #0059A3;
  }
  #page-search #search .wp-pagenavi {
    margin-top: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-search #search .wp-pagenavi span,
  #page-search #search .wp-pagenavi a {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    color: black;
    border: none;
    margin-left: 10px;
    margin-right: 10px;
    font-weight: 300;
  }
  #page-search #search .wp-pagenavi .current {
    background-color: #0059A3;
    color: white;
  }
  #page-search #search .wp-pagenavi .pages {
    display: none;
  }
  #page-search #search .wp-pagenavi .last {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #page-search #search {
    margin-top: 33px;
    padding-bottom: 76px;
  }
  #page-search #search .search-container {
    max-width: 830px;
  }
  #page-search #search .search-terms__item {
    margin-bottom: 10px;
  }
  #page-search #search .search-terms__item:last-child {
    margin-bottom: 0;
  }
  #page-search #search .search-terms__link {
    border-radius: 20px;
    background-color: white;
    color: #0059A3;
    border: 1px solid #0059A3;
    padding: 10px 15px;
    font-size: 14px;
    text-align: center;
  }
  #page-search #search .search-terms__link:hover, #page-search #search .search-terms__link.active {
    transition: all 0.6s ease;
    background-color: #0059A3;
    color: white;
  }
  #page-search #search .search-list {
    margin-top: 20px;
  }
  #page-search #search .search-list__item {
    border-bottom: 1px solid #434343;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  #page-search #search .search-list__ttl {
    color: #0059A3;
    font-size: 16px;
  }
  #page-search #search .search-list__perma {
    margin-top: 10px;
    font-size: 14px;
    color: #B9B9B9;
  }
  #page-search #search .search-list__wrap {
    margin-top: 20px;
  }
  #page-search #search .search-list__thumb {
    width: 180px;
    height: 94px;
  }
  #page-search #search .search-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-search #search .search-list__excerpt {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: black;
  }
  #page-search #search .search-result {
    font-size: 16px;
    color: #0059A3;
  }
  #page-search #search .wp-pagenavi {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }
  #page-search #search .wp-pagenavi span,
  #page-search #search .wp-pagenavi a {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 16px;
    color: black;
    border: none;
    margin-left: 5px;
    margin-right: 5px;
    font-weight: 300;
  }
  #page-search #search .wp-pagenavi .current {
    background-color: #0059A3;
    color: white;
  }
  #page-search #search .wp-pagenavi .pages {
    display: none;
  }
  #page-search #search .wp-pagenavi .last {
    display: none;
  }
}

/*****************/
/**** page-history  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-history #history {
    margin-top: 30px;
    padding-bottom: 200px;
  }
  #page-history #history .history-container {
    max-width: 830px;
  }
  #page-history #history .history-list {
    border-left: 2px solid #0059A3;
    padding-left: 82px;
    position: relative;
  }
  #page-history #history .history-list::before {
    content: "";
    display: block;
    width: 50px;
    height: 10px;
    position: absolute;
    left: -5px;
    top: 0;
    background-color: white;
  }
  #page-history #history .history-list::after {
    content: "";
    display: block;
    width: 50px;
    height: 100px;
    position: absolute;
    left: -5px;
    bottom: -50px;
    background-color: white;
  }
  #page-history #history .history-list__item {
    margin-bottom: 38px;
  }
  #page-history #history .history-list__year {
    font-size: 36px;
    color: #0059A3;
    font-weight: 400;
    position: relative;
  }
  #page-history #history .history-list__year::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    left: -93px;
    transform: translateY(-50%);
  }
  #page-history #history .history-children {
    margin-top: 24px;
  }
  #page-history #history .history-child {
    font-size: 18px;
    font-weight: 400;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
  }
  #page-history #history .history-child:last-child {
    margin-bottom: 0;
  }
  #page-history #history .history-child__left {
    flex-shrink: 0;
    width: 140px;
  }
}
@media screen and (max-width: 768px) {
  #page-history #history {
    margin-top: 20px;
    padding-bottom: 100px;
  }
  #page-history #history .history-container {
    max-width: 830px;
  }
  #page-history #history .history-list {
    border-left: 2px solid #0059A3;
    padding-left: 40px;
    position: relative;
  }
  #page-history #history .history-list::before {
    content: "";
    display: block;
    width: 50px;
    height: 10px;
    position: absolute;
    left: -5px;
    top: 0;
    background-color: white;
  }
  #page-history #history .history-list::after {
    content: "";
    display: block;
    width: 50px;
    height: 100px;
    position: absolute;
    left: -10px;
    bottom: -15px;
    background-color: white;
  }
  #page-history #history .history-list__item {
    margin-bottom: 20px;
  }
  #page-history #history .history-list__year {
    font-size: 24px;
    color: #0059A3;
    font-weight: 400;
    position: relative;
  }
  #page-history #history .history-list__year::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #0059A3;
    position: absolute;
    top: 50%;
    left: -46px;
    transform: translateY(-50%);
  }
  #page-history #history .history-children {
    margin-top: 16px;
  }
  #page-history #history .history-child {
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
    line-height: 1.6;
  }
  #page-history #history .history-child:last-child {
    margin-bottom: 0;
  }
  #page-history #history .history-child__left {
    margin-bottom: 10px;
  }
}

/*****************/
/**** page-sitemap  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-sitemap #content .content-wrapper h2 a {
    color: #0059A3;
  }
  #page-sitemap #content .content-wrapper .site-list {
    margin-bottom: 56px;
    display: flex;
    flex-wrap: wrap;
  }
  #page-sitemap #content .content-wrapper .site-list__item {
    width: 50%;
    font-size: 16px;
    margin-bottom: 24px;
  }
  #page-sitemap #content .content-wrapper .site-list__link {
    color: black;
  }
}
@media screen and (max-width: 768px) {
  #page-sitemap #content .content-wrapper h2 a {
    color: #0059A3;
  }
  #page-sitemap #content .content-wrapper .site-list {
    margin-bottom: 36px;
  }
  #page-sitemap #content .content-wrapper .site-list__item {
    font-size: 14px;
    margin-bottom: 16px;
  }
  #page-sitemap #content .content-wrapper .site-list__link {
    color: black;
  }
}

/*****************/
/**** page-case  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-case #case {
    margin-top: 10px;
    padding-bottom: 150px;
  }
  #page-case #case .case {
    /*****************/
    /**** archive  *****/
    /*****************/
  }
  #page-case #case .case-lead {
    font-size: 20px;
    text-align: center;
  }
  #page-case #case .case-list {
    margin: 85px -12px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #page-case #case .case-list__item {
    flex-shrink: 0;
    width: 384px;
    height: 360px;
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 24px;
  }
  #page-case #case .case {
    /*****************/
    /**** single  *****/
    /*****************/
  }
  #page-case #case .case-ttl {
    margin-top: 66px;
    text-align: center;
    font-size: 38px;
    color: #0059A3;
    line-height: 1.6;
  }
  #page-case #case .case-content {
    margin-top: 96px;
  }
  #page-case #case .case-content .flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
  #page-case #case .case-content .thumb {
    flex-shrink: 0;
    width: 450px;
  }
  #page-case #case .case-content .thumb figcaption {
    margin-top: 10px;
    font-size: 1.6rem;
    text-align: center;
  }
  #page-case #case .case-content .txt {
    font-size: 16px;
    line-height: 1.6;
    flex: 1;
  }
  #page-case #case .case-content .txt a {
    display: inline;
  }
  #page-case #case .case-content .txt figure {
    display: block;
    max-width: 550px;
    width: 100%;
    margin: 35px auto;
  }
  #page-case #case .case-content .txt figure figcaption {
    margin-top: 10px;
    font-size: 1.6rem;
    text-align: center;
  }
  #page-case #case .case-content .txt .table-block {
    margin: 45px 0 35px;
  }
  #page-case #case .case-content .txt .table-block table {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    font-size: 1.4rem;
    display: table;
  }
  #page-case #case .case-content .txt .table-block table tbody {
    display: table-row-group;
  }
  #page-case #case .case-content .txt .table-block table tr {
    display: table-row;
  }
  #page-case #case .case-content .txt .table-block table thead th {
    background-color: #e8e8e8;
    font-weight: 700;
    white-space: nowrap;
  }
  #page-case #case .case-content .txt .table-block table th,
  #page-case #case .case-content .txt .table-block table td {
    display: table-cell;
    vertical-align: middle;
    padding: 5px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
  }
  #page-case #case .case-content .txt .table-block table sup {
    font-size: 0.5em;
  }
  #page-case #case .case-content .txt .table-block .note {
    margin-top: 20px;
  }
  #page-case #case .case-content .txt .table-block .note li {
    padding-left: 2.5em;
    font-size: 1.4rem;
    text-indent: -2.5em;
  }
  #page-case #case .case-content .txt-list {
    margin: 1em 0;
    padding-left: 1.5em;
  }
  #page-case #case .case-content .txt-list > li {
    position: relative;
    padding-left: 1.2em;
    font-weight: 700;
  }
  #page-case #case .case-content .txt-list > li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  #page-case #case .case-other {
    margin-top: 90px;
    display: flex;
    align-items: center;
    font-size: 24px;
  }
  #page-case #case .case-other::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    background-color: #0059A3;
    margin-right: 48px;
  }
  #page-case #case .case-list.single {
    margin-top: 28px;
  }
  #page-case .case-header {
    height: 424px;
  }
  #page-case .case-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-case .case-breadcrumb {
    margin-top: 21px;
  }
}
@media screen and (max-width: 768px) {
  #page-case #case {
    margin-top: 10px;
    padding-bottom: 70px;
  }
  #page-case #case .case-lead {
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
  }
  #page-case #case .case-list {
    margin: 40px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #page-case #case .case-list__item {
    flex-shrink: 0;
    width: 327px;
    height: 200px;
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 24px;
  }
  #page-case #case .case-list__link {
    height: 100%;
  }
  #page-case #case .case {
    /*****************/
    /**** single  *****/
    /*****************/
  }
  #page-case #case .case-ttl {
    margin-top: 30px;
    text-align: center;
    font-size: 24px;
    color: #0059A3;
    line-height: 1.6;
  }
  #page-case #case .case-content {
    margin-top: 50px;
  }
  #page-case #case .case-content .flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
  #page-case #case .case-content .thumb {
    width: 100%;
    padding: 0 1em;
    text-align: center;
  }
  #page-case #case .case-content .thumb figcaption {
    margin-top: 10px;
    font-size: 1.6rem;
    text-align: center;
  }
  #page-case #case .case-content .txt {
    flex: 1;
    padding: 1em;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  #page-case #case .case-content .txt a {
    display: inline;
  }
  #page-case #case .case-content .txt figure {
    display: block;
    max-width: 550px;
    width: 100%;
    margin: 35px auto;
  }
  #page-case #case .case-content .txt figure figcaption {
    margin-top: 10px;
    font-size: 1.6rem;
    text-align: center;
  }
  #page-case #case .case-content .txt .table-block {
    margin: 45px 0 35px;
  }
  #page-case #case .case-content .txt .table-block table {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    font-size: 1.4rem;
    display: table;
  }
  #page-case #case .case-content .txt .table-block table tbody {
    display: table-row-group;
  }
  #page-case #case .case-content .txt .table-block table tr {
    display: table-row;
  }
  #page-case #case .case-content .txt .table-block table thead th {
    background-color: #e8e8e8;
    font-weight: 700;
    white-space: nowrap;
  }
  #page-case #case .case-content .txt .table-block table th,
  #page-case #case .case-content .txt .table-block table td {
    display: table-cell;
    vertical-align: middle;
    padding: 5px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
  }
  #page-case #case .case-content .txt .table-block table sup {
    font-size: 0.5em;
  }
  #page-case #case .case-content .txt .table-block .note {
    margin-top: 20px;
  }
  #page-case #case .case-content .txt .table-block .note li {
    padding-left: 2.5em;
    font-size: 1.4rem;
    text-indent: -2.5em;
  }
  #page-case #case .case-content .txt-list {
    margin: 1em 0;
    padding-left: 1.5em;
  }
  #page-case #case .case-content .txt-list > li {
    position: relative;
    padding-left: 1.2em;
    font-weight: 700;
  }
  #page-case #case .case-content .txt-list > li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
  #page-case #case .case-other {
    margin-top: 40px;
    display: flex;
    align-items: center;
    font-size: 18px;
  }
  #page-case #case .case-other::before {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    background-color: #0059A3;
    margin-right: 30px;
  }
  #page-case #case .case-list.single {
    margin-top: 20px;
  }
  #page-case .case-header {
    height: 300px;
  }
  #page-case .case-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-case .case-breadcrumb {
    margin-top: 21px;
  }
}

/*****************/
/**** page-links  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-links #links {
    margin-top: 30px;
    padding-bottom: 100px;
  }
  #page-links #links .links-container {
    max-width: 830px;
  }
  #page-links #links .links-list__item {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 30px;
  }
  #page-links #links .links-list__link {
    padding-bottom: 30px;
    display: flex;
    align-items: center;
  }
  #page-links #links .links-list__img {
    width: 360px;
    padding: 0 30px 0 15px;
    text-align: center;
  }
  #page-links #links .links-list__ttl {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    color: black;
  }
  #page-links #links .links-list__ttl span {
    display: block;
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  #page-links #links {
    margin-top: 30px;
    padding-bottom: 50px;
  }
  #page-links #links .links-container {
    max-width: 830px;
  }
  #page-links #links .links-list__item {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 30px;
  }
  #page-links #links .links-list__link {
    padding-bottom: 30px;
  }
  #page-links #links .links-list__img {
    width: 100%;
    padding: 20px 0;
    text-align: left;
  }
  #page-links #links .links-list__ttl {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    color: black;
  }
  #page-links #links .links-list__ttl span {
    display: block;
    font-size: 16px;
  }
}

/*****************/
/**** page-catalogue  *****/
/*****************/
@media screen and (min-width: 769px) {
  #page-catalogue #content {
    margin-top: 30px;
    padding-bottom: 80px;
  }
  #page-catalogue #content .container {
    max-width: 1230px;
  }
  #page-catalogue #content .content-wrapper .catalogue_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page-catalogue #content .content-wrapper .catalogue_item {
    width: calc(50% - 20px);
    margin-bottom: 60px;
  }
  #page-catalogue #content .content-wrapper .catalogue_item a {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  #page-catalogue #content .content-wrapper .catalogue_img {
    flex-shrink: 0;
    width: 205px;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt {
    flex: 1;
    padding-left: 20px;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt h3 {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 10px;
    color: black;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt p {
    line-height: 1.6;
    font-size: 16px;
    font-weight: 400;
    color: black;
    margin-bottom: 0;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt p a {
    text-decoration: underline;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  #page-catalogue #content {
    margin-top: 20px;
    padding-bottom: 50px;
  }
  #page-catalogue #content .container {
    max-width: 1230px;
  }
  #page-catalogue #content .content-wrapper .catalogue_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page-catalogue #content .content-wrapper .catalogue_item {
    width: calc(50% - 15px);
    margin-bottom: 40px;
  }
  #page-catalogue #content .content-wrapper .catalogue_item a {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  #page-catalogue #content .content-wrapper .catalogue_img {
    width: 100%;
    margin-bottom: 20px;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt {
    flex: 1;
    padding-left: 20px;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt h3 {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 10px;
    color: black;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt p {
    line-height: 1.6;
    font-size: 16px;
    font-weight: 400;
    color: black;
    margin-bottom: 0;
  }
  #page-catalogue #content .content-wrapper .catalogue_txt p a {
    text-decoration: underline;
    margin-top: 20px;
  }
}

/*# sourceMappingURL=main.css.map */
