@charset "utf-8";

body {
    --line-height-medium: 1.5em;
}

/*------------------------------------------------------------------------------------------------ ▼ font --*/

h1, h2, h3, h4, h5, h6, div, p, a, address, dt, dd, li, th, td, input, select, textarea, button {
	/*font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	font-family: YakuHan-T, YuGo-M;
	font-size: 1rem;
	font-style: normal;
	font-weight: normal;
	color: #111;
	text-align: left;
	letter-spacing: 0.033em;
	line-height: 1.75em;
}

@media (width <= 767px) {
	h1, h2, h3, h4, h5, h6, div, p, a, address, dt, dd, li, th, td, input, select, textarea, button {
        font-family: YakuHan-T, Notosans-R;
	}
}

/*------------------------------------------------------------------------------------------------ ▼ rem --*/

html {
    @media (1601px <= width) {
		font-size: 22px;
    }

    @media (1367px <= width <= 1600px) {
		font-size: 20px;
	}

    @media (1281px <= width <= 1366px) {
		font-size: 16px;
	}

    @media (1024px <= width <= 1280px) {
		font-size: 18px;
	}

    @media (768px <= width <= 1024px) {
		font-size: 16px;
	}

    @media (501px <= width <= 767px) {
		font-size: 16px;
	}

    @media (401px <= width <= 500px) {
		font-size: 14px;
	}

    @media (width <= 400px) {
		font-size: 14px;
	}
}

@media (1024px <= width) {
	h1, h2, h3, h4, h5, h6, th, .bold, .bold *,
	.general_title {
		font-family: YakuHan-T, YuGo-B;
	}
}

@media (width <= 1023px) {
	h1, h2, h3, h4, h5, h6, th, .bold, .bold *,
	.general_title {	
		font-family: Notosans-B;
	}
}

body:not(.en) .text,
body:not(.en) .text p {
	line-height: 1.5rem;
	letter-spacing: 0.025rem;
}

.text p:nth-of-type(n + 2) {
	margin-top: 1em;
}

.en {
	font-family: Helvetica-M, YuGo-B;
	letter-spacing: 0.1em !important;
}

/*html, h1, h2, h3, h4, h5, h6, div, p, a, address, dt, dd, li, th, td, input, select, textarea {*/

/*------------------------------------------------------------------------------------------------ ▼ h1, h2, h3, h4, h5, h6 --*/

@media screen {
    h2.title,
    h3.title,
    h4.title,
    h5.title,
    h6.title {
        position: relative;
        margin-bottom: 15px;
        font-size: 1.5rem;	
    }

    h2.title::before,
    h3.title::before,
    h4.title::before,
    h5.title::before,
    h6.title::before {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 1.5rem;
        height: 1px;
        background: var(--blue);
    }

    @media (1281px <= width) {
        h2.title,
        h3.title,
        h4.title,
        h5.title,
        h6.title {	
            margin-top: 50px;
            font-size: ;
        }
    }

    @media (768px <= width <= 1280px) {
        h2.title,
        h3.title,
        h4.title,
        h5.title,
        h6.title {
            margin-top: 50px;
        }
    }

    @media (width <= 767px) {
        h2.title,
        h3.title,
        h4.title,
        h5.title,
        h6.title {
            margin-top: 30px;
            padding-bottom: 0px;
            font-size: ;
        }
    }
}

/*------------------------------------------------------------------------------------------------ ▼ .font-title --*/

body {
    --font-title: var(--font-title-size) / 1.75em YakuHan-R, GoMB101-DeBold;
        
    @media (width <= 768px) {
        --font-title: var(--font-title-size) / 1.5em YakuHan-R, GoMB101-DeBold;
    }
    
    --font-title-family: YakuHan-R, GoMB101-DeBold;
}

body {
    @media (1601px <= width) {
        --font-title-size: 40px;
    }

    @media (1367px <= width <= 1600px) {
        --font-title-size: 32px;
    }

    @media (1281px <= width <= 1366px) {
        --font-title-size: 30px;
    }

    @media (1024px <= width <= 1280px) {
        --font-title-size: 28px;
    }

    @media (768px <= width <= 1024px) {
        --font-title-size: 24px;
    }

    @media (501px <= width <= 767px) {
        --font-title-size: 20px;
    }

    @media (401px <= width <= 500px) {
        --font-title-size: 24px;
    }

    @media (width <= 400px) {
        --font-title-size: 22px;
    }
}

.font-title {
	font-family: YakuHan-R, GoMB101-DeBold;
	color: #222;
	letter-spacing: 0.025em;
	line-height: 1.5em;
}

.font-title {
    @media (1601px <= width) {
        font-size: 40px;
    }

    @media (1367px <= width <= 1600px) {
        font-size: 32px;
    }

    @media (1281px <= width <= 1366px) {
        font-size: 30px;
    }

    @media (1024px <= width <= 1280px) {
        font-size: 28px;
    }

    @media (768px <= width <= 1024px) {
        font-size: 24px;
    }

    @media (501px <= width <= 767px) {
        font-size: 20px;
    }

    @media (401px <= width <= 500px) {
        font-size: 24px;
    }

    @media (width <= 400px) {
        font-size: 20px;
    }
}

/*------------------------------------------------------------------------------------------------ ▼ .font-medium-title --*/

body {
    --font-medium-title: var(--font-medium-title-size) / 1.5em YakuHan-R, GoMB101-DeBold;
    
    @media (width <= 768px) {
        --font-medium-title: var(--font-medium-title-size) / 1.33em YakuHan-R, GoMB101-DeBold;
    }
}

body {
    @media (1601px <= width) {
        --font-medium-title-size: 30px;
    }

    @media (1367px <= width <= 1600px) {
        --font-medium-title-size: 24px;
    }

    @media (1281px <= width <= 1366px) {
        --font-medium-title-size: 30px;
    }

    @media (1024px <= width <= 1280px) {
        --font-medium-title-size: 28px;
    }

    @media (768px <= width <= 1024px) {
        --font-medium-title-size: 24px;
    }

    @media (501px <= width <= 767px) {
        --font-medium-title-size: 20px;
    }

    @media (401px <= width <= 500px) {
        --font-medium-title-size: 22px;
    }

    @media (width <= 400px) {
        --font-medium-title-size: 20px;
    }
}

