@charset "UTF-8";
body {
	margin: 0;
	padding: 0;
	font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	color: #111;
	background-color: #fafafa;
	font-size: 16px;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 1260px;
	margin: auto;
}
html{
    scroll-behavior: smooth;
	background-color: #333;
}
* {
	user-select: none;
}
header {
	width: 100%;
	margin-top: 0rem;
	display: block;
	position: relative;
	max-width: 1260px;
	margin: auto;
}
h1 {
	width: 50%;
	max-width: 1260px;
	margin-bottom: 4rem;
}
h1 img {
	width: auto;
	height: 1.5rem;
	margin:2rem auto auto 2.5rem;
}
header .category {
	font-size: 0.875rem;
	width: 65%;	
	margin: auto;
	margin-bottom: 4rem;
}
.category .cat {
    display: inline-block;
    padding: 0.5em 0.625rem 0.625rem 0.5rem;
    border: 1px solid rgba(0,0,0,1.00);
    border-radius: 0.5em;
    margin-right: 0.25em;
	margin-bottom: 0.25rem;
	line-height: 1;
	letter-spacing:-0.1em;
}
main {
	width: 100%;
	margin: auto;
	max-width: 2560px;
}
section {
	width: 65%;
	margin: auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	height: auto;
	align-items: flex-start;
}
.tab {
    position: absolute;
    right: 0;
    top: 0;
    background-color: #333;
    color: #fff;
    border-bottom-left-radius: 1rem;
	padding: 1.75rem 1.25rem;
}
.tab img {
	width: 0.75rem;
	height: auto;
	margin-bottom: 1rem;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.tab img:hover {
	transform: scale(1.1, 1.1);
}
.type01, .type02, .type03 {
	display: block;
	position: relative;
}
.type01 {
	width: 47.7%;
	margin-bottom: 4rem;
}
.type02 {
	width: 47.5%;
	margin-bottom: 4rem;
}
.type03 {
	width: 100%;
	margin-bottom: 0;
}
.type01 img {
	width: 100%;
	height: auto;
    border: 1px solid rgba(0,0,0,1.00);
	margin-bottom: 0;
}
.type02 img {
	width: 100%;
	height: auto;
    border: 1px solid rgba(0,0,0,1.00);
	margin-bottom: 0;	
}
.type03 img {
	width: 100%;
	height: auto;
    border: 1px solid rgba(0,0,0,1.00);
	margin-bottom: 0;
}
.type03 img.first {display: block;}
.type03 img.second {display: none;}
h3 {
	font-size: 0.875rem;
	line-height: 1.25;
	margin-top: 0.375rem;
	font-weight: 400;
	padding-right: 4em;
	width: 100%;
	position: relative;
	line-break: anywhere;
	letter-spacing:-0.05em;
	display: block;
	color: #333;
}
h3::first-letter {
	margin-left: -0.5em;
}

.type03 h3, .type02 h3 {
	margin-left: 0;
}
.type03 h3::first-letter, .type02 h3::first-letter {
	margin-left: -0em;
}
h3 .chara {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	letter-spacing:0.25em;
}
h3 .chara:hover {

}
h3 .chara a {

}
h3 .chara i {
	color: #666;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
h3 .chara i:hover {
	transform: scale(1.25, 1.25);
	color: #000;
}
.type03 h3 .chara {
	right: 0em;
}
.click {
    display: block;
	position: absolute;
	width:23.28%;
	top:75.39%;
	left:3.12%;
	
}
.click img {
	width: 100%;
	height: auto;
	border-width: 0;
}
.type02 a .click {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;	
}
.type02 a:hover .click {
	transform: scale(1.1, 1.1);
}
.type02 a:hover .click img {
	border-width: 0;
}
.type02 a img {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.type02 a:hover img {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	-o-opacity: 1;
	opacity: 1;
    border: 4px solid rgba(0,0,0,1.00);
}
.day {
	font-size: 0.75rem;
	font-weight: 500;
	color: #bbb;
	margin-top: 0.25rem;
}
archive {}
h4 {
	width:65%;
	margin: auto;
	margin: auto;
	margin-bottom: 1.5%;
	display: block;
	position: relative;
}
h4 img {
	width: auto;
	height: 2rem;
	display: block;
}
footer {
	width: 100%;
	text-align: center;
	margin-bottom: 1rem;
	margin-top: 8rem;
	font-size: 0.75rem;
	color: #666;
}
#works .works {
	width: 90%;
	margin: auto;
}
.work {
    border: 1px solid rgba(0,0,0,1);
	padding: 1rem 1rem 1.125rem;
	background-color: #fff;
	margin-bottom: 2rem;
}
.work img {
	width: 100%;
	height: auto;
}
#works h4 {
	margin-bottom: 2rem;
}
@media all and (max-width: 1260px) {
section {
	width: 65%;
}
h1 img {
	width: 46.56%;
	height: auto;
	min-width: 240px;
}
.type01 {
	width: 47.5%;
	margin-bottom: 4rem;
}
.type02 {
	width: 47.5%;
	margin-bottom: 4rem;
}
}
@media all and (max-width: 1060px) {
h3 {
	font-size: 0.75rem;
}
h4 {
	width:65%;
	margin: auto;
	margin: auto;
	margin-bottom: 1.5%;
	display: block;
	position: relative;
}
h4 img {
	width: auto;
	height: 1.5rem;
	display: block;
}
#works h4 {
	margin-bottom: 2rem;
}
}
@media all and (max-width: 960px) {
h3 {
	padding-right: 5em;
	width: 100%;
}
#works h4 {
	margin-bottom: 2rem;
}
}
@media all and (max-width: 769px) {
h1 {
	margin-bottom: 2rem;
}
header .category {
	font-size: 0.75rem;
}
.type01 {
	width: 100%;
	margin-bottom: 4rem;
}
.type02 {
	width: 100%;
	margin-bottom: 4rem;
}
header .category {
	margin-bottom: 2rem;
}
.category .cat {
    padding: 0.375em 0.5rem 0.375rem 0.5rem;
    border-radius: 0.5em;
}
#works h4 {
	margin-bottom: 2rem;
}
.type03 img.first {display: none;}
.type03 img.second {display: block;}
}
@media all and (max-width: 680px) {
#works .works {
	width: 100%;
	margin: auto;
}
#works h4 {
	width:60%;
	margin: auto;
	margin: auto;
	margin-bottom: 2rem;
	display: block;
	position: relative;
}
#works h4 img {
	width: auto;
	height: 1.25rem;
	display: block;
}
.work {
	padding: 0.5rem 0.5rem 1rem;
	background-color: #fff;
	margin-bottom: 2rem;
}
}
@media all and (max-width: 480px) {
h1 {
	width: 50%;
	max-width: 1260px;
	margin-bottom: 2rem;
}
h1 img {
	margin:1rem auto auto 1rem;
}
#works h1 img {
	
}
section {
	width: 90%;
}
.tab {
    position: absolute;
    right: 0;
    top: 0;
    background-color: #333;
    color: #fff;
    border-bottom-left-radius: 1rem;
	padding: 1rem 0.5rem 0.5rem 0.5rem;
}
.tab img {
	width: 0.625rem;
	height: auto;
	margin-bottom: 0.625rem;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
h4 {
	width:90%;
	margin: auto;
	margin-bottom: 0.5rem;
	display: block;
	position: relative;
	transform: translateX(0%);
}
h4 img {
	width: auto;
	height: 1.25rem;
	display: block;
}
#works h4 {
	width:90%;
	margin: auto;
	margin-bottom: 2rem;
	display: block;
	position: relative;
}
#works h4 img {
	width: auto;
	height: 1rem;
	display: block;
}
header .category {
	font-size: 0.75rem;
	width: 90%;	
	margin-bottom: 2rem;
}
section {
	transform: translateX(0%);
	
}
header .category {
	transform: translateX(0%);
}
}