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

　CSS構成

　//絶対に変更しないCSS
　- reset.css           全てのブラウザ固有CSSをリセットするCSS。基本触らないこと。
　- bootstrap.min.css   Bootstrapコンポーネントを利用するためのCSS。基本触らないこと。
　- all.min.css         Font Awesome 6 を利用するためのCSS。基本触らないこと。

　//基本的には変更しないCSS
　- base.css            基本の文字設定や、Webフォントの読み込みなど。基本触らなくてもOK。

　//メインで利用しているCSS
　- common.css          ヘッダー、フッター、下層ページのタイトルなど、共通ページレイアウトを記載したCSS
　- layout.css          各ページ固有のレイアウトを記載したCSS

　//補助的に利用しているCSS
　- module.css          見出しやリスト、テーブルなど、共通利用できるパーツをまとめたCSS
　- utility.css         マージンやパディング、文字サイズや文字色など、補助的に利用できるCSS

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


/*------------------------------------------------------------------
  fonts
------------------------------------------------------------------*/
@font-face {
    font-family: "NotoSansJP";
    src: url("../webfonts/NotoSansJP-Regular.woff2") format("woff2"),
         url("../webfonts/NotoSansJP-Bold.woff") format("woff");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "NotoSansJP";
    src: url("../webfonts/NotoSansJP-Bold.woff2") format("woff2"),
         url("../webfonts/NotoSansJP-Bold.woff") format("woff");
    font-weight: 700;
    font-display: swap;
}

/*------------------------------------------------------------------
  base
------------------------------------------------------------------*/
html{
    font-family: "NotoSansJP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #333;
    line-height: 1.8;
}

body{
    margin-top: 150px;
}
@media screen and (max-width:1399px){
    body{
        margin-top: 126px;
    }
}
@media screen and (max-width:991px){
    body{
        margin-top: 50px;
        font-size: 0.875rem;
    }
}
@media screen and (max-width:350px){
    body {
        font-size: 0.8125em;
    }
}

hr{
    border-top: 1px dashed #ccc;
    border-right: none;
    border-bottom: none;
    border-left: none;
}

/* input-style ----------------------------------------*/
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
select,
textarea {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
    font-size: min(1rem, 16px);
}
select{
    padding: 8px 25px 8px 10px;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
    border: 1px solid #fff;
    box-shadow: 0 0 5px 0 #9cb4f8;
}
label:hover,
select:hover {
    cursor: pointer;
}
.inputfile_box {
    margin-bottom: 15px;
}
::-webkit-input-placeholder {
    color: #aaa;
    opacity: 1;
}
:-moz-placeholder {
    color: #aaa;
}
::-moz-placeholder {
    color: #aaaaaa;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #aaa;
}