@charset "UTF-8";
@import url("grid.css");
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
img {
    max-width: 100%;
    height: auto;
    /*高さ自動*/
}

a {
    /*display: block;*/
    color: #500606;
    text-decoration-line: none;
}

a:hover {
    color: #ff6701;
}

a img:hover {
    opacity: 0.8;
}

.underline {
    border-bottom: 3px solid #000;
    padding-bottom: 0.5rem;
}

/*ヘッダー
-------------------------------------*/
header {
    margin-top: 1em;    
}
.head {
    display: flex;
    flex-direction: row;
    padding: 1rem 0 0 0;
}

.head h1 {
    padding: 1rem 0;
    font-weight: 700;
    letter-spacing: 3px;
}

.snsbox {
    margin-left: auto;
    font-size: 3.0rem;
    padding: 1rem 0 0 0;
}

/*nav ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    list-style: none;
    margin-bottom: 0.5rem;
}

nav li {
    display: block;
    flex: 0 0 15%;
    margin-right: 2%;
    text-align: center;
}

nav li+li {
    border-left: 1px solid #333;
}

nav li a {
    text-decoration: none;
    text-align: center;
    color: #000000;
}

nav a {
    padding: 1rem;
}*/

.p-text {
    margin: 0 5.0rem;
}

/*@media screen and (min-width: 768px) {
    /* PC時はMENUボタンを非表示 */

/*    #open, #close {
        display: none !important;
    }
    #navi {
        display: block !important;
    }
}*/

@media screen and (max-width: 768px) {
    /*.head {
        flex-direction: column;
        text-align: left;
        margin-bottom: 20px;
    }
    .telbox {
        margin-left: 0;
        text-align: center;
    }
    .head #open, #close {
        position: absolute;
        top: 28px;
        right: 12px;
    }
    nav ul {
        flex-direction: column;
    }
    nav li {
        padding-top: 0;
        border-bottom: 1px solid #ccc;
        margin-bottom: 0;
    }*/
    .p-text {
        margin: 0;
    }
    /* スマホ時はMENUボタンを表示 */
    /*   #open {
        display: block;
        background: url(../img/button.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: 50px;
        height: 50px;
        border: none;
        position: absolute;
        top: 20px;
        right: 12px;
    }
    #close {
        display: block;
        background: url(../img/button2.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: 50px;
        height: 50px;
        border: none;
        position: absolute;
        top: 20px;
        right: 12px;
    }
    /* スマホ時はメニューを非表示 */
    /* #navi {
        display: none;
    }*/
}

/*メイン画像
-------------------------------------*/

.mainimg img {
    width: 100vw;
}

/*メインコンテンツ
-------------------------------------*/

main {
    margin: 4rem 0 4rem 0;
}

/*キャッチタイトル
-------------------------------------*/

h2.catch {
    text-align: center;
    color: #666;
    font-size: 4.0rem;
    margin-top: 3rem;
    margin-bottom: 4rem;
    letter-spacing: 0.1em;
}

/*フッター
-------------------------------------*/

footer {
    background-color: #fff;
    padding: 3rem 0;
}

footer h5 {
    border-bottom: 1px solid #ccc;
}

/*コピーライト
-------------------------------------*/

.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #fff;
}

.copyright a {
    color: #000;
    text-decoration: none;
    display: inline-block;
}


@media screen and (min-width: 768px) {
    font-size: 0.8em;
}
/*ページトップへ戻るボタン
-------------------------------------*/

/*#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}

#pagetop a {
    display: block;
    background: #666;
    color: #fff;
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}

#pagetop a:hover {
    background: #999;
}*/

#page_top {
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
}

#page_top a {
    position: relative;
    display: block;
    width: 90px;
    height: 90px;
    text-decoration: none;
}

#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #3f98ef;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

#page_top a::after {
    content: 'PAGE TOP';
    font-size: 13px;
    position: absolute;
    top: 45px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #3f98ef;
}

/*パンくずリスト
-----------------------------------*/

.breadcrumb {
    margin: 0 0 0 1em;
    padding: 0;
    font-size: 90%;
}

.breadcrumb ul {
    margin-bottom: 0;
}

.breadcrumb li {
    list-style-type: none;
}

.breadcrumb li a {
    display: inline-block;
    color: #959fa5;
}

/*Youtube / Google map
-----------------------------------*/

.youtube {
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.gmap {
    width: 100%;
    height: 50%;
    margin: 16px 0;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}

.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

/*会社からのお知らせ、沿革など*/

.topics dl {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}

.topics dt {
    padding-bottom: 5px;
}

@media screen and (min-width: 768px) {
    .topics dt {
        clear: left;
        float: left;
        width: 15%;
    }
    .topics dd {
        margin-left: 20%;
    }
}

/*許認可*/

.topics2 dl {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}

.topics2 dt {
    padding-bottom: 5px;
}

@media screen and (min-width: 768px) {
    .topics2 dt {
        clear: left;
        float: left;
        width: 35%;
    }
    .topics2 dd {
        margin-left: 15%;
    }
}
/*ショップからのお知らせ センターエリア
.w100 {
    padding: 3rem 0;
}

.w100 .news {
    float: none;
    width: 100%;
    margin-right: 0;
    padding: 0 0 15px;
}

.w100 .news h2 {
    display: block;
    width: 100%;
}*/

/*テーブル*/

.table3 {
    width: calc(96% / 3);
    max-width: 1200px;
}

.table4 {
    width: calc(96% / 4);
    max-width: 1200px;
}

.table dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}

.company dt {
    flex-basis: 15%;
    padding: 20px;
    background-color: #f1f1f1;
    border-bottom: 1px solid #ccc;
}

.company dd {
    flex-basis: 85%;
    padding: 20px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 559px) {
    .company dl {
        flex-flow: column;
    }
}

/*font*/

.f-200 {
    font-size: 200%!important;
}

.f-180 {
    font-size: 180%!important;
}

.f-160 {
    font-size: 160%!important;
}

.f-140 {
    font-size: 140%!important;
}

.f-120 {
    font-size: 120%!important;
}

.f-90 {
    font-size: 90%;
}

.f-80 {
    font-size: 80%;
}

.f-70 {
    font-size: 70%!important;
}

.f-bold {
    font-weight: bold!important;
}

.f-gy {
    color: #666;
}

.f-left {
    text-align: left;
}

.f-right {
    text-align: right;
}

.f-red {
    color: #990000;
}

.f-red a {
    color: #990000;
}

.f-red a:hover {
    opacity: 0.5;
}

.underpaint-y {
    background: linear-gradient(transparent 70%, yellow 70%);
    /* 蛍光ペン */
}

/* 余白 */

.margin-ud1 {
    margin: 1.0em !important;
}

.margin-ud2 {
    margin: 2.0em 0!important;
}

.margin-ud3 {
    margin: 3.0em 0!important;
}

.margin-udhalf {
    margin: 0.5em 0!important;
}

.margin-lr1 {
    margin: 0 1.0em!important;
}

.margin-lr2 {
    margin: 0 2.0em!important;
}

.margin-lr3 {
    margin: 0 3.0em!important;
}

.margin-lrhalf {
    margin: 0 0.5em!important;
}

.margin-up2 {
    margin-top: 2.0em !important;
}

.margin-bt1 {
    margin-bottom: 1.0em !important;
}

.center {
    text-align: center;
}

.center2 {
    margin: auto !important;
}

.w-500 {
    width: 100%;
    max-width: 500px;
}

.w-600 {
    width: 100%;
    max-width: 600px;
}

.w-harf {
    width: 50%;
}

/*------------------------------------------------------------
      汎用ボックス
 ------------------------------------------------------------*/

/*実線ブラック*/

.box-solid1 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: solid 1px #000000;
}

.box-solid1 p {
    margin: 0;
    padding: 0;
}

/*ボックス背景グレー*/

.box-bk-gy {
    padding: 0.5em 1em;
    margin: 1.2em 0;
    background: #f5f5f5;
    /*背景色*/
}

.box-bk-gy p {
    margin: 0;
    padding: 0;
}

/*box*/

.box-center {
    padding: 2%;
    margin: auto;
    width: 60%;
   }

.box-right {
    text-align: right;
    margin-left: auto;
}

.box-bk-red {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: #990000;
    /*背景色*/
}

.box-bk-red p {
    margin: 0;
    padding: 0;
    color: #ffffff;
}

/*title*/

.m-triangle {
    margin: 0;
    position: relative;
    margin-bottom: 35px;
    padding-top: 50px;
    padding-left: 40px;
}

.m-triangle:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 0 110px 80px;
    border-color: transparent transparent #a3d0e4 transparent;
    position: absolute;
    z-index: -1;
    transform: rotate(30deg);
    top: -20px;
    left: 30px;
}

.m-solid {
    border-bottom: 1px solid #ccc;
}

/*------------------------------------------------------------
      段組みlayout
 ------------------------------------------------------------*/

.collayout-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

/* リンクテキストの下線を非表示 */

a.col-link {
    text-decoration: none;
}

/* レイアウト内の画像を幅いっぱいに表示 */

.collayout-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

.col-figure {
    margin: 0;
    padding: 0;
}

/* タイトル部分 */

.col-title, .col-title2 {
    margin: 0.6em 0 0;
    padding: 0.2em 0.2em 0 0.2em;
    color: #333;
    text-align: center;
    font-size: 110%;
}

/* 説明文部分 */

.col-text-tax, .col-title2 {
    margin: 0;
    padding: 1em;
    color: #818181;
    font-size: 85%;
}

/* フレーム シャドウ*/

.col2-list, .col2-2-list, .col3-list, .col3-3-list, .col4-list, .col4-list-2, .col6-list {
    box-shadow: 0 1px 2px #ccc;
}

/* フレーム 枠線あり*/

.col2-list-waku, .col2-2-list-waku, .col3-list-waku, .col3-3-list-waku, .col4-list-waku, .col4-2-list-waku, .col6-list-waku {
    border: 1px solid #ccc;
}

/* フレーム 枠線なし*/

.col2-list-nwaku, .col2-2-list-nwaku, .col3-list-nwaku, .col3-3-list-nwaku, .col4-list-nwaku, .col4-2-list-nwaku, .col6-list-nwaku {}

/* カラム*/

.col2-list, .col2-2-list, .col2-list-waku, .col2-list-nwaku, .col2-2-list-waku, .col2-2-list-nwaku {
    margin: 0.5em 0;
    width: calc(96% / 2);
    /* 2カラムで配置 96%幅を2で割るという指定 */
}

.col3-list, .col3-3-list, .col3-list-waku, .col3-list-nwaku, .col3-3-list-waku, .col3-3-list-nwaku {
    margin: 0.5em 0;
    width: calc(96% / 3);
    /* 3カラムで配置 96%幅を3で割るという指定 */
}

.col4-list, .col4-2-list, .col4-list-waku, .col4-list-nwaku, .col4-2-list-waku, .col4-2-list-nwaku {
    margin: 0.5em 0;
    width: calc(96% / 4);
    /* 4カラムで配置 96%幅を4で割るという指定 */
}

.col6-list, .col6-list-waku, .col6-list-nwaku {
    margin: 0.5em 0;
    width: calc(96% / 6);
    /* 6カラムで配置 96%幅を6で割るという指定 */
}

/* ヘッダーバナー用 0805*/

.col2-list-nwaku2 {
    margin: 0.5em 0;
    width: calc(99% / 2);
}

/* 最後の行が3列より少ない場合左寄せにレイアウトさせる*/

.collayout-wrap::after {
    content: "";
    display: block;
    width: calc(96% / 3);
}

/* 画面幅768pxまで */

@media all and (max-width: 768px) {
    /* タイトル部分 */
    .col-title2 {
        margin: 0.4em 0 0;
        padding: 0.1em 0.1em 0 0.1em;
        color: #333;
        text-align: center;
        font-size: 100%;
    }
    /* 説明文部分 */
    .col-text-tax2 {
        margin: 0;
        padding: 0.3em;
        color: #818181;
        font-size: 80%;
        line-height: 100%;
    }
    .col2-list, .col2-list-waku, .col2-list-nwaku {
        margin: 0.5em auto;
        padding: 0;
        width: 96%;
        background: #ffffff;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    }
    /* 1カラムで配置 */
    .col2-2-list, .col2-2-list-waku, .col2-2-list-nwaku {
        margin: 0.5em 0;
        width: calc(96% / 2);
        /* 2カラムで配置 96%幅を2で割るという指定 */
    }
    .col3-list, .col3-list-waku, .col3-list-nwaku, .col4-list, .col4-2-list, .col4-2-list-waku, .col4-2-list-nwaku {
        margin: 0.5em 0;
        width: calc(96% / 2);
        /* 2カラムで配置 96%幅を2で割るという指定 */
        margin: 0.5em 0;
        width: calc(96% / 2);
        /* 2カラムで配置 96%幅を2で割るという指定 */
    }
    .col6-list, .col6-list-waku, .col6-list-nwaku {
        margin: 0.2em 0;
        width: calc(96% / 3);
        /* 3カラムで配置 96%幅を3で割るという指定 */
    }
    /* ヘッダーバナー用 0805*/
    .col2-list-nwaku2 {
        margin: 0.5em auto;
        padding: 0;
        width: 99%;
    }
}

/*ボタングレー*/

a.btn_gy {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 3px solid #cecece;
    color: #333;
    box-sizing: border-box;
    width: 100%;
    max-width: 300px;
    height: 40px;
    vertical-align: bottom;
    font-size: 16px;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

a.btn_gy:hover {
    background: #666;
    color: #fff;
}

a.btn_gy2 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #666;
    color: #fff;
    box-sizing: border-box;
    width: 100%;
    max-width: 300px;
    height: 40px;
    vertical-align: bottom;
    font-size: 16px;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

a.btn_gy2:hover {
    opacity: 0.5;
}

/*必須などの小さいボタン*/

.btn_small {
    padding: 1px 8px;
    font-size: 10px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #e2e2e2;
    margin: 4px 8px 10px;
    text-decoration: none;
    border-radius: 3px;
}

/*タップで電話*/

.btn-tel {
    position: relative;
    display: block;
    border-radius: 50px;
    color: white;
    font-weight: bold;
    text-align: center;
    background: #ff1736;
    padding: 6px 0 4px 0;
    margin: auto;
    max-width: 250px;
}

.btn-tel::after {
    content: "";
    /*background: url({$stores.storeDomain}/pic-labo/telephone.png) no-repeat center;*/
    background-size: contain;
    width: 24px;
    height: 24px;
    position: absolute;
    top: calc(50% - 12px);
    /*left: 15px;*/
}