/* 共通部分 */
:root {
    --bg-color-primary: #FFFFFF;
    --bg-color-secondary: #F6F6F6;
    --bg-color-transparent: transparent;
    --primary-color: #2F84DF;
    --secondary-color: #FF2B2B;
    --tertiary-color: #FFBD47;
    --color-black: #000000;
    --color-white: #FFFFFF;
    --color-gray: #CCC;
    --color-light-gray: #FBFBFB;
    --hr-gray: #FFFFFF;
}

/*
このサイトでは、Noto Sansフォントを使用しています。
このフォントはSIL Open Font License, Version 1.1の下でライセンスされています。
詳細は、OFL.txtをご覧ください。
https://chitose0901.co.jp/font/OFL.txt
*/

@font-face {
    font-family: 'NotoSansJP';
    src: url(../font/NotoSansJP-VariableFont_wght.ttf) format('truetype');
}

body {
    -webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-family: "NotoSansJP", メイリオ, Meiryo, "MS PGothic", Osaka, sans-serif;
    font-weight: normal;
}

img {
    user-drag: none;
    -webkit-user-drag: none;
    -moz-user-select: none;
}

/* swiper-slide 内で画像がはみ出る場合に切り捨てる */
.swiper-slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
  
/* <picture> および <img> 要素をブロック要素にして、100%のサイズに調整 */
.swiper-slide picture,
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
}

/* 画像のフィット方法と表示位置の調整 */
.img-object-buttom {
    object-fit: cover;      /* コンテナ全体を覆うように画像を拡大/縮小 */
    object-position: bottom;/* 下側を基準に表示（上側が切り捨てられる） */
}
.img-object-top {
    object-fit: cover;      /* コンテナ全体を覆うように画像を拡大/縮小 */
    object-position: top;/* 下側を基準に表示（上側が切り捨てられる） */
}
.img-object-middle {
    object-fit: cover;      /* コンテナ全体を覆うように画像を拡大/縮小 */
    object-position: center;/* 下側を基準に表示（上側が切り捨てられる） */
}
.img-object-contain {
    object-fit: contain;      /* コンテナ全体を覆うように画像を拡大/縮小 */
    object-position: top;/* 中央を基準に表示（上下左右が切り捨てられる） */
}


.hide {
    display: none;
}

.center-container {
    display: flex;
    justify-content: center;
}

.title-primary {
    font-size: 40px;
    color: var(--primary-color);
    font-weight: normal;
    border-left: 2px solid var(--primary-color);
    padding-left: 10px;
    margin-bottom: var(--content-space);
}

.center {
    display: flex;
    justify-content: center;
}

.text-color-primary {
    color: var(--primary-color);
}
.text-color-secondary {
    color: var(--secondary-color);
}
.text-color-tertiary {
    color: var(--tertiary-color);
}

.content-line {
    border-color: var(--bg-color-secondary);
    opacity: .2;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: var(--bottom-space);
    padding: 0;
}
.btn-primary {
    font-size: 16px;
    width: 250px;
    height: 40px;
    background-color: var(--bg-color-transparent);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    transition: all .1s ease-out;
}
.btn-primary:hover {
    background-color: var(--primary-color);
    color: var(--color-white);
}
.btn-primary > a {
    text-decoration: none;
}

/* レスポンシブ */
/* 0px ~ 374px */
@media (max-width: 375px) {
    :root {
        --side-space: 20px;
        --top-space: 40px;
        --bottom-space: 40px;
        --content-space: 20px;
        --top-media-height: 220px;
        --card-width: 280px;
        --card-height: 160px;
        --president-img-width: 280px;
        --president-img-height: 120px;
    }
}

/* 375px ~ 424px */
@media (min-width: 375px) and (max-width: 425px) {
    :root {
        --side-space: 20px;
        --top-space: 40px;
        --bottom-space: 40px;
        --content-space: 20px;
        --top-media-height: 260px;
        --card-width: 307px;
        --card-height: 160px;
        --president-img-width: 335px;
        --president-img-height: 120px;
    }
}

/* 425px ~ 767px */
@media (min-width: 425px) and (max-width: 768px) {
    :root {
        --side-space: 20px;
        --top-space: 40px;
        --bottom-space: 40px;
        --content-space: 20px;
        --top-media-height: 300px;
        --card-width: 307px;
        --card-height: 200px;
        --main-card-space: 40px;
        --president-img-width: 384px;
        --president-img-height: 120px;
    }
}

/* 768px ~ 1023px */
@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --side-space: 20px;
        --top-space: 80px;
        --bottom-space: 80px;
        --content-space: 40px;
        --top-media-height: 500px;
        --card-width: 308px;
        --card-height: 220px;
        --president-img-width: 228px;
        --president-img-height: 200px;
    }
}

/* 1024px ~ 1439px */
@media (min-width: 1024px) and (max-width: 1440px) {
    :root {
        --side-space: 30px;
        --top-space: 80px;
        --bottom-space: 80px;
        --content-space: 40px;
        --top-media-height: 500px;
        --card-width: 308px;
        --card-height: 220px;
        --president-img-width: 328px;
        --president-img-height: 260px;
    }
    .sp, .sp-nav-bar {
        display: none;
    }
}

/* 1440px ~ inf */
@media (min-width: 1440px) {
    :root {
        --side-space: 40px;
        --top-space: 80px;
        --bottom-space: 80px;
        --content-space: 40px;
        --top-media-height: 700px;
        --card-width: 325px;
        --card-height: 220px;
        --president-img-width: 440px;
        --president-img-height: 300px;
    }
    .sp, .sp-nav-bar {
        display: none;
    }
}

