/* ===================================
    Crafto - Green energy 
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
/* 既存 */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
/* variable */
:root {      
    --alt-font:
    "Inter", "Plus Jakarta Sans",
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, -apple-system, sans-serif;
    --primary-font:
    "Noto Sans JP",
    "Inter", "Plus Jakarta Sans",
    "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, -apple-system, sans-serif;
    --base-color: #0ABAB5;
    --green: #088F8B;
    --dark-gray: #1f2220;
    --medium-gray: #828282;
    --very-light-gray: #f7f7f7;
}
body {
    font-size: 16px;
    font-family: var(--primary-font);
    font-weight: 400;
    line-height: 1.7;
}
h1, h2, h3, h4, h5, h6,
.navbar, .nav-link, .btn, .btn * {
  font-family: var(--alt-font);
  font-weight: 600;
  line-height: 1.4;
}
/* 日本語だけ明示的に指定したい場合のオプション（必要なら） */
:lang(ja) { font-family: var(--primary-font); }
:lang(ja) h1, :lang(ja) h2, :lang(ja) h3 { font-family: var(--alt-font); }
/* header */
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
    width: 300px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    font-size: 16px;
    color: var(--dark-gray);
    font-weight: 600;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active:hover > a {
    background-color: var(--base-color);
    color: var(--white);
}
.navbar .navbar-nav .dropdown .dropdown-menu a i,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a i {
    font-size: 40px;
    margin-right: 10px;
    width: 40px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover i {
    color: var(--white);
}
header .navbar-brand img {
    max-height: 36px;
}
.navbar .navbar-nav .nav-link {
    font-weight: 600;
    font-size: 18px;
}
/* button */
.btn {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0px;
}
.btn.btn-switch-text.btn-extra-large > span {
    padding: 17px 38px;
    font-size: 17px; 
}
.btn.btn-switch-text.btn-large > span {
    padding: 13px 32px;
    font-size:15px;
}
.btn.btn-switch-text.btn-medium > span {
    padding: 12px 26px;
    font-size:14px;
}
/* heading */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 25px;
}
/* Text gradient color */
.text-gradient-light-green-white {
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%,  #ebf6ee 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* Background color */
.bg-light-green {
    background-color: #c4e7cc;
}
.bg-very-light-green {
    background-color: #ebf3ed;
}
/* Transparent background color */
.bg-gradient-green-transparent {
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%,  #ebf3ed 100%);
}

.right-210px {
  right: 210px;
}

/* page title */
.page-title-large h1 {
    font-size: 4.2rem;
    line-height: 4rem;
}
.page-title-large h2 {
    font-size: 18px;
}

/* Border color */
.border-color-dark-green {
    border-color: var(--green);
}
/* Subcribe style 02 */
.newsletter-style-02 .btn:hover {
    background-color: var(--green);
}
.newsletter-style-02 .btn {
    height: 85%;
    margin: 4px;
    padding: 5px 20px 5px;
}
.newsletter-style-02 input {
    padding-right: 75px !important;
}

/* Will change */
.animation-rotation {
    -webkit-animation: rotation 2.5s infinite linear;
}
/* footer */
footer .footer-logo img {
    max-height: 43px;
    width: auto;
}
footer a:hover {
    color: var(--white);
}
footer ul li {
    margin-bottom: 2px;
}
@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1320px;
    }
}
@media (max-width: 1600px) {
    /* Font size */
    .fs-80 {
        font-size: 4rem;
        line-height: 4rem;
    }
}
@media (max-width: 1199px){
    .navbar .navbar-nav .nav-link {
        font-size: 16px;
        padding: 10px 10px;
    }
}
@media (max-width: 991px){
    /* Background image */
    .md-background-position-top-center {
        background-position: top center !important;
    } 
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
        padding-bottom: 15px;
    }
}
@media (max-width: 767px){
    /* Background image */
    .sm-background-position-top-center {
        background-position: top center !important;
    }
}

/* 本文小 */
.fs-XS {
    font-size: clamp(12px, calc(0.75rem + 0.5vw), 14px);
    line-height: 1.7;
}

/* 本文 */
.fs-S {
    font-size: clamp(14px, calc(0.875rem + 0.625vw), 18px);
    line-height: 1.7;
}

/* 本文大 */
.fs-M {
    font-size: clamp(16px, calc(1rem + 0.625vw), 20px);
    line-height: 1.7;
}

/* サブヘッドライン小 */
.fs-L {
    font-size: clamp(18px, calc(1.125rem + 0.625vw), 22px);
    line-height: 1.5;
}

/* サブヘッドライン */
.fs-XL {
    font-size: clamp(20px, calc(1.25rem + 0.625vw), 24px);
    line-height: 1.5;
}

/* 見出し小 */
.fs-XXL {
    font-size: clamp(22px, calc(1.375rem + 0.625vw), 26px);
    line-height: 1.4;
}

/* 見出し */
.fs-XXXL {
    font-size: clamp(24px, calc(1.5rem + 0.625vw), 28px);
    line-height: 1.4;
}

/* 見出し大 */
.fs-XXXXL {
    font-size: clamp(26px, calc(1.625rem + 0.625vw), 30px);
    line-height: 1.4;
}

/* 見出し特大 */
.fs-XXXXXL {
    font-size: clamp(28px, calc(1.75rem + 0.625vw), 32px);
    line-height: 1.3;
}

/* 見出し超特大 */
.fs-XXXXXXL {
    font-size: clamp(30px, calc(1.875rem + 0.625vw), 34px);
    line-height: 1.3;
}
