@charset "UTF-8";

body{
    font-family: "Noto Sans", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto !important;
    color:#1e1e1e;
    border-left:1px solid #ccc;
    border-right:1px solid #ccc;
}

.ff-lato-bold {
  font-family: "Lato", serif;
  font-weight: 700;
  font-style: normal;
}

.ff-lato-black {
  font-family: "Lato", serif;
  font-weight: 900;
  font-style: normal;
}
.ff-noto-r {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.ff-noto-m {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.ff-noto-b {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
img, svg {
    width: 100%;
}

@media (min-width: 576px) {
    .about .container, .service .container, .outline .container {
        max-width: 90%;
    }
}

.header-pc {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: clamp(1.25rem, 0.000rem + 2.604vw, 3.125rem);
    height: clamp(3.75rem, 2.840rem + 3.883vw, 7.5rem);
}
.site-title {
    width: clamp(33.5rem, 0.000rem + 69.792vw, 83.75rem);
}
.pc-tel {
    width: clamp(11rem, 0.000rem + 22.917vw, 27.5rem);
    background: #267632;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(0.75rem, 0.000rem + 1.563vw, 1.875rem);
    color: #fff;
    letter-spacing: 0.08em;
}
.pc-tel p{
    margin-bottom:0;
}
.pc-tel .tel-number {
    font-size: clamp(1.1rem, 0.000rem + 2.292vw, 2.75rem);
    letter-spacing: 0.04em;
}
/* about us*/
h2 {
    font-size: clamp(1.5rem, 0.000rem + 3.125vw, 3.75rem) !important;
    letter-spacing: 0.04em;
    line-height: 1.0 !important;
    padding: 0 5px;
}
/* about us*/
.about{
    padding-top:clamp(2.125rem, 0.000rem + 4.427vw, 5.313rem);
    padding-bottom: clamp(2.125rem, 0.000rem + 4.427vw, 5.313rem);
}
.about h2 {
    display: inline-block;
    background: #267632;
    color:#fff;
    margin-bottom: 1em;
}
.about-text{
    margin-left: clamp(2.688rem, 0.688rem + 4.167vw, 5.688rem);
}
.about-text p{
    font-size: clamp(0.75rem, 0.000rem + 1.563vw, 1.875rem);
    letter-spacing: 0.08em;
    line-height: 1.95;
}
.aboutus-img {
    width: clamp(11.25rem, 0.000rem + 23.438vw, 28.125rem);
    position: relative;
    box-shadow: clamp(1.25rem, 0.000rem + 2.604vw, 3.125rem) clamp(1.438rem, 0.104rem + 2.778vw, 3.438rem) #689f70;
}
.service {
    background: #dfebe0;
    border-radius: clamp(1.25rem, -0.539rem + 7.634vw, 3.125rem);
    padding-top: clamp(1.875rem, 0.000rem + 3.906vw, 4.688rem);
    padding-bottom: clamp(2.5rem, 0.417rem + 4.34vw, 5.625rem);
}
.section-title {
    display: flex;
    align-items: center;
    justify-content: start;
}
.service h2 {
    display: inline-block;
    background: #fff;
    color:#267632;
    margin-bottom: 1em;
}
.title-jp {
    width: clamp(11.25rem, 0.000rem + 23.438vw, 28.125rem);
    margin-left:clamp(2.125rem, -0.083rem + 4.601vw, 5.438rem);
    margin-bottom: 3em;
}
.outline .title-jp{
    width: clamp(3.594rem, 0.002rem + 7.483vw, 8.981rem);
}
ul.service-items {
    padding-left: 0;
    list-style: none;
}
.service-item01,.service-item02,.service-item03,.service-item04 {
    display: flex;
    align-items: center;
    justify-content: start;
    height: clamp(2rem, 0.000rem + 4.167vw, 5rem);
    border-width: clamp(0.063rem, -0.021rem + 0.174vw, 0.188rem);
    border-style: solid;
    border-radius: clamp(0.5rem, 0.000rem + 1.042vw, 1.25rem);
    background: #fff;
}
.service-item01{
    border-color:#22ac3f;
    margin-bottom: clamp(0.75rem, -0.250rem + 2.083vw, 2.25rem);
}
.service-item02{
    border-color:#3d91c5;
    margin-bottom: clamp(0.75rem, -0.250rem + 2.083vw, 2.25rem);
}
.service-item03{
    border-color:#f39800;
    margin-bottom: clamp(0.75rem, -0.250rem + 2.083vw, 2.25rem);
}
.service-item04 {
    border-color:#a5a5a5;
}
.service h3 {
    width: clamp(7rem, 0.000rem + 14.583vw, 17.5rem);
    border-width: clamp(0.375rem, -0.083rem + 0.955vw, 1.063rem);
    border-radius: clamp(0.375rem, -0.042rem + 0.868vw, 1rem);
    font-size: clamp(0.625rem, 0.000rem + 1.302vw, 1.563rem);
    color:#fff;
    letter-spacing: 0.16em;
    margin-bottom: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.service-item01 h3{
    background: #22ac38;
}
.service-item02 h3{
    background: #3d91c5;
}
.service-item03 h3{
    background: #f39800;
}
.service-item04 h3 {
    background: #a5a5a5;
}
ul.item {
    list-style: none;
    font-size: clamp(0.563rem, 0.021rem + 1.128vw, 1.375rem);
    display: flex;
    align-items: center;
    justify-content: start;
    padding-left: clamp(0.75rem, 0.000rem + 1.563vw, 1.875rem);
}
ul.item li{
    position: relative;
    padding-left: clamp(0.688rem, 0.521rem + 0.347vw, 0.938rem);
    margin-right:0.8em;
}
ul.item li::before{
    content:'';
    position: absolute;
    top:50%;
    left:0;
    transform: translateY(-50%);
    width: clamp(0.5rem, 0.375rem + 0.26vw, 0.688rem);
    height: clamp(0.5rem, 0.375rem + 0.26vw, 0.688rem);
    border-radius: 0.5em;
}
.service-item01 ul.item li::before{
    background: #39b44c;
}
.service-item02 ul.item li::before{
    background: #3d91c5;
}
.service-item03 ul.item li::before{
    background: #f39800;
}
.service-item04 ul.item li::before{
    background: #8e8e8e;
}
.outline {
    padding-top: clamp(1.875rem, -0.208rem + 4.34vw, 5rem);
    padding-bottom: clamp(1.875rem, -0.208rem + 4.34vw, 5rem);
}
.outline h2 {
    display: inline-block;
    background: #267632;
    color:#fff;
    margin-bottom: 1em;
    white-space: nowrap;
}
.outline table {
    border-top:clamp(0.219rem, 0.196rem + 0.097vw, 0.313rem) solid #267632;
    border-bottom:clamp(0.219rem, 0.196rem + 0.097vw, 0.313rem) solid #267632;
    width: 100%;
    margin: 0 auto;
}
.outline table tr{
    height: clamp(2rem, 1.272rem + 3.107vw, 5rem);
}
.outline table tr:nth-child(2n+1){
    background: #eef4ef;
}
th.item-title {
    font-size: clamp(0.563rem, 0.021rem + 1.128vw, 1.375rem);
    letter-spacing: 0.1em;
    color: #267632;
    padding-left: clamp(2.125rem, 0.148rem + 4.304vw, 5.313rem);
}
th.item-title-en{
    font-size: clamp(0.5rem, -0.042rem + 1.128vw, 1.313rem);
    letter-spacing: 0.08em;
    color: #267632;
}
.outline td{
    font-size: clamp(0.688rem, 0.445rem + 1.036vw, 1.688rem);
    letter-spacing: 0.08em;
}
section.link-list {
/*    background: url(img/footer-bg-pc.jpg)no-repeat;
    background-size: cover; */
    padding: clamp(3.125rem, 1.042rem + 4.34vw, 6.25rem) 0;
    background: #dfebe0;
}

.link-item a{
    width: clamp(16rem, -6.901rem + 97.71vw, 40rem);
}
.copyright{
    font-size: clamp(0.375rem, 0.000rem + 0.781vw, 0.938rem);
    letter-spacing: 0.16em;
    height: clamp(1.25rem, 0.000rem + 2.604vw, 3.125rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #267632;
    color:#fff;
}
.copyright p{
    margin-bottom: 0;
}
/*メディアクエリ*/

@media(max-width:767px){
body{
    border: none;
    }
header{
    position: fixed;
    width: 100%;
    background: #fff;
    z-index:10;
}
.header-sp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
    height: clamp(3.75rem, 0.172rem + 15.267vw, 7.5rem);
    position: relative;
}
.site-title {
    width: clamp(18.313rem, 0.839rem + 74.555vw, 36.625rem);
}
/*ハンバーガーメニュー*/
.menu {
    background: #267632;
    width: clamp(3.75rem, 0.172rem + 15.267vw, 7.5rem);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
/*navボタン*/
.nav_toggle {
    display: block;
    position: relative;
    width: clamp(1.875rem, 0.086rem + 7.634vw, 3.75rem);
    height: clamp(1.375rem, 0.063rem + 5.598vw, 2.75rem);
}
.nav_toggle i {
    display: block;
    width: 100%;
    height: clamp(0.125rem, 0.006rem + 0.509vw, 0.25rem);
    background-color: #fff;
    position: absolute;
    transition: transform .5s, opacity .5s;
    border-radius: 5px;
}
.nav_toggle i:nth-child(1) {
    top: 0;
}
.nav_toggle i:nth-child(2) {
    width: 60%;
    top: 0;
    bottom: 0;
    margin: auto;
}
.nav_toggle i:nth-child(3) {
    width: 26%;
    bottom: 0;
}
/*navボタンクリック後*/
.nav_toggle.show i:nth-child(1) {
    width: 100%;
    transform: translateY(clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem)) rotate(-30deg);
}
.nav_toggle.show i:nth-child(2) {
    opacity: 0;
}
.nav_toggle.show i:nth-child(3) {
    width: 100%;
    transform: translateY(calc(-1 * clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem))) rotate(30deg);
}
/*メニュー*/
.nav {
    position: fixed;
    top: clamp(3.75rem, 0.172rem + 15.267vw, 7.5rem);
    left: 100%;
    width: 76%;
    padding-top:clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);  	
    padding-left: clamp(0.938rem, 0.043rem + 3.817vw, 1.875rem) !important;
    padding-right: clamp(0.938rem, 0.043rem + 3.817vw, 1.875rem);
    background:rgba(255,255,255,.95);
    flex-direction: column;
    margin: 0;
    height: 100%;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    overflow-y: scroll;
    z-index:100;
}
.nav.show {
    left:24%;
}
.nav ul {
    padding-left: 0;
    list-style: none;
    width: 100%;
}
.nav a{
    text-decoration: none;
}
ul.nav-menu-ul-01{
    font-size: clamp(0.875rem, 0.040rem + 3.562vw, 1.75rem);
}
ul.nav-menu-ul-01 a {
    color: #141414;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:clamp(1.063rem, 0.049rem + 4.326vw, 2.125rem);
    padding-left: 1em;
    padding-right: 0;
    }
ul.nav-menu-ul-01 a span{
    font-size: clamp(0.813rem, 0.037rem + 3.308vw, 1.625rem);
    color:#267632;
    letter-spacing: 0.04em;
}
ul.nav-menu-ul-01 li{
    border-bottom: 1px solid #92ba98;
}
ul.nav-menu-ul-02 a{
    font-size: clamp(0.813rem, 0.037rem + 3.308vw, 1.625rem);
    color:#1e1e1e;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(3.125rem, 0.143rem + 12.723vw, 6.25rem);
    border:1px solid #267632;
    border-radius: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
}
ul.nav-menu-ul-02 li{
    margin-bottom: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
}
.sp-tel a {
    font-size: clamp(1.063rem, 0.049rem + 4.326vw, 2.125rem);
    letter-spacing: 0.08em;
    background: #267632;
    color:#fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(3.125rem, 0.143rem + 12.723vw, 6.25rem);
    border-radius: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
}
.sp-tel a .tel-number{
    font-size: clamp(1.563rem, 0.072rem + 6.361vw, 3.125rem);
    letter-spacing: 0.04em;
}
h2{
    font-size: clamp(1.938rem, 0.089rem + 7.888vw, 3.875rem) !important;
}
.about {
    text-align: center;
    margin-bottom: clamp(3.125rem, 0.143rem + 12.723vw, 6.25rem);
}
.about h2{
    margin-bottom: 0.6em;
}
.about-text{
    margin-left:0;
}
.about-text p{
    font-size: clamp(0.875rem, 0.040rem + 3.562vw, 1.75rem);
    letter-spacing: 0.12em;
    text-align: center;
    line-height: 1.78;
    margin-bottom: 1.5em;
}
.aboutus-img {
    width: clamp(15.75rem, 0.721rem + 64.122vw, 31.5rem);
    padding-right:clamp(1.688rem, 0.077rem + 6.87vw, 3.375rem);
    box-shadow: clamp(1.688rem, 0.077rem + 6.87vw, 3.375rem) clamp(1.75rem, 0.080rem + 7.125vw, 3.5rem) #689f70;
    margin: 0 auto;
    z-index:1;
}
.service {
    border-radius: clamp(1.875rem, 0.086rem + 7.634vw, 3.75rem);
    padding-top: clamp(1.875rem, 0.086rem + 7.634vw, 3.75rem);
    padding-bottom: clamp(1.875rem, 0.086rem + 7.634vw, 3.75rem);
}
.section-title {
    flex-direction: column;
}
.service h2,.outline h2 {
    margin-bottom: 0.3em;
}
.title-jp {
    width: clamp(15rem, 0.687rem + 61.069vw, 30rem);
    margin-left: 0;
    margin-bottom: 1.5em;
}
.outline .title-jp{
    width: clamp(4.75rem, 0.218rem + 19.338vw, 9.5rem);
}
.service-item01, .service-item02, .service-item03, .service-item04{
    flex-direction: column;
    border-radius: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
    border-width: clamp(0.125rem, 0.006rem + 0.509vw, 0.25rem);
    height: auto;
}
.service h3 {
    width: 100%;
    height: clamp(2.5rem, 0.115rem + 10.178vw, 5rem);
    border-width: clamp(0.125rem, 0.006rem + 0.509vw, 0.25rem);
    border-radius: clamp(0.438rem, 0.259rem + 0.763vw, 0.625rem);
    font-size: clamp(1.125rem, 0.052rem + 4.58vw, 2.25rem);
}
ul.item {
    font-size: clamp(1rem, 0.046rem + 4.071vw, 2rem);
    padding: clamp(1.25rem, 0.057rem + 5.089vw, 2.5rem);
    flex-wrap: wrap;
}
ul.item li::before {
    width: clamp(0.5rem, 0.023rem + 2.036vw, 1rem);
    height: clamp(0.5rem, 0.023rem + 2.036vw, 1rem);
    border-radius: 0.5em;
}
ul.item li {
    padding-left: clamp(0.813rem, 0.097rem + 3.053vw, 1.563rem);
    margin-right: 0.8em;
}
.service-item02 ul.item li{
    margin-right: 0;
}
.service-item02 ul.item li:first-child {
    width: 100%;
}
.service-item02 ul.item li:nth-child(2n) {
    width: 43%;
}
.service-item03 ul.item li:nth-child(2n+1) {
    width: 43%;
    margin-right: 0;
}
.service-item03 ul.item li:nth-child(2n) {
    width: 52%;
    margin-right: 0;
}
.outline {
    padding-top: clamp(1.875rem, -0.208rem + 4.34vw, 5rem);
    padding-bottom: clamp(1.875rem, -0.208rem + 4.34vw, 5rem);
}
.outline table tr {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
th.item-title {
    font-size: clamp(0.813rem, 0.037rem + 3.308vw, 1.625rem);
    padding-left: 1em;
    width: clamp(6.25rem, 0.286rem + 25.445vw, 12.5rem);
}
th.item-title-en {
    font-size: clamp(0.688rem, 0.031rem + 2.799vw, 1.375rem);
    letter-spacing: 0.06em;
    text-align: center;
    width: auto;
}
.outline table th:nth-child(3) {
    width: clamp(6.25rem, 0.286rem + 25.445vw, 12.5rem);
}
.outline td {
    font-size: clamp(1.031rem, 0.047rem + 4.198vw, 2.063rem);
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: 5px;
}
section.link-list {
/*    background: url(img/footer-bg-sp.jpg) no-repeat;
    background-size: cover; */
    padding-top: clamp(2.5rem, 0.115rem + 10.178vw, 5rem);
    padding-bottom: clamp(3.75rem, 0.172rem + 15.267vw, 7.5rem);
}
.link-item .col-md-6:first-child{
    margin-bottom: clamp(1rem, 0.046rem + 4.071vw, 2rem);
}
.copyright {
    font-size: clamp(0.531rem, 0.024rem + 2.163vw, 1.063rem);
    height: clamp(1.563rem, 0.072rem + 6.361vw, 3.125rem);
    letter-spacing: 0;
}
.footer-tel-link{

}
.footer-tel-link a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96%;
    height: clamp(3.125rem, 0.143rem + 12.723vw, 6.25rem);
    background: #267632;
    border-radius: clamp(0.625rem, 0.029rem + 2.545vw, 1.25rem);
    color:#fff;
    margin: clamp(0.313rem, 0.014rem + 1.272vw, 0.625rem) auto;
    text-decoration: none;
}
.footer-tel-link a span{
    font-size: clamp(1.188rem, 0.054rem + 4.835vw, 2.375rem);
    letter-spacing: 0.08em;
}
.footer-tel-link a span.tel-number{
    font-size: clamp(1.732rem, 0.082rem + 7.043vw, 3.462rem);
    letter-spacing: 0.04em;
}
}