@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);

/*リセット
------------------------------------------------------------------------------------------------------------------------*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td
{
    line-height: 2;

    margin: 0;padding: 0;

    letter-spacing: 1.4px;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var
{
    font-style: normal;
}
ul
{
    list-style: none;
}
table
{
    border-spacing: 0;
    border-collapse: collapse;
}
caption,
th
{
    text-align: left;
}
q:before,
q:after
{
    content: '';
}
object,
embed
{
    vertical-align: top;
}
legend
{
    display: none;
}
h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: 100%;
    font-weight: 600;
}

h3
{
    font-size: 40px;
}

h4
{
    font-size: 24px;
}

img,
abbr,
acronym,
fieldset
{
    border: 0;
}

body
{
    font: 14px/1.9 游ゴシック, YuGothic,'Noto Sans JP', Arial, Verdana, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
    font-weight: 500;

    overflow-x: hidden;

    letter-spacing: 5px;

    color: #333;
    background: #fff;

    -webkit-text-size-adjust: 100%;
}

a
{
    text-decoration: none;

    color: #333;
}

a:hover,
.active
{
    text-decoration: none;
}

a:active,
a:focus,
input:active,
input:focus
{
    outline: 0;
}

@media screen and (max-width: 768px)
{
    h3
    {
        font-size: 28px;
    }
    h4
    {
        font-size: 18px;
    }
}
/*リセット
------------------------------------------------------------------------------------------------------------------------*/


/*全体のスタイル
------------------------------------------------------------------------------------------------------------------------*/
section
{
    border-top: none;
    background: white;
}
img
{
    width: 100%;
    height: auto;
}
.wrapper
{
    width: 95%;
    max-width: 1000px;
    margin: auto;
}

/*全体のスタイル
------------------------------------------------------------------------------------------------------------------------*/

/*メニュー
------------------------------------------------------------------------------------------------------------------------*/
#mainnav
{
    position: relative;
    z-index: 500;
    top: 0;
    font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
    width: 100%;
    height: 100px;
}

#mainnav ul
{
    margin-top: 10px;

    text-align: right;
}

#mainnav li
{
    font-size: 14px;

    display: inline-block;

    letter-spacing: 2px;
}

#mainnav li a
{
    font-weight: bold;

    padding: 0 20px;

    color: white;
    border-right: 1px solid white;
}

#mainnav li:last-child a
{
    border-right: none;
}

#mainnav.changeNav
{
    border-bottom: 1px solid #d1d1d1;
    background: rgba(255,255,255,.9);
}

#mainnav.changeNav li
{
    padding: 20px 10px;
}

.menu-wrap
{
    display: flex;
    justify-content: space-between;

    padding: 20px 0;
}
.menu-wrap img
{
    max-width: 300px;
}

#top-head
{
    position: relative;

    display: none;
}

@media screen and (max-width: 768px)
{
    #top-head
    {
        z-index: 100000000;

        display: block;
    }
}


/*メニュー
------------------------------------------------------------------------------------------------------------------------*/



/*インフォメーション
------------------------------------------------------------------------------------------------------------------------*/
#info
{
    padding: 50px 0px;

    color: #fff;
    background: #ffa54c;
}

#info .info-box
{
    display: flex;
    justify-content: space-between;
}

#info  .info-box .info-cont
{
    width: 50%;
}
#info  .info-box .info-cont img
{
    max-width: 350px;
}

.sub-nav-ul
{
    display: flex;
    justify-content: space-between;
    font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
}
.sub-nav-ul li a
{
    padding: 0 5px;

    color: white;
}

.compus-link
{
    margin-top: 30px;
}
.compus-link p
{
    padding: 20px;
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
    background: white;
    color:#222;
}

.sns-icon
{
    font-size: 32px;
}

.sns-icon .fab
{
    color: #fff;
}



/*フッター
------------------------------------------------------------------------------------------------------------------------*/
#footer
{
    font-size: 10px;

    clear: both;

    padding: 20px 0 20px 0;

    background-color: white;
}

#footer .wrapper
{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;

    padding-bottom: 0;
}

#footer ul
{
    display: flex;
}

#footer ul li:first-child a
{
    border-left: none;
}

#footer ul li a
{
    padding: 0 10px;

    color: #333;
    border-left: 1px solid #ccc;
}

.tel-number a
{
    text-decoration: none;

    color: white!important;
}


/*パンくずリスト
------------------------------------------------------------------------------------------------------------------------*/
#breadcrumb
{
    font-size: smaller;

    margin-top: 10px;
    padding-bottom: 10px;

    list-style: none;
    color:#999;
    border-bottom: 1px solid #dedede;
}
#breadcrumb ol
{
    display: inline-block;
}
#breadcrumb ol li
{
    display: inline;
}
#breadcrumb ol li::after
{
    padding-left: 7px;

    content: '>';
}
#breadcrumb ol li:last-child::after
{
    content: none;
}

#breadcrumb a{
    color:#999;
}

#breadcrumb h1
{
    font-size: smaller;
    font-weight: normal;

    display: inline-block;

    margin-bottom: 0rem;
    margin-left: 10px;
}



/*記事用のボタン
------------------------------------------------------------------------------------------------------------------------*/
.article-btn
{
    margin-top: 30px;

    text-align: center;
}

.article-btn p
{
    display: inline-block;

    padding: 10px 100px;

    color: white;
    border-radius: 100px;
    background-color: black;
}

#article .category-tit
{
    padding: 3px 8px 1px 8px;
    margin: 0;
    font-size: 0.5em;
    color: white;
    border-radius: 100px;
    background: #ffa54c;
}


.responsive_br
{
    display: none;
}

.pc-br
{
    display: block;
}

/*レスポンシブ　タブレットサイズ
------------------------------------------------------------------------------------------------------------------------*/
/*レスポンシブ　タブレットサイズ
------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px)
{
    #mainnav #pcMenu
    {
        display: none;
    }
    .hamburger
    {
        display: block;

        background: #ffa54c;
    }

    /*パンくず-------------------------------------------------------------------*/

    #breadcrumb
    {
        width: 100%;
    }


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

    #info
    {
        padding: 50px 10px;
        color: #fff;
        background: #ffa54c;
    }
    #info .info-box
    {
        display: block;

        text-align: left;
    }
    #info .info-box .info-cont
    {
        width: 100%;
    }

    .sub-nav-ul
    {
        display: block;
    }

    .sub-nav-ul li
    {
        padding: 4px 0;
    }
    .sub-nav-ul li a::before
    {
        content: '》';
    }


    #footer .wrapper
    {
        flex-direction: column;
    }

    small
    {
        order: 2;

        width: 100%;
        margin-top: 10px;

        text-align: center;
    }
    #footer ul
    {
        justify-content: center;
    }

    .menu-wrap img
    {
        width: 200px;
    }

    .responsive_br
    {
        display: block;
    }

    .pc-br
    {
        display: none;
    }

    .compus-link p
    {
        padding: 10px;
        line-height: 1.8;
    }

    #footer ul
    {
        display: flex;
        flex-wrap: wrap;
    }

    #footnav li
    {
        width: 50%;
    }

    #footer ul li a
    {
        padding: 0 10px;

        color: #333;
        border-left: none;
    }

    .sns-icon
    {
        font-size: 30px;
    }

    #info .info-box .info-cont img
    {
        max-width: 280px;
    }
}



/* ***********************************************************
* #global-nav
* *********************************************************** */
.open #global-nav
{
    z-index: 1000;

    visibility: visible;
}
#global-nav
{
    font-size: 16px;

    position: fixed;
    top: 0;

    display: table;
    visibility: hidden;

    width: 100%;
    height: 100%;

    text-align: center;
    vertical-align: middle;

    color: #fff;
}
#global-nav ul
{
    display: table-cell;

    list-style: none;

    vertical-align: middle;
}
#global-nav a
{
    font-weight: bold;

    display: block;

    padding: 10px 0;

    text-decoration: none;

    color: #fff;
}

/* ***********************************************************
* nav-list
* *********************************************************** */
#global-nav ul li
{
    -webkit-transition: none;
            transition: none;
    -webkit-transform: scaleX(0) translateX(-260px);
            transform: scaleX(0) translateX(-260px);

    opacity: 0;
}
.open #global-nav ul li
{
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;
    -webkit-transition-delay: .1s;
            transition-delay: .1s;
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);

    opacity: 1;
}
.open #global-nav ul li:nth-child(2)
{
    -webkit-transition-delay: .2s;
            transition-delay: .2s;
}
.open #global-nav ul li:nth-child(3)
{
    -webkit-transition-delay: .3s;
            transition-delay: .3s;
}
.open #global-nav ul li:nth-child(4)
{
    -webkit-transition-delay: .4s;
            transition-delay: .4s;
}
.open #global-nav ul li:nth-child(5)
{
    -webkit-transition-delay: .5s;
            transition-delay: .5s;
}

/* ***********************************************************
* #nav-bg
* *********************************************************** */
#nav-bg
{
    position: fixed;
    z-index: 1;
    top: 40px;
    right: 40px;

    display: block;

    width: 2400px;
    height: 2400px;
    margin-top: -1200px;
    margin-right: -1200px;

    content: '';
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;
    -webkit-transform: scale(.02);
            transform: scale(.02);

    -webkit-border-radius: 50%;
            border-radius: 50%;
    background: #ffa54c;

    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
}
.open #nav-bg
{
    -webkit-transition: all .6s ease-out;
            transition: all .6s ease-out;
    -webkit-transform: scale(1);
            transform: scale(1);
}

/* ***********************************************************
* #nav-toggle
* *********************************************************** */
#nav-toggle
{
    position: fixed;
    z-index: 1001;
    top: 21px;
    right: 18px;

    display: block;

    width: 23px;
    height: 30px;
    padding: 10px 11px;

    cursor: pointer;

    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

#nav-toggle div
{
    position: relative;
}
#nav-toggle span
{
    position: absolute;
    left: 0;

    display: block;
    zoom: 1;

    width: 100%;
    height: 2px;

    -webkit-transition: .35s ease-in-out;
            transition: .35s ease-in-out;

    background: #fff;
}

#nav-toggle span:nth-child(1)
{
    top: 0;
}
#nav-toggle span:nth-child(2)
{
    top: 8px;
}
#nav-toggle span:nth-child(3)
{
    top: 16px;
}
.open #nav-toggle
{
    background: transparent;
}
.open #nav-toggle span
{
    background: #fff;
}

.open #nav-toggle span:nth-child(1)
{
    top: 9px;

    zoom: 1;

    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
}
.open #nav-toggle span:nth-child(2)
{
    left: 50%;

    width: 0;
}
.open #nav-toggle span:nth-child(3)
{
    top: 9px;

    zoom: 1;

    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
}




@-webkit-keyframes passing-bar
{
    0%
    {
        right: auto;
        left: 0;

        width: 0;
    }
    50%
    {
        right: auto;
        left: 0;

        width: 100%;
    }
    51%
    {
        right: 0;
        left: auto;

        width: 100%;
    }
    100%
    {
        right: 0;
        left: auto;

        width: 0;
    }
}
@keyframes passing-bar
{
    0%
    {
        left: 0;

        width: 0;
    }
    50%
    {
        left: 0;

        width: 100%;
    }
    51%
    {
        left: 0;

        width: 100%;
    }
    100%
    {
        left: 100%;

        width: 0;
    }
}
@-webkit-keyframes passing-txt
{
    0%
    {
        opacity: 0;
    }
    50%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
@keyframes passing-txt
{
    0%
    {
        opacity: 0;
    }
    50%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
/* css */
.passing .passing-box
{
    display: block;
}
.passing .passing-bar
{
    position: relative;
  /*display: inline-block;*/

    /*　後ほど解説　*/

    -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.passing .passing-bar:before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: inline-block;

    width: 0;
    height: 100%;

    content: '';
    /* 任意の値 */

    background: #ffa54c;
}
.passing .passing-txt
{
    /* 任意の値 */
    font-size: 4.0rem;
    font-weight: bold;
    line-height: 1.5;
    /* 後ほど解説 */

    -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 0;
}



.passing.move .passing-bar:before
{
    -webkit-animation: passing-bar 1s ease .8s 1 normal forwards;
            animation: passing-bar 1s ease .8s 1 normal forwards;
}
.passing.move .passing-txt
{
    -webkit-animation: passing-txt 0s ease 1.3s 1 normal forwards;
            animation: passing-txt 0s ease 1.3s 1 normal forwards;
}

.passing-box2
{
    margin-top: 20px;
    text-align: right;
}

.passing2.move .passing-bar:before
{
    -webkit-animation: passing-bar 1s ease 1.1s 1 normal forwards;
            animation: passing-bar 1s ease 1.1s 1 normal forwards;
}
.passing2.move .passing-txt
{
    -webkit-animation: passing-txt 0s ease 1.6s 1 normal forwards;
            animation: passing-txt 0s ease 1.6s 1 normal forwards;
}

#page-animate::before
{
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 100%;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: right .8s cubic-bezier(.4, 0, .2, 1);
            transition: right .8s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;

    background-color: #ffa54c;
}
#page-animate::after
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 100%;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: left .8s cubic-bezier(.4, 0, .2, 1);
            transition: left .8s cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;

    background-color: #ffa54c;
}
#page-animate.is-slide-in::before
{
    right: 0;
}
#page-animate.is-slide::after
{
    left: 0;
}

.effect-fade
{
    transition: all 1s;
    transform: translate(0, 50px);

    opacity: 0;
}

.effect-fade.effect-scroll
{
    transform: translate(0, 0);

    opacity: 1;
}

/* 追従ボタン */

.container {
    margin: 0 auto;
    padding: 1em;
    text-align: center;
    max-width: 1000px;
}

.fv-bottom-navi {
    background: #ffffffd4;
    margin: 0 auto;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

.fv-bottom-navi-title{
    color: #000;
    font-size: 0.8rem;
    font-weight: bolder;
    letter-spacing: 2px;
    background-color: #fff577d4;
    padding: 0.8em;
    border-radius: 5px;
    border: 1px solid #fffef1;
}

.fv-bottom-navi-subtitle{
    color: #000;
    font-weight: bolder;
    font-size: 0.8rem;
    width:80%;
}
