@charset "utf-8";

/* reset
*********************************************************/

* {
    margin : 0;
    padding: 0;
}

div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing   : border-box;
    box-sizing        : border-box;
}

ul,
ol {
    list-style: none;
}

h1,
h2,
h3,
h4,
h5 {
    margin: 0;
}


/* common
*********************************************************/

html {
    font-size: 62.5%;
}

body {
    color: #333;
}

body,
.pure-g [class*=pure-u] {
    font-family: "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

.webfont {
    font-family: 'Noto Serif JP', serif;
}

@media all and (-ms-high-contrast:none) {

    body,
    .pure-g [class*=pure-u] {
        font-family: "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    }
}

.mincho {
    font-family          : 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-feature-settings: "palt";
}

body {
    -webkit-font-smoothing : subpixel-antialiased;
    -moz-osx-font-smoothing: unset;

    @media only screen and(-webkit-min-device-pixel-ratio: 2),
    (min-resolution: 2dppx) {
        -webkit-font-smoothing : antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

p {
    font-size  : 1.6rem;
    line-height: 1.7;
}


a {
    color: #333;
}

a:hover {
    opacity           : 0.6;
    -webkit-transition: all 0.3s;
    -moz-transition   : all 0.3s;
    -ms-transition    : all 0.3s;
    -o-transition     : all 0.3s;
    transition        : all 0.3s;
}

.container {
    width             : 100%;
    max-width         : 1230px;
    padding-left      : 15px;
    padding-right     : 15px;
    margin            : auto;
    overflow          : hidden;
    position          : relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing   : border-box;
    box-sizing        : border-box;
}

.columns {
    display: flex;
}

.clear {
    clear: both !important;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.center-block {
    display: block;
    margin : auto;
}

.wp-pagenavi {
    padding   : 20px 0;
    background: #F9F9F9;
    margin-top: 45px;
    font-size : 1.6rem;
    overflow  : hidden;
}

.wp-pagenavi.var01 {
    padding-left      : 15px;
    padding-right     : 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing   : border-box;
    box-sizing        : border-box;
}

.wp-pagenavi a,
.wp-pagenavi span {
    background: #FFF;
}

.wp-pagenavi.var01 a {
    border    : none;
    color     : #333;
    background: none;
}

.wp-pagenavi span.current {
    background  : #666;
    color       : #fff;
    border-color: #666;
}

.bg-danger {
    background-color: #f2dede;
    padding         : 5px;
}

.text-danger {
    color: #a94442;
}

a[href^=tel] {
    text-decoration: none;
    color          : inherit;
    cursor         : default;
}

a[href^=tel]:hover {
    opacity: 1;
}

.lazy {
    opacity          : 0;
    position         : relative;
    -webkit-transform: translate(0%, 50px);
    transform        : translate(0%, 50px);
}

.lazy-show {
    opacity           : 1;
    -webkit-transition: all 0.8s;
    -moz-transition   : all 0.8s;
    -ms-transition    : all 0.8s;
    -o-transition     : all 0.8s;
    -webkit-transform : translate(0, 0);
    transform         : translate(0, 0);
    transition        : all 1s;
}

.flickWrap {
    width: 100%;
}


@media screen and (max-width:828px) {
    a[href^=tel] {
        /*text-decoration: underline;*/
    }

    .flickWrap {
        overflow   : auto;
        white-space: nowrap;
        padding    : 5px 0;
    }

    .flickWrap::before {
        content      : "※表が見切れる場合は横スクロールでご覧ください。";
        color        : #F55;
        font-size    : 1.4rem;
        margin-bottom: 20px;
    }

    .flickWrap::-webkit-scrollbar {
        height: 5px;
    }

    .flickWrap::-webkit-scrollbar-track {
        background: #F1F1F1;
    }

    .flickWrap::-webkit-scrollbar-thumb {
        background: #BCBCBC;
    }
}


/* Header
*********************************************************/

header {
    overflow: hidden;
}

.head-logo {
    /*position: absolute;*/
    z-index   : 1;
    background: #fff;
    padding   : 10px 30px;
}

#header h1 a {
    display: inline-block;
}

.head-logo a {
    display: inline-block;
}

@media screen and (max-width:828px) {

    #header a.menu-trigger,
    #header a.menu-trigger span {
        display   : inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }

    #header a.menu-trigger {
        position  : fixed;
        width     : 40px;
        height    : 40px;
        right     : 10px;
        top       : 10px;
        z-index   : 600;
        background: rgba(255, 255, 255, 0.75);
    }

    #header a.menu-trigger:hover {
        opacity: 1;
    }

    #header a.menu-trigger span {
        position        : absolute;
        left            : 5px;
        width           : 30px;
        height          : 2px;
        background-color: #333;
        border-radius   : 1px;
    }

    #header a.menu-trigger span:nth-of-type(1) {
        top: 10px;
    }

    #header a.menu-trigger span:nth-of-type(2) {
        top: 48%;
    }

    #header a.menu-trigger span:nth-of-type(3) {
        bottom: 10px;
    }

    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-315deg);
        transform        : translateY(9px) rotate(-315deg);
    }

    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }

    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(315deg);
        transform        : translateY(-9px) rotate(315deg);
    }
}

/* GlobalNavi
*********************************************************/
#gNavi{
    height: 80px;
}

#gNavi nav{
    padding-top: 40px;
    padding-right: 40px;
}

#gNavi ul li {
    display       : inline-block;
    font-size     : 1.7rem;
    white-space   : nowrap;
    vertical-align: bottom;
    padding-bottom: 15px;
}

#gNavi ul li+li {
    padding-left: 40px;
}

#gNavi ul li a {
    color          : #333;
    font-weight    : bold;
    text-decoration: none;
}

/* #gNavi ul li.nav-contact a {
    display             : block;
    color               : #fff;
    width               : 180px;
    line-height         : 80px;
    overflow            : hidden;
    background          : linear-gradient(45deg, #46739B, #00bfff, #6cb8ff);
    background          : linear-gradient(45deg, #B915FF, #E45AE4, #FAC861, #EFF40B, #8CE732, #DE51F7, #22D7FD);
    background          : #00bfff;
    background-size     : 1000% 1000%;
    text-align          : center;
    opacity             : 0.8;
    position            : relative;
    animation           : gradationanimation 15s ease infinite;
    -webkit-animation   : gradationanimation 15s ease infinite;
    text-shadow: 0px 0px 1px rgba(0,0,0,0.6);
} */

@keyframes gradationanimation {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes gradationanimation_layer {
    0% {
        width              : 300px;
        height             : 300px;
        left               : 0;
        top                : 0;
        background-position: 0% 50% transform: rotate(0deg);
        -webkit-transform  : rotate(0deg);
        -moz-transform     : rotate(0deg);
        -ms-transform      : rotate(0deg);
        -o-transform       : rotate(0deg);
    }

    50% {
        background-position: 100% 50% transform: rotate(180deg);
        width              : 600px;
        height             : 600px;
        left               : 5%;
        top                : 5%;
        -webkit-transform  : rotate(180deg);
        -moz-transform     : rotate(180deg);
        -ms-transform      : rotate(180deg);
        -o-transform       : rotate(180deg);
    }

    100% {
        width              : 800px;
        height             : 800px;
        left               : 15%;
        top                : 15%;
        background-position: 0% 50% transform: rotate(360deg);
        -webkit-transform  : rotate(360deg);
        -moz-transform     : rotate(360deg);
        -ms-transform      : rotate(360deg);
        -o-transform       : rotate(360deg);
    }
}

#gNavi ul li ul {
    display: none;
}

#gNavi ul li:hover ul {
    display   : block;
    position  : absolute;
    z-index   : 1;
    background: #46739B;
    padding   : 10px 0;
    margin-top: 13px;
}

#gNavi ul li:hover ul li {
    display: block;
    padding: 5px 15px !important;
}

#gNavi ul li:hover ul li a {
    color: #fff;
    opacity: 1;
}

#gNavi ul li:hover ul li a:hover{
    color: #7FFF00;
}


@media screen and (max-width:828px) {
    #gNavi {
        display   : none;
        background: rgba(0, 0, 0, 0.9);
        position  : fixed;
        left      : 0;
        top       : 0;
        width     : 100vw;
        height    : 100vh;
        z-index   : 100;
        overflow  : hidden;
    }

    #gNavi .container {
        overflow: hidden;
        position: relative;
        width   : 100vw;
        height  : 100vh;
        padding : 0;
    }

    #gNavi ul {
        display           : block;
        height            : 100vh;
        overflow-y        : scroll;
        padding-bottom    : 100px;
        border            : none;
        position          : absolute;
        right             : -100vw;
        top               : 50px;
        width             : 100vw;
        -webkit-box-sizing: border-box;
        -moz-box-sizing   : border-box;
        box-sizing        : border-box;
        z-index           : 110;
        padding-left      : 0;
    }

    #gNavi ul li {
        padding-bottom: 0;
    }

    #gNavi ul li.nav-contact {
        padding      : 25px 0 0;
        border-bottom: none;
    }

    #gNavi ul li.nav-contact a {
        display    : block;
        color      : #fff;
        width      : 250px;
        line-height: 30px;
        background : #46739B;
        text-align : center;
        margin     : 0 auto;
    }

    #gNavi ul li,
    #gNavi ul li:first-of-type {
        float        : none;
        display      : block;
        width        : 100%;
        border       : none;
        padding-left : 0;
        border-bottom: 1px dotted #fff;
    }

    #gNavi ul li+li {
        padding-left: 0;
    }

    #gNavi ul li a {
        color             : #FFF;
        line-height       : 1;
        border            : none;
        display           : block;
        text-align        : center;
        width             : 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing   : border-box;
        box-sizing        : border-box;
        padding           : 20px 0;
    }

    #gNavi ul li:first-of-type a {
        border: none;
    }

    #gNavi ul li a small {
        display: none;
    }

    #gNavi ul li ul.sub-menu {
        display: none !important;
    }
}


/* Breadcrumbs
*********************************************************/

#breadcrumbs {
    padding      : 15px 0;
    font-size    : 1.4rem;
    margin-bottom: 35px;
}

#breadcrumbs a {
    color          : #333;
    text-decoration: none;
}


@media screen and (max-width:828px) {
    #breadcrumbs {
        height       : auto;
        padding      : 15px 0;
        line-height  : 1.6;
        margin-bottom: 20px;
    }
}


/* Content
*********************************************************/

@media screen and (max-width:828px) {}



/* sidebar
*********************************************************/

@media screen and (max-width:828px) {}


/* Footer
*********************************************************/

footer {
    padding   : 40px 0 0 0;
    border-top: #ccc solid 2px;
    margin-top: 100px;
}

#home+footer {
    margin-top: 0;
}

.footer-nav {
    margin-bottom: 20px;
}

.footer-nav li {
    display     : inline-block;
    margin-right: 20px;
}

.footer-nav a {
    text-decoration: none;
    font-size      : 1.5rem;
    font-weight    : bold;
}

footer .unit2 {
    margin: 0 30px;
}

footer .unit2 h3 {
    color        : #46739B;
    font-size    : 1.8rem;
    margin-bottom: 10px;
}

footer .unit3 p {
    margin-top: 10px;
    font-size : 1.5rem;
}

footer dl {
    width  : 100%;
    display: table;
}

footer dt,
footer dd {
    display  : table-cell;
    font-size: 1.5rem;
}

footer dt {
    width      : 105px;
    font-weight: bold;
}

footer .wrap01 {
    display      : -webkit-flex;
    display      : -moz-flex;
    display      : -ms-flex;
    display      : -o-flex;
    display      : flex;
    margin-bottom: 40px;
}

footer .wrap01 .unit1 p span {
    color      : #46739B;
    font-weight: bold;
    font-size  : 1.8rem;
}

footer .wrap01 .unit1 p span+span {
    padding-left: 20px;
}

footer .wrap01 .unit2 a {
    display        : block;
    padding        : 0 30px;
    height         : 55px;
    line-height    : 55px;
    background     : linear-gradient(90deg, #46739B, #00bfff);
    color          : #fff;
    font-size      : 1.6rem;
    font-weight    : bold;
    text-decoration: none;
}

#copyright {
    background: #46739B;
    color     : #fff;
    font-size : 1.3rem;
    padding   : 10px 0;
    margin-top: 30px;
}

#copyright a {
    color          : #fff;
    text-decoration: none;
}

/* footer-contact */

.footer-contact {
    padding        : 60px 0;
    background     : url(../../images/page/bg_home_2.jpg) no-repeat left top;
    background-size: cover;
}

.footer-contact .area-btn {
    margin-top: 40px;
}

.footer-contact .area-btn li {
    display: inline-block;
}

.footer-contact .area-btn li.area-fax {
    margin: 0 40px 0 10px;
}

.footer-contact .area-btn li.area-tel span,
.footer-contact .area-btn li.area-fax span {
    display      : inline-block;
    padding      : 0 5px 5px 5px;
    font-size    : 2.6rem;
    font-weight  : bold;
    border-bottom: 2px solid #46739B;
}

.footer-contact .area-btn li.area-tel span small,
.footer-contact .area-btn li.area-fax span small {
    font-size: 1.8rem;
    color    : #46739B;
}

.footer-contact .area-btn li.area-contact a {
    display        : block;
    font-size      : 1.6rem;
    width          : 258px;
    line-height    : 58px;
    color          : #fff;
    font-weight    : bold;
    text-decoration: none;
    background     : #46739B;
}


@media screen and (max-width:828px) {
    footer {
        text-align: center;
    }

    .footer-nav {
        margin    : 0 -15px 20px;
        box-sizing: border-box;
        border-top: solid 1px #ccc;
    }

    .footer-nav li a {
        font-size: 1.1rem;
        display  : block;
        padding  : 5px;
    }

    .footer-nav li {
        margin       : 0;
        text-align   : center;
        padding      : 5px;
        display      : block;
        float        : left;
        width        : 50%;
        box-sizing   : border-box;
        border-bottom: solid 1px #ccc;
    }

    .footer-nav li:nth-child(odd) {
        border-right: dotted 1px #ccc;
    }

    footer .wrap01 {
        display: block;
    }

    footer .wrap01 .unit1 p span+span {
        display     : block;
        padding-left: 0;
    }

}



/* WP default
*********************************************************/

.aligncenter,
div.aligncenter {
    display     : block;
    margin-left : auto;
    margin-right: auto;
}

.alignleft {
    float: left;
}

.alignright {
    float: right;
}

.wp-caption {
    border               : 1px solid #ddd;
    text-align           : center;
    background-color     : #f3f3f3;
    padding-top          : 4px;
    margin               : 10px;
    /* optional rounded corners for browsers that support it */
    -moz-border-radius   : 3px;
    -khtml-border-radius : 3px;
    -webkit-border-radius: 3px;
    border-radius        : 3px;
}

.wp-caption img {
    margin : 0;
    padding: 0;
    border : 0 none;
}

.wp-caption p.wp-caption-text {
    font-size  : 11px;
    line-height: 17px;
    padding    : 0 4px 5px;
    margin     : 0;
}

.cf::after {
    content: "";
    display: block;
    clear  : both;
}

.rtt {
    display    : block;
    position   : fixed;
    right      : 15px;
    bottom     : 15px;
    font-size  : 50px;
    color      : #ccc;
    text-shadow: 0 0 5px #fff;
}

.changeBox {
    display                : flex;
    -webkit-justify-content: flex-end;
    -ms-justify-content    : flex-end;
    justify-content        : flex-end;
    -webkit-flex-direction : row-reverse;
    -ms-flex-direction     : row-reverse;
    flex-direction         : row-reverse;
}

.btn-type-1 {
    display        : inline-block;
    text-decoration: none;
    background     : linear-gradient(90deg, #46739B, #00bfff);
    color          : #fff;
    line-height    : 46px;
    border-radius  : 23px;
    padding        : 0 20px;
    text-align     : center;
    font-size      : 1.6rem;
    font-weight    : bold;
    min-width      : 200px;
}

.ttl-home-1 {
    font-size    : 4rem;
    color        : #46739B;
    margin-bottom: 15px;
}

.ttl-home-1 small {
    display  : block;
    font-size: 1.5rem;
    color    : #333;
}

@media screen and (max-width:828px) {

    .sp-bottom {
        margin-bottom: 20px;
    }

    body .pull-left,
    body .pull-right {
        float: none;
    }

    body .pull-left h1{
        padding: 15px;
    }

    .head-logo {
        position  : static;
        z-index   : 1;
        background: #fff;
        padding   : 15px 0;
    }

    .head-logo h1 img {
        /*max-width: 100px;*/
    }

    .footer-contact {
        padding: 40px 0;
    }

    .footer-contact .area-txt {
        background: rgba(255, 255, 255, 0.8);
        padding   : 20px;
    }

    .footer-contact .area-btn li {
        display   : block;
        text-align: center;
    }

    .footer-contact .area-btn li.area-contact a {
        margin: 0 auto;
    }

    .footer-contact .area-btn li.area-fax {
        margin: 10px 0 20px;
    }

    footer dt,
    footer dd,
    footer dl {
        display: block;
        width  : 100%;
    }

    footer dl {
        margin-bottom: 15px;
    }

    footer .unit2 {
        margin: 15px 0;
    }

    .ttl-home-1 {
        font-size: 2.3rem;
    }

}


@media screen and (min-width:829px) and (max-width:1200px) {
    .footer-nav li {
        display     : inline-block;
        margin-right: 10px;
    }
}