html{
	font-family:'游ゴシック', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','MS Pゴシック',sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}
body{ 
    font-size:1.4rem; font-size: 1.4em; }

img{ vertical-align: bottom; }
.max_respon{
    max-width:100%; 
    width: 100%;
}
a{
    color:#000;
    transition: all 0.4s;
    text-decoration: none;
}
a:hover{
	color:#999;
	transition: all 0.4s;
}
.op:hover{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
	transition: all 0.4s;
}
.op{
	transition: all 0.4s;
}
li{ list-style:none; }
p{ line-height: 2; }
.center{ text-align:center; }

/*header*/
.drawer{
	position: fixed;
	background: rgba(0, 0, 0, 0.8);
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	color: #d0c077;
	display: flex;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	transform: translateX(100%);
	transition: 0.5s ease-in-out;
	z-index: 50;
}
.drawer ul{
	text-align: center;
	padding-top: 100px;
}
.drawer ul li{
	position: relative;
	transform: translateX(-150px);
	transition: transform 0.5s ease;
}
.drawer ul li:nth-child(2){ transition-delay: 0.15s; }
.drawer ul li:nth-child(3){ transition-delay: 0.30s; }
.drawer ul li:nth-child(4){ transition-delay: 0.45s; }
.drawer ul li:nth-child(5){ transition-delay: 0.60s; }
.drawer ul li a{
	display: inline-block;
	font-size: 2rem;
	color: #eef2c1;
	text-decoration: none;
	padding: 15px;
}
.drawer ul li a:hover{
	animation: drawer 1.4s;
	color: #f8fbdb;
}
@keyframes drawer{
	0%{
		filter: none;
	}
	30%{
		filter: blur(0.8px);
	}
	100%{
		filter: none;
	}
}
.open .drawer{
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}
.open .drawer ul li{
	transform: translateX(0);
}
.btn_menu{
	position: fixed;
	width: 36px;
	height: 30px;
	right: calc(30% - 220px);
	top: 26px;
	cursor: pointer;
	transition: all 0.5s;
	z-index: 51;
}
.btn_menu span{
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #000;
	transition: all 0.4s;
}
.btn_menu .menu_color{
	background: #fff;
}
.btn_menu span:nth-child(1){
	top: 0;
}
.btn_menu span:nth-child(2){
	top: 14px;
}
.btn_menu span:nth-child(3){
	top: 28px;
}
.open .btn_menu span:nth-child(1){
	transform: rotate(45deg);
	top: 15px;
}
.open .btn_menu span:nth-child(2){
	opacity: 0;
}
.open .btn_menu span:nth-child(3){
	transform: rotate(-45deg);
	top: 15px;
}
/*header end*/

/*contents*/
#container:before {
    content: "";
    position: fixed;
    width: 100%;
    height: 100%;
	left: 0;
    background-color: gray;
    background-size: contain;
    z-index: -5;
}
#container{
	overflow: hidden;
}
.sp_menu{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
}
.sp_menu ul{
	width: 100%;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.sp_menu ul li{
	float: left;
	width: 50%;
	box-sizing: border-box;
	border-right: 1px solid #fff;
}
.sp_menu ul li:last-of-type{
	border-right: none;
}
@media screen and (min-width: 750px){
    #container{
        /* max-width: 500px; */
		width: 90%;
        margin-left: auto;
        margin-right: auto;
        box-shadow: 0 0 30px 0px rgb(0 0 0 / 30%);
    }
    .sp_menu .clearfix{
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
        }
}
.main_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	/* max-width: 750px; */
	margin-left: auto;
	margin-right: auto;
}
.rela{
	position: relative;
}
.link_btn{
	position: absolute;
    width: 100%;
    text-align: center;
}
.btn_pos1{
	bottom: 4%;
    left: 0;
}
.btn_pos2{
	bottom: 18.5%;
    left: 0;
}
.btn_pos3{
	bottom: 2%;
    left: 0;
}
.btn_pos4{
	bottom: 35%;
    left: 0;
}
.btn_pos5{
	bottom: 10%;
    left: 0;
}
.link_area{
	position: absolute;
    width: 100%;
    text-align: center;
    padding: 6%; 
}
.link_area li{
    margin-bottom: 4%;
}
.link_area li:last-child{
    margin-bottom: 0;
}
.link_pos1{
	bottom: 6.5%;
    left: 0;
}
.link_pos2{
	bottom: 0%;
    left: 0;
}
.link_pos3{
	bottom: 6%;
    left: 0;
}
.case{
	position: absolute;
    width: 100%;
	left: 0;
	top: 0;
}
.slider .slick-next{
	right: 0;
	z-index: 1;
}
.slider .slick-prev{
	left: 0;
	z-index: 1;
}
.slider .slick-next::before,
.slider .slick-prev::before{
	color: gray;
}
/*
	#cases {
		height: 600px;
	}*/
.btn_grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    padding-left: 12.5%;
    padding-right: 12.5%;
}
.access_osk{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 53%;
}
.access_fuk{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32%;
}
.ribbon_l{
	position: fixed;
    top: 0;
    left: 0;
    background: url(../img/Rectangle\ 2.png) center top repeat-y;
    background-size: 100%;
    height: 100vh;
    width: 4.5%;
    max-width: 50px;
    box-shadow: 0 0 8px 0px rgb(0 0 0 / 20%);
    z-index: 1;
}
.ribbon_r{
	position: fixed;
    top: 0;
    right: 0;
    background: url(../img/Rectangle\ 7.png) center top repeat-y;
    background-size: 100%;
    height: 100vh;
    width: 4.5%;
    max-width: 50px;
    box-shadow: 0 0 8px 0px rgb(0 0 0 / 20%);
    z-index: 1;
}
/*contents end*/

/*responce*/
@media screen and (max-width: 751px){
	.btn_menu{
		width: 46px;
		height: 41px;
		right: 10px;
		top: 13px;
	}
	.btn_menu span{
		width: 70%;
		left: 15%;
	}
	.btn_menu span:nth-child(1){
		top: 8px;
	}
	.btn_menu span:nth-child(2){
		top: 19px;
	}
	.btn_menu span:nth-child(3){
		top: 32px;
	}
    .open .btn_menu_works span:nth-child(1){
		top: 20px;
	}
	.open .btn_menu_works span:nth-child(3){
		top: 20px;
	}
    .respon70{
        width: 70%;
    }
	.respon80{
		width: 80%;
	}
    .respon88{
        width: 88%;
    }
    .ribbon_l,.ribbon_r{
		display: none;
	}
}