/* import */
@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&Noto+Sans+JP:wght@100..900&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; color:#2e446d; -webkit-text-size-adjust:none; font-family:'Albert Sans', 'Noto Sans JP', sans-serif; font-weight:500; font-size:1.04vw; line-height:1.75; letter-spacing:0; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1.75; font-weight:600; font-family:'Albert Sans', 'Noto Sans JP', sans-serif; color:#2e446d; letter-spacing:0;}
p {margin:0;}
p:not(:last-child) {margin-bottom:1.56vw;}
ul, ol {margin:0; padding:0 0 0 1.5em;}
a {color:#2e446d; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#2e446d;}
figure {margin:0;}
img {vertical-align:middle;}
button {background:none; border:none; color:inherit; transition:all .2s ease-in-out; cursor:pointer;}

/* util */
.wrapper {}
#content {padding-top:0;}
.container {position:relative; z-index:10; max-width:70.83vw; width:70.83vw; margin:auto; padding:0;}
.container-fluid {width:100%; margin:auto; padding:0;}
.container-sm {max-width:50vw; width:50vw;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.more {display:flex; justify-content:center; margin-top:3.39vw; gap:1.04vw;}
.button {position:relative; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; width:17.71vw; height:3.39vw; padding:0 1.56vw; border-radius:3.39vw; background-color:#f1f1f1; border:none; color:#30416b; font-size:1.04vw; font-weight:600; cursor:pointer;}
.button i {position:absolute; top:50%; right:1.56vw; transform:translateY(-50%);}
.button:hover {color:#fff;}
.button.wi {align-items:flex-start; padding:0 4.95vw 0 1.56vw;}
.button.wi::before {position:absolute; right:1.04vw; content:''; width:3.91vw; height:1.3vw; background:#2e446d url(../images/arrow-white.png) center center / 1.2vw auto no-repeat; border-radius:1.3vw;}
.button.wi.button-purple:hover {background-color:#fff; color:#5d5bc9;}
.button.wi.button-purple::before {background-color:#fff; background-image:url(../images/arrow-purple.png);}
.button.wi.button-blue:hover {background-color:#35b5d0;}
.button.wi.button-blue::before {background-color:#35b5d0;}
.button.wi.button-pink {background:#ff55a0; color:#fff;}
.button.wi.button-pink:hover {background-color:#fff; color:#ff55a0;}
.button.wi.button-pink::before {background-color:#fff; background-image:url(../images/arrow-pink.png);}
.button.md {width:21.88vw;}
.button.lg {width:36.46vw; height:4.17vw; border-radius:4.17vw; font-size:1.46vw;}
.button.fluid {width:100%;}
.bg-light {background-color:#f6f6f6;}
.text-blue {color:#35b5d0;}
.text-pink {color:#ff55a0;}
.text-purple {color:#5d5bc9;}
.text-gradient-blue {color:transparent; background:linear-gradient(to right, #35b5d0, #5da6b6); background-clip:text;}
.text-gradient-pink {color:transparent; background:linear-gradient(to right, #ff55a0, #e31570); background-clip:text;}
.text-gradient-purple {color:transparent; background:linear-gradient(to right, #5d5bc9, #2e2bd0); background-clip:text;}
.text-center {text-align:center;}
.button.button-purple {background-color:#5d5bc9; color:#fff;}
.button.button-purple:hover {background-color:#f1f1f1; color:#5d5bc9;}
.button.button-light {background-color:#f1f1f1;}
.button.button-light:hover {background-color:#5d5bc9; color:#fff;}
.breadcrumbs {padding:1.04vw 0;}
.breadcrumb {display:flex; justify-content:flex-end; align-items:center; font-size:0.94vw; line-height:1;}
.breadcrumb span > a {color:#000;}
.breadcrumb span > span {color:#35b5d0;}
.breadcrumb i {margin:0 0.26vw; font-size:0.63vw;}
.pager {min-height:1.56vw;}
.pagination {display:flex; justify-content:center; margin-top:3.13vw;}
.pagination ul {display:flex; justify-content:center; gap:1.04vw; list-style:none; padding-left:0;}
.pagination ul > li {}
.pagination ul > li > span,
.pagination ul > li > a {display:flex; justify-content:center; align-items:center; width:3.13vw; height:3.13vw; border-radius:3.13vw;}
.pagination ul > li > span,
.pagination ul > li > a:hover {background-color:#5d5bc9; color:#fff;}

/* header */
.header {position:fixed; top:0; left:0; width:100%; background-color:rgba(255, 255, 255, 0); z-index:9999; transition:all .2s ease-in-out;}
.header.scrolling {background-color:rgba(255, 255, 255, 0);}
.header-inner {display:flex; justify-content:space-between; align-items:center; height:6.25vw; padding:0 2.6vw;}
.header-brand {width:13.02vw; margin:0 auto 0 0; padding:0; z-index:100;}
.header-brand-link {display:block; line-height:1;}
.button-hamburger {display:none;}
.header-nav {}
.header-nav-global {display:flex; align-items:center; gap:1.56vw; padding:0.52vw 2.6vw; list-style:none; background-color:#35b5d0; border:1px solid #fff; border-radius:3.65vw; box-shadow:0 0 1.56vw rgba(0, 0, 0, .175);}
.header-nav-global > li > a {text-align:center; font-size:1.04vw; color:#fff; line-height:1;}
.header-nav-global > li > a small {display:block; font-size:0.94vw;}
.header-nav-global > li > a:hover {color:#2e446d;}
.header-nav-global > .button-contact > a {display:flex; justify-content:center; align-items:center; height:2.6vw; padding:0 1.56vw; background-color:#fff; color:#2e446d; border-radius:1.56vw;}
.header-nav-global > .button-contact > a:hover {background-color:#2e446d !important; color:#fff !important;}

/* mod */
.section {position:relative; margin-bottom:7.81vw; z-index:10; overflow:hidden;}
.heading {position:relative; margin-bottom:3.13vw; text-align:center; line-height:1; font-weight:900;}
.heading > span {display:block;}
.heading-en {margin-bottom:0.52vw; font-size:2.08vw;}
.heading-ja {font-size:3.13vw;}
.heading-ja small {font-size:2.08vw;}
.content {position:relative;}
.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
    from {
        opacity:0;
        transform:translateY(100px);
    }

    to {
        opacity:1;
        transform:translateY(0);
    }
}

/* content */
.hero {position:relative; display:flex; justify-content:center; align-items:flex-end; height:72.92vw; z-index:10;}
.hero-bg { position:absolute; inset:0; overflow:hidden; }
.hero-bg .img-full {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0;}
.hero-bg .img-full:nth-child(1) {animation:fadeSlideInLB 0.9s ease-out forwards;}
.hero-bg .img-full:nth-child(2) {animation:fadeSlideInRT 0.9s ease-out 0.5s forwards;}

@keyframes fadeSlideInLB {
  from {
    opacity:0;
    transform:translate(-5vw, 5vw) scale(1.02);
  }
  to {
    opacity:1;
    transform:translate(0,0) scale(1);
  }
}

@keyframes fadeSlideInRT {
  from {
    opacity:0;
    transform:translate(5vw, -5vw) scale(1.02);
  }
  to {
    opacity:1;
    transform:translate(0,0) scale(1);
  }
}
.hero-logo {position:absolute; top:17.19vw; left:50%; width:39.06vw; transform:translateX(-50%);}
.case {position:relative; overflow:hidden; margin-top:-19.79vw; padding:1.56vw 0; z-index:100;}

.c-caseSlider + .c-caseSlider {
translate:-8.3%;
margin-top:1%;
}
@media screen and (max-width:768px) {
.c-caseSlider + .c-caseSlider {
translate:-12.5%;
margin-top:1.3%;
}
}
@media screen and (max-width:559px) {
.c-caseSlider + .c-caseSlider {
translate:-23%;
margin-top:2%;
}
}

.c-caseSlider .c-caseSlider__wrapper {
transition-timing-function:linear;
}

.c-caseSlider .c-caseSlider__slide {
width:18.23vw !important;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:1.04vw;
}

.c-caseSlider .c-caseSlider__slide.sm {
width:8.59vw !important;
}

.c-caseSlider .c-caseSlider__slide__image {
width:100%;
height:auto;
border-radius:0.52vw;
box-shadow:0 0 1.56vw rgba(0, 0, 0, .175);
}

.floating {height:10.632911392405063vw;}
.floating-text {position:absolute; top:0.52vw; left:0; width:200%; z-index:-10; display:flex; gap:1.56vw; opacity:.2;}
.floating-text-inner {color:#35b5d0; font-size:8.33vw; font-family:'Red Hat Display', sans-serif; flex-shrink:0; animation:wave 100s linear infinite; line-height:1; animation-direction:reverse;}
@keyframes wave {0% {transform:translateX(0);} 100% {transform:translateX(-100%);}}

.about .content {}
.about .content p {text-align:center; line-height:3.25;}
.about .content p:not(:last-child) {margin-bottom:3.65vw;}

.feature {padding-top:7.81vw; padding-bottom:7.81vw;}

.card-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:1.04vw;}
.card-list__item {padding:1.04vw; background-color:#fff; border-radius:0.52vw; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}
.themes .card-list__item:hover {background-color:#dcdbf1;}
.card-list__item figure {margin-bottom:1.04vw; border-radius:0.52vw;}
.card-list__item figure img {border-radius:0.52vw;}
.themes .card-list__item figure img {border:1px solid #2e446d;}
.card-list__item h3 {margin-bottom:1.04vw; font-size:1.35vw;}
.card-list__item h4 {margin-bottom:1.04vw; font-size:1.04vw; font-weight:500;}
.card-list__item h4 span {display:inline-flex; justify-content:center; align-items:center; height:1.56vw; padding:0 1.04vw; background-color:#5d5bc9; border-radius:1.56vw; color:#fff;}
.card-list__item .tags {display:flex; gap:0.52vw; margin-bottom:1.04vw;}
.card-list__item .tags > span {display:inline-flex; justify-content:center; align-items:center; height:1.3vw; padding:0 0.52vw; background-color:#dcdbf1; border-radius:1.3vw; font-size:0.73vw; line-height:1;}
.themes .card-list__item:hover .tags > span {background-color:#fff;}
.card-list__item p {}

.themes {padding-bottom:1.56vw;}

.news-list {display:flex; flex-direction:column; border-top:1px solid #e5e9ef;}
.news-list__item {position:relative; display:flex; align-items:center; gap:0 2.08vw; padding:1.56vw 4.95vw 1.56vw 0; border-bottom:1px solid #e5e9ef;}
.news-list__item time {font-weight:700;}
.news-list__item h3 {font-size:1.04vw; color:#000;}
.news-list__item::before {position:absolute; right:0; content:''; width:3.91vw; height:1.3vw; background:#35b5d0 url(../images/arrow-white.png) center center / 1.2vw auto no-repeat; border-radius:1.3vw;}

.contact {padding-top:7.81vw; padding-bottom:7.81vw;}

.flow-row {display:grid; grid-template-columns:repeat(2, 1fr); gap:1.04vw; margin-bottom:4.17vw;}
.flow-heading {display:flex; justify-content:center; align-items:center; margin:0 auto 2.08vw; width:22.4vw; height:2.5vw; background-color:#ff55a0; border-radius:2.5vw; line-height:1; color:#fff; font-size:1.3vw;}
.flow-list__item {position:relative; min-height:16vw; padding:1.56vw; background-color:#fff; border-radius:1.04vw; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}
.flow-list__item:not(:last-child) {margin-bottom:3.65vw;}
.flow-list__item:not(:last-child)::before,
.flow-list-last .flow-list__item::before {position:absolute; bottom:-2.86vw; left:50%; font:var(--fa-font-solid); content:'\f103'; transform:translateX(-50%); line-height:1; font-size:2.08vw; color:#ff55a0;}
.flow-list__item h4 {min-height:5.21vw; font-size:1.46vw;}
.flow-list__item p {font-size:1.04vw;}
.flow-list-last {margin-bottom:4.17vw;}
.flow-list-last .flow-list__item::before {bottom:inherit; top:-2.86vw;}

.contact-list {display:flex; flex-direction:column; gap:1.04vw; margin-top:3.39vw;}
.contact-list__item {display:flex; align-items:center; gap:6.77vw; padding:1.56vw; background-color:#fff; border-radius:1.04vw; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}
.contact-list__item h3 {padding-left:0.63vw; border-left:0.26vw solid #ff55a0; font-size:1.46vw; line-height:1;}
.contact-list__item p i {margin-right:0.26vw; color:#ff55a0;}

.footer {position:relative; background-color:#fff; padding:7.81vw 0 2.6vw; z-index:10;}
.footer-nav {margin-bottom:5.21vw;}
.footer-nav-list {display:flex; flex-wrap:wrap; justify-content:center; gap:4.17vw; list-style:none;}
.footer-nav-list__item > a {position:relative; padding-right:4.43vw; font-weight:600;}
.footer-nav-list__item > a::before {position:absolute; top:50%; right:0; content:''; width:3.91vw; height:1.3vw; background:#35b5d0 url(../images/arrow-white.png) center center / 1.2vw auto no-repeat; border-radius:1.3vw; transform:translateY(-50%);}
.footer-copyright {text-align:center; font-size:0.94vw;}

.-pc {display:block;}
.-sp {display:none;}

/* page */
.page-header {position:relative; display:flex; justify-content:center; align-items:center; height:23.96vw; border-bottom:0.52vw solid #f6f6f6; z-index:10;}
.page-header-bg { position:absolute; inset:0; overflow:hidden; }
.page-header-bg .img-full {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0;}
.page-header-bg .img-full:nth-child(1) {animation:fadeSlideInLB 0.9s ease-out forwards;}
.page-header-bg .img-full:nth-child(2) {animation:fadeSlideInRT 0.9s ease-out 0.5s forwards;}
.page-header-title {text-align:center; font-weight:900; line-height:1;}
.page-header-title > span {display:block;}
.page-header-title .heading-en {margin-bottom:0.52vw; font-size:2.08vw;}
.page-header-title .heading-ja {font-size:3.13vw;}
.page-header-title .heading-ja small {font-size:2.08vw; font-weight:900;}

.page-content {}
.page-description {margin-bottom:2.6vw; text-align:center; font-size:1.35vw;}
.nav-local-category {margin-bottom:2.08vw;}
.nav-local-category-list {display:flex; justify-content:center; gap:1.04vw; list-style:none; padding-left:0;}
.nav-local-category-list__item {}
.nav-local-category-list__item-link {display:flex; justify-content:center; align-items:center; width:21.88vw; height:3.39vw; border-radius:3.39vw; background-color:#f1f1f1;}
.nav-local-category-list__item-link:hover:not(.button),
.nav-local-category-list__item.active .nav-local-category-list__item-link {background-color:#5d5bc9; color:#fff;}
.keyword-search {display:flex; justify-content:center; margin-bottom:3.13vw;}
.keyword-search form {position:relative;}
.keyword-search input {width:34.9vw; height:4.17vw; padding:0 2.34vw; border-radius:4.17vw; border:1px solid #2e446d; font-size:1.04vw;}
.keyword-search button {position:absolute; top:50%; right:0.52vw; width:3.33vw; height:3.33vw; margin:0; padding:0; background:#5d5bc9; border-radius:3.33vw; border:none; font-size:1.3vw; color:#fff; transform:translateY(-50%);}
.category-description {margin-bottom:2.6vw; padding:1.56vw; background-color:#f1f1f1; border-radius:1.04vw;}
.category-description h3 {font-size:1.56vw;}
.category-description p {}
.nav-local-tag {margin-bottom:2.6vw;}
.nav-local-tag-list {display:flex; flex-wrap:wrap; gap:1.04vw; list-style:none; padding-left:0;}
.nav-local-tag-list__item > a {display:flex; justify-content:center; align-items:center; height:1.88vw; padding:0 1.3vw; background-color:#dcdbf1; border-radius:1.88vw;}
.nav-local-tag-list__item > a:hover {background-color:#fff; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}

.company-card {margin:2.6vw 0 1.56vw; padding:2.08vw; background-color:#fff; border-top:0.52vw solid #5d5bc9; border-radius:1.04vw; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}
.company-card-header {display:flex; gap:1.56vw; margin-bottom:2.08vw; padding-bottom:2.08vw; border-bottom:1px solid #f6f6f6;}
.company-card-header figure {flex:0 0 20.83vw; border:1px solid #2e446d; border-radius:1.04vw; overflow:hidden;}
.company-card-header .text h1 {padding:0.52vw 0; font-size:1.35vw;}
.company-card-header .tags {display:flex; gap:1.04vw;}
.company-card-header .tags > span {display:inline-flex; justify-content:center; align-items:center; height:1.88vw; padding:0 1.3vw; background-color:#dcdbf1; border-radius:1.88vw; font-size:1.04vw; line-height:1;}
.company-card-content h2 {font-size:1.25vw; border-bottom:3px solid #5d5bc9; margin-bottom:1.56vw;}
.company-card-content h2.no-design {border-bottom:none;}
.company-card-content h2.no-design span {display:inline-flex; justify-content:center; align-items:center; height:1.88vw; padding:0 1.04vw; background-color:#5d5bc9; border-radius:1.88vw; color:#fff;}
.company-card-content h3 {font-size:1.04vw; border-left:3px solid #5d5bc9; margin-bottom:0.52vw; padding-left:0.52vw;}
.company-card-content .table {width:100%; border-collapse:collapse;}
.company-card-content .table th,
.company-card-content .table td {padding:0.52vw 1.04vw; background-color:#fff;}
.company-card-content .table th {padding:0.52vw 4.17vw;}
.company-card-content .table tr:nth-child(odd) th,
.company-card-content .table tr:nth-child(odd) td {background-color:#f6f6f6;}
.company-card-content p {}
.company-card-content:not(:last-child) {margin-bottom:2.08vw;}
.company-card-content .gallery-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:1.04vw; margin-top:1.04vw; margin-bottom:2.08vw;}
.company-card-content .gallery-list__item {border-radius:1.04vw;}
.modal__header {justify-content:flex-end;}
.modal__close {outline:none;}

.news-card {margin:2.6vw 0 1.56vw; padding:2.08vw; background-color:#fff; border-top:0.52vw solid #35b5d0; border-radius:1.04vw; box-shadow:0 0 1.56vw rgba(137, 147, 167, .2);}
.news-card-content h1 {font-size:1.56vw; margin-bottom:1.56vw;}
.news-card-content h2 {font-size:1.25vw; border-bottom:3px solid #35b5d0; margin-bottom:1.56vw;}
.news-card-content h3 {font-size:1.04vw; border-left:3px solid #35b5d0; margin-bottom:0.52vw; padding-left:0.52vw;}
.news-card-content .meta {margin-bottom:1.56vw; padding-bottom:0.54vw; border-bottom:1px solid #f6f6f6;}

.form-group:not(:last-child) {margin-bottom:1.56vw;}
.form-group-row {display:flex; flex-direction:column; gap:0.54vw;}
.form-group-row-label {display:flex; align-items:center; gap:0.54vw;}
.form-group-row-label span {display:inline-flex; justify-content:center; align-items:center; height:1.3vw; padding:0 0.52vw; border-radius:1.3vw; font-size:0.73vw; line-height:1;}
.form-group-row-label .required {background-color:#dcdbf1;}
.form-group-row-label .no-required {background-color:#f1f1f1;}
.form-group-row-content {}
.form-control {width:100%; padding:1.04vw 1.3vw; background-color:#fff; border:1px solid #2e446d; border-radius:0.52vw;}
textarea.form-control {min-height:7.81vw;}
.wpcf7-spinner {display:block !important;}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; font-size:14px;}
    p:not(:last-child) {margin-bottom:20px;}

    /* util */
    .container,
    .container-fluid,
    .header-inner {width:auto; min-width:inherit; max-width:inherit; padding-left:20px; padding-right:20px;}
    .button {width:100%; height:50px; padding:0 20px; border-radius:50px; font-size:14px;}
    .button.wi {padding:0 50px 0 20px;}
    .button.wi::before {right:15px; width:45px; height:18px; background-size:12px auto; border-radius:20px;}
    .button.md {width:100%; height:50px; border-radius:50px; font-size:14px;}
    .button.lg {width:100%; height:50px; border-radius:50px; font-size:14px;}
    .breadcrumbs {padding:20px 0; overflow-x:auto;}
    .breadcrumb {justify-content:flex-start; white-space:nowrap; font-size:12px;}
    .breadcrumb i {margin:0 5px; font-size:10px;}

    /* header */
    .header {min-width:inherit; height:60px;}
    .header-inner {align-items:center; height:60px; margin-right:0; padding:0 0 0 20px;}
    .header-brand {width:116px; height:40px; margin:0 auto 0 0;}
    .button-hamburger {position:relative; display:block; width:60px; height:60px; margin:0; padding:0; background:#35b5d0; border:none; border-radius:0; cursor:pointer; z-index:100;}
    .button-hamburger-bar {position:absolute; content:''; left:50%; width:20px; height:2px; background-color:#fff; border-radius:2px; transition:all .2s ease-in-out; transform:translateX(-50%);}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1px);}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .header-nav {display:none; position:absolute; top:60px; left:0; width:100%; padding:20px 0; background-color:#fff;}
    .header-nav-global {align-items:flex-start; justify-content:inherit; flex-direction:column; gap:0; padding:0; background-color:transparent; border:none; border-radius:0; box-shadow:none;}
    .header-nav-global > li {display:flex; flex:1; width:100%; flex-direction:column;}
    .header-nav-global > li:not(:last-child) {border-bottom:1px solid #ddd;}
    .header-nav-global > li > a {display:flex; width:100%; flex-direction:row; align-items:center; gap:10px; height:auto; padding:20px; font-size:16px; color:#2e446d;}
    .header-nav-global > li > a small {font-size:14px;}
    .header-nav-global > li > a:hover {background-color:transparent; color:#2e446d;}
    .header-nav-global > .button-contact > a {width:100%; flex-direction:row; justify-content:flex-start; align-items:center; gap:15px; height:auto; padding:20px; font-size:16px;}
    .header-nav-global > .button-contact > a:hover {background-color:transparent !important; color:#2e446d !important;}

    #content {}

    /* mod */
    .section {margin-bottom:50px;}
    .heading {margin-bottom:30px;}
    .heading-en {margin-bottom:5px; font-size:16px;}
    .heading-ja {font-size:20px;}
    .heading-ja small {font-size:16px;}
    .more {margin-top:30px; gap:10px; flex-direction:column;}

    .hero {padding-top:100%;}
    .hero-logo {top:50%; left:50%; width:200px; transform:translate(-50%, -50%);}
    .case {margin-top:-20px; padding:10px;}
    .c-caseSlider .c-caseSlider__slide {flex-direction:row; width:100px !important;}
    .c-caseSlider .c-caseSlider__slide.sm {}
    .floating {height:50px;}
    .floating-text {top:0; gap:20px;}
    .floating-text-inner {font-size:50px;}
    .about .content p {margin-bottom:10px; line-height:2;}
    .about .content p:not(:last-child) {margin-bottom:10px;}
    .feature {padding-top:50px; padding-bottom:50px;}
    .card-list {grid-template-columns:repeat(1, 1fr); gap:20px;}
    .card-list__item {padding:20px; border-radius:10px; box-shadow:0 0 10px rgba(137, 147, 167, .2);}
    .card-list__item figure {margin-bottom:15px; border-radius:10px;}
    .card-list__item figure img {border-radius:10px;}
    .card-list__item h3 {margin-bottom:10px; font-size:18px;}
    .card-list__item .tags {margin-bottom:10px; gap:10px;}
    .card-list__item .tags > span {height:18px; padding:0 5px; border-radius:18px; font-size:10px;}
    .card-list__item h4 {margin-bottom:10px; font-size:16px;}
    .card-list__item h4 span {height:25px; padding:0 10px; border-radius:25px;}
    .news-list__item {align-items:flex-start; gap:0 10px; padding:10px 50px 10px 0;}
    .news-list__item::before {width:45px; height:18px; background-size:12px auto; border-radius:20px;}
    .news-list__item time {font-size:12px;}
    .news-list__item h3 {font-size:12px;}

    .contact {margin-bottom:0; padding-top:50px; padding-bottom:50px;}

    .flow-row {grid-template-columns:repeat(1, 1fr); gap:30px; margin-bottom:50px;}
    .flow-heading {margin-bottom:20px; width:250px; height:35px; border-radius:35px; font-size:14px;}
    .flow-list__item {min-height:inherit; padding:20px; border-radius:10px; box-shadow:0 0 10px rgba(137, 147, 167, .2);}
    .flow-list__item:not(:last-child) {margin-bottom:50px;}
    .flow-list__item:not(:last-child)::before,
    .flow-list-last .flow-list__item::before {bottom:-35px; font-size:20px;}
    .flow-list__item h4 {font-size:14px;}
    .flow-list__item p {font-size:12px;}
    .flow-list-last .flow-list__item::before {top:-35px;}

    .contact-list {gap:20px;}
    .contact-list__item {flex-direction:column; align-items:flex-start; gap:10px; padding:20px; border-radius:10px; box-shadow:0 0 10px rgba(137, 147, 167, .2);}
    .contact-list__item h3 {padding-left:10px; border-left-width:5px; font-size:16px;}
    .contact-list__item p i {margin-right:10px;}

    .footer {padding:50px 0 20px;}
    .footer-nav {margin-bottom:50px;}
    .footer-nav-list {flex-direction:column; gap:0; padding-left:0;}
    .footer-nav-list__item {border-bottom:1px solid #ddd;}
    .footer-nav-list__item > a {display:block; padding:10px 50px 10px 0;}
    .footer-nav-list__item > a::before {width:45px; height:18px; background-size:12px auto; border-radius:20px;}
    .footer-copyright {font-size:12px;}

    .page-header {height:150px; border-bottom-width:3px;}
    .page-header-title .heading-en {margin-bottom:5px; font-size:16px;}
    .page-header-title .heading-ja {font-size:20px;}
    .page-header-title .heading-ja small {font-size:16px;}

    .page-description {margin-bottom:20px; font-size:14px;}
    .nav-local-category {margin-bottom:10px;}
    .nav-local-category-list {flex-direction:column; gap:10px;}
    .nav-local-category-list__item-link {width:auto; height:40px; padding:0 10px; border-radius:40px; font-size:14px;}
    .keyword-search {display:block; margin-bottom:20px;}
    .keyword-search input {width:100%; height:40px; padding:0 10px; border-radius:40px; font-size:14px;}
    .keyword-search button {right:5px; width:30px; height:30px; border-radius:30px; font-size:12px;}
    .category-description {margin-bottom:20px; padding:20px; border-radius:10px;}
    .category-description h3 {font-size:14px;}
    .category-description p {font-size:12px;}
    .nav-local-tag {margin-bottom:30px;}
    .nav-local-tag-list {gap:10px;}
    .nav-local-tag-list__item > a {height:25px; padding:0 10px; border-radius:25px; font-size:12px;}
    .nav-local-tag-list__item > a:hover {box-shadow:0 0 10px rgba(137, 147, 167, .2);}

    .company-card {margin:0 0 20px; padding:20px; border-top-width:5px; border-radius:10px; box-shadow:0 0 10px rgba(137, 147, 167, .2);}
    .company-card-header {flex-direction:column; gap:10px; margin-bottom:20px; padding-bottom:20px;}
    .company-card-header figure {flex:1; border-radius:10px;}
    .company-card-header .text h1 {padding:0; font-size:16px;}
    .company-card-header .tags {gap:10px;}
    .company-card-header .tags > span {height:25px; padding:0 10px; border-radius:25px; font-size:12px;}
    .company-card-content h2 {margin-bottom:20px; font-size:16px;}
    .company-card-content h2.no-design span {height:25px; padding:0 10px; border-radius:25px;}
    .company-card-content h3 {font-size:14px; margin-bottom:10px; padding-left:10px;}
    .company-card-content .table th,
    .company-card-content .table td {padding:5px 10px;}
    .company-card-content .table th {padding:5px 10px;}
    .company-card-content p {}
    .company-card-content:not(:last-child) {margin-bottom:30px;}
    .company-card-content .gallery-list {grid-template-columns:repeat(2, 1fr); gap:10px; margin-top:10px; margin-bottom:20px;}
    .company-card-content .gallery-list__item {border-radius:10px;}

    .news-card {margin:0 0 20px; padding:20px; border-top-width:5px; border-radius:10px; box-shadow:0 0 10px rgba(137, 147, 167, .2);}
    .news-card-content h1 {font-size:16px; margin-bottom:20px;}
    .news-card-content h2 {font-size:14px; margin-bottom:20px;}
    .news-card-content h3 {font-size:14px; margin-bottom:10px; padding-left:10px;}
    .news-card-content .meta {margin-bottom:20px; padding-bottom:5px;}
    
    .form-group:not(:last-child) {margin-bottom:20px;}
    .form-group-row {gap:5px;}
    .form-group-row-label {gap:10px;}
    .form-group-row-label span {height:18px; padding:0 10px; border-radius:18px; font-size:10px;}
    .form-control {padding:15px 20px; border-radius:10px;}
    textarea.form-control {min-height:120px;}

    .-pc {display:none;}
    .-sp {display:block;}
}
