@charset "utf-8";




body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	font-family: "Helvetica Neue",Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,sans-serif;
	margin:0;
	padding:0;
}

table {
	border-collapse:collapse;
	border-spacing:0;
} 

fieldset, img {
	border:0;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}

ol, ul {
	list-style:none;
}

caption, th {
	text-align:left;
	}

h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}

q:before, q:after {
	content:'';
	}

abbr, acronym {
	border:0;
	}

html{
	font-size: 62.5%;
	overflow-x:hidden;
	overflow-y:scroll;
}
#container {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}
/*-------------------------------------------

  links
  
------------------------------------------ */

a{
	color:#333;
	text-decoration:none;
}
a:hover{
	color:#999;
	text-decoration:none;
}
a.white{
	color: #fff;
	text-decoration:none;
}
a.white:hover{
	color: #000;
	text-decoration: none;
}

/*-------------------------------------------

  main
  
------------------------------------------ */
#main{
	width:100%;
	margin: 0 auto;
	max-width: 900px;
}
#main img{
	width:100%;
    padding:10px 10px;
	box-sizing: border-box;
}
@media screen and (max-width : 381px ){
#main{
	width:100%;
}
#main img{
	width:100%;
    padding:10px 30px;
	box-sizing: border-box;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
#main{
	width:100%;
	margin:0 auto;
    max-width: 900px;
}
#main img{
	width:100%;
	box-sizing: border-box;
}
}
/*-------------------------------------------

  header
  
------------------------------------------ */
#header{
	width: 100%;
	margin: 0;
	padding: 0;
}
.logo {
	width:120px;
	margin: 0 auto;
	text-align:center;
}
.logo img {
	width:100%;
}
.logo p{
	font-size:1.6rem;
	letter-spacing:0.2rem;
    font-weight:200;
}
.logo_on{
	margin:10px 0;
}
.logo_on p{
	font-size:1.2rem;
	letter-spacing:0.1rem;
}
.head_menu {
	width: 100%;
	text-align:center;
	padding: 20px 0;
}
.head_menu ul li{
	display: inline;
	list-style-type:none;
	font-size:1.6rem;
	color:#333;
	letter-spacing:1px;
	margin-left: 20px;
	margin-right: 20px;
}
.head_menu ul:after{
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
/*-------------------------------------------

  content
  
------------------------------------------ */
#top{
	width: 100%;
	padding: 10px 0;
}
#kangaroo{
	width: 100%;
	background:#DDDDDD;
	padding: 50px 0;
	display: inline-block;
}
#cafe{
	width: 100%;
	background:#DDDDDD;
	margin:100px 0 0 0;
	padding: 50px 0;
	display: inline-block;
}
#garelly{
	width: 100%;
	background:#DDDDDD;
	margin:100px 0 0 0;
	padding: 50px 0;
	display: inline-block;
}
#map{
	width: 100%;
	padding: 50px 0;
}
@media screen and (max-width : 381px ){
#top{
	width: 100%;
	padding: 50px 0;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){

}
/*-------------------------------------------

  top
  
------------------------------------------ */
.facade{
	width: 100%;
	text-align: center;
}
.facade img{
	display: block;
	margin: auto;
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;
	max-width: 900px;
	margin: 0 auto;
}
.works{
	width: 100%;
	text-align: center;
}
.works img{
	width: 70%;
	padding: 100px 50px;
	box-sizing: border-box;
}
.works video {
  width: 70%;              
  aspect-ratio: 3 / 2;     
  padding: 100px 50px;    
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
}
.address{
	text-align: center;
	margin: 0px auto;
	width: 100%;
	padding: 20px 5px 20px;
	box-sizing: border-box;
}
.address p{
	font-size:1.3rem;
	margin-bottom: 10px;
}
@media screen and (max-width : 381px ){
.facade img{
	padding: 0 30px;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.facade img{
	max-width: 900px;
	padding: 0 0 30px 0;
}
}
@media screen and (max-width: 768px){
  .works img,
  .works video {
    width: 100%;
    padding: 0 5px 20px 5px;
    box-sizing: border-box;
    margin: 0 auto;
  }
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.works img{
	width: 100%;
	padding: 100px 100px 0 100px;
}
}
/*-------------------------------------------

  arrow_box
  
------------------------------------------ */
.cha{
	width:90%;

}
.smslogo{
	width: auto;
	height: 29px;
    padding: 0 10px 0 5px;
	vertical-align:-4px;
	text-align: center;
}
.smslogo2{
	width: auto;
	height: 20px;
    padding: 0 10px 0 5px;
	vertical-align:-4px;
}
.smslogo3{
	width: auto;
	height: 29px;
    padding: 0 25px 0 5px;
	vertical-align:-4px;
	text-align: center;
}

table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table th{
	width: 20%;
	padding-left:10px;
}
table th,table td{
	font-size:1.3rem;
	text-align: left;
}
.box2{
	width:100%;
	text-align: center;
	font-size:0;
	display: inline-block;
	
}
.box2-1{
	display: inline-block;
	width:100px;
	height:80px;
	vertical-align: top;
}
.box2-2{
	display: inline-block;
	width:300px;
	height:100px;
	vertical-align: top;
	font-size:1.6rem;
	
}
.box2-3{
	display: inline-block;
	width:300px;
	height:90px;
	vertical-align: top;
	font-size:1.6rem;
	
}
.box2-21{
	padding:5px;
	display: inline-block;
	width:300px;
	vertical-align: top;
}
.box2-22{
	display: inline-block;
	width:300px;
	height:100px;
	vertical-align: top;
	font-size:1.3rem;
	text-align:left;
}
.box2-23{
	display: inline-block;
	width:200px;
	height:150px;
	vertical-align: top;
	font-size:1.6rem;
}
.box2-2{
	display: inline-block;
	width:300px;
	height:7
		0px;
	vertical-align: top;
	font-size:1.6rem;
	
}
.box2-3{
	display: inline-block;
	width:0px;
	height:0px;
}
.arrow_box{
    position:relative;
    width:200px;
    background:#FFFFFF;
	margin: 10px 0;
    padding:5px;
	vertical-align:middle;
    border:1px solid #333;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
}
.arrow_box:after,.arrow_box:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:50%;
}
.arrow_box:after{
    border-top-width:5px;
    border-bottom-width:5px;
    border-left-width:7px;
    border-right-width:7px;
    margin-top: -5px;
    border-right-color:#FFFFFF;
}
.arrow_box:before{
    border-top-width:6px;
    border-bottom-width:6px;
    border-left-width:8px;
    border-right-width:8px;
    margin-top: -6px;
    margin-right: 1px;
    border-right-color:#333;
}
@media screen and (max-width : 381px ){
.box2-2{
	width:250px;
	padding:0 0 0 25px;
}
.box2-21{
	padding: 0 0 100px 25px;
	width:250px;
}
.box2-22{
	width:250px;
	padding: 0 0 0 25px;
}
.box2-23{
	width:250px;
	padding: 0 0 0 25px;
}
.box2-3{
	width:80px;
	height:80px;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){

}
/*-------------------------------------------

  kangaroo
  
------------------------------------------ */
.title{
	text-align:center;
	font-size:3.0rem;
	letter-spacing:1px;	
    font-weight:500;
}

.title2{
	text-align:center;
	font-size:2.0rem;
	letter-spacing:1px;	
    font-weight:600;
}

title3{
	text-align:center;
	font-size:2.0rem;
	letter-spacing:1px;	
    font-weight:300;
}

.title4{
	text-align:center;
	font-size:1.5rem;
	letter-spacing:1px;	
    font-weight:500;
}
.title5{
	text-align:center;
	font-size:3rem;
	letter-spacing:1px;	
    font-weight:100;
}




.text{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 20px 10px 0;
	box-sizing: border-box;
}
.text p{
	text-align:left;
	text-align:justify;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 2.4rem;
}
.text_center{
	width: 100%;
	margin: 0 auto;
	padding: 20px 10px 20px ;
	box-sizing: border-box;
}
.text_center p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 2.4rem;
	
}
.open{
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 20px 0;
}
.open p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}
.open2 p{
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}
.open3 p{
	text-align:left;
	color: #fff;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
	}
.open4 p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:400;
}	
.open5{
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 10px 0;
}
.open5 p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}	
.open6 p{
	padding: 0 0 15px 50px;
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}
.map_photo{
	width: 100%;
	text-align:center;

}
.map_photo img{
	width: 100%;
	max-width: 500px;
	padding: 0 10px 20px;
	box-sizing: border-box;
}
.menu_photo{
	width: 100%;
	text-align:center;
}
.menu_photo img{
	width: 100%;
	max-width: 900px;
	padding: 70px 10px;
	box-sizing: border-box;
}
.plan_photo{
	width: 100%;
	text-align:center;
}
.plan_photo img{
	display: block;
	margin: auto;
	width: 100%;
	padding: 10px 10px;
	box-sizing: border-box;
	max-width: 900px;
	margin: 0 auto;
}
@media screen and (max-width : 381px ){
.text{
	max-width: 600px;
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.news{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0 0;
}
.open{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 50px 0;
}
.map_photo{
	width: 100%;
	text-align:center;
}
.map_photo img{
	max-width: 500px;
	padding: 0 0 50px 0;
	box-sizing: border-box;
}
.menu_photo{
	width: 100%;
	text-align:center;
	padding: 70px 0;
}
.menu_photo img{
	max-width: 800px;
	box-sizing: border-box;
}
.plan_photo{
	width: 100%;
	text-align:center;
}
.plan_photo img{
	width: 100%;
	max-width: 800px;
	padding: 0 10px 30px;
	box-sizing: border-box;
}
	.open6 p{
	padding: 15px 0 15px 30px;
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.open6 p{
	padding: 15px 0 15px 100px;
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
    font-weight:600;
}
}
/*-------------------------------------------

  next
  
------------------------------------------ */
.nextbox{
	width:100%;
	font-size:0;
	text-align:center;
}
.next_title{
	width: 100%;
	padding: 50px 10px 20px;
	box-sizing: border-box;
}
.next_title p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
    font-weight:700;
}
.nextbox1{
	margin:0 auto;
	width:100%;
	padding: 10px 10px 0;
	box-sizing: border-box;
}
.nextbox1 img{
	text-align:center;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:300px;

}
.next_text_center{
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 ;
	box-sizing: border-box;
}
.next_text_center p{
	text-align:center;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 1.8rem;
}
@media screen and (max-width : 381px ){
.nextbox1{
	padding-top: 30px;
}
.nextbox1 img{
	width:auto;
	height:auto;
	max-width:300px;
	max-height:300px;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.nextbox1{
	padding-top: 30px;
}
.nextbox1 img{
	width:auto;
	height:auto;
	max-width:300px;
	max-height:300px;
}
}
/*-------------------------------------------

  Close button
  
------------------------------------------ */
.close{
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 80px;
	width: 80px;
	height: 80px;
	text-align:center;
	color: #000000;
}
/*-------------------------------------------

  card
  
------------------------------------------ */
#box_card{
	width: 500px;
  	margin: 0 auto;
}
#card {

	margin: 100px 20px;
}
#card img {
	width: 100%;
	height: auto;
}
/* Box */
#box_left {
	width: 100%;
  margin: 0 auto;
}
.photo{
	width: 500px;
	height: auto;
	padding: 0;
}
#box_right {
	width: 100%;
	height: auto;
	margin-top: 20px;
	float: left;
} 
#box_right h1 {
	font-size: 2.0rem;
	letter-spacing:1px;
} 
.caption h1{
	font-size: 2.0rem;
	margin-top: 25px;
}
.caption {
	font-size: 1.5rem;
	margin-top: 15px;
}
@media screen and (max-width : 381px ){

#box_card{
	width: 500px;
  	margin: 0 auto;
}
#card {
	margin-top: 5px;
	margin-bottom: 100px;
}
#card img {
	width: 100%;
	height: auto;
}
#box_right {
	width: 500px;
	height: auto;
	margin-top: 30px;
	float: left;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){

#box_card{
	width: 500px;
  	margin: 0 auto;
}
#card {
	margin-top: 5px;
	margin-bottom: 100px;
}
#card img {
	width: 100%;
	height: auto;
}
#box_right {
	width: 500px;
	height: auto;
	margin-top: 30px;
	float: left;
} 
}
/*-------------------------------------------

  grid1
  
------------------------------------------ */
.wrapper_cards{
    max-width: 700px;
    margin: 0 auto 50px;
    padding:0 2em;
	box-sizing: border-box;
}
.cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	grid-auto-rows: 1fr;
	column-gap: 2em;
	row-gap: 2em;
}
.cards_space {
    display: grid;
    grid-template-columns: 1fr;
	column-gap: 2em;
	row-gap: 2em;
}
.article-img {
    width: 100%;
    object-fit: cover;
}
@media screen and (max-width : 381px ){
.cards_space {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
	grid-auto-rows: 1fr;
	column-gap: 2em;
	row-gap: 2em;
}
}
/*-------------------------------------------

  grid
  
------------------------------------------ */
.cssgrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 1fr;
	column-gap: 5em;
	row-gap: 5em;
}
.cssgrid > div {
	min-width: 0;
}
.content {
	width: 100%;
	max-width: 1240px;
    margin:0 auto;
	padding: 1em;
	box-sizing: border-box;
}
.content img{
	width: 100%;
}
.works_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	grid-auto-rows: 1fr;
	column-gap: 2em;
	row-gap: 2em;
}
.works_grid > div {
	min-width: 0;
}
.inner{
    position: relative;
    text-align: center;
	width: 100%;
}
.inner p{
    position: absolute;
    left: 50%;
    bottom: 50%;
	transform: translate(-50%,-50%);
	font-size:1.6rem;
	letter-spacing:1px;
}
.outer p{
	font-size:1.2rem;
	letter-spacing:1px;
}

.works_content {
	width: 100%;
    margin:0 auto;
	padding: 2em;
	box-sizing: border-box;
}
.works_content img{
	width: 100%;
}
@media screen and (max-width : 381px ){
.cssgrid {
	grid-template-columns: repeat(3, 1fr);
	column-gap: 3em;
	row-gap: 3em;
}
.content {
	padding: 3em;
}

.works_content {
	padding: 6em;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.cssgrid {
	grid-template-columns: repeat(4, 1fr);
	column-gap: 5em;
	row-gap: 5em;
}
.content {
	max-width: 1024px;
	padding: 5em;
}

.works_content {
	max-width: 1240px;
	padding: 10em;
}
}

/*-------------------------------------------

  calendar
  
------------------------------------------ */
#loading {
    display: none;
    position: absolute;
    top: 10px;
    right: 10px;
}
#calendarArea {
    padding: 50px 10px 50px;
}



#calendar {
	font-size: 1.6rem;
    max-width: 900px;
    margin: 0 auto;
}
/* 日曜日 */
.fc-sun {
    color: #FF0066;
}



/*-------------------------------------------

  swiper
  
------------------------------------------ */
.swiper-container {
      width: 100%;
      height: 100%;
}
.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	/* Center slide text vertically */
      display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.swiper-button-next,
.swiper-button-prev, 
.swiper-container-rtl .swiper-button-prev,
.swiper-container-rtl .swiper-button-next{
    fill: #333;
}

.caption-l {
	width: 100%;
	height: 100%;
	overflow:auto;
  	margin: 0 40px;
	padding-top: 150px;
	text-align:left;	
	
}

.white p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 0;
	color:#FFF;
}
.black p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 0;
	color:#000;
}
.black2 p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 50px;
	color:#000;
}
#works_text {
	width: 70%;
	margin: 0 auto;
	padding-bottom: 100px;
}
.close_work{
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 50px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align:center;
	z-index: 2000;
}
@media screen and (max-width : 381px ){
.caption-l{
		position: absolute;
		width:60%;
		top: 40px;
		left: 40px;
		margin: 0;
		padding: 10px;
		text-align: left;
		text-align: justify;
}
}
@media (min-width : 680px ) and ( max-width : 1024px ){
.caption-l{
		position: absolute;
		width:40%;
		top: 40px;
		left: 40px;
		margin: 0;
		padding: 10px;
		text-align: justify;
}
}
@media screen and (max-width : 381px ){
#works_text{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 50px;
}
	.black2 p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 30px;
	color:#000;
}
}
@media screen and (max-width: 768px){
  #works_text{
    width: 94%;
    margin: 0 auto;
    padding-bottom: 50px;
  }
}

@media screen and (max-width:768px){
  #works_text h2{
    text-align: left !important;
  }
}
	  
	.black2 p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 30px;
	color:#000;
}

@media (min-width : 680px ) and ( max-width : 1024px ){
#works_text{
	width: 100%;
	padding-bottom: 50px;
}
		.black2 p{
	font-size: 1.2rem;
	letter-spacing:1px;
	padding:5px 0px 0px 100px;
	color:#000;
}
}
/*-------------------------------------------

  about
  
------------------------------------------ */
#about_profile {
	width: 100%;
	max-width: 420px;
	margin:0 auto;
	padding: 50px 0;
}
.about_title{
	padding: 0 0 50px 0;
	text-align:center;
	font-size:2.0rem;
	letter-spacing:1px;	
    font-weight:500;
}
#about_profile img{
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;
}
.profile {
	margin-top: 50px;
	padding: 0 10px;
}
.profile dt {
	font-size: 1.2rem;
	float: left;
	margin-bottom: 10px;
	clear: both;
}
.profile dd {
	font-size: 1.2rem;
	margin-left: 100px;
	margin-bottom: 10px;
}
#about_content {
	width: 100%;
	max-width: 600px;
	margin:0 auto;
	padding-bottom: 100px;
}
.about_text{
	margin-bottom: 30px;
}
.about_text p{
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 2.4rem;
	padding: 0 10px;
}
#about_content table{
  border-collapse: collapse;
  border-spacing: 0;
}
#about_content table th{
	width: 20px;
	padding: 0 10px;
	font-size:1.3rem;
	text-align: right;
	line-height: 2.4rem;
	vertical-align:top;
}
#about_content table td{
	font-size:1.3rem;
	text-align: left;
	line-height: 2.4rem;
	vertical-align:top;
}
.content_list1{
	width: 80px;
}
.content_list1{
	padding: 0 10px 0 0;
}
@media screen and (max-width : 381px ){
.about_title{
	padding: 100px 0;
	text-align:center;
	font-size:2.0rem;
	letter-spacing:1px;	
    font-weight:500;
}
}
/*-------------------------------------------

  previous job
  
------------------------------------------ */
#about_content {
	width: 100%;
	max-width: 700px;
	margin:0 auto;
	padding: 50px 0 100px 0;
}
.work_content {
	padding: 0 10px;
}
.work_content p{
	text-align:left;
	font-size:1.3rem;
	letter-spacing:1px;
	line-height: 2.4rem;
	margin-bottom: 20px;
}
.work_content dt {
	font-size: 1.2rem;
	float: left;
	line-height: 2.4rem;
	clear: both;
}
.work_content dd {
	font-size: 1.2rem;
	margin-left: 50px;
	line-height: 2.4rem;
}
.work_content a:after {
  margin: 0 3px;
  font-family: FontAwesome;
  vertical-align: middle;
  content: '\f08e';
}
@media screen and (max-width : 381px ){
.about_title{
	padding: 100px 0;
	text-align:center;
	font-size:2.0rem;
	letter-spacing:1px;	
    font-weight:500;
}
}
