@charset "utf-8";

/*==================================================

    全体共通設定

===================================*/

body {
    font-size: 14px;
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 400;
    color: #333 !important;
    overflow-x: hidden;
}

/* 英字フォント */
.font-en {
    font-family: "Montserrat", serif;
}

/* 画像 */
img {
    width: 100%;
    vertical-align: bottom;
}

/* コンテンツ幅の指定 */
.inner {
    padding: 120px 4%;
    max-width: 1200px;
    margin: 0 auto;
}

/* スマホの時のみ表示 */
.sp {
    display: block;
}

.pc {
    display: none;
}

/* テキスト */
.text {
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 500;
}

/* 下層ページタイトル */
.sub-title {
    text-align: center;
}

.sub-title p {
    margin-bottom: 10px;
    line-height: 1.2;
    font-size: 2em;
    font-weight: bold;
    letter-spacing: .05em;
}

.sub-title h3 {
    font-weight: 500;
    letter-spacing: .05em;
}

/* コンテンツタイトル */
.content-title {
    margin-bottom: 40px;
}

.content-title p.font-en {
    margin-bottom: 10px;
    font-size: clamp(45px, 1.8vw, 64px);
    font-weight: bold;
    letter-spacing: .1em;
}

.content-title h2 {
    font-weight: bold;
    letter-spacing: .05em;
    font-size: clamp(21px, 2vw, 26px);
}

/* ページヘッダー */
.page-header {
    position: relative;
    margin-top: 80px;
}

.page-header::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 185px;
    height: 80px;
    content: "";
    background: url(../images/page-header-parts-left.png) no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1;
}

.page-header::after {
    position: absolute;
    z-index: -1;
    bottom: 15px;
    left: 0;
    width: 135px;
    height: 68px;
    content: "";
    background: url(../images/page-header-parts-right.png);
    background-position: center;
    background-size: cover;
}

.page-header .inner {
    position: relative;
    padding: 0 4%;
    width: 100%;
    height: 35vh;
    border-bottom: 1px solid #ddd;
}

.page-header-title {
    position: absolute;
    left: 4%;
    top: 50%;
    transform: translateY(-50%);
}

.page-header-title p {
    margin-bottom: 5px;
    font-weight: bold;
    letter-spacing: .1em;
    font-size: 4em;
}

.page-header-title h1 {
    letter-spacing: .1em;
    font-weight: bold;
}

/* パンくずリスト */

.breadcrumb {
    padding: 0 4%;
    max-width: 1200px;
    margin: 20px auto;
}

.breadcrumb ul {
    display: flex;
}

.breadcrumb ul li {
    position: relative;
    margin-right: 30px;
}

.breadcrumb ul li:not(:last-child)::after {
    position: absolute;
    content: "";
    top: 50%;
    right: -17px;
    width: 7px;
    height: 7px;
    transform: translateY(-50%);
    border-radius: 50px;
    background-color: #1D9BF0;
}

.breadcrumb ul li, .breadcrumb ul li a {
    font-size: 12px;
    color: #999;
}

.breadcrumb ul li a {
    text-decoration: underline;
    transition: all .4s;
}

.breadcrumb ul li a:hover {
    opacity: .6;
}

/*==================================================
    タブレットCSS
===================================*/

@media(min-width:600px) {
    body {
        font-size: 15px;
    }

    /* ページヘッダー */
    .page-header::before {
        width: 300px;
        height: 130px;
    }

    .page-header::after {
        width: 195px;
        height: 98px;
    }
}

/*==================================================
    デスクトップCSS
===================================*/

@media(min-width:1025px) {
    body {
        font-size: 16px;
    }

    .inner {
        padding: 90px 0;
    }

    /* パソコンの時は非表示 */
    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    /* ページヘッダー */
    .page-header::before {
        width: 386px;
        height: 171px;
    }

    .page-header::after {
        width: 203px;
        height: 102px;
    }
}

@media(min-width: 1920px) {
    /* ページヘッダー */
    .page-header::before {
        width: 496px;
        height: 219px;
    }

    .page-header::after {
        width: 253px;
        height: 124px;
    }
}