@charset "UTF-8";

.cf:after{
	content:" ";
	display: block;
	clear: both;
	}

*{
margin:0;
padding:0;
list-style: none;
}

a{
	text-decoration: none;
}

body{
  padding: 0;
  margin: 0;
  font-family:'Marcellus','Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  background-color:#FFFFFF;
}

#wrapper{
  width: 0 auto;
  margin: 0 auto;
}


.spmenu{
	display:none;
}

.sp{
		display: none;
	}




header{
  height:100px;
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  z-index: 1;
  background-color:rgba(255,255,255,0.80);
}



#main_nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  margin-right: 80px;
  margin-left: 80px;
}

li{
  margin: 0 5px;
  padding: 10px 20px;
}

li img{
	max-height: 15px;
}

.logo{
	margin-right: auto;
}


.logo img{
	max-height: 70px;
}

.underline{
	display: inline-block;
	position: relative;
	color: #C6A446;
 	text-decoration: none;
}

.underline:before{
	content: "";
	position: absolute;
	 left: 0;
	bottom: -1px;
	width: 100%;
	height: 2px;
	background: #C6A446;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}

.underline:hover:before{
	transform: scale(1);
}


/*top　headerここまで*/

.contents_header{
	position: relative;
	height: 120px;
}

.header_background{
	
	position: absolute;
}

.header_background img{
	width: 100vw;
	height: 100px;
    max-width: 100%;
	object-fit: cover;
    width: auto\9; /* ie8 */
    margin: 0 auto;
}


.header_title img{
	position: absolute;
	top: 20px;
	left: 20px;
	height: 50px;	
}

.header_monthly p{
	position: absolute;
	font-size: 17px;
  top: 35px;
  left: 200px;
}

.header_message{
  text-align: right;
  margin-bottom: 10px;
  margin-right: 80px;
}

.header_message img{
  width: 280px;
  max-height: 100%;
  height: auto;
}


.slider{
	width: 100%;
}

.slider img{
	width: 100%;
	max-height: 70vh;
	object-fit: cover;
    width: auto\9; /* ie8 */
    margin: 0 auto;
}






#news{
	height: 300px;
	margin-right: 80px;
    margin-left: 80px;
}

.title_logo img{
	max-height: 55px;
	margin-bottom: 10px;
	z-index: 75;
}

.date{
	margin-right: 30px;
}

.news_list{
	margin: 10px;
}

.topnewsmessage{
    text-align: center;
}

/*latestnews*/

#latestnews{
	height: auto;
	margin-right: 80px;
    margin-left: 80px;
}

.newsdetile{
	margin-top: 20px;
}

.newsdate{
	font-size: 18px;
	font-weight: 600;
	
}

.newstitle{
	margin: 8px;
	font-size: 18px;
	font-weight: 600;
	position: relative;
	display:  inline-block;
	padding-top: 20px;          
    padding-left: 20px;
	padding-bottom: 10px;
}

.newstitle:before{
content:  '';             
    background-color:#FFEB56;
    display:  block;
    position:  absolute;
    left:  0;
	height: 50px;
    width: 50px; 
	border-radius:  50%;
    top: 0;
	z-index:  -1;    
}


.newsinner{
	font-size: 15px;
	margin-top: 10px;
	margin-bottom: 10px;
}


.newsimg{
	max-height: 250px;
}




/*works*/

figure img{
max-height: 130px;
}

#works{
	height: auto;
	margin-right: 80px;
    margin-left: 80px;
}



/*profile*/

#profile{
	height: auto;
	margin-right: 80px;
  margin-left: 80px;
}

.profile-top img{
 max-height: 200px;
}

#profile h2{
	margin: 20px;
}

#profile h3{
	margin: 10px;
}

table,th,td{
	border: none;
}

section table {
	width: 100%; 
}

section th, section td  {
	padding: 10px; border: 1px solid #ddd; 
}

section th  {
	background: #f4f4f4; 
}

.career th, .career td  {
	text-align: left; 
}

.year{
	width: 10%;
}

.detail{
	width: 40%;
}

.detail2{
	width: 40%;
}

.place{
	width: 50%;
}


.career tr{
	margin-top: 20px;
}



.year{
	width: 80px;
}

.detail{
	width: 400px;
}

.detail2{
	width: 200px;
}

.place{
	width: auto;
}

/*object*/


#object{
	height: auto;
	margin-right: 80px;
    margin-left: 80px;
}

.object-top img{
    width: 400px;
    max-width: 100%;
    height: auto;
    }



/*contact*/


#contact{
	height: auto;
	margin-right: 80px;
    margin-left: 80px;
}







/*footer*/

footer{
    width:950px;
    width: 100%;
    height: auto;
    margin:20px auto;
    padding-top:80px;
}

footer:before{
    content:"";
    position:absolute;
    left:0;
    display:block;
    margin-top:-20px;
    width:100%;
    border-top:1px solid #AEAEAE;
}

footer p{
	text-align: center;
}










/*-----------640px---------*/

@media screen and (max-width: 640px){
	
	.sp{
		display: inline;
	}
	
	
	#main_nav{
		display: none;
	}

	#main_nav li:first-child{
		display: inline;
	}
	
	
	.spmenu{
		display:inline;
		text-align: center;
		z-index: 2;
	}
	
	#navTgl:checked ~ .contents {
	transform: translateX(250px);
}

/* :::::: toggle button :::::: */
#navTgl {
	display: none;
	z-index: 2;
}
label {
	cursor: pointer;
	position: fixed;
	top: 0;
	left: 0;
}
.open {
	z-index: 2;
	width: 48px;
	height: 48px;
	background: #C6A446;
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid white;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}
#navTgl:checked + .open {
	background: #C6A446;
	transform: translateX(250px);
}
#navTgl:checked + .open span {
	transform: scaleX(0);
}
#navTgl:checked + .open::before {
	transform: rotate(45deg);
}
#navTgl:checked + .open::after {
	transform: rotate(-45deg);
}
#navTgl:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}

/* :::::: drawer menu :::::: */
	
	.spmenutitle img{
		max-height: 70px;
	}
	
	
	
.menu {
	z-index: 999;
	position: fixed;
	overflow: auto;
	top: 0;
	left: 0;
	width: 250px;
	height: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	background: rgba(255,255,255,1.00);
	transform: translateX(-100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu a {
	color: black;
	font-weight: lighter;
}

.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	font-size: 1.1em;
	line-height: 0.5;
	text-align:center;
}
.menu li:not(:first-child) {
	border-top: solid 0.5px rgba(255,255,255,.6);
}
.menu a {
	display: block;
	padding: 1em 0em;
	text-decoration: inherit;
	transition: background .6s;
}

	
#navTgl:checked ~ .menu {
	transform: none;
}
	
/* 各コンテンツ */

    
.header_message{
  text-align: right;
  margin-bottom: 10px;
  margin-right: 10px;
}

.header_message img{
  width: 200px;
  max-height: 100%;
  height: auto;
}
    

	
#news{
		height: auto;
	margin-right: 20px;
    margin-left: 20px;
	}
    
    
#profile{
		height: auto;
	margin-right: 20px;
    margin-left: 20px;
	}

#object{
	height: auto;
	margin-right: 20px;
    margin-left: 20px;
}
	
#works{
	height: auto;
	margin-right: 20px;
    margin-left: 20px;
}
	
figure{
	text-align: center;
	}

#contact{
	height: auto;
	margin-right: 20px;
    margin-left: 20px;
}
	

.career { margin: 0 -10px; }
.career tr {
    display:block;
    margin-bottom: 10px;
	list-style:disc;
  }
.career th {
    display:block;
    width: 100%;
  }
.career td {
    display: list-item;
    width: 90%;
    margin-left: 10%;
    border:none;
  }

	
/* 各タイトルロゴ */
	
	.title_logo img{
		max-height: 40px;
	}

	
/* footer */
	
footer{
    width:auto;
    width: 100%;
	height: auto;
    margin:20px auto;
    padding-top:50px;
	
}
	
	
}




