@charset "utf-8";
/* @font-face {
  font-family: 'NotoSansJP';
  src: url('/id/my-font-package/fonts/NotoSansJP-Regular.ttf');
}

@font-face {
  font-family: 'NotoSansJP';
  src: url('/id/my-font-package/fonts/NotoSansJP-Bold.ttf');
  font-weight: bold;
} */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*----------------------------------------------------------------------

基本設定

----------------------------------------------------------------------*/
*,
::before,
::after {
    margin: 0;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0;
    -webkit-font-smoothing: antialiased;
}

html {
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    height: 100%;
    /* font-family: "NotoSansJP",Helvetica,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',"メイリオ",Meiryo,sans-serif; */
    font-family:
        'Noto Sans JP', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ',
        Meiryo, sans-serif;
    font-size: 14px;
    font-weight: normal;
    color: #333;
}

img {
    border: none;
    vertical-align: bottom;
}

table,
th,
td {
    border-collapse: collapse;
    border: none;
}

fieldset {
    border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
    font-weight: normal;
}
ol,
ul {
    list-style: none;
}
caption,
th {
    text-align: left;
}
q:before,
q:after {
    content: '';
}
abbr,
acronym {
    border: 0;
}
/* a:focus {outline: none;} */
input,
button,
textarea,
select {
    font-size: 100%;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}
hr {
    display: block;
    border: none;
    padding: 0;
    margin: 0;
}

*:focus-visible {
    outline: 2px solid #eb5505 !important;
}

/*----------------------------------------------------------------------

リンク色

----------------------------------------------------------------------*/
a {
    color: #0d67aa;
    text-decoration: none;
}
a:hover {
    color: #eb5505;
    text-decoration: underline;
}

/*----------------------------------------------------------------------

文字色

----------------------------------------------------------------------*/
.txt_orange {
    color: #eb5505;
}
.txt_orange_light {
    color: #fdeee6;
}
.txt_blue {
    color: #0066aa;
}
.txt_red {
    color: #ff0800;
}
.txt_white {
    color: #fff;
}
.txt_grey_dark {
    color: #333;
}
.txt_grey_mid_dark {
    color: #494949;
}
.txt_grey_mid {
    color: #777777;
}
.txt_grey {
    color: #d1d1d1;
}
.txt_grey_light {
    color: #e5e5e5;
}
.txt_grey_white {
    color: #f3f3f3;
}

/*----------------------------------------------------------------------

文字種類、文字サイズ、文字の太さ

----------------------------------------------------------------------*/
.font_bold {
    font-weight: bold !important;
}
.font_normal {
    font-weight: normal !important;
}

.font_l {
    font-size: 24px;
}
.font_s {
    font-size: 14px;
}
.font_xs {
    font-size: 10px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

h1 {
    font-size: 30px;
}
h1.font_l {
    font-size: 38px;
}
h1.font_s {
    font-size: 18px;
    font-weight: bold;
}

h2 {
    font-size: 22px;
}
h2.font_l {
    font-size: 28px;
}
h2.font_s {
    font-size: 18px;
    font-weight: bold;
}

h3 {
    font-size: 20px;
}
h3.font_l {
    font-size: 24px;
}
h3.font_m {
    font-size: 18px;
}
h3.font_s {
    font-size: 16px;
    font-weight: bold;
}

h4 {
    font-size: 18px;
}
h4.font_l {
    font-size: 22px;
}
h4.font_m {
    font-size: 16px;
}
h4.font_s {
    font-size: 14px;
    font-weight: bold;
}

h5 {
    font-size: 16px;
}
h5.font_l {
    font-size: 20px;
}
h5.font_s {
    font-size: 12px;
    font-weight: bold;
}

h6 {
    font-size: 16px;
}
h6.font_l {
    font-size: 20px;
}
h6.font_s {
    font-size: 12px;
    font-weight: bold;
}

/*スマートフォン*/
@media screen and (max-width: 767px) {
    h1 {
        font-size: 24px;
    }
}

@media screen and (max-width: 425px) {
    body {
        font-size: 13px;
    }
    h1 {
        font-size: 24px;
    }
}

/*----------------------------------------------------------------------

余白

----------------------------------------------------------------------*/
.mt0 {
    margin-top: 0px !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt35 {
    margin-top: 35px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt45 {
    margin-top: 45px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt55 {
    margin-top: 55px !important;
}
.mt60 {
    margin-top: 50px !important;
}
.mt65 {
    margin-top: 65px !important;
}

.mb0 {
    margin-bottom: 0px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb55 {
    margin-bottom: 55px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb65 {
    margin-bottom: 65px !important;
}

.pt0 {
    padding-top: 0px !important;
}
.pt5 {
    padding-top: 5px !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt15 {
    padding-top: 15px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt25 {
    padding-top: 25px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt35 {
    padding-top: 35px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt45 {
    padding-top: 45px !important;
}
.pt50 {
    padding-top: 50px !important;
}
.pt55 {
    padding-top: 55px !important;
}
.pt60 {
    padding-top: 60px !important;
}
.pt65 {
    padding-top: 65px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}
.pb5 {
    padding-bottom: 5px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb15 {
    padding-bottom: 15px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb25 {
    padding-bottom: 25px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb35 {
    padding-bottom: 35px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb45 {
    padding-bottom: 45px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}
.pb55 {
    padding-bottom: 55px !important;
}
.pb60 {
    padding-bottom: 60px !important;
}
.pb65 {
    padding-bottom: 65px !important;
}

/*----------------------------------------------------------------------

要素を非表示にする

----------------------------------------------------------------------*/
.none {
    display: none !important;
}

.hidden {
    visibility: hidden !important;
}

/*----------------------------------------------------------------------

テキスト左右寄せ

----------------------------------------------------------------------*/
.txt_l {
    text-align: left !important;
}
.txt_r {
    text-align: right !important;
}
.txt_c {
    text-align: center !important;
}

/*----------------------------------------------------------------------

clearfix

----------------------------------------------------------------------*/
.clearfix::after {
    content: '';
    display: block;
    clear: both;
}

/*----------------------------------------------------------------------

スクリーンリーダー用の非表示テキスト

----------------------------------------------------------------------*/

.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* ▼ ページトップボタン ▼ */
.pageTopBtn {
    display: flex;
    max-width: 980px;
    margin: auto;
    margin-top: 80px;
    margin-bottom: 80px;
    padding-right: 20px;
    justify-content: flex-end; /* 内容を右端に寄せる */
    align-items: center;
    font-weight: bold;
    height: 20px;
}

.pageTopBtn:hover {
    text-decoration: none;
}

.pageTopText {
    line-height: 20px;
    font-size: 14px;
    color: #1b1b1b;
    margin-right: 8px;
}

.pageTopBtn:hover p {
    color: #676767;
    font-weight: bold;
    border-right-color: #676767;
    border-top-color: #676767;
}

.pageTopBtn span {
    width: 10px;
    height: 6px;
    vertical-align: 1px;
}

.pageTopBtnArrow {
    width: 7px;
    height: 7px;
    border-right: 2px solid #1b1b1b;
    border-top: 2px solid #1b1b1b;
    transform: rotate(-45deg);
    margin-top: 2px;
}

@media screen and (max-width: 767px) {
    .pageTopBtn p {
        font-size: 14px;
        color: #2d2d2d;
    }
}
/* ▲ ページトップボタン ▲ */

/* PC/SP表示切り替え用 */
/* デフォルトはSP版のみ表示 */
/* SP画面向け：幅767px以下ならSP用を表示 */
@media screen and (max-width: 767px) {
    .pcView {
        display: none;
    }
    .spView {
        display: block;
    }
}

/* PC画面向け：幅768px以上ならPC用を表示 */
@media screen and (min-width: 768px) {
    .pcView {
        display: block;
    }
    .spView {
        display: none;
    }
}

/* ▼ AFカルーセル代替画像用 ▼ */
.af_carousel_img {
    width: 100%;
    height: auto;
}
/* ▲ AFカルーセル代替画像用 ▲ */
