@charset "utf-8";
/* CSS Document */

html {
    font-family: 'Noto Sans JP', sans-serif;
}
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6 {
    font-family: 'Avenir', 'Arial', 'M PLUS Rounded 1c', serif;
}

/* CSS変数定義 */
:root {
    /* カラーパレット */
    /* ベース色 */
    --cp-base-01: rgb(191,211,214);
    /* 基本色 */
    --cp-base-02: rgb(112,162,172);
    --cp-base-03: rgb(239,226,221);
    --cp-base-04: rgb(149,163,172);
    /* 定番色 */
    --cp-stap-01: rgb(199,196,131);
    --cp-stap-02: rgb(254,236,216);
    --cp-stap-03: rgb(149,176,190);
    --cp-stap-04: rgb(0,0,0);
    /* 補色 */
    --cp-comp-01: rgb(242,161,166);
    --cp-comp-02: rgb(246,182,149);
    --cp-comp-03: rgb(250,220,224);
    --cp-comp-04: rgb(255,246,143);
    /* 同系色 */
    --cp-simi-01: rgb(190,178,215);
    --cp-simi-02: rgb(144,205,178);
    --cp-simi-03: rgb(142,203,208);
    --cp-simi-04: rgb(0,0,0);
    /* その他 */
    --cp-etc-01: rgb(102,102,102);
    --cp-etc-02: rgb(109,107,91);
    --cp-etc-03: rgb(221,221,221);
    --cp-etc-04: rgb(0,0,0);
}

.logo {
    max-width: 500px;
    z-index: 100;
}
.logo>div>h1 {
    font-weight: 500; 
    font-size: 1.5rem;
    line-height: 1.2; 
    margin: 0;
    padding-left: 10px; 
    letter-spacing: .05em
}
.logo>div>p {
    font-size: 0.72rem;
    line-height: 0.9; 
    margin: 5px 0 0;
    padding-left: 10px; 
    letter-spacing: .05em
}
@media (max-width: 559px) {
    .logo>div>h1 {font-size: 1.2rem;}
    .logo>div>p {font-size: 0.6rem;}
}
#mainnav {
    height: 120px;
}
#navicon {
    color: white;
    z-index: 100;
    background-color: var(--cp-base-02);
    padding: 20px;
    border-radius: 40px;
}

.scroll2view {
    box-shadow: none!important;
    background: none!important;
}
.scroll2view #page_top,
.scroll2view #bottom_banner {
    display: none;
}

.uk-navbar-sticky {
    background: white!important;
}

.uk-navbar-nav>li>a {
    padding: 15px 20px;
    min-height: 60px;
    color: var(--cp-etc-01);
    font-size: 0.9rem;
	position: relative;
	display: inline-block;
    transition: all 0.08s ease-out;
}
.uk-navbar-nav>li>a>.uk-h4,
.uk-navbar-nav>li>a>.uk-h5 {
    color: var(--cp-base-02);
}
.uk-navbar-nav>li {
    background: white;
    margin-left: 10px;
    border-radius: 30px;
}
.uk-navbar-nav>li:hover>a>.uk-h4,
.uk-navbar-nav>li>a.uk-open>.uk-h4,
.uk-navbar-nav>li>a:focus>.uk-h4,
.uk-navbar-nav>li:hover>a>.uk-h5,
.uk-navbar-nav>li>a.uk-open>.uk-h5,
.uk-navbar-nav>li>a:focus>.uk-h5 {
    color: white!important;
}
.uk-navbar-nav>li:hover>a,
.uk-navbar-nav>li>a.uk-open,
.uk-navbar-nav>li>a:focus {
    color: white!important;
    background: var(--cp-base-02);
    transition: all 0.08s ease-out;
    border-radius: 30px;
}

#spnavmenu,
#fixedmenu {
    margin: 0;
    padding: 0;
    width: 100%;
}
#spnavmenu .uk-nav>li>a,
#fixedmenu .uk-nav>li>a {
    width: 100%;
    background: white;
    border-radius: 30px;
    padding: 15px 20px;
    min-height: 60px;
    color: var(--cp-etc-01);
    font-size: 0.9rem;
	position: relative;
	display: inline-block;
    transition: all 0.08s ease-out;
    box-shadow: 0 0 7px 1px var(--cp-base-04);
}
#spnavmenu .uk-nav>li>a>.uk-h4,
#spnavmenu .uk-nav>li>a>.uk-h5,
#fixedmenu .uk-nav>li>a>.uk-h4,
#fixedmenu .uk-nav>li>a>.uk-h5 {
    color: var(--cp-base-02);
}
#spnavmenu .uk-nav>li>a:hover,
#spnavmenu .uk-nav>li>a.uk-open,
#fixedmenu .uk-nav>li>a:hover,
#fixedmenu .uk-nav>li>a.uk-open {
    color: white!important;
    background: var(--cp-base-02);
    transition: all 0.08s ease-out;
    border-radius: 30px;
}
#spnavmenu .uk-nav>li>a:hover>.uk-h4,
#spnavmenu .uk-nav>li>a.uk-open>.uk-h4,
#spnavmenu .uk-nav>li>a:focus>.uk-h4,
#spnavmenu .uk-nav>li>a:hover>.uk-h5,
#spnavmenu .uk-nav>li>a.uk-open>.uk-h5,
#spnavmenu .uk-nav>li>a:focus>.uk-h5,
#fixedmenu .uk-nav>li>a:hover>.uk-h4,
#fixedmenu .uk-nav>li>a.uk-open>.uk-h4,
#fixedmenu .uk-nav>li>a:focus>.uk-h4,
#fixedmenu .uk-nav>li>a:hover>.uk-h5,
#fixedmenu .uk-nav>li>a.uk-open>.uk-h5,
#fixedmenu .uk-nav>li>a:focus>.uk-h5 {
    color: white!important;
}
/* #spnavmenu .uk-nav>li.uk-first-column {padding-left: 0;} */

.uk-heading-bullet::before {
    border-left: calc(5px + 0.1em) solid var(--cp-base-02);
}

.ohtable {
    border: var(--cp-base-02) 2px solid;
    color: var(--cp-etc-02);
    border-collapse: separate;
    border-radius: 10px;
    overflow: hidden;
    margin: 0;
    background-color: white;
}
.ohtable>thead>tr>th {
    font-family: 'M PLUS Rounded 1c', serif;
    color: white;
    font-size: 1.05em;
    background-color: var(--cp-base-02);
}
.ohtable_side>thead>tr>th,
.ohtable_side>tbody>tr>td {
    padding: 8px 12px;
}
@media (max-width: 419px) {
    .ohtable>thead>tr>th,
    .ohtable td {
        padding: 6px 2px;
    }
}

.lh180 {line-height: 1.8;}

.breadcrumb {
    border-bottom: solid 1px var(--cp-etc-03);
}

#page_top {
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
    transition: opacity 0.3s;
    z-index: 50;
}
#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: var(--cp-base-04);
    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: var(--cp-base-04);
}
#page_top:hover {
    opacity: 1;
}
@media (max-width: 639px) {
    #page_top {
        bottom: 50px;
    }
}
#bottom_banner {
    width: 100%;
    padding: 0 10px;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 50;
}

#floatnav {
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(500px);
    transition: all 0.3s;
}
#toppage .floatnavopen #floatnav,
#floatnav:hover {
    transform: translateX(0px);
}
#floatnav .fa-chevron-circle-right,
#toppage .floatnavopen #floatnav .fa-chevron-circle-left,
#floatnav:hover .fa-chevron-circle-left {
    display: none;
}
#floatnav .fa-chevron-circle-left,
#toppage .floatnavopen #floatnav .fa-chevron-circle-right,
#floatnav:hover .fa-chevron-circle-right {
    display: inline-block;
}

.sidenav {
    width: 240px;
    height: 100%;
    z-index: 5!important;
}
.sidenav>ul>li>a {
    padding-left: 10px;
}
.sidenav>ul>li>a:hover {
    color: white;
    background: var(--cp-stap-03);
    transition: all 0.1s ease-out;
}
.sidenav>ul>li>a.sel {
    color: white;
    background: var(--cp-base-02);
    transition: all 0.1s ease-out;
}

.cardlink {
    box-shadow: 0 5px 15px rgb(0,0,0 / 8%);
}
.cardlink a {
    display: block;
    background: white;
    color: #231815!important;
    position: relative;
    text-decoration: none;
    transition: opacity 0.3s;
}
.cardlink a:hover {
    opacity: 0.7;
}
.cardlink a .uk-card-default {
    box-shadow: none!important;
}

address {
    margin: 0;
    padding: 0;
	font-style: normal;
}
.copyright {
	font-size: 0.8em;
	text-align: center;
}

@media screen and (max-width: 640px) {
    .resp-table th,
    .resp-table td {
        display: block!important;
    }
    .resp-table_green th {
        color: white;
        background-color: rgb(166,195,172);
    }
    .resp-table_pa0 th,
    .resp-table_pa0 td {
        padding-right: 0!important;
        padding-left: 0!important;
    }
    .resp-table_pa5 th,
    .resp-table_pa5 td {
        padding-right: 5px!important;
        padding-left: 5px!important;
    }
    .resp-table_pa10 th,
    .resp-table_pa10 td {
        padding-right: 10px!important;
        padding-left: 10px!important;
    }
}

.hr-bold-white {
    border-top: 5px solid white!important;
}

.font-uklink {color: #1e87f0!important;}

.font-base-01 {color: var(--cp-base-01)!important;}
.font-base-02 {color: var(--cp-base-02)!important;}
.font-base-03 {color: var(--cp-base-03)!important;}
.font-base-04 {color: var(--cp-base-04)!important;}
.font-staple-01 {color: var(--cp-stap-01)!important;}
.font-staple-02 {color: var(--cp-stap-02)!important;}
.font-staple-03 {color: var(--cp-stap-03)!important;}
.font-complement-01 {color: var(--cp-comp-01)!important;}
.font-complement-02 {color: var(--cp-comp-02)!important;}
.font-complement-03 {color: var(--cp-comp-03)!important;}
.font-complement-04 {color: var(--cp-comp-04)!important;}
.font-similar-01 {color: var(--cp-simi-01)!important;}
.font-similar-02 {color: var(--cp-simi-02)!important;}
.font-similar-03 {color: var(--cp-simi-03)!important;}

.bg-base-01 {background: var(--cp-base-01)!important;}
.bg-base-02 {background: var(--cp-base-02)!important;}
.bg-base-03 {background: var(--cp-base-03)!important;}
.bg-base-04 {background: var(--cp-base-04)!important;}
.bg-staple-01 {background: var(--cp-stap-01)!important;}
.bg-staple-02 {background: var(--cp-stap-02)!important;}
.bg-staple-03 {background: var(--cp-stap-03)!important;}
.bg-complement-01 {background: var(--cp-comp-01)!important;}
.bg-complement-02 {background: var(--cp-comp-02)!important;}
.bg-complement-03 {background: var(--cp-comp-03)!important;}
.bg-complement-04 {background: var(--cp-comp-04)!important;}
.bg-similar-01 {background: var(--cp-simi-01)!important;}
.bg-similar-02 {background: var(--cp-simi-02)!important;}
.bg-similar-03 {background: var(--cp-simi-03)!important;}

.bg-dot-black {
    background: url("../img/bg_dot_black.png")!important;
    background-size: 4px!important;
}
.bg-dot-white {
    background: url("../img/bg_dot_white.png")!important;
    background-size: 4px!important;
}
.bg-stripe {
    background: url("../img/stripebg_03.png");
    background-size: cover!important;
}
.bg-transparent {background: rgba(34,34,34,.3);}
.bg-transparent-black {background: rgba(0,0,0,.5);}
.bg-transparent-white {background: rgba(255,255,255,.7);}


@media (max-width: 1389px) {
    .uk-visible\@1390 {
        display: none!important;
    }
    .pl0_1390 {padding-left: 0!important;}
}
@media (min-width: 1390px) {
    .uk-hidden\@1390 {
        display: none!important;
    }
}

@media (max-width: 1349px) {
    .uk-visible\@1350 {
        display: none!important;
    }
}
@media (min-width: 1350px) {
    .uk-hidden\@1350 {
        display: none!important;
    }
}

@media (max-width: 679px) {
    .uk-visible\@680 {
        display: none!important;
    }
}
@media (min-width: 680px) {
    .uk-hidden\@680 {
        display: none!important;
    }
}

@media (max-width: 559px) {
    .uk-visible\@560 {
        display: none!important;
    }
}
@media (min-width: 560px) {
    .uk-hidden\@560 {
        display: none!important;
    }
}

@media (max-width: 399px) {
    .uk-visible\@400 {
        display: none!important;
    }
}
@media (min-width: 400px) {
    .uk-hidden\@400 {
        display: none!important;
    }
}

.tel {
    background: white;
    padding: 15px 20px;
    min-height: 60px;
    margin-left: 10px;
    border-radius: 30px;
}
.tel>p.subsc {
    color: var(--cp-etc-01);
    font-size: .72rem;
}

.work-content {
    color: rgb(96,96,96);
    text-decoration: none;
}
.work-content>div>img {
    width: 300px;
    height: 300px;
}
.work-content>div>div>h2 {
    margin: 72px 0 0 0;
    color: rgb(96,96,96);
    font-weight: 700;
    line-height: 1;
    text-align: left;
}
.work-content>div>div>h3 {
    margin: 10px 0;
    color: rgb(96,96,96);
    font-size: 1rem;
    font-weight: 100;
    line-height: 1;
    text-align: left;
}
.work-content>div>div>hr {
    border-top: solid 1px rgb(96,96,96);
}
.work-content>div>div>ul {
    padding-right: 0;
}
.work-content>div>div>ul>li::marker {
    color: rgb(68,164,141);
}
.color-attention {
    color: rgb(234,90,81);
    font-weight: 700;
}
.color-point {
    color: #c69726;
}

.uk-button-default {
    border-radius: 30px;
}
.uk-button-default:hover {
    opacity: 0.6;
    transition: all 0.3s;
}

.profBox {
    border-left: 1px solid rgb(191,211,214);
    padding-left: 40px;
    margin-left: 40px;
}



/* トピックス */
.sidepanel {
    width: 320px!important;
}
.sidepanel .recentinfo>div>div {
    width: 100%!important;
}
.midhead {
    box-sizing: border-box;
    width: 100%;
    padding: 5px 10px;
    color: white!important;
    background: var(--cp-base-02);
}

.inp-date>select {
    text-transform: none;
    border: 0 none;
    padding: 0 10px 3px;
    margin-right: 5px;
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
    transition: .2s ease-in-out;
    transition-property: color,background-color,border;
}
.inp-date>select:not([multiple]):not([size]) {
    height: 40px;
    vertical-align: middle;
    display: inline-block;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 20px;
    background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A);
    background-repeat: no-repeat;
    background-position: 100% 50%;
}

.uk-datepicker {
    width: auto;
}
.uk-datepicker-nav {
    margin-bottom: 15px;
    text-align: center;
    line-height: 20px;
}
.uk-datepicker-nav:after,
.uk-datepicker-nav:before {
    content: "";
    display: table;
}
.uk-datepicker-nav:after {
    clear: both;
}
.uk-datepicker-nav a {
    color: var(--cp-etc-01);
    text-decoration: none;
}
.uk-datepicker-nav a:hover {
    color: #1e87f0;
}
.uk-datepicker-previous {
    float: left;
    margin-left: 12px;
}
.uk-datepicker-next {
    float: right;
    margin-right: 12px;
}
.uk-datepicker-table {
    width: 100%;
}
.uk-datepicker-table td,
.uk-datepicker-table th {
    padding: 2px;
}
.uk-datepicker-table th {
    font-size: 12px;
}
.uk-datepicker-table span {
    display: block;
    width: 26px;
    line-height: 24px;
    text-align: center;
    color: var(--cp-etc-01);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 4px;
    background-origin: border-box;
}
.uk-datepicker-table span a {
    color: #1e87f0;
    text-decoration: none;
}
.uk-datepicker-table span:hover,
.uk-datepicker-table span:hover a {
    color: white;
    text-decoration: none;
}
.uk-datepicker-table span:focus,
.uk-datepicker-table span:hover,
.uk-datepicker-table span:active {
    background-color: var(--cp-base-02);
    outline: 0;
    border-color: rgba(0,0,0,.1);
    border-bottom-color: rgba(0,0,0,.2);
    cursor: pointer;
}
.uk-datepicker-table span.uk-active {
    background: var(--cp-comp-02);
    border:1px solid rgba(0,0,0,.1);
    border-bottom-color:rgba(0,0,0,.2);
}
.uk-datepicker-table span.uk-active a,
.uk-datepicker-table span.uk-active strong,
.uk-datepicker-table span.uk-active {
    background: var(--cp-comp-02);
    color: white;
}