@charset "utf-8";

/*==============================
    変数設定
==============================*/

:root {
    /* フォントサイズ（PC） */
    --pcFontSize12: 14px;
    --pcFontSize13: 15px;
    --pcFontSize14: 16px;
    --pcFontSize16: 18px;
    --pcFontSize18: 20px;
    --pcFontSize20: 22px;
    --pcFontSize22: 22px;
    --pcFontSize26: 28px;
    --pcFontSize30: 32px;
    --pcFontSize33: 35px;
    --pcFontSize40: 42px;
    /* line-height（PC） */
    --pcLineHeight16_15: 1.5;
    --pcLineHeight18_156: 1.56;
    --pcLineHeight20_15: 1.5;
    --pcLineHeight22_15: 1.5;
    /* letter-spacing（PC） */
    --pcLetterSpacing12_025: 0.25px;
    --pcLetterSpacing13_0: 0;
    --pcLetterSpacing14_0: 0;
    --pcLetterSpacing16_05: 0.5px;
    --pcLetterSpacing18_0: 0;
    --pcLetterSpacing20_025: 0.25px;
    --pcLetterSpacing22_0: 0;
    --pcLetterSpacing26_0: 0;
    --pcLetterSpacing30_0: 0;
    --pcLetterSpacing33_0: 0;
    --pcLetterSpacing40_0: 0;
    /* フォントサイズ（SP）*/
    --spFontSize10: 10px;
    --spFontSize11: 11px;
    --spFontSize12: 12px;
    --spFontSize13: 13px;
    --spFontSize14: 14px;
    --spFontSize15: 15px;
    --spFontSize16: 16px;
    --spFontSize18: 18px;
    --spFontSize19: 19px;
    --spFontSize20: 20px;
    --spFontSize22: 22px;
    /* line-height（SP） */
    --spLineHeight10_14: 1.4;
    --spLineHeight11_155: 1.55;
    --spLineHeight12_167: 1.67;
    --spLineHeight14_15: 1.5;
    --spLineHeight15_15: 1.5;
    --spLineHeight16_15: 1.5;
    --spLineHeight18_15: 1.5;
    /* letter-spacing（SP） */
    --spLetterSpacing10_0: 0;
    --spLetterSpacing11_0: 0;
    --spLetterSpacing12_0: 0;
    --spLetterSpacing13_0: 0;
    --spLetterSpacing14_0: 0;
    --spLetterSpacing15_0: 0;
    --spLetterSpacing16_0: 0;
    --spLetterSpacing18_0: 0;
    --spLetterSpacing19_0: 0;
    --spLetterSpacing20_0: 0;
    --spLetterSpacing22_0: 0;
}


/*==============================
    基本設定
==============================*/

body {
    color: #002471;
    font-size: 12px;
    font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
    margin: 0;
    padding: 0;
    text-align: left;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25);
    position: relative;
    word-break: break-all;
    min-width: 1400px;
    font-feature-settings: "palt";
    overflow-y: scroll;
}

@media only screen and (max-width:767px) {
    body {
        min-width: 0;
    }
}

body *,
body *::before,
body *::after {
    box-sizing: border-box;
}

img {
    vertical-align: bottom;
}

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

th {
    font-weight: normal;
    text-align: left;
}

select,
input,
textarea {
    font-family: inherit;
}


/*font layout*/

.fBold {
    font-weight: bold;
}

.fOutfit {
    font-family: "Outfit", sans-serif;
}


/*rollover*/

.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover {
    opacity: 0.8;
}

.ro a,
a.ro,
a .ro,
.cursorPointer {
    transition: opacity 0.2s ease-out;
}

.cursorPointer {
    cursor: pointer;
}

@media only screen and (max-width:767px) {
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover {
        opacity: 1;
    }
}


/*rollover(brightnessによる変化)*/

.brt a:hover,
a.brt:hover,
a .brt:hover,
.cursorPointer.brt:hover {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
}

.brt a,
a.brt,
a .brt,
.cursorPointer.brt {
    transition: filter 0.2s ease-out;
}

@media only screen and (max-width:767px) {
    .brt a:hover,
    a.brt:hover,
    a .brt:hover,
    .cursorPointer.brt:hover {
        filter: none;
    }
}


/*ro無効化*/

.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover {
    opacity: 1;
}


/* 電話リンクの無効化 */

a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}

@media only screen and (max-width:767px) {
    a[href^="tel:"] {
        pointer-events: auto;
        cursor: pointer;
    }
}


/* container */

#container {
    overflow: hidden;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
}


/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/

.spOnly,
.brSp,
.imgSp,
.brNarrowSp {
    display: none;
}

.img100 {
    width: 100%;
    height: auto;
}

@media only screen and (max-width:767px) {
    .spNone,
    .brPc,
    .imgPc {
        display: none;
    }
    .spOnly {
        display: block;
    }
    .brSp,
    .imgSp {
        display: inline;
    }
    .imgR {
        width: 100%;
        height: auto;
    }
    .imgConsultStamp.imgConsultStamp02.active img.imgR {
        width: 75vw;
    }
    .imgConsultStamp.imgConsultStamp02.active {
        margin-left: 5vw;
    }
}

@media only screen and (max-width:359px) {
    .brNarrowSp {
        display: inline;
    }
}


/*-----------------------------------------------
	jsHide
-----------------------------------------------*/

.jsHide {
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.jsHide:not(.jsShow) {
    opacity: 0;
}


/*-----------------------------------------------
    wrapper
-----------------------------------------------*/

.wrapper800 {
    width: 800px;
    margin: 0 auto;
}

.wrapper900 {
    width: 900px;
    margin: 0 auto;
}

.wrapper1000 {
    width: 1000px;
    margin: 0 auto;
}

.wrapper1100 {
    width: 1100px;
    margin: 0 auto;
}

.wrapper1180 {
    width: 1180px;
    margin: 0 auto;
}

@media only screen and (max-width:767px) {
    .wrapper800,
    .wrapper900,
    .wrapper1000,
    .wrapper1100,
    .wrapper1180 {
        width: 100%;
        margin: 0 auto;
        max-width: none;
    }
    .wrapperSp {
        width: 92%;
        margin: 0 auto;
    }
}


/*-----------------------------------------------
    header
-----------------------------------------------*/

#header {
    padding: 0 30px;
}

#header .wrapper {
    display: flex;
    align-items: center;
    height: 80px;
    justify-content: space-between;
}

#header .boxSinceTxt {
    margin-left: 30px;
    display: flex;
    align-items: center;
}

#header .txt {
    margin-left: 15px;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_025);
}

@media only screen and (max-width:767px) {
    #header {
        padding: 0 2.67%;
    }
    #header .wrapper {
        justify-content: space-between;
        height: 50px;
        /* max-width: 355px; */
        gap: 16px;
    }
    #header .logo {
        width: 171px;
    }
    #header .boxSinceTxt {
        margin: 2px 0;
    }
    #header .imgSince {
        width: 41px;
    }
    #header .txt {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_14);
        letter-spacing: var(--spLetterSpacing10_0);
        /* margin-left: -6px; */
        margin-left: 0px;
        transform: scale(0.9);
        /* transform-origin: right center; */
    }
    #header .txtNowrap {
        white-space: nowrap;
    }
}

@media only screen and (max-width:374px) {
    #header .logo {
        width: 167px;
    }
    #header .imgSince {
        width: 37px;
    }
}

@media only screen and (max-width:359px) {
    #header .logo {
        width: 142px;
    }
    #header .imgSince {
        width: 32px;
    }
    #header .txt {
        transform: scale(0.85);
        margin-left: -17px;
    }
}


/*-----------------------------------------------
    footer
-----------------------------------------------*/

#footer {
    background: #f9f7f3;
    margin-top: 150px;
    padding: 75px 0;
}

#footer .txtLink {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_0);
    text-align: center;
}

#footer .txtLink a {
    color: inherit;
    text-decoration: none;
}

#footer .txtLinkBorder {
    display: inline-block;
    margin: 0 18px;
}

#footer .txtCopy {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_0);
    text-align: center;
    margin-top: 25px;
}

@media only screen and (max-width:767px) {
    #footer {
        margin-top: 55px;
        padding: 53px 0 37px;
    }
    #footer .txtLink {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    #footer .txtLinkBorder {
        margin: 0 13px;
    }
    #footer .txtCopy {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin-top: 18px;
    }
}