@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body{
    font-family: 'Playfair Display', serif;
    line-height: 1.8;
    color: #432;
    font-style: normal;
    font-weight: 600;
    font-size:16px;
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
}

.wrapper {
    max-width: 1450px;
    margin: 0 auto;
    padding: 0 4%;
}
.wrapper2 {
    max-width: 500px;
    margin: 0 auto;
    padding: 0 4%;
}

/*ページガイド*/
.menu-content p {
    font-family: 'Playfair Display', serif;
    font-size: 0.9rem;
    margin: 10px 0  0px;
}
.menu-content a:hover {
    color: #0bd;
}



/* 大きな背景画像 */
.big-bg {
    background-size: auto;
    background-position: center top;
    background-repeat: no-repeat;
}

/* 見出し */
.page-title {
  margin: 0 auto;
	padding-top:180px;
	padding-left:500px;
	font-size: 4rem;
    font-family: 'Source Serif Pro', serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #999999;
}



/* HEADER
------------------------------- */
.page-header {
    display: flex;
    justify-content:space-between;
}
.logo {
    width: 240px;
    margin-top: 40px;
}
.logo2 {
    width: 100px;
    margin-top: 15px;
}

#home {
    background-image: url(images/top-back.png);
    min-height: 100vh;
}


*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}

.cp_cont {
	height: 65vh;
}
/* menu */
.cp_offcm03 {
	position: relative;
	z-index: 5;
	top: 0;
	left: 0;
	overflow: auto;
	width: 100%;
	height: auto;
	padding-top: 0;
	-webkit-transition: transform 0.3s ease-in;
	        transition: transform 0.3s ease-in;
	text-align: center;
	color: #330000;
	opacity: 0.5;
}
.cp_offcm03 nav{
	height:50%;
}
.cp_offcm03 ul {
	height: 100%;
	text-align: right;
}
.cp_offcm03 li {
	display: inline-block;
	margin-right: 1px;
	border: none;
}
.cp_offcm03 a {
	display: block;
	padding: 12px 45px;
	-webkit-transition: background-color .3s ease-in;
	        transition: background-color .3s ease-in;
}
.cp_offcm03 a:hover {
	border-bottom: 3px solid #e6f0f0;
}
/* menu toggle */
#cp_toggle03 {
	display: none;
}
#cp_toggle03:checked ~ .cp_offcm03 {
	-webkit-transform: translateX(0);
					transform: translateX(0);
}
#cp_toggle03:checked ~ .cp_container {
	-webkit-transform: translateX(0);
					transform: translateX(0);
}
.cp_mobilebar {
	display: none;
}
/* content */
.cp_container {
	position: relative;
	top: 0;
	padding: 35px auto;
	-webkit-transition: transform .3s ease-in;
	        transition: transform .3s ease-in;
}

.cp_content {
	margin: 0 auto;
	padding-top:150px;
	padding-right:800px;
	height: 65vh;
	text-align: center;
	font-size: 3.5rem;
    font-family: 'Source Serif Pro', serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #999999;
}
h1{
line-height:1.1;
}
p{
	font-size: 1.7rem;
}
	
@media (max-width: 767px) {
	/* menu */
	.cp_offcm03 {
		position: fixed;
		left: -250px;
		overflow-y: hidden;
		width: 250px;
		height: 100%;
		padding-top: 60px;
		color: #ffffff;
		background-color: #039be5;
	}
	.cp_offcm03 nav {
		background: #29B6F6;
	}
	.cp_offcm03 li {
		display: block;
		margin-right: 0;
		border-bottom: 1px solid #ffffff;
	}
	.cp_offcm03 ul {
	text-align: center;
}
	.cp_offcm03 a {
		padding: 15px;
	}
	/* menu toggle */
	.cp_mobilebar {
		display: block;
		z-index: 10;
		position: fixed;
		top: 0;
		left: 0;
		padding: 0 25px;
		width: 100%;
		height: 60px;
		background-color: #039BE5;
	}
	.cp_menuicon {
		display: block;
		position: relative;
		width: 25px;
		height: 100%;
		cursor: pointer;
		-webkit-transition: transform .3s ease-in;
		        transition: transform .3s ease-in;
	}
	.cp_menuicon > span {
		display: block;
		position: absolute;
		top: 55%;
		margin-top: -0.3em;
		width: 100%;
		height: 0.2em;
		border-radius: 1px;
		background-color: #eeeeee;
		-webkit-transition: transform .3s ease;
		        transition: transform .3s ease;
	}
	.cp_menuicon > span:before,
	.cp_menuicon > span:after {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		border-radius: 1px;
		background-color: #eeeeee;
		-webkit-transition: transform .3s ease-in;
		        transition: transform .3s ease-in;
	}
	.cp_menuicon > span:before {
		-webkit-transform: translateY(-0.6em);
		        transform: translateY(-0.6em);
	}
	.cp_menuicon > span:after {
		-webkit-transform: translateY(0.6em);
		        transform: translateY(0.6em);
	}
	#cp_toggle03:checked + .cp_mobilebar .cp_menuicon {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	#cp_toggle03:checked + .cp_mobilebar span:before,
	#cp_toggle03:checked + .cp_mobilebar span:after {
		-webkit-transform: rotate(90deg);
		        transform: rotate(90deg);
	}
	#cp_toggle03:checked ~ .cp_offcm03 {
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
	}
	#cp_toggle03:checked ~ .cp_container {
		-webkit-transform: translateX(250px);
		        transform: translateX(250px);
	}
	/* content */
	.cp_container {
		top: 60px;
		height: 92vh;
	}
	.cp_content {
	margin: 0 auto;
	padding-top:200px;
	padding-right:0px;
	height: 65vh;
	text-align: center;

}
h1{
line-height:1.1;
}
p{
	font-size: 1.7rem;
}
}




/*ラベルの画像*/
.drawer{
 display: flex;
 flex-direction: row;
 align-items: flex-end;
 justify-content: center;
 position: relative;
 height: 0.5px;
}
#hedpic{
  max-width:20%;
  display:block;
}








input[type="checkbox"]{
  display:none;
}


 
 /* philosophy
------------------------------- */
 #philosophy {
    background-image: url(images/page-back.jpeg);
    min-height: 90vh;
    background-size: 100%;
}
       

 /* profile
------------------------------- */  
#profile {
    background-image: url(images/page-back.jpeg);
    background-size: 100%;
}
.pro_content {
	margin: 0 auto;
	padding-top:30px;
	height: 115vh;
	text-align: center;
	font-size: 3.5rem;
    font-family: 'Source Serif Pro', serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #999999;
}
h1{
line-height:1.1;
}
p{
	font-size: 1.7rem;
}

.div-pre {
    white-space: pre;
    font-size:16px;
    margin: 0 auto;
	padding-top:10px;
	text-align: left;
    font-family: 'Source Serif Pro', serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #330000;
}
h3{
line-height:1.1;
}
p{
	font-size: 1.7rem;
}


 /* works
------------------------------- */  
#works {
    background-image: url(images/page-back.jpeg);
    background-size: 100%;
}
.works_content {
	margin: 0 auto;
	padding-top:30px;
	height: 100vh;
	text-align: center;
	font-size: 3.5rem;
    font-family: 'Source Serif Pro', serif;
    text-transform: uppercase;
    font-weight: normal;
    color: #999999;
}
.under {
  color: #0000ff;
  text-decoration : underline;
}
.under:hover {
    color:#ffa500 ;
}


/* モバイル版
------------------------------- */
@media screen and (max-width: 768px) {
.page-title {
	margin: 0 auto;
    padding-top:100px;
	padding-left:10px;
	height: 65vh;
	text-align: center;
}
h3{
font-size:1.8rem;
}
.page-header {
        flex-direction: column;
        align-items: center;
}
.logo {
    width: 200px;
}
.logo2 {
display: none;
}
#home {
    background-image: url(images/top-back2.png);
    min-height: 90vh;
}
#philosophy {
    background-image: url(images/page-back2.png);
    min-height: 90vh;
    background-size: 100%;
}
#profile {
    background-image: url(images/page-back2.png);
    min-height: 50vh;
    background-size: 100%;
}
#works {
    background-image: url(images/page-back2.png);
    min-height: 100vh;
    background-size: 100%;
}
.div-pre {
    font-size:12.25px;
    white-space: pre-wrap ;
}
.works_content {
	margin: 0 auto;
	padding-left:0px;
	padding-right:0px;
	height: 65vh;
	text-align: center;

}
h1{
line-height:1.1;
}
p{
	font-size: 1.7rem;
}
.wrapper2 {
    max-width:335px;
    margin: 0 auto;
    padding: 0 4%;
}
.pro_content {
	padding-top:40px;
	height: 65vh;
}
}





/* SNS*/
#sns {
    background: #FF6699;
    padding: 2% 0;
}
#sns .wrapper{
    display: flex;
    justify-content: space-between;
}
#sns .sub-title{
    margin-bottom: 30px;
}
.sns-box{
    width: 25%;
}


/* フッター
------------------------------- */
footer {
    background: #ffffff;
    text-align: center;
    padding: 26px 0;
}
footer p {
    color: #330000;
    font-size: 0.875rem;
}


.fade-in01{ 
  font-size:90px;
  opacity:0;
  animation-name: sample01; 
  animation-duration: 5s; 
  animation-fill-mode: forwards; 
}
.fade-in02{ 
  font-size:40px;
  opacity:0;
  animation-name: sample01; 
  animation-duration: 5s; 
  animation-fill-mode: forwards; 
}
.fade-in03{ 
  font-size:80px;
  opacity:0;
  animation-name: sample01; 
  animation-duration: 5s; 
  animation-fill-mode: forwards; 
}
.fade-in04{ 
  font-size:70px;
  opacity:0;
  animation-name: sample01; 
  animation-duration: 5s; 
  animation-fill-mode: forwards; 
}
.fade-in05{ 
  display:none;
}
@keyframes sample01 {
0% {
  opacity: 0;
  color:#000;
}
 100% {
  opacity: 1;
  color: #999999;
} 
}

@media screen and (max-width: 768px) {
.fade-in01{ 
  font-size:80px;
}
.fade-in02{ 
  font-size:40px;
}
.fade-in03{ 
  font-size:40px;
}
.fade-in04{ 
  display:none;
}
.fade-in05{
  display:block;
  font-size:60px;
  opacity:0;
  animation-name: sample01; 
  animation-duration: 5s; 
  animation-fill-mode: forwards; 
}
}