@charset "UTF-8";

/* CSS Document */

html {
    font-size: 62.5%;
}

body {
    color: #353535;
    font-size: 1.6rem;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    position: relative;
    overflow-x: hidden;
}

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

a:link,
a:visited,
a:hover,
a:active {
    color: #353535;
    text-decoration: none;
}


/*ここからPC*/

@media screen and (min-width: 980px) {
    /*header*/
    header {
        background-color: #006099;
    }
    .header_wrapper {
        width: 940px;
        margin: auto;
    }
    .header_top,
    .header_bottom {
        width: 100%;
        display: flex;
        padding-top: 20px;
        flex-flow: nowrap;
        justify-content: space-between
    }
    .header_top_logo {
        height: 100px;
    }
    .header_top_logo a img {
        height: 100%;
    }
    .header_middle .attention {
        background-color: #fff;
        margin-top: 20px;
        padding: 1em 4em;
        border-radius: 10px;
    }
    .header_middle .attention .link_box {
        text-align: center;
        padding: 10px 0;
    }
    .header_middle .attention a {
        color: #006099;
        text-align: center;
        font-weight: bolder;
        font-size: 2em;
    }
    .header_middle .attention p {
        margin-top: 10px;
    }
    .annai_link_top {
        height: 80px;
    }
    .annai_link_top a img {
        height: 100%;
    }
    .annai_link_top a:hover img {
        transform: scale(1.05, 1.05);
        transition: .4s;
    }
    .annai_link {
        margin-left: 20px;
    }
    .annai_link_access {
        height: 20px;
        text-align: center;
        position: relative;
    }
    .annai_link_access span a {
        color: #fff;
        position: absolute;
        top: -10px;
        left: 90px;
    }
    .annai_link_access span a::before {
        content: "";
        position: absolute;
        border-left: 8px solid #fff;
        border-top: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 8px solid transparent;
        left: -15px;
    }
    .annai_link_access span a:hover {
        opacity: .6;
        transition: .4s;
    }
    .contact_icon {
        margin-right: 10px;
        font-size: 30px;
    }
    .contact_tel {
        height: 50px;
        margin: auto;
        color: #fff;
        display: flex;
        font-size: 30px;
        font-family: 'Titan One', cursive;
    }
    .contact_mail {
        height: 50px;
        margin: auto;
        background-color: #fff;
        border-radius: 25px;
        font-size: 20px;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .contact_mail a {
        height: 50px;
        margin: auto;
        padding: 10px 0;
        position: relative;
        justify-content: center;
        display: flex;
    }
    .contact_mail span {
        padding-top: 3px;
        color: #000;
    }
    .contact_mail .contact_icon {
        background-color: #fff;
        border-radius: 25px;
    }
    .contact_mail a:hover,
    .contact_mail a:hover span {
        color: #9DC49D;
        transition: .4s;
    }
    .header_bottom ul {
        width: 100%;
        padding: 20px 20px 30px;
        display: flex;
        font-size: 1.6rem;
        flex-wrap: nowrap;
        justify-content: space-between;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .header_bottom ul li a {
        color: #fff;
        padding: 20px 0px;
    }
    .header_bottom ul li a span {
        position: relative;
    }
    .header_bottom ul li a span::before {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        bottom: -10px;
        transform: scale(0, 1);
    }
    .header_bottom ul li a:hover span::before {
        transform: scale(1, 1);
        transition: .4s;
    }
    .star {
        width: 20px;
    }
    .star img {
        width: 100%;
    }
    /*/header*/
    /*swiper*/
    .swiper {
        width: 900px;
        height: 650px;
        margin: auto;
        padding-top: 50px;
        position: relative;
        overflow: hidden;
    }
    .swiper_topimg {
        width: 100%;
        height: 100%;
        margin: auto;
        position: absolute;
        top: 50px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
        z-index: 50;
    }
    .swiper_topimg img {
        width: 100%;
    }
    .swiper-wrapper div {
        width: 900px;
    }
    .swiper-wrapper div img {
        width: 100%;
    }
    /*/swiper*/
    /*bg_top*/
    .bg_top {
        width: 100%;
        position: absolute;
    }
    .bg_top img {
        width: 100%;
    }
    /*/bg_top*/
    /*	nagare*/
    #nagare {
        width: 900px;
        height: auto;
        margin: auto;
    }
    .nagare_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .nagare_deco1 {
        width: 200px;
        height: 95px;
        position: absolute;
        top: 50px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .nagare_deco1 img {
        width: 100%;
    }
    /*	/nagare*/
    /*class*/
    #class {
        width: 900px;
        height: auto;
        margin: auto;
        padding-top: 300px;
    }
    .class_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .class_img_flex {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .class_img {
        width: 295px;
        margin-bottom: 20px;
    }
    .class_img img {
        width: 100%;
    }
    /*/class*/
    /*flow*/
    #flow {
        height: 3000px;
        padding: 100px 0 50px;
        padding-top: 300px;
    }
    .wrapper {
        position: relative;
    }
    .title {
        margin: auto;
    }
    .flow_img {
        width: 700px;
        margin: auto;
    }
    .flow_img img {
        width: 100%;
    }
    .syokuiku_img {
        width: 600px;
        margin: 100px auto 0;
    }
    .syokuiku_img img {
        width: 100%;
    }
    /*/flow*/
    /*bg_bottom*/
    .bg_bottom {
        width: 100%;
        position: absolute;
        bottom: 1000px;
        z-index: -1;
    }
    .bg_bottom img {
        width: 100%;
    }
    /*/bg_bottom*/
    /*footer*/
    footer {
        width: 100%;
        background-color: #D0C7A0;
        position: relative;
    }
    .footer_tree {
        height: 150px;
        margin: auto;
        position: absolute;
        top: -150px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .footer_tree img {
        height: 100%;
    }
    .footer_wrapper {
        width: 940px;
        margin: auto;
        padding-top: 50px;
    }
    .footer_top {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .footer_logo,
    .footer_annai {
        width: 400px;
        margin: auto;
    }
    .footer_logo img,
    .footer_annai img {
        width: 100%;
    }
    .footer_annai a:hover img {
        transform: scale(1.05, 1.05);
        transition: .4s;
    }
    .footer_contact_access {
        width: 100%;
        display: flex;
        flex-direction: row;
    }
    .footer_contact {
        width: 50%;
        margin: auto;
        padding-right: 50px;
    }
    .footer_contact_icon {
        margin-right: 10px;
        font-size: 45px;
    }
    .footer_contact_tel,
    .footer_contact_mail {
        width: 48%;
    }
    .footer_contact_tel {
        width: 100%;
        margin: auto;
        color: #fff;
        display: flex;
        font-size: 45px;
        font-family: 'Titan One', cursive;
    }
    .footer_contact_mail {
        width: 100%;
        height: 100px;
        margin: auto;
        margin-top: 20px;
        background-color: #fff;
        border-radius: 50px;
        font-size: 30px;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .footer_contact_mail a {
        height: 100px;
        margin: auto;
        padding: 30px 0;
        position: relative;
        justify-content: center;
        display: flex;
    }
    .footer_contact_mail .footer_contact_icon {
        padding-left: 20px;
    }
    .footer_contact p {
        margin-top: 20px;
        padding-left: 30px;
    }
    .footer_contact_mail span {
        color: #000;
        padding-top: 5px;
    }
    .footer_contact_mail a:hover,
    .footer_contact_mail a:hover span {
        color: #9DC49D;
        transition: .4s;
    }
    .access {
        width: 50%;
    }
    .footer_link {
        width: 100%;
        margin-top: 100px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .footer_link a {
        color: #4D4935;
    }
    .footer_link li {
        margin-bottom: 10px;
    }
    .footer_link li:last-child {
        margin-bottom: 0;
    }
    .footer_link ul ul {
        text-indent: 20px;
    }
    .sns_link {
        margin: auto;
        margin-top: 100px;
        display: flex;
        justify-content: center;
    }
    .instagram {
        margin-right: 20px;
    }
    .sns_icon_color {
        color: #4D4935;
    }
    .instagram .sns_icon_color:hover {
        color: #EF5D44;
        transition: .4s;
    }
    .facebook .sns_icon_color:hover {
        color: #447EEF;
        transition: .4s;
    }
    .small {
        margin-top: 100px;
        padding-bottom: 10px;
        color: #4D4935;
        display: flex;
        justify-content: center;
    }
    /*/footer*/
    /*common*/
    .title {
        width: 300px;
    }
    .title img {
        width: 100%;
    }
    .toTop {
        position: fixed;
        bottom: 50px;
        right: 50px;
        z-index: 100;
    }
    .toTop a img {
        width: 100px;
    }
    .parallax-bg {
        background-image: url("../img/parallax_bg.jpg");
        background-attachment: fixed;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -1;
        padding-bottom: 200px;
    }
    .sp {
        display: none;
    }
    #loading {
        width: 100vw;
        height: 100vh;
        transition: all 1s;
        background-color: #006099;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
    }
    .spinner {
        width: 100px;
        height: 100px;
        margin: auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        border-radius: 100%;
        animation: sk-scaleout 1.0s infinite ease-in-out;
    }
    @keyframes sk-scaleout {
        0% {
            transform: scale(0);
        }
        100% {
            transform: scale(1.0);
            opacity: 0;
        }
    }
    .loaded {
        opacity: 0;
        visibility: hidden;
    }
    /*/common*/
}


/*ここからタブレット*/

@media screen and (min-width: 480px) and (max-width: 980px) {
    /*header*/
    header {
        background-color: #006099;
    }
    .header_wrapper {
        width: 100%;
        margin: auto;
        position: fixed;
        z-index: 100;
        background: #006099;
    }
    .header_top_logo {
        height: 100px;
        text-align: center;
        padding-right: 30px;
    }
    .header_top_logo a img {
        height: 100%;
    }
    .menu_trigger,
    .menu_trigger span {
        display: inline-block;
        transition: all .4s;
        z-index: 9999;
        right: 0;
    }
    .menu_trigger {
        position: fixed;
        width: 40px;
        height: 35px;
        right: 30px;
        top: 30px;
        margin: auto;
    }
    .menu_trigger span {
        position: absolute;
        width: 40px;
        height: 5px;
        background-color: #fff;
        border-radius: 2.5px;
    }
    .menu_trigger span:nth-of-type(1) {
        top: 0px;
    }
    .menu_trigger span:nth-of-type(2) {
        top: 15px;
    }
    .menu_trigger span:nth-of-type(3) {
        top: 30px;
    }
    #menu_trigger.active {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    #gnav {
        position: fixed;
        width: 100%;
        height: 100vh;
        padding-top: 50px;
        right: -100%;
        transition: all .6s;
        z-index: -1;
        overflow-y: auto;
        background-image: url("../img/parallax_bg_sp.jpg");
        background-size: cover;
        background-repeat: no-repeat;
    }
    .active#gnav {
        right: 0;
    }
    #gnav li {
        height: 6rem;
        margin: auto;
        font-size: 2rem;
        padding-left: 43%;
        color: #fff;
    }
    #gnav li a {
        line-height: 6rem;
        display: inline-block;
        font-weight: bold;
        color: #fff;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .star {
        width: 20px;
    }
    .star img {
        width: 100%;
    }
    /*/header*/
    /*swiper*/
    .swiper {
        width: 450px;
        height: 500px;
        margin: auto;
        padding-top: 150px;
        position: relative;
        overflow: hidden;
    }
    .swiper_topimg {
        width: 100%;
        height: 100%;
        margin: auto;
        position: absolute;
        top: 100px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
        z-index: 50;
    }
    .swiper_topimg img {
        width: 100%;
    }
    .swiper-wrapper div {
        width: 450px;
        overflow: hidden;
    }
    .swiper-wrapper div img {
        width: 100%;
    }
    /*/swiper*/
    /*bg_top*/
    .bg_top {
        width: 100%;
        top: 100px;
        position: absolute;
    }
    .bg_top img {
        width: 100%;
    }
    /*/bg_top*/
    /*	nagare*/
    #nagare {
        width: 450px;
        height: auto;
        margin: auto;
    }
    .nagare_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .nagare_deco1 {
        width: 100px;
        top: 110px;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .nagare_deco1 img {
        width: 100%;
    }
    /*	/nagare*/
    /*class*/
    #class {
        width: 450px;
        height: auto;
        margin: auto;
        padding-top: 250px;
    }
    .class_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .class_img_flex {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .class_img {
        width: 145px;
        margin-bottom: 10px;
    }
    .class_img img {
        width: 100%;
    }
    /*/class*/
    /*flow*/
    #flow {
        height: 1880px;
        padding: 100px 0 50px;
    }
    .wrapper {
        position: relative;
    }
    .title {
        margin: auto;
    }
    .flow_img {
        width: 450px;
        margin: auto;
    }
    .flow_img img {
        width: 100%;
    }
    .syokuiku_img {
        width: 450px;
        margin: 100px auto 0;
    }
    .syokuiku_img img {
        width: 100%;
    }
    /*/flow*/
    /*bg_bottom*/
    .bg_bottom {
        width: 100%;
        position: absolute;
        bottom: 800px;
        z-index: -1;
    }
    .bg_bottom img {
        width: 100%;
    }
    /*/bg_bottom*/
    /*footer*/
    footer {
        width: 100%;
        background-color: #D0C7A0;
        position: relative;
    }
    .footer_tree {
        height: 100px;
        margin: auto;
        position: absolute;
        top: -100px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .footer_tree img {
        height: 100%;
    }
    .footer_wrapper {
        width: 470px;
        margin: auto;
        padding-top: 50px;
    }
    .footer_top {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .footer_logo,
    .footer_annai {
        width: 200px;
        margin: auto;
    }
    .footer_logo img,
    .footer_annai img {
        width: 100%;
    }
    .footer_annai a:hover img {
        transform: scale(1.05, 1.05);
        transition: .4s;
    }
    .footer_contact_access {
        width: 100%;
    }
    .footer_contact {
        width: 100%;
        margin: auto;
        display: flex;
    }
    .footer_contact_icon {
        margin-right: 10px;
        font-size: 25px;
    }
    .footer_contact_tel,
    .footer_contact_mail {
        width: 48%;
    }
    .footer_contact_tel {
        width: 100%;
        margin: auto;
        color: #fff;
        display: flex;
        font-size: 25px;
        font-family: 'Titan One', cursive;
    }
    .footer_contact_mail {
        width: 100%;
        height: 50px;
        margin: auto;
        background-color: #fff;
        border-radius: 25px;
        font-size: 18px;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .footer_contact_mail a {
        height: 50px;
        margin: auto;
        padding: 13px 0;
        position: relative;
        justify-content: center;
        display: flex;
    }
    .footer_contact_mail .footer_contact_icon {
        padding-left: 5px;
    }
    .footer_contact p {
        margin-top: 20px;
        padding-left: 30px;
    }
    .footer_contact_mail span {
        color: #000;
        padding-top: 3px;
    }
    .footer_contact_mail a:hover,
    .footer_contact_mail a:hover span {
        color: #9DC49D;
        transition: .4s;
    }
    .access {
        width: 100%;
        margin-top: 10px;
    }
    .access p {
        margin-top: 10px;
    }
    .footer_link {
        width: 100%;
        margin-top: 100px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .footer_link a {
        color: #4D4935;
    }
    .footer_link li {
        margin-bottom: 10px;
    }
    .footer_link li:last-child {
        margin-bottom: 0;
    }
    .footer_link ul ul {
        text-indent: 20px;
    }
    .sns_link {
        margin: auto;
        margin-top: 100px;
        display: flex;
        justify-content: center;
    }
    .instagram {
        margin-right: 20px;
    }
    .sns_icon_color {
        color: #4D4935;
    }
    .instagram .sns_icon_color:hover {
        color: #EF5D44;
        transition: .4s;
    }
    .facebook .sns_icon_color:hover {
        color: #447EEF;
        transition: .4s;
    }
    .small {
        margin-top: 100px;
        padding-bottom: 10px;
        color: #4D4935;
        display: flex;
        justify-content: center;
    }
    /*/footer*/
    /*common*/
    .title {
        width: 200px;
    }
    .title img {
        width: 100%;
    }
    .toTop {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 50;
    }
    .toTop a img {
        width: 80px;
    }
    .toTop a:hover img {
        opacity: .8;
    }
    .parallax-bg {
        background-image: url("../img/parallax_bg_sp.jpg");
        background-attachment: fixed;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -1;
        padding-bottom: 200px;
    }
    .pc {
        display: none;
    }
    #loading {
        width: 100vw;
        height: 100vh;
        transition: all 1s;
        background-color: #006099;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
    }
    .spinner {
        width: 100px;
        height: 100px;
        margin: auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        border-radius: 100%;
        animation: sk-scaleout 1.0s infinite ease-in-out;
    }
    @keyframes sk-scaleout {
        0% {
            transform: scale(0);
        }
        100% {
            transform: scale(1.0);
            opacity: 0;
        }
    }
    .loaded {
        opacity: 0;
        visibility: hidden;
    }
    /*/common*/
}


/*ここからスマホ*/

@media screen and (max-width: 480px) {
    /*header*/
    header {
        background-color: #006099;
    }
    .header_wrapper {
        width: 100%;
        margin: auto;
        position: fixed;
        z-index: 100;
        background: #006099;
    }
    .header_top_logo {
        height: 60px;
        text-align: center;
        padding-right: 30px;
    }
    .header_top_logo a img {
        height: 100%;
    }
    .menu_trigger,
    .menu_trigger span {
        display: inline-block;
        transition: all .4s;
        z-index: 9999;
        right: 0;
    }
    .menu_trigger {
        position: fixed;
        width: 25px;
        height: 25px;
        right: 25px;
        top: 15px;
        margin: auto;
    }
    .menu_trigger span {
        position: absolute;
        width: 25px;
        height: 3px;
        background-color: #fff;
        border-radius: 1.5px;
    }
    .menu_trigger span:nth-of-type(1) {
        top: 0px;
    }
    .menu_trigger span:nth-of-type(2) {
        top: 11px;
    }
    .menu_trigger span:nth-of-type(3) {
        top: 22px;
    }
    #menu_trigger.active {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    #gnav {
        position: fixed;
        width: 100%;
        height: 100vh;
        padding-top: 80px;
        right: -100%;
        transition: all .6s;
        z-index: -1;
        overflow-y: auto;
        background-image: url("../img/parallax_bg_sp.jpg");
        background-size: cover;
        background-repeat: no-repeat;
    }
    .active#gnav {
        right: 0;
    }
    #gnav li {
        height: 6rem;
        margin: auto;
        font-size: 2rem;
        padding-left: 35%;
        color: #fff;
    }
    #gnav li a {
        line-height: 6rem;
        display: inline-block;
        font-weight: bold;
        color: #fff;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    /*/header*/
    /*swiper*/
    .swiper {
        width: 320px;
        height: 380px;
        margin: auto;
        padding-top: 80px;
        position: relative;
        overflow: hidden;
    }
    .swiper_topimg {
        width: 95%;
        height: 100%;
        margin: auto;
        position: absolute;
        top: 80px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
        z-index: 50;
    }
    .swiper_topimg img {
        width: 100%;
    }
    .swiper-wrapper {
        margin-top: 30px;
    }
    .swiper-wrapper div {
        width: 320px;
        overflow: hidden;
    }
    .swiper-wrapper div img {
        width: 100%;
    }
    /*/swiper*/
    /*bg_top*/
    .bg_top {
        width: 100%;
        top: 60px;
        position: absolute;
    }
    .bg_top img {
        width: 100%;
    }
    /*/bg_top*/
    /*	nagare*/
    #nagare {
        width: 300px;
        height: auto;
        margin: auto;
    }
    .nagare_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .nagare_deco1 {
        width: 100px;
        top: 60px;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .nagare_deco1 img {
        width: 100%;
    }
    /*	/nagare*/
    /*class*/
    #class {
        width: 300px;
        height: auto;
        margin: auto;
        padding-top: 150px;
    }
    .class_wrapper {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .class_img_flex {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .class_img {
        width: 145px;
        margin-bottom: 10px;
    }
    .class_img img {
        width: 100%;
    }
    /*/class*/
    /*flow*/
    #flow {
        height: 1700px;
        padding: 100px 0 50px;
        padding-top: 150px;
    }
    .wrapper {
        position: relative;
    }
    .title {
        margin: auto;
    }
    .flow_img {
        width: 300px;
        margin: auto;
    }
    .flow_img img {
        width: 100%;
    }
    .syokuiku_img {
        width: 300px;
        margin: 100px auto 0;
    }
    .syokuiku_img img {
        width: 100%;
    }
    /*/flow*/
    /*bg_bottom*/
    .bg_bottom {
        width: 100%;
        position: absolute;
        bottom: 910px;
        z-index: -1;
    }
    .bg_bottom img {
        width: 100%;
    }
    /*/bg_bottom*/
    /*footer*/
    footer {
        width: 100%;
        background-color: #D0C7A0;
        position: relative;
    }
    .footer_tree {
        height: 80px;
        margin: auto;
        position: absolute;
        top: -80px;
        left: 50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .footer_tree img {
        height: 100%;
    }
    .footer_wrapper {
        width: 320px;
        margin: auto;
        padding-top: 30px;
    }
    .footer_top {
        width: 100%;
    }
    .footer_logo,
    .footer_annai {
        width: 200px;
        margin: auto;
    }
    .footer_logo img,
    .footer_annai img {
        width: 100%;
    }
    .footer_logo img {
        width: 100%;
        padding-right: 20px;
    }
    .footer_annai a:hover img {
        transform: scale(1.05, 1.05);
        transition: .4s;
    }
    .footer_contact_access {
        width: 100%;
    }
    .footer_contact {
        width: 230px;
        margin: 30px auto;
    }
    .footer_contact_icon {
        margin-right: 10px;
        font-size: 25px;
    }
    .footer_contact_tel,
    .footer_contact_mail {
        width: 48%;
    }
    .footer_contact_tel {
        width: 100%;
        margin: 0 auto 10px;
        color: #fff;
        display: flex;
        font-size: 25px;
        font-family: 'Titan One', cursive;
    }
    .footer_contact_mail {
        width: 100%;
        height: 50px;
        margin: auto;
        background-color: #fff;
        border-radius: 25px;
        font-size: 18px;
        font-weight: bold;
        font-family: 'Kosugi Maru', sans-serif;
    }
    .footer_contact_mail a {
        height: 50px;
        margin: auto;
        padding: 13px 0;
        position: relative;
        justify-content: center;
        display: flex;
    }
    .footer_contact_mail .footer_contact_icon {
        padding-left: 5px;
    }
    .footer_contact p {
        margin-top: 20px;
        padding-left: 30px;
    }
    .footer_contact_mail span {
        color: #000;
        padding-top: 3px;
    }
    .footer_contact_mail a:hover,
    .footer_contact_mail a:hover span {
        color: #9DC49D;
        transition: .4s;
    }
    .access {
        width: 100%;
        margin-top: 10px;
    }
    .access p {
        margin: 10px;
    }
    .footer_link {
        width: 100%;
        margin-top: 100px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .footer_link a {
        color: #4D4935;
    }
    .footer_link li {
        margin-bottom: 10px;
    }
    .footer_link li:last-child {
        margin-bottom: 0;
    }
    .footer_link ul ul {
        text-indent: 20px;
    }
    .sns_link {
        margin: auto;
        margin-top: 100px;
        display: flex;
        justify-content: center;
    }
    .instagram {
        margin-right: 20px;
    }
    .sns_icon_color {
        color: #4D4935;
    }
    .instagram .sns_icon_color:hover {
        color: #EF5D44;
        transition: .4s;
    }
    .facebook .sns_icon_color:hover {
        color: #447EEF;
        transition: .4s;
    }
    .small {
        margin-top: 100px;
        padding-bottom: 10px;
        color: #4D4935;
        display: flex;
        justify-content: center;
    }
    /*/footer*/
    /*common*/
    .title {
        width: 200px;
    }
    .title img {
        width: 100%;
    }
    .toTop {
        position: fixed;
        bottom: 10px;
        right: 10px;
        z-index: 50;
    }
    .toTop a img {
        width: 50px;
    }
    .parallax-bg {
        background-image: url("../img/parallax_bg_sp.jpg");
        background-attachment: fixed;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -1;
        padding-bottom: 200px;
    }
    .pc {
        display: none;
    }
    #loading {
        width: 100vw;
        height: 100vh;
        transition: all 1s;
        background-color: #006099;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
    }
    .spinner {
        width: 100px;
        height: 100px;
        margin: auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        border-radius: 100%;
        animation: sk-scaleout 1.0s infinite ease-in-out;
    }
    @keyframes sk-scaleout {
        0% {
            transform: scale(0);
        }
        100% {
            transform: scale(1.0);
            opacity: 0;
        }
    }
    .loaded {
        opacity: 0;
        visibility: hidden;
    }
}

.fam {
    margin-left: 20px;
    width: 45px;
}