:root {
    --back-b: #E3E9EB;
    --font: #303f46;
    --green: #39ADA5;
    --mizublue: #0077A4;
    --orange: #E88C3B;
    --border: #d2d2d2;
    --hovershadow: 36px 32px 52px rgb(63 63 63 / 25%);
    --shadow: 36px 32px 52px rgb(201 201 201 / 25%);
}

body {
}

.inner {
    width: 100%;
    max-width: calc(1200px - 20px);
    margin: auto;
}

.bx-wrapper {
    max-width: 1000px!important;
    margin: 0 auto;
}

.bx-wrapper dl {
    width: 300px;
}

.bx-wrapper .bx-controls-direction,
.bx-pager {
    display: none;
}

#cloud{
	width:100%;
	height:800px;
	background:url(../img/clouds.png);
	animation: cloudmove 20s linear infinite;
	-webkit-animation: cloudmove 20s linear infinite;
	-moz-animation: cloudmove 20s linear infinite;
    position: absolute;
    opacity: 0.95;
    z-index: 9000;
}

@keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
}
@-webkit-keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
}
@-moz-keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
}

.header {
    padding: 0!important;
    box-shadow: var(--shadow);
}

.header-item-left h1 {
    margin-left: 0.7rem;
}

.header-item-center {
    justify-content: flex-end;
}

.header-item-right {
    transition: all 0.3s;
    will-change: background-attachment;
}

.header-item-right a {
    border-radius: 0!important;
    height: 80px!important;
    margin: 0!important;
    width: calc(80% / 3);
    letter-spacing: 1px;
    display: inline-block!important;
    padding-top: 10.8px!important;
    text-align: center;
    background-size: 200% 100%;
}

.header-item-right a:hover,
.f-link a {
    color: #fff!important;
    background-position: 100% 0!important;
}

.header-item-right .header-button3 {
    color: var(--font)!important;
}

.header-item-right .header-button3:hover {
    color: var(--font)!important;
    font-weight: bold;
}

.header-item-right a img {
    width: 2vw;
    display: block;
    margin: 0 auto 4px;
}

.menu-subs .menu-mega .menu-column-4:last-child {
    display: none!important;
}

.list-item a:hover{
    letter-spacing: 1px;
}

.header .menu > ul > li.menu-item-has-children:hover .menu-subs h4 {
    font-size: 14px!important;
}

.header .menu > ul > li.menu-item-has-children:hover .menu-subs h4:hover {
    color: #a8d9eb!important;
}

.circle_btn {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--font);
    font-weight: bold;
    position: relative;
    width: fit-content;
    gap: 1em!important;
    letter-spacing: 2px;
  }
  
  .circle_btn_arrow {
    background: #fff;
    color: var(--mizublue);
    padding-top: 10px;
    border-radius: 100vh;
    border: solid 1px var(--mizublue);
    width: 3em;
    height: 3em;
    text-align: center;
    transition: 0.3s;
  }
  
  .circle_btn:hover .circle_btn_arrow {
    transform: scale(1.15);
  }

  #chukai,
  #development,
  #reform,
  #maintenance {
    padding-top: 6rem;
  }

.f1-view {
    position: relative;
    margin-top: -2rem;
    z-index: 1;
    margin: -1rem auto 8rem auto;
}

.f1-news {
    /* background: linear-gradient(300deg, #e3e9eb, #e9faff, #d8d8d8, #f8f3ff); */
    background-size: 800% 800%;
    background: #e3e9eb;

    -webkit-animation: AnimationName 22s ease infinite;
    -moz-animation: AnimationName 22s ease infinite;
    animation: AnimationName 22s ease infinite;
}

@-webkit-keyframes AnimationName {
    0%{background-position:0% 17%}
    50%{background-position:100% 84%}
    100%{background-position:0% 17%}
}
@-moz-keyframes AnimationName {
    0%{background-position:0% 17%}
    50%{background-position:100% 84%}
    100%{background-position:0% 17%}
}
@keyframes AnimationName {
    0%{background-position:0% 17%}
    50%{background-position:100% 84%}
    100%{background-position:0% 17%}
}

.f1-inner {
    display: flex;
    justify-content: right;
    height: 100vh;
}

.f1-left {
    position: absolute;
    left: 10vw;
    top: 8rem;
    z-index: 10010;
}

.f1-left dl,
.top-pamphlet-sp {
    max-width: 300px;
    width: 100%;
    box-shadow: var(--shadow);
    margin-top: 3rem;
    position: relative;
    z-index: 1;
}

.f1-left dl img,
.top-pamphlet-sp img {
    width: 100%;
}

.f1-left a,
.top-pamphlet-sp a {
    transition: all 0.3s;
    background: #fff;
    padding: 1.5rem;
    font-weight: bold;
    display: inline-block;
}

.f1-left a:hover,
.top-pamphlet-sp a:hover {
    background: var(--back-b)!important;
}

.f1-left a:first-child,
.top-pamphlet-sp a:first-child {
    color: var(--font);
    margin-bottom: 1rem;
}

.f1-left a:last-child,
.top-pamphlet-sp a:nth-child(2) {
    color: var(--green);
}

.top-pamphlet-sp {
    position: relative;
    z-index: 11000;
}

.f1-news {
    position: relative;
}

.catch-img {
    position: relative;
    z-index: 1;
    right: 0;
    top: 16%;
    width: 100%;
    max-width: 700px;
}

.catch-img img {
    /* height: 100vh; */
    width: 90%;
    /* max-height: 860px; */
    object-fit: cover;
}

.f1-ccl {
    display: none;
    position: absolute;
}

.backf1-blue {
    width: 36vw;
    position: absolute;
    z-index: 0;
    right: 0;
    top: 16%;
}

#balloon{
    width:7vw;
    height:8vw;
    fill:#3393b7b8;
    animation: 3.5s Roll ease-in-out infinite;
    position: absolute;
    top: 15%;
    left: 55%;
    z-index: 10000;
}
#balloon span{
    display:block;
    animation: FloatHorizontal 7.0s ease-in-out infinite alternate;
}
#balloon svg{
    animation: FloatVertical 6.0s ease-in-out infinite alternate;
}

@keyframes Roll {
    0% { transform: rotateZ(15deg) scale(0.9); }
    50% { transform: rotateZ(-15deg) scale(1.2); }
    100% { transform: rotateZ(15deg) scale(0.9); }
}

@keyframes FloatHorizontal {
    0% { transform:translate3d(2.5vw,0,0); }
    50% { transform:translate3d(-2.5vw,0,0); }
    100% { transform:translate3d(2.5vw,0,0); }
}

@keyframes FloatVertical {
    0% { transform:translate3d(0,5.5vw,0); }
    50% { transform:translate3d(0,-3.5vw,0); }
    100% { transform:translate3d(0,5.5vw,0); }
}


#balloon2{
    width:6vw;
    height:7vw;
    fill:#3dcad7ab;
    animation: 3.5s Rollb ease-in-out infinite;
    position: absolute;
    top: 55%;
    left: 46%;
    z-index: 9000;
}
#balloon2 span{
    display:block;
    animation: FloatHorizontalb 7.0s ease-in-out infinite alternate;
}
#balloon2 svg{
    animation: FloatVerticalb 6.0s ease-in-out infinite alternate;
}

@keyframes Rollb {
    0% { transform: rotateZ(30deg) scale(0.9); }
    50% { transform: rotateZ(20deg) scale(1.4); }
    100% { transform: rotateZ(30deg) scale(0.9); }
}

@keyframes FloatHorizontalb {
    0% { transform:translate3d(-6.5vw,0,0); }
    50% { transform:translate3d(-1.5vw,0,0); }
    100% { transform:translate3d(2.5vw,0,0); }
}
@keyframes FloatVerticalb {
    0% { transform:translate3d(0,-8.5vw,0); }
    50% { transform:translate3d(0,7.5vw,0); }
    100% { transform:translate3d(0,5.5vw,0); }
}

#balloon3{
    width:9vw;
    height:10vw;
    fill:#3dd7b0ab;
    animation: 3.5s Rollc ease-in-out infinite;
    position: absolute;
    top: 65%;
    left: 26%;
    z-index: 9000;
}
#balloon3 span{
    display:block;
    animation: FloatHorizontalc 7.0s ease-in-out infinite alternate;
}
#balloon3 svg{
    animation: FloatVerticalc 6.0s ease-in-out infinite alternate;
}

@keyframes Rollc {
    0% { transform: rotateZ(20deg) scale(0.9); }
    50% { transform: rotateZ(-20deg) scale(1.0); }
    100% { transform: rotateZ(20deg) scale(0.9); }
}

@keyframes FloatHorizontalc {
    0% { transform:translate3d(-10.5vw,0,0); }
    50% { transform:translate3d(-11.5vw,0,0); }
    100% { transform:translate3d(2.5vw,0,0); }
}
@keyframes FloatVerticalc {
    0% { transform:translate3d(0,-10.5vw,0); }
    50% { transform:translate3d(0,-11.5vw,0); }
    100% { transform:translate3d(0,1.5vw,0); }
}


.catch-img-wrap {
    animation: floating-x 1.2s ease-in-out infinite alternate-reverse;
    width: 43%;
    position: relative;
    right: 1rem;
  }
  .catch-img {
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
    z-index: 8000;
  }
  @keyframes floating-x {
    0% {
      transform: translateX(-1%);
    }
    100% {
      transform: translateX(1%);
    }
  }
  @keyframes floating-y {
    0% {
      transform: translateY(-1%);
    }
    100% {
      transform: translateY(1%);
    }
  }


  .ccl-wrap {
    animation: floating-x 1.2s ease-in-out infinite alternate-reverse;
  }
  .f1-ccl {
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
  }
  @keyframes floating-x {
    0% {
      transform: translateX(-1%);
    }
    100% {
      transform: translateX(1%);
    }
  }
  @keyframes floating-y {
    0% {
      transform: translateY(-1%);
    }
    100% {
      transform: translateY(1%);
    }
  }


/* 固定ページ */


.ent-list {
    margin: 1rem auto 3rem auto;
    padding-bottom: 2rem;
}

.ent-list b {
    font-size: 18px;
}

.ent-list ul {
    background: var(--back-b);
    border-radius: 5px;
    box-shadow: var(--shadow);
    padding: 1rem 2rem;
    width: 50%;
}

.ent-list ul li {
    position: relative;
}

.ent-list ul li::before {
    position: absolute;
    content: "";
    width: .7rem;
    height: .7rem;
    background: #fff;
    border-radius: 50%;
    left: -20px;
    top: 5px;
}

.service-text {
    display: none;
}

.page-h2-wrap {
    width: 100%;
    margin-bottom: 100px;
    padding: 60px 20px 0;
    text-align: center;
    color: var(--font);
}

.page-h2 {
    display: inline-block;
    position: relative;
}

.page-h2::before {
    content: "";
    display: block;
    width: 150px;
    height: 110px;
    background: #CCDDE3;
    position: absolute;
    top: 36%;
    left: -80px;
    transform: translateY(-50%);
    z-index: -1;
}

.page-h2 span:first-child {
    display: block;
    border-bottom: 1px solid #333;
    font-size: 3rem;
    letter-spacing: 0.18em;
    padding: 10px 0;
}

.page-h2 span:last-child {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.18em;
    padding: 10px 0;
}

.page-h3-wrap h3 {
    color: var(--font);
    letter-spacing: .5rem;
    font-size: 30px;
    width: 90%;
    position: relative;
    margin: 1rem 0;
}

.page-h3-wrap h3::after {
    content: "";
    display: inline-block;
    height: 2px;
    background: linear-gradient(to left, #fff, #25707e);
    width: 110px;
    margin: auto auto 0.7rem 0;
}

.page-h3-wrap h3 span {
    color: var(--mizublue);
    font-size: 35px;
    margin: 1rem auto;
}

.page-h4 {
    font-size: 21px;
    letter-spacing: 2px;
    font-weight: bold;
    color: var(--font);
    border-left: solid 5px #25707e;
    padding-left: 0.5rem;
    margin: 1rem auto;
    line-height: 2.8rem;
}

.border-link {
    display: inline-block;
    background: transparent;
    border-bottom: 2px solid #333;
    border-top: 2px solid #333;
    border-radius: 0;
    color: var(--font);
    font-weight: bold;
    font-size: 1em;
    padding: 16px 200px 16px 16px;
    position: relative;
    margin: 2rem 1rem 2rem auto;
    transition: all .3s;
}

.border-link:hover {
    background: #CCDDE3;
}

.border-link::before {
    content: '';
    position: absolute;
    right: 15%;
    width: 10%;
    top: 50%;
    height: 2px;
    background:#333;
    transition: all .3s;
}

.border-link:hover:before {
    right: 12%;
}

.border-link:hover::after {
    right: 12%;
}

.border-link::after {
    content: '';
    position: absolute;
    right:15%;
    width: 9px;
    top: 45%;
    height:2px;
    background:#333;
    transform: rotate(35deg);
    transition: all .3s;
}

#page-text > p {
    font-weight: unset!important;
}

/* header */

.header {
    background: #fff;
}

.header nav {
    margin-right: 1rem!important;
}

.header-item-right a {
    font-size: clamp(0.563rem, 0.27rem + 0.34vw, 0.813rem);
    width: calc(100% / 3);
}

.header .menu > ul > li {
    margin-left: 1rem!important;
}


.header-button1 {
    background: linear-gradient(90deg, rgb(79, 30, 255) 0%, rgb(9, 129, 209) 50%, rgb(41, 3, 175) 100%);
    background-size: 200% 100%;
}

.header-button1 a,
.header-button2 a {
    color: #fff;
}

.header-button2 {
    background: linear-gradient(90deg, rgb(30, 154, 255) 0%, rgb(6, 135, 221) 50%,rgb(24, 196, 248) 100%);
}

.header-button3 {
    background: #fff!important;
    border: solid 1px var(--font)!important;
    color: var(--font);
}

.header-button3 a {
    color: var(--font);
}

.top-pamphlet-sp {
    display: none;
}

.header .menu > ul > li.menu-item-has-children:hover .menu-subs {
    background: var(--font);
}

.header .menu > ul > li.menu-item-has-children:hover .menu-subs h4 {
    color: #fff!important;
}

.header .menu > ul > li.menu-item-has-children:hover .menu-subs h4:hover {
    color: #ccc;
}

/* top news */

.top-news {
    padding-bottom: 3rem;
}

.top-news-wrap {
    display: flex;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.top-n-left {
    font-size: 37px;
    writing-mode: tb;
    color: var(--font);
    border-left: solid 2px;
    padding-bottom: calc(10% - 80px);
}

.news-dl {
    max-width: 730px;
    width: 100%;
    margin: 0 0 0 auto;
}

.news-dl a {
    display: flex;
    gap: 2rem;
    padding: 1.3rem;
    margin: 0 0 0 auto;
    transition: 0.3s;
}

.news-dl a:not(.circle_btn):hover {
    background: var(--back-b);
}

.news-dl dl {
    background: #fff;
    border-radius: 7px;
    box-shadow: var(--shadow);
    margin-bottom: .4rem;
}

.news-dl dt {
    color: #838181;
    font-size: 14px;
}

.news-dl span:not(.circle_btn_arrow span),
.article-item span,
.news-post-title2 span,
.to-post span {
    display: inline-block;
    width: 5rem;
    text-align: center;
    color: #fff;
    font-size: 13px;
    line-height: 22px;
    letter-spacing: 2px;
    border-radius: 2px;
}

.article-item span {
    margin-left: 1rem;
}

.news-dl .important,
.article-item .important,
.news-post-title2 .important,
.to-post .important{
    background: #d6ad88;
}

.news-dl .news,
.article-item .news,
.news-post-title2 .news,
.to-post .news{
    background: #83afbf;
}

.news-dl .work,
.article-item .work,
.news-post-title2 .work,
.to-post .work {
    background: #86bab5;
}

.news-post-title2 .owner {
    background: var(--mizublue);
}

.news-post-title2 .tenant {
    background: #D5C5A5;
}

.news-post-title2 .dealer {
    background: #c4c098;
}


.news-dl dd {
    color: var(--font);
    font-weight: bold;
}

.top-ttl-grad {
    background: #fff;
    width: 100%;
    max-width: 700px;
    font-size: 28px;
    margin: 3rem auto;
    text-align: center;
    padding: 0.5rem;
    border-radius: 3px;
    letter-spacing: -2px;
    font-family: system-ui;
    box-shadow: var(--shadow);
}

.top-ttl-grad h2 {
    display: inline-block;
    background: linear-gradient(90deg, #E88C3B, #F8B93D 30%, #dfed53);
    background: -webkit-linear-gradient(0deg, #E88C3B, #F8B93D 30%, #dfed53);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* font-family: Arial, Helvetica, sans-serif; */
}

.top-ttl-h3 {
    display: flex;
	justify-content: center;
	align-items: center;
	font-size: 26px;
	text-align: center;
    color: var(--font);
    letter-spacing: 3px;
    margin: -1.5rem auto 2rem;
}

.top-ttl-h3::before,
.top-ttl-h3::after {
    content: '';
	width: 2px;
	height: 40px;
	background-color: var(--font);
}

.top-ttl-h3::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}

.top-ttl-h3::after {
	margin-left: 30px;
	transform: rotate(35deg)
}

.top-ttl-h3 span {
    color: var(--orange);
    font-size: 43px;
    margin: 0.3rem;
}

.top-menu-4 {
    margin: 3rem auto;
    display: flex;
    gap: 15px;
}


.top-menu-4 a {
    position: relative;
    width: calc(1200px / 4);
    display: flex;
    box-shadow: -13px 24px 51px rgb(205 210 210 / 25%);
    border-radius: 12px;
    padding: 16px;
    transition: all 0.3s;
}

.top-menu-card {
    color: var(--font);
    text-align: center;
    font-weight: bold;
    letter-spacing: 1.5px;
}

.top-menu-card img {
    margin: .7rem auto;
    width: 74px;
}

.top-menu-card p:first-child {
    position: relative;
    font-size: 20px;
}

.top-menu-card p:first-child::after {
    content: "";
    background: #dbf1fa;
    width: 120px;
    height: 3px;
    display: block;
    margin: 0 auto;
    padding-bottom: 7px;
    position: relative;
    top: -7px;
    z-index: -1;
}

.card-txt {
    font-size: 14px;
    text-align: left;
    letter-spacing: 3px;
    margin: 0 0 45px;
}

.top-menu-card p:last-child {
    position: absolute;
    bottom: 34px;
    left: 0;
    right: 0;
}

.top-ttl-h3 img {
    width: calc(200px - 10px);
    display: inline-block;
    margin-left: 0.5rem;
    padding-top: 9px;    
}

.check {
    display: flex;
    justify-content: left;
    gap: 5rem;
    margin-left: 2rem;
}

.check p {
    font-weight: bold;
    color: var(--font);
    letter-spacing: 1px;
    position: relative;
    margin-top: 1rem;
}

.check p::before {
    content: '';
    display: block;
    position: absolute;
    top: .5em;
    left: -1.5em;
    width: 15px;
    height: 9px;
    border-left: 3px solid var(--orange);
    border-bottom: 3px solid var(--orange);
    transform: rotate(-45deg);
}

.graph-wrap {
    box-shadow: var(--shadow);
    margin-bottom: 12rem;
    padding: 1rem;
}


.graph-dl {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 0 auto;
    background: #fff;
}

.graph-dl dt {
    width: calc(100% / 3);
    position: relative;
}

.graph-ttl {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: var(--font);
    margin: 4rem auto 2rem;
}

.pie {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: auto;
	margin-left: auto;
	width: 300px;
	height: 300px;
	font-size: 26px;
	font-weight: 700;
    background-image: radial-gradient(#ffffff 51%, transparent 50%), conic-gradient(#D5C5A5 0% 99%, #ffffff 61% 100%);
	border-radius: 50%;
}

.pie p {
    display: inline-block;
    background: -webkit-linear-gradient(0deg, #156ADF, #1dbaf5 30%, #aad6f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 70px;
    font-family: initial;
}

.pie span {
    font-size: 16px;
    color: #585b5d;
    margin-bottom: -28px;
}

.graph-dl dt img {
    width: 100%;
    max-width: 227px;
    position: relative;
    z-index: -1;
    left: 30px;
    bottom: -57px;
    display: inline-block;
    margin-bottom: 4.2rem;
}

.graph-wrap .circle_btn {
    margin: 5rem auto 0;
    padding-bottom: 4rem;
}

.count {
    position: absolute;
    right: 55px;
    bottom: -17px;
}

.count-span {
    font-size: 13px;
    color: #959595;
    position: absolute;
    bottom: 0;
    right: 35px;
}

.bar-graph-wrap {
    position: relative;
    height: 350px;
    -webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0);
    overflow: hidden;
  }

.bar-graph-wrap .graph {
    height: 50px;
    position: absolute;
    left: 0;
    border-radius: 0 4px 4px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px;
    -webkit-animation: graphAnim 0.2s forwards;
            animation: graphAnim 0.2s forwards;
  }
    .number {
    display: inline-block;
    background: -webkit-linear-gradient(0deg, #156ADF, #1dbaf5 30%, #aad6f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 60px;
    font-family: initial;
    font-weight: bold;
    position: absolute;
    top: -51px;
    right: -12px;
    letter-spacing: -2px;
  }
  .graph span {
    font-size: 13px;
    color: #959595!important;
    position: absolute;
    top: -7px;
    right: -22px;
  }
  .g-num {
    top: 24px!important;
    right: -24px!important;
    background: #fff;
    font-weight: 500;
  }

  .graph-data {
    font-size: 12px;
    color: #9E9E9E;
    text-align: center;
    margin: 1rem auto;
    position: absolute;
    bottom: -3rem;
    right: 0;
    left: 0;
  }

  .bar-graph-wrap .graph.bar1 {
    top: 66%;
    background: #d5c5a5;
    height: 53%;
    left: 2.2rem;
  }
  .bar-graph-wrap .graph.bar2 {
    top: 0;
    bottom: 0;
    margin: auto;
    background: #d5c5a5;
    height: 60%;
    left: 6.7rem;
  }
  .bar-graph-wrap .graph.bar3 {
    top: 0;
    bottom: 0;
    margin: auto;
    background: #d5c5a5;
    height: 67%;
    left: 11.3rem;
  }
  .bar-graph-wrap .graph.bar4 {
    bottom: 15%;
    background: var(--orange);
    height: 80%;
    left: 15.7rem;
  }
  
  @keyframes graphAnim02 {
    0% {
      transform: translateY(100%);
    }
    100% {
      transform: translateY(0);
    }
  }

  .bar-graph-wrap.vertical {
    height: 300px;
    margin: 0 auto;
    max-width: 315px;
    background-image: url(../img/bar_graph.webp);
    background-size: cover;
    background-repeat: round;
  }

  .bar-graph-wrap.vertical .graph {
    width: 25px;
    bottom: 26px;
    border-radius: 2px 2px 0 0;
    animation: graphAnim02 0.5s forwards;
    flex-direction: column-reverse;
    top: auto;
  }

  .bar-graph-wrap.vertical .graph .name {
    font-size: 10px;
  }

.count-wrap {
    position: relative;
    z-index: 2;
}


.top-menu2 {
    background: url(../img/top-menu-a-back.png);
    position: relative;
    padding-top: .5rem;
    margin: 0 auto 20rem;
    background-repeat: no-repeat;
    background-size: cover;
}

.menu2::before {
    content: "";
    position: absolute;
    background: linear-gradient(45deg, #fffaf9, #dbd6d6a8);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: all 0.5s;
}

.menu2-ttl {
    max-width: 500px;
    margin: 3rem auto;
}

.menu2-ttl,
.menu2-h3 {
    position: relative;
    z-index: 1;
}

.menu2-a {
    position: relative;
    background: var(--back-b);
    display: flex;
    justify-content: center;
    z-index: 2;
}

.menu2-top-left {
    background: #fff;
    margin: 3rem 0 0 4rem;
    padding: 3rem;
    width: calc(100% / 2);
}

.menu2-p {
    font-weight: bold;
    font-size: 26px;
    color: var(--font);
    letter-spacing: 1px;
}

.menu2-top-left p span {
    color: var(--orange);
    font-size: 35px;
}

.menu2-b {
    height: 18rem;
    background: #fff;
    position: relative;
    border-bottom: solid 1px #D5C5A5;
    box-shadow: var(--shadow);
}

.menu2-top-right {
    width: calc(100% / 2);
    padding: 2rem;
    margin-top: 3.5vw;
    letter-spacing: 2.5px;
    line-height: 27px;
}

.menu3 {
    background: url(../img/menu3-back.png);
    position: relative;
    padding-top: 4rem;
    padding-bottom: 1rem;
    background-color: rgb(255 255 255 / 25%);
    background-attachment: fixed;
    background-blend-mode: lighten;
    
}

.menu3-link {
    bottom: 7px!important;
    background: #fff;
    padding: .4rem;
    font-size: 13px;
}

.menu3 .top-menu-4 a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: all 0.5s;
}

.menu3 .top-menu-4 a:hover:before {
    backdrop-filter: blur(0px)!important;
    background: #eefaff73;
}

.menu3 .top-menu-card {
    position: relative;
    z-index: 1;
}

.check-center {
    justify-content: center!important;
    margin: auto!important;
}




/* top 実績スライダー */

/* .work-wrap {
    margin: 3rem auto;
    color: #654503;
    font-weight: bold;
    max-width: 1200px;
    width: 100%;
}

.sli-list {
    border-bottom: solid 2px #654503;
}

.sli-list-item {
    text-align: center;
    width: calc(1200px / 4);
    padding: 10px 0;
}

.sli-list-item:not(:last-child) {
    border-right: solid 1px #eee;
}

.sli-list-item.active {
    background: #E5D5B5;
}

.sli-contents {
    display: none;
}

.sli-contents.show {
    display: block;
    width: 100%;
    background: #F5F3EF;
    justify-content: center;
    gap: 1rem;
    align-items: center;
    padding: 50px;
}

.sli-list,
.sli-box {
    display: flex;
}

.sli-box {
    justify-content: center;
    gap: 15px;
}

.sli-box dd,
.sli-box p {
    color: #654503;
}

.sli-box dd {
    font-size: 18px;
    padding: 1rem;
    background: #e6e5dc;
}

.sli-box dl dt img {
    width: 100%;
    object-fit: cover;
    height: 300px;
    transition: all 0.3s;
}

.work-wrap > .circle_btn {
    margin: 2rem 0 2rem auto;
}

.work-btn-sp {
    display: none;
}

.work-loop {
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    overflow: hidden;
}

.work-loop dl {
    display: flex;
    animation: loop-list 20s linear infinite;
}

.work-loop dt {
    box-shadow: 36px 32px 52px rgba(122, 122, 122, 0.25);
    max-height: 300px;
    height: 100%;
    overflow: hidden;
}

.work-loop a {
    width: calc(100vw / 5);
    display: block;
}

.work-loop img:hover {
    transform:scale(1.07,1.07);
}


@keyframes loop-list {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
} */

/* .swiper-slide .post__thumb--img {
    margin: 0 0 15px;
    width: 300px;
  }
  .swiper-slide .post__thumb--img a {
    padding-top: 62.5%;
    width: 100%;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .swiper-button-next {
    display: block!important;
  } */


/* top faq */

.faq {
    background: var(--back-b);
    margin-top: 12rem;
}

.faq-top-ttl {
    background: #fff;
    display: flex;
    padding: 1rem;
    margin: -1rem auto 2rem 0;
    gap: 4rem;
    width: calc(40% - 10px);
    justify-content: center;
    box-shadow: var(--shadow);
}

.faq-top-ttl p:first-child {
    background: linear-gradient(90deg, #3F51B5, #0078f8 30%, #14ce77);
    background: -webkit-linear-gradient(0deg, #3F51B5, #0078f8 30%, #14ce77);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.5rem;
    font-weight: bold;
    position: relative;
}

.faq-top-ttl p:last-child {
    line-height: 4.5rem;
    color: var(--font);
    letter-spacing: 1px;
    font-weight: bold;
}

.faq-top-ttl p:first-child::after {
    position: absolute;
    top: 50%;
    right: -50%;
    content: "";
    width: 1.5rem;
    height: 1px;
    background: var(--font);
}

.faq-wrap {
    padding-bottom: 2.5rem;
}

.faq .circle_btn {
    margin: 2rem auto 0;
}

.q {
    font-size: 2rem;
    font-style: italic;
    margin-right: 1rem;
}

.faq-top-link {
    background: #fff;
    padding: 1rem;
    box-shadow: var(--shadow);
}

.faq-top-link div {
    max-width: calc(700px - 10px);
    margin: 0 auto;
}

.faq-top-link p,
.faq-card li {
    color: var(--font);
    position: relative;
    margin: 1rem auto 1rem 4rem;
    border-bottom: solid 1px #ccc;
    transition: all .3s;
    padding: 1rem;
    font-weight: bold;
    word-break: auto-phrase;
  }

  .faq-card p {
    color: var(--font);
  }

.faq-top-link p:hover,
.faq-card a:hover {
    background: var(--back-b);
    letter-spacing: .2px;
  }
  
.faq-top-link p:before,
.faq-card li::before {
    content: "Q";
    color:var(--orange);
    position: absolute;
    font-size: 35px;
    bottom: -3px;
    left: -32px;
    font-family: math;
  }

  .qa_cat {
    background: -webkit-linear-gradient(0deg, #156ADF, #1dbaf5 30%, #aad6f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 22px;
    font-weight: bold;
    position: relative;
  }

  /* sidebar */

  .sidebar ul li:first-child {
    display: none;
  }

  .sidebar li {
    margin: 1rem auto;
    background: var(--back-b);
    padding: 1rem;
    
  }

  .sidebar li a {
    color: var(--font);
  }


/* top company */

.top-c-back::before {   
	content: "";
    background: linear-gradient(to right, #efe9d6b0 0%, rgba(255, 255, 255, 1) 101%)no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
	backdrop-filter: blur(2px);
}

.top-c-back {
    background: url(../img/caption.png);
    background-size: cover;
	background-position: center;
	background-attachment: fixed;
    width: 100%;
    margin: 0 auto;
    margin-left: 0;
    position: relative;
}

.top-c-wrap {
    display: flex;
	justify-content: space-evenly;
    margin: 8rem auto;
    max-width: 1200px;
	position: relative;
	z-index: 1;
}

.top-c-left {
    text-align: center;
}

.top-c-left p {
    writing-mode: tb;
    font-size: 40px;
    color: var(--font);
    height: 400px;
    border-left: solid 2px #fff;
}

.top-c-1 {
    margin: auto 0;
    font-family: serif;
    font-weight: bold;
    letter-spacing: 1.2px;
    line-height: 35px;
    font-size: 15px;
}

.top-c-1:first-child {
    font-size: 18px;
    line-height: 43px;
}

.top-c-1:not(.top-c-1:first-child) {
    margin-bottom: 1rem;
}

.top-c-txt {
    margin-top: 6rem;
}

/* top banner */

.top-banner {
    margin: 3rem auto;
}

.top-banner a {
    box-shadow: var(--shadow);
}

.banner-double,
.banner-triple {
    display: flex;
    gap: 5px;
}

.banner-double {
    margin-bottom: 2rem;
}

.banner-double a {
    display: inline-block;
    width: 50%;
    padding: 1rem;
    position: relative;
}

.banner-double a::before {
    content: "";
    position: absolute;
    background: linear-gradient(45deg, #d0cfc9, transparent);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(6px);
    transition: all 0.5s;
}

.banner-double a:hover::before {
    backdrop-filter: blur(1px);
    /* background: linear-gradient(45deg, #363635, transparent); */
}

.banner-double a img {
    padding: 2rem;
    position: relative;
}

.banner-double a:first-child {
    background: url(../img/support_photo8.webp);
}

.banner-double a:first-child img {
    border: solid 1px var(--font);
}

.banner-double a:last-child {
    background: url(../img/support_photo6.webp);
}

.banner-double a:last-child img {
    border: solid 1px var(--green);
}

.banner-double a img,
.banner-triple a img {
    width: 100%;
    height: 100%;
}

.banner-triple a {
    display: inline-block;
    width: calc(100% / 3);
    transition: all 0.3s;
}

.banner-triple a:hover {
    opacity: 0.5;
}


/* footer */

footer {
    margin-top: 8rem;
}

.f-back {
    background: url(../img/f-back.webp) no-repeat;
    background-size: auto;
    width: 100%;
}

.f-back::before {
    content: "";
    background: linear-gradient(to right, #e3e9ebd1 0%, rgba(255, 255, 255, 1) 101%)no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.f-wrap {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    padding-top: 3rem;
    padding-bottom: 1rem;
}

.f-left {
    width: calc(84% / 3);
}

.f-link,
.f-map {
    width: calc(100% / 3);
    margin-top: 5rem;
}

.f-link img {
    width: 36px;
    display: block;
    margin: 0 auto 7px;
}

.f-left > p {
    background: #fff;
    width: 100%;
    max-width: calc(100% - 100px);
    padding: 0.5rem;
    text-align: center;
}

.f-left img {
    width: calc(83% - 10px);
    margin-top: 9px;
}

.f-name {
    margin: 1rem auto;
    letter-spacing: 1px;
}

.f-name p {
    font-size: 14px;
}

.f-link ul {
    justify-content: center;
}

.f-left ul {
    justify-content: flex-start;
}

.f-link ul,
.f-left ul:not(.f-ul-3) {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    column-count: 2;
    font-weight: bold;
}

.f-left a {
    color: var(--font);
    position: relative;
    display: inline-block;
    transition: all 0.3s;
}

.f-left a:hover {
    color: var(--border);
    box-shadow: var(--hovershadow);
}

/* .f-left a:before {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--font);
    position: absolute;
    bottom: -4px;
    left: 0;
    transform: scale(0,1);
    transform-origin: left top;
    transition: transform 0.3s;
} */

.f-left ul:not(.f-ul-3) li {
    width: calc(34% - 10px);
}

.f-ul-3 {
    display: inline-block;
    margin: 10px auto auto 10px;
    font-size: 14px;
}

.f-ul-3:last-child {
    position: absolute;
}

.f-ul-3 li {
    line-height: 1.5rem;
}

.f-link a {
    display: inline-block;
    width: calc(50% - 10px);
    font-size: 14px;
    text-align: center;
    letter-spacing: 1px;
    transition: all 0.3s;
}

.f-link a:hover {
    box-shadow: var(--hovershadow);
    background-position: right;
}

.f-link li {
    padding: 6px;
}

.f-link li:not(.header-button3) {
    color: #fff;
}

.header-button4 {
    background: linear-gradient(45deg, #d67924, #ffea35);
    justify-content: center;
    align-items: center;
}

.header-button4 a {
    color: var(--font);
}

.copyright {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top: solid 1px var(--border);
}

.iframe-wrapper2 {
    overflow: hidden!important;
    height: auto;
}

.iframe-wrapper2 iframe {
    max-width: 1200px;
    width: 100%;
    overflow: hidden!important;
    border: 0;
}


.plan-tab {
    background: var(--back-b);
    letter-spacing: 1px;
    padding-left: 1rem;
}

/*----------------------------
scroll
----------------------------*/

.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
  }
  .scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
  }
  
  .scroll_left {
      -webkit-transition: 0.8s ease-in-out;
      -moz-transition: 0.8s ease-in-out;
      -o-transition: 0.8s ease-in-out;
      transition: 0.8s ease-in-out;
      transform: translateX(-30px);
      opacity: 0;
      filter: alpha(opacity=0);
      -moz-opacity: 0;
  }
  .scroll_left.on {
      opacity: 1.0;
      filter: alpha(opacity=100);
      -moz-opacity: 1.0;
      transform: translateX(0);
  }
  
  .scroll_right {
      -webkit-transition: 0.8s ease-in-out;
      -moz-transition: 0.8s ease-in-out;
      -o-transition: 0.8s ease-in-out;
      transition: 0.8s ease-in-out;
      transform: translateX(30px);
      opacity: 0;
      filter: alpha(opacity=0);
      -moz-opacity: 0;
  }
  .scroll_right.on {
      opacity: 1.0;
      filter: alpha(opacity=100);
      -moz-opacity: 1.0;
      transform: translateX(0);
  }

  /* ニュース一覧 */

  .news-post {
    background: #F5F3EF;
    padding: 20px!important;
    margin-bottom: .2rem;
    transition: all 0.3s;
    border-radius: 7px;
  }

  .news-post:hover {
    background: var(--back-b);
  }

  .news-post p {
    color: var(--font);
  }

  .gyoumu-flow {
    margin: 3rem auto;
  }

  .gyoumu-flow img {
    width: 100%;
  }


 /* premium support */

  .ps-txt {
    position: relative;
    background: var(--back-b);
    letter-spacing: 3px;
    font-size: 18px;
    font-weight: bold;
    color: var(--font);
    padding: 1rem;
  }

  .ps-txt:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid var(--back-b);
    width: 0;
    height: 0;
  }

  .flex-box3 {
    background: var(--back-b);
    padding: 3.2rem 1rem;
  }

  .flex-box3 figure img:not(.column3-t img) {
    transition: all .3s;
  }

  .flex-box3 figure img:not(.column3-t img):hover {
    box-shadow: var(--hovershadow);
  }
  
  .master-flex {
    display: flex;
    margin: 2rem auto 5rem auto;
    gap: 2rem;
  }

  .service-premium-flex {
    margin-top: 50px!important;
  }

  .page .pankz {
    margin: 100px auto 2rem;
  }


.arc-back {
    position: relative;
    z-index: 0;
    padding: 1.5rem;
    background: var(--back-b);
    margin-top: 3rem;
}

.arc-wrap {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 2rem;
    border-radius: 8px;
    background: #f8f8f8;
}

.arc-main {
    flex-basis: 74%;
    max-width: 74%;
    background: #fff;
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 1rem 0;
}

.arc-main .border-link {
    margin-left: 1rem;
}

.news-post-title2 p {
    margin-top: .5rem;
}

.the_time {
    color: var(--font)!important;
    margin-left: 1rem;
}

.to-post a {
    color: var(--font);
    margin: 1rem auto;
    display: block;
    background: #f9f9f9;
    padding: 0.8rem;
    border-bottom: solid 1px #ccc;
    position: relative;
    transition: all .3s;
    border-radius: 3px;
}

.to-post a:hover {
    background: var(--back-b);
}

.to-post span {
    margin: 0 1rem .5rem 0;
}

.to-post p:first-child {
    color: #838181;
    font-size: 14px;
}

.arc-main ul:not(.qa_cat) {
    margin: 2rem;
}

.arc-side {
    flex-basis: 26%;
    max-width: 26%;
}

.arc-side ul {
    box-shadow: var(--shadow);
    background: #f8f8f8;
    margin-bottom: 2rem;
}

.arc-side p {
    background: linear-gradient(90deg, rgba(103, 126, 250, 1), rgba(142, 84, 219, 1));
    color: #fff;
    padding: 0.5rem;
}

.arc-side li a {
    color: var(--font);
    display: inline-block;
    margin: .5rem;
    transition: all .3s;
}

.arc-side li a:hover {
    color: #b9b9b9;
}

.search-btn {
    background: blue;
    height: 2rem;
    width: 1rem;
}

.search-box {
    display: flex;
    height: 3rem;
    margin-bottom: 1rem;
    position: relative;
}

.search-box input[type="text"] {
    width: 80%;
    border: none;
}

.search-box input[type="submit"] {
    cursor: pointer;
    border: none;
    outline: none;
    background: var(--font);
    width: 20%;
    color: #fff;
    font-size: 14px;
    letter-spacing: 1px;
}

.search-box input[type="submit"]::before {
    content: '';
    background-image: url(../img/search.svg);
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
}

.faq-card li {
    margin: 0rem 2rem 0rem 4rem!important;
}


.pie2 svg {
    position: relative;
    width: 280px;
    height: 280px;
    transform: rotate(-90deg);
  }

.pie2  svg circle {
    position: relative;
    fill: none;
    stroke-width: 20;
    stroke: #f3f3f3;
    stroke-dasharray: 754;
    stroke-dashoffset: 0;
    stroke-linecap: round;
  }

  .pie2 svg circle.line {
  stroke-dashoffset: calc(754 - (754 * 99) / 100);
  stroke: #D5C5A5;
}

.pie2 {
    position: relative;
    text-align: center;
}

.pie2 div {
    position: absolute;
    top: 32%;
    right: 0;
    left: 0;
    letter-spacing: -2px;
}

  .pie2 div p {
    display: inline-block;
    background: -webkit-linear-gradient(0deg, #156ADF, #1dbaf5 30%, #aad6f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 60px;
    font-family: initial;
    font-weight: bold;

  }
  .pie2 span {
    font-size: 13px;
    color: #959595!important;
  }

.line {
  animation: circleAnim 1s forwards;
}
@keyframes circleAnim {
  0% {
    stroke-dasharray: 0 700;
  }
  96%,
  to {
    stroke-dasharray: 700 700;
  }
}

#contens-pankz-bg {
    margin-top: 6rem;
}


@media screen and (max-width: 1480px) {
    .top-menu-4 {
        column-count: 2;
        flex-wrap: wrap;
        justify-content: center;
    }

    .top-menu-4 a {
        width: calc(93% / 2);
    }
    
    .menu2-h3:first-child {
        background: #c0c0c054;
        max-width: 500px;
    }

}

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

    #contens-pankz-bg .f1-news {
        margin-top: -2rem;
    }

    .header .wrapper {
        justify-content: space-between;
        height: 70px;
    }

    .menu-mobile-trigger {
        display: block!important;
        position: fixed!important;
        right: 5%;
        top: 3%;
        width: 2rem!important;
    }

    .header .menu .menu-mobile-header .menu-mobile-close {
        border-left: none!important;
    }

    .header .menu > ul > li .menu-subs.menu-column-4 > .list-item img.responsive {
        display: none!important;
    }

    .header .menu > ul > li .menu-subs.menu-column-4 > .list-item.text-center .title {
        margin: 2rem 0;
        text-align: left;
        border-bottom: 1px solid #ccc;
        padding-bottom: 11px;
        color: var(--font);
    }

    .header .menu > ul > li > a {
        height: 3rem;
    }

    .header .menu > ul > li {
        margin-left: 1.3rem;
    }

    .header-item-right {
        position: fixed;
        width: 100%;
        bottom: 0;
        z-index: 9999;
        padding-bottom: .3rem;
    }

    .header-item-right a {
        width: calc(100% / 3);
        height: 74px!important;
        font-size: .85rem!important;
    }

    .header-item-right a img {
        width: 26px;
    }

    .f1-inner {
        height: auto;
    }

    .f1-view {
        margin-bottom: 15rem;
    }

    .catch-copy {
        width: 40vw;
    }

    .catch-copy img {
        width: 100%;
        object-fit: cover;
        image-rendering: -webkit-optimize-contrast;
    }

    .catch-img {
        top: 20%;
        left: -2rem;
    }

    .catch-img img {
        max-width: 460px;
        width: 100%;
        image-rendering: -webkit-optimize-contrast;
    }

    .f1-left a {
        padding: 1rem;
    }

    .f1-left dl {
        width: calc(85% - 2rem);
    }

    .f1-left dl span {
        display: inline-block;
    }

    .top-n-left {
        margin-left: 2vw;
        font-size: 26px;
    }

    .top-news {
        position: relative;
        z-index: 10;
        padding-top: 1rem;
    }

    .news-dl {
        margin: 0 auto;
        font-size: 15px;
    }

    .news-dl a {
        margin: 0 auto;
    }

    .check {
        gap: 3rem;
    }

    .copyright {
        padding-bottom: 5rem;
    }

    .f-link a {
        font-size: 12px;
    }
  }


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

    .pie2 div {
        top: 34%;
    }

    .pie2 span {
        margin-left: .2rem;
    }

    .page #contents {
        padding: 1rem;
    }

    .f-wrap {
        padding: 1rem;
    }

    .ent-list ul {
        width: 100%;
    }

    .header .wrapper {
        height: 60px;
    }

    .top-n-left {
        writing-mode: unset;
        text-align: center;
        border: none;
        margin-bottom: 1rem    
    }

    .header-item-left h1 {
        margin: .7rem auto 1rem 1.5rem;
    }

    .header .menu > ul > li .menu-subs.menu-column-4 > .list-item.text-center .title {
        font-size: .9rem;
    }

    .top-news {
        margin-top: -14rem;
    }

    .master-flex {
        display: block;
    }

    .master-wrap {
        margin-top: 3rem;
    }

    .top-news-wrap {
        display: block;
        margin-top: 12rem;
    }

    .p-works__list dl {
        width: calc(97% / 3);
    }

    .work-loop a {
        width: calc(100vw / 3);
    }

    .menu2-top-left {
        padding: 2rem;
    }
    
    .bar-graph-wrap.vertical .bar1 {
        left: 4vw;
    }

    .bar-graph-wrap.vertical .bar2 {
        left: 11vw;
    }

    .bar-graph-wrap.vertical .bar3 {
        left: 18.3vw;
    }

    .bar-graph-wrap.vertical .bar4 {
        left: 26vw;
    }

    .faq-top-link div {
        max-width: calc(480px - 10px);
    }

  }


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

    .graph-ttl {
        padding-top: 2rem;
        margin-top: 2rem;
    }

    .graph-dl {
        display: block;
    }

    .graph-dl dt {
        width: 100%;
        text-align: center;
    }

    .arc-back {
        padding: .7rem;
        margin-top: 2rem;
    }

    .brand img {
        max-width: 100px!important;
    }

    .header-item-right a {
        height: 60px!important;
        font-size: .65rem!important;
    }

    .header .menu-mobile-trigger {
        margin-top: 0;
        line-height: .7vw;
    }

    .f1-left {
        top: 20%;
        margin-left: 3vw;
    }

    .f1-left dl {
        display: none;
    }

    #cloud {
        height: 64vh;
    }

    .catch-img {
        width: 80%;
        margin: auto 0 auto auto;
        top: 50%;
    }

    .backf1-blue {
        top: 13%;
    }

    .catch-img img {
        height: auto;
    }

    .top-pamphlet-sp {
        display: flex;
        max-width: 100%;
        padding: 0 1rem;
        margin-top: 10rem;
    }

    .top-pamphlet-sp a {
        display: flex;
        align-items: center;
        width: 45%;
        margin: 0 auto;
        padding: .4rem!important;
    }

    .top-pamphlet-sp span {
        font-size: clamp(0.625rem, 0.454rem + 0.86vw, 0.875rem);
        text-align: center;
        display: block;
    }

    .top-pamphlet-sp a:first-child {
        margin-bottom: 0;
    }

    .top-pamphlet-sp img {
        width: 60%;
        display: block;
        margin: 0 auto;
    }

    .top-news {
        padding-bottom: 0;
    }

    .news-dl a:not(.circle_btn) {
        padding: .7rem;
        display: block;
    }

    .news-dl .circle_btn {
        padding: .7rem;
    }

    .news-dl dt {
        display: contents;
    }

    .news-dl span:not(.circle_btn_arrow span), .article-item span {
        margin-left: 1rem;
        line-height: 20px;
    }

    .news-dl dd {
        margin-top: .3rem;
    }

    .top-ttl-grad {
        margin: 1rem auto;
    }

    .top-ttl-grad h2 {
        font-size: clamp(1.875rem, 1.229rem + 2.58vw, 2.5rem);
    }

    .top-ttl-h3 {
        font-size: clamp(1rem, 0.354rem + 2.58vw, 1.625rem);
        letter-spacing: 1.8px;
        margin: 1rem auto;
    }

    .top-ttl-h3 span {
        font-size: clamp(1.875rem, 1.035rem + 3.36vw, 2.688rem);
    }

    .top-menu-4 a {
        padding: 25px;
    }

    .top-menu-card p:first-child {
        font-size: 15px;
    }

    .top-menu-card p:last-child {
        font-size: 13px;
        bottom: 12px;
    }

    .top-ttl-h3::before,
    .top-ttl-h3::after {
        height: 27px;
    }

    .tab_content {
        padding: 15px 15px 0;
    }

    .menu2 {
        padding: 1rem;
    }

    .top-menu2 {
        background-size: auto;
        margin: 0 auto -7rem;
        padding-top: 2.5rem;
    }

    .menu2-b {
        height: auto;
    }

    .top-news-wrap {
        margin-top: 0rem;
    }

    .news-dl {
        max-width: calc(480px - 10px);
        margin: 0 auto;
    }

    .top-n-left {
        writing-mode: unset;
        text-align: center;
        border: none;
        margin-bottom: 1rem;
    }

    .menu3 {
        padding-top: 1rem;
        margin-top: 6rem;
    }

    .menu2-a {
        display: block;
        margin: 0 auto;
        max-width: 500px;
    }

    .check {
        display: block;
        margin-left: 28%;
    }

    .check p {
        margin-top: 0;
        font-weight: normal;
        font-size: 13px;
    }

    .check p:last-of-type {
        padding-bottom: 1rem;
        padding-top: .5rem;
    }

    .check p:last-of-type::before {
        top: 1em;
    }

    .menu2-p {
        text-align: center;
    }
    
    .menu2-top-left {
        width: 80%;
        margin: 0 auto;
        padding: 0;
    }
    
    .menu2-top-right {
        font-size: 14px;
        width: 80%;
        margin: 0 auto;
        padding: .5rem;
        letter-spacing: 1.8px;
    }

    .card-txt {
        margin: 0 0 50px 20px;
        font-size: 13px;
    }
        
    .faq-top-ttl {
        width: calc(100% - 40px);
    }

    .menu3 .top-menu-4 a::before {
        border: solid 1px #ccc;
        border-radius: 10px;
    }

    .menu2-top-right p {
        font-size: 13px;
    }

    .menu3-link {
        bottom: -4px!important;
    }

    .number {
        top: -48px;
        font-size: 50px;
    }

    .bar-graph-wrap.vertical .graph {
        width: 15px;
        bottom: 26px;
    }

    .bar-graph-wrap.vertical .bar1 {
        left: 13%;
    }

    .bar-graph-wrap.vertical .bar2 {
        left: 35%;
    }

    .bar-graph-wrap.vertical .bar3 {
        left: 59%;
    }

    .bar-graph-wrap.vertical .bar4 {
        left: 82%;
    }


    .graph-dl dt img {
        max-width: 24vw;
        position: unset;
        margin: auto;
    }

    .count {
        font-size: 50px;
        position: unset;
    }

    .count-span {
        position: unset;
    }

    .graph-wrap {
        margin-bottom: -2rem;
    }

    .p-works__list dl {
        width: 49%;
    }

    .sli-list {
        display: block;
    }

    .work-wrap .circle_btn{
        display: none;
    }

    .sli-contents.show {
        width: 80%;
        padding: 10px;
    }

    .work-wrap,
    .work-btn-sp {
        display: flex;
    }

    .work-btn-sp {
        margin: auto;
    }

    .sli-list {
        width: 20%;
    }

    .sli-list-item {
        width: 100%;
        font-size: 12px;
        letter-spacing: 1px;
        height: calc(100% / 4);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sli-list-item:not(:last-child) {
        border-bottom: solid 1px #eee;
    }

    .sli-list {
        border-right: solid 2px #c7beaa;
        border-bottom: solid 2px #c7beaa;
    }

    .faq {
        margin-top: 5rem;
    }

    .faq-top-ttl {
        width: calc(100% - 155px);
        padding: .5rem;
    }

    .faq-top-link p {
        margin: 1rem auto;
    }

    .top-c-left p {
        writing-mode: unset;
        height: 0;
        border-bottom: solid 2px #fff;
        border-left: none;
        height: 5rem;
        width: max-content;
        margin: 0 auto;
        padding-top: 1rem;
    }

    .top-c-txt {
        text-align: left;
        padding: 2rem;
        letter-spacing: 1px;
        line-height: 27px;
        margin-top: 0;
    }

    .top-c-wrap {
        display: block;
        margin: 4rem auto;
    }

    .top-c-wrap .circle_btn {
        margin: -1rem auto;
        padding-bottom: 2rem;
    }

    .banner-double a img {
        padding: 10px;
    }

    .banner-wrap {
        padding: 2rem;
    }

    .banner-double, .banner-triple {
        padding: 0;
    }

    .banner-triple {
        display: block;
        text-align: center;
    }

    .banner-double {
        margin: 0 auto;
    }

    .banner-double a {
        width: 100%;
        margin-bottom: 1rem;
        padding: 4px;
    }

    .banner-triple a {
        width: 80%;
    }

    .top-banner {
        margin: 1rem auto;
    }

    .f-left ul:not(.f-ul-3) li {
        background: var(--back-b);
        width: 100%;
        margin-bottom: 6px;
    }

    .f-left ul{
        width: 80%!important;
        margin: 0 auto;
        border-bottom: solid 1px #ccc;
    }

    .f-wrap,
    .f-left,
    .f-left ul:not(.f-ul-3) {
        margin-top: 0!important;
        padding: 0!important;
    }

    .f-ul-3 {
        column-count: 2;
        text-align: left;
        margin: 0;
    }

    .f-ul-3:last-child {
        position: unset;
        margin-top: -5rem;
    }

    .f-left > p {
        margin: auto;
    }

    .f-name,
    .f-left,
    .f-left ul:not(.f-ul-3) {
        text-align: center;
    }

    .f-left a {
        margin: 10px 0;
        font-size: 16px;
    }

    .f-wrap,
    .f-left,
    .f-link,
    .f-left ul:not(.f-ul-3),
    .f-map {
        display: block;
        width: 100%;
        padding: 1rem;
        margin-top: 1rem;
    }

    .f-map  {
        margin-top: -1rem;
    }

    .f-link {
        margin-top: -2rem;
    }

    .f-link a {
        width: calc(50% - 40px);
    }

    .page-h2-wrap {
        margin-bottom: 50px;
    }

    .page-h2 {
        padding-bottom: 3rem;
    }

    .page-h2 span:first-child {
        font-size: 3vw;
    }

    .page-h3-wrap h3 span {
        font-size: 20px;
    }

    .page-h3-wrap h3::after {
        width: 50px;
        margin: auto auto .5rem 0;
    }

    .page-h4 {
        font-size: 18px;
    }

    .gyoumu-flow img {
        image-rendering: revert;
    }

    .news-post2 {
        padding: 1rem 1rem 0!important;
    }

    .arc-wrap {
        padding: 1.5rem;
        flex-direction: column-reverse;
        gap: 0;
        margin: 2rem auto;
    }

    .to-post a {
        width: 90%;
    }

    .arc-side,
    .arc-main {
        max-width: 100%;
    }

    .arc-main ul {
        margin: 0;
    }

    .arc-side ul {
        margin-bottom: 0;
    }

    .border-link {
        padding: 10px 73px 10px 16px;
    }

    .border-link2 {
        margin-bottom: 3rem!important;
    }

    .border-link::before,
    .border-link::after {
        right: 9%;
    }

    .page-h3-wrap h3 {
        font-size: 20px;
        letter-spacing: 5px;
    }
}


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

    #chukai,
    #development,
    #reform,
    #maintenance {
      padding-top: 4rem;
    }

    .page .pankz {
        margin: 80px auto 2rem;
    }

    .f-link a {
        width: calc(50% - 20px);
    }

    .faq-top-link p:before, .faq-card li::before {
        display: none;
    }

    .faq-card li {
        font-size: 16px;
        margin: 0 1rem!important;
    }

    .top-menu-4 a {
        width: 80%;
    }

    .top-c-wrap .circle_btn {
        padding-bottom: 0;
    }

    footer {
        margin-top: 0;
        padding-top: 3rem;
    }

    .f-left > p {
        max-width: calc(100% - 250px);
    }
    
    .news-dl {
        width: 85%;
    }

    .f1-left {
        top: 0;
        margin: 12vw auto auto 0;
    }

    .catch-img {
        top: 17vh;
        right: 1rem;
    }
    
    .backf1-blue {
        width: 43vw;
        right: 2%;
        top: 16%;
    }

    .menu2-ttl {
        border-radius: 1px;
    }

    .top-ttl-h3::before {
        margin-right: 15px;
    }

    .top-ttl-h3::after {
        margin-left: 15px;
    }

    .card-txt {
        font-size: 12px;
    }

    .top-menu-4 {
        margin: 0 auto;
    }

    .menu3 .top-menu-4 a::before {
        background: #ffffff6b;
    }

    .menu3 {
        /* background-position: center; */
    }

    .bar-graph-wrap.vertical {
        height: 250px;
        max-width: 70vw;
    }

    .graph span {
        top: -2px;
    }

    .bar-graph-wrap.vertical .graph {
        bottom: 22px;
    }

    .bar-graph-wrap.vertical .bar1 {
        left: 8.5vw;
    }

    .bar-graph-wrap.vertical .bar2 {
        left: 24.5vw;
    }

    .bar-graph-wrap.vertical .bar3 {
        left: 41vw;
    }

    .bar-graph-wrap.vertical .bar4 {
        left: 57vw;
    }

    .pie {
        width: 46vw;
        height: 25vh;
    }

    .pie span {
        margin-bottom: -7px;
        margin-left: 4px;
    }

    .graph-dl dt img {
        max-width: 35vw;
        left: calc(32% - 3rem);
    }
    
    .graph-dl dt img:last-child {
        bottom: -12px;
    }

    .number {
        left: -5rem;
        top: -48px;
    }

    .count {
        bottom: 40px;
        right: 50px;
        font-size: 57px;
    }

    .count-wrap .graph-data {
        position: relative;
        bottom: 4rem;
    }

    .count-span {
        right: -11.5rem;
        top: -3.3rem;
    }

    .graph-ttl {
        border-bottom: 3px solid #dfdfdf;
        width: max-content;
    }

    .top-c-back {
        background-attachment: unset;
    }

    .graph-wrap .circle_btn {
        padding-bottom: 2rem;
    }

    .faq-top-ttl {
        width: 80%;
    }

    .faq-top-link {
        margin: 0 auto;
        width: 95%;
    }

    .faq-top-link p {
        padding: .5rem;
    }

    .f-link a {
        font-size: 12px;
    }

    .border-link {
        font-size: .8rem;
        margin: 1rem auto;
    }

    .border-link::before {
        width: 10%;
    }

    .ps-txt {
        font-size: 16px;
    }

    .service-premium-flex {
        margin: 50px auto 2rem auto;
    }

    .page-h2::before {
        width: 110px;
        height: 100px;
        left: -30px;
    }

    .flex-box3 {
        display: block;
    }

    .column3 {
        margin: 1rem auto;
    }

    .ctct-btn {
        margin: 0 auto;
        display: block;
    }

    .ctct-btn a {
        margin: 1rem auto;
        display: block;
        width: 80%;
    }

    .p-works__list dl {
        width: 100%;
    }

    .graph-dl dt:last-child > .graph-data {
        bottom: -2rem;
    }

    .circle_btn_txt {
        font-size: 14px;
    }

    .faq-top-link div {
        max-width: calc(380px - 10px);
    }

    .arc-main ul:not(.qa_cat) {
        margin: 0;
    }

}

@media screen and (max-width: 470px) {
    .pie {
        height: 32vh;
        width: 62vw;
    }
}

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

.header .menu-mobile-trigger {
    margin-top: 5px;
    line-height: .7vw;
}

.pie {
    height: 36vh;
}

.count-span {
    right: -10rem;
}

}

@media screen and (max-width: 350px) {
    .count-span {
        right: -9rem;
    }
    

}