@charset "UTF-8";

/* ==========================================
	drawer.css
	Last Up Date 2020.04.28
 --------------------------------------------
	INDEX
 --------------------------------------------
    0.00.00 共通のコンテンツ
	1.00.00 PC_media screen PC.ver
		1.01.00 body.open
		1.02.00 #sp_navi
		1.03.00 #drawer_bt
		1.04.00 #nav_bg
	2.00.00 TB_media screen TB.ver
		2.01.00 body.open
		2.02.00 #sp_navi
		2.03.00 #drawer_bt
		2.04.00 #nav_bg
	3.00.00 SP_media screen SP.ver
		3.01.00 body.open
		3.02.00 #sp_navi
		3.03.00 #drawer_bt
		3.04.00 #nav_bg

========================================== */

/* ==========================================
0.00.00 共通のコンテンツ
========================================== */
/* ==========================================
1.00.00 PC_media screen PC.ver
========================================== */
@media screen and (min-width:1025px),print{
/* ==========================================
	1.01.00 body.open
========================================== */
body {
    position: relative;
}
body.open {
    overflow: hidden;
}
div#contents {
    position: relative;
    overflow: hidden;
}
div#contents::before {
    content:"";
    position: absolute;
    background: rgba(255,255,255,1.0);
    width: 100vw;
    height: 100%;
    right: -100vw;
    top: 0;
    z-index: 3;
}
body.open div#contents {
    transition: all 0.5s ease;
    opacity: 1.0;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
body.open div#contents::before {
    right: 0;
}
/* ==========================================
	1.02.00 #sp_navi
========================================== */
body.open div#sp_navi {
    position: relative;
    z-index: 4;
}
/* ==========================================
	1.03.00 #drawer_bt
========================================== */
p#drawer_bt {
    display: flex;
    position: fixed;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	background: rgba(255,255,255,0.7);
    cursor: pointer;
    z-index: 5;
    top: 0;
	right: 0;
}
p#drawer_bt::after {
	content: "";
	position: absolute;
	width: 50px;
	height: 1px;
	top: calc(50% - 10px);
	right: calc(50% - 25px);
	background: #000000;
}
p#drawer_bt::before {
	content: "";
	position: absolute;
	width: 50px;
	height: 1px;
	top: calc(50% + 10px);
	right: calc(50% - 25px);
	background: #000000;
}
p#drawer_bt span {
    position: relative;
}
p#drawer_bt span::after {
    content: "MENU";
    position: absolute;
    font: 800 1.2rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    bottom: -40px;
    left: -20px;
}
body.open p#drawer_bt {
	background: none;
}
body.open p#drawer_bt::after {
	transform: rotate(45deg);
	top: 50%;
}
body.open p#drawer_bt::before {
	transform: rotate(-45deg);
	top: 50%;
}
body.open p#drawer_bt span {
    display: none;
}
/* ==========================================
	1.04.00 #nav_bg
========================================== */
div#nav_bg {
	display: flex;
    position: fixed;
    width: 100vw;
    height: 100vh;
    right: -100vw;
    box-sizing: border-box;
}
body.open div#nav_bg {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
	right: 0;
    background: url("../../image/header/sp_bg.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
    padding: 0 0 0 30%;
}
body.open div#nav_bg::after {
	content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
    width: 30%;
    background: rgba(100,100,100,1.0);
}
body.open div#nav_bg > div {
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
}
body.open div#nav_bg > div a {
	display: block;
    width: 220px;
}
body.open div#nav_bg a + div {
    margin: 50px 0 0;
    padding: 0 0 50px;
    position: relative;
}
body.open div#nav_bg a + div::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg a + div a {
	display: flex;
    align-items: center;
    font: 400 2.0rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    color: rgba(0,0,0,1.0);
    width: 100%;
}
body.open div#nav_bg a + div a:not(:first-child) {
	margin: 20px 0 0;
}
body.open div#nav_bg a + div a:hover {
	transform: scale(1.1);
}
body.open div#nav_bg div div:last-of-type {
    display: flex;
    margin: 50px 0 0;
}
body.open div#nav_bg div div:last-of-type a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg div div:last-of-type a:nth-child(n + 2) {
    margin:0 0 0 30px;
}
body.open div#nav_bg div div:last-of-type a:nth-child(2) img {
    width: 8px;
}
body.open div#nav_bg div div:last-of-type a:hover {
    transform: scale(1.1);
}
body.open div#nav_bg > div > a:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    background: rgba(0,0,0,1.0);
    color: rgba(255,255,255,1.0);
    font: 400 1.6rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    padding: 30px 0;
    margin: 50px 0 0;
}
body.open div#nav_bg > div > a:last-child:hover {
    background: rgba(0,180,207,1.00);
}
}
/* ==========================================
2.00.00 TB_media screen TB.ver
========================================== */
@media screen and (max-width: 1024px) and (min-width:569px) {
/* ==========================================
	2.01.00 body.open
========================================== */
body {
    position: relative;
}
body.open {
    overflow: hidden;
}
div#contents {
    position: relative;
    overflow: hidden;
}
div#contents::before {
    content:"";
    position: absolute;
    background: rgba(255,255,255,1.0);
    width: 100vw;
    height: 100%;
    right: -100vw;
    top: 0;
    z-index: 3;
}
body.open div#contents {
    transition: all 0.5s ease;
    opacity: 1.0;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
body.open div#contents::before {
    right: 0;
}
/* ==========================================
	2.02.00 #sp_navi
========================================== */
body.open div#sp_navi {
    position: relative;
    z-index: 4;
}
/* ==========================================
	2.03.00 #drawer_bt
========================================== */
p#drawer_bt {
    display: flex;
    position: fixed;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	background: rgba(255,255,255,0.7);
    cursor: pointer;
    z-index: 5;
    top: 0;
	right: 0;
}
p#drawer_bt::after {
	content: "";
	position: absolute;
	width: 50px;
	height: 1px;
	top: calc(50% - 10px);
	right: calc(50% - 25px);
	background: #000000;
}
p#drawer_bt::before {
	content: "";
	position: absolute;
	width: 50px;
	height: 1px;
	top: calc(50% + 10px);
	right: calc(50% - 25px);
	background: #000000;
}
p#drawer_bt span {
    position: relative;
}
p#drawer_bt span::after {
    content: "MENU";
    position: absolute;
    font: 800 1.2rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    bottom: -40px;
    left: -20px;
}
body.open p#drawer_bt {
	background: none;
}
body.open p#drawer_bt::after {
	transform: rotate(45deg);
	top: 50%;
}
body.open p#drawer_bt::before {
	transform: rotate(-45deg);
	top: 50%;
}
body.open p#drawer_bt span {
    display: none;
}
/* ==========================================
	2.04.00 #nav_bg
========================================== */
div#nav_bg {
	display: flex;
    position: fixed;
    width: 100vw;
    height: 100vh;
    right: -100vw;
    box-sizing: border-box;
}
body.open div#nav_bg {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
	right: 0;
    background: url("../../image/header/sp_bg_tb.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
}
body.open div#nav_bg > div {
    max-width: 600px;
    width: 100%;
    padding: 0 50px;
    box-sizing: border-box;
}
body.open div#nav_bg > div a {
	display: block;
    width: 220px;
}
body.open div#nav_bg a + div {
    margin: 50px 0 0;
    padding: 0 0 50px;
    position: relative;
}
body.open div#nav_bg a + div::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg a + div a {
	display: flex;
    align-items: center;
    font: 400 2.0rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    color: rgba(0,0,0,1.0);
    width: 100%;
}
body.open div#nav_bg a + div a:not(:first-child) {
	margin: 20px 0 0;
}
body.open div#nav_bg a + div a:hover {
	transform: scale(1.1);
}
body.open div#nav_bg div div:last-of-type {
    display: flex;
    margin: 50px 0 0;
}
body.open div#nav_bg div div:last-of-type a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg div div:last-of-type a:nth-child(n + 2) {
    margin:0 0 0 30px;
}
body.open div#nav_bg div div:last-of-type a:nth-child(2) img {
    width: 8px;
}
body.open div#nav_bg div div:last-of-type a:hover {
    transform: scale(1.1);
}
body.open div#nav_bg > div > a:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    background: rgba(0,0,0,1.0);
    color: rgba(255,255,255,1.0);
    font: 400 1.6rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    padding: 30px 0;
    margin: 50px 0 0;
}
body.open div#nav_bg > div > a:last-child:hover {
    background: rgba(0,180,207,1.00);
}
}
/* ==========================================
3.00.00 SP_media screen SP.ver
========================================== */
@media screen and (max-width: 568px) {
/* ==========================================
	3.01.00 body.open
========================================== */
body {
    position: relative;
}
body.open {
    overflow: hidden;
}
div#contents {
    position: relative;
    overflow: hidden;
}
div#contents::before {
    content:"";
    position: absolute;
    background: rgba(255,255,255,1.0);
    width: 100vw;
    height: 100%;
    right: -100vw;
    top: 0;
    z-index: 3;
}
body.open div#contents {
    transition: all 0.5s ease;
    opacity: 1.0;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
body.open div#contents::before {
    right: 0;
}
/* ==========================================
	3.02.00 #sp_navi
========================================== */
body.open div#sp_navi {
    position: relative;
    z-index: 4;
}
/* ==========================================
	3.03.00 #drawer_bt
========================================== */
p#drawer_bt {
    display: flex;
    position: fixed;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background: rgba(255,255,255,0.7);
    cursor: pointer;
    z-index: 5;
    top: 0;
	right: 0;
}
p#drawer_bt::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	top: calc(50% - 5px);
	right: calc(50% - 10px);
	background: #000000;
}
p#drawer_bt::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	top: calc(50% + 5px);
	right: calc(50% - 10px);
	background: #000000;
}
p#drawer_bt span {
    position: relative;
}
p#drawer_bt span::after {
    content: "MENU";
    position: absolute;
    font: 800 1.0rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    bottom: -30px;
    left: -16px;
}
body.open p#drawer_bt {
	background: none;
}
body.open p#drawer_bt::after {
	transform: rotate(45deg);
	top: 50%;
}
body.open p#drawer_bt::before {
	transform: rotate(-45deg);
	top: 50%;
}
body.open p#drawer_bt span {
    display: none;
}
/* ==========================================
	3.04.00 #nav_bg
========================================== */
div#nav_bg {
	display: flex;
    position: fixed;
    width: 100vw;
    height: 100vh;
    right: -100vw;
    box-sizing: border-box;
}
body.open div#nav_bg {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
	right: 0;
    background: url("../../image/header/sp_bg_tb.jpg") no-repeat top center;
    background-size: cover;
    box-sizing: border-box;
}
body.open div#nav_bg > div {
    width: 100%;
    max-width: 400px;
    padding: 0 35px;
    box-sizing: border-box;
}
body.open div#nav_bg > div a {
	display: block;
    width: 170px;
}
body.open div#nav_bg a + div {
    margin: 50px 0 0;
    padding: 0 0 50px;
    position: relative;
}
body.open div#nav_bg a + div::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg a + div a {
	display: flex;
    align-items: center;
    font: 400 1.7rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    color: rgba(0,0,0,1.0);
    width: 100%;
}
body.open div#nav_bg a + div a:not(:first-child) {
	margin: 15px 0 0;
}
body.open div#nav_bg a + div a:hover {
	transform: scale(1.1);
}
body.open div#nav_bg div div:last-of-type {
    display: flex;
    margin: 30px 0 0;
}
body.open div#nav_bg div div:last-of-type a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    box-sizing: border-box;
    padding: 6px;
    border-radius: 100px;
    background: rgba(0,0,0,1.0);
}
body.open div#nav_bg div div:last-of-type a:nth-child(n + 2) {
    margin:0 0 0 30px;
}
body.open div#nav_bg div div:last-of-type a:nth-child(2) img {
    width: 7px;
}
body.open div#nav_bg div div:last-of-type a:hover {
    transform: scale(1.1);
}
body.open div#nav_bg > div > a:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width:  300px;
    width: 100%;
    background: rgba(0,0,0,1.0);
    color: rgba(255,255,255,1.0);
    font: 400 1.6rem 'Comfortaa', cursive;
    letter-spacing: 0.05rem;
    padding: 25px 0;
    margin: 30px 0 0;
}
body.open div#nav_bg > div > a:last-child:hover {
    background: rgba(0,180,207,1.00);
}
}