@charset "UTF-8";




/*========================================
==========================================

header.php

==========================================
========================================*/

/*----------------------------------------

common

----------------------------------------*/

header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
}

header .con {
    position: relative;
    height: 100px;
}


@media (min-width: 768px) {

    header .con {
        height: 120px;
    }
    
}


@media (min-width: 1024px) {
    

}




/*----------------------------------------

.head_logo

----------------------------------------*/

header .head_logo {
    position: absolute;
    top: 50%;
    left: 6.25%;
    transform: translateY(-50%);
    width: 160px;
}

header .head_logo a {
    display: block;
}

header .head_logo img {
    display: block;
    width: 100%;
    transition: all 0.3s;
}

header .head_logo a:hover img {
    opacity: 0.7;
}


@media (min-width: 768px) {

    header .head_logo {
        left: 3.125%;
        width: 200px;
    }

}


@media (min-width: 1024px) {

    header .head_logo {
        width: 240px;
    }

}




/*----------------------------------------

.head_nav

----------------------------------------*/

header .head_nav {
    display: none;
}


@media (min-width: 768px) {

    header .head_nav {
        display: block !important;
        position: absolute;
        top: 50%;
        right: 3.125%;
        transform: translateY(-50%);
    }
    
    header .head_nav ul {
        display: flex;
        width: 240px;
    }
    
    header .head_nav ul li {
        flex: auto;
        text-align: center;
    }
    
    header .head_nav ul li a {
        display: inline-block;
        padding: 8px 24px;
        font-size: 0.8em;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 1px;
        color: #ffffff;
        background: rgba(0,0,0,0.3);
        /* border-radius: 24px; */
        transition: all 0.3s;
    }

    header .head_nav ul li a:hover {
        background: rgba(0,0,0,0.5);
    }

}


@media (min-width: 1024px) {    

}




/*========================================

#menu_button

========================================*/


#menu_button {
    position: fixed;
    top: 20px;
    right: 3.125%;
    z-index: 20;
    cursor: pointer;
}

#menu_button .menu_button_inner {
    width: 60px;
    height: 60px;
    padding: 15px 10px;
    background: rgba(0,0,0,0.5);
}

#menu_button .menu_button_wrap {
    position: relative;
    width: 40px;
    height: 30px;
}

#menu_button .bar {
    position: absolute;
    width: 100%;
    height: 1px;
	background: #ffffff;
    transition: all 0.3s;
}

#menu_button .bar1 {
    top: 0px;
    right: 0;
}

#menu_button .bar2 {
    top: 10px;
    right: 0;
}

#menu_button .menu_txt {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size: 0.7em;
    font-weight: 700;
    line-height: 1;
	color: #ffffff;
    transition: all 0.3s;
}

input#menu_checkbox:checked ~ #menu_button .menu_button_inner {
    background: #ffffff;
}

input#menu_checkbox:checked ~ #menu_button .bar {
    background: #313131;
}

input#menu_checkbox:checked ~ #menu_button .bar1 {
    top: 5px;
    transform: rotate(20deg);
}

input#menu_checkbox:checked ~ #menu_button .bar2 {
    top: 5px;
    transform: rotate(-20deg);
}

input#menu_checkbox:checked ~ #menu_button .menu_txt {
    color: #313131;
}


@media (min-width: 768px) {

    #menu_button {
        display: none;
    }

}


@media (min-width: 1024px) {

}




/*========================================

#menu_body

========================================*/

/*----------------------------------------

common

----------------------------------------*/

#menu_body {
    position: fixed;
    top: 0;
    left: -100vw;
    z-index: 10;
    /* z-index: -10;
    opacity: 0; */
    width: 100vw;
    height: 100%;
	/* background: #f3f3f0; */
    background: rgba(0,0,0,0.85);
	transition: all 0.5s;
    overflow-y: scroll;
}

input#menu_checkbox:checked ~ #menu_body {
    left: 0;
	/* z-index: 10;
    opacity: 1; */
}

#menu_body .menu_body_wrap {
	width: 100%;
	padding: 40px 6.25% 80px;
}


@media (min-width: 768px) {
    
    #menu_body {
        display: none;
    }

}


@media (min-width: 1024px) {

}




/*----------------------------------------

.site_logo

----------------------------------------*/

#menu_body .site_logo {
	width: 200px;
	margin: 0 0 40px;
}

#menu_body .site_logo a {
	display: block;
}

#menu_body .site_logo img {
	display: block;
	width: 100%;
	height: auto;
}


@media (min-width: 768px) {

	#menu_body .site_logo {
		width: 240px;
	}

}


@media (min-width: 1024px) {

	#menu_body .site_logo {
		width: 240px;
	}

}




/*----------------------------------------

.main_menu

----------------------------------------*/

#menu_body .main_menu {
    width: 100%;
	margin: 0 0 6.25%;
}

#menu_body .main_menu ul {
    /* display: flex;
    flex-wrap: wrap;
    justify-content: space-between; */
}

#menu_body .main_menu ul li {
    /* flex-basis: 46.875%; */
}

#menu_body .main_menu ul li a {
    display: block;
    position: relative;
    padding: 20px 0;
    border-bottom: solid 1px #ffffff;
}

#menu_body .main_menu ul li a::before {
    display: block;
    content: '\f105';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 4vw;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #ffffff;
}

#menu_body .main_menu ul li a span {
    display: block;
    font-size: 6vw;
    line-height: 1;
    color: #ffffff;
}

#menu_body .main_menu ul li a p {
    font-size: 3vw;
    font-weight: 700;
    line-height: 6vw;
    letter-spacing: 1px;
    color: #ffffff;
}


@media (min-width: 768px) {


}


@media (min-width: 1024px) {

}