@charset "UTF-8";

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

　CSS構成

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

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

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

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

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


/*------------------------------------------------------------------
  base
------------------------------------------------------------------*/

html {
    overflow-x: hidden;
}

html {
    --bg-color: #fff;
    --primary-color: #1f4488;
    --primary-light-color: #b2cdff;
    --primary-deep-color: #1c55bd;
    --accent-color: #f78c2c;
    --red-color: #e04747;
    --white-color: #fff;
    --gray-color: #b8bdbf;
    --gray-dark-color: #6e7177;
    --gray-light-color: #ececec;
    --black-color: #1c1d1f;
    --btn-color: rgba(0, 0, 0, .8);
    --gradient-view: linear-gradient(35deg, #fafcff, #e2e7ec);
    --gradient-blue: linear-gradient(345deg, #1f4488, #0292f4);
    --gradient-orange: linear-gradient(35deg, #ff7900, #ffda61);
    --gradient-white: linear-gradient(35deg, #ffb980, #fff7dd);
    --gradient-silver: linear-gradient(15deg, #dbe2ea, #fafcff);
    --gradient-silver__lb: linear-gradient(335deg, #dbe2ea, #fafcff);
    --letter-spacing: .1em;
    --letter-spacing--en: .02em;
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    --en-font: "Archivo", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    color: var(--black-color);
    line-height: 1.725;
    z-index: 1;
}

a {
    color: var(--black-color);
}

.nav-tel a {
    color: var(--white-color);
}

body {
    font-size: 1rem;
    background-color: var(--bg-color);
}

@media screen and (max-width:1599px) {
    body {
        font-size: 1rem;
    }
}

@media screen and (max-width:991px) {
    body {
        font-size: 0.975rem;
    }
}

@media screen and (max-width:767px) {
    body {
        font-size: 0.95rem;
    }
}

@media screen and (max-width:374px) {
    body {
        font-size: 0.9rem;
    }
}

body {
    letter-spacing: var(--letter-spacing);
}

body .f-en {
    letter-spacing: var(--letter-spacing--en);
}

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

main {
    overflow: hidden;
}


/* input-style ----------------------------------------*/

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="number"],
select,
textarea {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
}

select {
    padding: 8px 25px 8px 10px;
}

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;
}


/*------------------------------------------------------------------
  Custom Bootstrap
------------------------------------------------------------------*/

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-fluid {
    padding-left: 6vw;
    padding-right: 6vw;
}

@media (min-width: 576px) {

    .container,
    .container-sm {
        max-width: initial;
    }
}

@media screen and (min-width:768px) {

    .container,
    .container-sm,
    .container-md {
        max-width: initial;
    }
}

@media screen and (min-width:992px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-fluid {
        padding-left: 60px;
        padding-right: 60px;
    }

    .container,
    .container-sm,
    .container-md,
    .container-lg {
        max-width: initial;
    }
}

@media screen and (min-width:1200px) {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
        max-width: 1380px;
    }
}

@media print {

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-fluid {
        padding: 0 15px !important;
    }
}