@charset "UTF-8";

html {
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
}

body {
    font-size: 16px;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    padding-top: 0;
    color: #000;
    background-color: #FFF;
    overflow-x: hidden;
}

@media (min-width: 992px) {
    body {
        padding-top: 0;
        padding-left: 0;
    }
}
@media (min-width: 1199px) {
    body {
        padding-top: 0;
        padding-left: 260px;
    }
}

.container-fluid {
    padding-right: 0;
    padding-left: 0;
}

a {
    color: #000;
    outline: 0;
    outline: none;
    text-decoration: none;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

a:hover {
    color: #be272f;
    outline: 0;
    outline: none;
    text-decoration: none;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

a:focus, *:focus { 
    outline: none;
}

a[href^="tel:"] { 
	  cursor: default;
}

img {
    vertical-align: middle;
    border-style: none;
    max-width: 100%;
    height: auto;
}

img.img-fluid {
    vertical-align: middle;
    border-style: none;
    max-width: 100%;
    height: auto;
}

.container-100p {
    width: 100%;
    margin: 0 auto;
}

.row:before, 
.row:after { 
    width: 0;
}

.row.no-margin {
    margin-right: 0;
    margin-left: 0;
}

.row.flex {
    display: flex;
    flex-wrap: wrap;
}

.no-padding {
    padding-left: 0;
    padding-right: 0;
}

.flex-center {
    display: flex;
    align-items: center;
}

ul {
    display: block;
    list-style-type: none;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
}

h1 {
    margin: 0 0;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    font-family: "Noto Serif JP", serif;
    text-transform: none;
    color: #000;
}

dt {
    font-weight: 600;
}

.fixed-top {
    position: fixed;
    z-index: 30;
}

.d-lg-block h1 {
	font-size: 0rem;
    padding: 10px 1rem;
}

@media (min-width: 992px) {
    .d-lg-none {
        display: block !important;
    }
}

br {
    line-height: 0;
}

/* ------------------------------------------------------------------
Loader
------------------------------------------------------------------- */
.loading {
    content: '';
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9999;
    background: #32634B;
    height: 100vh;

    &.--under-page {
        display: none;
    }
}

.loading div {
    top: 50%;
    left: 50%;  
    transform: translate(-50%, -50%);
    position: absolute;
}

.loading p {
    font-size: 2.0vw;
    font-weight: 500;
    color: #32634B;
}
.loading p span {
    opacity: 0;
    display: inline-block;
    color: #FFF;
    animation: fadein 0.5s forwards;
}

@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1200px){
    .loading p {
        font-size: 2.4vw;
    }
}
@media (max-width: 990px){
    .loading p {
        font-size: 3.6vw;
    }
}
@media (max-width: 499px){
    .loading p {
        width: 100%;
        font-size: 4.8vw;
    }
    .loading p span {
        display: block;
    }
}


/* ------------------------------------------------------------------
SideNav
------------------------------------------------------------------- */
#sideNav {
    display: none;
    padding-left: 1rem;
    padding-right: 1rem;
}

#sideNav .navbar-nav .nav-item .nav-link {
    width: 100%;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    letter-spacing: 0;
    color: #000;
}
#sideNav .navbar-nav .nav-item .nav-link:hover {
    color: #FFF;
    background-color: #32634B;
}

.dropdown-toggle { outline: 0; }

.btn-toggle {
    position: relative;
    padding: 5px;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    letter-spacing: 0;
    color: #000;
    background-color: #F1F8E1;
}
.btn-toggle:hover {
    color: #FFF;
    background-color: #32634B;
}

.btn-toggle::before {
    content: "\f1ad";
    position: absolute;
    top: 6px;
    left: 10px;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}
.btn-toggle:hover::before {
    color: #FFF;
}

.btn-toggle-nav a {
    font-size: 16px;
    color: #000;
    padding: 20px 10px;
}

.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
    color: #FFF;
    background-color: #32634B;
}

.scrollarea {
  overflow-y: auto;
}

@media (min-width: 1199px) {
    #sideNav {
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        width: 260px;
        height: 100vh;
        background-color: #F9F9F6;
    }
    #sideNav .navbar-brand {
        display: flex;
        flex-direction: column;
        margin: 0 auto;
        padding: 0;
    }
    #sideNav .navbar-brand .img-profile {
        max-width: 140px;
        max-height: 140px;
        border: none;
    }
    #sideNav .navbar-brand span.d-block {
        font-size: 16px;
        font-weight: 600;
        font-family: "Noto Sans JP", serif;
        color: #32634B;
        padding-top: 10px;
        padding-bottom: 15px;
    }
    
    #sideNav .navbar-collapse .navbar-nav {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        border-top: solid 1px #CCC;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
        padding: 3% 10px;
        border-bottom: solid 1px #CCC;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.btn-toggle-wrap {
        background-color: #F1F8E1;
        border-bottom: solid 1px #CCC;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        display: block;
        padding-right: 10px;
        padding-left: 10px;
        font-size: 12px;
        color: #000;
        text-align: left;
    }
    .navbar-expand-lg .navbar-nav .nav-link.icon-font {
        position: relative;
        display: block;
        padding-right: 10px;
        padding-left: 40px;
        font-size: 12px;
        color: #000;
        text-align: left;
    }
    .navbar-expand-lg .navbar-nav .nav-link.icon-font::before {
        content: "\e533";
        position: absolute;
        top: 3px;
        left: 7px;
        font-size: 20px;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #000;
    }
    .navbar-expand-lg .navbar-nav .nav-link.icon-font:hover::before {
        color: #FFF;
    }
    .btn-toggle {
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Noto Sans JP", serif;
        color: #000;
        text-align: left;
        padding: 2px 10px 2px 40px;
        background-color: #F1F8E1;
        border-radius: 0;
    }
    .collapse.btn-toggle-nav-wrap {
        width: 100% !important;
    }
    .btn-toggle-nav a {
        position: relative;
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Noto Sans JP", serif;
        color: #000;
        text-align: left;
        margin: 5px 0 0 0;
        padding: 5px 0 5px 40px;
    }
    .btn-toggle-nav a::before {
        content: "\f105";
        position: absolute;
        top: 5px;
        left: 20px;
        font-size: 16px;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #000;
    }
    .btn-toggle-nav a span {
        display: block;
        font-size: 9px;
    }
    .btn-toggle-nav a.reproduction {
        position: relative;
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Noto Sans JP", serif;
        color: #000;
        text-align: left;
        margin: 5px 0 0 0;
        padding: 5px 0 5px 60px;
    }
    .btn-toggle-nav a.reproduction::before {
        content: "\f105";
        position: absolute;
        top: 5px;
        left: 40px;
        font-size: 16px;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #000;
    }
    .btn-toggle-nav a:hover {
        color: #FFF !important;
        background-color: #32634B;
    }
    .btn-toggle-nav a:hover::before, 
    .btn-toggle-nav a.reproduction:hover::before {
        color: #FFF;
    }
    .btn-toggle-half {
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Noto Sans JP", serif;
        color: #000;
        text-align: left;
        padding: 0 10px 0 10px;
        cursor: auto !important;
    }
    .collapse.btn-toggle-nav-wrap-half {
        width: 100% !important;
    }

    .btn-toggle-nav-half a {
        position: relative;
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        font-family: "Noto Sans JP", serif;
        color: #000;
        text-align: left;
        margin: 5px 0 0 0;
        padding: 5px 0 5px 30px;
    }
    .btn-toggle-nav-half a::before {
        content: "\f105";
        position: absolute;
        top: 5px;
        left: 10px;
        font-size: 16px;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #000;
    }
    .btn-toggle-nav-half a:hover {
        color: #FFF !important;
        background-color: #32634B;
    }
    .btn-toggle-nav-half a:hover::before {
        color: #FFF;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left {
        display: flex;
        align-items: center;
        width: 50%;
        text-align: left;
        padding: 3% 10px;
        border-right: solid 1px #CCC;
        border-bottom: solid 1px #CCC;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left .nav-link {
        display: block;
        padding-right: 0;
        padding-left: 10px;
        font-size: 12px;
        color: #000;
        text-align: left;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left .nav-link:hover {
        color: #FFF;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right  {
        display: flex;
        align-items: center;
        width: 50%;
        text-align: left;
        padding: 3% 10px;
        border-bottom: solid 1px #CCC;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right .nav-link {
        display: block;
        padding-right: 0;
        padding-left: 10px;
        font-size: 12px;
        color: #000;
        text-align: left;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right .nav-link:hover {
        color: #FFF;
    }
}
@media (min-width: 1280px) {
    #sideNav {
        padding-top: 15px;
    }
    #sideNav .navbar-brand .img-profile {
        max-width: 140px;
        max-height: 140px;
    }
    #sideNav .navbar-brand span.d-block {
        font-size: 15px;
        padding-top: 7px;
        padding-bottom: 7px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item {
        padding: 2% 10px;
    }
    .btn-toggle-nav a {
        margin: 4px 0 0 0;
        padding: 4px 0 4px 40px;
    }
    .btn-toggle-nav a.reproduction {
        margin: 4px 0 0 0;
        padding: 4px 0 4px 60px;
    }
    
    .btn-toggle-nav-half a {
        margin: 4px 0 0 0;
        padding: 4px 0 4px 30px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left {
        padding: 2% 10px;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right {
        padding: 2% 10px;
    }
}
@media (min-width: 1380px) {
    #sideNav {
        padding-top: 20px;
    }
    #sideNav .navbar-brand .img-profile {
        max-width: 150px;
        max-height: 150px;
    }
    #sideNav .navbar-brand span.d-block {
        padding-bottom: 10px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item {
        padding: 3% 10px;
    }
    .btn-toggle-nav a {
        margin: 5px 0 0 0;
        padding: 5px 0 5px 40px;
    }
    .btn-toggle-nav a.reproduction {
        margin: 5px 0 0 0;
        padding: 5px 0 5px 60px;
    }
    
    .btn-toggle-nav-half a {
        margin: 5px 0 0 0;
        padding: 5px 0 5px 30px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left {
        padding: 3% 10px;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right {
        padding: 3% 10px;
    }
}
@media (min-width: 1480px) {
    #sideNav {
        padding-top: 30px;
    }
    #sideNav .navbar-brand .img-profile {
        max-width: 180px;
        max-height: 180px;
    }
    #sideNav .navbar-brand span.d-block {
        padding-bottom: 15px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item {
        padding: 6% 10px;
    }
    .btn-toggle-nav a {
        margin: 10px 0 0 0;
        padding: 7px 0 7px 40px;
    }
    .btn-toggle-nav a.reproduction {
        margin: 10px 0 0 0;
        padding: 7px 0 7px 60px;
    }
    
    .btn-toggle-nav-half a {
        margin: 10px 0 0 0;
        padding: 7px 0 7px 30px;
    }
    
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-left {
        padding: 6% 10px;
    }
    #sideNav .navbar-collapse .navbar-nav .nav-item.half-right  {
        padding: 6% 10px;
    }
}


/* Btn Sidebar
 * --------------------------------------- */
.linkbutton-nav-contact {
    display: block;
    position: relative;
    width: 100%;
    height: 50px;
    text-align: left;
    margin: 0 auto;
    padding: 0 20px;
    line-height: 50px;
    background-color: #32634B;
}
.linkbutton-nav-contact::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #be272f;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-nav-contact:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-nav-contact .text {
    display: block;
    position: relative;
    font-size: 14px;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    letter-spacing: 0;
    color: #FFF;
    text-align: left;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-nav-contact .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    right: 20px;
    top: 45%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-nav-contact:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 25px;
}

@media (max-width: 1380px){
    .linkbutton-nav-contact {
        height: 40px;
        line-height: 40px;
    }
}


/* ------------------------------------------------------------------
Hamburger Menu
------------------------------------------------------------------- */
.hamburger-overlay {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 1000;
  width: 60px;
  height: 60px;
  border: none;
  background-color: #32634B;
  cursor: pointer;
}

.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 38px;
  height: 2px;
  background-color: #FFF;
  transition: all .6s;
}

.hamburger-overlay__line:nth-of-type(1) { top: 20px; }
.hamburger-overlay__line:nth-of-type(2) { top: 29px; }
.hamburger-overlay__line:nth-of-type(3) { top: 38px; }

.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #FFF;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 1.0);
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}

.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

.nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}

.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}


/* Nav Overlay First
 * --------------------------------------- */
.nav-overlay-first-wrapper {
    width: 100%;
    height: 12vh;
    margin-left: 0;
    margin-right: 0;
}
.nav-overlay-first {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding-left: 0;
    padding-right: 0;
    border-bottom: solid 1px #CCC;
}
.nav-overlay-first.left-wrap {
    border-right: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
}
.nav-overlay-first a.nav-overlay__links {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.0;
    color: #000;
    padding: 0;
}
.nav-overlay-first a.nav-overlay__links::before {
    content: "\f105";
    position: absolute;
    top: 43%;
    right: 30%;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}

.nav-overlay-first a.nav-overlay__links:hover {
    color: #FFF;
    background-color: #32634B;
}
.nav-overlay-first a.nav-overlay__links:hover::before {
    color: #FFF;
}


/* Nav Overlay Second
 * --------------------------------------- */
.nav-overlay-second-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.nav-overlay-second {
    display: flex;
    justify-content: center;
    padding-top: 2.0%;
    padding-bottom: 2.0%;
    padding-left: 0;
    padding-right: 0;
    border-bottom: solid 1px #CCC;
}
.nav-overlay-second.left-wrap {
    border-right: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
}
.nav-overlay__lists {
    display: flex;
    flex-direction: column;
    list-style: none;
    font-size: 15px;
    margin: 0;
    padding: 0;
}

.nav-overlay__lists .nav-overlay__items a {
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 10px 40px 10px 10px;
}
.nav-overlay__lists .nav-overlay__items a span {
    font-size: 12px;
}
.nav-overlay__lists .nav-overlay__items a::before {
    content: "\f105";
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}

.nav-overlay__lists .nav-overlay__items a:hover {
    color: #FFF;
    background-color: #32634B;
}
.nav-overlay__lists .nav-overlay__items a:hover::before {
    color: #FFF;
}

.nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink {
    margin: 0 0 0 30px;
    padding: 10px 40px 10px 10px;
}
.nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink::before {
    content: "\f105";
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}
.nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink:hover {
    color: #FFF;
    background-color: #32634B;
}
.nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink:hover::before {
    color: #FFF;
}


/* Nav Overlay Third
 * --------------------------------------- */
.nav-overlay-third-wrapper {
    width: 100%;
    height: 12vh;
    margin-left: 0;
    margin-right: 0;
}
.nav-overlay-third {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 0;
    padding-right: 0;
    border-bottom: solid 1px #CCC;
}
.nav-overlay-third.left-wrap {
    border-right: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
}

.nav-overlay-third a.nav-overlay__links {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.0;
    color: #000;
    padding: 0 10% 0 0;
}
.nav-overlay-third a.nav-overlay__links::before {
    content: "\f105";
    position: absolute;
    top: 42%;
    right: 30%;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}
.nav-overlay-third a.nav-overlay__links:hover {
    color: #FFF;
    background-color: #32634B;
}
.nav-overlay-third a.nav-overlay__links:hover::before {
    color: #FFF;
}

.nav-overlay__lists .nav-overlay__items a.third-list {
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 10px 40px 10px 10px;
}
.nav-overlay__lists .nav-overlay__items a.third-list::before {
    content: "\f105";
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 20px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #000;
}
.nav-overlay__lists .nav-overlay__items a.third-list:hover {
    color: #FFF;
    background-color: #32634B;
}
.nav-overlay__lists .nav-overlay__items a.third-list:hover::before {
    color: #FFF;
}


/* Nav Overlay Fourth
 * --------------------------------------- */
.nav-overlay-fourth-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 3%;
}
.nav-overlay-fourth {
    display: flex;
    flex-direction: row-reverse;
    padding-left: 0;
    padding-right: 3%;
}
.nav-overlay-fourth .nav-overlay-fourth-imgwrap {
    width: 160px;
    margin: 0;
}

.nav-overlay-fourth-right {
    display: block;
    padding-left: 0;
    padding-right: 0;
}
.nav-overlay-fourth-right .nav-overlay-footer-title {
    display: block;
    font-size: 18px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #32634B;
    margin: 20px 0 15px;
    padding: 0;
}
.nav-overlay-fourth-right .nav-overlay-footer-address {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    text-align: left;
    line-height: 1.5;
    margin: 0 0 8px;
    padding: 0;
}
.nav-overlay-fourth-right a.g-map {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #000;
    text-align: left;
    line-height: 1.0;
    margin: 0;
    padding: 0;
}
.nav-overlay-fourth-right .nav-overlay-footer-telwrap {
    display: inline-block;
    margin: 0 10px 0 0;
    padding: 0;
}
.nav-overlay-fourth-right .nav-overlay-footer-telwrap a {
    font-size: 15px;
    font-weight: 500;
    color: #000;
    letter-spacing: 0;
    line-height: 1.0;
    margin: 0;
    padding: 0;
}


/* Btn Overlay Nav
 * --------------------------------------- */
.linkbutton-nav-overlay-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    text-align: left;
    margin: auto;
    padding: 0 20px;
    line-height: 1.0;
    background-color: #32634B;
}
.linkbutton-nav-overlay-contact::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #be272f;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-nav-overlay-contact:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-nav-overlay-contact .text {
    display: block;
    position: relative;
    font-size: 1.0vw;
    font-weight: 500;
    letter-spacing: 0;
    color: #FFF;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-nav-overlay-contact .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    right: 20px;
    top: 48%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-nav-overlay-contact:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 25px;
}

@media (max-width: 1680px){
    .nav-overlay-first-wrapper {
        height: 11vh;
    }
    .nav-overlay-second {
        padding-top: 1.5%;
        padding-bottom: 1.5%;
    }
    .nav-overlay-third-wrapper {
        height: 11vh;
    }
    .nav-overlay-fourth-wrapper {
        padding-top: 2.5%;
    }
    .nav-overlay-first a.nav-overlay__links::before {
        top: 41%;
    }
    .nav-overlay-third a.nav-overlay__links::before {
        top: 39%;
    }
}
@media (max-width: 1480px){
    .nav-overlay-first-wrapper {
        height: 10vh;
    }
    .nav-overlay-first a.nav-overlay__links {
        font-size: 16px;
    }
    .nav-overlay-second {
        padding-top: 1%;
        padding-bottom: 1%;
    }
    .nav-overlay-third-wrapper {
        height: 10vh;
    }
    .nav-overlay-fourth-wrapper {
        padding-top: 2%;
    }
    .nav-overlay-first a.nav-overlay__links::before {
        top: 38%;
    }
    .nav-overlay-third a.nav-overlay__links::before {
        top: 37%;
    }
    .linkbutton-nav-overlay-contact .text {
        font-size: 1.2vw;
    }
}
@media (max-width: 1380px){
    .nav-overlay-first-wrapper {
        height: 9vh;
    }
    .nav-overlay-second {
        padding-top: 0.5%;
        padding-bottom: 0.5%;
    }
    .nav-overlay-third-wrapper {
        height: 9vh;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list {
        padding: 5px 40px 5px 10px;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list::before {
        top: 4px;
    }
    .nav-overlay-fourth-wrapper {
        padding-top: 1%;
    }
}
@media (max-width: 1200px){
    .nav-overlay-first-wrapper {
        height: 11vh;
    }
    .nav-overlay-first a.nav-overlay__links::before {
        right: 25%;
    }
    .nav-overlay-second {
        padding-top: 2%;
        padding-bottom: 2%;
    }
    .nav-overlay-third-wrapper {
        height: 11vh;
    }
    .nav-overlay-third a.nav-overlay__links::before {
        right: 25%;
    }
    .nav-overlay-fourth-wrapper {
        padding-top: 2%;
    }
    .nav-overlay-fourth-right .nav-overlay-footer-title {
        margin: 10px 0 15px;
    }
    .nav-overlay-fourth-right a.g-map {
        font-size: 11px;
        margin: 0 0 10px;
    }
}
@media (max-width: 990px){
    .nav-overlay.active {
        overflow: auto;
        padding: 30px 20px;
    }
    .nav-overlay-first-wrapper {
        height: auto;
    }
    .nav-overlay-third-wrapper {
        height: auto;
    }
    .nav-overlay-first {
        display: block;
    }
    .nav-overlay-first.left-wrap {
        display: block;
        border-right: none;
    }
    .nav-overlay-first a.nav-overlay__links {
        display: block;
        font-size: 16px;
        padding: 2% 2% 2% 20%;
    }
    .nav-overlay-first a.nav-overlay__links::before {
        top: 28%;
        right: 20%;
    }

    .nav-overlay-second {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
    }
    .nav-overlay-second.left-wrap {
        border-right: none;
    }
    .nav-overlay__lists {
        display: block;
        font-size: 16px;
        padding: 2% 2% 2% 20%;
    }
    .nav-overlay__lists .nav-overlay__items a {
        font-size: 16px;
        padding: 10px 40px 10px 0px;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list {
        font-size: 16px;
        padding: 10px 40px 10px 0px;
    }
    .nav-overlay-third a.nav-overlay__links::before {
        top: 28%;
        right: 20%;
    }

    .nav-overlay-third {
        display: block;
    }
    .nav-overlay-third.left-wrap {
        display: block;
        border-right: none;
    }
    .nav-overlay-third a.nav-overlay__links {
        display: block;
        padding: 2% 2% 2% 20%;
        font-size: 16px;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list::before {
        top: 8px;
    }

    .linkbutton-nav-overlay-contact {
        justify-content: flex-start;
        padding: 20px 20%;
    }
    .linkbutton-nav-overlay-contact .text {
        font-size: 18px;
    }
    .linkbutton-nav-overlay-contact .arrow {
        right: 20%;
    }
    .linkbutton-nav-overlay-contact:hover .arrow {
        right: 22%;
    }
    
    .nav-overlay-fourth {
        display: flex;
        justify-content: center;
        flex-direction: row;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 0;
    }
    .nav-overlay-fourth-right {
        padding-left: 10%;
    }
    .nav-overlay-fourth-right .nav-overlay-footer-address {
        font-size: 16px;
    }
    .nav-overlay-fourth-right a.g-map {
        font-size: 12px;
        margin: 0 0 15px;
    }
    .nav-overlay-fourth-right .nav-overlay-footer-telwrap a {
        font-size: 16px;
    }
}
@media (max-width: 499px){
    .nav-overlay.active {
        overflow: auto;
        padding: 60px 10px 30px;
    }
    .nav-overlay-first a.nav-overlay__links {
        font-size: 15px;
        padding: 15px 10px 15px 10px;
    }
    .nav-overlay__lists {
        font-size: 15px;
        padding: 15px 10px 15px 10px;
    }
    .nav-overlay__lists .nav-overlay__items a {
        font-size: 15px;
        padding: 10px 10px 10px 0px;
    }
    .nav-overlay-third a.nav-overlay__links {
        font-size: 15px;
        padding: 15px 10px 15px 10px;
    }
    .nav-overlay-fourth {
        padding-top: 40px;
    }
    .nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink {
        margin: 0 0 0 15px;
        padding: 10px 10px 10px 0px;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list {
        font-size: 15px;
        padding: 10px 10px 10px 0px;
    }
    .nav-overlay-first a.nav-overlay__links::before {
        top: 30%;
        right: 2%;
        font-size: 16px;
    }
    .nav-overlay__lists .nav-overlay__items a::before {
        top: 10px;
        right: -15px;
        font-size: 16px;
    }
    .nav-overlay__lists .nav-overlay__items a.nav-overlay__rightlink::before {
        top: 10px;
        right: -15px;
        font-size: 16px;
    }
    .nav-overlay__lists .nav-overlay__items a.third-list::before {
        top: 10px;
        right: -15px;
        font-size: 16px;
    }
    .nav-overlay-third a.nav-overlay__links::before {
        top: 30%;
        right: 2%;
        font-size: 16px;
    }
    .linkbutton-nav-overlay-contact {
        justify-content: center;
        text-align: center;
    }
    .linkbutton-nav-overlay-contact .arrow {
        right: 5%;
    }
    .linkbutton-nav-overlay-contact:hover .arrow {
        right: 7%;
    }
    .nav-overlay-fourth-right {
        padding-left: 0;
        padding-bottom: 5%;
        text-align: center;
    }
    .nav-overlay-fourth-right .nav-overlay-footer-address {
        font-size: 16px;
        text-align: center;
    }
    .nav-overlay-fourth-right a.g-map {
        font-size: 12px;
        margin: 0 0 15px;
        text-align: center;
    }
    .nav-overlay-fourth-right .nav-overlay-footer-telwrap {
        display: block;
        margin: 0 0 10px;
    }
}


/* ------------------------------------------------------------------
Home Hero
------------------------------------------------------------------- */
.home-hero-section {
	position: relative;
    width: 100%;
	height: 100vh;
    padding: 2.5% 0 0;
    background-color: #F6F5F3;
    background-image: url(../img/hero-bg-img.png);
    background-size: cover;
    background-position: left top;
}
.hero-copy-wrapper {
	display: flex;
    flex-direction: row-reverse;
	width: 80%;
    margin: 0 14% 0 auto;
    padding: 0;
}
.hero-title-wrap {
    text-align: right;
}
.hero-title-wrap .hero-title-copy {
    display: block;
    font-size: 5.0vw;
    font-weight: 600;
    line-height: 1.0;
	color: #000;
    margin: 0 0 3%;
    padding: 0;
}
.hero-title-wrap .hero-title-lead {
    display: block;
    font-size: 1.5vw;
    font-weight: 400;
    line-height: 1.5;
	color: #000;
    margin: 0;
    padding: 0 20px 0 0;
}
.hero-title-wrap .hero-title-lead span {
    display: block;
    font-size: 1.0vw;
    padding: 10px 0 0;
}
.hero-title-wrap .hero-title-lead br {
    display: none;
}
.hero-img-wrap {
    position: absolute;
    bottom: 0;
    right: 13.2%;
	display: flex;
    flex-direction: row-reverse;
	width: 28%;
    margin: 0 auto;
    padding: 0;
}
.hero-img-wrap .section1-slidewrap01 {
    position: relative;
	width: 100%;
    padding: 0;
	overflow: hidden;
}
.hero-logo-wrap {
    display: none;
}
.hero-youtube-wrap-left {
    position: absolute;
    bottom: -10%;
    left: 7%;
	width: 15%;
    margin: 0 auto;
    padding: 0;
    z-index: 99;
}
.hero-youtube-wrap-right {
    position: absolute;
    bottom: -10%;
    left: 23%;
	width: 15%;
    margin: 0 auto;
    padding: 0;
    z-index: 99;
}
.hero-youtube-wrap-left a img, 
.hero-youtube-wrap-right a img {
    display: block;
    max-width: 100%;
    min-width: 100%;
    height: auto;
    -webkit-transition: 0.9s ease;
    transition: 0.9s ease;
}
.hero-youtube-wrap-left a img:hover, 
.hero-youtube-wrap-right a img:hover {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}
.hero-youtube-wrap-left a p, 
.hero-youtube-wrap-right a p {
    display: block;
    font-size: 16px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    text-align: center;
	color: #000;
    margin: 12px 0 0;
    padding: 0;
}

@media (max-width: 1480px){
    .hero-title-wrap .hero-title-copy {
        font-size: 4.8vw;
        margin: 0 0 3%;
    }
    .hero-img-wrap {
        right: 7.4%;
        width: 34%;
    }
    .hero-youtube-wrap-left a p, 
    .hero-youtube-wrap-right a p {
        font-size: 14px;
        margin: 10px 0 0;
    }
}
@media (max-width: 1380px){
    .hero-title-wrap .hero-title-copy {
        font-size: 4.6vw;
    }
    .hero-img-wrap {
        right: 9.1%;
        width: 32%;
    }
}
@media (max-width: 1300px){
    .hero-title-wrap .hero-title-copy {
        font-size: 4.4vw;
    }
}
@media (max-width: 1200px){
    .home-hero-section {
        padding: 4% 0 0;
    }
    .hero-title-wrap .hero-title-lead {
        font-size: 1.8vw;
    }
    .hero-title-wrap .hero-title-lead span {
        font-size: 1.4vw;
    }

    .hero-logo-wrap {
        display: block;
        position: absolute;
        top: 2%;
        left: 2%;
        width: 120px;
        margin: 0;
        padding: 0;
        z-index: 100;
    }
    .hero-logo-wrap img.tab {
        display: block;
        width: 100%;
        margin: 0 0 10px;
    }
    .hero-logo-wrap .hero-logo-text {
        display: block;
        font-size: 1.0vw;
        font-weight: 600;
        font-family: "Noto Sans JP", serif;
        line-height: 1.0;
        color: #32634B;
        text-align: center;
        margin: 0;
        padding: 0;
    }
}
@media (max-width: 990px){
    .home-hero-section {
        height: 70vh;
        padding: 100px 0 0;
        background-position: center top;
    }
    .hero-logo-wrap {
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        align-items: flex-start;
        width: 100%;
        height: 60px;
        background-color: #FFF;
        z-index: 899;
    }
    .hero-logo-wrap img.tab {
        display: block;
        width: 100px;
        height: 100px;
        margin: 0;
        padding: 0;
    }
    .hero-logo-wrap .hero-logo-text {
        font-size: 24px;
        padding: 18px 0 0 20px;
    }
    .hero-title-wrap .hero-title-copy {
        font-size: 5.0vw;
    }
    .hero-title-wrap .hero-title-lead {
        font-size: 2.0vw;
    }
    .hero-title-wrap .hero-title-lead span {
        font-size: 2.0vw;
    }
    .hero-img-wrap {
        right: 8%;
        width: 40%;
    }
    .hero-youtube-wrap-left {
        width: 20%;
    }
    .hero-youtube-wrap-right {
        left: 28%;
        width: 20%;
    }
    .hero-youtube-wrap-left a p, 
    .hero-youtube-wrap-right a p {
        font-size: 16px;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .hero-logo-wrap img.tab {
        width: 60px;
        height: 60px;
    }
    .home-hero-section {
        height: 180vh;
        padding: 90px 0 0;
    }
}
@media (max-width: 749px){
    .hero-logo-wrap img.tab {
        width: 60px;
        height: 60px;
    }
    .home-hero-section {
        height: 150vh;
        padding: 80px 0 0;
    }
}
@media (max-width: 499px){
    .hero-logo-wrap .hero-logo-text {
        font-size: 20px;
        padding: 19px 0 0 20px;
    }
    .home-hero-section {
        height: 100vh;
        padding: 13vh 0 0;
    }.hero-copy-wrapper {
        display: block;
        width: 100%;
        margin: 0 auto;
    }
    .hero-title-wrap {
        text-align: center;
    }
    .hero-title-wrap .hero-title-copy {
        font-size: 6.0vw;
        margin: 0 0 5%;
    }
    .hero-title-wrap .hero-title-lead {
        font-size: 15px;
        line-height: 1.3;
        padding: 0;
    }
    .hero-title-wrap .hero-title-lead br {
        display: block;
    }
    .hero-title-wrap .hero-title-lead span {
        font-size: 3.6vw;
    }
    .hero-img-wrap {
        right: 4%;
        width: 60%;
    }
    .hero-youtube-wrap-left {
        bottom: 100px;
        left: 6%;
        width: 100px;
    }
    .hero-youtube-wrap-left a p, .hero-youtube-wrap-right a p {
        font-size: 13px;
        margin: 4px 0 0;
    }
    .hero-youtube-wrap-right {
        bottom: -30px;
        left: 6%;
        width: 100px;
    }
    .hero-youtube-wrap-left a p, .hero-youtube-wrap-right a p {
        font-size: 13px;
        margin: 4px 0 0;
    }
}


/* ------------------------------------------------------------------
Home Concept
------------------------------------------------------------------- */
.home-concept-section {
	position: relative;
    width: 100%;
    height: 110vh;
    padding: 0;
    background-color: #FFF;
    overflow: hidden;
}
.hero-concept-left-wrapper {
    display: flex;
    align-items: center;
    height: 110vh;
    padding-top: 8%;
    padding-bottom: 0;
    padding-left: 10%;
    padding-right: 0;
}
.hero-concept-titles {
    display: block;
    font-size: 3.0vw;
    font-weight: 600;
    line-height: 1.5;
	color: #000;
    margin: 0 0 10%;
    padding: 0;
}
.hero-concept-titles span {
    display: block;
    font-size: 1.1vw;
    font-weight: 500;
    padding: 10px 0 0;
}
.hero-concept-text {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    line-height: 2.0;
	color: #000;
    margin: 0 0 10%;
    padding: 0;
}
.hero-concept-text span.text-b1 {
    font-size: 1.8vw;
}
.hero-concept-text span.text-b2 {
    font-size: 1.6vw;
}
.concept-slide-wrap {
    margin-top: -12.5%;
    margin-left: -20%;
    margin-right: 0;
    transform:rotate(13.6deg);
}
ul.slide_vertical01 {
    margin: 0 0 0 4px;
}
ul.slide_vertical01 li {
    padding: 4px;
}
ul.slide_vertical02 {
    margin: 0 4px 0 0;
}
ul.slide_vertical02 li {
    padding: 4px;
}

@media (max-width: 1480px){
    .hero-concept-left-wrapper {
        padding-left: 7%;
    }
    .hero-concept-titles span {
        font-size: 1.2vw;
    }
    .hero-concept-text {
        font-size: 1.1vw;
    }
}
@media (max-width: 1300px){
    .hero-concept-left-wrapper {
        padding-left: 6%;
    }
}
@media (max-width: 1200px){
    .hero-concept-titles span {
        font-size: 1.5vw;
    }
    .hero-concept-text {
        font-size: 1.4vw;
    }
    .hero-concept-text span.text-b1 {
        font-size: 2.2vw;
    }
    .hero-concept-text span.text-b2 {
        font-size: 2.0vw;
    }
}
@media (max-width: 990px){
    .home-concept-section {
        height: auto;
    }
    .hero-concept-left-wrapper {
        display: block;
        height: auto;
        padding-top: 15%;
        padding-bottom: 7%;
        padding-left: 10%;
        padding-right: 10%;
    }
    .concept-slide-wrap {
        width: 100%;
        height: 70vh;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        transform: rotate(0deg);
    }
    .hero-concept-titles {
        font-size: 6.0vw;
        margin: 0 0 5%;
    }
    .hero-concept-titles span {
        font-size: 2.8vw;
    }
    .hero-concept-text {
        font-size: 2.6vw;
        margin: 0 0 5%;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .concept-slide-wrap {
        height: 200vh;
    }
}
@media (max-width: 749px){
    .concept-slide-wrap {
        height: 200vh;
    }
}
@media (max-width: 499px){
    .hero-concept-left-wrapper {
        padding-top: 20%;
        padding-bottom: 10%;
        padding-left: 6%;
        padding-right: 6%;
    }
    .concept-slide-wrap {
        height: 60vh;
    }
    .hero-concept-titles {
        font-size: 7.2vw;
        margin: 0 0 7%;
    }
    .hero-concept-titles span {
        font-size: 16px;
        padding: 5px 0 0;
    }
    .hero-concept-text {
        font-size: 15px;
        line-height: 1.8;
        margin: 0 0 7%;
    }
    .hero-concept-text span.text-b1 {
        font-size: 18px;
    }
    .hero-concept-text span.text-b2 {
        font-size: 18px;
    }
    .hero-concept-text br {
        display: none;
    }
}


/* ------------------------------------------------------------------
Home Chart
------------------------------------------------------------------- */
.home-chart-section {
	position: relative;
    width: 100%;
    padding: 6% 5% 5%;
    background-color: #FFF;
    overflow: hidden;
}
.home-chart-wrapper {
    position: relative;
    padding-left: 2%;
    padding-right: 2%;
}
.home-chart-wrapper-arrow-top {
    position: absolute;
    top: 22.5%;
    right: -5%;
    font-size: 48px;
    font-weight: 600;
    color: #000;
}
.home-chart-wrapper-arrow-bottom {
    position: absolute;
    bottom: 25%;
    right: -5%;
    font-size: 48px;
    font-weight: 600;
    color: #000;
}
.home-chart-title-wrapper {
    display: flex;
    justify-content: center;
    text-align: center;
    margin: 0 0 20px;
    padding: 0;
}
.home-chart-title {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 60px;
    font-size: 16px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.2;
    text-align: center;
    margin: 0;
    padding: 10px 0;
    background-color: #F6F5F3;
}
.home-chart-subtitle01 {
    display: block;
    font-size: 18px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    text-align: center;
    margin: 0 0 10px;
    padding: 0;
}
.home-chart-subtitle02 {
    display: block;
    font-size: 18px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    text-align: center;
    margin: 0 0 10px;
    padding: 0;
}
.chart-box {
    display: flex;
    justify-content: center; /* 水平方向に中央配置 */
    align-items: center; /* 垂直方向に中央配置 */
    text-align: center;
    margin: 0 15%;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 1s ease-out, transform 1s ease-out;
}
.chart-box.show {
    opacity: 1;
    transform: scale(1);
}

.chart-item-text-wrapper {
    margin-left: 0;
    margin-right: 0;
}
.chart-item-text-wrap {
    display: block;
    font-size: 15px;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    text-align: center;
    color: #FFF;
    margin: 0 0 10px;
    padding: 6px 0 6px;
}
.chart-item-text-wrap.t-black-left {
    color: #000;
}
.chart-item-text-wrap.t-black-right {
    color: #000;
}
.chart-item-numeral-wrap {
    display: block;
    font-size: 3.0vw;
    font-family: "Inter", serif;
    font-weight: 700;
    line-height: 0.9;
    text-align: center;
    color: #000;
    margin: 0 0 20px;
    padding: 0;
}
.chart-item-numeral-wrap span {
    font-size: 1.5vw;
}

.chart-item-text-wrap.chart0101 {
    background-color: #0F990F;
}
.chart-item-text-wrap.chart0102 {
    background-color: #FFB2B2;
}
.chart-item-text-wrap.chart0103 {
    background-color: #CCCCCC;
}


@media (max-width: 1480px){
    .home-chart-title {
        font-size: 15px;
    }
    .home-chart-subtitle01 {
        font-size: 16px;
    }
    .home-chart-subtitle02 {
        font-size: 16px;
    }
    .chart-item-text-wrap {
        font-size: 13px;
    }
}
@media (max-width: 1380px){
}
@media (max-width: 1300px){
    .home-chart-section {
        padding: 6% 2% 5%;
    }
    .home-chart-title {
        font-size: 14px;
    }
    .chart-item-text-wrap {
        font-size: 12px;
    }
}
@media (max-width: 1200px){
    .chart-item-numeral-wrap {
        font-size: 4.0vw;
    }
    .chart-item-numeral-wrap span {
        font-size: 3.0vw;
    }
}
@media (max-width: 990px){
    .home-chart-section {
        padding: 8% 0 5%;
    }
    .home-chart-title {
        font-size: 15px;
        height: 80px;
        line-height: 1.3;
        padding: 10px 15px;
    }
    .home-chart-title br {
        display: none;
    }
    .chart-item-text-wrapper .col-3 {
        padding-left: 0;
        padding-right: 0;
    }
    .chart-item-text-wrapper .col-6 {
        padding-left: 0;
        padding-right: 0;
    }
    .chart-item-text-wrapper .col-1 {
        padding-left: 0;
        padding-right: 0;
    }
    .chart-item-text-wrapper .col-5 {
        padding-left: 5px;
        padding-right: 5px;
    }
    .chart-item-numeral-wrap {
        font-size: 4.8vw;
    }
    .home-chart-wrapper-arrow-top {
        top: 27%;
        right: -5%;
        font-size: 30px;
    }
    .home-chart-wrapper-arrow-bottom {
        bottom: 24%;
        right: -5%;
        font-size: 30px;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .chart-item-text-wrap {
        font-size: 10px;
    }
}
@media (max-width: 749px){
    .chart-item-text-wrap {
        font-size: 9px;
    }
}
@media (max-width: 499px){
    .home-chart-title {
        font-size: 16px;
    }
    .home-chart-title br {
        display: block;
    }
    .chart-item-text-wrap {
        font-size: 14px;
    }
    .home-chart-wrapper-arrow-top {
        display: none;
    }
    .home-chart-wrapper-arrow-bottom {
        display: none;
    }
    .chart-item-numeral-wrap {
        font-size: 15.0vw;
    }
    .chart-item-numeral-wrap span {
        font-size: 8.4vw;
    }
    .home-chart-wrapper {
        margin-bottom: 5%;
    }
}


/* ------------------------------------------------------------------
Home Works
------------------------------------------------------------------- */
.home-works-section {
	position: relative;
    width: 100%;
    padding: 7% 8% 6%;
    background-color: #F6F5F3;
    overflow: hidden;
}
.home-works-top-title {
    display: block;
    font-size: 3.6vw;
    font-weight: 600;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}
.home-works-top-title br {
    display: none;
}
.home-works-top-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}
.home-works-top-text02 {
    display: block;
    font-size: 3.6vw;
    font-weight: 600;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}
.home-works-top-text02 span {
    font-size: 6.0vw;
}
.home-works-top-text03 {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0 0 5%;
    padding: 0;
}
.sec-works-article-wrap-top {
	border-top: solid 1px #CCC;
}
.sec-works-article-wrap {
	display: flex;
	padding-top: 2%;
	padding-bottom: 2%;
	border-bottom: solid 1px #CCC;
}
.sec-works-img-wrapper {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 20px;
}
.sec-works-img-wrap {
    text-align: center;
    margin: 0;
    padding: 0;
	border-radius: 0px;
    overflow: hidden;
}
.sec-works-img-wrap img {
    display: block;
    max-width: 100%;
    min-width: 100%;
    height: auto;
    -webkit-transition: 0.9s ease;
    transition: 0.9s ease;
    overflow: hidden;
}


.sec-works-text-wrapper {
    display: flex;
    align-items: center;
}
.sec-works-text-wrap {
    display: block;
    width: 100%;
    margin: 0;
	padding: 0 0 0 7.5%;
}

.sec-works-article-titlecopy {
    display: block;
    width: 100%;
    font-size: 1.4vw;
    font-weight: 800;
    line-height: 1.4;
    color: #32634B;
    margin: 0 0 2.5%;
	padding: 0;
    background-color: transparent;
}

.sec-works-article-title{
    display: block;
    width: 100%;
    font-size: 1.1vw;
    font-weight: 600;
    line-height: 1.4;
    color: #000;
    margin: 0 0 2.5%;
	padding: 0;
    background-color: transparent;
}

.sec-works-article-date {
	display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.0;
    margin: 0 0 10px;
	padding: 0;
}
.sec-works-article-const {
	display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.0;
    margin: 0 0 2%;
	padding: 0;
}
.sec-works-article-text {
	display: block;
    width: 100%;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
	padding: 0;
}

@media (max-width: 1480px){
    a .sec-works-article-title {
        font-size: 1.3vw;
    }
    .sec-works-article-text {
        font-size: 13px;
    }
    .sec-works-article-title {
        font-size: 1.2vw;
    }
}
@media (max-width: 1380px){
    .sec-works-article-title {
        font-size: 1.3vw;
    }
}
@media (max-width: 1300px){
    .sec-works-article-title {
        font-size: 1.4vw;
    }
}
@media (max-width: 1200px){
    .home-works-section {
        padding: 7% 6% 6%;
    }
    .home-works-top-text {
        font-size: 1.6vw;
    }
    .home-works-top-text03 {
        font-size: 1.6vw;
    }
    .sec-works-article-titlecopy {
        font-size: 1.8vw;
    }
    .sec-works-article-title {
        font-size: 1.8vw;
    }
}
@media (max-width: 990px){
    .home-works-section {
        padding: 8% 3% 7%;
    }
    .home-works-wrapper{
        padding-left: 0;
        padding-right: 0;
    }
    .home-works-top-title {
        font-size: 4.8vw;
    }
    .home-works-top-text {
        font-size: 2.3vw;
    }
    .home-works-top-text02 {
        font-size: 4.8vw;
    }
    .home-works-top-text02 span {
        font-size: 7.2vw;
    }
    .home-works-top-text03 {
        font-size: 2.3vw;
    }
    .sec-works-article-wrap {
        margin-bottom: 2%;
    }
    .sec-works-text-wrap {
        padding: 3% 4% 3% 4%;
    }
    .sec-works-article-titlecopy {
        font-size: 3.2vw;
    }
    .sec-works-article-title {
        font-size: 3.2vw;
    }
    .sec-works-article-date {
        font-size: 18px;
    }
    .sec-works-article-const {
        font-size: 18px;
    }
    .sec-works-article-text {
        font-size: 16px;
    }
}
@media (max-width: 499px){
    .home-works-section {
        padding: 10% 2% 10%;
    }
    .home-works-top-title {
        font-size: 7.2vw;
        line-height: 1.4;
    }
    .home-works-top-title br {
        display: block;
    }
    .home-works-top-text {
        font-size: 15px;
        line-height: 1.4;
        margin: 0 0 10px;
        padding: 0 5%;
    }
    .home-works-top-text02 {
        font-size: 9.6vw;
        margin: 0 0 20px;
    }
    .home-works-top-text02 span {
        font-size: 12.0vw;
    }
    .home-works-top-text03 {
        font-size: 15px;
        line-height: 1.4;
        margin: 0 0 30px;
        padding: 0 5%;
    }
    .sec-works-article-wrap {
        padding-top: 4%;
        padding-bottom: 4%;
    }
    .sec-works-img-wrapper {
        padding: 0 10px;
    }
    .sec-works-text-wrap {
        padding: 5% 5% 5% 5%;
    }
    .sec-works-article-titlecopy {
        font-size: 6.0vw;
        margin: 0 0 15px;
    }
    .sec-works-article-title {
        font-size: 6.0vw;
        margin: 0 0 15px;
    }
    .sec-works-article-date {
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 15px;
    }
    .sec-works-article-const {
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 15px;
    }
}


/* Btn Center
 * --------------------------------------- */
.llinkbutton-wrapper {
    margin-top: 50px;
}
.linkbutton-center {
    display: block;
    position: relative;
    width: 300px;
    height: 60px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    background: #FFF;
    line-height: 55px;
    border: solid 2px #000;
}
.linkbutton-center::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-center:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-center .text {
    display: inline-block;
    position: relative;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center:hover {
    border: solid 2px #32634B;
}
.linkbutton-center:hover .text {
    color: #FFF;
}
.linkbutton-center .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 45%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}

@media (max-width: 499px){
    .llinkbutton-wrapper {
        margin-top: 30px;
    }
}


/* ------------------------------------------------------------------
Home Construction
------------------------------------------------------------------- */
.home-construction-title-section {
	position: relative;
    width: 100%;
    padding: 7% 8% 7%;
    background-color: #FFF;
    overflow: hidden;
}

.home-construction-top-title {
    display: block;
    font-size: 3.0vw;
    font-weight: 600;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0 0 3%;
    padding: 0;
}
.home-construction-top-title br {
    display: none;
}
.home-construction-top-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.0;
    text-align: center;
    color: #000;
    margin: 0;
    padding: 0;
}
.home-construction-top-text br {
    display: none;
}


/* Home Construction 01
 * --------------------------------------- */
.home-construction-section-01 {
	position: relative;
    width: 100%;
    height: 90vh;
    padding: 0;
    background-color: #FFF;
    overflow: hidden;
}
.home-construction-section-reverse {
    display: flex;
    flex-direction: row-reverse;
    margin-left: 0;
    margin-right: 0;
}
.home-construction-left-wrapper-01 {
    display: flex;
    align-items: center;
    height: 90vh;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 12%;
    padding-right: 5%;
}
.home-construction-wrapper {
    display: block;
}
.home-construction-number {
    display: block;
    font-size: 6.0vw;
    font-weight: 500;
    line-height: 1.0;
    color: #000;
    margin: 0 0 8%;
    padding: 0;
}
.home-construction-titles {
    display: block;
    font-size: 2.0vw;
    margin: 0 0 8%;
    padding: 0;
}
.home-construction-titles span.bg-gw {
    display: inline-block;
    font-size: 2.0vw;
    font-weight: 500;
    line-height: 1.0;
    color: #FFF;
    margin: 0 0 8px;
    padding: 15px 15px;
    background-color: #32634B;
}
.home-construction-texts {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    color: #000;
    margin: 0;
    padding: 0;
}
.home-construction-slide-wrap-01 {
    margin-top: -30%;
    margin-left: -10%;
    margin-right: 0;
    transform: rotate(13.6deg);
}


/* Home Construction 02
 * --------------------------------------- */
.home-construction-section-02 {
	position: relative;
    width: 100%;
    height: 110vh;
    padding: 0;
    background-color: #FFF;
    overflow: hidden;
}
.home-construction-section-row {
    display: flex;
    flex-direction: row;
    margin-left: 0;
    margin-right: 0;
}
.home-construction-left-wrapper-02 {
    display: flex;
    align-items: center;
    height: 110vh;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 10%;
    padding-right: 5%;
}
dl.item-construction-02 {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 0 0 3%;
}
dl.item-construction-02 dt {
    width: 7%;
    font-size: 1.4vw;
    color: #000;
    text-align: left;
    line-height: 1.0;
    padding: 0;
    margin: 0;
}
dl.item-construction-02 dd {
    width: 93%;
    font-size: 1.1vw;
    font-weight: 400;
    text-align: left;
    line-height: 1.4;
    padding: 0;
    margin: 0;
}
.home-construction-slide-wrap-02 {
    margin-top: -20%;
    margin-left: -20%;
    margin-right: 0;
    transform: rotate(13.6deg);
}


/* Home Construction 03
 * --------------------------------------- */
.home-construction-section-03 {
	position: relative;
    width: 100%;
    height: 110vh;
    padding: 0;
    background-color: #FFF;
    overflow: hidden;
}
.home-construction-left-wrapper-03 {
    display: flex;
    align-items: center;
    height: 110vh;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 8%;
    padding-right: 5%;
}
.home-construction-texts-03 {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    color: #000;
    margin: 0 0 5%;
    padding: 0;
}
.home-construction-subtitles-03 {
    display: inline-block;
    font-size: 1.4vw;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0 0 20px;
    padding: 0;
}

dl.item-construction-03 {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
}
dl.item-construction-03 dt {
    width: 10%;
    font-size: 1.1vw;
    color: #000;
    text-align: left;
    line-height: 1.0;
    padding: 0;
    margin: 0;
}
dl.item-construction-03 dd {
    width: 90%;
    font-size: 1.1vw;
    font-weight: 400;
    text-align: left;
    line-height: 1.0;
    padding: 0;
    margin: 0;
}
.home-construction-slide-wrap-03 {
    margin-top: -30%;
    margin-left: -27%;
    margin-right: 27%;
    transform: rotate(13.6deg);
}

@media (max-width: 1480px){
    .home-construction-top-text {
        font-size: 1.2vw;
    }
    .home-construction-texts {
        font-size: 1.1vw;
    }
    .home-construction-texts-03 {
        font-size: 1.1vw;
    }
}
@media (max-width: 1380px){
    .home-construction-top-text {
        font-size: 1.3vw;
    }
    .home-construction-texts {
        font-size: 1.2vw;
    }
    .home-construction-texts-03 {
        font-size: 1.2vw;
    }
}
@media (max-width: 1300px){
    .home-construction-top-text {
        font-size: 1.4vw;
    }
    .home-construction-texts {
        font-size: 1.3vw;
    }
    .home-construction-texts-03 {
        font-size: 1.3vw;
    }
}
@media (max-width: 1200px){
    .home-construction-top-text {
        font-size: 1.6vw;
    }
    .home-construction-left-wrapper-01 {
        padding-left: 8%;
    }
    .home-construction-number {
        font-size: 7.2vw;
    }
    .home-construction-titles span.bg-gw {
        font-size: 2.4vw;
    }
    .home-construction-texts {
        font-size: 1.4vw;
    }
    .home-construction-left-wrapper-02 {
        padding-left: 7%;
    }
    .home-construction-left-wrapper-03 {
        padding-left: 6%;
    }
    .home-construction-texts-03 {
        font-size: 1.4vw;
    }
    dl.item-construction-02 dt {
        font-size: 1.8vw;
    }
    dl.item-construction-02 dd {
        font-size: 1.4vw;
    }.home-construction-subtitles-03 {
        font-size: 2.0vw;
    }
    dl.item-construction-03 dt {
        font-size: 1.6vw;
    }
    dl.item-construction-03 dd {
        font-size: 1.4vw;
    }
}
@media (max-width: 990px){
    .home-construction-top-title {
        font-size: 3.6vw;
    }
    .home-construction-top-text {
        font-size: 3.0vw;
        line-height: 1.4;
    }
    .home-construction-top-text br {
        display: block;
    }

    .home-construction-section-01 {
        height: auto;
    }
    .home-construction-left-wrapper-01 {
        display: block;
        height: auto;
        padding-left: 10%;
        padding-right: 10%;
    }
    .home-construction-number {
        font-size: 9.6vw;
        margin: 0 0 5%;
    }
    .home-construction-titles {
        margin: 0 0 5%;
    }
    .home-construction-titles span.bg-gw {
        font-size: 4.4vw;
    }
    .home-construction-texts {
        font-size: 18px;
        margin: 0 0 8%;
    }
    .home-construction-slide-wrap-01 {
        height: 70vh;
        margin-top: 0;
        margin-left: 0;
        transform: rotate(0deg);
    }

    .home-construction-section-02 {
        height: auto;
    }
    .home-construction-left-wrapper-02 {
        display: block;
        height: auto;
        padding-top: 7%;
        padding-bottom: 7%;
        padding-left: 10%;
        padding-right: 10%;
    }
    .home-construction-slide-wrap-02 {
        height: 70vh;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        transform: rotate(0deg);
    }
    dl.item-construction-02 dt {
        font-size: 3.6vw;
    }
    dl.item-construction-02 dd {
        font-size: 18px;
    }
    dl.item-construction-02 dd br {
        display: none;
    }

    .home-construction-section-03 {
        height: auto;
    }
    .home-construction-left-wrapper-03 {
        display: block;
        height: auto;
        padding-top: 7%;
        padding-bottom: 7%;
        padding-left: 10%;
        padding-right: 10%;
    }
    .home-construction-texts-03 {
        font-size: 18px;
    }
    .home-construction-subtitles-03 {
        font-size: 3.0vw;
    }
    dl.item-construction-03 dt {
        font-size: 3.0vw;
    }
    dl.item-construction-03 dd {
        font-size: 18px;
    }
    .home-construction-slide-wrap-03 {
        height: 70vh;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        transform: rotate(0deg);
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .home-construction-slide-wrap-01 {
        height: 200vh;
    }
    .home-construction-slide-wrap-02 {
        height: 200vh;
    }
    .home-construction-slide-wrap-03 {
        height: 200vh;
    }
}
@media (max-width: 749px){
    .home-construction-slide-wrap-01 {
        height: 200vh;
    }
    .home-construction-slide-wrap-02 {
        height: 200vh;
    }
    .home-construction-slide-wrap-03 {
        height: 200vh;
    }
    dl.item-construction-03 dd {
        font-size: 16px;
    }
}
@media (max-width: 499px){
    .home-construction-title-section {
        padding: 10% 4% 10%;
    }
    .home-construction-top-title {
        font-size: 6.0vw;
        line-height: 1.4;
    }
    .home-construction-top-title br {
        display: block;
    }
    .home-construction-top-text {
        font-size: 4.0vw;
    }
    .home-construction-left-wrapper-01 {
        padding-left: 4%;
        padding-right: 4%;
    }
    .home-construction-number {
        font-size: 15.0vw;
        margin: 0 0 6%;
    }
    .home-construction-titles span.bg-gw {
        font-size: 5.4vw;
        padding: 10px 10px;
    }
    .home-construction-texts {
        font-size: 16px;
        margin: 0 0 10%;
    }
    .home-construction-slide-wrap-01 {
        height: 60vh;
    }
    .home-construction-left-wrapper-02 {
        padding-top: 10%;
        padding-bottom: 7%;
        padding-left: 4%;
        padding-right: 4%;
    }
    dl.item-construction-02 {
        margin: 0 0 20px;
    }
    dl.item-construction-02 dt {
        width: 10%;
        font-size: 6.0vw;
    }
    dl.item-construction-02 dd {
        width: 90%;
        font-size: 16px;
    }
    .home-construction-slide-wrap-02 {
        height: 60vh;
    }
    .home-construction-left-wrapper-03 {
        padding-top: 10%;
        padding-bottom: 7%;
        padding-left: 4%;
        padding-right: 4%;
    }
    .home-construction-texts-03 {
        font-size: 16px;
        margin: 0 0 25px;
    }
    .home-construction-texts-03 br {
        display: none;
    }
    .home-construction-subtitles-03 {
        font-size: 5.4vw;
    }
    dl.item-construction-03 dt {
        font-size: 6.0vw;
    }
    .home-construction-slide-wrap-03 {
        height: 70vh;
    }
}


/* Home Construction Btn
 * --------------------------------------- */
.home-construction-section-btn {
	position: relative;
    width: 100%;
    padding: 4% 1%;
    background-color: #FFF;
    overflow: hidden;
}


/* Btn Center 100% Left
 * --------------------------------------- */
.linkbutton-center-100p-wrap {
    padding-left: 10px;
    padding-right: 10px;
}
.linkbutton-center-100p-left {
    display: block;
    position: relative;
    width: 100%;
    height: 120px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    line-height: 115px;
    background-color: rgba(0, 0, 0, 1.0);
    background-image: url(../img/home-btn-bg01.jpg);
    background-size: cover;
}
.linkbutton-center-100p-left::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-center-100p-left:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-center-100p-left .text {
    display: inline-block;
    position: relative;
    font-size: 1.0vw;
    font-weight: bold;
    letter-spacing: 0;
    color: #FFF;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100p-left .text br {
    display: none;
}
.linkbutton-center-100p-left:hover .text {
    color: #FFF;
}
.linkbutton-center-100p-left .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    right: 30px;
    top: 48%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100p-left:hover .arrow {
    right: 40px;
}


/* Btn Center 100% Right
 * --------------------------------------- */
.linkbutton-center-100p-right {
    display: block;
    position: relative;
    width: 100%;
    height: 120px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    line-height: 115px;
    background-color: rgba(0, 0, 0, 1.0);
    background-image: url(../img/home-btn-bg02.jpg);
    background-size: cover;
}
.linkbutton-center-100p-right::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-center-100p-right:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-center-100p-right .text {
    display: inline-block;
    position: relative;
    font-size: 1.0vw;
    font-weight: bold;
    letter-spacing: 0;
    color: #FFF;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100p-right .text br {
    display: none;
}
.linkbutton-center-100p-right:hover .text {
    color: #FFF;
}
.linkbutton-center-100p-right .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    right: 30px;
    top: 48%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100p-right:hover .arrow {
    right: 40px;
}

@media (max-width: 1480px){
    .linkbutton-center-100p-left .text {
        font-size: 1.2vw;
    }
    .linkbutton-center-100p-right .text {
        font-size: 1.2vw;
    }
}
@media (max-width: 1200px){
    .linkbutton-center-100p-left .text {
        font-size: 1.6vw;
    }
    .linkbutton-center-100p-right .text {
        font-size: 1.6vw;
    }
}
@media (max-width: 990px){
    .linkbutton-center-100p-wrap {
        margin-bottom: 10px;
    }
    .linkbutton-center-100p-left .text {
        font-size: 3.0vw;
    }
    .linkbutton-center-100p-right .text {
        font-size: 3.0vw;
    }
}
@media (max-width: 499px){
    .linkbutton-center-100p-left {
        height: auto;
        padding: 30px 20px;
        line-height: 1.3;
    }
    .linkbutton-center-100p-left .text {
        font-size: 4.4vw;
    }
    .linkbutton-center-100p-left .text br {
        display: block;
    }
    .linkbutton-center-100p-right {
        height: auto;
        padding: 30px 20px;
        line-height: 1.3;
    }
    .linkbutton-center-100p-right .text {
        font-size: 4.4vw;
    }
    .linkbutton-center-100p-right .text br {
        display: block;
    }
}


/* ------------------------------------------------------------------
Home Topics
------------------------------------------------------------------- */
.home-topics-section {
	position: relative;
    width: 100%;
    padding: 5% 5% 5%;
    background-color: #F6F5F3;
    overflow: hidden;
}
.home-topics-titles {
    display: block;
    font-size: 3.6vw;
    font-family: 'DM Serif Display', serif;
    font-weight: 400;
    line-height: 1.0;
    text-align: center;
    color: #32634B;
    margin: 0 0 4%;
    padding: 0;
}
.home-topics-titles span {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    margin: 0;
    padding: 10px 0 0;
}
.home-topics-subtitles {
    display: block;
    font-size: 1.2vw;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    line-height: 1.0;
	color: #000;
    text-align: center;
    margin: 0 0 5%;
    padding: 0;
}
.entry-wrapper {
    margin: 0 0 0 15px;
    border-top: 1px solid #CCC;
}
.entry-wrap {
    padding: 4% 0;
    border-bottom: 1px solid #CCC;
    margin: 0;
    transition: all 0.35s ease-in-out;
    -webkit-transition: all 0.35s ease-in-out;
}
.entry-wrap:hover {
    background-color: #32634B;
    border-bottom-color: #32634B;
    padding-left: 30px;
    padding-right: 30px;
}
.entry-wrap:hover dl.topics-features dt span,
.entry-wrap:hover dl.topics-features dt h4.home-topics-cate,
.entry-wrap:hover dl.topics-features dt h3.home-topics-title a,
.entry-wrap:hover dl.topics-features dd a {
    color: #FFF;
}
.entry-wrap dl.topics-features {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}
.entry-wrap dl.topics-features dt {
    display: flex;
    align-items: center;
    width: 90%;
    text-align: left;
    padding: 0 0 0 15px;
    margin: 0;
}
.entry-wrap dl.topics-features dt span {
    position: relative;
    display: inline-block;
    width: 20%;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.0;
	color: #000;
    padding-right: 30px;
}
.entry-wrap dl.topics-features dt h3.home-topics-title {
	display: inline-block;
    width: 80%;
    margin: 10px 0 10px;
}
.entry-wrap dl.topics-features dt h3.home-topics-title a {
	display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
	color: #000;
}
.entry-wrap dl.topics-features dt h3.home-topics-title a:hover {
	color: #FFF;
}
.entry-wrap dl.topics-features dd {
    display: flex;
    justify-content: center;
    align-items: center;
	width: 10%;
    margin: 0;
    padding: 0;
}
.entry-wrap dl.topics-features dd a {
    font-size: 2.0rem;
	color: #000;
}
.entry-btn-wrap {
    padding: 40px 0 0;
    margin: 0;
}


@media (max-width: 1680px){
    .entry-wrap {
        padding: 2% 0;
    }
    .entry-wrap dl.topics-features dt {
        display: block;
    }
    .entry-wrap dl.topics-features dt span {
        width: auto;
        font-size: 12px;
    }
    .entry-wrap dl.topics-features dt h3.home-topics-title {
        display: block;
        width: 100%;
    }
}
@media (max-width: 1480px){
    .home-topics-titles span {
        font-size: 1.3vw;
    }
    .home-topics-subtitles {
        font-size: 1.4vw;
    }
}
@media (max-width: 1200px){
    .home-topics-titles {
        font-size: 4.4vw;
    }
    .home-topics-subtitles {
        font-size: 1.6vw;
    }
    .entry-wrap dl.topics-features dt h3.home-topics-title {
        margin-top: 5px;
        margin-bottom: 5px;
    }
    .entry-wrap dl.topics-features dt h3.home-topics-title a {
        font-size: 15px;
    }
}
@media (max-width: 990px){
    .home-topics-section {
        padding: 7% 5% 7%;
    }
    .home-topics-titles {
        font-size: 6.6vw;
        margin: 0;
    }
    .home-topics-titles span {
        font-size: 2.4vw;
    }
    .home-topics-subtitles {
        font-size: 3.0vw;
        margin: 7% 0 5%;
    }
    .entry-wrap {
        padding: 3% 0;
    }
    .entry-wrap dl.topics-features dt span {
        font-size: 14px;
    }
    .entry-wrap dl.topics-features dt h3.home-topics-title a {
        font-size: 18px;
    }
}
@media (max-width: 499px){
    .home-topics-section {
        padding: 10% 0 10%;
    }
    .home-topics-titles {
        font-size: 12.0vw;
        margin: 0;
    }
    .home-topics-titles span {
        font-size: 16px;
    }
    .home-topics-subtitles {
        font-size: 20px;
        margin: 10% 0 7%;
    }
    .entry-wrapper {
        margin: 0;
    }
    .entry-wrap dl.topics-features {
        display: block;
        padding: 0 0 0 10px;
    }
    .entry-wrap dl.topics-features dt {
        display: block;
        padding: 0;
    }
    .entry-wrap dl.topics-features dt span {
        font-size: 13px;
    }
    .entry-wrap dl.topics-features dt h3.home-topics-title a {
        font-size: 16px;
    }
    .entry-wrap dl.topics-features dd {
        width: 10px;
    }
}


/* ------------------------------------------------------------------
Home FAQ
------------------------------------------------------------------- */
.home-faq-section {
	position: relative;
    width: 100%;
    padding: 5% 5% 5%;
    background-color: #FFF;
    overflow: hidden;
}
.home-faq-titles {
    display: block;
    font-size: 3.6vw;
    font-family: 'DM Serif Display', serif;
    font-weight: 400;
    line-height: 1.0;
    text-align: center;
    color: #32634B;
    margin: 0 0 4%;
    padding: 0;
}
.home-faq-titles span {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    margin: 0;
    padding: 20px 0 0;
}
.home-faq-subtitles {
    display: block;
    font-size: 1.6vw;
    font-weight: 600;
    line-height: 1.0;
	color: #000;
    text-align: center;
    margin: 0 0 5%;
    padding: 0;
}
.faq-accordion-wrap-full {
    position: relative;
    width: 100%;
    text-align: left;
    margin: 0 auto;
    padding: 0 0 0;
}
.close {
    float: none;
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1;
    color: #FFF;
    text-shadow: 0 0 0 #fff;
    opacity: 1.0;
}
.close:not(:disabled):not(.disabled):hover, 
.close:not(:disabled):not(.disabled):focus {
    opacity: 1.0;
}
/*アコーディオン全体*/
.accordion-area {
    list-style: none;
    width: 100%;
    margin: 0 auto;
}
.accordion-area li {
    margin: 10px 0;
}
.accordion-area section {
    border: 1px solid #F6F5F3;
	border-radius: 0px;
	background-color: #F6F5F3;
}
/*アコーディオンタイトル*/
.accordion-area section .title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 1.0vw;
    font-weight: 600;
    color: #000;
    margin: 0;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
}
.accordion-area section .title:hover {
    color: #32634B;
}
.accordion-area section .title span {
    display: block;
    font-size: 1.0vw;
    font-family: "Inter", serif;
    font-weight: 700;
    padding: 0 0 10px;
}
/*アイコンの＋と×*/
.accordion-area section .title::before,
.accordion-area section .title::after {
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #000;
}
.accordion-area section .title::before {
    top:48%;
    left: 15px;
    transform: rotate(0deg);
}
.accordion-area section .title::after {    
    top:48%;
    left: 15px;
    transform: rotate(90deg);
}
/*closeというクラスがついたら形状変化　*/
.accordion-area section .title.close::before {
    transform: rotate(45deg);
}
.accordion-area section .title.close::after {
    transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-area section .box {
    display: none;/*はじめは非表示*/
    background: #FFF;
    margin:0 3% 3% 3%;
    padding: 3%;
	border-radius: 0px;
}
.accordion-area section .box p {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}
.accordion-area section .box p span {
    display: block;
    font-size: 1.0vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    padding: 0 0 10px;
}

@media (max-width: 1480px){
	.accordion-area section .title {
		font-size: 17px;
	}
	.accordion-area section .box p {
		font-size: 16px;
	}
}
@media (max-width: 1200px){
    .home-faq-titles {
        font-size: 4.4vw;
    }
    .home-faq-titles span {
        font-size: 1.3vw;
    }
}
@media (max-width: 990px){
    .home-faq-section {
        padding: 7% 5% 7%;
    }
    .home-faq-titles {
        font-size: 6.6vw;
    }
    .home-faq-titles span {
        font-size: 2.4vw;
        margin: 0 0 7%;
    }
    .home-faq-subtitles {
        font-size: 2.4vw;
        margin: 0 0 5%;
    }
	.accordion-area section .title span {
		font-size: 15px;
	}
	.accordion-area section .box p span {
		font-size: 15px;
	}
}
@media (max-width: 499px){
    .home-faq-section {
        padding: 10% 4% 10%;
    }
    .home-faq-titles {
        font-size: 12.0vw;
        margin: 0 0 7%;
    }
    .home-faq-titles span {
        font-size: 18px;
        margin: 0 0 7%;
        padding: 10px 0 0;
    }
    .home-faq-subtitles {
        font-size: 4.2vw;
        margin: 0 0 7%;
    }
    .accordion-area section .title {
        font-size: 16px;
    }
}


/* ------------------------------------------------------------------
Home Contact
------------------------------------------------------------------- */
.home-contact-section {
	display: block;
    width: 100%;
    padding: 6% 6%;
    background-color: #32634B;
}
.home-contact-contents-wrapper {
	margin-left: 0;
	margin-right: 0;
}
.home-contact-title {
    display: block;
    font-size: 6.4vw;
    font-family: 'DM Serif Display', serif;
    font-weight: 400;
    line-height: 1.0;
    color: #FFF;
    margin: 0 0 4%;
    padding: 0;
}
.home-contact-title span {
    display: block;
    font-size: 1.1vw;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    line-height: 1.0;
    margin: 0;
    padding: 5px 0 0 5px;
}
.home-contact-lead {
    display: block;
    font-size: 1.0vw;
    font-weight: 500;
    line-height: 1.8;
    color: #FFF;
    margin: 0 0 4%;
    padding: 0;
}
.contact-home-tel-leads {
    display: block;
    font-size: 1.2vw;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    color: #FFF;
    margin: 0;
    padding: 0 0 10px;
}
.contact-home-tel-area-wrap {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}
.contact-home-tel-area {
    display: block;
    font-size: 1.2vw;
    font-weight: 400;
    line-height: 1.0;
    letter-spacing: 0;
    color: #FFF;
    text-align: right;
    margin: 0;
    padding: 5px 0 0;
}
.contact-home-tel-wrap {
    display: block;
    margin: 0;
    padding: 0;
	text-align: left;
}
.contact-home-tel-wrap a {
    font-size: 2.4vw;
    font-weight: 400;
    font-family: 'DM Serif Display', serif;
    line-height: 1.0;
    letter-spacing: 0.1vw;
    color: #FFF;
    margin: 0;
    padding: 0;
}
.contact-home-tel-wrap a span {
    font-size: 1.8vw;
}
.contact-home-tel-uke {
	display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.0;
    letter-spacing: 0;
    color: #FFF;
    text-align: center;
    margin: 0;
    padding: 10px 0 0;
}

@media (max-width: 1480px){
	.contact-home-tel-uke {
		font-size: 13px;
	}
}
@media (max-width: 1200px){
    .home-contact-title span {
        font-size: 1.4vw;
    }
	.home-contact-lead {
		font-size: 1.3vw;
	}
    .contact-home-tel-wrap a {
        font-size: 3.6vw;
    }
	.contact-home-tel-wrap a span {
		font-size: 1.8vw;
		padding: 0;
	}
    .contact-home-tel-area {
        font-size: 1.5vw;
        padding: 10px 0 0;
    }
	.contact-home-tel-uke {
		font-size: 13px;
	}
}
@media (max-width: 990px){
	.home-contact-section {
		padding: 8% 6%;
		border-radius: 0;
	}
	.home-contact-title {
		font-size: 8.0vw;
		margin: 0 0 7%;
		text-align: center;
	}
	.home-contact-title span {
        font-size: 2.4vw;
        padding: 5px 0 0 0;
	}
    .home-contact-lead {
        font-size: 16px;
		line-height: 1.6;
		margin: 0 0 6%;
    }
    .home-contact-lead br {
        display: none;
    }
    .contact-home-tel-leads {
        font-size: 3.0vw;
        margin: 6% 0 4%;
        padding: 0;
    }
	.contact-home-tel-wrap {
		margin: 0;
	}
	.contact-home-tel-wrap a {
		font-size: 7.2vw;
        letter-spacing: 0.2vw;
	}
    .contact-home-tel-area {
        font-size: 2.4vw;
        padding: 15px 0 0;
    }
    .contact-home-tel-wrap a span {
        font-size: 3.0vw;
    }
    .contact-home-tel-wrap a span.contact-home-tel-uke {
        font-size: 18px;
    }
	.contact-home-tel-uke {
		font-size: 15px;
        padding: 20px 0 0;
	}
}
@media (max-width: 499px){
    .home-contact-section {
        padding: 40px 6%;
    }
    .home-contact-title {
        font-size: 10.8vw;
        margin: 0 0 30px;
    }
    .home-contact-title span {
        font-size: 18px;
    }
    .home-contact-lead {
        font-size: 15px;
        line-height: 1.8;
        margin: 0 0 30px;
    }
    .contact-home-tel-leads {
        font-size: 18px;
        margin: 10% 0 8%;
    }
    .contact-home-tel-area-wrap {
        display: block;
        text-align: center;
    }
    .contact-home-tel-area {
        font-size: 16px;
        text-align: center;
        padding: 0 0 10px;
    }
    .contact-home-tel-wrap a span.contact-home-tel-uke {
        font-size: 14px;
    }
}


/* Button Contact
 * --------------------------------------- */
.home-contact-linkbutton-wrap {
    display: block;
    width: 80%;
    text-align: left;
    margin: 5% auto 0 0;
    padding: 0;
    background: transparent;
}
.linkbutton-contact {
    display: block;
    position: relative;
    width: 100%;
	margin: 0;
    padding: 30px 30px;
    text-align: center;
	background-color: #FFF;
	overflow: hidden;
}
.linkbutton-contact::before {
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #be272f;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-contact:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-contact .text {
    display: block;
    position: relative;
    font-size: 1.2vw;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.4;
    color: #000;
    text-align: center;
	padding: 0;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-contact:hover .text {
    color: #FFF;
}

@media (max-width: 1200px){
	.linkbutton-contact .text {
		font-size: 1.4vw;
	}
}
@media (max-width: 990px){
	.home-contact-linkbutton-wrap {
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}
	.linkbutton-contact .text {
		font-size: 3.0vw;
		padding: 0;
	}
}
@media (max-width: 499px){
	.linkbutton-contact {
		border-radius: 70px;
	}
    .linkbutton-contact .text {
        font-size: 5.4vw;
    }
    .contact-home-tel-wrap {
        text-align: center;
        margin: 0 0 10px;
    }
    .contact-home-tel-wrap a {
        font-size: 10.5vw;
    }
    .contact-home-tel-wrap a span {
        font-size: 4.8vw;
    }
    .contact-home-tel-uke {
        font-size: 13px;
        padding: 0;
    }
}


/* ------------------------------------------------------------------
Footer
------------------------------------------------------------------- */
.footer-area {
	display: block;
    width: 100%;
    padding: 6% 6% 2%;
    background-color: #FFF;
}
.footer-contents-wrapper {
	display: block;
    width: 100%;
    height: auto;
    padding: 0;
}
.footer-logo-wrap {
    display: block;
    width: 100%;
	margin: 0;
	padding: 0;
}

.footer-address-wrapper {
    display: flex;
    align-items: center;
    padding-left: 5%;
    padding-right: 0;
}

.footer-company-name01 {
    display: block;
    font-size: 18px;
    font-weight: 600;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.4;
	color: #32634B;
	margin: 0 0 15px;
	padding: 0;
}
.footer-address {
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
	color: #000;
	margin: 0 0 10px;
	padding: 0;
}

a.footer-gmap {
    display: block;
    font-size: 12px;
    font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.0;
	color: #000;
	margin: 0 0 15px;
	padding: 0;
}
a.footer-gmap:hover {
	color: #000;
}

.footer-tel-wrap {
    display: block;
    font-size: 16px;
	margin: 0;
	padding: 0;
}
.footer-tel-wrap a {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.0;
	color: #000;
	margin: 0;
	padding: 0 0 8px;
}
.footer-tel-wrap a span {
	display: inline-block;
    font-size: 14px;
	margin: 0;
	padding: 0 10px 0 0;
}

.footer-menu-wrap {
	display: block;
	margin: 20% 0 50%;
	padding: 0 0 0 5%;
}
.footer-menu-wrap a {
	display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.0;
	color: #000;
	margin: 0 0 5%;
	padding: 0;
}
.footer-menu-wrap a:hover {
    font-weight: 500;
    letter-spacing: 2px;
	color: #be272f;
}

.footer-menu-wrap-bottom {
	display: block;
	margin: 0;
	padding: 0 0 0 5%;
}
.footer-menu-wrap-bottom a {
    position: relative;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
	color: #000;
	margin: 0 10px 0 0;
	padding: 0;
}
.footer-menu-wrap-bottom a:hover {
	color: #be272f;
}
.footer-menu-wrap-bottom a.footer-menu-bottom::after {
    content: "｜";
    position: absolute;
    top: 0;
    right: 10px10px;
    font-size: 16px;
    font-weight: 400;
    color: #000;
}

.footer-img-wrap {
    padding: 5% 0 0;
}

.footer-bottom {
    text-align: center;
    padding: 20px 0 20px;
    background-color: #32634B;
}
.footer-bottom .copyright {
    font-size: 12px;
    line-height: 1.0;
    color: #FFF;
    margin: 0;
    padding: 0;
}

@media (max-width: 990px){
    .footer-area {
        padding: 7% 6% 2%;
    }
    .footer-logo-wrap {
        width: 200px;
        margin: 0 auto 5%;
    }
    a.footer-gmap {
        font-size: 14px;
    }
    .footer-tel-wrap {
        font-size: 18px;
    }
    .footer-menu-wrap {
        margin: 7% 0 7%;
        padding: 7% 0 4% 5%;
        border-top: solid 1px #CCC;
        border-bottom: solid 1px #CCC;
    }
}
@media (max-width: 499px){
    .footer-area {
        padding: 10% 4% 6%;
    }
    .footer-address-wrapper {
        display: block;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 20px;
    }
    .footer-company-name01 {
        margin: 0 0 10px;
    }
    .footer-menu-wrap {
        margin: 5% 0 8%;
        padding: 10% 0 8% 10px;
    }
    .footer-menu-wrap a {
        font-size: 15px;
    }
    .footer-menu-wrap-bottom a {
        font-size: 15px;
    }
}


/* ------------------------------------------------------------------
Scroll UP
------------------------------------------------------------------- */
.scroll-up {
    position: fixed;
    display: none;
    bottom: 0px;
    right: 0px;
    z-index: 899;
}
.scroll-up a {
    display: block;
    height: 50px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 18px;
    color: #FFF;
    opacity: 1.0;
	background-color: #32634B;
}
.scroll-up a:hover, .scroll-up a:active {
    opacity: 1;
    background-color: #C81323;
}

@media (max-width: 1480px){
	.scroll-up {
		bottom: 0px;
		right: 0px;
	}
}
@media (max-width: 1200px){
	.scroll-up {
		bottom: 0px;
		right: 0px;
	}
}
@media (max-width: 749px){
	.scroll-up {
		bottom: 0px;
		right: 0px;
	}
	.scroll-up a {
		height: 40px;
		width: 42px;
		line-height: 40px;
		font-size: 16px;
	}
}


/* ------------------------------------------------------------------
management.html（管理組合様へ）
------------------------------------------------------------------- */
.management-hero-section {
    position: relative;
    width: 100%;
    height: 100vh;
    padding: 0;
    background-color: #F6F5F3;
    overflow: hidden;
}
.management-copy-wrapper {
    position: absolute;
    top: 0;
    left: 7%;
    display: flex;
    align-items: center;
    width: 30%;
    height: 100vh;
    margin: 0;
    padding: 0;
}
.management-title-wrap {
    display: block;
    width: 100%;
    text-align: center;
}
.management-title-wrap .management-title-copy {
    display: block;
    font-size: 3.6vw;
    font-weight: 600;
    line-height: 1.0;
    margin: 0 0 15px;
    padding: 20px 0;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
}
.management-title-wrap .management-title-lead {
    display: block;
    font-size: 1.4vw;
    font-weight: 400;
    line-height: 1.0;
    margin: 0;
    padding: 10px 0;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
}
ul.slide_vertical011 {
    margin: 0 0 0 3px;
}
ul.slide_vertical011 li {
    padding: 3px;
}
ul.slide_vertical011 li img {
    border-radius: 8px;
    overflow: hidden;
}
ul.slide_vertical012 {
    margin: 0;
}
ul.slide_vertical012 li {
    padding: 3px;
}
ul.slide_vertical012 li img {
    border-radius: 8px;
    overflow: hidden;
}
ul.slide_vertical013 {
    margin: 0 3px 0 0;
}
ul.slide_vertical013 li {
    padding: 3px;
}
ul.slide_vertical013 li img {
    border-radius: 8px;
    overflow: hidden;
}
.management-contents-section {
    position: relative;
    width: 100%;
    height: auto;
    margin: -5% 0 0 0;
    background-color: #FFF;
    border-radius: 50px 50px 0 0;
    overflow: hidden;
    z-index: 100;
}
.management-contents-section.bg-gray {
    background-color: #F0F0F0;
}
.management-contents-section.bg-white03 {
    margin: -3% 0 0 0;
}


@media (max-width: 990px){
    .management-hero-section {
        margin-top: 60px;
    }
    .management-copy-wrapper {
        width: 50%;
    }
    .management-title-wrap .management-title-copy {
        font-size: 7.2vw;
    }
    .management-title-wrap .management-title-lead {
        font-size: 3.0vw;
    }
}
@media (max-width: 499px){
    .management-hero-section {
        height: 60vh;
    }
    .management-copy-wrapper {
        width: 70%;
        height: 60vh;
    }
    .management-title-wrap .management-title-copy {
        font-size: 9.6vw;
    }
    .management-title-wrap .management-title-lead {
        font-size: 4.0vw;
    }
    .management-contents-section {
        margin: -5% 0 0 0;
        border-radius: 30px 30px 0 0;
    }
    ul.slide_vertical011 {
        margin: 0 0 0 2px;
    }
    ul.slide_vertical013 {
        margin: 0 2px 0 0;
    }
    ul.slide_vertical011 li {
        padding: 2px;
    }
    ul.slide_vertical012 li {
        padding: 2px;
    }
    ul.slide_vertical013 li {
        padding: 2px;
    }
    ul.slide_vertical011 li img, 
    ul.slide_vertical012 li img, 
    ul.slide_vertical013 li img {
        border-radius: 4px;
    }
}


/* --------------------------------------
	Management Contents Title
----------------------------------------*/
.management-contents-title-wrap {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 3% 5%;
    border-bottom: solid 1px #CCC;
}
.management-contents-title {
    display: block;
    font-size: 1.2vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    line-height: 1.0;
    color: #32634B;
    margin: 0;
    padding: 0;
}
.management-contents-title span.title-line {
    display: block;
    width: 50px;
    height: 2px;
    margin: 2% 0 2%;
    padding: 0;
    background-color: #32634B;
}
.management-contents-title span.title-jp {
    display: block;
    font-size: 2.0vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 0;
}
.management-contents-title span.title-jp br {
    display: none;
}
.management-contents-title-number {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 8.4vw;
    font-weight: 500;
    font-family: 'Oswald', sans-serif;
    line-height: 0.9;
    color: #E2E2E2;
    margin: 0;
    padding: 0;
}


@media (max-width: 1480px){
    .management-contents-title {
        font-size: 1.3vw;
    }
    .management-contents-title span.title-jp {
        font-size: 2.0vw;
    }
}
@media (max-width: 1380px){
    .management-contents-title {
        font-size: 1.4vw;
    }
    .management-contents-title span.title-jp {
        font-size: 2.2vw;
    }
}
@media (max-width: 1300px){
    .management-contents-title {
        font-size: 1.5vw;
    }
    .management-contents-title span.title-jp {
        font-size: 2.4vw;
    }
}
@media (max-width: 1200px){
    .management-contents-title {
        font-size: 1.6vw;
    }
    .management-contents-title span.title-jp {
        font-size: 2.6vw;
    }
}
@media (max-width: 990px){
    .management-contents-title-wrap {
        padding: 5% 7%;
    }
    .management-contents-title span.title-line {
        margin: 4% 0 4%;
    }
    .management-contents-title {
        font-size: 2.4vw;
    }
    .management-contents-title span.title-jp {
        font-size: 3.6vw;
    }
    .management-contents-title-number {
        font-size: 12.0vw;
    }
}
@media (max-width: 499px){
    .management-contents-title-wrap {
        padding: 8% 6%;
    }
    .management-contents-title {
        font-size: 14px;
    }
    .management-contents-title span.title-line {
        margin: 5% 0 5%;
    }
    .management-contents-title span.title-jp {
        font-size: 5.4vw;
        line-height: 1.2;
    }
    .management-contents-title span.title-jp br {
        display: block;
    }
    .management-contents-title-number {
        font-size: 18.0vw;
    }
    .management-contents-section.bg-white03 {
        margin: -5% 0 0 0;
    }
}


/* --------------------------------------
	Management Contents 01
----------------------------------------*/
.management-contents-wrapper {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 3% 5% 8% 5%;
}
.management-contents-subtitle {
    display: block;
    width: 50%;
    margin: 0 0 3%;
    padding: 0;
}
.management-contents-subtitle span.subtitle-jp {
    display: inline-block;
    font-size: 1.6vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #FFF;
    margin: 0 0 10px;
    padding: 10px 20px 14px;
    background-color: #32634B;
    border-radius: 30px;
}
.management-contents-subtitle span.subtitle-jp br {
    display: none;
}
.management-contents-subtext {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.6;
    color: #000;
    margin: 0 0 4%;
    padding: 0;
}
.management-contents01-times-wrapper {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}
.management-contents01-times-wrap {
    margin-bottom: 3%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-bottom: 4px;
    border-right: solid 1px #CCC;
}
.management-contents01-times-wrap:nth-child(4) {
    border-right: none;
}
.management-contents01-times-header {
    align-items: flex-end;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
    padding: 1.0rem 1.0rem 1.5rem;
    background-color: #F1F8E1;
}
.management-contents01-times-header-left {
    display: block;
    font-size: 1.1vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #32634B;
    margin: 0;
    padding: 0;
}
.management-contents01-times-header-left span {
    font-size: 2.2vw;
    font-family: 'Roboto', sans-serif;
}
.management-contents01-times-header-right {
    display: block;
    font-size: 1.1vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    text-align: right;
    margin: 0;
    padding: 0 0 5px;
}
.management-contents01-times-header-center {
    display: block;
    font-size: 1.2vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #32634B;
    margin: 20px 0 0;
    padding: 0;
}
dl.management-contents01-times {
    width: 95%;
    padding: 0;
    margin: 0 auto 0 5%;
}
dl.management-contents01-times dt {
    float: left;
    width: 20px;
    font-size: 16px;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    color: #000;
    text-align: left;
    line-height: 1.4;
    padding: 4px 0;
    margin: 0;
}
dl.management-contents01-times dd {
    margin-left: 20px;
    font-size: 16px;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    text-align: left;
    line-height: 1.4;
    letter-spacing: 0;
    color: #000;
    padding: 4px 0;
}
.management-contents01-times-leads {
    display: block;
    font-size: 1.5vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0 0 5%;
    padding: 2% 0 0;
}
.management-contents01-proceed-wrapper {
    display: flex;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
}
.management-contents01-proceed {
    display: flex;
    flex-direction: column;
    width: 9%;
    color: #000;
    margin: 0 0 2%;
    padding: 1% 0;
    border-left: solid 1px #CCC;
}
.management-contents01-proceed.last-child {
    border-right: solid 1px #CCC;
}
.management-contents01-proceed span.numbers {
    display: block;
    font-size: 1.3vw;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    margin: 0 auto;
    padding: 0 0 20%;
}
.management-contents01-proceed span.texts {
    display: block;
    font-size: 1.2vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0 auto;
    padding: 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.management-contents01-proceed-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.1666%;
    font-size: 1.6vw;
    margin: 0 0 2%;
    padding: 1% 0;
    border-left: solid 1px #CCC;
}


@media (max-width: 1480px){
    dl.management-contents01-times dt {
        width: 17px;
        font-size: 14px;
        padding: 2px 0;
    }
    dl.management-contents01-times dd {
        margin-left: 17px;
        font-size: 14px;
        padding: 2px 0;
    }
    .management-contents01-proceed span.numbers {
        font-size: 1.4vw;
    }
    .management-contents01-proceed span.texts {
        font-size: 1.3vw;
    }
}
@media (max-width: 1380px){
    .management-contents01-times-header-center {
        font-size: 1.1vw;
    }
    dl.management-contents01-times dt {
        width: 15px;
        font-size: 12px;
    }
    dl.management-contents01-times dd {
        margin-left: 15px;
        font-size: 12px;
    }
    .management-contents01-proceed span.numbers {
        font-size: 1.5vw;
    }
    .management-contents01-proceed span.texts {
        font-size: 1.4vw;
    }
}
@media (max-width: 1300px){
    .management-contents01-proceed span.numbers {
        font-size: 1.6vw;
    }
    .management-contents01-proceed span.texts {
        font-size: 1.5vw;
    }
}
@media (max-width: 1200px){
    .management-contents-subtitle span.subtitle-jp {
        font-size: 2.0vw;
    }
    .management-contents-subtext {
        font-size: 15px;
    }
    .management-contents01-times-wrap.second {
        border-right: none;
    }
    .management-contents01-times-header-left {
        font-size: 2.0vw;
    }
    .management-contents01-times-header-left span {
        font-size: 4.0vw;
    }
    .management-contents01-times-header-right {
        font-size: 1.8vw;
    }
    .management-contents01-times-header-center {
        font-size: 1.8vw;
    }
    dl.management-contents01-times dt {
        width: 20px;
        font-size: 16px;
    }
    dl.management-contents01-times dd {
        margin-left: 20px;
        font-size: 16px;
    }
    .management-contents01-times-leads {
        font-size: 1.8vw;
    }
    .management-contents01-proceed span.numbers {
        font-size: 1.8vw;
    }
    .management-contents01-proceed span.texts {
        font-size: 1.7vw;
    }
}
@media (max-width: 990px){
    .management-contents-wrapper {
        padding: 5% 5% 10% 5%;
    }
    .management-contents-subtitle {
        width: 80%;
        margin: 0 0 5%;
    }
    .management-contents-subtitle span.subtitle-jp {
        font-size: 2.8vw;
    }
    .management-contents-subtext {
        font-size: 16px;
        margin: 0 0 5%;
    }
    .management-contents-subtext br {
        display: none;
    }
    .management-contents01-times-wrap {
        margin-bottom: 5%;
        padding-bottom: 0;
        border-right: none;
    }
    .management-contents01-times-header {
        padding: 1.0rem 1.5rem 1.5rem;
    }
    .management-contents01-times-header-left {
        font-size: 2.8vw;
    }
    .management-contents01-times-header-left span {
        font-size: 6.0vw;
    }
    .management-contents01-times-header-right {
        font-size: 2.8vw;
    }
    .management-contents01-times-header-center {
        font-size: 2.8vw;
    }
    .management-contents01-times-leads {
        font-size: 2.4vw;
        line-height: 1.4;
        margin: 0 0 6%;
    }
    .management-contents01-proceed-wrapper {
        display: block;
        margin-bottom: 6%;
        border-top: solid 1px #CCC;
    }
    .management-contents01-proceed {
        display: flex;
        flex-direction: row;
        width: 100%;
        margin: 0;
        padding: 30px 0;
        border-left: none;
        border-bottom: solid 1px #CCC;
    }
    .management-contents01-proceed span.numbers {
        display: block;
        width: 10%;
        font-size: 2.8vw;
        margin: 0;
        padding: 0;
    }
    .management-contents01-proceed span.texts {
        display: block;
        width: 90%;
        font-size: 2.8vw;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    }
    .management-contents01-proceed-arrow {
        display: block;
        width: 100%;
        font-size: 3.0vw;
        margin: 0;
        padding: 20px 20%;
        border-left: none;
        border-bottom: solid 1px #CCC;
    }
    .management-contents01-proceed-arrow i {
        transform:rotate(90deg);
    }
    .management-contents01-proceed.last-child {
        border-right: none;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
}
@media (max-width: 499px){
    .management-contents-subtitle {
        width: 100%;
    }
    .management-contents-wrapper {
        padding: 8% 5% 12% 5%;
    }
    .management-contents-subtitle span.subtitle-jp {
        display: block;
        font-size: 4.8vw;
        line-height: 1.0;
        text-align: center;
        margin: 0 0 5px;
        padding: 10px 20px 12px;
    }
    .management-contents-subtitle span.subtitle-jp.sp {
        font-size: 4.0vw;
    }
    .management-contents-subtext {
        font-size: 15px;
        margin: 0 0 8%;
    }
    .management-contents01-times-header-left {
        font-size: 4.4vw;
    }
    .management-contents01-times-header-left span {
        font-size: 9.6vw;
    }
    .management-contents01-times-header-right {
        font-size: 4.4vw;
    }
    .management-contents01-times-header-center {
        font-size: 4.8vw;
    }
    .management-contents01-times-leads {
        font-size: 15px;
        line-height: 1.4;
        text-align: center;
        margin: 0 0 12%;
    }

    .management-contents01-proceed-wrapper {
        margin-top: 4%;
        margin-bottom: 4%;
    }
    .management-contents01-proceed {
        padding: 20px 0;
    }
    .management-contents01-proceed span.numbers {
        width: 15%;
        font-size: 5.4vw;
    }
    .management-contents01-proceed span.texts {
        width: 85%;
        font-size: 4.8vw;
        text-align: center;
    }
    .management-contents01-proceed-arrow {
        font-size: 6.0vw;
        padding: 10px 54%;
    }
}


/* --------------------------------------
	Management Contents 02
----------------------------------------*/
.management-contents-wrapper02 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 3% 5% 2% 5%;
}
.management-contents02-wrapper {
    margin-left: 0rem;
    margin-right: 0rem;
}
.management-contents02-wrap {
    margin-bottom: 1.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.management-contents02-point-wrapper {
    display: flex;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
    background-color: #FFF;
    border-radius: 10px;
    overflow: hidden;
}
.management-contents02-point-number-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 8% 0;
    background-color: #32634B;
}
.management-contents02-point-number-wrap span.point-en {
    display: block;
    font-size: 1.1vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0 0 10px;
}
.management-contents02-point-number-wrap span.point-number {
    display: block;
    font-size: 1.8vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0;
}
.management-contents02-point-text-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0 0 0 8%;
}
.management-contents02-point-text-wrap h3.point-text {
    display: block;
    font-size: 1.3vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 0;
}
.management-contents02-point-text-wrap h3.point-text.line-h14 {
    line-height: 1.2;
}
.management-contents02-point-number-wrap2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 4% 0;
    background-color: #32634B;
}
.management-contents02-point-number-wrap2 span.point-en {
    display: block;
    font-size: 1.1vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0 0 10px;
}
.management-contents02-point-number-wrap2 span.point-number {
    display: block;
    font-size: 1.8vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0;
}
.management-contents02-point-text-wrap2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 0 2% 0 4%;
}
.management-contents02-point-text-wrap2 h3.point-text2 {
    display: block;
    font-size: 1.3vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.2;
    color: #000;
    margin: 0;
    padding: 0;
}


@media (max-width: 1200px){
    .management-contents02-point-number-wrap span.point-en {
        font-size: 1.5vw;
    }
    .management-contents02-point-number-wrap span.point-number {
        font-size: 2.4vw;
    }
    .management-contents02-point-text-wrap h3.point-text {
        font-size: 1.6vw;
    }
    .management-contents02-point-number-wrap2 span.point-en {
        font-size: 1.5vw;
    }
    .management-contents02-point-number-wrap2 span.point-number {
        font-size: 2.4vw;
    }
    .management-contents02-point-text-wrap2 h3.point-text2 {
        font-size: 1.6vw;
    }
}
@media (max-width: 990px){
    .management-contents-wrapper02 {
        padding: 5% 5% 3% 5%;
    }
    .management-contents02-point-number-wrap {
        padding: 4% 0;
    }
    .management-contents02-point-number-wrap span.point-en {
        font-size: 2.0vw;
    }
    .management-contents02-point-number-wrap span.point-number {
        font-size: 4.4vw;
    }
    .management-contents02-point-text-wrap h3.point-text {
        font-size: 2.6vw;
    }
    .management-contents02-point-number-wrap2 span.point-en {
        font-size: 2.0vw;
    }
    .management-contents02-point-number-wrap2 span.point-number {
        font-size: 4.4vw;
    }
    .management-contents02-point-text-wrap2 h3.point-text2 {
        font-size: 2.6vw;
    }
}
@media (max-width: 499px){
    .management-contents-wrapper02 {
        padding: 8% 5% 3% 5%;
    }
    .management-contents02-wrap {
        margin-bottom: 1.0rem;
        padding-left: 0rem;
        padding-right: 0rem;
    }
    .management-contents02-point-number-wrap {
        padding: 10% 0;
    }
    .management-contents02-point-number-wrap span.point-en {
        font-size: 3.0vw;
        padding: 0 0 4px;
    }
    .management-contents02-point-number-wrap span.point-number {
        font-size: 6.0vw;
    }
    .management-contents02-point-text-wrap {
        padding: 0 5%;
    }
    .management-contents02-point-text-wrap h3.point-text {
        font-size: 4.8vw;
        line-height: 1.2;
    }
    .management-contents02-point-text-wrap h3.point-text br {
        display: none;
    }
    .management-contents02-point-number-wrap2 {
        padding: 10% 0;
    }
    .management-contents02-point-number-wrap2 span.point-en {
        font-size: 3.0vw;
        padding: 0 0 4px;
    }
    .management-contents02-point-number-wrap2 span.point-number {
        font-size: 6.0vw;
    }
    .management-contents02-point-text-wrap2 {
        padding: 0 5%;
    }
    .management-contents02-point-text-wrap2 h3.point-text2 {
        font-size: 4.8vw;
        line-height: 1.2;
    }
}


/* Management Btn Center
 * --------------------------------------- */
.management-llinkbutton-wrapper {
    margin-top: 3%;
}
.management-linkbutton-center {
    display: block;
    position: relative;
    width: 70%;
    height: 40px;
    text-align: center; 
    margin: 0;
    padding: 0 20px;
    background: #FFF;
    line-height: 35px;
    border: solid 2px #000;
    border-radius: 6px;
    overflow: hidden;
}
.management-linkbutton-center::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.management-linkbutton-center:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.management-linkbutton-center .text {
    display: inline-block;
    position: relative;
    font-size: 15px;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.management-linkbutton-center:hover {
    border: solid 2px #32634B;
}
.management-linkbutton-center:hover .text {
    color: #FFF;
}
.management-linkbutton-center .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 42%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.management-linkbutton-center:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}

@media (max-width: 499px){
    .management-linkbutton-center {
        width: 100%;
        height: 35px;
        line-height: 30px;
    }
}


/* --------------------------------------
	Management Slider
----------------------------------------*/
.management-slider-section {
	display: flex;
    width: 100%;
    height: auto;
	padding: 0;
}
.scroll-left {
	display: flex;
	padding: 3px 0 0;
}
.scroll-right {
	display: flex;
	padding: 0 0 3px;
}
.scroll-left li, 
.scroll-right li {
    flex: 0 0 20%;
    max-width: 20%;
    padding-left: 3px;
    padding-right: 3px;
	padding-top: 3px;
	padding-bottom: 3px;
}
.scroll-left li img, 
.scroll-right li img {
    border-radius: 8px;
    overflow: hidden;
}

@media (max-width: 990px){
    .home-slider-section {
        padding: 0 0 50px;
    }
    .scroll-left li, 
	.scroll-right li {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}
@media (max-width: 499px){
    .scroll-left {
        padding: 2px 0 0;
    }
    .scroll-right {
        padding: 0 0 2px;
    }
    .scroll-left li, .scroll-right li {
        flex: 0 0 50%;
        max-width: 50%;
        padding-left: 2px;
        padding-right: 2px;
        padding-top: 2px;
        padding-bottom: 2px;
    }
    .scroll-left li img, .scroll-right li img {
        border-radius: 4px;
    }
}


/* --------------------------------------
	Management 03
----------------------------------------*/
.management-contents-wrapper03 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 4% 5% 4% 5%;
}
.management-consultant-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}
.management-consultant-toptext-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-bottom: solid 1px #CCC;
}
.management-consultant-toptext {
    display: block;
    font-size: 1.2vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    text-align: left;
    margin: 0;
    padding: 0;
}
.management-consultant-imgtext-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.0rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-bottom: solid 1px #CCC;
    border-right: solid 1px #CCC;
}
.management-consultant-imgtext-wrap.right-wrap {
    border-right: none;
}
.management-consultant-imgtext-wrap img {
    border-radius: 10px;
    overflow: hidden;
}
.management-consultant-imgtext {
    display: block;
    font-size: 1.0vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0;
    padding: 1.0rem 0 0;
}
.management-consultant-imgtext span {
    display: block;
    font-size: 0.9vw;
}


@media (max-width: 1200px){
    .management-consultant-toptext {
        font-size: 1.6vw;
    }
    .management-consultant-imgtext-wrap {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        padding-left: 1.0rem;
        padding-right: 1.0rem;
    }
    .management-consultant-imgtext {
        font-size: 1.5vw;
    }
    .management-consultant-imgtext span {
        font-size: 1.2vw;
    }
}
@media (max-width: 990px){
    .management-consultant-toptext-wrap {
        display: block;
        padding-top: 0rem;
        padding-bottom: 6%;
        padding-left: 1.0rem;
    }
    .management-consultant-toptext {
        font-size: 2.4vw;
    }
    .management-consultant-imgtext {
        font-size: 2.4vw;
    }
    .management-consultant-imgtext span {
        font-size: 2.2vw;
    }
    .management-consultant-imgtext-wrap.tb4 {
        border-right: none;
    }
}
@media (max-width: 499px){
    .management-contents-wrapper03 {
        padding: 7% 5% 7% 5%;
    }
    .management-consultant-toptext {
        font-size: 16px;
    }
    .management-consultant-toptext br {
        display: none;
    }
    .management-consultant-imgtext-wrap {
        border-right: none;
    }
    .management-consultant-imgtext {
        font-size: 4.8vw;
    }
    .management-consultant-imgtext span {
        font-size: 4.0vw;
    }
}


.management-consultant-subtitle03 {
    display: block;
    width: 50%;
    margin: 4% 0 4%;
    padding: 0;
}
.management-consultant-subtitle03 span.subtitle-jp03 {
    display: inline-block;
    font-size: 1.6vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #FFF;
    margin: 0 0 10px;
    padding: 10px 20px 14px;
    background-color: #32634B;
    border-radius: 30px;
}
.management-consultant-difference-wrapper {
    padding-left: 4%;
    padding-right: 4%;
}
.management-consultant-difference-subtitle-wrapper {
    display: flex;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 3%;
}
.management-consultant-difference-subtitle {
    display: inline-block;
    width: auto;
    font-size: 1.5vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #FFF;
    margin: 0;
    padding: 10px 3% 12px;
    background-color: #32634B;
}
.management-consultant-difference-subtitle.bg-red {
    background-color: #e60202;
}
.management-consultant-difference-subtext {
    display: flex;
    align-items: center;
    width: auto;
    margin: 0;
    padding: 0 0 0 20px;
}
.management-consultant-difference-subtext span.subtext-jp03 {
    display: block;
    font-size: 1.5vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 0;
}
.management-consultant-difference-subtext span.subtext-jp03 br {
    display: none;
}
.management-consultant-difference-subtext span.subtext-jp032 {
    display: block;
    font-size: 3.0vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #32634B;
    margin: 0;
    padding: 0;
}
.management-consultant-difference-subtext span.subtext-jp032.text-red {
    color: #e60202;
}
.management-consultant-difference-wrap {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 6%;
}
.management-consultant-fintext-wrap {
    position: absolute;
    left: 0;
    top: 42%;
    bottom: 0;
    width: 37%;
    display: flex;
    align-items: center;
    font-size: 1.25vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.6;
    color: #000;
    text-align: left;
    margin: 0;
    padding: 3% 3%;
    background-color: #FFEFEF;
    border-radius: 10px;
}
.management-consultant-chart-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 4% 2%;
    background-color: #F0F0F0;
    border-radius: 10px;
}
.management-consultant-chart-left .chart-left-text {
    display: block;
    font-size: 1.3vw;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 10px 0 0;
}
.management-consultant-chart-arrow1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 6.0vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 20% 0 0;
}
.management-consultant-chart-arrow1 .chart-arrow-text-red {
    display: block;
    font-size: 1.8vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 5px 0 0;
}
.management-consultant-chart-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%;
    margin: 0 15% 0 0;
    padding: 5% 2%;
    background-color: #F1F8E1;
    border-radius: 10px;
}
.management-consultant-chart-center .chart-center-text {
    display: block;
    font-size: 1.3vw;
    font-weight: 500;
    line-height: 1.0;
    color: #FFF;
    margin: 7% 0 7%;
    padding: 10px 15px 12px;
    background-color: #32634B;
    border-radius: 8px;
}
.management-consultant-chart-center .chart-center-list {
    display: block;
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.management-consultant-chart-center .chart-center-list li {
    display: block;
    font-size: 1.3vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #32634B;
    margin: 0;
    padding: 8px 0px;
}
.management-consultant-chart-arrow2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 3.6vw;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 40% 0 35%;
}
.management-consultant-chart-arrow2 .chart-arrow-text-bk {
    display: block;
    font-size: 1.0vw;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 5px 0 0;
}

.management-consultant-chart-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 15px 0 0;
}
.management-consultant-chart-right img {
    width: 60%;
    margin: 0 auto;
}
.management-consultant-chart-right .chart-right-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 8px 0 0;
}
.management-consultant-chart-right .chart-right-text br {
    display: none;
}
.management-consultant-chart-arrow11 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 8.4vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 0 0 0;
}
.management-consultant-chart-arrow11 .chart-arrow-text-red11 {
    display: block;
    font-size: 2.4vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 5px 0 0;
}
.management-consultant-chart-arrow12 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 3.6vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 40% 0 35%;
}
.management-consultant-chart-arrow12 .chart-arrow-text-red12 {
    display: block;
    font-size: 1.1vw;
    font-weight: 600;
    line-height: 1.0;
    color: #e60202;
    margin: 0;
    padding: 5px 0 0;
}
.management-consultant-fintext-wrap2 {
    position: absolute;
    left: 0;
    top: 45%;
    bottom: 2%;
    width: 68%;
    display: flex;
    align-items: center;
    font-size: 1.35vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.8;
    color: #000;
    text-align: left;
    margin: 0;
    padding: 3% 4%;
    background-color: #FFEFEF;
    border-radius: 10px;
}
.management-consultant-difference-subtitle.bg-black {
    display: inline-block;
    width: auto;
    font-size: 1.5vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #FFF;
    margin: 0 5%;
    padding: 10px 3% 12px;
    background-color: #32634B;
}
.management-consultant-kobanashi-left1 {
    display: flex;
    justify-content: center;
    text-align: center;
    margin: 0;
    padding: 0;
}
.management-consultant-kobanashi-left1 img {
    width: 70%;
    margin: 0 auto;
}
.management-consultant-kobanashi-text {
    position: relative;
    width: 100%;
    display: block;
    font-size: 1.2vw;
    font-weight: 500;
    font-family: "Noto Sans JP", serif;
    line-height: 1.8;
    color: #000;
    text-align: left;
    margin: 0 0 3%;
    padding: 3% 5%;
    background-color: #F0F0F0;
    border-radius: 10px;
}
.management-consultant-kobanashi-text .subt-text {
    display: block;
    font-size: 1.3vw;
    font-weight: 600;
    padding: 0 0 5px;
}
.management-consultant-kobanashi-text:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -40px;
    margin-top: -20px;
    border: 20px solid transparent;
    border-right: 20px solid #F0F0F0;
}
.management-consultant-kobanashi-left2 {
    display: flex;
    justify-content: center;
    text-align: center;
    margin: 0;
    padding: 0;
}
.management-consultant-kobanashi-left2 img {
    width: 60%;
    margin: 0 auto;
}


@media (max-width: 1480px){
    .management-consultant-difference-subtitle {
        padding: 10px 2.4% 12px;
    }
}
@media (max-width: 1200px){
    .management-consultant-subtitle03 span.subtitle-jp03 {
        font-size: 2.0vw;
    }
    .management-consultant-difference-subtitle {
        font-size: 1.8vw;
    }
    .management-consultant-difference-subtext span.subtext-jp03 {
        font-size: 1.8vw;
    }
    .management-consultant-difference-subtext span.subtext-jp032 {
        font-size: 4.8vw;
    }
    .management-consultant-difference-subtext span.subtext-jp032.text-red {
        font-size: 4.2vw;
    }
    .management-consultant-chart-left .chart-left-text {
        font-size: 1.6vw;
    }
    .management-consultant-chart-center .chart-center-text {
        font-size: 1.6vw;
    }
    .management-consultant-chart-center .chart-center-list li {
        font-size: 1.6vw;
    }
    .management-consultant-chart-arrow2 {
        font-size: 4.8vw;
        padding: 40% 0 35%;
    }
    .management-consultant-chart-arrow2 .chart-arrow-text-bk {
        font-size: 1.4vw;
    }
    .management-consultant-fintext-wrap {
        font-size: 1.5vw;
    }
    .management-consultant-chart-arrow12 {
        font-size: 4.8vw;
        padding: 40% 0 35%;
    }
    .management-consultant-chart-arrow12 .chart-arrow-text-red12 {
        font-size: 1.4vw;
    }
    .management-consultant-chart-arrow11 {
        font-size: 9.6vw;
    }
    .management-consultant-chart-arrow11 .chart-arrow-text-red11 {
        font-size: 3.0vw;
    }
    .management-consultant-fintext-wrap2 {
        font-size: 1.8vw;
    }
    .management-consultant-difference-subtitle.bg-black {
        font-size: 1.8vw;
    }
    .management-consultant-kobanashi-text {
        font-size: 1.6vw;
    }
    .management-consultant-kobanashi-text .subt-text {
        font-size: 1.8vw;
    }
}
@media (max-width: 990px){
    .management-consultant-subtitle03 {
        width: 100%;
        margin: 7% 0 5%;
    }
    .management-consultant-subtitle03 span.subtitle-jp03 {
        font-size: 2.8vw;
    }
    .management-consultant-difference-wrapper {
        padding-left: 0%;
        padding-right: 0%;
    }
    .management-consultant-difference-subtitle {
        font-size: 3.0vw;
    }
    .management-consultant-difference-subtext {
        padding: 10px 0 0 0;
    }
    .management-consultant-difference-subtext span.subtext-jp03 {
        font-size: 3.0vw;
    }
    .management-consultant-difference-subtext span.subtext-jp032 {
        font-size: 6.0vw;
    }
    .management-consultant-chart-left {
        border-radius: 20px;
    }
    .management-consultant-chart-left .chart-left-text {
        font-size: 3.6vw;
        font-family: "Noto Sans JP", serif;
        padding: 20px 0 0;
    }
    .management-consultant-chart-arrow1 {
        font-size: 15.0vw;
        padding: 5% 0;
    }
    .management-consultant-chart-arrow1 i {
        transform:rotate(90deg); 
    }
    .management-consultant-chart-arrow1 .chart-arrow-text-red {
        font-size: 3.6vw;
        padding: 10px 0 0;
    }
    .management-consultant-chart-center {
        height: auto;
        margin: 0;
        padding: 5% 2%;
        border-radius: 20px;
    }
    .management-consultant-chart-center .chart-center-text {
        font-size: 3.6vw;
        font-family: "Noto Sans JP", serif;
        margin: 4% 0 4%;
    }
    .management-consultant-chart-center .chart-center-list {
        display: flex;
        justify-content: center;
    }
    .management-consultant-chart-center .chart-center-list li {
        font-size: 3.0vw;
        padding: 8px 10px;
    }
    .management-tb4arrow {
        display: flex;
    }
    .management-consultant-chart-arrow2 {
        width: 25%;
        font-size: 12.0vw;
        padding: 5% 0;
    }
    .management-consultant-chart-arrow2 i {
        transform:rotate(90deg); 
    }
    .management-consultant-chart-arrow2 .chart-arrow-text-bk {
        font-size: 2.4vw;
    }
    .management-tb4const {
        display: flex;
    }
    .management-consultant-chart-right {
        width: 25%;
        text-align: center;
        padding: 0;
    }
    .management-consultant-chart-right .chart-right-text {
        font-size: 2.4vw;
        padding: 8px 0 0;
    }
    .management-consultant-fintext-wrap {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        font-size: 3.0vw;
        margin: 5% auto;
        padding: 3% 4%;
        border-radius: 20px;
    }
    .management-consultant-fintext-wrap br {
        display: none;
    }
    .management-consultant-difference-subtext span.subtext-jp032.text-red {
        font-size: 4.8vw;
    }
    .management-consultant-chart-arrow11 {
        font-size: 24.0vw;
        padding: 5% 0;
    }
    .management-consultant-chart-arrow11 i {
        transform:rotate(90deg); 
    }
    .management-consultant-chart-arrow11 .chart-arrow-text-red11 {
        font-size: 4.8vw;
        padding: 10px 0 0;
    }
    .management-consultant-chart-arrow12 {
        width: 25%;
        font-size: 12.0vw;
        padding: 5% 0;
    }
    .management-consultant-chart-arrow12 i {
        transform:rotate(90deg); 
    }
    .management-consultant-chart-arrow12 .chart-arrow-text-red12 {
        font-size: 2.4vw;
    }
    .management-consultant-chart-right {
        width: 25%;
        text-align: center;
        padding: 0;
    }
    .management-consultant-chart-right .chart-right-text {
        font-size: 2.4vw;
        padding: 8px 0 0;
    }
    .management-consultant-fintext-wrap2 {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        font-size: 3.0vw;
        margin: 5% auto;
        padding: 3% 4%;
        border-radius: 20px;
    }
    .management-consultant-difference-subtitle.bg-black {
        font-size: 3.0vw;
        margin: 0 0 10px;
    }
    .management-consultant-kobanashi-text {
        font-size: 16px;
    }
    .management-consultant-kobanashi-text .subt-text {
        font-size: 18px;
    }
    .management-consultant-kobanashi-text:before {
        top: 30%;
    }
}
@media (max-width: 499px){
    .management-consultant-subtitle03 {
        width: 100%;
        margin: 10% 0 7%;
    }
    .management-consultant-subtitle03 span.subtitle-jp03 {
        display: block;
        font-size: 4.8vw;
        text-align: center;
        margin: 0 0 10px;
        padding: 10px 20px 12px;
    }
    .management-consultant-difference-subtitle-wrapper {
        display: block;
        text-align: center;
        margin-bottom: 5%;
    }
    .management-consultant-difference-subtitle {
        font-size: 4.4vw;
    }
    .management-consultant-difference-subtext {
        display: block;
        padding: 20px 0 0 0;
    }
    .management-consultant-difference-subtext span.subtext-jp03 {
        font-size: 4.8vw;
        line-height: 1.3;
    }
    .management-consultant-difference-subtext span.subtext-jp03 br {
        display: block;
    }
    .management-consultant-difference-subtext span.subtext-jp032 {
        font-size: 12.0vw;
        padding: 10px 0 10px 0;
    }
    .management-consultant-chart-left .chart-left-text {
        font-size: 4.8vw;
    }
    .management-consultant-chart-arrow1 {
        font-size: 18.0vw;
        padding: 5% 0;
    }
    .management-consultant-chart-arrow1 .chart-arrow-text-red {
        font-size: 4.8vw;
    }
    .management-consultant-chart-center .chart-center-text {
        font-size: 5.4vw;
    }
    .management-consultant-chart-center .chart-center-list {
        display: block;
    }
    .management-consultant-chart-center .chart-center-list li {
        font-size: 4.8vw;
    }
    .management-consultant-chart-arrow2 .chart-arrow-text-bk {
        font-size: 4.0vw;
    }
    .management-consultant-chart-right img {
        width: 80%;
    }
    .management-consultant-chart-right .chart-right-text {
        font-size: 4.0vw;
        line-height: 1.2;
    }
    .management-consultant-chart-right .chart-right-text br {
        display: block;
    }
    .management-consultant-fintext-wrap {
        font-size: 16px;
        margin: 7% auto;
        padding: 5% 5%;
    }
    .management-consultant-difference-subtext span.subtext-jp032.text-red {
        font-size: 9.6vw;
    }
    .management-consultant-chart-arrow11 .chart-arrow-text-red11 {
        font-size: 6.0vw;
    }
    .management-consultant-chart-arrow12 .chart-arrow-text-red12 {
        font-size: 4.0vw;
    }
    .management-consultant-fintext-wrap2 {
        font-size: 16px;
        margin: 7% auto;
        padding: 5% 5%;
    }
    .management-consultant-difference-subtitle.bg-black {
        font-size: 4.8vw;
        margin: 0 0 10px;
    }
    .management-consultant-kobanashi-left1 img {
        width: 50%;
        margin: 20px auto 30px;
    }
    .management-consultant-kobanashi-text:before {
        top: -40px;
        left: 50%;
        margin-top: 0;
        margin-left: -20px;
        transform:rotate(90deg);  
    }
    .management-consultant-kobanashi-left2 img {
        width: 50%;
        margin: 20px auto 30px;
    }
}


/* --------------------------------------
	Management 04
----------------------------------------*/
.management-contents-wrapper04 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 3% 0 2%;
}
.card04 {
    overflow: hidden;
}
.card04 .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem 10rem 5rem;
}
.card04 .swiper {
  overflow: visible;
}
.card04 .swiper-wrapper {
    display: flex;
    align-items: stretch;
}
.card04 .swiper-slide {
  display: flex;
  flex-direction: column;
  /* 高さを100%にして親の高さに合わせる */
  height: auto;
}
.card04 .swiper-button-prev, 
.card04 .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
    display: grid;
    place-content: center;
    width: 80px;
    height: 80px;
    cursor: pointer;
    transition: 0.2s ease-in-out;
}
.card04 .swiper-button-prev {
    right: calc(100% - 20px);
}
.card04 .swiper-button-next {
    left: calc(100% - 20px);
}
.card04 .swiper-button-prev::before, 
.card04 .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background-color: rgba(50, 99, 75, 0.9);
    border-radius: 50%;
    transition: 0.2s ease-in-out;
}
.swiper-button-prev:hover::before, 
.swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.card04 .swiper-button-prev::after, 
.card04 .swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid #ddd;
    border-width: 3px 3px 0 0;
    border-color: #fff;
}
.swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.card04 .slide {
  overflow: hidden;
  -webkit-transition: .8s cubic-bezier(.2, 1, .2, 1), opacity 1s;
  transition: .8s cubic-bezier(.2, 1, .2, 1), opacity 1s;
  padding: 3.0rem;
  height: 100%;
  background-color: #FFF;
  border-radius: 16px;
}
.card04 .slide-texts-wrapper {
    padding-left: 0;
    padding-right: 0;
}
.card04 .slide-construction-title {
    display: block;
    font-size: 30px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}
.card04 .slide-construction-title span {
    display: block;
    width: 80px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    color: #FFF;
    margin: 0 0 5px;
    padding: 6px 0;
    background-color: #32634B;
}
.card04 .slide-apartment-name {
    display: block;
    font-size: 24px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0 0 20px;
    padding: 0;
}
.card04 .slide-title {
    display: block;
    font-size: 24px;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0 0 20px;
    padding: 0;
}
.card04 .slide-text {
    display: block;
    font-size: 17px;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.6;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}
.card04 .slide-apartment-img-wrapper {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}
.card04 .slide-apartment-img-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding-top: 0;
    padding-bottom: 1.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.card04 .slide-apartment-img-wrap img {
    border-radius: 10px;
    overflow: hidden;
}
.card04 .slide-apartment-img-wrap span {
    display: block;
    font-size: 1.1vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 15px 0 0;
}
.card04 .swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 0.3;
}
.card04 .swiper-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.2rem 0.8rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    margin-top: 2.0rem;
    text-align: center;
}
.card04 .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    cursor: pointer;
    -webkit-transition: .8s cubic-bezier(.2, 1, .2, 1);
    transition: .8s cubic-bezier(.2, 1, .2, 1);
    vertical-align: top;
    background-color: #CCC;
}
.card04 .swiper-pagination-bullet-active {
    width: 16px;
    height: 16px;
    background-color: #32634B;
}


@media (max-width: 1480px){
    .card04 .slide-construction-title {
        font-size: 24px;
    }
    .card04 .slide-apartment-name {
        font-size: 20px;
    }
    .card04 .slide-title {
        font-size: 20px;
    }
    .card04 .slide-text {
        font-size: 16px;
    }
    .card04 .slide-apartment-img-wrap span {
        font-size: 1.2vw;
    }
}
@media (max-width: 1380px){
    .card04 .slide-apartment-img-wrap span {
        font-size: 1.3vw;
    }
}
@media (max-width: 1300px){
    .card04 .slide-apartment-img-wrap span {
        font-size: 1.4vw;
    }
}
@media (max-width: 1200px){
    .card04 .slide-apartment-img-wrap span {
        font-size: 1.8vw;
    }
}
@media (max-width: 990px){
    .card04 .l-inner {
        padding: 2rem 5rem 5rem;
    }
    .card04 .slide {
        padding: 2.0rem;
        border-radius: 20px;
    }
    .card04 .slide-apartment-img-wrap span {
        font-size: 2.4vw;
    }
}
@media (max-width: 499px){
    .card04 .l-inner {
        padding: 2rem 0rem 3rem;
    }
    .card04 .slide-construction-title span {
        margin: 0 0 10px;
    }
    .card04 .slide-construction-title {
        font-size: 20px;
        margin: 0 0 20px;
    }
    .card04 .slide-apartment-name {
        font-size: 18px;
        margin: 0 0 20px;
    }
    .card04 .slide-title {
        font-size: 18px;
        margin: 0 0 10px;
    }
    .card04 .slide-text {
        font-size: 15px;
    }
    .card04 .slide-apartment-img-wrap span {
        font-size: 4.4vw;
    }
    .card04 .swiper-button-prev, 
    .card04 .swiper-button-next {
        width: 40px;
        height: 40px;
    }
    .card04 .swiper-button-next {
        left: calc(100% - 40px);
    }
    .card04 .swiper-button-prev {
        right: calc(100% - 40px);
    }
    .card04 .swiper-button-prev::after, 
    .card04 .swiper-button-next::after {
        width: 0.8rem;
        height: 0.8rem;
    }
    .swiper-button-next::after {
        margin-right: 0.3rem;
    }
    .swiper-button-prev::after {
        margin-left: 0.3rem;
    }
}


/* --------------------------------------
	Management 05
----------------------------------------*/
.management-contents05-toptext {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.6;
    color: #000;
    margin: 0 0 4%;
    padding: 0;
}
.management-contents05-subtitle {
    display: block;
    font-size: 1.4vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0 0 3%;
    padding: 0;
}
.management-contents05-costs-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1.0rem;
    margin-right: -1.0rem;
}
.management-contents05-costs-wrap {
    padding-left: 1.0rem;
    padding-right: 1.0rem;
    margin: 0 0 1.0rem;
}
.management-contents05-costs {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
    font-size: 1.4vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #000;
    margin: 0;
    padding: 1.5rem 0;
    background-color: #F0F0F0;
    border-radius: 10px;
}
.management-contents05-costs br {
    display: none;
}


@media (max-width: 1200px){
    .management-contents05-toptext {
        font-size: 1.5vw;
    }
    .management-contents05-subtitle {
        font-size: 2.0vw;
    }
    .management-contents05-costs {
        font-size: 1.7vw;
    }
}
@media (max-width: 990px){
    .management-contents05-toptext {
        font-size: 16px;
        margin: 0 0 5%;
    }
    .management-contents05-subtitle {
        font-size: 2.6vw;
        margin: 0 0 4%;
    }
    .management-contents05-costs {
        font-size: 2.6vw;
    }
}
@media (max-width: 499px){
    .management-contents05-toptext {
        font-size: 16px;
        margin: 0 0 7%;
    }
    .management-contents05-toptext br {
        display: none;
    }
    .management-contents05-subtitle {
        font-size: 4.8vw;
        margin: 0 0 5%;
        text-align: center;
    }
    .management-contents05-costs {
        font-size: 4.8vw;
        line-height: 1.4;
        text-align: center;
    }
    .management-contents05-costs br {
        display: block;
    }
}


/* Btn Center 100%
 * --------------------------------------- */
.llinkbutton-wrapper-100 {
    margin-top: 30px;
    margin-bottom: 20px;
}
.linkbutton-center-100 {
    display: block;
    position: relative;
    width: 100%;
    height: 60px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    background: #FFF;
    line-height: 52px;
    border: solid 2px #000;
    border-radius: 6px;
    overflow: hidden;
}
.linkbutton-center-100::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.linkbutton-center-100:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.linkbutton-center-100 .text {
    display: inline-block;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    font-family: "Noto Sans JP", serif;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100:hover {
    border: solid 2px #32634B;
}
.linkbutton-center-100:hover .text {
    color: #FFF;
}
.linkbutton-center-100 .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 45%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.linkbutton-center-100:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}


@media (max-width: 499px){
    .llinkbutton-wrapper-100 {
        margin-top: 20px;
    }
}


/* --------------------------------------
	Management 06
----------------------------------------*/
.management-contents06-wrapper {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 4% 5% 2% 5%;
}
.management-contents06-wrap {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 5%;
}
.management-contents06-step-wrapper {
    display: flex;
    margin-left: 0;
    margin-right: 0;
}
.management-contents06-step-number-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    margin: 0;
    padding: 0;
    background-color: #32634B;
}
.management-contents06-step-number-wrap span.step-en {
    display: block;
    font-size: 1.1vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0 0 4px;
}
.management-contents06-step-number-wrap span.step-number {
    display: block;
    font-size: 3.0vw;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 1.0;
    color: #FFF;
    margin: 0 auto;
    padding: 0;
}
.management-contents06-step-text-wrap {
    display: block;
    margin: 0;
    padding: 0 0 0 4%;
}
.management-contents06-step-text-wrap .step-title {
    display: inline-block;
    font-size: 1.5vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0 0 1.5%;
    padding: 0 20px 0 0;
}
.management-contents06-step-text-wrap .tooltip-red {
    position: relative;
    display: inline-block;
    font-size: 1.2vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.0;
    color: #FFF;
    margin: -10px 0 0 0;
    padding: 8px 10px;
    background-color: #bc1d28;
    border-radius: 4px;
}
.management-contents06-step-text-wrap .tooltip-red:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  margin-top: -10px;
  border: 10px solid transparent;
  border-right: 10px solid #bc1d28;
}
.management-contents06-step-text-wrap .step-subtitle {
    position: relative;
    display: block;
    font-size: 1.3vw;
    font-weight: 600;
    font-family: "Noto Sans JP", serif;
    line-height: 1.4;
    color: #000;
    margin: 0 0 1.5%;
    padding: 0;
}
.management-contents06-step-text-wrap .step-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.5;
    color: #333333;
    margin: 0;
    padding: 0;
}
.management-contents06-step-text-wrap .step-top-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    line-height: 1.5;
    color: #333333;
    margin: 0 0 2%;
    padding: 0;
}
.llinkbutton-wrapper-10 {
    margin-top: 3%;
    margin-bottom: 3%;
}


@media (max-width: 1480px){
    .management-contents06-step-number-wrap {
        width: 100px;
        height: 100px;
    }
}
@media (max-width: 1200px){
    .management-contents06-step-number-wrap span.step-en {
        font-size: 1.6vw;
    }
    .management-contents06-step-number-wrap span.step-number {
        font-size: 4.0vw;
    }
    .management-contents06-step-text-wrap .step-title {
        font-size: 2.0vw;
    }
    .management-contents06-step-text-wrap .step-text {
        font-size: 1.5vw;
    }
    .management-contents06-step-text-wrap .step-top-text {
        font-size: 1.5vw;
    }
    .management-contents06-step-text-wrap .step-subtitle {
        font-size: 1.8vw;
    }
}
@media (max-width: 990px){
    .management-contents06-wrapper {
        padding: 5% 5% 3% 5%;
    }
    .management-contents06-step-number-wrap {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: auto;
        text-align: center;
        margin: 0 0 3%;
        padding: 10px 0;
        border-radius: 10px;
    }
    .management-contents06-step-number-wrap span.step-en {
        font-size: 2.4vw;
        margin: 0;
        padding: 0;
    }
    .management-contents06-step-number-wrap span.step-number {
        font-size: 6.0vw;
        margin: 0;
        padding: 0 0 0 10px;
    }
    .management-contents06-step-text-wrap {
        padding: 0 3%;
    }
    .management-contents06-step-text-wrap .step-title {
        font-size: 3.0vw;
    }.management-contents06-step-text-wrap .tooltip-red {
        font-size: 2.4vw;
    }
    .management-contents06-step-text-wrap .step-text {
        font-size: 16px;
    }
    .management-contents06-step-text-wrap .step-top-text {
        font-size: 16px;
    }
    .management-contents06-step-text-wrap .step-subtitle {
        font-size: 2.6vw;
    }
}
@media (max-width: 499px){
    .management-contents06-wrapper {
        padding: 7% 5% 5% 5%;
    }
    .management-contents06-step-number-wrap {
        margin: 0 0 4%;
        padding: 10px 0 7px;
        border-radius: 8px;
    }
    .management-contents06-step-number-wrap span.step-en {
        font-size: 4.4vw;
    }
    .management-contents06-step-number-wrap span.step-number {
        font-size: 8.4vw;
    }
    .management-contents06-wrap {
        margin-bottom: 7%;
    }
    .management-contents06-step-text-wrap .step-title {
        font-size: 5.0vw;
        margin: 0 0 10px;
    }
    .management-contents06-step-text-wrap .tooltip-red {
        font-size: 4.0vw;
        margin: 0 0 10px;
    }
    .management-contents06-step-text-wrap .tooltip-red:before {
        top: -20px;
        left: 50%;
        margin-top: 0;
        margin-left: -10px;
         transform:rotate(90deg); 
    }
    .llinkbutton-wrapper-10 {
        margin-top: 5%;
        margin-bottom: 5%;
    }
    .linkbutton-center-100 {
        text-align: left;
    }
    .linkbutton-center-100 .text {
        font-size: 14px;
    }
    .management-contents06-step-text-wrap .step-subtitle {
        font-size: 4.4vw;
        margin: 20px 0 10px;
    }
    .management-contents06-step-text-wrap .step-text {
        font-size: 15px;
    }
    .management-contents06-step-text-wrap .step-text br {
        display: none;
    }
}



/* ------------------------------------------------------------------
Coming Soon Page comingsoon.html
------------------------------------------------------------------- */
.comingsoon-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    background-color: #FFF;
}
.comingsoon-contents-section {
    display: block;
    width: 36%;
    text-align: center;
    margin: 0;
    padding: 3% 4%;
    background-color: #F9F9F6;
    border-radius: 10px;
}
.comingsoon-contents-section .comingsoon-title {
    display: block;
    font-size: 6.6vw;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    line-height: 0.9;
    color: #32634B;
    margin: 0;
    padding: 0 0 30px;
}
.comingsoon-contents-section .comingsoon-text {
    display: block;
    font-size: 1.0vw;
    font-family: "Noto Sans JP", serif;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    color: #32634B;
    margin: 0;
    padding: 0;
}

.comingsoon-contents-section .comingsoon-text2 {
    display: block;
    font-size: 1.0vw;
    font-family: "Noto Sans JP", serif;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    color: #32634B;
    margin: 0;
    padding: 10px 0 20px;
}

.comingsoon-contents-section .comingsoon-tel-wrap {
    display: block;
    margin: 0;
    padding: 0;
    text-align: center;
}
.comingsoon-contents-section .comingsoon-tel-wrap a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6vw;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    line-height: 1.0;
    letter-spacing: 0;
    color: #32634B;
    margin: 0 0 15px;
    padding: 0;
}
.comingsoon-contents-section .comingsoon-tel-wrap a span {
    display: inline-block;
    font-size: 1.1vw;
    font-family: "Noto Sans JP", serif;
    padding: 0 20px 0 0;
}

.comingsoon-contents-section .comingsoon-mail-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6vw;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    line-height: 1.0;
    letter-spacing: 0;
    color: #32634B;
    margin: 0;
    padding: 0;
}
.comingsoon-contents-section .comingsoon-mail-wrap span {
    display: inline-block;
    font-size: 1.1vw;
    font-family: "Noto Sans JP", serif;
    padding: 0 20px 0 0;
}

@media (max-width: 1480px){
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 1.1vw;
    }
}
@media (max-width: 1380px){
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 1.15vw;
    }
}
@media (max-width: 1300px){
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 1.2vw;
    }
}
@media (max-width: 1200px){
    .comingsoon-contents-section .comingsoon-title {
        font-size: 7.2vw;
    }
    .comingsoon-contents-section .comingsoon-text {
        font-size: 16px;
    }
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 15px;
    }
    .comingsoon-contents-section .comingsoon-tel-wrap a {
        font-size: 2.2vw;
    }
    .comingsoon-contents-section .comingsoon-tel-wrap a span {
        font-size: 15px;
    }
    .comingsoon-contents-section .comingsoon-mail-wrap {
        font-size: 2.2vw;
    }
    .comingsoon-contents-section .comingsoon-mail-wrap span {
        font-size: 15px;
    }
}
@media (max-width: 990px){
    .comingsoon-contents-section {
        width: 50%;
    }
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 2.0vw;
    }
    .comingsoon-contents-section .comingsoon-tel-wrap a {
        font-size: 3.0vw;
    }
    .comingsoon-contents-section .comingsoon-tel-wrap a span {
        font-size: 16px;
    }
    .comingsoon-contents-section .comingsoon-mail-wrap {
        font-size: 3.0vw;
    }
    .comingsoon-contents-section .comingsoon-mail-wrap span {
        font-size: 16px;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .comingsoon-section {
        height: 180vh;
    }
}
@media (max-width: 749px){
    .comingsoon-section {
        height: 180vh;
    }
}
@media (max-width: 499px){
    .comingsoon-section {
        height: 100vh;
    }
    .comingsoon-contents-section {
        width: 80%;
        padding: 5% 5% 6%;
    }
    .comingsoon-contents-section .comingsoon-title {
        font-size: 9.6vw;
        padding: 0 0 20px;
    }
    .comingsoon-contents-section .comingsoon-text2 {
        font-size: 3.6vw;
    }
    .comingsoon-contents-section .comingsoon-tel-wrap a {
        font-size: 5.4vw;
    }
    .comingsoon-contents-section .comingsoon-mail-wrap {
        font-size: 5.4vw;
    }
}


/* ------------------------------------------------------------------
404 Not Found Page 404error.html
------------------------------------------------------------------- */
.notfound-contents-section {
    display: block;
    width: 60%;
    text-align: center;
    margin: 0;
    padding: 3% 3%;
    background-color: #F9F9F6;
    border-radius: 10px;
}
.notfound-contents-section .notfound-title {
    display: block;
    font-size: 3.0vw;
    font-family: "Noto Sans JP", serif;
    font-weight: 900;
    line-height: 0.9;
    color: #32634B;
    margin: 0;
    padding: 0 0 30px;
}
.notfound-contents-section .notfound-text {
    display: block;
    font-size: 1.0vw;
    font-family: "Noto Sans JP", serif;
    font-weight: 400;
    line-height: 1.4;
    color: #32634B;
    margin: 0;
    padding: 0;
}

@media (max-width: 1480px){
    .notfound-contents-section {
        width: 66%;
    }
    .notfound-contents-section .notfound-text {
        font-size: 1.1vw;
    }
}
@media (max-width: 1380px){
    .notfound-contents-section {
        width: 70%;
    }
    .notfound-contents-section .notfound-text {
        font-size: 1.2vw;
    }
}
@media (max-width: 1200px){
    .notfound-contents-section .notfound-text {
        font-size: 1.4vw;
    }
}
@media (max-width: 990px){
    .notfound-contents-section {
        width: 80%;
    }
    .notfound-contents-section .notfound-title {
        font-size: 4.8vw;
    }
    .notfound-contents-section .notfound-text {
        font-size: 16px;
        text-align: left;
    }
    .notfound-contents-section .notfound-text br {
        display: none;
    }
}
@media (max-width: 499px){
    .notfound-contents-section {
        width: 90%;
        padding: 5% 6%;
    }
    .notfound-contents-section .notfound-title {
        font-size: 5.4vw;
        padding: 0 0 20px;
    }
    .notfound-contents-section .notfound-text {
        font-size: 15px;
    }
}



/* ------------------------------------------------------------------
下層ページ Header
------------------------------------------------------------------- */
.second-header-section {
    position: relative;
    width: 100%;
    height: 50vh;
    margin: 0;
    padding: 0;
}

/* -- 会社情報 company.html background-image -- */
.second-header-section.company {
    background-image: url(../img/second-hero-company-bg.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}


/* -- 分譲マンション大規模修繕コンサルティング about.html background-image -- */
.second-header-section.about {
    background-image: url(../img/second-hero-about-bg.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* -- マンション大規模修繕コンサルティングサービス background-image -- */
.second-header-section.s1,
.second-header-section.s2,
.second-header-section.s3,
.second-header-section.s4,
.second-header-section.virent,
.second-header-section.s6 {
    background-image: url(../img/second-hero-s1-bg.png);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* -- 分譲マンション再生コンサルティング tatekae-consulting.html background-image -- */
.second-header-section.tatekae {
    background-image: url(../img/second-hero-tatekae-bg.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.second-title-wrapper {
    display: flex;
    align-items: center;
    width: 90%;
    height: 100%;
    margin: 0 0 0 5%;
    padding: 0;
}
.second-title-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.second-title-wrap .second-title-copy-wrap {
    display: block;
    margin: 0 0 15px;
    padding: 0;
}
.second-title-wrap .second-title-copy-wrap .second-title-copy {
    display: inline-block;
    font-size: 3.0vw;
    font-weight: 600;
    line-height: 1.0;
    margin: 0;
    padding: 15px 2%;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
}
.second-title-wrap .second-title-lead-wrap {
    display: block;
    margin: 0;
    padding: 0;
}
.second-title-wrap .second-title-lead-wrap .second-title-lead {
    display: inline-block;
    font-size: 1.3vw;
    font-weight: 400;
    line-height: 1.0;
    margin: 0;
    padding: 10px 2%;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
}

@media (max-width: 1200px){
    .second-header-section {
        height: 70vh;
    }
    .second-title-wrap .second-title-copy-wrap .second-title-copy {
        font-size: 3.6vw;
    }
    .second-title-wrap .second-title-lead-wrap .second-title-lead {
        font-size: 1.4vw;
    }
}
@media (max-width: 990px){
    .second-header-section {
        height: 60vh;
    }
    .second-title-wrap .second-title-copy-wrap .second-title-copy {
        font-size: 6.0vw;
        padding: 15px 4%;
    }
    .second-title-wrap .second-title-lead-wrap .second-title-lead {
        font-size: 2.6vw;
        padding: 10px 4%;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    .second-header-section {
        height: 100vh;
    }
}
@media (max-width: 749px){
    .second-header-section {
        height: 100vh;
    }
}
@media (max-width: 499px){
    .second-header-section {
        height: 60vh;
    }
    .second-header-section.company {
        background-position: center left;
    }
    .second-title-wrap .second-title-copy-wrap .second-title-copy {
        font-size: 9.6vw;
    }
    .second-title-wrap .second-title-lead-wrap .second-title-lead {
        font-size: 4.0vw;
    }
}


/* ------------------------------------------------------------------
company.html（会社情報）
------------------------------------------------------------------- */
.company-contents-section1 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 8% 5%;
    background-color: #FFF;
}
.company-top-greeting-lead {
    display: block;
    font-size: 2.4vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
}
.company-top-greeting-lead br.br {
    display: none;
}
.company-top-greeting-text {
    display: block;
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
}

@media (max-width: 1200px){
    .company-top-greeting-lead {
        font-size: 3.0vw;
    }
    .company-top-greeting-text {
        font-size: 16px;
    }
    .company-top-greeting-text br {
        display: none;
    }
}
@media (max-width: 990px){
    .company-top-greeting-lead {
        font-size: 3.6vw;
        padding: 0 0 5%;
    }
}
@media (max-width: 499px){
    .company-contents-section1 {
        padding: 10% 5% 10% 5%;
    }
    .company-top-greeting-lead {
        font-size: 6.6vw;
        padding: 0 0 6%;
    }
    .company-top-greeting-lead br.br {
        display: block;
    }
}


/* --------------------------------------
	Company Greetings
----------------------------------------*/
.company-contents-section2 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 9% 5%;
    background-color: #F5F5F5;
}

.second-subtitle-wrap {
    display: block;
    margin: 0 0 3%;
    padding-left: 0;
    padding-right: 0;
}
.second-subtitle-line {
    position: relative;
    display: block;
    width: 20%;
    height: 1px;
    margin: 0 0 2%;
    padding: 0;
    background-color: #CCC;
}
.second-subtitle-line:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 25%;
    height: 3px;
    background-color: #32634B;
}
.second-subtitle-title {
    display: block;
    font-size: 2.0vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0;
}

.company-text-wrap {
    display: block;
    margin: 0 0 7%;
    padding-left: 0;
    padding-right: 0;
}
.company-greetings-philosophy-text {
    display: block;
    font-size: 1.3vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
}

dl.item-company-text {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 0;
    margin: 0;
}
dl.item-company-text dt {
    width: 2.5%;
    font-size: 1.4vw;
    color: #000;
    text-align: left;
    line-height: 1.4;
    margin: 0;
    padding: 0;
}
dl.item-company-text dd {
    width: 97.5%;
    font-size: 1.4vw;
    font-weight: 400;
    text-align: left;
    line-height: 1.4;
    margin: 0;
    padding: 0;
}

.company-greeting-ceo-wrapper {
    display: block;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
}
.company-greeting-ceo-wrap {
    padding-left: 0;
    padding-right: 5%;
}
.company-greeting-ceo-text {
    display: block;
    font-size: 1.0vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0 0 2%;
    padding: 0;
}
.company-greeting-ceo-name {
    display: block;
    font-size: 1.3vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: right;
    margin: 0;
    padding: 0;
}
.company-greeting-ceo-name span {
    font-size: 0.9vw;
}

.company-greeting-img-wrap {
    display: block;
    margin: 0;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
}

@media (max-width: 1200px){
    .second-subtitle-title {
        font-size: 3.0vw;
    }
    .company-greetings-philosophy-text {
        font-size: 1.6vw;
    }
    dl.item-company-text dt {
        width: 3%;
        font-size: 2.0vw;
    }
    dl.item-company-text dd {
        width: 97%;
        font-size: 2.0vw;
    }
}
@media (max-width: 990px){
    .company-contents-section2 {
        padding: 10% 5% 10% 5%;
    }
    .company-text-wrap {
        margin: 0 0 9%;
    }
    .second-subtitle-title {
        font-size: 3.6vw;
    }
    .company-greetings-philosophy-text {
        font-size: 20px;
    }
    .company-greetings-philosophy-text br {
        display: none;
    }
    dl.item-company-text dt {
        width: 4%;
        font-size: 22px;
    }
    dl.item-company-text dd {
        width: 96%;
        font-size: 22px;
    }
    .company-greeting-ceo-wrap {
        padding-right: 0;
        padding-bottom: 5%;
    }
}
@media (orientation: landscape) and (max-width: 990px) {
    dl.item-company-text dt {
        width: 5%;
        font-size: 20px;
    }
    dl.item-company-text dd {
        width: 95%;
        font-size: 20px;
    }
}
@media (max-width: 749px){
    dl.item-company-text dt {
        width: 5%;
        font-size: 20px;
    }
    dl.item-company-text dd {
        width: 95%;
        font-size: 20px;
    }
}
@media (max-width: 499px){
    .second-subtitle-wrap {
        margin: 0 0 5%;
    }
    .second-subtitle-line {
        width: 40%;
        margin: 0 0 4%;
    }
    .second-subtitle-line:before {
        width: 35%;
    }
    .second-subtitle-title {
        font-size: 6.0vw;
        margin: 0;
    }
    .company-text-wrap {
        margin: 0 0 10%;
    }
    .company-greetings-philosophy-text {
        font-size: 18px;
        line-height: 1.8;
    }
    dl.item-company-text {
        padding: 0 0 15px;
    }
    dl.item-company-text dt {
        width: 8%;
        font-size: 18px;
    }
    dl.item-company-text dd {
        width: 92%;
        font-size: 18px;
    }
    .company-greeting-ceo-text {
        line-height: 1.8;
    }
}


/* --------------------------------------
	Company Overview
----------------------------------------*/
.company-contents-section3 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 9% 5%;
    background-color: #FFF;
}

.company-contents-section4 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 9% 5%;
    background-color: #F5F5F5;
}

table.overview {
    width: calc(100% + 40px);
    margin: 0 -20px;
    padding: 2% 0 0;
    border-collapse: separate;
    border-spacing: 20px 0;
}
table.overview th {
    width: 20%;
    font-size: 0.9vw;
    font-weight: 600;
    vertical-align: middle;
	text-align: center;
    padding: 2.5em 1.0em;
    border-bottom: solid 1px #CCC;
}
table.overview th.first {
    border-top: solid 1px #CCC;
}
table.overview th span {
    font-size: 0.8vw;
    font-weight: 400;
}
table.overview td {
    width: 75%;
    text-align: left;
    vertical-align: middle;
    font-size: 0.9vw;
    font-weight: 400;
    line-height: 1.6;
    padding: 2.5em 1.0em;
    border-bottom: solid 1px #CCC;
}
table.overview td.first {
    border-top: solid 1px #CCC;
}
table.overview td br.ofc {
	display: none;
}
table.overview td a {
	display: block;
    font-size: 0.9vw;
    font-weight: 400;
    color: #000;
    line-height: 1.6;
    padding: 0;
}
table.overview td a:hover {
    color: #000;
}
table.overview td a.tel {
    font-size: 0.9vw;
    font-weight: 400;
    color: #000;
    line-height: 1.6;
    padding: 0;
}
table.overview td a.address-gm {
    font-size: 12px;
    font-weight: 400;
    color: #000;
    line-height: 1.0;
    padding: 10px 0 15px;
}
table.overview td a.address-gm:hover {
    color: #666;
}
table.overview td .metro {
    font-size: 0.8vw;
    font-weight: 400;
	padding: 10px 0 0;
}
.office-gmap {
    position: relative;
    width: 100%;
    height: 400px;
	border-radius: 10px;
    overflow: hidden;
}
.office-gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.office-gmap-title {
	display: block;
    font-size: 0.9vw;
    font-weight: 500;
    padding: 30px 0 10px;
    margin: 0;
}
.office-gmap-text {
	display: block;
    font-size: 0.9vw;
    font-weight: 400;
    padding: 20px 0 0;
    margin: 0;
}
dl.overview-content-wrap {
    display: flex;
    width: 100%;
    padding: 0 0 8px;
    margin: 0;
}
dl.overview-content-wrap dt {
    width: 12%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    padding: 0;
    margin: 0;
}
dl.overview-content-wrap dd {
    width: 88%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    padding: 0;
    margin: 0;
}
dl.overview-content-wrap02 {
    display: flex;
    width: 100%;
    padding: 0 0 10px;
    margin: 0;
}
dl.overview-content-wrap02 dt {
    width: 2%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    margin: 0;
    padding: 0;
}
dl.overview-content-wrap02 dd {
    width: 98%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    margin: 0;
    padding: 0;
}
dl.overview-content-wrap03 {
    display: flex;
    width: 100%;
    padding: 5px 0;
    margin: 0;
}
dl.overview-content-wrap03 dt {
    width: 10%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    margin: 0;
    padding: 0;
}
dl.overview-content-wrap03 dd {
    width: 90%;
    font-size: 0.9vw;
    font-weight: 400;
    text-align: left;
    margin: 0;
    padding: 0;
}


@media (max-width: 1480px){
    .company-greeting-ceo-text {
        font-size: 16px;
    }
    .company-greeting-ceo-name {
        font-size: 20px;
    }
    .company-greeting-ceo-name span {
        font-size: 15px;
    }
	table.overview {
		width: 100%;
	}
	table.overview th {
        font-size: 16px;
	}
	table.overview td {
        font-size: 16px;
	}
	table.overview td a.tel {
        font-size: 16px;
		line-height: 1.6;
	}
	table.overview td a.address-gm {
		padding: 10px 0 15px;
	}
	table.overview td .metro {
        font-size: 15px;
	}
	dl.overview-content-wrap dt {
        width: 14%;
        font-size: 16px;
		padding: 0;
	}
	dl.overview-content-wrap dd {
        width: 86%;
        font-size: 16px;
		padding: 0;
	}
	dl.overview-content-wrap dd span {
        font-size: 16px;
		padding: 0 0 10px;
	}
	dl.overview-content-wrap02 dt {
		width: 2.5%;
        font-size: 16px;
		padding: 0;
	}
	dl.overview-content-wrap02 dd {
		width: 97.5%;
        font-size: 16px;
		padding: 0;
	}
	dl.overview-content-wrap02 dd span {
        font-size: 16px;
		padding: 0 0 10px;
	}
    dl.overview-content-wrap03 dt {
        font-size: 16px;
    }
    dl.overview-content-wrap03 dd {
        font-size: 16px;
    }
	table.overview-group {
		width: 100%;
	}
    table.overview-group th {
        width: 30%;
        font-size: 16px;
    }
    table.overview-group td {
        width: 65%;
        font-size: 16px;
    }
}
@media (max-width: 1200px){
	table.overview {
		width: 100%;
	}
	table.overview-group {
		width: 100%;
	}
    table.overview-group th {
        width: 40%;
    }
    table.overview-group td {
        width: 55%;
    }
}
@media (max-width: 990px){
	table.overview {
		width: 100%;
		margin: 0 auto;
	}
	table.overview th {
        font-size: 15px;
		padding: 1.5em 0em;
	}
	table.overview th span {
        font-size: 14px;
	}
	table.overview td {
        font-size: 15px;
	}
	table.overview td br.ofc {
		display: block;
	}
	table.overview td span.post-code {
		display: block;
	}
	table.overview td span.ten {
		display: none;
	}
	dl.overview-content-wrap dt {
        width: 30%;
        font-size: 15px;
		padding: 5px 0;
	}
	dl.overview-content-wrap dd {
		width: 70%;
        font-size: 15px;
		padding: 5px 0;
	}
	dl.overview-content-wrap02 dt {
        width: 4%;
        font-size: 15px;
		padding: 5px 0;
	}
	dl.overview-content-wrap02 dd {
		width: 96%;
        font-size: 15px;
		padding: 5px 0;
	}
    dl.overview-content-wrap03 dt {
        width: 8%;
        font-size: 15px;
		padding: 5px 0;
    }
	dl.overview-content-wrap03 dd {
        font-size: 15px;
		padding: 5px 0;
	}
	table.overview-group {
		width: 100%;
		margin: 0 auto;
	}
	table.overview-group th {
        font-size: 15px;
		padding: 1.5em 0em;
	}
	table.overview-group td {
        font-size: 1.5rem;
	}
}
@media (max-width: 499px){
    .company-contents-section3 {
        padding: 10% 5% 10% 5%;
    }
    .company-contents-section4 {
        padding: 10% 5% 10% 5%;
    }
	table.overview {
		width: 100%;
		border-spacing: 0px 0;
	}
	table.overview th {
		display: block;
		width: 100%;
        font-size: 18px;
		text-align: left;
		padding: 1.2em 0.5em 0.4em;
		border-bottom: none;
	}
	table.overview th br {
		display: none;
	}
	table.overview td {
		display: block;
		width: 100%;
        font-size: 16px;
		font-weight: 400;
		padding: 0 0.5em 1.2em;
	}
	table.overview td span {
        display: block;
	}
	table.overview td br.br {
		display: none;
	}
	table.overview td.first {
		border-top: none;
	}
	table.overview td a.tel {
        font-size: 16px;
	}
	table.overview td a.address-gm {
        font-size: 12px;
		padding: 10px 0 15px;
	}
	table.overview td .metro {
        font-size: 14px;
		padding: 10px 0;
	}
	dl.overview-content-wrap {
		padding: 10px 0 0;
	}
    dl.overview-content-wrap dt {
        width: 40%;
        font-size: 16px;
        padding: 0;
    }
	dl.overview-content-wrap dd {
        width: 60%;
        font-size: 16px;
        padding: 0;
	}
	dl.overview-content-wrap02 {
		padding: 10px 0 0;
	}
	dl.overview-content-wrap02 dt {
        width: 6%;
        font-size: 16px;
        padding: 0;
	}
	dl.overview-content-wrap02 dd {
        width: 94%;
        font-size: 16px;
        padding: 0;
	}
    dl.overview-content-wrap03 dt {
        font-size: 16px;
        padding: 2px 0;
    }
	dl.overview-content-wrap03 dd {
        font-size: 16px;
        padding: 2px 0;
	}
	table.overview td span.add {
		display: block;
	}
	table.overview-group {
		width: 100%;
		border-spacing: 0px 0;
	}
	table.overview-group th {
		display: block;
		width: 100%;
        font-size: 18px;
		text-align: left;
		padding: 1.2em 0.5em 0.4em;
		border-bottom: none;
	}
	table.overview-group td {
		display: block;
		width: 100%;
        font-size: 16px;
		font-weight: 400;
		padding: 1.0em 0.5em 1.2em;
	}
	table.overview-group td br {
		display: none;
	}
	table.overview-group td.first {
		border-top: none;
	}
}

/* --------------------------------------
下層ページ共通
----------------------------------------*/

.sp-down{
    display: none;
    @media (max-width: 499px){
        display: block;
    }
}

.sp-up{
    display: block;
    @media (max-width: 499px){
        display: none;
    }
}

.tab-down{
    display: none;
    @media (max-width: 991px){
        display: block;
    }
}

.tab-up{
    display: block;
    @media (max-width: 991px){
        display: none;
    }
}

.xl-down{
    display: none;
    @media (max-width: 1200px){
        display: block;
    }
}
.xl-up{
    display: block;
    @media (max-width: 1200px){
        display: none;
    }
}

.ib{
    display: inline-block;
}

/* ------------------------------------------------------------------
about.html（分譲マンション大規模修繕コンサルティング）
------------------------------------------------------------------- */
.about-contents-section1 {
    display: block;
    width: 100%;
    height: 47.5vw;
    margin: 0;
    padding: 8% 0 8% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
    .concept-slide-wrap{
        transform-origin: 50% 25vw;
        margin-top: -37%;   /* スライドの位置を調整 */
    }
}
.about-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
}
.about-top-greeting-text {
    display: block;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
}

/* --------------------------------------
    About Service
----------------------------------------*/
.about-contents-section2 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 9% 5%;
    background-color: #F6F5F3;
}

.about-servie-text {
    display: block;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
}

.about-service-list{
    margin-block: 2.78vw 0;
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); */
    grid-template-columns: repeat(3, 1fr);
    gap: 4.0rem 2.0rem;
    list-style: none;
    padding: 0;
}

.about-service-card{
    text-decoration: none;
    display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;

    padding: 3.57% 3.57% 0;
    background: linear-gradient(to bottom, #32634B 0%, #32634B 25%, transparent 25%, transparent 100%);
}


.about-service-card-img{
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.about-service-card-body{
    background-color: #fff;
    padding: 32px 16px;
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
}

.about-service-card-title{
    display: grid;
    place-items: center;
    min-height: 2.4em;
    color: #32634B;
    font-size: 1.39vw;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

.about-service-card-text{
    margin-block: 2.5vw 0;
    color: #000;
    font-size: 1.1vw;
    font-weight: 500;
    line-height: 1.2;
}
.about-service-card-link{
    background: #FFF;
    padding-inline: 5.43% ;
    position: relative;
}

.about-service-card-link::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.about-service-card-link:hover::before{
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}

.about-service-card-link-arrow{
    padding-block: 7%;
    border-top: 1px solid #CCCCCC;
    text-align: center;
    margin: 0;
    span{
        display: inline-block;
        padding-inline-end: 3.47vw;
        color: #000;
        font-size: 1.1vw;
        font-weight: 500;
        line-height: 1.2;
        text-align: center;
        position: relative;
        &:after{
            content: "";
            position: absolute;
            top: 50%;
            translate: 0 -50%;
            right: 0;
            width: 1.67vw;
            height: 1.67vw;
            background: url(../img/about/about-service-arrow.svg) no-repeat center center / contain;
            transition: all .3s;
        }
    }
}
.about-service-card-link:hover .about-service-card-link-arrow span{
    color: #fff;
    &:after{
        background: url(../img/about/about-service-arrow-white.svg) no-repeat center center / contain;
        translate: -25% -50%;
    }
}

/* --------------------------------------
	About Flow
----------------------------------------*/
.about-contents-section3 {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8% 5% 9% 5%;
    background-color: #FFF;
}

.about-flow-list{
    margin: 0;
    padding: 0;
    display: grid;
    row-gap: 30px;
}

.about-flow-item{
    display: grid;
    grid-template-columns: 9.6% 1fr;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    border-radius: 16px;
    overflow: hidden;
}

.about-flow-no-area{
    display: grid;
    place-items: center;
    background-color: #32634B;
    color: #fff;
    font-family: "Roboto", serif;
}
.about-flow-no{
    display: block;
    font-size: 1.39vw;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    span{
        display: block;
        font-size: 3.33vw;
    }
}

.about-flow-content{
    padding: 3.4% 5.32%;
    background-color: #F0F0F0;
}

.about-flow-img{
    border-radius: 10px;
    overflow: hidden;
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.about-flow-title{
    display: block;
    width: fit-content;
    margin-block-start: 24px;
    font-family: "Noto Sans JP", serif;
    font-size: 1.67vw;
    font-weight: 700;
    line-height: 1.2;
    position: relative;

}

.about-flow-title-baloon{
    display: inline-block;
    background-color: #FF0909;
    color: #fff;
    font-size: 1.39vw;
    border-radius: 10px;
    padding: 0.2em 0.5em;
    margin-inline-start: 1em;
    position: absolute;
    top: 0;
    left: 100%;
    /* translate: -100% 0; */
    white-space: nowrap;
}

.about-flow-title-baloon::before{
    content: "";
    display: inline-block;
    border-style: solid;
    border-width: 5.5px 9.5px 5.5px 0px;
    border-color: transparent #FF0909 transparent transparent;
    position: absolute;
    top: 50%;
    left: 0;
    translate: calc(-100% + 1px) -50%;
}

.about-flow-desc{
    margin-block-start: 24px;
    font-family: "Noto Sans JP", serif;
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 1.2;
}

.about-flow-text{
    margin-block-start: 20px;
    font-family: "Noto Sans JP", serif;
    font-size: 1.11vw;
    line-height: 1.2;
}

.about-flow-btn{
    background-color: #FFF;
    border: 2px solid #32634B;
    position: relative;
}

.about-flow-btn::before {
    content: '';
    display: block;
    height: calc(100% + 2px);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}

.about-flow-btn:hover{
    color: #fff;
    border-color: #000;
}
.about-flow-btn:hover::before {
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
}

.about-flow-btn-link{
    display: block;
    padding-block: 1.25vw;
    width: 100%;
    height: 100%;
    color: #FFF;
    font-family: "Noto Sans JP", serif;
    font-size: 1.67vw;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    position: relative;
}
.about-flow-btn:hover .about-flow-btn-link{
    color: #000;
}

.about-flow-btn-link::after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #FFF;
    position: absolute;
    right: 8.3333%;
    top: 50%;
    translate: 0 -50%;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}

.about-flow-btn:hover .about-flow-btn-link::after{
    border-color: transparent transparent transparent #000;
    translate: -25% -50%;
}

/* --------------------------------------
	About Footer
----------------------------------------*/
.about-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.67vw;
    margin: 0;
    padding: 0 5% 9% 5%;
    background-color: #FFF;
    @media (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 4.2vw;
    }
    @media (max-width: 499px){
        row-gap:4.8vw;
    }
}

.about-footer-btn-wrapper{

}
.about-footer-btn {
    display: block;
    position: relative;
    width: 100%;
    height: 80px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    background: #FFF;
    border: solid 1px #000;
}

.about-footer-btn::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.about-footer-btn:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.about-footer-btn .text {
    display: grid;
    place-items: center;
    height: 100%;
    position: relative;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.about-footer-btn:hover {
    border: solid 2px #32634B;
}
.about-footer-btn:hover .text {
    color: #FFF;
}
.about-footer-btn .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 50%;
    translate: 0 -50%;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.about-footer-btn:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}

@media (max-width: 1200px){
    .about {
        .second-title-wrap .second-title-copy-wrap .second-title-copy{
            font-size: 3.4vw;
        }
    }
    .about-contents-section1{
        height: 57.5vw;
    }
    .about-top-greeting-lead{
        font-size: 3vw;
    }
    .about-top-greeting-text,
    .about-servie-text{
        font-size: 1.6vw;
    }
    .about-service-card-title,
    .about-flow-no{
        font-size: 1.875vw;
    }
    .about-service-card-text,
    .about-service-card-link-arrow spanc{
        font-size: 1.5vw;
    }
    .about-service-card-link-arrow span{
        padding-inline-end: 4.5vw;
    }
    .about-service-card-link-arrow span::after{
        width: 2.5vw;
        height: 2.5vw;
    }
    .about-flow-title,
    .about-flow-btn-link,
    .about-flow-title-baloon{
        font-size: 1.8vw;
    }
    .about-flow-text{
        font-size: 1.5vw;
    }
    .about-flow-desc{
        font-size: 1.9vw;
    }
    .about-flow-no span{
        font-size: 4.5vw;
    }

}
@media (max-width: 991px){
    .about {
        .second-title-wrap .second-title-copy-wrap .second-title-copy{
            font-size: 6vw;
        }
    }
    .about-contents-section1{
        height: auto;
        padding: 8% 5% 8% 5%;
    }
    .about-service-list{
        grid-template-columns: repeat(2, minmax(0, 336px));
        justify-content: center;
    }
    .about-top-greeting-lead{
        font-size: 32px;
    }
    .about-top-greeting-text,
    .about-servie-text{
        font-size: 20px;
    }
    .about-service-card-title,
    .about-flow-no{
        font-size: 20px;
    }
    .about-service-card-text,
    .about-service-card-link-arrow span{
        font-size: 16px;
    }
    .about-service-card-link-arrow span{
        padding-inline-end: 8.5vw;
    }
    .about-service-card-link-arrow span::after{
        width: 3.5vw;
        height: 3.5vw;
    }

    .about-flow-item{
        grid-template-columns: 1fr;
    }
    .about-flow-no-area{
        padding-block-start: 0.2em;
    }
    .about-flow-title,
    .about-flow-btn-link{
        font-size: 24px;
    }
    .about-flow-title-baloon{
        font-size: 17px;
    }
    .about-flow-text{
        font-size: 16px;
    }
    .about-flow-desc{
        font-size: 20px;
    }
    .about-flow-no span{
        font-size: 48px;
    }
}


@media (max-width: 749px){
    .about-service-list{
        grid-template-columns: 1fr;
    }
    .about-service-card{
        max-width: 336px;
        margin-inline: auto;
    }

    .about-service-card-title{
        min-height: 0;
    }
}
@media (max-width: 499px){
    .about {
        .second-title-wrap .second-title-copy-wrap .second-title-copy{
            font-size: 9.6vw;
        }
    }
    .about-top-greeting-lead{
        font-size: 4.6vw;
    }
    .about-top-greeting-text,
    .about-servie-text{
        font-size: 18px;
    }
    .about-service-card-title,
    .about-flow-no{
        font-size: 20px;
    }
    .about-service-card-text,
    .about-service-card-link-arrow span{
        font-size: 15px;
    }
    .about-service-card-link-arrow span{
        padding-inline-end: 8.5vw;
    }
    .about-service-card-link-arrow span::after{
        width: 4.5vw;
        height: 4.5vw;
    }
    .about-flow-title,
    .about-flow-btn-link{
        font-size: 17px;
    }
    .about-flow-title-baloon{
        font-size: 14px;
    }
    .about-flow-text{
        font-size: 15px;
    }
    .about-flow-desc{
        font-size: 16px;
    }
    .about-flow-no span{
        font-size: 9.6vw;
    }
}

/* ------------------------------------------------------------------
service-s1.html（建物劣化診断調査）
------------------------------------------------------------------- */
.s1-contents-section1 {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 5% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}
.s1-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}

.service-greetings-content{
    @media (max-width: 991px){
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 4.2vw;
    }
}

.s1-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.second-title-sub{
    display: block;
    font-size: 1.39vw;
    font-weight: 500;
    margin-block-end: 0.63vw;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: 3.5vw;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }
}

.s1-top-greeting-img{
    @media (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
        img{
            width: 100%;
            height: auto;
            display: block;
        }
    }
}
/* ------------------------------------------------------------------
service-s1 survey
------------------------------------------------------------------- */
.s1-content-section2{
    display: block;
    width: 100%;
    margin: 0;
    padding: 5% 5% 8% 5%;
    background-color: #FFF;
}

.s1-survey-content{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 6.9vw;
    background-color: #F6F5F3;
}

.s1-survey-title{
    font-size: 2.22vw;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}

.s1-survey-list{
    margin-block-start: 3.33vw;
    display: grid;
    row-gap: 80px;
}

.s1-survey-item{

}
.s1-survey-item-title{
    display: inline-block;
    color: #FFF;
    font-size: 1.67vw;
    font-weight: 700;
    padding: 0.2em 1em;
    background-color: #32634B;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s1-survey-item-text{
    margin-block-start: 0.5em;
    font-size: 1.25vw;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }
}

.s1-survey-detail-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 9.17%;
    row-gap: 3.3vw;
    @media screen and (max-width: 499px){
        grid-template-columns: 1fr;
        row-gap: 4.2vw;
    }
}

.s1-survey-detail-item{
    display: grid;
    grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
    border-top: 1px solid #CCC;
    padding-block-start: 20px;
}

.s1-survey-detail-title{
    padding-inline-start: 1em;
    position: relative;
    font-size: 1.39vw;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: 20px;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }
}

.s1-survey-detail-title::before{
    content: "";
    display: block;
    width: 0.83vw;
    height: 0.83vw;
    border-radius: 50%;
    background-color: #32634B;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    @media screen and (max-width: 1200px){
        width: 1.125vw;
        height: 1.125vw;
    }
    @media screen and (max-width: 991px){
        width: 12px;
        height: 12px;
        top: 0.6em;
        left: 0;
        translate: 0 -50%;
    }
    @media screen and (max-width: 499px){
        width: 12px;
        height: 12px;
        top: 50%;
        left: 0;
        translate: 0 -50%;
    }

}

.s1-survey-detail-text{
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 15px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.s1-survey-detail-img{

    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s1-content-section3,
.s1-content-section4{
    display: block;
    width: 100%;
    margin: 0;
    padding: 5% 5% 8% 5%;
    background-color: #FFF;

}

.s1-top-sec3-content,
.s1-top-sec4-content{
    display: grid;
    grid-template-columns: 40.28vw 1fr;
    column-gap: 6.52vw;
    row-gap: 20px;

    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 20px;
    }
    .s1-top-sec3-img{
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        max-width: 450px;
        margin-inline: auto;
        img{
            width: 100%;
            height: auto;
            display: block;
        }
        @media screen and (max-width: 991px){
            grid-column: 1 / 2;
            grid-row: 1 / 2;
        }
    }
    .s1-sec-text{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        @media screen and (max-width: 991px){
            grid-column: 1 / 2;
            grid-row: 2 / 3;
        }
    }
}



.second-subtitle-title-baloon{
    display: inline-block;
    background-color: #FF0909;
    color: #fff;
    font-size: 1.39vw;
    border-radius: 10px;
    padding: 0.2em 0.5em;
    margin-inline-start: 1em;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: clamp(0.813rem, 0.431rem + 1.22vw, 1.188rem);
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }
}

.second-subtitle-title-baloon::before{
    content: "";
    display: inline-block;
    border-style: solid;
    border-width: 5.5px 9.5px 5.5px 0px;
    border-color: transparent #FF0909 transparent transparent;
    position: absolute;
    top: 50%;
    left: 0;
    translate: calc(-100% + 1px) -50%;
}

.s1-content-section5{
    display: block;
    width: 100%;
    margin: 0;
    padding: 5% 5% 8% 5%;
    background-color: #FFF;
    .row{
        justify-content: space-between;
    }
}

.s1-sec5-list{
    margin-block-start: 3.61vw;
    padding: 40px 10px 40px 75px;
    background-color: #F5F5F5;
    list-style: disc;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10%;
    row-gap: 20px;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 20px;
    }
    @media screen and (max-width: 499px){
        list-style-position: inside;
        padding: 30px 5px 30px 20px;
    }
}

.s1-sec5-list-item{
    font-size: 1.25vw;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }
}
.s1-sec5-list-item::marker{
    font-size: 0.8em;
}

.s1-sec5-slider-wrap{
    margin-block-start: 3.61vw;
}

.s1-sec5-slider-title{
    display: block;
    color: #32634B;
    font-size: 1.67vw;
    font-weight: 600;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s1-sec5-slider{ /* swiper style */
    --swiper-pagination-color: #32634B;
    --swiper-pagination-bullet-horizontal-gap: 8px;
    margin-block-start: 12px;
    padding-block: 32px 14px;
    border-top: 1px solid #CCC;

    .swiper-slide{
        opacity: 0.4;
    }
    .swiper-slide.swiper-slide-active{
        opacity: 1;
    }
    .swiper-button-next,
    .swiper-button-prev {
        width: 4.17vw;
        height: 4.17vw;
        @media screen and (max-width: 991px){
            width: 40px;
            height: 40px;
        }
        @media screen and (max-width: 499px){
            width: 30px;
            height: 30px;
        }
    }
    .swiper-button-next{
        right: 11.4%;
        @media screen and (max-width: 991px){
            right: 0;
        }
    }
    .swiper-button-prev{
        left: 11.4%;
        @media screen and (max-width: 991px){
            left: 0;
        }
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        content: "";
        transform: rotate(0);
        width: 100%;
        height: 100%;
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center;
    }

    .swiper-button-next:after{
        background-image: url(../img/s1/s1-slider-next.svg);
    }

    .swiper-button-prev:after{
        background-image: url(../img/s1/s1-slider-prev.svg);
    }
} /* swiper style end*/




/* ------------------------------------------------------------------
service共通 service-links
------------------------------------------------------------------- */

.service-links{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 8% 5%;
    background-color: #FFF;
}
.service-links-inner{
    display: block;
    width: 100%;
    margin: 0;
    padding: 3.365% 2.9%;
    background-color: #F1F9EC;

}

.service-links-lead{
    font-size: 1.25vw;
    text-align: center;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
        text-align: left;
    }
}

.service-links-list{
    margin-block-start: 1.67vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.11vw;
    row-gap: 1.11vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 20px;
    }
}

.service-links-item{
    background-color: #fff;
    position: relative;
    width: 100%;
    margin-inline: auto;
    @media screen and (max-width: 991px){
        max-width: 500px;
    }
    &::before{
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 0;
        background-color: #32634B;
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0,1);
        -ms-transform: scale(0,1);
        transform: scale(0,1);
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s,-webkit-transform .3s;
    }
}

.service-links-item:hover{
    &::before{
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1,1);
        -ms-transform: scale(1,1);
        transform: scale(1,1);
    }
}

.service-links-link{
    display: block;
    color: #000;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: 0.83vw;
    position: relative;
    display: grid;
    grid-template-columns: 35% 1fr;
    column-gap: 1.11vw;
    align-items: center;
    @media screen and (max-width: 991px){
        column-gap: 0.5em;
    }
    @media screen and (max-width: 499px){
        grid-template-columns: 25% 1fr;
    }
    &:after{
        content: "";
        position: absolute;
        top: 50%;
        right: 1.67vw;
        translate: 0 -50%;
        width: 1.67vw;
        height: 1.67vw;
        background: url(../img/about/about-service-arrow.svg) no-repeat center center / contain;
        transition: all .3s;
        @media screen and (max-width: 1200px){
            width: 24px;
            height: 24px;
        }
        @media screen and (max-width: 991px){
            width: 24px;
            height: 24px;
        }
        @media screen and (max-width: 499px){
            width: 24px;
            height: 24px;
        }
    }
}
.service-links-link:hover{
    color: #fff;

    &::after{
        background: url(../img/about/about-service-arrow-white.svg) no-repeat center center / contain;
        translate: -25% -50%;
    }
}

.service-links-img{
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.service-links-text{
    font-size: 1.11vw;
    @media screen and (max-width: 1200px){
        font-size: 15px;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

/* ------------------------------------------------------------------
service-s2.html（耐震診断）
------------------------------------------------------------------- */
.s2-contents-section1,
.s2-contents-section2 {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 8% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}
.s2-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}

.s2-top-greeting-img{
    @media (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
        img{
            width: 100%;
            height: auto;
            display: block;
        }
    }
}

.s2-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.s2-flow-img{
    display: block;
    margin-block-start: 2.22vw;
    margin-inline: auto;
    width: 91.5%;
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s2-flow-button-area {
    margin-block-start: 9.028vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 20px;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
    }
}

.s2-flow-button-wrapper{

}

.s2-flow-button {
    display: block;
    position: relative;
    width: 100%;
    height: 80px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 20px;
    background: #FFF;
    border: solid 1px #000;
}

.s2-flow-button::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.s2-flow-button:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.s2-flow-button .text {
    display: grid;
    place-items: center;
    height: 100%;
    position: relative;
    font-size: 1.04vw;
    font-weight: bold;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
    @media screen and (max-width: 1200px){
        font-size: 1.4vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.s2-flow-button:hover {
    border: solid 2px #32634B;
}
.s2-flow-button:hover .text {
    color: #FFF;
}
.s2-flow-button .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 45%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.s2-flow-button:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}

/* ------------------------------------------------------------------
service-s3.html（修繕設計・補助金申請・施工会社選定）
------------------------------------------------------------------- */
.s3-contents-section1,
.s3-contents-section2,
.s3-contents-section3,
.s3-contents-section4,
.s3-contents-section5,
.s3-contents-section6,
.s3-contents-section7{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}

.s3-contents-section2,
.s3-contents-section3,
.s3-contents-section4,
.s3-contents-section5,
.s3-contents-section6,
.s3-contents-section7{
    &:before{
        content: "";
        display: block;
        padding-block-start: 2.22vw;
        border-top: 1px solid #CCC;
    }
}

.s3-contents-section4,
.s3-contents-section5,
.s3-contents-section6,
.s3-contents-section7{
    .row{
        @media screen and (max-width: 991px){
            flex-direction: column-reverse;
            row-gap: 30px;
        }
    }
}

.s3-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}
.s3-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.s3-top-greeting-img{
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s3-anchor-list{
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #FFF;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.60vw;
    row-gap: 0.97vw;
    list-style: none;
    @media screen and (max-width: 991px){
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2.5vw;
        row-gap: 2.5vw;
    }
    @media screen and (max-width: 499px){
        grid-template-columns: 1fr;
    }
}

.s3-anchor-item{
    background-color: #fff;
    border: 1px solid #CCCCCC;
}

.s3-anchor-link{
    display: grid;
    grid-template-columns: 4.44vw 1fr;
    column-gap: 0.69vw;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    font-size: 1.11vw;
    font-weight: 600;
    position: relative;
    padding: 1.18vw 1.81vw 2.99vw;
    position: relative;
    @media screen and (max-width: 1200px){
        grid-template-columns: 6vw 1fr;
        font-size: 1.5vw;
        padding-bottom: 3.5vw;
    }
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        font-size: clamp(1rem, 0.745rem + 0.81vw, 1.25rem);
        padding-bottom: 48px;
    }
    @media screen and (max-width: 499px){
        grid-template-columns: 12vw 1fr;
        font-size: 15px;
        padding-bottom: 1.18vw;
    }
    &::after{
        content: "";
        display: block;
        position: absolute;
        width: 1.39vw;
        height: 1.39vw;
        background: url(../img/s3/s3-anchor-arrow.svg) no-repeat center center / 100%;
        bottom: 1.25vw;
        left: 50%;
        translate: -50% 0;
        transition: all .3s;
        @media screen and (max-width: 1200px){
            width: 1.875vw;
            height: 1.875vw;
        }
        @media screen and (max-width: 991px){
            width: 20px;
            height: 20px;
        }
        @media screen and (max-width: 499px){
            width: 20px;
            height: 20px;
            top: 50%;
            left: auto;
            right: 32px;
            translate: 0 -50%;
        }
    }
    &:hover{
        color: #000;
        &::after{
            translate: -50% 25%;
            @media screen and (max-width: 499px){
                translate: 0 -50%;
            }
        }
    }
}
.s3-anchor-img{
    @media screen and (max-width: 991px){
        width: 11vw;
        max-width: 100%;
        margin-inline: auto;
    }
    @media screen and (max-width: 499px){
        width: 12vw;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}
.s3-anchor-text{
    @media screen and (max-width: 991px){
        text-align: center;
    }
    @media screen and (max-width: 499px){
        text-align: left;
        font-size: 15px;
        margin-inline-start: 1em;
    }
}

.s3-point-title{
    margin-block-end: 4.44vw;
    display: flex;
    gap: 1.39vw;
    color: #32634B;
    font-size: 1.67vw;
    font-weight: 700;
    padding-inline-start: 1.81vw;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
        padding-inline-start: 2.4vw;
    }
    @media screen and (max-width: 991px){
        flex-direction: column;
        font-size: 32px;
        padding-inline-start: 4.55vw;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
        padding-inline-start: 5.2vw;
    }
    &::before{
        content: "";
        display: block;
        width: 0.83vw;
        height: 2px;
        background-color: #32634B;
        position: absolute;
        top: 0.5em;
        left: 0;
        @media screen and (max-width: 1200px){
            width: 1.125vw;
        }
        @media screen and (max-width: 991px){
            width: 2.1vw;
        }
        @media screen and (max-width: 499px){
            width: 2.4vw;
        }
    }
}

.s3-point-title-prefix{
    display: block;
    font-size: 1.11vw;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    .--no{
        margin-inline-start: 0.2em;
        font-size: 1.67vw;
        @media screen and (max-width: 1200px){
            font-size: 2.25vw;
        }
        @media screen and (max-width: 991px){
            font-size: 24px;
        }
        @media screen and (max-width: 499px){
            font-size: 20px;
        }
    }
}

.s3-point-title-text{

}

.s3-point-text{
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.s3-point-list-wrapper{
    margin-block: 3.33vw;
    margin-inline-start: 4.44vw;
}
.s3-point-list{
}

.s3-point-item{
    list-style: disc;
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &:not(:first-child){
        margin-block-start: 1em;
    }
    &::marker{
        color: #CCC;
        font-size: 0.83vw;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 2.1vw;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
    }
}

/* ------------------------------------------------------------------
s3 Plan
------------------------------------------------------------------- */
.s3-sec2-plan{
    margin-block-start: 3.33vw;

}

.s3-sec2-plan-title{
    display: block;
    color: #32634B;
    font-family: "Noto Sans JP", serif;
    font-size: 1.39vw;
    font-weight: 500;
    text-align: center;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size:20px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s3-sec2-plan-list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.08vw;
    margin-block-start: 3.19vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 60px;
    }
}

.s3-sec2-plan-item{
    display: grid;
    grid-template-rows: subgrid;
	grid-row: span 4;
    row-gap: 1.11vw;
    font-family: "Noto Sans JP", serif;
    font-size: 1.25vw;
    font-weight: 500;
    text-align: center;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        grid-template-rows: none;
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
}

.s3-sec2-plan-item-title{
    display: block;
    .--no{
        display: inline-block;
        padding: 0.2em 1em;
        background-color: #32634B;
        color: #fff;
        margin-inline-end: 1em;
    }
}

.s3-sec2-plan-item-img{
    @media screen and (max-width: 991px){
        width: 50vw;
        max-width: 300px;
        margin-inline: auto;
    }

    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s3-sec2-plan-item-text{
    margin: 0;
    padding: 0;
}

.s3-sec2-plan-item-price{
    display: block;
    width: 15.56vw;
    max-width: 100%;
    margin-inline: auto;
    background-color: rgba(113, 195, 63, 0.10);
    padding: 0.15em 1em 0.35em;
    @media screen and (max-width: 991px){
        width: fit-content;
    }

    .--price{
        color: #FF0909;
        font-weight: 700;
    }

    .--num{
        font-size: 1.67vw;
        @media screen and (max-width: 1200px){
            font-size: 2.25vw;
        }
        @media screen and (max-width: 991px){
            font-size: 24px;
        }
        @media screen and (max-width: 499px){
            font-size: 20px;
        }
    }
}

.s3-sec3-merit-box{
    margin-block-start: 3.33vw;
    width: 60.56vw;
    max-width: 100%;
    margin-inline: auto;
    padding: 2.22vw 5.56vw 2.22vw 6.25vw;
    border: 1px solid #CCC;
    position: relative;
    @media screen and (max-width: 991px){
        width: 100%;
    }
    .--corner{
        position: absolute;
        &:nth-of-type(1){
            top: -1px;
            left: 0;
        }
        &:nth-of-type(2){
            top: -1px;
            right: -1px;
            scale: -1 1;
        }
        &:nth-of-type(3){
            bottom: -1px;
            right: -1px;
            rotate: 180deg;
        }
        &:nth-of-type(4){
            bottom: -1px;
            left: 0;
            scale: 1 -1;
        }
        &::before,&::after{
            content: "";
            display: block;
            width: 0.76vw;
            height: 1px;
            background-color: #32634B;
        }
        &::after{
            rotate: 90deg;
            transform-origin: left top;
        }
    }
}

.s3-point-list{
    margin-block-start: 2.57vw;
}

.s3-sec3-merit-title{
    font-size: 1.39vw;
    font-weight: 500;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: 20px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s3-sec3-merit-lead{
    margin-block: 1.67vw 0;
    margin-inline: auto;
    display: block;
    width: fit-content;
    color: #32634B;
    font-size: 1.25vw;
    font-weight: 600;
    padding-inline-start: 1.67vw;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
    &::before{
        content: "";
        display: block;
        width: 1.67vw;
        height: 1px;
        background-color: #32634B;
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        @media screen and (max-width: 991px){
        display: none;
        }
    }
}

.s3-sec3-img{
    display: block;
    margin-block-start: 3.33vw;
    width: 55.56vw;
    max-width: 100%;
    margin-inline: auto;
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 500px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s3-point-button{
    width: 25vw;
    max-width: 100%;
    margin-block-start: 3.33vw;
    @media screen and (max-width: 1200px){
        width: 85%;
    }
    @media screen and (max-width: 991px){
        width: 80%;
        max-width: 450px;
        margin-inline: auto;
    }
}

.s3-point-button-link{
    display: block;
    width: 100%;
    font-size: 1.11vw;
    font-weight: 500;
    text-align: center;
    padding: 1.94vw 0;
    border: 1px solid #000;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &::after{
        content: "";
        display: block;
        width: 2.36vw;
        height: 2.36vw;
        background: url(../img/s3/s3-button-pdf.svg) no-repeat center center / 100%;
        position: absolute;
        top: 50%;
        right: 0.83vw;
        translate: 0 -50%;
        transition: all .3s;
        @media screen and (max-width: 1200px){
            width: 3.1875vw;
            height: 3.1875vw;
            right: 1.2vw;
        }
        @media screen and (max-width: 991px){
            width: 34px;
            height: 34px;
            right: 1.2vw;
        }
        @media screen and (max-width: 499px){
            width: 6.8vw;
            height: 6.8vw;
            right: 1.2vw;
        }
    }
    &:hover{
        color: #000;
        &::after{
            translate: -25% -50%;
        }
    }
}

.s3-sec7-steps{
    margin-block-start: 4.44vw;
}

.s3-sec7-steps-title{
    display: block;
    font-size: 1.67vw;
    font-weight: 500;
    line-height: 2;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s3-sec7-steps-list{
    margin-block-start: 2.78vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.44vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        gap: 60px;
    }
}

.s3-sec7-steps-item{
    .service-step-title{
        padding-block-end: 1.25vw;
        border-bottom: 1px solid #CCC;
        margin-block-end: 1.25vw;
    }
}

.service-step-title{
    display: block;
    font-size: 1.67vw;
    font-weight: 500;
    padding-inline-start: 1.39vw;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
    &::before{
        content: "";
        display: block;
        width: 0.28vw;
        height: 1.67vw;
        background-color: #32634B;
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 calc(-50% - 1.25vw / 2);
    }
    .--prefix{
        color: #32634B;
        font-size: 0.83vw;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 12px;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
    }

    .--no{
        color: #32634B;
        font-size: 1.81vw;
        margin-inline-end: 0.5em;
        @media screen and (max-width: 1200px){
            font-size: 2.4375vw;
        }
        @media screen and (max-width: 991px){
            font-size: 26px;
        }
        @media screen and (max-width: 499px){
            font-size: 22px;
        }
    }
}

/* ------------------------------------------------------------------
service-s4.html（工事監理）
------------------------------------------------------------------- */
.s4-contents-section1,
.s4-contents-section2,
.s4-contents-section3,
.s4-contents-section4{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}

.s4-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}
.s4-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.s4-top-greeting-img{
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s4-flow-list{

}

.s4-flow-item{
    display: grid;
    grid-template-columns: 54.61% 1fr;
    column-gap: 6.25vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
    &:not(:first-child){
        margin-block-start: 4.44vw;
    }
}

.s4-flow-title{
    grid-row: 1 / 2;
    grid-column: 1 / 3;
    padding-block-start: 2.22vw;
    border-top: 1px solid #CCC;
    display: flex;
    align-items: start;
    column-gap: 1.39vw;
    @media screen and (max-width: 991px){
        grid-column: 1 / 2;
    }
    .--prefix{
        flex-shrink: 0;
        color: #32634B;
        font-size: 0.83vw;
        padding-inline-start: 1.39vw;
        position: relative;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 12px;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
        &::before{
            content: "";
            display: block;
            width: 0.28vw;
            height: 1.67vw;
            background-color: #32634B;
            position: absolute;
            top: 50%;
            left: 0;
            translate: 0 -50% ;
        }
    }

    .--no{
        color: #32634B;
        font-size: 1.81vw;
        @media screen and (max-width: 1200px){
            font-size: 2.4375vw;
        }
        @media screen and (max-width: 991px){
            font-size: 26px;
        }
        @media screen and (max-width: 499px){
            font-size: 22px;
        }
    }
    .--text{
        display: inline-block;
        font-size: 1.67vw;
        font-weight: 500;
        line-height: 1.5;
        @media screen and (max-width: 1200px){
            font-size: 2.25vw;
        }
        @media screen and (max-width: 991px){
            font-size: 24px;
        }
        @media screen and (max-width: 499px){
            font-size: 20px;
        }
    }

}

.s4-flow-content{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    @media screen and (max-width: 991px){
        grid-row: 3 /4;
    }
}

.s4-flow-content-list{
    margin-block-start: 3.33vw;
    list-style-type: disc;
    padding-inline-start: 1.5em;
}

.s4-flow-content-item{
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &:not(:first-child){
        margin-block-start: 1em;
    }
    &::marker{
        color: #CCC;
        font-size: 0.83vw;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 1em;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
    }
}

.s4-flow-text{
    margin-block-start: 3.33vw;
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.6;
    padding-inline-start: 1.1em;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &::before{
        content: "◎";
        display: block;
        font-size: 1em;
        line-height: inherit;
        position: absolute; 
        top: 0;
        left: 0;
    }
}

.s4-flow-img{
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    margin-block-start: auto;
    @media screen and (max-width: 991px){
        grid-column: 1 / 2;
    }
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s4-sec-box{
    margin-block-start: 3.33vw;
    margin-inline: auto;
    padding: 2.92vw 4.86vw 2.92vw 4.17vw;
    border: 1px solid #CCC;
    position: relative;
    .--corner{
        position: absolute;
        &:nth-of-type(1){
            top: -1px;
            left: 0;
        }
        &:nth-of-type(2){
            top: -1px;
            right: -1px;
            scale: -1 1;
        }
        &:nth-of-type(3){
            bottom: -1px;
            right: -1px;
            rotate: 180deg;
        }
        &:nth-of-type(4){
            bottom: -1px;
            left: 0;
            scale: 1 -1;
        }
        &::before,&::after{
            content: "";
            display: block;
            width: 0.76vw;
            height: 1px;
            background-color: #32634B;
        }
        &::after{
            rotate: 90deg;
            transform-origin: left top;
        }
    }

}

.s4-sec-box-content{
    display: grid;
    grid-template-columns: 58% 1fr;
    column-gap: 6.32vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
}

.s4-sec-box-title{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    font-size: 1.67vw;
    font-weight: 500;
    line-height: 2;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.s4-sec-box-list{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-block-start: 3.33vw;
    list-style-type: disc;
    list-style-position: outside;
    padding-inline-start: 1em;
    margin-inline-start: 1em;
    @media screen and (max-width: 991px){
        margin-block-start: 0;
    }
}

.s4-sec-box-item{
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &:not(:first-child){
        margin-block-start: 1em;
    }
    &::marker{
        color: #CCC;
        font-size: 0.83vw;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 1em;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
    }
}

.s4-sec-box-img{
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    margin-block-start: auto;
    @media screen and (max-width: 991px){
        grid-row: 3 / 4;
        grid-column: 1 / 2;
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

/* ------------------------------------------------------------------
virent.html（エントランス改修工事・資産価値向上）
------------------------------------------------------------------- */
.virent-contents-section1,
.virent-contents-section2,
.virent-contents-section3,
.virent-contents-section4{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}

.virent-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}

.virent-top-greeting-content{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5.56vw;
    align-items: center;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
}


.virent-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.virent-top-greeting-img{
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.virent-sec1-box{
    margin-block-start: 3.33vw;
    width: 60.56vw;
    max-width: 100%;
    margin-inline: auto;
    padding: 2.22vw 5.56vw 2.22vw 6.25vw;
    border: 1px solid #CCC;
    position: relative;
    @media screen and (max-width: 991px){
        width: 100%;
        padding: 5.6vw 1.56vw 5.6vw 1.25vw;
    }
    .--corner{
        position: absolute;
        &:nth-of-type(1){
            top: -1px;
            left: 0;
        }
        &:nth-of-type(2){
            top: -1px;
            right: -1px;
            scale: -1 1;
        }
        &:nth-of-type(3){
            bottom: -1px;
            right: -1px;
            rotate: 180deg;
        }
        &:nth-of-type(4){
            bottom: -1px;
            left: 0;
            scale: 1 -1;
        }
        &::before,&::after{
            content: "";
            display: block;
            width: 0.76vw;
            height: 1px;
            background-color: #32634B;
        }
        &::after{
            rotate: 90deg;
            transform-origin: left top;
        }
    }
}

.virent-sec1-box-text{
    font-size: 1.39vw;
    font-weight: 500;
    text-align: center;
    margin: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: 20px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.virent-sec1-box-img{
    width: 1.67vw;
    height: 1.67vw;
    margin-inline: auto;
    margin-block: 0.83vw;
    img{
        width: 100%;
        height: auto;
        display: block;
    }
    @media screen and (max-width: 1200px){
        width: 2.25vw;
        height: 2.25vw;
    }
    @media screen and (max-width: 991px){
        width: 24px;
        height: 24px;
    }
    @media screen and (max-width: 499px){
        width: 20px;
        height: 20px;
    }
}

.virent-sec2-box-img{
    margin-block-start: 4.44vw;
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.virent-sec2-text{
    margin-block-start: 1.81vw;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    padding-inline: 4.17vw;
    background-color: #F1F9EC;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.25vw;
    font-weight: 500;
    line-height: 2;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.virent-sec3-content{
    margin-block-start: 4.44vw;
    display: grid;
    grid-template-columns: 4.44vw 1fr 1fr 1fr;
    column-gap: 3.33vw;
    row-gap: 3.68vw;
    align-items: center;
    grid-template-areas:
        "text-before img-before01 img-before02 img-before03"
        "text-after img-after01 img-after02 img-after03";
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr 1fr;
        column-gap: 4vw;
        row-gap: 4vw;
        grid-template-areas:
        "text-before text-after"
        "img-before01 img-after01"
        "img-before02 img-after02"
        "img-before03 img-after03";
    }

    .--grid-item{
        &:nth-child(1){
            grid-area: text-before;
        }
        &:nth-child(2){
            grid-area: text-after;
        }
        &:nth-child(3){
            grid-area: img-before01;
        }
        &:nth-child(4){
            grid-area: img-after01;
        }
        &:nth-child(5){
            grid-area: img-before02;
        }
        &:nth-child(6){
            grid-area: img-after02;
        }
        &:nth-child(7){
            grid-area: img-before03;
        }
        &:nth-child(8){
            grid-area: img-after03;
        }
    }

    .--arrow{
        position: relative;
        &::after{
            content: "";
            position: absolute;
            top: calc(100% + 1.25vw);
            left: 50%;
            translate: -50% 0;
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 1.18vw 1.25vw 0 1.25vw;
            border-color: #32634B transparent transparent transparent;
            @media screen and (max-width: 991px){
                rotate: -90deg;
                top: 50%;
                left: 100%;
                translate: 0 -50%;
                border-width: 2.36vw 2.5vw 0 2.5vw;
            }
        }
    }
}
.virent-sec3-content-text{
    font-size: 1.25vw;
    font-weight: 500;
    text-align: center;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
}

.virent-sec3-content-img{
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.virent-sec3-textbox{
    margin-block-start: 2.78vw;
    width: 86.54%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 5.56vw 1fr;
    border: 1px solid #CCC;
    @media screen and (max-width: 991px){
        margin-block-start: 6vw;
        width: 100%;
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .--prefix{
        background-color: #32634B;
        color: #fff;
        font-size: 1.11vw;
        font-weight: 700;
        display: grid;
        place-items: center;
        @media screen and (max-width: 1200px){
            font-size: 1.5vw;
        }
        @media screen and (max-width: 991px){
            padding-block: 0.3em;
            font-size: 16px;
        }
        @media screen and (max-width: 499px){
            font-size: 15px;
        }
    }
}

.virent-sec3-text{
    padding: 0.2em 2.22vw;
    font-size: 1.25vw;
    line-height: 2;
    margin: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
}

/* ------------------------------------------------------------------
service-s6.html（アフターサポート）
------------------------------------------------------------------- */
.s6-contents-section1,
.s6-contents-section2,
.s6-contents-section3,
.s6-contents-section4{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #FFF;
    overflow: hidden;
    .row{
        justify-content: space-between;
    }
}

.s6-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}
.s6-sec-text {
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}
.s6-top-greeting-img{
    @media screen and (max-width: 991px){
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s6-sec-table{
    margin-block-start: 3.06vw;
    width: 100%;
    max-width: 980px;
    @media screen and (min-width: 1440px){
        max-width: 68.1vw
    }

    th,td{
        border-top: 1px solid #CCC;
        border-bottom: 1px solid #CCC;
        text-align: left;
        padding: 1em 2.78vw;
        font-size: 1.11vw;
        font-weight: 500;
        line-height: 2.2;
        position: relative;
        @media screen and (max-width: 1200px){
            font-size: 1.5vw;
        }
        @media screen and (max-width: 991px){
            font-size: 16px;
        }
        @media screen and (max-width: 499px){
            font-size: 15px;
        }
    }

    thead{
        background-color: #F1F9EC;
        th{
            font-weight: 700;
        }
    }
    tbody{
        th{
            width: 16.67vw;
            @media screen and (max-width: 991px){
                width: 175px;
            }
            @media screen and (max-width: 499px){
                width: 22vw;
            }
        }
    }

    .--point{
        display: inline-block;
        width: fit-content;
        background-color: #32634B;
        color: #fff;
        font-size: 0.83vw;
        line-height: 1.2;
        border-radius: 10px;
        padding: 0.2em 0.7em;
        margin-inline-start: 1em;
        position: absolute;
        top: 50%;
        right: 3vw;
        translate: 0 -50%;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
            right: 1vw;
        }
        @media screen and (max-width: 991px){
            font-size: 12px;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
            top: 5%;
            left: 0;
            translate: 0 0;
        }
        .--no{
            font-size: 1.39vw;
            @media screen and (max-width: 1200px){
                font-size: 1.875vw;
            }
            @media screen and (max-width: 991px){
                font-size: 20px;
            }
            @media screen and (max-width: 499px){
                font-size: 20px;
            }
        }
        &::before{
            content: "";
            display: inline-block;
            border-style: solid;
            border-width: 5.5px 9.5px 5.5px 0px;
            border-color: transparent #32634B transparent transparent;
            position: absolute;
            top: 50%;
            left: 0;
            translate: calc(-100% + 1px) -50%;
            @media screen and (max-width: 499px){
                top: calc(100% - 1px);
                left: 50%;
                translate: -50% 0;
                rotate: -90deg;
            }
        }
    }
}

.s6-sec3-points{
    display: grid;
    grid-template-columns: 33.33vw 1fr 1fr;
    column-gap: 8px;
    justify-content: space-between;
    & > *:nth-child(1){
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    & > *:nth-child(2){
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    & > *:nth-child(3){
        grid-column: 2 / 3;
        grid-row: 1 / 3;
    }
    & > *:nth-child(4){
        grid-column: 3 / 4;
        grid-row: 1 / 3;
    }
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr 1fr;
        & > *:nth-child(1){
            grid-column: 1 / 3;
            grid-row: 1 / 2;
        }
        & > *:nth-child(2){
            grid-column: 1 / 3;
            grid-row: 2 / 3;
        }
        & > *:nth-child(3){
            grid-column: 1 / 2;
            grid-row: 3 / 4;
        }
        & > *:nth-child(4){
            grid-column: 2 / 3;
            grid-row: 3 / 4;
        }
    }

}

.s6-sec3-textbox{
    margin-block-start: 2.78vw;
    width: 100%;
    display: grid;
    grid-template-columns: 5.56vw 1fr;
    border: 1px solid #CCC;
    @media screen and (max-width: 991px){
        margin-block-start: 6vw;
        max-width: 100%;
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .--prefix{
        background-color: #32634B;
        color: #fff;
        font-size: 1.11vw;
        font-weight: 700;
        display: grid;
        place-items: center;
        @media screen and (max-width: 1200px){
            font-size: 1.5vw;
        }
        @media screen and (max-width: 991px){
            padding-block: 0.3em;
            font-size: 16px;
        }
        @media screen and (max-width: 499px){
            font-size: 15px;
        }
        .--no{
            display: block;
            text-align: center;
            font-size: 2.50vw;
            line-height: 1;
            @media screen and (max-width: 1200px){
                font-size: 3.375vw;
            }
            @media screen and (max-width: 991px){
                font-size: 36px;
            }
            @media screen and (max-width: 499px){
                font-size: 30px;
            }
        }
    }
}

.s6-sec3-text-area{
    padding: 1.67vw;
}

.s6-sec3-text-title{
    font-size: 1.25vw;
    font-weight: 600;
    line-height: 1.2;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
}
.s6-sec3-text{
    margin-block: 1.67vw 0;
    font-size: 1.04vw;
    line-height: 1.2;
    @media screen and (max-width: 1200px){
        font-size: 1.4vw;
    }
    @media screen and (max-width: 991px){
        font-size: 15px;
    }
    @media screen and (max-width: 499px){
        font-size: 14px;
    }
}

.s6-sec-img{
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.s6-sec4-list{

}

.s6-sec4-item{
    display: grid;
    grid-template-columns: 54.61% 1fr;
    grid-template-rows: auto 1fr;
    column-gap: 6.25vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
    &:not(:first-child){
        margin-block-start: 4.44vw;
    }
}

.s6-sec4-title{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    padding-block-end: 1.67vw;
    padding-inline-start: 1.1em;
    border-bottom: 1px solid #CCC;
    display: inline-block;
    font-size: 1.67vw;
    font-weight: 500;
    line-height: 1.5;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: clamp(1.25rem, 0.995rem + 0.81vw, 1.5rem);
        grid-row: 1 / 2;
        grid-column: 1 / 2;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
    &::before{
        content: "";
        display: block;
        width: 0.5em;
        height: 0.5em;
        background-color: #32634B;
        border-radius: 50%;
        position: absolute;
        top: 0.5em;
        left: 0;
    }
}

.s6-sec4-content{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    @media screen and (max-width: 991px){
        grid-row: 3 /4;
    }
}
.s6-sec4-text{
    margin-block-start: 1.67vw;
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.6;
    position: relative;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.s6-sec4-img{
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    margin-block-start: auto;
    @media screen and (max-width: 991px){
        grid-row: 2 / 3;
        grid-column: 1 / 2;
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

/* ------------------------------------------------------------------
tatekae-consulting.html（分譲マンション再生コンサルティング）
------------------------------------------------------------------- */
.tatekae-contents-section1 {
    display: block;
    width: 100%;
    height: 33vw;
    margin: 0;
    padding: 8% 0 8% 5%;
    background-color: #FFF;
    overflow: hidden;
    @media screen and (max-width: 1200px){
        height: 37vw;
    }
    @media screen and (max-width: 991px){
        height: auto;
        padding: 8% 5% 4% 5%;
    }
    .row{
        justify-content: space-between;
    }
    .concept-slide-wrap{
        transform-origin: 50% 25vw;
        margin-top: -37%;   /* スライドの位置を調整 */
    }
}
.tatekae-top-greeting-lead {
    display: block;
    font-size: 2.22vw;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    margin: 0;
    padding: 0 0 3%;
    @media screen and (max-width: 1200px){
        font-size: 3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 32px;
    }
    @media screen and (max-width: 499px){
        font-size: 28px;
    }
}
.tatekae-top-greeting-text {
    display: block;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 18px;
    }

    span{
        font-size: 1.67vw;
        @media screen and (max-width: 1200px){
            font-size: 1.7vw;
        }
        @media screen and (max-width: 991px){
            font-size: 24px;
        }
        @media screen and (max-width: 499px){
            font-size: 22px;
        }
    }
}

.tatekae-contents-section2{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 4% 5%;
    background-color: #F6F5F3;

    .second-subtitle-title{
        padding-block-end: 1.11vw;
        border-bottom: 1px solid #CCC;
        margin-block-end: 1.11vw;
    }
}

.tatekae-sec-text{
    display: block;
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.0;
    text-align: left;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
}

.tatekae-case-list{
    margin-block-start: 6vw;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 3.33vw;
}

.tatekae-case-item{
    background-color: #fff;
    padding: 2.78vw;

    &:nth-of-type(1){
        --main-color: #FF0909;
        --box-color: #FFEFEF;
        --img-max-width: 400px;
    }
    &:nth-of-type(2){
        --main-color: #32634B;
        --box-color: #F1F9EC;
        --img-max-width: 200px;
    }

}

.tatekae-case-title{
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    padding: 0.2em 0.5em;
    background-color: var(--main-color);
    color: #fff;
    font-size: 1.67vw;
    font-weight: 700;
    line-height: 1.5;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.tatekae-case-img{
    display: block;
    margin-block-start: 2.22vw;
    @media screen and (max-width: 991px){
        margin-block-start: 1.11vw;
        max-width: var(--img-max-width);
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.tatekae-case-box{
    margin-block-start: 2.22vw;
    padding: 2.22vw 2.22vw 2.22vw 11vw;
    background-color: var(--box-color);
    position: relative;
    @media screen and (max-width: 991px){
        margin-block-start: 4.44vw;
        padding: 4.44vw 3.33vw 4.44vw 11vw;
    }
    @media screen and (max-width: 499px){
        padding: 10vw 3.33vw 4.44vw 10vw;
    }


}

.tatekae-contents-section3{
    display: block;
    width: 100%;
    margin: 0;
    padding: 8% 5% 8% 5%;
}

.tatekae-sec3-content{
    margin-block-start: 4.44vw;
}

.tatekae-sec3-content-title{
    display: block;
    padding-block-end: 1.67vw;
    border-bottom: 1px solid #CCC;
    margin-block-end: 1.67vw;
    font-size: 1.67vw;
    font-weight: 500;
    line-height: 1.5;
    @media screen and (max-width: 1200px){
        font-size: 2.25vw;
    }
    @media screen and (max-width: 991px){
        font-size: 24px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.tatekae-box-icon{
    display: grid;
    place-items: center;
    width: 5.56vw;
    height: 5.56vw;
    border-radius: 50%;
    background-color: var(--main-color);
    color: #fff;
    font-size: 1.25vw;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    top: 2.22vw;
    left: 2.22vw;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 2.5vw;
        width: 11vw;
        height: 11vw;
        top: 0;
        left: 0;
        translate: -25% -50%;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
        width: 65px;
        height: 65px;
        translate: -15% -50%;
    }
}

.tatekae-case-box-list{
    display: grid;
    row-gap: 1.67vw;
    list-style-type: disc;
}

.tatekae-case-box-item{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.25vw;
    font-weight: 500;
    line-height: 1.2;
    @media screen and (max-width: 1200px){
        font-size: 1.3vw;
    }
    @media screen and (max-width: 991px){
        font-size: 18px;
    }
    @media screen and (max-width: 499px){
        font-size: 16px;
    }
}

.tatekae-sec-box{
    margin-block-start: 3.33vw;
    margin-inline: auto;
    max-width: 910px;
    padding: 2.92vw 4.86vw 2.92vw 4.17vw;
    border: 1px solid #CCC;
    position: relative;
    @media screen and (min-width: 1440px){
        max-width: 63.2vw;
    }
    .--corner{
        position: absolute;
        &:nth-of-type(1){
            top: -1px;
            left: 0;
        }
        &:nth-of-type(2){
            top: -1px;
            right: -1px;
            scale: -1 1;
        }
        &:nth-of-type(3){
            bottom: -1px;
            right: -1px;
            rotate: 180deg;
        }
        &:nth-of-type(4){
            bottom: -1px;
            left: 0;
            scale: 1 -1;
        }
        &::before,&::after{
            content: "";
            display: block;
            width: 0.76vw;
            height: 1px;
            background-color: #32634B;
        }
        &::after{
            rotate: 90deg;
            transform-origin: left top;
        }
    }

}

.tatekae-sec-box-content{
    display: grid;
    grid-template-columns: 58% 1fr;
    column-gap: 6.32vw;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
}

.tatekae-sec-box-title{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 2;
    @media screen and (max-width: 1200px){
        font-size: 1.875vw;
    }
    @media screen and (max-width: 991px){
        font-size: 20px;
    }
    @media screen and (max-width: 499px){
        font-size: 20px;
    }
}

.tatekae-sec-box-list{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-block-start: 3.33vw;
    list-style-type: disc;
    list-style-position: outside;
    padding-inline-start: 1em;
    margin-inline-start: 1em;
    @media screen and (max-width: 991px){
        margin-block-start: 0;
    }
}

.tatekae-sec-box-item{
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px){
        font-size: 1.5vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    &:not(:first-child){
        margin-block-start: 1em;
    }
    &::marker{
        color: #CCC;
        font-size: 0.83vw;
        @media screen and (max-width: 1200px){
            font-size: 1.125vw;
        }
        @media screen and (max-width: 991px){
            font-size: 1em;
        }
        @media screen and (max-width: 499px){
            font-size: 2.4vw;
        }
    }
}

.tatekae-sec-box-img{
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    margin-block-start: auto;
    @media screen and (max-width: 991px){
        grid-row: 3 / 4;
        grid-column: 1 / 2;
        width: 100%;
        max-width: 450px;
        margin-inline: auto;
    }
    img{
        width: 100%;
        height: auto;
        display: block;
    }
}

.tatekae-sec3-button-area {
    margin-block-start: 9.028vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 20px;
    @media screen and (max-width: 991px){
        grid-template-columns: 1fr;
    }
}

.tatekae-sec3-button-wrapper{

}

.tatekae-sec3-button {
    display: grid;
    place-items: center;
    position: relative;
    width: 100%;
    height: 80px;
    text-align: center; 
    margin: 0 auto;
    padding: 0 30px;
    background: #FFF;
    border: solid 1px #000;
}

.tatekae-sec3-button::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #32634B;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.tatekae-sec3-button:hover::before {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1,1);
    -ms-transform: scale(1,1);
    transform: scale(1,1);
}
.tatekae-sec3-button .text {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.54em;
    position: relative;
    font-size: 1.04vw;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
    text-align: center;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
    @media screen and (max-width: 1200px){
        font-size: 1.4vw;
    }
    @media screen and (max-width: 991px){
        font-size: 16px;
    }
    @media screen and (max-width: 499px){
        font-size: 15px;
    }
    span{
        display: inline;
    }
}
.tatekae-sec3-button:hover {
    border: solid 2px #32634B;
}
.tatekae-sec3-button:hover .text {
    color: #FFF;
}
.tatekae-sec3-button .arrow {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #000;
    position: absolute;
    right: 15px;
    top: 45%;
    margin-top: -3px;
    transition: all .3s;
    -webkit-transition: all .3s;
    z-index: 2;
}
.tatekae-sec3-button:hover .arrow {
    border-color: transparent transparent transparent #FFF;
    right: 20px;
}

